13617 lines
317 KiB
Text
13617 lines
317 KiB
Text
##################################################
|
|
# Laamps
|
|
##################################################
|
|
|
|
create_landless_adventurer_title_history_effect = {
|
|
holder ?= {
|
|
if = {
|
|
limit = {
|
|
NOT = { has_realm_law = landless_adventurer_succession_law }
|
|
}
|
|
add_realm_law = landless_adventurer_succession_law
|
|
}
|
|
}
|
|
}
|
|
|
|
create_landless_minority_title_history_effect = {
|
|
holder ?= {
|
|
if = {
|
|
limit = {
|
|
NOT = { has_realm_law = confederate_partition_succession_law }
|
|
}
|
|
add_realm_law = confederate_partition_succession_law
|
|
}
|
|
}
|
|
}
|
|
create_landless_adventurer_title_effect = {
|
|
save_scope_as = new_landless_adventurer
|
|
if = {
|
|
limit = {
|
|
exists = house
|
|
}
|
|
house = { save_scope_as = new_landless_adventurer_house }
|
|
}
|
|
if = {
|
|
limit = {
|
|
exists = location
|
|
}
|
|
location = { save_scope_as = new_landless_adventurer_location }
|
|
}
|
|
save_scope_value_as = {
|
|
name = adventurer_creation_reason
|
|
value = $REASON$
|
|
}
|
|
$FLAVOR_CHAR$ = { save_scope_as = adventurer_flavor_char }
|
|
hidden_effect = {
|
|
random_list = {
|
|
1000 = {
|
|
trigger = {
|
|
scope:warrior_youth ?= scope:new_landless_adventurer
|
|
age <= 20
|
|
exists = scope:host.house
|
|
}
|
|
create_adventurer_title = {
|
|
name = adventurer_name_youths
|
|
holder = scope:new_landless_adventurer
|
|
article = DEFAULT_TITLE_NAME_ARTICLE
|
|
save_scope_as = new_title
|
|
}
|
|
}
|
|
10 = {
|
|
create_adventurer_title = {
|
|
name = adventurer_name_001
|
|
holder = scope:new_landless_adventurer
|
|
article = DEFAULT_TITLE_NAME_ARTICLE
|
|
save_scope_as = new_title
|
|
}
|
|
}
|
|
10 = {
|
|
trigger = {
|
|
exists = scope:new_landless_adventurer_house
|
|
}
|
|
create_adventurer_title = {
|
|
name = adventurer_name_002
|
|
holder = scope:new_landless_adventurer
|
|
article = DEFAULT_TITLE_NAME_ARTICLE
|
|
save_scope_as = new_title
|
|
}
|
|
}
|
|
10 = {
|
|
create_adventurer_title = {
|
|
name = adventurer_name_003
|
|
holder = scope:new_landless_adventurer
|
|
article = DEFAULT_TITLE_NAME_ARTICLE
|
|
save_scope_as = new_title
|
|
}
|
|
}
|
|
10 = {
|
|
create_adventurer_title = {
|
|
name = adventurer_name_004
|
|
holder = scope:new_landless_adventurer
|
|
article = DEFAULT_TITLE_NAME_ARTICLE
|
|
save_scope_as = new_title
|
|
}
|
|
}
|
|
10 = {
|
|
trigger = {
|
|
NOT = {
|
|
scope:new_landless_adventurer.culture = culture:kurdish
|
|
}
|
|
}
|
|
create_adventurer_title = {
|
|
name = adventurer_name_005
|
|
holder = scope:new_landless_adventurer
|
|
article = DEFAULT_TITLE_NAME_ARTICLE
|
|
save_scope_as = new_title
|
|
}
|
|
}
|
|
10 = {
|
|
create_adventurer_title = {
|
|
name = adventurer_name_006
|
|
holder = scope:new_landless_adventurer
|
|
article = DEFAULT_TITLE_NAME_ARTICLE
|
|
save_scope_as = new_title
|
|
}
|
|
}
|
|
10 = {
|
|
create_adventurer_title = {
|
|
name = adventurer_name_007
|
|
holder = scope:new_landless_adventurer
|
|
article = DEFAULT_TITLE_NAME_ARTICLE
|
|
save_scope_as = new_title
|
|
}
|
|
}
|
|
10 = {
|
|
trigger = {
|
|
exists = scope:new_landless_adventurer_house
|
|
}
|
|
create_adventurer_title = {
|
|
name = adventurer_name_008
|
|
holder = scope:new_landless_adventurer
|
|
save_scope_as = new_title
|
|
}
|
|
}
|
|
10 = {
|
|
create_adventurer_title = {
|
|
name = adventurer_name_009
|
|
holder = scope:new_landless_adventurer
|
|
article = DEFAULT_TITLE_NAME_ARTICLE
|
|
save_scope_as = new_title
|
|
}
|
|
}
|
|
7 = {
|
|
trigger = {
|
|
exists = scope:new_landless_adventurer_location
|
|
}
|
|
create_adventurer_title = {
|
|
name = adventurer_name_010
|
|
holder = scope:new_landless_adventurer
|
|
article = DEFAULT_TITLE_NAME_ARTICLE
|
|
save_scope_as = new_title
|
|
}
|
|
}
|
|
7 = {
|
|
trigger = {
|
|
exists = scope:new_landless_adventurer_location
|
|
}
|
|
create_adventurer_title = {
|
|
name = adventurer_name_011
|
|
holder = scope:new_landless_adventurer
|
|
article = DEFAULT_TITLE_NAME_ARTICLE
|
|
save_scope_as = new_title
|
|
}
|
|
}
|
|
7 = {
|
|
trigger = {
|
|
exists = scope:new_landless_adventurer_location
|
|
}
|
|
create_adventurer_title = {
|
|
name = adventurer_name_012
|
|
holder = scope:new_landless_adventurer
|
|
article = DEFAULT_TITLE_NAME_ARTICLE
|
|
save_scope_as = new_title
|
|
}
|
|
}
|
|
7 = {
|
|
trigger = {
|
|
scope:new_landless_adventurer.ai_zeal > 0
|
|
}
|
|
create_adventurer_title = {
|
|
name = adventurer_name_013
|
|
holder = scope:new_landless_adventurer
|
|
article = DEFAULT_TITLE_NAME_ARTICLE
|
|
save_scope_as = new_title
|
|
}
|
|
}
|
|
7 = {
|
|
trigger = {
|
|
scope:new_landless_adventurer.ai_zeal > 0
|
|
}
|
|
create_adventurer_title = {
|
|
name = adventurer_name_014
|
|
holder = scope:new_landless_adventurer
|
|
article = DEFAULT_TITLE_NAME_ARTICLE
|
|
save_scope_as = new_title
|
|
}
|
|
}
|
|
7 = {
|
|
trigger = {
|
|
scope:new_landless_adventurer.ai_zeal > 0
|
|
}
|
|
create_adventurer_title = {
|
|
name = adventurer_name_015
|
|
holder = scope:new_landless_adventurer
|
|
article = DEFAULT_TITLE_NAME_ARTICLE
|
|
save_scope_as = new_title
|
|
}
|
|
}
|
|
7 = {
|
|
trigger = {
|
|
OR = {
|
|
has_martial_lifestyle_trait_trigger = yes
|
|
ai_boldness >= medium_positive_ai_value
|
|
has_trait = education_martial_prowess_1
|
|
has_trait = education_martial_prowess_2
|
|
has_trait = education_martial_prowess_3
|
|
has_trait = education_martial_prowess_4
|
|
has_education_martial_trigger = yes
|
|
}
|
|
}
|
|
create_adventurer_title = {
|
|
name = adventurer_name_016
|
|
holder = scope:new_landless_adventurer
|
|
article = DEFAULT_TITLE_NAME_ARTICLE
|
|
save_scope_as = new_title
|
|
}
|
|
}
|
|
7 = {
|
|
trigger = {
|
|
OR = {
|
|
has_martial_lifestyle_trait_trigger = yes
|
|
has_trait = lifestyle_blademaster
|
|
has_trait = education_martial_prowess_1
|
|
has_trait = education_martial_prowess_2
|
|
has_trait = education_martial_prowess_3
|
|
has_trait = education_martial_prowess_4
|
|
has_education_martial_trigger = yes
|
|
}
|
|
}
|
|
create_adventurer_title = {
|
|
name = adventurer_name_017
|
|
holder = scope:new_landless_adventurer
|
|
article = DEFAULT_TITLE_NAME_ARTICLE
|
|
save_scope_as = new_title
|
|
}
|
|
}
|
|
7 = {
|
|
trigger = {
|
|
scope:new_landless_adventurer.ai_zeal > medium_negative_ai_value
|
|
scope:new_landless_adventurer.ai_boldness >= 0
|
|
NOT = {
|
|
scope:new_landless_adventurer = {
|
|
faith.religion = religion:west_african_bori_religion
|
|
}
|
|
}
|
|
}
|
|
create_adventurer_title = {
|
|
name = adventurer_name_018
|
|
holder = scope:new_landless_adventurer
|
|
article = DEFAULT_TITLE_NAME_ARTICLE
|
|
save_scope_as = new_title
|
|
}
|
|
}
|
|
7 = {
|
|
trigger = {
|
|
scope:new_landless_adventurer.ai_zeal > medium_negative_ai_value
|
|
scope:new_landless_adventurer.ai_greed >= 0
|
|
NOT = {
|
|
scope:new_landless_adventurer = {
|
|
faith.religion = religion:west_african_bori_religion
|
|
}
|
|
}
|
|
}
|
|
create_adventurer_title = {
|
|
name = adventurer_name_019
|
|
holder = scope:new_landless_adventurer
|
|
article = DEFAULT_TITLE_NAME_ARTICLE
|
|
save_scope_as = new_title
|
|
}
|
|
}
|
|
7 = {
|
|
trigger = {
|
|
scope:new_landless_adventurer.ai_zeal > medium_negative_ai_value
|
|
scope:new_landless_adventurer.ai_compassion >= 0
|
|
NOT = {
|
|
scope:new_landless_adventurer = {
|
|
faith.religion = religion:west_african_bori_religion
|
|
}
|
|
}
|
|
}
|
|
create_adventurer_title = {
|
|
name = adventurer_name_020
|
|
holder = scope:new_landless_adventurer
|
|
article = DEFAULT_TITLE_NAME_ARTICLE
|
|
save_scope_as = new_title
|
|
}
|
|
}
|
|
7 = {
|
|
trigger = {
|
|
exists = scope:new_landless_adventurer_location.county
|
|
}
|
|
scope:new_landless_adventurer_location.county = {
|
|
save_scope_as = new_landless_adventurer_county
|
|
}
|
|
create_adventurer_title = {
|
|
name = adventurer_name_021
|
|
holder = scope:new_landless_adventurer
|
|
article = DEFAULT_TITLE_NAME_ARTICLE
|
|
save_scope_as = new_title
|
|
}
|
|
}
|
|
7 = {
|
|
create_adventurer_title = {
|
|
name = adventurer_name_022
|
|
holder = scope:new_landless_adventurer
|
|
article = DEFAULT_TITLE_NAME_ARTICLE
|
|
save_scope_as = new_title
|
|
}
|
|
}
|
|
10 = {
|
|
trigger = {
|
|
exists = scope:new_landless_adventurer_house
|
|
}
|
|
create_adventurer_title = {
|
|
name = adventurer_name_023
|
|
holder = scope:new_landless_adventurer
|
|
article = DEFAULT_TITLE_NAME_ARTICLE
|
|
save_scope_as = new_title
|
|
}
|
|
}
|
|
10 = {
|
|
trigger = {
|
|
scope:new_landless_adventurer.ai_zeal > medium_negative_ai_value
|
|
scope:new_landless_adventurer.ai_rationality >= 0
|
|
#Many names using Allah already
|
|
NOT = {
|
|
scope:new_landless_adventurer = {
|
|
faith.religion = religion:islam_religion
|
|
}
|
|
}
|
|
}
|
|
create_adventurer_title = {
|
|
name = adventurer_name_024
|
|
holder = scope:new_landless_adventurer
|
|
article = DEFAULT_TITLE_NAME_ARTICLE
|
|
save_scope_as = new_title
|
|
}
|
|
}
|
|
7 = {
|
|
trigger = {
|
|
scope:new_landless_adventurer.ai_zeal < low_negative_ai_value
|
|
scope:new_landless_adventurer.ai_compassion < medium_negative_ai_value
|
|
}
|
|
create_adventurer_title = {
|
|
name = adventurer_name_025
|
|
holder = scope:new_landless_adventurer
|
|
article = DEFAULT_TITLE_NAME_ARTICLE
|
|
save_scope_as = new_title
|
|
}
|
|
}
|
|
10 = {
|
|
create_adventurer_title = {
|
|
name = adventurer_name_0026
|
|
holder = scope:new_landless_adventurer
|
|
save_scope_as = new_title
|
|
}
|
|
}
|
|
5 = {
|
|
trigger = {
|
|
exists = scope:new_landless_adventurer.culture
|
|
OR = {
|
|
has_martial_lifestyle_trait_trigger = yes
|
|
ai_boldness >= medium_positive_ai_value
|
|
has_trait = education_martial_prowess_1
|
|
has_trait = education_martial_prowess_2
|
|
has_trait = education_martial_prowess_3
|
|
has_trait = education_martial_prowess_4
|
|
has_education_martial_trigger = yes
|
|
}
|
|
}
|
|
create_adventurer_title = {
|
|
name = adventurer_name_0027
|
|
holder = scope:new_landless_adventurer
|
|
article = DEFAULT_TITLE_NAME_ARTICLE
|
|
save_scope_as = new_title
|
|
}
|
|
}
|
|
}
|
|
|
|
scope:new_title ?= {
|
|
create_landless_adventurer_title_history_effect = yes
|
|
set_variable = {
|
|
name = adventurer_creation_reason
|
|
value = scope:adventurer_creation_reason
|
|
}
|
|
set_variable = {
|
|
name = adventurer_flavor_char
|
|
value = scope:adventurer_flavor_char
|
|
}
|
|
}
|
|
|
|
scope:new_title = { save_scope_as = new_landless_adventurer_title }
|
|
scope:new_landless_adventurer = {
|
|
if = {
|
|
limit = {
|
|
NOT = { has_government = landless_adventurer_government }
|
|
}
|
|
change_government = landless_adventurer_government
|
|
}
|
|
if = {
|
|
limit = {
|
|
NOT = { has_realm_law = landless_adventurer_succession_law }
|
|
}
|
|
add_realm_law = landless_adventurer_succession_law
|
|
}
|
|
if = {
|
|
limit = {
|
|
has_realm_law = crown_authority_0
|
|
}
|
|
remove_realm_law = crown_authority_0
|
|
}
|
|
domicile = { change_provisions = starting_provisions_value }
|
|
}
|
|
every_player = {
|
|
limit = {
|
|
NOR = {
|
|
root ?= this
|
|
this = scope:new_landless_adventurer
|
|
}
|
|
OR = {
|
|
# Either they're important to us.
|
|
is_close_or_extended_family_of = scope:new_landless_adventurer
|
|
is_consort_of = scope:new_landless_adventurer
|
|
has_important_relationship_with_character_trigger = { CHARACTER = scope:new_landless_adventurer }
|
|
# Or they're just close enough.
|
|
AND = {
|
|
capital_province = { "squared_distance(scope:new_landless_adventurer.location)" <= squared_distance_medium }
|
|
OR = {
|
|
top_liege = root.top_liege
|
|
any_neighboring_and_across_water_top_liege_realm_owner = { this = root.top_liege }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
send_interface_message = {
|
|
type = msg_landless_adventurer_nearby
|
|
title = nearby_landless_adventurer_created_message_title
|
|
left_icon = scope:new_landless_adventurer
|
|
right_icon = scope:adventurer_flavor_char
|
|
switch = {
|
|
trigger = scope:adventurer_creation_reason
|
|
flag:conquest = { custom_tooltip = nearby_landless_adventurer_created_message_conquest_tt }
|
|
flag:conquest_claim = { custom_tooltip = nearby_landless_adventurer_created_message_conquest_tt }
|
|
flag:deposition = { custom_tooltip = nearby_landless_adventurer_created_message_deposition_tt }
|
|
flag:succession = { custom_tooltip = nearby_landless_adventurer_created_message_succession_tt }
|
|
flag:exile = { custom_tooltip = nearby_landless_adventurer_created_message_exile_tt }
|
|
flag:voluntary = { custom_tooltip = nearby_landless_adventurer_created_message_voluntary_tt }
|
|
flag:revocation = { custom_tooltip = nearby_landless_adventurer_created_message_revocation_tt }
|
|
flag:runaway_allowed = { custom_tooltip = nearby_landless_adventurer_created_message_runaway_allowed_tt }
|
|
flag:runaway_forbidden = { custom_tooltip = nearby_landless_adventurer_created_message_runaway_forbidden_tt }
|
|
flag:wanderer = { custom_tooltip = nearby_landless_adventurer_created_message_wanderer_tt }
|
|
flag:eradicate = { custom_tooltip = nearby_landless_adventurer_created_message_eradicate_tt }
|
|
fallback = { custom_tooltip = nearby_landless_adventurer_created_message_fallback_tt }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
custom_tooltip = laamp_become_adventurer_tt
|
|
if = {
|
|
limit = {
|
|
OR = {
|
|
scope:adventurer_creation_reason = flag:deposition
|
|
scope:adventurer_creation_reason = flag:conquest
|
|
scope:adventurer_creation_reason = flag:conquest_claim
|
|
scope:adventurer_creation_reason = flag:exile
|
|
}
|
|
NOT = { this = scope:adventurer_flavor_char }
|
|
}
|
|
add_opinion = {
|
|
target = scope:adventurer_flavor_char
|
|
modifier = demanded_eviction_opinion
|
|
}
|
|
remove_laamp_from_exiled_county_automatically_effect = {
|
|
PROVINCE = scope:new_landless_adventurer.location
|
|
LAAMP = scope:new_landless_adventurer
|
|
}
|
|
save_scope_value_as = {
|
|
name = expelled
|
|
value = yes
|
|
}
|
|
}
|
|
hidden_effect = {
|
|
if = {
|
|
limit = {
|
|
scope:new_landless_adventurer = {
|
|
is_ai = no
|
|
}
|
|
NOT = { exists = scope:expelled }
|
|
}
|
|
populate_location_with_contracts_effect = {
|
|
AREA_CHAR = scope:new_landless_adventurer
|
|
AMOUNT = 3
|
|
}
|
|
}
|
|
scope:new_landless_adventurer = {
|
|
every_councillor = {
|
|
if = {
|
|
limit = {
|
|
NOR = {
|
|
has_council_position = councillor_court_chaplain
|
|
has_council_position = councillor_spouse
|
|
}
|
|
}
|
|
scope:new_landless_adventurer = {
|
|
fire_councillor = prev
|
|
}
|
|
remove_opinion = {
|
|
modifier = fired_from_council_opinion
|
|
target = scope:new_landless_adventurer
|
|
}
|
|
}
|
|
else_if = {
|
|
limit = {
|
|
NOR = {
|
|
is_close_or_extended_family_of = scope:new_landless_adventurer
|
|
has_relation_lover = scope:new_landless_adventurer
|
|
has_relation_friend = scope:new_landless_adventurer
|
|
is_consort_of = scope:new_landless_adventurer
|
|
has_council_position = councillor_spouse
|
|
}
|
|
}
|
|
death = {
|
|
death_reason = death_vanished
|
|
}
|
|
}
|
|
}
|
|
every_courtier = {
|
|
limit = {
|
|
NOR = {
|
|
is_close_or_extended_family_of = scope:new_landless_adventurer
|
|
has_relation_lover = scope:new_landless_adventurer
|
|
has_relation_friend = scope:new_landless_adventurer
|
|
is_consort_of = scope:new_landless_adventurer
|
|
}
|
|
}
|
|
move_to_pool = yes
|
|
}
|
|
# Give us a couple of starting chars if we're almost completely bereft.
|
|
if = {
|
|
limit = {
|
|
any_courtier = { count <= 2 }
|
|
}
|
|
trigger_event = {
|
|
id = ep3_laamps.1001
|
|
weeks = { 2 6 }
|
|
}
|
|
}
|
|
}
|
|
trigger_event = { id = misc.0001 days = 1 }
|
|
local_arbitration_boon_change_purpose_effect = yes
|
|
}
|
|
add_to_global_variable_list = {
|
|
name = laamps_tally
|
|
target = scope:new_landless_adventurer.primary_title
|
|
}
|
|
set_variable = flavourise_camp_purpose_wanderers
|
|
}
|
|
|
|
create_landless_minority_title_effect = {
|
|
save_scope_as = new_landless_minority
|
|
if = {
|
|
limit = {
|
|
exists = house
|
|
}
|
|
house = { save_scope_as = new_landless_minority_house }
|
|
}
|
|
if = {
|
|
limit = {
|
|
exists = location
|
|
}
|
|
location = { save_scope_as = new_landless_minority_location }
|
|
}
|
|
save_scope_value_as = {
|
|
name = minority_creation_reason
|
|
value = $REASON$
|
|
}
|
|
$FLAVOR_CHAR$ = { save_scope_as = minority_flavor_char }
|
|
hidden_effect = {
|
|
|
|
create_adventurer_title = {
|
|
name = minority_name
|
|
holder = scope:new_landless_minority
|
|
article = DEFAULT_TITLE_NAME_ARTICLE
|
|
government = landless_minority_government
|
|
save_scope_as = new_title
|
|
}
|
|
scope:new_title ?= {
|
|
create_landless_minority_title_history_effect = yes
|
|
set_variable = {
|
|
name = minority_creation_reason
|
|
value = scope:minority_creation_reason
|
|
}
|
|
set_title_name = minority_name
|
|
set_variable = {
|
|
name = minority_flavor_char
|
|
value = scope:minority_flavor_char
|
|
}
|
|
}
|
|
|
|
scope:new_title = { save_scope_as = new_landless_minority_title }
|
|
scope:new_landless_minority = {
|
|
if = {
|
|
limit = {
|
|
NOT = { has_government = landless_minority_government }
|
|
}
|
|
change_government = landless_minority_government
|
|
}
|
|
if = {
|
|
limit = {
|
|
NOT = { has_realm_law = confederate_partition_succession_law }
|
|
}
|
|
add_realm_law = confederate_partition_succession_law
|
|
}
|
|
if = {
|
|
limit = {
|
|
has_realm_law = crown_authority_0
|
|
}
|
|
remove_realm_law = crown_authority_0
|
|
}
|
|
domicile = { change_provisions = starting_provisions_value }
|
|
}
|
|
every_player = {
|
|
limit = {
|
|
NOR = {
|
|
root ?= this
|
|
this = scope:new_landless_minority
|
|
}
|
|
OR = {
|
|
# Either they're important to us.
|
|
is_close_or_extended_family_of = scope:new_landless_minority
|
|
is_consort_of = scope:new_landless_minority
|
|
has_important_relationship_with_character_trigger = { CHARACTER = scope:new_landless_minority }
|
|
# Or they're just close enough.
|
|
AND = {
|
|
capital_province = { "squared_distance(scope:new_landless_minority.location)" <= squared_distance_medium }
|
|
OR = {
|
|
top_liege = root.top_liege
|
|
any_neighboring_and_across_water_top_liege_realm_owner = { this = root.top_liege }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
send_interface_message = {
|
|
type = msg_landless_minority_nearby
|
|
title = nearby_landless_minority_created_message_title
|
|
left_icon = scope:new_landless_minority
|
|
right_icon = scope:minority_flavor_char
|
|
switch = {
|
|
trigger = scope:minority_creation_reason
|
|
flag:conquest = { custom_tooltip = nearby_landless_minority_created_message_conquest_tt }
|
|
flag:conquest_claim = { custom_tooltip = nearby_landless_minority_created_message_conquest_tt }
|
|
flag:deposition = { custom_tooltip = nearby_landless_minority_created_message_deposition_tt }
|
|
flag:succession = { custom_tooltip = nearby_landless_minority_created_message_succession_tt }
|
|
flag:exile = { custom_tooltip = nearby_landless_minority_created_message_exile_tt }
|
|
flag:voluntary = { custom_tooltip = nearby_landless_minority_created_message_voluntary_tt }
|
|
flag:revocation = { custom_tooltip = nearby_landless_minority_created_message_revocation_tt }
|
|
flag:runaway_allowed = { custom_tooltip = nearby_landless_minority_created_message_runaway_allowed_tt }
|
|
flag:runaway_forbidden = { custom_tooltip = nearby_landless_minority_created_message_runaway_forbidden_tt }
|
|
flag:wanderer = { custom_tooltip = nearby_landless_minority_created_message_wanderer_tt }
|
|
flag:eradicate = { custom_tooltip = nearby_landless_minority_created_message_eradicate_tt }
|
|
fallback = { custom_tooltip = nearby_landless_minority_created_message_fallback_tt }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
custom_tooltip = laamp_become_minority_tt
|
|
hidden_effect = {
|
|
if = {
|
|
limit = {
|
|
scope:new_landless_minority = {
|
|
is_ai = no
|
|
}
|
|
NOT = { exists = scope:expelled }
|
|
}
|
|
populate_location_with_contracts_effect = {
|
|
AREA_CHAR = scope:new_landless_minority
|
|
AMOUNT = 3
|
|
}
|
|
}
|
|
scope:new_landless_minority = {
|
|
every_courtier = {
|
|
limit = {
|
|
NOR = {
|
|
is_close_or_extended_family_of = scope:new_landless_minority
|
|
has_relation_lover = scope:new_landless_minority
|
|
has_relation_friend = scope:new_landless_minority
|
|
is_consort_of = scope:new_landless_minority
|
|
}
|
|
}
|
|
move_to_pool = yes
|
|
}
|
|
# Give us a couple of starting chars if we're almost completely bereft.
|
|
if = {
|
|
limit = {
|
|
any_courtier = { count <= 2 }
|
|
}
|
|
trigger_event = {
|
|
id = ep3_laamps.1001
|
|
weeks = { 2 6 }
|
|
}
|
|
}
|
|
}
|
|
trigger_event = { id = misc.0001 days = 1 }
|
|
local_arbitration_boon_change_purpose_effect = yes
|
|
}
|
|
add_to_global_variable_list = {
|
|
name = laamps_tally
|
|
target = scope:new_landless_minority.primary_title
|
|
}
|
|
set_variable = flavourise_camp_purpose_wanderers
|
|
}
|
|
|
|
destroy_landless_title_no_dlc_effect = {
|
|
if = {
|
|
limit = {
|
|
NOT = { has_dlc_feature = roads_to_power }
|
|
game_start_date = $DATE$
|
|
}
|
|
holder = { destroy_title = prev }
|
|
}
|
|
}
|
|
|
|
set_landless_government_effect = {
|
|
if = {
|
|
limit = {
|
|
has_dlc_feature = roads_to_power
|
|
}
|
|
change_government = landless_adventurer_government
|
|
}
|
|
}
|
|
|
|
disburse_knight_errant_decision_rewards_effect = {
|
|
add_trait = knight_errant
|
|
house = {
|
|
add_house_modifier = {
|
|
modifier = ep3_knight_of_the_swan_house_modifier
|
|
}
|
|
}
|
|
custom_tooltip = knight_errant_decision_armor_tt
|
|
if = {
|
|
limit = { has_dlc_feature = legends }
|
|
create_swan_knight_legend_seed_effect = yes
|
|
}
|
|
if = {
|
|
limit = { has_character_modifier = bandit_king_modifier }
|
|
remove_character_modifier = bandit_king_modifier
|
|
}
|
|
}
|
|
|
|
laamp_game_over_option_effect = {
|
|
add_internal_flag = dangerous
|
|
custom_tooltip = laamp_game_over_tt
|
|
if = {
|
|
limit = { exists = scope:new_landless_adventurer_title }
|
|
hidden_effect = {
|
|
destroy_title = scope:new_landless_adventurer_title
|
|
add_character_flag = { flag = declined_become_laamp days = 1 } # The flag is temporary to make the player get a game over if they had no landed heir to take over their lands
|
|
# While also making it so that if they did have an heir to take over they can later play as the old character if they somehow inherit from the heir
|
|
}
|
|
}
|
|
}
|
|
|
|
destroy_laamp_effect = {
|
|
$ADVENTURER$ = {
|
|
save_scope_as = the_adventurer
|
|
# If we weren't an adventurer before, make us one.
|
|
if = {
|
|
limit = {
|
|
NOT = { has_trait = adventurer }
|
|
}
|
|
add_trait = adventurer
|
|
}
|
|
hidden_effect = {
|
|
every_courtier = {
|
|
set_variable = {
|
|
name = former_camp_leader
|
|
value = scope:the_adventurer
|
|
}
|
|
add_trait = adventurer_follower
|
|
}
|
|
}
|
|
custom_tooltip = {
|
|
text = destroy_laamp_effect.tt.domicile_liquidated
|
|
laamp_clear_domicile_buildings_effect = yes
|
|
}
|
|
# Contacts have opinions™ about you.
|
|
## Be they good.
|
|
every_contact = {
|
|
limit = {
|
|
opinion = {
|
|
target = scope:the_adventurer
|
|
value >= 1
|
|
}
|
|
}
|
|
custom = custom.every_contact_with_positive_opinion
|
|
add_opinion = {
|
|
target = scope:the_adventurer
|
|
modifier = pleased_former_contact_opinion
|
|
opinion = 30
|
|
}
|
|
hidden_effect = {
|
|
if = {
|
|
limit = {
|
|
can_set_relation_potential_friend_trigger = { CHARACTER = scope:the_adventurer }
|
|
}
|
|
set_relation_potential_friend = scope:the_adventurer
|
|
}
|
|
}
|
|
}
|
|
## Or bad.
|
|
every_contact = {
|
|
limit = {
|
|
opinion = {
|
|
target = scope:the_adventurer
|
|
value < 1
|
|
}
|
|
}
|
|
# And neutral but _eh_.
|
|
custom = custom.every_contact_with_negative_opinion
|
|
add_opinion = {
|
|
target = scope:the_adventurer
|
|
modifier = frustrated_former_contact_opinion
|
|
opinion = -30
|
|
}
|
|
hidden_effect = {
|
|
if = {
|
|
limit = {
|
|
can_set_relation_potential_rival_trigger = { CHARACTER = scope:the_adventurer }
|
|
}
|
|
set_relation_potential_rival = scope:the_adventurer
|
|
}
|
|
}
|
|
}
|
|
# Destroy your main title.
|
|
every_held_title = {
|
|
limit = { has_variable = adventurer_creation_reason }
|
|
save_scope_as = landless_adventurer_title
|
|
scope:the_adventurer = { destroy_title = scope:landless_adventurer_title }
|
|
}
|
|
# Ironically, we only want to use this effect if you're _not_ admin — it'll reset you nicely to the best government for you, but if you're admin, you should stay admin.
|
|
if = {
|
|
limit = {
|
|
NOR = {
|
|
government_has_flag = government_is_administrative
|
|
government_has_flag = government_is_nomadic
|
|
government_has_flag = government_is_steppe_admin
|
|
government_has_flag = government_is_wanua
|
|
government_has_flag = government_is_mandala
|
|
government_has_flag = government_is_celestial
|
|
government_has_flag = government_is_meritocratic
|
|
government_has_flag = government_is_japan_feudal
|
|
}
|
|
}
|
|
admin_government_reset_effect = yes #this only contains Clan, Tribal, Nomadic and Feudal
|
|
}
|
|
# Clean up story no-movement flags.
|
|
remove_character_flag = laamp_stay_same_kingdom
|
|
}
|
|
}
|
|
|
|
create_landless_adventurer_title_tooltip_effect = {
|
|
show_as_tooltip = {
|
|
custom_tooltip = laamp_become_adventurer_tt
|
|
if = {
|
|
limit = { exists = scope:new_landless_adventurer_title}
|
|
show_as_tooltip = { get_title = scope:new_landless_adventurer_title }
|
|
}
|
|
}
|
|
}
|
|
create_landless_minority_title_tooltip_effect = {
|
|
show_as_tooltip = {
|
|
custom_tooltip = laamp_become_minority_tt
|
|
if = {
|
|
limit = { exists = scope:new_landless_minority_title}
|
|
show_as_tooltip = { get_title = scope:new_landless_minority_title }
|
|
}
|
|
}
|
|
}
|
|
|
|
find_playable_relatives_effect = {
|
|
if = {
|
|
limit = {
|
|
any_close_family_member = { playable_relative_trigger = yes }
|
|
}
|
|
ordered_close_family_member = {
|
|
limit = { playable_relative_trigger = yes }
|
|
order_by = highest_held_title_tier
|
|
max = 3
|
|
check_range_bounds = no
|
|
if = {
|
|
limit = { exists = scope:alt_2 }
|
|
save_scope_as = alt_3
|
|
}
|
|
else_if = {
|
|
limit = { exists = scope:alt_1 }
|
|
save_scope_as = alt_2
|
|
}
|
|
else = { save_scope_as = alt_1 }
|
|
}
|
|
}
|
|
}
|
|
|
|
laamp_switch_playable_character_effect = {
|
|
set_player_character = $NEW_CHARACTER$
|
|
hidden_effect = {
|
|
if = {
|
|
limit = { exists = scope:new_landless_adventurer_title }
|
|
destroy_title = scope:new_landless_adventurer_title
|
|
}
|
|
}
|
|
}
|
|
|
|
ep3_become_landed_save_liege_effect = {
|
|
$TITLE_GIVER$ = { save_scope_as = ruler }
|
|
save_scope_value_as = {
|
|
name = override_independence_logic
|
|
value = $ALWAYS_INDEPENDENT$
|
|
}
|
|
if = {
|
|
limit = { scope:override_independence_logic = yes }
|
|
# Do nothing, we're just here to block subsequent checks.
|
|
}
|
|
else_if = {
|
|
limit = {
|
|
scope:ruler = { top_liege != this }
|
|
any_in_list = {
|
|
list = $TITLE_LIST$
|
|
tier = scope:ruler.highest_held_title_tier
|
|
}
|
|
NOT = {
|
|
any_in_list = {
|
|
list = $TITLE_LIST$
|
|
tier > scope:ruler.highest_held_title_tier
|
|
}
|
|
}
|
|
}
|
|
scope:ruler.liege = { save_scope_as = new_liege }
|
|
}
|
|
else_if = {
|
|
limit = {
|
|
NOT = {
|
|
any_in_list = {
|
|
list = $TITLE_LIST$
|
|
tier >= scope:ruler.highest_held_title_tier
|
|
}
|
|
}
|
|
}
|
|
scope:ruler = { save_scope_as = new_liege }
|
|
}
|
|
}
|
|
|
|
ep3_become_landed_transfer_effect = {
|
|
hidden_effect = {
|
|
# Liquidate camp
|
|
$TITLE_RECEIVER$ = { laamp_clear_domicile_buildings_liquidator_effect = yes }
|
|
}
|
|
$TITLE_RECEIVER$ = {
|
|
if = {
|
|
limit = { character:90028 ?= this }
|
|
custom_tooltip = ep3_story_cycle_harrying.3053.b.tt
|
|
add_character_flag = hereward_settled_flag
|
|
}
|
|
set_variable = {
|
|
name = ascended_throne_reason
|
|
value = $REASON$
|
|
weeks = 1
|
|
}
|
|
save_scope_value_as = {
|
|
name = ascended_throne_value
|
|
value = $REASON$
|
|
}
|
|
set_variable = { # Used to prevent invalid NF creation
|
|
name = laamp_invasion_flag
|
|
value = scope:target
|
|
days = 1
|
|
}
|
|
}
|
|
create_title_and_vassal_change = {
|
|
type = $TYPE$
|
|
add_claim_on_loss = yes
|
|
save_scope_as = title_change
|
|
}
|
|
scope:target.holder ?= { save_scope_as = old_holder }
|
|
if = {
|
|
limit = { NOT = { exists = scope:old_holder } }
|
|
scope:target = {
|
|
ordered_de_jure_county = {
|
|
limit = { holder.top_liege = scope:defender.top_liege }
|
|
order_by = development_level
|
|
holder = { save_scope_as = old_holder }
|
|
}
|
|
}
|
|
}
|
|
scope:supporter ?= { save_scope_as = government_giver }
|
|
if = {
|
|
limit = { NOT = { exists = scope:government_giver } }
|
|
scope:old_holder = { save_scope_as = government_giver }
|
|
}
|
|
scope:government_giver ?= {
|
|
switch = {
|
|
trigger = government_has_flag
|
|
government_is_administrative = {
|
|
save_scope_value_as = { name = old_government value = flag:admin }
|
|
}
|
|
government_is_clan = {
|
|
save_scope_value_as = { name = old_government value = flag:clan }
|
|
}
|
|
government_is_tribal = {
|
|
save_scope_value_as = { name = old_government value = flag:tribal }
|
|
}
|
|
government_is_wanua = {
|
|
save_scope_value_as = { name = old_government value = flag:wanua }
|
|
}
|
|
government_is_nomadic = {
|
|
save_scope_value_as = { name = old_government value = flag:nomad }
|
|
}
|
|
government_is_herder = {
|
|
save_scope_value_as = { name = old_government value = flag:nomad }
|
|
}
|
|
government_is_celestial = {
|
|
save_scope_value_as = { name = old_government value = flag:celestial }
|
|
}
|
|
government_is_steppe_admin = {
|
|
save_scope_value_as = { name = old_government value = flag:steppe_admin }
|
|
}
|
|
government_is_meritocratic = {
|
|
save_scope_value_as = { name = old_government value = flag:meritocratic }
|
|
}
|
|
government_is_japan_administrative = {
|
|
save_scope_value_as = { name = old_government value = flag:japan_administrative }
|
|
}
|
|
government_is_japan_feudal = {
|
|
save_scope_value_as = { name = old_government value = flag:japan_feudal }
|
|
}
|
|
government_is_mandala = {
|
|
save_scope_value_as = { name = old_government value = flag:mandala }
|
|
}
|
|
}
|
|
}
|
|
if = {
|
|
limit = {
|
|
NOT = { exists = scope:new_capital }
|
|
}
|
|
ordered_in_list = {
|
|
list = $TITLE_LIST$
|
|
limit = { tier = tier_county }
|
|
order_by = development_level
|
|
save_scope_as = new_capital
|
|
}
|
|
}
|
|
if = {
|
|
limit = {
|
|
NOT = { exists = scope:new_capital }
|
|
}
|
|
scope:new_primary_title ?= {
|
|
ordered_de_jure_county = {
|
|
limit = {
|
|
holder = scope:defender
|
|
}
|
|
alternative_limit = {
|
|
holder.top_liege = scope:defender.top_liege
|
|
}
|
|
order_by = development_level
|
|
save_scope_as = new_capital
|
|
}
|
|
}
|
|
}
|
|
ordered_in_list = {
|
|
list = $TITLE_LIST$
|
|
order_by = tier
|
|
save_scope_as = new_primary_title
|
|
}
|
|
$TITLE_RECEIVER$ = {
|
|
if = {
|
|
limit = {
|
|
exists = scope:new_primary_title
|
|
highest_held_title_tier > scope:new_primary_title.tier
|
|
primary_title = { is_landless_type_title = no }
|
|
}
|
|
primary_title = { save_scope_as = new_primary_title }
|
|
}
|
|
else = {
|
|
scope:new_primary_title ?= {
|
|
change_title_holder_include_vassals = {
|
|
holder = $TITLE_RECEIVER$
|
|
change = scope:title_change
|
|
take_baronies = no
|
|
}
|
|
}
|
|
}
|
|
}
|
|
scope:new_primary_title ?= {
|
|
every_de_jure_county = {
|
|
limit = {
|
|
NOT = { is_in_list = $TITLE_LIST$ }
|
|
trigger_if = {
|
|
limit = { exists = scope:defender }
|
|
holder.top_liege ?= scope:defender.top_liege
|
|
}
|
|
trigger_if = {
|
|
limit = { exists = scope:new_liege }
|
|
holder.top_liege ?= scope:new_liege.top_liege
|
|
}
|
|
}
|
|
change_title_holder_include_vassals = {
|
|
holder = $TITLE_RECEIVER$
|
|
change = scope:title_change
|
|
take_baronies = no
|
|
}
|
|
}
|
|
}
|
|
every_in_list = {
|
|
list = $TITLE_LIST$
|
|
limit = {
|
|
is_leased_out = no
|
|
trigger_if = {
|
|
limit = {
|
|
NOT = { exists = var:ceremonial_title }
|
|
}
|
|
is_landless_type_title = no
|
|
}
|
|
is_head_of_faith = no
|
|
tier >= tier_county
|
|
trigger_if = {
|
|
limit = { exists = scope:defender }
|
|
holder.top_liege ?= scope:defender.top_liege
|
|
}
|
|
trigger_if = {
|
|
limit = { exists = scope:new_liege }
|
|
holder.top_liege ?= scope:new_liege.top_liege
|
|
}
|
|
NOT = { scope:new_primary_title ?= this }
|
|
}
|
|
change_title_holder_include_vassals = {
|
|
holder = $TITLE_RECEIVER$
|
|
change = scope:title_change
|
|
take_baronies = no
|
|
}
|
|
}
|
|
if = {
|
|
limit = { has_character_flag = special_laamp_char }
|
|
resolve_title_and_vassal_change = scope:title_change
|
|
# Then we resolve vassalage separately, so that we can lock in tiers.
|
|
create_title_and_vassal_change = {
|
|
type = $TYPE$
|
|
add_claim_on_loss = yes
|
|
save_scope_as = title_change
|
|
}
|
|
}
|
|
if = {
|
|
limit = {
|
|
exists = scope:new_liege
|
|
trigger_if = {
|
|
limit = { exists = scope:ascended_throne_value }
|
|
NOR = {
|
|
scope:ascended_throne_value = flag:conquest
|
|
scope:ascended_throne_value = flag:conquest_claim
|
|
}
|
|
}
|
|
}
|
|
$TITLE_RECEIVER$ = {
|
|
change_liege = {
|
|
liege = scope:new_liege
|
|
change = scope:title_change
|
|
}
|
|
}
|
|
}
|
|
else_if = {
|
|
limit = { top_liege != this }
|
|
becomes_independent = { change = scope:title_change }
|
|
}
|
|
resolve_title_and_vassal_change = scope:title_change
|
|
# Because target may be either a title or a character, we check if a scope value has been set up in advance if this is being called from the Seize Realm scheme specifically
|
|
if = {
|
|
limit = {
|
|
exists = scope:old_government_type
|
|
}
|
|
scope:old_government_type = {
|
|
save_scope_as = old_government
|
|
}
|
|
}
|
|
# Set government type
|
|
if = {
|
|
limit = {
|
|
exists = scope:old_government
|
|
}
|
|
# We don't expect to actually trigger most of the below, as most are not valid targets to begin with, but all are included for completeness and mod support
|
|
switch = {
|
|
trigger = scope:old_government
|
|
flag:feudal = {
|
|
change_government = feudal_government
|
|
}
|
|
flag:republic = {
|
|
change_government = republic_government
|
|
}
|
|
flag:theocracy = {
|
|
change_government = theocracy_government
|
|
}
|
|
flag:clan = {
|
|
change_government = clan_government
|
|
}
|
|
flag:tribal = {
|
|
change_government = tribal_government
|
|
}
|
|
flag:wanua = {
|
|
change_government = wanua_government
|
|
}
|
|
flag:holy_order = {
|
|
change_government = holy_order_government
|
|
}
|
|
flag:administrative = {
|
|
change_government = administrative_government
|
|
}
|
|
flag:nomad = {
|
|
change_government = nomad_government
|
|
}
|
|
flag:herder = {
|
|
change_government = herder_government
|
|
}
|
|
flag:celestial = {
|
|
change_government = celestial_government
|
|
}
|
|
flag:mandala = {
|
|
if = {
|
|
limit = {
|
|
faith = { has_doctrine = doctrine_polytheist }
|
|
}
|
|
change_government = mandala_government
|
|
#Sort out the House shenanigans
|
|
if = {
|
|
limit = { is_house_head = no }
|
|
house = {
|
|
if = {
|
|
limit = {
|
|
house_head = {
|
|
is_landed = no
|
|
is_courtier_of = root
|
|
}
|
|
}
|
|
set_house_head = root
|
|
}
|
|
}
|
|
}
|
|
else = {
|
|
house ?= {
|
|
set_house_aspiration = { type = no_aspect }
|
|
}
|
|
}
|
|
}
|
|
else = {
|
|
if = {
|
|
limit = { ep3_is_clan_inclined_trigger = yes }
|
|
change_government = clan_government
|
|
}
|
|
else = { change_government = feudal_government }
|
|
}
|
|
}
|
|
flag:steppe_admin = {
|
|
change_government = steppe_admin_government
|
|
}
|
|
flag:meritocratic = {
|
|
change_government = meritocratic_government
|
|
}
|
|
flag:japan_feudal = {
|
|
change_government = japan_feudal_government
|
|
}
|
|
flag:japan_administrative = {
|
|
if = {
|
|
limit = {
|
|
scope:new_liege ?= { has_government = japan_administrative_government }
|
|
}
|
|
change_government = japan_administrative_government
|
|
}
|
|
else = { change_government = feudal_government }
|
|
}
|
|
}
|
|
}
|
|
# Otherwise we proceed as normal
|
|
else = {
|
|
$TITLE_RECEIVER$ = {
|
|
# Change our government according to the government of our liege.
|
|
## Nomad.
|
|
if = {
|
|
limit = {
|
|
OR = {
|
|
government_has_flag = government_is_nomadic
|
|
scope:new_liege ?= { government_has_flag = government_is_nomadic }
|
|
scope:old_government ?= flag:nomad
|
|
scope:new_capital.title_province = {
|
|
OR = {
|
|
has_holding_type = nomad_holding
|
|
has_holding_type = herder_holding
|
|
}
|
|
}
|
|
}
|
|
}
|
|
hidden_effect = {
|
|
every_held_title = {
|
|
limit = {
|
|
tier = tier_county
|
|
title_province = { has_holding_type = herder_holding }
|
|
}
|
|
title_province = { set_holding_type = nomad_holding }
|
|
}
|
|
}
|
|
change_government = nomad_government
|
|
}
|
|
## Soryo.
|
|
else_if = {
|
|
limit = {
|
|
OR = {
|
|
scope:new_liege ?= { government_has_flag = government_is_japan_feudal }
|
|
scope:old_government ?= flag:japan_feudal
|
|
}
|
|
}
|
|
change_government = japan_feudal_government
|
|
}
|
|
## Administrative.
|
|
else_if = {
|
|
limit = {
|
|
OR = {
|
|
scope:old_government ?= flag:admin
|
|
scope:old_government ?= flag:celestial
|
|
scope:old_government ?= flag:steppe_admin
|
|
scope:old_government ?= flag:meritocratic
|
|
scope:old_government ?= flag:japan_administrative
|
|
scope:new_liege ?= { government_allows = administrative }
|
|
}
|
|
}
|
|
change_to_administrative_effect = yes
|
|
}
|
|
## Clan.
|
|
else_if = {
|
|
limit = {
|
|
OR = {
|
|
scope:new_liege ?= { government_has_flag = government_is_clan }
|
|
scope:old_government ?= flag:clan
|
|
AND = {
|
|
ep3_is_clan_inclined_trigger = yes
|
|
top_liege = this
|
|
}
|
|
}
|
|
}
|
|
change_government = clan_government
|
|
}
|
|
## Tribal.
|
|
else_if = {
|
|
limit = {
|
|
OR = {
|
|
scope:new_liege ?= { government_has_flag = government_is_tribal }
|
|
scope:old_government ?= flag:tribal
|
|
}
|
|
}
|
|
change_government = tribal_government
|
|
}
|
|
## Wanua.
|
|
else_if = {
|
|
limit = {
|
|
OR = {
|
|
scope:new_liege ?= { government_has_flag = government_is_wanua }
|
|
scope:old_government ?= flag:wanua
|
|
}
|
|
}
|
|
change_government = wanua_government
|
|
}
|
|
## Mandala.
|
|
else_if = {
|
|
limit = {
|
|
OR = {
|
|
scope:new_liege ?= { government_has_flag = government_is_mandala }
|
|
#scope:old_government ?= flag:mandala
|
|
scope:target.holder = { government_has_flag = government_is_mandala }
|
|
}
|
|
faith = { has_doctrine = doctrine_polytheist }
|
|
}
|
|
change_government = mandala_government
|
|
#Sort out the House shenanigans
|
|
hidden_effect = {
|
|
if = {
|
|
limit = { is_house_head = no }
|
|
house = {
|
|
if = {
|
|
limit = {
|
|
house_head = {
|
|
is_landed = no
|
|
is_courtier_of = $TITLE_RECEIVER$
|
|
}
|
|
}
|
|
set_house_head = $TITLE_RECEIVER$
|
|
}
|
|
}
|
|
}
|
|
else = {
|
|
house ?= {
|
|
set_house_aspiration = { type = no_aspect }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
## Else feudal.
|
|
else = {
|
|
change_government = feudal_government
|
|
}
|
|
}
|
|
# Ennobled adventurer penalties
|
|
if = {
|
|
limit = { $ENNOBLED_ADVENTURER$ = flag:yes }
|
|
if = {
|
|
limit = {
|
|
calc_true_if = {
|
|
amount = 3
|
|
prestige_level <= 3
|
|
scope:new_capital.culture ?= {
|
|
NOR = {
|
|
$TITLE_RECEIVER$.culture ?= this
|
|
$TITLE_RECEIVER$.primary_spouse.culture ?= this
|
|
$TITLE_RECEIVER$.primary_heir.culture ?= this
|
|
}
|
|
}
|
|
scope:new_capital.faith != faith
|
|
}
|
|
}
|
|
custom_tooltip = ep3_ennobled_adventurer_modifier_reason_3
|
|
add_character_modifier = {
|
|
modifier = ep3_ennobled_adventurer_modifier_3
|
|
years = 30
|
|
}
|
|
custom_tooltip = ep3_ennobled_adventurer_modifier_rules
|
|
}
|
|
else_if = {
|
|
limit = {
|
|
calc_true_if = {
|
|
amount = 2
|
|
prestige_level <= 3
|
|
scope:new_capital.culture ?= {
|
|
NOR = {
|
|
$TITLE_RECEIVER$.culture ?= this
|
|
$TITLE_RECEIVER$.primary_spouse.culture ?= this
|
|
$TITLE_RECEIVER$.primary_heir.culture ?= this
|
|
}
|
|
}
|
|
scope:new_capital.faith != faith
|
|
}
|
|
}
|
|
custom_tooltip = ep3_ennobled_adventurer_modifier_reason_2
|
|
add_character_modifier = {
|
|
modifier = ep3_ennobled_adventurer_modifier_2
|
|
years = 20
|
|
}
|
|
custom_tooltip = ep3_ennobled_adventurer_modifier_rules
|
|
}
|
|
else_if = {
|
|
limit = {
|
|
calc_true_if = {
|
|
amount = 1
|
|
prestige_level <= 3
|
|
scope:new_capital.culture ?= {
|
|
NOR = {
|
|
$TITLE_RECEIVER$.culture ?= this
|
|
$TITLE_RECEIVER$.primary_spouse.culture ?= this
|
|
$TITLE_RECEIVER$.primary_heir.culture ?= this
|
|
}
|
|
}
|
|
scope:new_capital.faith != faith
|
|
}
|
|
}
|
|
custom_tooltip = ep3_ennobled_adventurer_modifier_reason_1
|
|
add_character_modifier = {
|
|
modifier = ep3_ennobled_adventurer_modifier_1
|
|
years = 10
|
|
}
|
|
custom_tooltip = ep3_ennobled_adventurer_modifier_rules
|
|
}
|
|
}
|
|
}
|
|
destroy_laamp_effect = { ADVENTURER = $TITLE_RECEIVER$ }
|
|
# Setup NF if valid
|
|
if = {
|
|
limit = { government_allows = administrative }
|
|
give_new_noble_family_title_effect = yes
|
|
}
|
|
}
|
|
|
|
ep3_become_landed_cleanup_effect = {
|
|
if = {
|
|
limit = {
|
|
exists = scope:supporter
|
|
highest_held_title_tier < scope:supporter.highest_held_title_tier
|
|
}
|
|
create_title_and_vassal_change = {
|
|
type = swear_fealty
|
|
save_scope_as = change
|
|
add_claim_on_loss = no
|
|
}
|
|
change_liege = {
|
|
liege = scope:supporter
|
|
change = scope:change
|
|
}
|
|
resolve_title_and_vassal_change = scope:change
|
|
# Message for nearby rulers
|
|
create_landed_ruler_message_effect = {
|
|
LANDED = scope:attacker
|
|
FLAVOR_CHAR = scope:supporter
|
|
FLAVOR_TITLE = scope:attacker.primary_title
|
|
REASON = flag:conquest_support
|
|
}
|
|
}
|
|
else = {
|
|
if = {
|
|
limit = {
|
|
top_liege != this
|
|
NOT = { exists = scope:new_liege }
|
|
}
|
|
create_title_and_vassal_change = {
|
|
type = conquest
|
|
save_scope_as = change
|
|
add_claim_on_loss = no
|
|
}
|
|
becomes_independent = { change = scope:change }
|
|
resolve_title_and_vassal_change = scope:change
|
|
}
|
|
# Message for nearby rulers
|
|
create_landed_ruler_message_effect = {
|
|
LANDED = scope:attacker
|
|
FLAVOR_CHAR = scope:defender
|
|
FLAVOR_TITLE = scope:attacker.primary_title
|
|
REASON = flag:conquest
|
|
}
|
|
}
|
|
}
|
|
|
|
ep3_become_landed_warning_effect = {
|
|
$TITLE$ = { save_scope_as = title }
|
|
$TITLE_RECEIVER$ = { custom_tooltip = seize_realm_warning }
|
|
}
|
|
|
|
purchase_land_interaction_effect = {
|
|
# scope:actor = adventurer
|
|
# scope:recipient = seller
|
|
# purchased_titles = titles
|
|
|
|
hidden_effect = {
|
|
scope:actor = {
|
|
if = {
|
|
limit = { character:90028 ?= this }
|
|
add_character_flag = hereward_settled_flag
|
|
}
|
|
if = {
|
|
limit = {
|
|
NOT = { has_trait = adventurer }
|
|
}
|
|
add_trait = adventurer
|
|
}
|
|
every_courtier = {
|
|
set_variable = {
|
|
name = former_camp_leader
|
|
value = scope:actor
|
|
}
|
|
add_trait = adventurer_follower
|
|
}
|
|
}
|
|
}
|
|
|
|
# Determine hierarchy
|
|
ep3_become_landed_save_liege_effect = {
|
|
TITLE_GIVER = scope:recipient
|
|
ALWAYS_INDEPENDENT = no
|
|
TITLE_LIST = purchased_titles
|
|
}
|
|
# Purchase land specific
|
|
scope:actor = {
|
|
show_as_tooltip = {
|
|
pay_short_term_gold = {
|
|
gold = scope:purchase_land_cost
|
|
target = scope:recipient
|
|
}
|
|
}
|
|
}
|
|
# Resolve title, liege, government changes
|
|
ep3_become_landed_transfer_effect = {
|
|
TITLE_RECEIVER = scope:actor
|
|
TITLE_LIST = purchased_titles
|
|
TYPE = granted
|
|
REASON = flag:purchased
|
|
ENNOBLED_ADVENTURER = flag:yes
|
|
}
|
|
# Extra purchase land specific
|
|
scope:actor = {
|
|
stress_impact = {
|
|
greedy = minor_stress_impact_gain
|
|
lazy = minor_stress_impact_loss
|
|
}
|
|
}
|
|
# Effects on land giver
|
|
scope:recipient = { add_legitimacy = scope:purchase_land_legitimacy_cost }
|
|
# Messages for nearby players
|
|
create_landed_ruler_message_effect = {
|
|
LANDED = scope:actor
|
|
FLAVOR_CHAR = scope:recipient
|
|
FLAVOR_TITLE = scope:target
|
|
REASON = flag:purchased
|
|
}
|
|
# Hook
|
|
if = {
|
|
limit = { scope:offer_hook = yes }
|
|
scope:recipient = {
|
|
add_hook = {
|
|
type = obligation_hook
|
|
target = scope:actor
|
|
}
|
|
}
|
|
}
|
|
#Handle the government types
|
|
if = {
|
|
limit = {
|
|
scope:recipient = { government_has_flag = government_is_mandala }
|
|
#... we're lenient
|
|
faith = { has_doctrine = doctrine_polytheist }
|
|
}
|
|
#Sort out the House shenanigans
|
|
if = {
|
|
limit = { is_house_head = no }
|
|
house = {
|
|
if = {
|
|
limit = {
|
|
house_head = {
|
|
is_landed = no
|
|
is_courtier_of = root
|
|
}
|
|
}
|
|
set_house_head = root
|
|
}
|
|
}
|
|
}
|
|
else = {
|
|
house ?= {
|
|
set_house_aspiration = { type = no_aspect }
|
|
}
|
|
}
|
|
}
|
|
#Otherwise go vanilla
|
|
else = {
|
|
if = {
|
|
limit = { ep3_is_clan_inclined_trigger = yes }
|
|
change_government = clan_government
|
|
}
|
|
else = { change_government = feudal_government }
|
|
}
|
|
}
|
|
|
|
purchase_land_interaction_shortened_effect = {
|
|
scope:actor = {
|
|
if = {
|
|
limit = { character:90028 ?= this }
|
|
custom_tooltip = ep3_story_cycle_harrying.3053.b.tt
|
|
add_character_flag = hereward_settled_flag
|
|
}
|
|
show_as_tooltip = {
|
|
pay_short_term_gold = {
|
|
gold = scope:purchase_land_cost
|
|
target = scope:recipient
|
|
}
|
|
}
|
|
hidden_effect = {
|
|
scope:recipient = { add_gold = scope:purchase_land_cost }
|
|
}
|
|
}
|
|
scope:actor = {
|
|
stress_impact = {
|
|
humble = minor_stress_impact_gain
|
|
lazy = minor_stress_impact_loss
|
|
}
|
|
if = {
|
|
limit = {
|
|
scope:target.tier = tier_duchy
|
|
}
|
|
custom_tooltip = purchase_land_interaction_shortened_effect_duchy_desc
|
|
}
|
|
else = {
|
|
custom_tooltip = purchase_land_interaction_shortened_effect_county_desc
|
|
}
|
|
if = {
|
|
limit = {
|
|
scope:target.tier = tier_duchy
|
|
}
|
|
scope:target.title_capital_county = {
|
|
save_scope_as = new_primary_title
|
|
}
|
|
}
|
|
else = {
|
|
scope:target = {
|
|
save_scope_as = new_primary_title
|
|
}
|
|
}
|
|
if = {
|
|
limit = {
|
|
calc_true_if = {
|
|
amount = 3
|
|
prestige_level <= 3
|
|
OR = {
|
|
scope:new_primary_title.culture != culture
|
|
primary_spouse ?= {
|
|
culture != scope:new_primary_title.culture
|
|
}
|
|
primary_heir ?= {
|
|
culture != scope:new_primary_title.culture
|
|
}
|
|
}
|
|
scope:new_primary_title.faith != faith
|
|
}
|
|
}
|
|
custom_tooltip = ep3_ennobled_adventurer_modifier_reason_3
|
|
add_character_modifier = {
|
|
modifier = ep3_ennobled_adventurer_modifier_3
|
|
years = 30
|
|
}
|
|
custom_tooltip = ep3_ennobled_adventurer_modifier_rules
|
|
}
|
|
else_if = {
|
|
limit = {
|
|
calc_true_if = {
|
|
amount = 2
|
|
prestige_level <= 3
|
|
OR = {
|
|
scope:new_primary_title.culture != culture
|
|
primary_spouse ?= {
|
|
culture != scope:new_primary_title.culture
|
|
}
|
|
primary_heir ?= {
|
|
culture != scope:new_primary_title.culture
|
|
}
|
|
}
|
|
scope:new_primary_title.faith != faith
|
|
|
|
}
|
|
}
|
|
custom_tooltip = ep3_ennobled_adventurer_modifier_reason_2
|
|
add_character_modifier = {
|
|
modifier = ep3_ennobled_adventurer_modifier_2
|
|
years = 20
|
|
}
|
|
custom_tooltip = ep3_ennobled_adventurer_modifier_rules
|
|
}
|
|
else_if = {
|
|
limit = {
|
|
calc_true_if = {
|
|
amount = 1
|
|
prestige_level <= 3
|
|
OR = {
|
|
scope:new_primary_title.culture != culture
|
|
primary_spouse ?= {
|
|
culture != scope:new_primary_title.culture
|
|
}
|
|
primary_heir ?= {
|
|
culture != scope:new_primary_title.culture
|
|
}
|
|
}
|
|
scope:new_primary_title.faith != faith
|
|
|
|
}
|
|
}
|
|
custom_tooltip = ep3_ennobled_adventurer_modifier_reason_1
|
|
add_character_modifier = {
|
|
modifier = ep3_ennobled_adventurer_modifier_1
|
|
years = 10
|
|
}
|
|
custom_tooltip = ep3_ennobled_adventurer_modifier_rules
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
procure_estate_interaction_effect = {
|
|
if = {
|
|
limit = { scope:piety_option = yes }
|
|
if = {
|
|
limit = { faith != scope:recipient.faith }
|
|
set_character_faith = scope:recipient.faith
|
|
add_character_flag = {
|
|
flag = procure_estate_conversion
|
|
months = 1
|
|
}
|
|
}
|
|
scope:recipient = {
|
|
add_piety = {
|
|
value = procure_estate_interaction_cost_base_piety
|
|
multiply = 0.5
|
|
}
|
|
}
|
|
}
|
|
else_if = {
|
|
limit = { scope:gold_option = yes }
|
|
show_as_tooltip = {
|
|
pay_short_term_gold = {
|
|
target = scope:recipient
|
|
gold = procure_estate_interaction_cost_base_gold
|
|
}
|
|
}
|
|
hidden_effect = {
|
|
scope:recipient = { add_gold = procure_estate_interaction_cost_base_gold }
|
|
}
|
|
}
|
|
else_if = {
|
|
limit = { scope:hook = yes }
|
|
scope:recipient = {
|
|
add_hook = {
|
|
target = scope:actor
|
|
type = favor_hook
|
|
}
|
|
}
|
|
}
|
|
else = {
|
|
scope:recipient = {
|
|
add_prestige = {
|
|
value = procure_estate_interaction_cost_base_prestige
|
|
multiply = 0.25
|
|
}
|
|
}
|
|
}
|
|
scope:recipient = { change_influence = medium_influence_loss }
|
|
#Scope:actor becomes ladmin
|
|
scope:actor = {
|
|
hidden_effect = {
|
|
# Liquidate camp
|
|
laamp_clear_domicile_buildings_liquidator_effect = yes
|
|
}
|
|
if = {
|
|
limit = {
|
|
scope:actor.house ?= {
|
|
any_house_member = {
|
|
any_held_title = { is_noble_family_title = yes }
|
|
top_liege = scope:recipient.top_liege
|
|
}
|
|
}
|
|
}
|
|
found_cadet_house_decision_effect = {
|
|
CHARACTER = scope:actor
|
|
PRESTIGE = major_prestige_gain
|
|
}
|
|
}
|
|
# Note our courtiers so that they don't escape.
|
|
every_courtier = { add_to_list = courtiers_list }
|
|
# Change liege
|
|
destroy_laamp_effect = { ADVENTURER = scope:actor }
|
|
hidden_effect = {
|
|
scope:recipient.top_liege = {
|
|
add_courtier = scope:actor
|
|
return_to_court = yes
|
|
}
|
|
}
|
|
create_noble_family_effect = { GOVERNMENT_GIVER = scope:recipient }
|
|
hidden_effect = {
|
|
# Return any escaped courtiers.
|
|
every_in_list = {
|
|
list = courtiers_list
|
|
limit = {
|
|
NOT = { liege_or_court_owner = scope:actor }
|
|
}
|
|
scope:actor = { add_courtier = prev }
|
|
}
|
|
# And boot any new autogenned arrivals.
|
|
every_courtier = {
|
|
limit = {
|
|
is_lowborn = yes
|
|
NOR = {
|
|
is_in_list = courtiers_list
|
|
is_close_or_extended_family_of = scope:actor
|
|
is_consort_of = scope:actor
|
|
has_important_relationship_trigger = { CHARACTER = scope:actor }
|
|
}
|
|
}
|
|
silent_disappearance_effect = yes
|
|
}
|
|
}
|
|
create_title_and_vassal_change = {
|
|
type = swear_fealty
|
|
add_claim_on_loss = no
|
|
save_scope_as = title_change
|
|
}
|
|
change_liege = {
|
|
liege = scope:recipient.top_liege
|
|
change = scope:title_change
|
|
}
|
|
resolve_title_and_vassal_change = scope:title_change
|
|
hidden_effect = {
|
|
domicile ?= {
|
|
if = {
|
|
limit = {
|
|
NOT = { domicile_location = scope:recipient.capital_province }
|
|
}
|
|
move_domicile = scope:recipient.capital_province
|
|
}
|
|
}
|
|
}
|
|
add_character_modifier = {
|
|
modifier = ep3_administrative_outsider_modifier
|
|
years = 15
|
|
}
|
|
}
|
|
scope:recipient.top_liege = {
|
|
if = {
|
|
limit = {
|
|
is_ai = no
|
|
}
|
|
send_interface_message = {
|
|
type = msg_landless_adventurer_nearby
|
|
title = procure_estate_message_title
|
|
left_icon = scope:actor
|
|
right_icon = scope:recipient
|
|
custom_tooltip = procure_estate_message_tt
|
|
}
|
|
}
|
|
every_vassal_or_below = {
|
|
limit = {
|
|
is_ai = no
|
|
NOT = { this = scope:actor }
|
|
}
|
|
send_interface_message = {
|
|
type = msg_landless_adventurer_nearby
|
|
title = procure_estate_message_title
|
|
left_icon = scope:actor
|
|
right_icon = scope:recipient
|
|
custom_tooltip = procure_estate_message_tt
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
negotiate_settlement_interaction_effect = {
|
|
# scope:actor = offerer
|
|
# scope:recipient = adventurer
|
|
# offered_titles = titles
|
|
|
|
hidden_effect = {
|
|
scope:recipient = {
|
|
if = {
|
|
limit = {
|
|
NOT = { has_trait = adventurer }
|
|
}
|
|
add_trait = adventurer
|
|
}
|
|
every_courtier = {
|
|
set_variable = {
|
|
name = former_camp_leader
|
|
value = scope:recipient
|
|
}
|
|
add_trait = adventurer_follower
|
|
}
|
|
}
|
|
}
|
|
|
|
# Determine hierarchy
|
|
ep3_become_landed_save_liege_effect = {
|
|
TITLE_GIVER = scope:actor
|
|
ALWAYS_INDEPENDENT = no
|
|
TITLE_LIST = offered_titles
|
|
}
|
|
# Negotiate settlement specific
|
|
scope:recipient = {
|
|
# End relevant wars
|
|
every_character_war = {
|
|
limit = {
|
|
OR = {
|
|
primary_attacker = scope:recipient
|
|
primary_defender = scope:recipient
|
|
}
|
|
}
|
|
end_war = white_peace
|
|
}
|
|
# Remove from relevant wars
|
|
every_character_war = {
|
|
limit = {
|
|
NOR = {
|
|
primary_attacker = scope:recipient
|
|
primary_defender = scope:recipient
|
|
}
|
|
any_war_defender = {
|
|
OR = {
|
|
this = scope:actor
|
|
this.top_liege = scope:actor.top_liege
|
|
}
|
|
}
|
|
}
|
|
remove_participant = scope:recipient
|
|
}
|
|
}
|
|
# Resolve title, liege, government changes
|
|
ep3_become_landed_transfer_effect = {
|
|
TITLE_RECEIVER = scope:recipient
|
|
TITLE_LIST = offered_titles
|
|
TYPE = granted
|
|
REASON = flag:negotiated
|
|
ENNOBLED_ADVENTURER = flag:yes
|
|
}
|
|
# Effects on land giver
|
|
scope:actor = {
|
|
add_legitimacy = scope:negotiate_settlement_legitimacy_cost
|
|
stress_impact = {
|
|
greedy = minor_stress_impact_gain
|
|
vengeful = minor_stress_impact_gain
|
|
}
|
|
}
|
|
# Messages for nearby players
|
|
create_landed_ruler_message_effect = {
|
|
LANDED = scope:recipient
|
|
FLAVOR_CHAR = scope:actor
|
|
FLAVOR_TITLE = scope:new_primary_title
|
|
REASON = flag:negotiated
|
|
}
|
|
# And, just in case it's failed, make sure that we've vassalised our new friend.
|
|
hidden_effect = {
|
|
if = {
|
|
limit = {
|
|
scope:recipient = {
|
|
highest_held_title_tier < scope:actor.highest_held_title_tier
|
|
top_liege = this
|
|
}
|
|
}
|
|
create_title_and_vassal_change = {
|
|
type = swear_fealty
|
|
save_scope_as = change
|
|
}
|
|
scope:recipient = {
|
|
change_liege = {
|
|
liege = scope:actor
|
|
change = scope:change
|
|
}
|
|
}
|
|
resolve_title_and_vassal_change = scope:change
|
|
}
|
|
}
|
|
}
|
|
|
|
create_landed_ruler_message_effect = {
|
|
hidden_effect = {
|
|
$LANDED$ = { save_scope_as = landed }
|
|
$FLAVOR_CHAR$ = { save_scope_as = landed_flavor_char }
|
|
$FLAVOR_TITLE$ = { save_scope_as = landed_flavor_title }
|
|
save_scope_value_as = {
|
|
name = landed_creation_reason
|
|
value = $REASON$
|
|
}
|
|
every_player = {
|
|
limit = {
|
|
NOR = {
|
|
this = scope:landed
|
|
this = scope:landed_flavor_char
|
|
}
|
|
top_liege = scope:landed.top_liege
|
|
}
|
|
send_interface_message = {
|
|
type = msg_landless_adventurer_nearby
|
|
title = nearby_landed_ruler_created_message_title
|
|
left_icon = scope:landed
|
|
right_icon = scope:landed_flavor_char
|
|
switch = {
|
|
trigger = scope:landed_creation_reason
|
|
flag:purchased = { custom_tooltip = nearby_landed_ruler_created_message_purchased_tt }
|
|
flag:negotiated = { custom_tooltip = nearby_landed_ruler_created_message_negotiated_tt }
|
|
flag:seized_pastureland = { custom_tooltip = nearby_landed_ruler_created_message_seized_pastureland_tt }
|
|
flag:conquest_supporter = { custom_tooltip = nearby_landed_ruler_created_message_conquest_support_tt }
|
|
flag:conquest = { custom_tooltip = nearby_landed_ruler_created_message_conquest_tt }
|
|
flag:seize_realm = { custom_tooltip = nearby_landed_ruler_created_message_seize_realm_tt }
|
|
flag:culture_champion = { custom_tooltip = nearby_landed_ruler_created_message_culture_champion_tt }
|
|
fallback = { custom_tooltip = nearby_landed_ruler_created_message_fallback_tt }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
conquest_supporter_memory_variable_effect = {
|
|
set_variable = {
|
|
name = ascended_throne_reason
|
|
value = flag:conquest_supporter
|
|
weeks = 1
|
|
}
|
|
set_variable = {
|
|
name = ascended_throne_extra
|
|
value = scope:supporter
|
|
weeks = 1
|
|
}
|
|
}
|
|
|
|
ep3_laamp_supporter_invalidated_effect = {
|
|
if = {
|
|
limit = { exists = var:adventurer_invasion_supporter }
|
|
save_scope_as = adventurer
|
|
var:adventurer_invasion_supporter ?= { save_scope_as = supporter }
|
|
var:adventurer_invasion_target ?= { save_scope_as = war_target }
|
|
}
|
|
else_if = {
|
|
limit = { exists = var:adventurer_invasion_supportee }
|
|
var:adventurer_invasion_supportee ?= { save_scope_as = adventurer }
|
|
var:adventurer_invasion_target ?= { save_scope_as = target }
|
|
save_scope_as = supporter
|
|
}
|
|
if = {
|
|
limit = {
|
|
exists = scope:adventurer
|
|
exists = scope:supporter
|
|
exists = scope:war_target
|
|
}
|
|
scope:adventurer ?= {
|
|
send_interface_message = {
|
|
type = event_landless_adventurer_neutral
|
|
title = ep3_laamp_sponsor_invalidated_title
|
|
left_icon = scope:supporter
|
|
right_icon = scope:war_target
|
|
remove_variable = adventurer_invasion_supporter
|
|
remove_variable = adventurer_invasion_target
|
|
custom_tooltip = ep3_laamp_sponsor_invalidated_adventurer
|
|
}
|
|
}
|
|
scope:supporter ?= {
|
|
send_interface_message = {
|
|
type = event_landless_adventurer_neutral
|
|
title = ep3_laamp_sponsor_invalidated_title
|
|
left_icon = scope:attacker
|
|
right_icon = scope:war_target
|
|
remove_variable = adventurer_invasion_supportee
|
|
remove_variable = adventurer_invasion_target
|
|
custom_tooltip = ep3_laamp_sponsor_invalidated_supporter
|
|
if = {
|
|
limit = { exists = var:adventurer_invasion_join_war }
|
|
set_variable = {
|
|
name = adventurer_invasion_join_war
|
|
value = scope:actor
|
|
years = 5
|
|
}
|
|
}
|
|
if = {
|
|
limit = { exists = var:adventurer_invasion_request_soldiers }
|
|
set_variable = {
|
|
name = adventurer_invasion_request_soldiers
|
|
value = scope:actor
|
|
years = 5
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
ep3_laamp_support_variable_cleanup_effect = {
|
|
if = {
|
|
limit = { exists = var:adventurer_invasion_supporter }
|
|
save_scope_as = adventurer
|
|
var:adventurer_invasion_supporter ?= { save_scope_as = supporter }
|
|
var:adventurer_invasion_target ?= { save_scope_as = war_target }
|
|
}
|
|
else_if = {
|
|
limit = { exists = var:adventurer_invasion_supportee }
|
|
var:adventurer_invasion_supportee ?= { save_scope_as = adventurer }
|
|
var:adventurer_invasion_target ?= { save_scope_as = war_target }
|
|
save_scope_as = supporter
|
|
}
|
|
scope:adventurer ?= {
|
|
remove_variable = adventurer_invasion_supporter
|
|
remove_variable = adventurer_invasion_target
|
|
}
|
|
scope:supporter ?= {
|
|
remove_variable = adventurer_invasion_supportee
|
|
remove_variable = adventurer_invasion_target
|
|
}
|
|
}
|
|
|
|
seize_realm_scheme_success_effect = {
|
|
# scope:target = ruler
|
|
# scope:owner = adventurer
|
|
|
|
hidden_effect = {
|
|
scope:owner = {
|
|
if = {
|
|
limit = {
|
|
NOT = { has_trait = adventurer }
|
|
}
|
|
add_trait = adventurer
|
|
}
|
|
every_courtier = {
|
|
set_variable = {
|
|
name = former_camp_leader
|
|
value = scope:owner
|
|
}
|
|
add_trait = adventurer_follower
|
|
}
|
|
}
|
|
}
|
|
|
|
scope:target = {
|
|
save_scope_as = background_dungeon_scope
|
|
save_scope_as = background_courtyard_scope
|
|
save_scope_as = background_throne_room_scope
|
|
every_held_title = {
|
|
limit = {
|
|
is_leased_out = no
|
|
is_landless_type_title = no
|
|
is_head_of_faith = no
|
|
}
|
|
add_to_list = seized_titles
|
|
}
|
|
ordered_in_list = {
|
|
list = seized_titles
|
|
order_by = tier
|
|
save_scope_as = realm_title
|
|
}
|
|
}
|
|
# Determine independent vassals
|
|
adventurer_realm_destabilisation_list_effect = {
|
|
TITLE_GIVER = scope:target
|
|
TITLE_RECEIVER = scope:owner
|
|
TITLE = scope:target.primary_title
|
|
}
|
|
# Determine hierarchy
|
|
ep3_become_landed_save_liege_effect = {
|
|
TITLE_GIVER = scope:target
|
|
ALWAYS_INDEPENDENT = no
|
|
TITLE_LIST = seized_titles
|
|
}
|
|
# Resolve title, liege, government changes
|
|
ep3_become_landed_transfer_effect = {
|
|
TITLE_RECEIVER = scope:owner
|
|
TITLE_LIST = seized_titles
|
|
TYPE = usurped
|
|
REASON = flag:seize_realm
|
|
ENNOBLED_ADVENTURER = flag:yes
|
|
}
|
|
# Old ruler's fate
|
|
if = {
|
|
limit = { exists = scope:death }
|
|
scope:target = {
|
|
death = { death_reason = death_fight }
|
|
}
|
|
}
|
|
else_if = {
|
|
limit = { exists = scope:imprison }
|
|
scope:target = { add_character_flag = was_abducted_block_notification_event }
|
|
rightfully_imprison_character_less_verbose_effect = {
|
|
TARGET = scope:target
|
|
IMPRISONER = scope:owner
|
|
}
|
|
}
|
|
add_clan_unity_interaction_effect = {
|
|
CHARACTER = scope:owner
|
|
TARGET = scope:target
|
|
VALUE = medium_unity_loss
|
|
DESC = clan_unity_seize_realm_attempted.desc
|
|
REVERSE_NON_HOUSE_TARGET = no
|
|
}
|
|
successful_seize_realm_opinion_effect = {
|
|
VICTIM = scope:target
|
|
PLOTTER = scope:owner
|
|
}
|
|
# Vassals break away
|
|
adventurer_realm_destabilisation_transfer_effect = {
|
|
TITLE_RECEIVER = scope:owner
|
|
TITLE_GIVER = scope:target
|
|
TITLE = scope:realm_title
|
|
TITLE_LIST = seized_titles
|
|
}
|
|
# Messages for nearby players
|
|
create_landed_ruler_message_effect = {
|
|
LANDED = scope:owner
|
|
FLAVOR_CHAR = scope:target
|
|
FLAVOR_TITLE = scope:realm_title
|
|
REASON = flag:seize_realm
|
|
}
|
|
scope:owner = {
|
|
create_character_memory = {
|
|
type = seized_realm_memory
|
|
participants = { deposed = scope:target }
|
|
}
|
|
ordered_memory = {
|
|
memory_type = seized_realm_memory
|
|
order_by = memory_creation_date
|
|
if = {
|
|
limit = {
|
|
NOT = { exists = var:realm }
|
|
}
|
|
set_variable = {
|
|
name = realm
|
|
value = scope:realm_title
|
|
}
|
|
}
|
|
}
|
|
}
|
|
scope:target = {
|
|
create_character_memory = {
|
|
type = realm_seized_memory
|
|
participants = { deposer = scope:owner }
|
|
}
|
|
ordered_memory = {
|
|
memory_type = realm_seized_memory
|
|
order_by = memory_creation_date
|
|
if = {
|
|
limit = {
|
|
NOT = { exists = var:realm }
|
|
}
|
|
set_variable = {
|
|
name = realm
|
|
value = scope:realm_title
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
seize_realm_scheme_failure_effect = {
|
|
scope:scheme = { end_scheme = yes }
|
|
#Add Watchful Modifier to the target
|
|
scope:target = {
|
|
save_scope_as = background_dungeon_scope
|
|
save_scope_as = background_courtyard_scope
|
|
save_scope_as = background_throne_room_scope
|
|
ordered_held_title = {
|
|
limit = {
|
|
is_leased_out = no
|
|
is_landless_type_title = no
|
|
is_head_of_faith = no
|
|
}
|
|
order_by = tier
|
|
save_scope_as = realm_title
|
|
}
|
|
show_as_tooltip = {
|
|
add_character_modifier = {
|
|
modifier = watchful_modifier
|
|
days = watchful_modifier_duration
|
|
}
|
|
}
|
|
}
|
|
# Old ruler's fate
|
|
if = {
|
|
limit = { exists = scope:death }
|
|
scope:owner = {
|
|
death = { death_reason = death_fight }
|
|
}
|
|
}
|
|
else = {
|
|
scope:owner = {
|
|
create_character_memory = {
|
|
type = seized_realm_failed_memory
|
|
participants = { deposed = scope:target }
|
|
}
|
|
ordered_memory = {
|
|
memory_type = seized_realm_failed_memory
|
|
order_by = memory_creation_date
|
|
if = {
|
|
limit = {
|
|
NOT = { exists = var:realm }
|
|
}
|
|
set_variable = {
|
|
name = realm
|
|
value = scope:realm_title
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if = {
|
|
limit = { exists = scope:imprison }
|
|
scope:owner = { add_character_flag = was_abducted_block_notification_event }
|
|
rightfully_imprison_character_less_verbose_effect = {
|
|
TARGET = scope:owner
|
|
IMPRISONER = scope:target
|
|
}
|
|
hidden_effect = { change_prison_type = dungeon }
|
|
}
|
|
}
|
|
attempted_seize_realm_opinion_effect = {
|
|
VICTIM = scope:target
|
|
PLOTTER = scope:owner
|
|
}
|
|
# If we're a clan this affects unity
|
|
add_clan_unity_interaction_effect = {
|
|
CHARACTER = scope:owner
|
|
TARGET = scope:target
|
|
VALUE = medium_unity_loss
|
|
DESC = clan_unity_seize_realm_attempted.desc
|
|
REVERSE_NON_HOUSE_TARGET = no
|
|
}
|
|
scope:target = {
|
|
create_character_memory = {
|
|
type = realm_seized_failed_memory
|
|
participants = { deposer = scope:owner }
|
|
}
|
|
ordered_memory = {
|
|
memory_type = realm_seized_failed_memory
|
|
order_by = memory_creation_date
|
|
if = {
|
|
limit = {
|
|
NOT = { exists = var:realm }
|
|
}
|
|
set_variable = {
|
|
name = realm
|
|
value = scope:realm_title
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
successful_seize_realm_opinion_effect = {
|
|
$VICTIM$ = {
|
|
if = {
|
|
limit = { is_alive = yes }
|
|
add_opinion = {
|
|
target = $PLOTTER$
|
|
modifier = seized_my_realm_crime
|
|
}
|
|
set_relation_rival = {
|
|
target = scope:owner
|
|
reason = rival_seized_realm_reason
|
|
}
|
|
}
|
|
every_spouse = {
|
|
limit = {
|
|
NOR = {
|
|
this = $PLOTTER$
|
|
is_spouse_of = $PLOTTER$
|
|
is_close_family_of = $PLOTTER$
|
|
}
|
|
}
|
|
add_to_temporary_list = close_family_seize_realm_opinion_list
|
|
}
|
|
every_close_family_member = {
|
|
limit = {
|
|
NOR = {
|
|
this = $PLOTTER$
|
|
is_spouse_of = $PLOTTER$
|
|
is_close_family_of = $PLOTTER$
|
|
}
|
|
}
|
|
add_to_temporary_list = close_family_seize_realm_opinion_list
|
|
}
|
|
every_in_list = {
|
|
list = close_family_seize_realm_opinion_list
|
|
custom = all_close_family_and_spouses
|
|
add_opinion = {
|
|
target = $PLOTTER$
|
|
modifier = seized_close_family_realm_crime
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
attempted_seize_realm_opinion_effect = {
|
|
$VICTIM$ = {
|
|
if = {
|
|
limit = { is_alive = yes }
|
|
add_opinion = {
|
|
target = $PLOTTER$
|
|
modifier = attempted_to_seize_my_realm_crime
|
|
}
|
|
}
|
|
every_spouse = {
|
|
limit = { NOT = { this = $PLOTTER$ } }
|
|
add_to_temporary_list = close_family_seize_realm_opinion_list
|
|
}
|
|
every_close_family_member = {
|
|
limit = { NOT = { this = $PLOTTER$ } }
|
|
add_to_temporary_list = close_family_seize_realm_opinion_list
|
|
}
|
|
|
|
if = {
|
|
limit = {
|
|
any_in_list = { list = close_family_seize_realm_opinion_list }
|
|
}
|
|
every_in_list = {
|
|
list = close_family_seize_realm_opinion_list
|
|
custom = all_close_family_and_spouses
|
|
add_opinion = {
|
|
target = $PLOTTER$
|
|
modifier = attempted_to_seize_realm_close_family_crime
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
adventurer_realm_destabilisation_list_effect = {
|
|
$TITLE_RECEIVER$ = { save_scope_as = adventurer }
|
|
$TITLE$ = { save_scope_as = title }
|
|
$TITLE_GIVER$ = {
|
|
save_scope_as = ruler
|
|
# Determine vassal sentiment - calculated before ruler change
|
|
hidden_effect = {
|
|
every_vassal = {
|
|
limit = {
|
|
highest_held_title_tier >= tier_county
|
|
save_temporary_scope_as = vassal_temp
|
|
# Only vassals who will not *still* be de jure vassals of the title loser via other titles
|
|
trigger_if = {
|
|
limit = {
|
|
$TITLE_GIVER$ = {
|
|
any_held_title = {
|
|
tier >= scope:title.tier
|
|
this != scope:title
|
|
}
|
|
}
|
|
}
|
|
any_held_title = {
|
|
target_is_de_jure_liege_or_above = scope:title
|
|
}
|
|
}
|
|
trigger_if = {
|
|
limit = {
|
|
government_allows = administrative
|
|
}
|
|
scope:title = {
|
|
OR = {
|
|
AND = {
|
|
scope:ruler.primary_title.tier = tier_kingdom
|
|
tier < tier_kingdom
|
|
}
|
|
tier < tier_empire
|
|
}
|
|
}
|
|
}
|
|
}
|
|
# Calculate how likely are they to not become your vassal
|
|
random = {
|
|
chance = 0
|
|
### FAITH/CULTURE
|
|
modifier = { # Cultural acceptance differences
|
|
add = {
|
|
value = "culture.cultural_acceptance(scope:adventurer.culture)"
|
|
subtract = 100
|
|
abs = yes
|
|
divide = 5
|
|
}
|
|
culture = {
|
|
this != scope:adventurer.culture
|
|
cultural_acceptance = {
|
|
target = scope:adventurer.culture
|
|
value < 50
|
|
}
|
|
OR = {
|
|
this = scope:ruler.culture
|
|
"cultural_acceptance(scope:ruler.culture)" > "cultural_acceptance(scope:adventurer.culture)"
|
|
}
|
|
}
|
|
}
|
|
modifier = { # Zealous of other faiths more likely
|
|
add = {
|
|
value = ai_zeal
|
|
multiply = 0.15
|
|
multiply = "scope:vassal_temp.faith.faith_hostility_level(scope:adventurer.faith)"
|
|
max = 25
|
|
}
|
|
ai_zeal > low_positive_zeal
|
|
faith = {
|
|
this != scope:adventurer.faith
|
|
"faith_hostility_level(scope:adventurer.faith)" > 0
|
|
}
|
|
}
|
|
modifier = { # Theocatic Vassals of different faith more likely
|
|
factor = 2
|
|
has_government = theocracy_government
|
|
faith != scope:adventurer.faith
|
|
}
|
|
### DISTANCE
|
|
modifier = { # Distant vassals more likely
|
|
add = {
|
|
value = 0
|
|
add = scope:distance
|
|
if = {
|
|
limit = { scope:distance >= squared_distance_medium }
|
|
add = scope:distance
|
|
multiply = 0.0001
|
|
}
|
|
max = 25
|
|
}
|
|
"capital_county.squared_distance(scope:ruler.capital_county)" >= squared_distance_medium
|
|
capital_county = {
|
|
save_temporary_scope_value_as = {
|
|
name = distance
|
|
value = "squared_distance(scope:ruler.capital_county)"
|
|
}
|
|
}
|
|
}
|
|
### PERSONALITY
|
|
ai_value_modifier = {
|
|
ai_boldness = 0.15
|
|
ai_energy = 0.15
|
|
ai_greed = 0.15
|
|
ai_honor = -0.15
|
|
}
|
|
### OPINION
|
|
opinion_modifier = { # More likely if dislikes adventurer
|
|
opinion_target = scope:adventurer
|
|
multiplier = -0.25
|
|
}
|
|
opinion_modifier = { # More likely if liked old ruler
|
|
opinion_target = scope:ruler
|
|
multiplier = 0.1
|
|
}
|
|
### STRENGTH
|
|
modifier = { # Small vassals less likely
|
|
add = -15
|
|
tier_difference = {
|
|
target = scope:ruler
|
|
value <= -2
|
|
}
|
|
}
|
|
modifier = {
|
|
add = -25
|
|
realm_size < tiny_realm_size
|
|
}
|
|
modifier = { # Powerful vassals more likely
|
|
factor = 1.25
|
|
is_powerful_vassal = yes
|
|
}
|
|
modifier = { # Powerful vassals more likely
|
|
add = {
|
|
value = highest_held_title_tier
|
|
multiply = 5
|
|
}
|
|
}
|
|
### RELEVANCE
|
|
modifier = { # Fringe vassals more likely
|
|
factor = 1.25
|
|
any_sub_realm_county = {
|
|
any_neighboring_county = { holder.top_liege != scope:ruler }
|
|
}
|
|
}
|
|
modifier = { # Core vassals less likely
|
|
factor = 0.75
|
|
scope:ruler.capital_county.kingdom = {
|
|
any_de_jure_county = { this = scope:vassal_temp.capital_county }
|
|
}
|
|
}
|
|
### FAMILY
|
|
modifier = { # Relatives of deposed more likely
|
|
factor = 1.1
|
|
is_close_family_of = scope:ruler
|
|
NOT = { is_close_family_of = scope:adventurer }
|
|
}
|
|
modifier = { # Dynasts of deposed more likely
|
|
factor = 1.1
|
|
dynasty ?= {
|
|
this = scope:ruler.dynasty
|
|
this != scope:adventurer.dynasty
|
|
}
|
|
}
|
|
modifier = { # Relatives of adventurer less likely
|
|
factor = 0.75
|
|
is_close_family_of = scope:adventurer
|
|
NOT = { is_close_family_of = scope:ruler }
|
|
}
|
|
modifier = { # Dynasts of adventurer less likely
|
|
factor = 0.75
|
|
dynasty ?= {
|
|
this = scope:adventurer.dynasty
|
|
this != scope:ruler.dynasty
|
|
}
|
|
}
|
|
### HOOKS
|
|
modifier = {
|
|
factor = 0
|
|
scope:adventurer = { has_hook = scope:vassal_temp }
|
|
}
|
|
modifier = {
|
|
factor = 2
|
|
scope:ruler = { has_hook = scope:vassal_temp }
|
|
}
|
|
### TIER
|
|
modifier = {
|
|
factor = 1.5
|
|
scope:ruler.primary_title.tier = tier_empire
|
|
}
|
|
modifier = {
|
|
factor = 1.25
|
|
scope:ruler.primary_title.tier = tier_kingdom
|
|
}
|
|
max = 95
|
|
add_to_list = independent_vassals
|
|
}
|
|
}
|
|
# Save heirs for claimant wars
|
|
scope:title = {
|
|
every_title_heir = {
|
|
limit = {
|
|
save_temporary_scope_as = heir_temp
|
|
scope:title = {
|
|
place_in_line_of_succession = {
|
|
target = scope:heir_temp
|
|
value <= 5
|
|
}
|
|
}
|
|
}
|
|
add_to_list = heirs
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
adventurer_realm_destabilisation_civil_war_effect = {
|
|
$TITLE_GIVER$ = { save_scope_as = ruler }
|
|
$TITLE_RECEIVER$ = { save_scope_as = adventurer }
|
|
$TITLE$ = { save_scope_as = title }
|
|
if = {
|
|
limit = {
|
|
any_in_list = { list = independent_vassals }
|
|
}
|
|
scope:ruler = {
|
|
if = {
|
|
limit = { is_alive = yes }
|
|
save_scope_as = claimant
|
|
}
|
|
else_if = {
|
|
limit = {
|
|
any_in_list = { list = heirs }
|
|
}
|
|
random_in_list = {
|
|
list = heirs
|
|
limit = { has_strong_claim_on = scope:realm }
|
|
alternative_limit = { has_weak_claim_on = scope:realm }
|
|
weight = {
|
|
base = 1
|
|
modifier = { add = age }
|
|
}
|
|
save_scope_as = claimant
|
|
}
|
|
}
|
|
else_if = {
|
|
limit = {
|
|
scope:title = {
|
|
any_claimant = {
|
|
this != scope:adventurer
|
|
}
|
|
}
|
|
}
|
|
scope:title = {
|
|
random_claimant = {
|
|
limit = { has_strong_claim_on = scope:realm }
|
|
alternative_limit = { has_weak_claim_on = scope:realm }
|
|
weight = {
|
|
base = 1
|
|
modifier = { add = age }
|
|
}
|
|
save_scope_as = claimant
|
|
}
|
|
}
|
|
}
|
|
else = {
|
|
ordered_in_list = {
|
|
list = independent_vassals
|
|
order_by = max_military_strength
|
|
save_scope_as = claimant
|
|
}
|
|
}
|
|
}
|
|
# Vassals Breakaway
|
|
ordered_in_list = {
|
|
list = independent_vassals
|
|
limit = {
|
|
can_create_faction = {
|
|
type = claimant_faction
|
|
target = scope:adventurer
|
|
}
|
|
}
|
|
order_by = max_military_strength
|
|
save_scope_as = revolt_leader
|
|
create_faction = {
|
|
type = claimant_faction
|
|
target = scope:adventurer
|
|
}
|
|
joined_faction = {
|
|
save_scope_as = faction
|
|
set_special_character = scope:claimant
|
|
set_special_title = scope:realm
|
|
}
|
|
}
|
|
every_in_list = {
|
|
list = independent_vassals
|
|
limit = {
|
|
this != scope:revolt_leader
|
|
can_join_faction = scope:faction
|
|
}
|
|
join_faction = scope:faction
|
|
}
|
|
scope:faction = {
|
|
faction_start_war = { title = scope:realm }
|
|
}
|
|
}
|
|
}
|
|
|
|
adventurer_realm_destabilisation_transfer_effect = {
|
|
$TITLE_RECEIVER$ = { save_scope_as = adventurer }
|
|
$TITLE_GIVER$ = { save_scope_as = ruler }
|
|
$TITLE$ = { save_scope_as = title }
|
|
if = {
|
|
limit = {
|
|
any_in_list = { list = independent_vassals }
|
|
}
|
|
# Vassals Breakaway
|
|
create_title_and_vassal_change = {
|
|
type = independency
|
|
add_claim_on_loss = yes
|
|
save_scope_as = change
|
|
}
|
|
hidden_effect = {
|
|
every_in_list = {
|
|
list = independent_vassals
|
|
save_temporary_scope_as = vassal_temp
|
|
if = {
|
|
limit = {
|
|
scope:adventurer = { top_liege = this }
|
|
scope:ruler = {
|
|
NOT = {
|
|
any_held_title = {
|
|
this != scope:title
|
|
any_in_de_jure_hierarchy = { this = scope:vassal_temp.primary_title }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
becomes_independent = { change = scope:change }
|
|
}
|
|
else_if = {
|
|
limit = {
|
|
scope:ruler = {
|
|
NOT = {
|
|
any_held_title = {
|
|
this != scope:title
|
|
any_in_de_jure_hierarchy = { this = scope:vassal_temp.primary_title }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
change_liege = {
|
|
liege = scope:adventurer.liege
|
|
change = scope:change
|
|
}
|
|
}
|
|
add_opinion = {
|
|
modifier = seized_lieges_realm_crime
|
|
target = scope:adventurer
|
|
}
|
|
}
|
|
}
|
|
resolve_title_and_vassal_change = scope:change
|
|
}
|
|
create_title_and_vassal_change = {
|
|
type = conquest
|
|
add_claim_on_loss = yes
|
|
save_scope_as = change
|
|
}
|
|
hidden_effect = {
|
|
every_in_list = {
|
|
list = $TITLE_LIST$
|
|
limit = { tier >= tier_county }
|
|
custom_tooltip = CONQUEST_CB_TITLE
|
|
every_in_de_jure_hierarchy = {
|
|
continue = { tier >= tier_duchy }
|
|
limit = {
|
|
tier >= tier_county
|
|
holder ?= {
|
|
OR = {
|
|
this = scope:ruler
|
|
target_is_liege_or_above = scope:ruler
|
|
}
|
|
}
|
|
}
|
|
save_temporary_scope_as = title_temp
|
|
if = {
|
|
limit = {
|
|
holder != scope:adventurer
|
|
OR = {
|
|
holder = scope:ruler
|
|
holder.highest_held_title_tier >= scope:title.tier
|
|
scope:adventurer = { has_claim_on = scope:title_temp }
|
|
}
|
|
}
|
|
add_to_temporary_list = titles_taken
|
|
}
|
|
else = {
|
|
holder = {
|
|
if = {
|
|
limit = {
|
|
liege = scope:ruler
|
|
NOT = { is_in_list = independent_vassals }
|
|
}
|
|
add_to_temporary_list = vassals_taken
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
hidden_effect = {
|
|
every_in_list = {
|
|
list = vassals_taken
|
|
change_liege = {
|
|
liege = scope:adventurer
|
|
change = scope:change
|
|
}
|
|
}
|
|
}
|
|
resolve_title_and_vassal_change = scope:change
|
|
}
|
|
|
|
player_adventurer_contract_generation_on_domicile_moved_effect = {
|
|
if = {
|
|
limit = { player_adventurer_sufficient_distance_for_contract_spawn_trigger = yes }
|
|
save_temporary_scope_as = char_temp
|
|
if = { # Explorers
|
|
limit = { has_realm_law = camp_purpose_explorers }
|
|
populate_task_contracts_for_area = {
|
|
location = scope:char_temp.location
|
|
amount = 1
|
|
group = { laamp_contracts_transport_group }
|
|
}
|
|
}
|
|
else_if = { # Mercenaries
|
|
limit = { has_realm_law = camp_purpose_mercenaries }
|
|
populate_task_contracts_for_area = {
|
|
location = scope:char_temp.location
|
|
amount = 1
|
|
group = { laamp_contracts_war_group }
|
|
}
|
|
ordered_independent_ruler = {
|
|
limit = {
|
|
in_diplomatic_range = scope:char_temp
|
|
scope:char_temp = {
|
|
can_create_task_contract = {
|
|
type_name = laamp_join_war_contract
|
|
employer = prev
|
|
}
|
|
}
|
|
}
|
|
order_by = {
|
|
value = 0
|
|
subtract = "capital_county.squared_distance(scope:char_temp.domicile.domicile_location)"
|
|
}
|
|
ordered_character_war = {
|
|
limit = {
|
|
ep3_adventurer_mercenary_war_trigger = {
|
|
EMPLOYER = prev
|
|
LAAMP = scope:char_temp
|
|
}
|
|
}
|
|
order_by = war_total_participants_current_strength_value
|
|
primary_defender ?= { save_scope_as = defender }
|
|
primary_attacker ?= { save_scope_as = attacker }
|
|
save_scope_as = war
|
|
scope:char_temp = {
|
|
spawn_join_war_contracts_effect = {
|
|
WAR = scope:war
|
|
LAAMP = scope:char_temp
|
|
ATTACKER = scope:attacker
|
|
DEFENDER = scope:defender
|
|
}
|
|
}
|
|
}
|
|
}
|
|
debug_log = "WAR_1"
|
|
debug_log_scopes = yes
|
|
}
|
|
populate_location_with_contracts_effect = {
|
|
AREA_CHAR = scope:char_temp
|
|
AMOUNT = 3
|
|
}
|
|
# Log that we visited this place.
|
|
add_to_variable_list = {
|
|
name = laamp_recently_visited_kingdoms
|
|
target = scope:kingdom_temp
|
|
years = 5
|
|
}
|
|
}
|
|
}
|
|
|
|
player_adventurer_contract_generation_on_wait_in_place_effect = {
|
|
if = {
|
|
limit = { player_adventurer_sufficient_distance_for_contract_spawn_trigger = yes }
|
|
# Track where we are.
|
|
set_variable = {
|
|
name = contract_passive_spawn_location
|
|
value = location.kingdom
|
|
}
|
|
# Reset the tally.
|
|
set_variable = {
|
|
name = contract_passive_spawn_tally
|
|
value = 0
|
|
}
|
|
# Queue up an additional contract.
|
|
trigger_event = {
|
|
id = ep3_laamps.9981
|
|
months = { 4 6 }
|
|
}
|
|
}
|
|
}
|
|
|
|
contract_passive_spawn_effect = {
|
|
#count how many contracts you already have
|
|
every_character_task_contract = {
|
|
add_to_list = num_of_contracts_before
|
|
}
|
|
# G'is a contract.
|
|
populate_location_with_contracts_effect = {
|
|
AREA_CHAR = root
|
|
AMOUNT = $SPAWN_CONTRACTS$
|
|
}
|
|
#count them again to see if the effect above spawned something
|
|
every_character_task_contract = {
|
|
add_to_list = num_of_contracts_after
|
|
}
|
|
set_local_variable = {
|
|
name = current_value
|
|
value = list_size:num_of_contracts_before
|
|
}
|
|
# Make sure we don't get too many of them just sitting in one place.
|
|
while = {
|
|
limit = {
|
|
local_var:current_value < list_size:num_of_contracts_after
|
|
}
|
|
increment_variable_effect = {
|
|
VAR = contract_passive_spawn_tally
|
|
VAL = 1
|
|
}
|
|
change_local_variable = {
|
|
name = current_value
|
|
add = 1
|
|
}
|
|
}
|
|
}
|
|
|
|
#spawns a valid task contract for a landless adventurer
|
|
# root = landless adventurer
|
|
# TASK_CONTRACT_TYPE = type name of a task contract you want to spawn
|
|
# SPAWN_POINT = where you want the task contract to appear on the map
|
|
laamp_spawn_valid_task_contract = {
|
|
$SPAWN_POINT$ = {
|
|
save_scope_as = spawn_location
|
|
}
|
|
random_ruler = {
|
|
limit = {
|
|
root = {
|
|
can_create_task_contract = {
|
|
type_name = $TASK_CONTRACT_TYPE$
|
|
employer = prev
|
|
}
|
|
}
|
|
}
|
|
save_scope_as = employer
|
|
}
|
|
create_task_contract = {
|
|
task_contract_type = $TASK_CONTRACT_TYPE$
|
|
task_contract_tier = scope:employer.task_contract_tier_value
|
|
location = scope:spawn_location
|
|
task_contract_employer = scope:employer
|
|
}
|
|
}
|
|
|
|
points_of_interest_tracker_effect = {
|
|
if = {
|
|
limit = {
|
|
government_has_flag = government_is_landless_adventurer
|
|
location = {
|
|
save_temporary_scope_as = province_temp
|
|
OR = {
|
|
# Building flags
|
|
has_any_point_of_interest_flag = yes
|
|
# Capitals
|
|
AND = {
|
|
province_owner.top_liege.capital_province ?= this
|
|
province_owner.top_liege ?= { highest_held_title_tier >= tier_kingdom }
|
|
}
|
|
# Grand Cities
|
|
this = province:4828 #Baghdad
|
|
this = province:2575 #Rome
|
|
this = province:496 #Constantinople
|
|
# Points of interest
|
|
this = province:747 # Halikarnassos
|
|
this = province:6053 # Alexandria
|
|
# Legend stuff
|
|
any_legend = {
|
|
legend_owner.capital_province ?= scope:province_temp
|
|
OR = {
|
|
legend_quality = illustrious
|
|
legend_quality = mythical
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if = {
|
|
limit = {
|
|
NOT = {
|
|
has_variable = poi_visited
|
|
}
|
|
}
|
|
set_variable = {
|
|
name = poi_visited
|
|
value = 1
|
|
}
|
|
}
|
|
else = {
|
|
change_variable = {
|
|
name = poi_visited
|
|
add = 1
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
zealous_missionary_conversion_effect = {
|
|
if = {
|
|
limit = {
|
|
exists = location.barony.holder
|
|
government_has_flag = government_is_landless_adventurer
|
|
has_character_flag = zealous_missionary_timer
|
|
location.county ?= { hasan_evangelize_province_trigger = yes }
|
|
}
|
|
trigger_event = ep3_laamp_decision_event.1103
|
|
}
|
|
}
|
|
|
|
war_contracts_completed_tracker_effect = {
|
|
if = {
|
|
limit = {
|
|
government_has_flag = government_is_landless_adventurer
|
|
has_variable = war_contract_tracker
|
|
}
|
|
change_variable = {
|
|
name = war_contract_tracker
|
|
add = 1
|
|
}
|
|
}
|
|
else_if = {
|
|
limit = {
|
|
government_has_flag = government_is_landless_adventurer
|
|
}
|
|
set_variable = {
|
|
name = war_contract_tracker
|
|
value = 1
|
|
}
|
|
}
|
|
}
|
|
|
|
bandit_king_maa_spawn_effect = {
|
|
|
|
save_scope_as = bandit_king
|
|
if = {
|
|
limit = {
|
|
has_character_modifier = bandit_king_modifier
|
|
}
|
|
set_variable = {
|
|
name = maa_number
|
|
value = 1
|
|
}
|
|
if = {
|
|
limit = {
|
|
scope:extra_reward ?= flag:yes
|
|
}
|
|
change_variable = {
|
|
name = maa_number
|
|
add = 2
|
|
}
|
|
}
|
|
if = {
|
|
limit = {
|
|
calc_true_if = {
|
|
amount >= 4
|
|
has_trait_xp = {
|
|
trait = gallowsbait
|
|
track = bandit
|
|
value >= 60
|
|
}
|
|
has_trait_xp = {
|
|
trait = gallowsbait
|
|
track = marauder
|
|
value >= 60
|
|
}
|
|
has_trait_xp = {
|
|
trait = gallowsbait
|
|
track = poacher
|
|
value >= 60
|
|
}
|
|
has_trait_xp = {
|
|
trait = gallowsbait
|
|
track = thief
|
|
value >= 60
|
|
}
|
|
has_trait_xp = {
|
|
trait = gallowsbait
|
|
track = trickster
|
|
value >= 60
|
|
}
|
|
}
|
|
}
|
|
change_variable = {
|
|
name = maa_number
|
|
add = 2
|
|
}
|
|
}
|
|
else_if = {
|
|
limit = {
|
|
calc_true_if = {
|
|
amount >= 2
|
|
has_trait_xp = {
|
|
trait = gallowsbait
|
|
track = bandit
|
|
value >= 60
|
|
}
|
|
has_trait_xp = {
|
|
trait = gallowsbait
|
|
track = marauder
|
|
value >= 60
|
|
}
|
|
has_trait_xp = {
|
|
trait = gallowsbait
|
|
track = poacher
|
|
value >= 60
|
|
}
|
|
has_trait_xp = {
|
|
trait = gallowsbait
|
|
track = thief
|
|
value >= 60
|
|
}
|
|
has_trait_xp = {
|
|
trait = gallowsbait
|
|
track = trickster
|
|
value >= 60
|
|
}
|
|
}
|
|
}
|
|
change_variable = {
|
|
name = maa_number
|
|
add = 1
|
|
}
|
|
}
|
|
else_if = {
|
|
limit = {
|
|
OR = {
|
|
has_trait_xp = {
|
|
trait = gallowsbait
|
|
track = bandit
|
|
value >= 60
|
|
}
|
|
has_trait_xp = {
|
|
trait = gallowsbait
|
|
track = marauder
|
|
value >= 60
|
|
}
|
|
has_trait_xp = {
|
|
trait = gallowsbait
|
|
track = poacher
|
|
value >= 60
|
|
}
|
|
has_trait_xp = {
|
|
trait = gallowsbait
|
|
track = thief
|
|
value >= 60
|
|
}
|
|
has_trait_xp = {
|
|
trait = gallowsbait
|
|
track = trickster
|
|
value >= 60
|
|
}
|
|
}
|
|
}
|
|
change_variable = {
|
|
name = maa_number
|
|
add = 1
|
|
}
|
|
}
|
|
custom_tooltip = bandit_king_maa_spawn_effect_desc #otherwise the tooltip looks crazy
|
|
hidden_effect = {
|
|
random_list = {
|
|
1 = {
|
|
spawn_army = {
|
|
men_at_arms = {
|
|
type = maa_poachers
|
|
stacks = var:maa_number
|
|
}
|
|
inheritable = no
|
|
uses_supply = yes
|
|
location = scope:bandit_king.location
|
|
name = ep3_poachers_army
|
|
}
|
|
spawn_army = {
|
|
men_at_arms = {
|
|
type = maa_thieves
|
|
stacks = var:maa_number
|
|
}
|
|
inheritable = no
|
|
uses_supply = yes
|
|
location = scope:bandit_king.location
|
|
name = ep3_bandits_army
|
|
}
|
|
}
|
|
1 = {
|
|
spawn_army = {
|
|
men_at_arms = {
|
|
type = maa_bandits
|
|
stacks = var:maa_number
|
|
}
|
|
inheritable = no
|
|
uses_supply = yes
|
|
location = scope:bandit_king.location
|
|
name = ep3_bandits_army
|
|
}
|
|
spawn_army = {
|
|
men_at_arms = {
|
|
type = maa_thieves
|
|
stacks = var:maa_number
|
|
}
|
|
inheritable = no
|
|
uses_supply = yes
|
|
location = scope:bandit_king.location
|
|
name = ep3_bandits_army
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
absolve_crusaders_of_gallowsbait_effect = {
|
|
if = {
|
|
limit = {
|
|
has_trait_xp = {
|
|
trait = gallowsbait
|
|
track = bandit
|
|
value >= 1
|
|
}
|
|
}
|
|
add_trait_xp = {
|
|
trait = gallowsbait
|
|
track = bandit
|
|
value = crusader_absolution_xp_removed_per_track_value
|
|
}
|
|
}
|
|
if = {
|
|
limit = {
|
|
has_trait_xp = {
|
|
trait = gallowsbait
|
|
track = trickster
|
|
value >= 1
|
|
}
|
|
}
|
|
add_trait_xp = {
|
|
trait = gallowsbait
|
|
track = trickster
|
|
value = crusader_absolution_xp_removed_per_track_value
|
|
}
|
|
}
|
|
if = {
|
|
limit = {
|
|
has_trait_xp = {
|
|
trait = gallowsbait
|
|
track = thief
|
|
value >= 1
|
|
}
|
|
}
|
|
add_trait_xp = {
|
|
trait = gallowsbait
|
|
track = thief
|
|
value = crusader_absolution_xp_removed_per_track_value
|
|
}
|
|
}
|
|
if = {
|
|
limit = {
|
|
has_trait_xp = {
|
|
trait = gallowsbait
|
|
track = poacher
|
|
value >= 1
|
|
}
|
|
}
|
|
add_trait_xp = {
|
|
trait = gallowsbait
|
|
track = poacher
|
|
value = crusader_absolution_xp_removed_per_track_value
|
|
}
|
|
}
|
|
if = {
|
|
limit = {
|
|
has_trait_xp = {
|
|
trait = gallowsbait
|
|
track = marauder
|
|
value >= 1
|
|
}
|
|
}
|
|
add_trait_xp = {
|
|
trait = gallowsbait
|
|
track = marauder
|
|
value = crusader_absolution_xp_removed_per_track_value
|
|
}
|
|
}
|
|
if = {
|
|
limit = {
|
|
has_trait_xp = {
|
|
trait = gallowsbait
|
|
track = bandit
|
|
value <= crusader_absolution_min_xp_to_remove_trait_value
|
|
}
|
|
has_trait_xp = {
|
|
trait = gallowsbait
|
|
track = trickster
|
|
value <= crusader_absolution_min_xp_to_remove_trait_value
|
|
}
|
|
has_trait_xp = {
|
|
trait = gallowsbait
|
|
track = thief
|
|
value <= crusader_absolution_min_xp_to_remove_trait_value
|
|
}
|
|
has_trait_xp = {
|
|
trait = gallowsbait
|
|
track = poacher
|
|
value <= crusader_absolution_min_xp_to_remove_trait_value
|
|
}
|
|
has_trait_xp = {
|
|
trait = gallowsbait
|
|
track = marauder
|
|
value <= crusader_absolution_min_xp_to_remove_trait_value
|
|
}
|
|
}
|
|
remove_trait = gallowsbait
|
|
}
|
|
}
|
|
|
|
temporarily_lock_visit_settlement_effect = {
|
|
set_variable = {
|
|
name = ep3_laamp_decision_1000_is_visiting
|
|
days = visit_settlement_lock_days
|
|
}
|
|
}
|
|
|
|
##################################################
|
|
# Admin Government
|
|
##################################################
|
|
|
|
torture_grants_influence_effect = {
|
|
if = {
|
|
limit = {
|
|
domicile ?= { has_domicile_parameter = estate_torture_grants_influence }
|
|
}
|
|
change_influence = medium_influence_gain
|
|
}
|
|
}
|
|
|
|
create_noble_family_effect = {
|
|
debug_log = create_noble_family_title
|
|
save_scope_as = new_noble_family_holder
|
|
$GOVERNMENT_GIVER$ = { save_scope_as = government_giver }
|
|
hidden_effect = { # NF can only be held by house heads
|
|
if = { # Start by checking that we are not the house head already
|
|
limit = {
|
|
exists = house.house_head
|
|
NOT = { house.house_head = scope:new_noble_family_holder }
|
|
}
|
|
if = { # If not, let's see if it would be reasonable to become house head...
|
|
limit = {
|
|
house.house_head ?= {
|
|
is_ai = yes # Don't steal house head from a player
|
|
OR = {
|
|
# Within same realm but less important
|
|
AND = {
|
|
top_liege = scope:new_noble_family_holder.top_liege
|
|
OR = {
|
|
is_ruler = no
|
|
highest_held_title_tier < scope:new_noble_family_holder.highest_held_title_tier
|
|
}
|
|
}
|
|
# Wanderer
|
|
NOT = { exists = liege }
|
|
}
|
|
}
|
|
}
|
|
house = { set_house_head = scope:new_noble_family_holder }
|
|
}
|
|
else = { # ... Otherwise, we create a cadet branch
|
|
create_cadet_branch = {}
|
|
}
|
|
}
|
|
}
|
|
scope:government_giver = {
|
|
if = {
|
|
limit = {
|
|
scope:new_noble_family_holder = {
|
|
NOT = {
|
|
any_held_title = { is_noble_family_title = yes }
|
|
}
|
|
}
|
|
}
|
|
switch = {
|
|
trigger = has_government
|
|
japan_administrative_government = { # Japan has count level NFs
|
|
scope:new_noble_family_holder = {
|
|
give_noble_family_title = {
|
|
name = noble_family_name
|
|
tier = county
|
|
article = DEFAULT_TITLE_NAME_ARTICLE
|
|
government = japan_administrative_government
|
|
save_scope_as = new_title
|
|
}
|
|
}
|
|
}
|
|
japan_feudal_government = { # Japan has count level NFs
|
|
scope:new_noble_family_holder = {
|
|
give_noble_family_title = {
|
|
name = noble_family_name
|
|
tier = county
|
|
article = DEFAULT_TITLE_NAME_ARTICLE
|
|
government = japan_feudal_government
|
|
save_scope_as = new_title
|
|
}
|
|
}
|
|
}
|
|
celestial_government = { # China has different government
|
|
scope:new_noble_family_holder = {
|
|
give_noble_family_title = {
|
|
name = noble_family_name
|
|
tier = county
|
|
article = DEFAULT_TITLE_NAME_ARTICLE
|
|
government = celestial_government
|
|
save_scope_as = new_title
|
|
}
|
|
trigger_event = {
|
|
id = tgp_china_career.0001
|
|
days = { 2 5 }
|
|
}
|
|
}
|
|
}
|
|
meritocratic_government = { # Meritocratic has different government
|
|
scope:new_noble_family_holder = {
|
|
give_noble_family_title = {
|
|
name = noble_family_name
|
|
tier = county
|
|
article = DEFAULT_TITLE_NAME_ARTICLE
|
|
government = meritocratic_government
|
|
save_scope_as = new_title
|
|
}
|
|
}
|
|
}
|
|
steppe_admin_government = { # Steppe Admin has different government
|
|
scope:new_noble_family_holder = {
|
|
give_noble_family_title = {
|
|
name = noble_family_name
|
|
tier = county
|
|
article = DEFAULT_TITLE_NAME_ARTICLE
|
|
government = steppe_admin_government
|
|
save_scope_as = new_title
|
|
}
|
|
}
|
|
}
|
|
fallback = {
|
|
scope:new_noble_family_holder = {
|
|
give_noble_family_title = {
|
|
name = noble_family_name
|
|
tier = duchy
|
|
article = DEFAULT_TITLE_NAME_ARTICLE
|
|
government = administrative_government
|
|
save_scope_as = new_title
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
scope:new_title.holder ?= {
|
|
save_scope_as = noble_family_head
|
|
scope:new_title = { set_coa = scope:noble_family_head.house }
|
|
}
|
|
custom_description = { text = create_noble_family_tt }
|
|
|
|
#Notifications
|
|
every_player = {
|
|
limit = {
|
|
top_liege = scope:new_noble_family_holder.top_liege
|
|
this != scope:new_noble_family_holder
|
|
# China has hundreds of Noble Families, it gets spammy
|
|
NOT = { government_allows = merit }
|
|
}
|
|
trigger_event = {
|
|
id = ep3_emperor_yearly.2410
|
|
days = 1
|
|
}
|
|
}
|
|
}
|
|
|
|
debug_log_scopes = yes
|
|
}
|
|
|
|
increase_governance_effect = {
|
|
# VALUE - The amount of XP added to the Governor trait/increased chance to gain the Governor trait
|
|
save_scope_value_as = {
|
|
name = governor_xp_gain
|
|
value = {
|
|
value = $VALUE$
|
|
if = {
|
|
limit = {
|
|
exists = scope:task_contract
|
|
}
|
|
multiply = governance_task_contract_tier_value
|
|
|
|
if = {
|
|
limit = {
|
|
$VALUE$ > 0
|
|
domicile ?= { has_domicile_parameter = estate_governor_trait_xp_bonus_for_contracts }
|
|
}
|
|
multiply = {
|
|
value = 1
|
|
add = estate_governance_contract_bonus_value
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
# Double-check if you have the governor trait - If not, let's make sure you get it
|
|
if = {
|
|
limit = {
|
|
NOT = { has_trait = governor }
|
|
is_governor = yes
|
|
}
|
|
add_trait = governor
|
|
}
|
|
# If you have the trait, let's increase your XP for it
|
|
else_if = {
|
|
limit = {
|
|
has_trait = governor
|
|
}
|
|
add_trait_xp = {
|
|
trait = governor
|
|
value = scope:governor_xp_gain
|
|
}
|
|
}
|
|
}
|
|
|
|
spawn_governance_contract_effect = {
|
|
save_scope_as = governor
|
|
# Select the Contract Tier (somewhat randomized, based on your experience as a governor)
|
|
random_list = {
|
|
30 = {
|
|
save_scope_value_as = {
|
|
name = governance_task_contract_tier
|
|
value = define:NTaskContract|LOW_TASK_CONTRACT_TIER
|
|
}
|
|
}
|
|
20 = {
|
|
save_scope_value_as = {
|
|
name = governance_task_contract_tier
|
|
value = define:NTaskContract|MEDIUM_TASK_CONTRACT_TIER
|
|
}
|
|
|
|
modifier = {
|
|
add = 10
|
|
has_trait = governor
|
|
}
|
|
modifier = {
|
|
add = 10
|
|
has_trait = governor
|
|
has_trait_xp = {
|
|
trait = governor
|
|
value >= 40
|
|
}
|
|
}
|
|
}
|
|
10 = {
|
|
save_scope_value_as = {
|
|
name = governance_task_contract_tier
|
|
value = define:NTaskContract|HIGH_TASK_CONTRACT_TIER
|
|
}
|
|
|
|
modifier = {
|
|
add = 10
|
|
has_trait = governor
|
|
}
|
|
modifier = {
|
|
add = 10
|
|
has_trait = governor
|
|
has_trait_xp = {
|
|
trait = governor
|
|
value >= 40
|
|
}
|
|
}
|
|
modifier = {
|
|
add = 20
|
|
has_trait = governor
|
|
has_trait_xp = {
|
|
trait = governor
|
|
value >= 80
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# Select which contract to create
|
|
trigger_event = {
|
|
on_action = spawn_admin_governance_contract_on_action
|
|
}
|
|
|
|
play_sound_effect = "event:/DLC/EP3/SFX/Stingers/Byzantine_Flavor/ep3_mx_sting_byzantineflavor_become_governor"
|
|
}
|
|
|
|
manage_new_governance_contract_effect = {
|
|
if = {
|
|
limit = { exists = scope:target_province }
|
|
if = {
|
|
limit = {
|
|
NOT = { has_character_flag = admin_governance_frequency_cooldown }
|
|
}
|
|
add_character_flag = { flag = admin_governance_frequency_cooldown years = 6 }
|
|
}
|
|
send_interface_message = {
|
|
type = msg_governance_contracts
|
|
title = msg_governance_contract_appear.t
|
|
desc = msg_governance_contract_appear.desc
|
|
right_icon = scope:target_province.county
|
|
}
|
|
}
|
|
if = {
|
|
limit = {
|
|
is_ai = yes
|
|
exists = scope:new_governance_issue
|
|
}
|
|
accept_task_contract = scope:new_governance_issue
|
|
}
|
|
}
|
|
|
|
generate_governance_outcome_effect = {
|
|
# INFO: We use this effect to randomize the options you get when doing a governor contract.
|
|
# $OPTIONS$ is the number of options the event has - Never use less than four, and try to have six if possible.
|
|
|
|
# Unlock a bonus option if you have enough exp in the Governor trait - We do this here (and not in the option) to avoid blocking the option due to exp decay (if game is unpaused).
|
|
if = {
|
|
limit = {
|
|
has_trait = governor
|
|
has_trait_xp = {
|
|
trait = governor
|
|
value >= 50
|
|
}
|
|
}
|
|
save_scope_as = governance_option_a
|
|
}
|
|
|
|
# Check if you have the Governor trait
|
|
if = {
|
|
limit = { # If you have the trait with at least rank 1, we generate an extra option.
|
|
has_trait = governor
|
|
has_trait_xp = {
|
|
trait = governor
|
|
value >= 25
|
|
}
|
|
}
|
|
save_scope_value_as = { name = governance_number_of_options value = 3 }
|
|
}
|
|
else = { # Otherwise, you only get two base options.
|
|
save_scope_value_as = { name = governance_number_of_options value = 2 }
|
|
}
|
|
|
|
# Generate the options
|
|
set_local_variable = {
|
|
name = current_value
|
|
value = 0
|
|
}
|
|
while = {
|
|
limit = {
|
|
local_var:current_value < scope:governance_number_of_options
|
|
}
|
|
random_list = {
|
|
# There is no option A, as A should be unlocked for having the Governor trait at rank 2 (which is done in the corresponding event)
|
|
20 = {
|
|
trigger = {
|
|
NOT = { exists = scope:governance_option_b }
|
|
}
|
|
save_scope_value_as = {
|
|
name = governance_option_b
|
|
value = yes
|
|
}
|
|
change_local_variable = {
|
|
name = current_value
|
|
add = 1
|
|
}
|
|
}
|
|
20 = {
|
|
trigger = {
|
|
NOT = { exists = scope:governance_option_c }
|
|
}
|
|
save_scope_value_as = {
|
|
name = governance_option_c
|
|
value = yes
|
|
}
|
|
change_local_variable = {
|
|
name = current_value
|
|
add = 1
|
|
}
|
|
}
|
|
20 = {
|
|
trigger = {
|
|
NOT = { exists = scope:governance_option_d }
|
|
}
|
|
save_scope_value_as = {
|
|
name = governance_option_d
|
|
value = yes
|
|
}
|
|
change_local_variable = {
|
|
name = current_value
|
|
add = 1
|
|
}
|
|
}
|
|
20 = {
|
|
trigger = {
|
|
NOT = { exists = scope:governance_option_e }
|
|
$OPTIONS$ >= 5
|
|
}
|
|
save_scope_value_as = {
|
|
name = governance_option_e
|
|
value = yes
|
|
}
|
|
change_local_variable = {
|
|
name = current_value
|
|
add = 1
|
|
}
|
|
}
|
|
20 = {
|
|
trigger = {
|
|
NOT = { exists = scope:governance_option_f }
|
|
$OPTIONS$ >= 6
|
|
}
|
|
save_scope_value_as = {
|
|
name = governance_option_f
|
|
value = yes
|
|
}
|
|
change_local_variable = {
|
|
name = current_value
|
|
add = 1
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
remove_other_eparch_modifiers_effect = {
|
|
hidden_effect = { # No need to show this
|
|
# Let's check for the county opinion modifier first
|
|
scope:liege ?= {
|
|
# We check and scope to all counties to make sure we remove any stray modifiers in case the capital is moved, etc.
|
|
if = {
|
|
limit = {
|
|
any_realm_county = {
|
|
any_county_province = {
|
|
has_province_modifier = ep3_eparch_county_opinion_modifier
|
|
}
|
|
}
|
|
}
|
|
every_realm_county = {
|
|
limit = {
|
|
any_county_province = {
|
|
has_province_modifier = ep3_eparch_county_opinion_modifier
|
|
}
|
|
}
|
|
every_county_province = {
|
|
limit = {
|
|
has_province_modifier = ep3_eparch_county_opinion_modifier
|
|
}
|
|
remove_province_modifier = ep3_eparch_county_opinion_modifier
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# Next is the troop modifier
|
|
scope:liege ?= {
|
|
# We check and scope to all counties to make sure we remove any stray modifiers in case the capital is moved, etc.
|
|
if = {
|
|
limit = {
|
|
any_realm_county = {
|
|
any_county_province = {
|
|
has_province_modifier = ep3_eparch_troops_modifier
|
|
}
|
|
}
|
|
}
|
|
every_realm_county = {
|
|
limit = {
|
|
any_county_province = {
|
|
has_province_modifier = ep3_eparch_troops_modifier
|
|
}
|
|
}
|
|
every_county_province = {
|
|
limit = {
|
|
has_province_modifier = ep3_eparch_troops_modifier
|
|
}
|
|
remove_province_modifier = ep3_eparch_troops_modifier
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# Next is the county control modifier
|
|
scope:liege ?= {
|
|
# We check and scope to all counties to make sure we remove any stray modifiers in case the capital is moved, etc.
|
|
if = {
|
|
limit = {
|
|
any_realm_county = {
|
|
any_county_province = {
|
|
has_province_modifier = ep3_eparch_control_modifier
|
|
}
|
|
}
|
|
}
|
|
every_realm_county = {
|
|
limit = {
|
|
any_county_province = {
|
|
has_province_modifier = ep3_eparch_control_modifier
|
|
}
|
|
}
|
|
every_county_province = {
|
|
limit = {
|
|
has_province_modifier = ep3_eparch_control_modifier
|
|
}
|
|
remove_province_modifier = ep3_eparch_control_modifier
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# And finally, the development modifier
|
|
scope:liege ?= {
|
|
# We check and scope to all counties to make sure we remove any stray modifiers in case the capital is moved, etc.
|
|
if = {
|
|
limit = {
|
|
any_realm_county = {
|
|
any_county_province = {
|
|
has_province_modifier = ep3_eparch_development_modifier
|
|
}
|
|
}
|
|
}
|
|
every_realm_county = {
|
|
limit = {
|
|
any_county_province = {
|
|
has_province_modifier = ep3_eparch_development_modifier
|
|
}
|
|
}
|
|
every_county_province = {
|
|
limit = {
|
|
has_province_modifier = ep3_eparch_development_modifier
|
|
}
|
|
remove_province_modifier = ep3_eparch_development_modifier
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
eparch_neglecting_duty_effect = {
|
|
custom_tooltip = {
|
|
text = eparch_neglecting_duty_warning_tt
|
|
|
|
# We check if you have neglected duties in the past
|
|
if = {
|
|
limit = {
|
|
exists = var:eparch_neglecting_duty
|
|
}
|
|
# If you have, let's first increase the variable
|
|
change_variable = { name = eparch_neglecting_duty add = 5 }
|
|
|
|
# Then check if the liege notices and decide to take action
|
|
random = {
|
|
chance = {
|
|
# Base value - Increases with each neglecting action
|
|
value = var:eparch_neglecting_duty
|
|
|
|
# Add the difference in intrigue skill
|
|
add = {
|
|
value = liege.intrigue
|
|
subtract = intrigue
|
|
}
|
|
|
|
# Add the difference in influence level
|
|
add = {
|
|
value = liege.influence_level
|
|
subtract = influence_level
|
|
multiply = 5
|
|
}
|
|
|
|
# Lower the chance if you belong to a powerful or dominant family
|
|
if = {
|
|
limit = {
|
|
house ?= { is_powerful_family = yes }
|
|
}
|
|
subtract = 10
|
|
}
|
|
if = {
|
|
limit = {
|
|
house ?= { is_dominant_family = yes }
|
|
}
|
|
subtract = 20
|
|
}
|
|
|
|
min = 5
|
|
max = 90
|
|
}
|
|
|
|
# The liege have noticed - We reduce the variable slightly as a result (but never below 0)
|
|
if = {
|
|
limit = {
|
|
exists = var:eparch_neglecting_duty
|
|
var:eparch_neglecting_duty >= 20
|
|
}
|
|
change_variable = { name = eparch_neglecting_duty subtract = 20 }
|
|
}
|
|
else = {
|
|
set_variable = { name = eparch_neglecting_duty value = 0 }
|
|
}
|
|
|
|
liege = {
|
|
trigger_event = { id = ep3_eparch_event.9000 days = { 10 90 } }
|
|
}
|
|
}
|
|
}
|
|
else = { # If you haven't, we'll set the variable and give you a free pass (you only get it for your very first time though)
|
|
set_variable = { name = eparch_neglecting_duty value = 0 }
|
|
}
|
|
}
|
|
}
|
|
|
|
add_influence_attacker_victory_effect = {
|
|
scope:attacker = {
|
|
if = {
|
|
limit = { government_has_flag = government_has_influence }
|
|
change_influence = major_influence_gain
|
|
}
|
|
}
|
|
}
|
|
|
|
add_influence_attacker_defeat_effect = {
|
|
scope:defender = {
|
|
if = {
|
|
limit = { government_has_flag = government_has_influence }
|
|
change_influence = medium_influence_gain
|
|
}
|
|
}
|
|
}
|
|
|
|
admin_change_government_effect = {
|
|
# Make sure you only use this effect on characters you are sure should change government! Since we don't do any extended triggers here.
|
|
# For a consistent behaviour, this effect is based on "convert_whole_realm_to_feudalism_effect"
|
|
|
|
# First, let's see if the character only has their noble family title - then we don't bother changing their government
|
|
# We only destroy the family title to make sure it doesn't linger
|
|
if = {
|
|
limit = {
|
|
is_landed = no
|
|
any_held_title = {
|
|
is_noble_family_title = yes
|
|
}
|
|
NOT = {
|
|
any_held_title = {
|
|
is_noble_family_title = no
|
|
}
|
|
}
|
|
}
|
|
every_held_title = {
|
|
limit = {
|
|
is_noble_family_title = yes
|
|
}
|
|
save_temporary_scope_as = family_title
|
|
prev = { destroy_title = scope:family_title }
|
|
}
|
|
}
|
|
|
|
# If not, let's change the government type
|
|
# If liege has clan - Become clan!
|
|
else_if = {
|
|
limit = {
|
|
top_liege != this
|
|
OR = {
|
|
liege = { government_has_flag = government_is_clan }
|
|
AND = {
|
|
liege = { government_has_flag = government_is_tribal }
|
|
religion = religion:islam_religion
|
|
}
|
|
}
|
|
}
|
|
change_government = clan_government
|
|
}
|
|
# If liege has japanese feudal - Become japanese feudal!
|
|
else_if = {
|
|
limit = {
|
|
is_independent_ruler = no
|
|
OR = {
|
|
liege = { government_has_flag = government_is_japan_feudal }
|
|
AND = {
|
|
liege = { government_has_flag = government_is_japan_feudal }
|
|
NOT = { religion = religion:islam_religion }
|
|
}
|
|
}
|
|
}
|
|
change_government = japan_feudal_government
|
|
}
|
|
# If liege has feudal - Become feudal!
|
|
else_if = {
|
|
limit = {
|
|
top_liege != this
|
|
OR = {
|
|
liege = { government_has_flag = government_is_feudal }
|
|
AND = {
|
|
liege = { government_has_flag = government_is_tribal }
|
|
NOT = { religion = religion:islam_religion }
|
|
}
|
|
}
|
|
}
|
|
change_government = feudal_government
|
|
}
|
|
# If you're an independent Muslim ruler - Become clan!
|
|
else_if = {
|
|
limit = {
|
|
top_liege = this
|
|
faith = { religion_tag = islam_religion }
|
|
}
|
|
change_government = clan_government
|
|
}
|
|
# If you're an independent ruler with anything else - Become feudal!
|
|
else = { change_government = feudal_government }
|
|
|
|
# Finally, let's double-check and see if there are any remaining family titles we should destroy
|
|
if = {
|
|
limit = {
|
|
any_held_title = {
|
|
is_noble_family_title = yes
|
|
}
|
|
}
|
|
every_held_title = {
|
|
limit = {
|
|
is_noble_family_title = yes
|
|
}
|
|
save_temporary_scope_as = family_title
|
|
prev = { destroy_title = scope:family_title }
|
|
}
|
|
}
|
|
}
|
|
|
|
##################################################
|
|
# Dynasty Legacy: Bureaucracy
|
|
##################################################
|
|
|
|
ep3_dynasty_legacy_add_legitimacy_effect = {
|
|
scope:activity = {
|
|
if = {
|
|
limit = {
|
|
scope:host = {
|
|
government_allows = administrative
|
|
OR = {
|
|
dynasty = { has_dynasty_perk = ep3_administrative_legacy_3 }
|
|
top_participant_group:dynastic_cycle ?= {
|
|
participant_group_type = conservative_movement
|
|
}
|
|
}
|
|
}
|
|
# Does the activity location have a domicile owned by a house member
|
|
# Does that domicile have the Reception Hall building
|
|
activity_location = {
|
|
any_province_domicile = {
|
|
owner = { house ?= scope:host.house }
|
|
OR = {
|
|
has_domicile_building_or_higher = reception_hall_01
|
|
has_domicile_building_or_higher = east_asian_estate_reception_hall_01
|
|
}
|
|
}
|
|
}
|
|
}
|
|
activity_location = {
|
|
random_province_domicile = {
|
|
limit = {
|
|
owner = { house ?= scope:host.house }
|
|
OR = {
|
|
has_domicile_building_or_higher = reception_hall_01
|
|
has_domicile_building_or_higher = east_asian_estate_reception_hall_01
|
|
}
|
|
}
|
|
owner = { save_scope_as = reception_hall_owner }
|
|
}
|
|
}
|
|
scope:host = {
|
|
house = {
|
|
if = {
|
|
limit = {
|
|
NOT = {
|
|
has_variable = ep3_legacy_legitimacy_counter
|
|
}
|
|
}
|
|
# Set the initial value
|
|
set_variable = {
|
|
name = ep3_legacy_legitimacy_counter
|
|
value = 10
|
|
}
|
|
}
|
|
else = {
|
|
change_variable = {
|
|
name = ep3_legacy_legitimacy_counter
|
|
add = 10
|
|
}
|
|
}
|
|
}
|
|
if = {
|
|
limit = {
|
|
primary_title.tier = tier_empire
|
|
}
|
|
send_interface_toast = {
|
|
type = event_toast_effect_good
|
|
title = ep3_dynasty_legacy_gain_legitimacy_effect_title
|
|
left_icon = scope:host
|
|
right_icon = scope:host.primary_title
|
|
add_legitimacy = 10
|
|
}
|
|
}
|
|
else = {
|
|
house = {
|
|
every_house_member = {
|
|
limit = { is_ai = no }
|
|
send_interface_message = {
|
|
type = event_generic_good_text
|
|
title = ep3_dynasty_legacy_add_legitimacy_effect_title
|
|
desc = ep3_dynasty_legacy_add_legitimacy_effect_desc
|
|
left_icon = scope:host
|
|
right_icon = house
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
##################################################
|
|
# Byzantium
|
|
##################################################
|
|
|
|
remove_a_criminal_trait_in_faith_effect = {
|
|
$CHARACTER$ = {
|
|
if = {
|
|
limit = {
|
|
has_trait = adulterer
|
|
trait_is_criminal_in_faith_trigger = { TRAIT = adulterer FAITH = $FAITH$ GENDER_CHARACTER = $CHARACTER$ }
|
|
}
|
|
remove_trait = adulterer
|
|
}
|
|
else_if = {
|
|
limit = {
|
|
has_trait = fornicator
|
|
trait_is_criminal_in_faith_trigger = { TRAIT = fornicator FAITH = $FAITH$ GENDER_CHARACTER = $CHARACTER$ }
|
|
}
|
|
remove_trait = fornicator
|
|
}
|
|
else_if = {
|
|
limit = {
|
|
has_trait = sodomite
|
|
trait_is_criminal_in_faith_trigger = { TRAIT = sodomite FAITH = $FAITH$ GENDER_CHARACTER = $CHARACTER$ }
|
|
}
|
|
remove_trait = sodomite
|
|
}
|
|
else_if = {
|
|
limit = {
|
|
has_trait = deviant
|
|
trait_is_criminal_in_faith_trigger = { TRAIT = deviant FAITH = $FAITH$ GENDER_CHARACTER = $CHARACTER$ }
|
|
}
|
|
remove_trait = deviant
|
|
}
|
|
else_if = {
|
|
limit = {
|
|
has_trait = kinslayer_3
|
|
trait_is_criminal_in_faith_trigger = { TRAIT = kinslayer_3 FAITH = $FAITH$ GENDER_CHARACTER = $CHARACTER$ }
|
|
}
|
|
remove_trait = kinslayer_3
|
|
}
|
|
else_if = {
|
|
limit = {
|
|
has_trait = kinslayer_2
|
|
trait_is_criminal_in_faith_trigger = { TRAIT = kinslayer_2 FAITH = $FAITH$ GENDER_CHARACTER = $CHARACTER$ }
|
|
}
|
|
remove_trait = kinslayer_2
|
|
}
|
|
else_if = {
|
|
limit = {
|
|
has_trait = kinslayer_1
|
|
trait_is_criminal_in_faith_trigger = { TRAIT = kinslayer_1 FAITH = $FAITH$ GENDER_CHARACTER = $CHARACTER$ }
|
|
}
|
|
remove_trait = kinslayer_1
|
|
}
|
|
else_if = {
|
|
limit = {
|
|
has_trait = witch
|
|
trait_is_criminal_in_faith_trigger = { TRAIT = witch FAITH = $FAITH$ GENDER_CHARACTER = $CHARACTER$ }
|
|
}
|
|
remove_trait = witch
|
|
}
|
|
else_if = {
|
|
limit = {
|
|
has_trait = cannibal
|
|
trait_is_criminal_in_faith_trigger = { TRAIT = cannibal FAITH = $FAITH$ GENDER_CHARACTER = $CHARACTER$ }
|
|
}
|
|
remove_trait = cannibal
|
|
}
|
|
else_if = {
|
|
limit = {
|
|
has_trait = incestuous
|
|
trait_is_criminal_in_faith_trigger = { TRAIT = incestuous FAITH = $FAITH$ GENDER_CHARACTER = $CHARACTER$ }
|
|
}
|
|
remove_trait = incestuous
|
|
}
|
|
}
|
|
}
|
|
|
|
##################################################
|
|
# Chariot Races
|
|
##################################################
|
|
|
|
gather_charioteers_effect = {
|
|
scope:activity = {
|
|
random_list = {
|
|
50 = {
|
|
set_variable = {
|
|
name = num_blues
|
|
value = 2
|
|
}
|
|
}
|
|
50 = {
|
|
set_variable = {
|
|
name = num_blues
|
|
value = 3
|
|
}
|
|
}
|
|
}
|
|
random_list = {
|
|
50 = {
|
|
set_variable = {
|
|
name = num_greens
|
|
value = 2
|
|
}
|
|
}
|
|
50 = {
|
|
set_variable = {
|
|
name = num_greens
|
|
value = 3
|
|
}
|
|
}
|
|
}
|
|
random_list = {
|
|
50 = {
|
|
set_variable = {
|
|
name = num_whites
|
|
value = 2
|
|
}
|
|
}
|
|
50 = {
|
|
set_variable = {
|
|
name = num_whites
|
|
value = 3
|
|
}
|
|
}
|
|
}
|
|
random_list = {
|
|
50 = {
|
|
set_variable = {
|
|
name = num_reds
|
|
value = 2
|
|
}
|
|
}
|
|
50 = {
|
|
set_variable = {
|
|
name = num_reds
|
|
value = 3
|
|
}
|
|
}
|
|
}
|
|
|
|
ordered_attending_character = {
|
|
order_by = chariot_ordering_value
|
|
max = 12
|
|
check_range_bounds = no
|
|
save_temporary_scope_as = temp_character
|
|
if = {
|
|
limit = {
|
|
OR = {
|
|
has_court_position = charioteer_court_position
|
|
trigger_if = {
|
|
limit = {
|
|
available_charioteers_spots_trigger = { TEAM = green }
|
|
}
|
|
has_trait = charioteer_green
|
|
}
|
|
trigger_if = {
|
|
limit = {
|
|
available_charioteers_spots_trigger = { TEAM = blue }
|
|
}
|
|
has_trait = charioteer_blue
|
|
}
|
|
trigger_if = {
|
|
limit = {
|
|
available_charioteers_spots_trigger = { TEAM = red }
|
|
}
|
|
has_trait = charioteer_red
|
|
}
|
|
trigger_if = {
|
|
limit = {
|
|
available_charioteers_spots_trigger = { TEAM = white }
|
|
}
|
|
has_trait = charioteer_white
|
|
}
|
|
}
|
|
}
|
|
scope:activity = {
|
|
add_to_guest_subset = {
|
|
name = charioteers
|
|
target = scope:temp_character
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# Finalize the list of charioteers
|
|
chariot_racers_setup_effect = { TEAM = green }
|
|
chariot_racers_setup_effect = { TEAM = blue }
|
|
chariot_racers_setup_effect = { TEAM = red }
|
|
chariot_racers_setup_effect = { TEAM = white }
|
|
# And filter everyone remaining to spectators.
|
|
every_attending_character = {
|
|
limit = {
|
|
NOT = {
|
|
is_in_guest_subset = { name = charioteers }
|
|
}
|
|
}
|
|
save_scope_as = temp_character
|
|
scope:activity = {
|
|
add_to_guest_subset = {
|
|
name = spectators
|
|
target = scope:temp_character
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
chariot_racers_setup_effect = { # If you need to create additional racers
|
|
while = {
|
|
count = 5
|
|
limit = {
|
|
available_charioteers_spots_trigger = { TEAM = $TEAM$ }
|
|
}
|
|
create_character = {
|
|
template = charioteer_template
|
|
employer = scope:activity.activity_host
|
|
save_scope_as = temp_charioteer
|
|
}
|
|
scope:temp_charioteer = {
|
|
add_trait = charioteer_$TEAM$
|
|
add_trait_xp = {
|
|
trait = charioteer_$TEAM$
|
|
value = { 5 50 }
|
|
}
|
|
add_to_activity = scope:activity
|
|
}
|
|
scope:activity = {
|
|
add_to_guest_subset = {
|
|
name = charioteers
|
|
target = scope:temp_charioteer
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# Each character is assigned Odds to Win, Odds to Place, and Odds to Show
|
|
# Win: come in first place
|
|
# Place: come in first or second place
|
|
# Show: come in first, second, or third place
|
|
calculate_chariot_race_odds_effect = {
|
|
calculate_chariot_odds_to_win_effect = yes
|
|
calculate_chariot_odds_to_place_effect = yes
|
|
calculate_chariot_odds_to_show_effect = yes
|
|
}
|
|
|
|
# Odds are represented in the format A:B, where A is the number of ways/opportunities a character has to succeed, and B represents how many ways/opportunities they have to fail
|
|
# These same calculations are done for the teams overall
|
|
# Individual odds are saved on the individual character
|
|
# Team odds are saved on the activity scope
|
|
calculate_chariot_odds_to_win_effect = {
|
|
scope:activity = {
|
|
### INDIVIDUAL ODDS
|
|
# Set odds to win
|
|
set_variable = {
|
|
name = total_chance_win
|
|
value = 0
|
|
}
|
|
# Set odds_win_a (number of ways to win)
|
|
every_guest_subset = {
|
|
name = charioteers
|
|
set_variable = {
|
|
name = odds_win_a
|
|
value = charioteer_chance_to_win
|
|
}
|
|
scope:activity = {
|
|
change_variable = {
|
|
name = total_chance_win
|
|
add = {
|
|
value = prev.charioteer_chance_to_win
|
|
min = 1
|
|
}
|
|
}
|
|
}
|
|
}
|
|
# set odds_win_b (number of ways to lose)
|
|
every_guest_subset = {
|
|
name = charioteers
|
|
set_variable = {
|
|
name = odds_win_b
|
|
value = {
|
|
value = scope:activity.var:total_chance_win
|
|
subtract = var:odds_win_a
|
|
min = 1
|
|
}
|
|
}
|
|
}
|
|
|
|
# Calc percent chance to win
|
|
every_guest_subset = {
|
|
name = charioteers
|
|
set_variable = {
|
|
name = percent_chance_to_win
|
|
value = {
|
|
add = var:odds_win_a
|
|
divide = {
|
|
value = 0
|
|
add = var:odds_win_a
|
|
add = var:odds_win_b
|
|
}
|
|
multiply = 100
|
|
min = 1
|
|
max = 99
|
|
}
|
|
}
|
|
}
|
|
##########
|
|
|
|
### TEAM ODDS
|
|
# For each of the 4 teams, we calculate their odds to win/place/show. These variables are saved on the activity
|
|
# BLUES
|
|
# Initialize variables
|
|
set_variable = {
|
|
name = blue_odds_win_a
|
|
value = 0
|
|
}
|
|
set_variable = {
|
|
name = blue_odds_win_b
|
|
value = 0
|
|
}
|
|
|
|
# Account for each team member
|
|
every_guest_subset = {
|
|
name = charioteers
|
|
limit = { has_trait = charioteer_blue }
|
|
scope:activity = {
|
|
change_variable = {
|
|
name = blue_odds_win_a
|
|
add = {
|
|
value = prev.var:odds_win_a
|
|
min = 1
|
|
}
|
|
}
|
|
}
|
|
}
|
|
# Set the B variable based on the total amount of chance - the opporutnity for success
|
|
change_variable = {
|
|
name = blue_odds_win_b
|
|
add = {
|
|
value = var:total_chance_win
|
|
subtract = var:blue_odds_win_a
|
|
min = 1
|
|
}
|
|
}
|
|
# Calculate the percentage chance of success for readability
|
|
set_variable = {
|
|
name = blue_percent_chance_to_win
|
|
value = {
|
|
add = var:blue_odds_win_a
|
|
divide = {
|
|
value = 0
|
|
add = var:blue_odds_win_a
|
|
add = var:blue_odds_win_b
|
|
}
|
|
multiply = 100
|
|
min = 1
|
|
max = 99
|
|
}
|
|
}
|
|
|
|
# GREENS
|
|
# Initialize variables
|
|
set_variable = {
|
|
name = green_odds_win_a
|
|
value = 0
|
|
}
|
|
set_variable = {
|
|
name = green_odds_win_b
|
|
value = 0
|
|
}
|
|
|
|
# Account for each team member
|
|
every_guest_subset = {
|
|
name = charioteers
|
|
limit = { has_trait = charioteer_green }
|
|
scope:activity = {
|
|
change_variable = {
|
|
name = green_odds_win_a
|
|
add = {
|
|
value = prev.var:odds_win_a
|
|
min = 1
|
|
}
|
|
}
|
|
}
|
|
}
|
|
# Set the B variable based on the total amount of chance - the opporutnity for success
|
|
change_variable = {
|
|
name = green_odds_win_b
|
|
add = {
|
|
value = var:total_chance_win
|
|
subtract = var:green_odds_win_a
|
|
min = 1
|
|
}
|
|
}
|
|
# Calculate the percentage chance of success for readability
|
|
set_variable = {
|
|
name = green_percent_chance_to_win
|
|
value = {
|
|
add = var:green_odds_win_a
|
|
divide = {
|
|
value = 0
|
|
add = var:green_odds_win_a
|
|
add = var:green_odds_win_b
|
|
}
|
|
multiply = 100
|
|
min = 1
|
|
max = 99
|
|
}
|
|
}
|
|
|
|
# WHITES
|
|
# Initialize variables
|
|
set_variable = {
|
|
name = white_odds_win_a
|
|
value = 0
|
|
}
|
|
set_variable = {
|
|
name = white_odds_win_b
|
|
value = 0
|
|
}
|
|
|
|
# Account for each team member
|
|
every_guest_subset = {
|
|
name = charioteers
|
|
limit = { has_trait = charioteer_white }
|
|
scope:activity = {
|
|
change_variable = {
|
|
name = white_odds_win_a
|
|
add = {
|
|
value = prev.var:odds_win_a
|
|
min = 1
|
|
}
|
|
}
|
|
}
|
|
}
|
|
# Set the B variable based on the total amount of chance - the opporutnity for success
|
|
change_variable = {
|
|
name = white_odds_win_b
|
|
add = {
|
|
value = var:total_chance_win
|
|
subtract = var:white_odds_win_a
|
|
min = 1
|
|
}
|
|
}
|
|
# Calculate the percentage chance of success for readability
|
|
set_variable = {
|
|
name = white_percent_chance_to_win
|
|
value = {
|
|
add = var:white_odds_win_a
|
|
divide = {
|
|
value = 0
|
|
add = var:white_odds_win_a
|
|
add = var:white_odds_win_b
|
|
}
|
|
multiply = 100
|
|
min = 1
|
|
max = 99
|
|
}
|
|
}
|
|
|
|
# REDS
|
|
# Initialize variables
|
|
set_variable = {
|
|
name = red_odds_win_a
|
|
value = 0
|
|
}
|
|
set_variable = {
|
|
name = red_odds_win_b
|
|
value = 0
|
|
}
|
|
|
|
# Account for each team member
|
|
every_guest_subset = {
|
|
name = charioteers
|
|
limit = { has_trait = charioteer_red }
|
|
scope:activity = {
|
|
change_variable = {
|
|
name = red_odds_win_a
|
|
add = {
|
|
value = prev.var:odds_win_a
|
|
min = 1
|
|
}
|
|
}
|
|
}
|
|
}
|
|
# Set the B variable based on the total amount of chance - the opporutnity for success
|
|
change_variable = {
|
|
name = red_odds_win_b
|
|
add = {
|
|
value = var:total_chance_win
|
|
subtract = var:red_odds_win_a
|
|
min = 1
|
|
}
|
|
}
|
|
# Calculate the percentage chance of success for readability
|
|
set_variable = {
|
|
name = red_percent_chance_to_win
|
|
value = {
|
|
add = var:red_odds_win_a
|
|
divide = {
|
|
value = 0
|
|
add = var:red_odds_win_a
|
|
add = var:red_odds_win_b
|
|
}
|
|
multiply = 100
|
|
min = 1
|
|
max = 99
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
calculate_chariot_odds_to_place_effect = {
|
|
scope:activity = {
|
|
### INDIVIDUAL ODDS
|
|
# Set odds to place
|
|
set_variable = {
|
|
name = total_chance_place
|
|
value = 0
|
|
}
|
|
every_guest_subset = {
|
|
name = charioteers
|
|
set_variable = {
|
|
name = odds_place_a
|
|
value = {
|
|
value = charioteer_chance_to_win
|
|
multiply = 2
|
|
}
|
|
}
|
|
scope:activity = {
|
|
change_variable = {
|
|
name = total_chance_place
|
|
add = {
|
|
value = prev.charioteer_chance_to_win
|
|
min = 1
|
|
}
|
|
}
|
|
}
|
|
}
|
|
every_guest_subset = {
|
|
name = charioteers
|
|
set_variable = {
|
|
name = odds_place_b
|
|
value = {
|
|
value = scope:activity.var:total_chance_place
|
|
subtract = var:odds_place_a
|
|
min = 1
|
|
}
|
|
}
|
|
}
|
|
|
|
# Calc percent chance to win
|
|
every_guest_subset = {
|
|
name = charioteers
|
|
set_variable = {
|
|
name = percent_chance_to_place
|
|
value = {
|
|
add = var:odds_place_a
|
|
divide = {
|
|
value = 0
|
|
add = var:odds_place_a
|
|
add = var:odds_place_b
|
|
}
|
|
multiply = 100
|
|
min = 1
|
|
max = 99
|
|
}
|
|
}
|
|
}
|
|
##########
|
|
|
|
### TEAM ODDS
|
|
# For each of the 4 teams, we calculate their odds to win/place/show. These variables are saved on the activity
|
|
# Initialize variables
|
|
set_variable = {
|
|
name = blue_odds_place_a
|
|
value = 0
|
|
}
|
|
set_variable = {
|
|
name = blue_odds_place_b
|
|
value = 0
|
|
}
|
|
|
|
# Account for each team member
|
|
every_guest_subset = {
|
|
name = charioteers
|
|
limit = { has_trait = charioteer_blue }
|
|
scope:activity = {
|
|
change_variable = {
|
|
name = blue_odds_place_a
|
|
add = {
|
|
value = prev.var:odds_place_a
|
|
min = 1
|
|
}
|
|
}
|
|
}
|
|
}
|
|
# Set the B variable based on the total amount of chance - the opporutnity for success
|
|
change_variable = {
|
|
name = blue_odds_place_b
|
|
add = {
|
|
value = var:total_chance_place
|
|
subtract = var:blue_odds_place_a
|
|
min = 1
|
|
}
|
|
}
|
|
# Calculate the percentage chance of success for readability
|
|
set_variable = {
|
|
name = blue_percent_chance_to_place
|
|
value = {
|
|
add = var:blue_odds_place_a
|
|
divide = {
|
|
value = 0
|
|
add = var:blue_odds_place_a
|
|
add = var:blue_odds_place_b
|
|
}
|
|
multiply = 100
|
|
min = 1
|
|
max = 99
|
|
}
|
|
}
|
|
|
|
# GREENS
|
|
# Initialize variables
|
|
set_variable = {
|
|
name = green_odds_place_a
|
|
value = 0
|
|
}
|
|
set_variable = {
|
|
name = green_odds_place_b
|
|
value = 0
|
|
}
|
|
|
|
# Account for each team member
|
|
every_guest_subset = {
|
|
name = charioteers
|
|
limit = { has_trait = charioteer_green }
|
|
scope:activity = {
|
|
change_variable = {
|
|
name = green_odds_place_a
|
|
add = {
|
|
value = prev.var:odds_place_a
|
|
min = 1
|
|
}
|
|
}
|
|
}
|
|
}
|
|
# Set the B variable based on the total amount of chance - the opporutnity for success
|
|
change_variable = {
|
|
name = green_odds_place_b
|
|
add = {
|
|
value = var:total_chance_place
|
|
subtract = var:green_odds_place_a
|
|
min = 1
|
|
}
|
|
}
|
|
# Calculate the percentage chance of success for readability
|
|
set_variable = {
|
|
name = green_percent_chance_to_place
|
|
value = {
|
|
add = var:green_odds_place_a
|
|
divide = {
|
|
value = 0
|
|
add = var:green_odds_place_a
|
|
add = var:green_odds_place_b
|
|
}
|
|
multiply = 100
|
|
min = 1
|
|
max = 99
|
|
}
|
|
}
|
|
|
|
# WHITES
|
|
# Initialize variables
|
|
set_variable = {
|
|
name = white_odds_place_a
|
|
value = 0
|
|
}
|
|
set_variable = {
|
|
name = white_odds_place_b
|
|
value = 0
|
|
}
|
|
|
|
# Account for each team member
|
|
every_guest_subset = {
|
|
name = charioteers
|
|
limit = { has_trait = charioteer_white }
|
|
scope:activity = {
|
|
change_variable = {
|
|
name = white_odds_place_a
|
|
add = {
|
|
value = prev.var:odds_place_a
|
|
min = 1
|
|
}
|
|
}
|
|
}
|
|
}
|
|
# Set the B variable based on the total amount of chance - the opporutnity for success
|
|
change_variable = {
|
|
name = white_odds_place_b
|
|
add = {
|
|
value = var:total_chance_place
|
|
subtract = var:white_odds_place_a
|
|
min = 1
|
|
}
|
|
}
|
|
# Calculate the percentage chance of success for readability
|
|
set_variable = {
|
|
name = white_percent_chance_to_place
|
|
value = {
|
|
add = var:white_odds_place_a
|
|
divide = {
|
|
value = 0
|
|
add = var:white_odds_place_a
|
|
add = var:white_odds_place_b
|
|
}
|
|
multiply = 100
|
|
min = 1
|
|
max = 99
|
|
}
|
|
}
|
|
|
|
|
|
# REDS
|
|
# Initialize variables
|
|
set_variable = {
|
|
name = red_odds_place_a
|
|
value = 0
|
|
}
|
|
set_variable = {
|
|
name = red_odds_place_b
|
|
value = 0
|
|
}
|
|
|
|
# Account for each team member
|
|
every_guest_subset = {
|
|
name = charioteers
|
|
limit = { has_trait = charioteer_red }
|
|
scope:activity = {
|
|
change_variable = {
|
|
name = red_odds_place_a
|
|
add = {
|
|
value = prev.var:odds_place_a
|
|
min = 1
|
|
}
|
|
}
|
|
}
|
|
}
|
|
# Set the B variable based on the total amount of chance - the opporutnity for success
|
|
change_variable = {
|
|
name = red_odds_place_b
|
|
add = {
|
|
value = var:total_chance_place
|
|
subtract = var:red_odds_place_a
|
|
min = 1
|
|
}
|
|
}
|
|
# Calculate the percentage chance of success for readability
|
|
set_variable = {
|
|
name = red_percent_chance_to_place
|
|
value = {
|
|
add = var:red_odds_place_a
|
|
divide = {
|
|
value = 0
|
|
add = var:red_odds_place_a
|
|
add = var:red_odds_place_b
|
|
}
|
|
multiply = 100
|
|
min = 1
|
|
max = 99
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
calculate_chariot_odds_to_show_effect = {
|
|
scope:activity = {
|
|
### INDIVIDUAL ODDS
|
|
# Set odds to show
|
|
set_variable = {
|
|
name = total_chance_show
|
|
value = 0
|
|
}
|
|
every_guest_subset = {
|
|
name = charioteers
|
|
set_variable = {
|
|
name = odds_show_a
|
|
value = {
|
|
value = charioteer_chance_to_win
|
|
multiply = 3
|
|
min = 1
|
|
}
|
|
}
|
|
scope:activity = {
|
|
change_variable = {
|
|
name = total_chance_show
|
|
add = {
|
|
value = prev.charioteer_chance_to_win
|
|
min = 1
|
|
}
|
|
}
|
|
}
|
|
}
|
|
every_guest_subset = {
|
|
name = charioteers
|
|
set_variable = {
|
|
name = odds_show_b
|
|
value = {
|
|
value = scope:activity.var:total_chance_show
|
|
subtract = var:odds_show_a
|
|
min = 1
|
|
}
|
|
}
|
|
}
|
|
|
|
# Calc percent chance to show
|
|
every_guest_subset = {
|
|
name = charioteers
|
|
set_variable = {
|
|
name = percent_chance_to_show
|
|
value = {
|
|
add = var:odds_show_a
|
|
divide = {
|
|
value = var:odds_show_a
|
|
add = scope:activity.var:total_chance_show
|
|
}
|
|
multiply = 100
|
|
min = 1
|
|
max = 99
|
|
}
|
|
}
|
|
}
|
|
##########
|
|
|
|
### TEAM ODDS
|
|
# For each of the 4 teams, we calculate their odds to win/place/show. These variables are saved on the activity
|
|
# BLUES
|
|
# Initialize variables
|
|
set_variable = {
|
|
name = blue_odds_show_a
|
|
value = 0
|
|
}
|
|
set_variable = {
|
|
name = blue_odds_show_b
|
|
value = 0
|
|
}
|
|
|
|
# Account for each team member
|
|
every_guest_subset = {
|
|
name = charioteers
|
|
limit = { has_trait = charioteer_blue }
|
|
scope:activity = {
|
|
change_variable = {
|
|
name = blue_odds_show_a
|
|
add = {
|
|
value = prev.var:odds_show_a
|
|
min = 1
|
|
}
|
|
}
|
|
}
|
|
}
|
|
# Set the B variable based on the total amount of chance - the opporutnity for success
|
|
change_variable = {
|
|
name = blue_odds_show_b
|
|
add = {
|
|
value = var:total_chance_show
|
|
subtract = var:blue_odds_show_a
|
|
min = 1
|
|
}
|
|
}
|
|
# Calculate the percentage chance of success for readability
|
|
set_variable = {
|
|
name = blue_percent_chance_to_show
|
|
value = {
|
|
add = var:blue_odds_show_a
|
|
divide = {
|
|
value = 0
|
|
add = var:blue_odds_show_a
|
|
add = var:blue_odds_show_b
|
|
}
|
|
multiply = 100
|
|
min = 1
|
|
max = 99
|
|
}
|
|
}
|
|
|
|
# GREENS
|
|
# Initialize variables
|
|
set_variable = {
|
|
name = green_odds_show_a
|
|
value = 0
|
|
}
|
|
set_variable = {
|
|
name = green_odds_show_b
|
|
value = 0
|
|
}
|
|
|
|
# Account for each team member
|
|
every_guest_subset = {
|
|
name = charioteers
|
|
limit = { has_trait = charioteer_green }
|
|
scope:activity = {
|
|
change_variable = {
|
|
name = green_odds_show_a
|
|
add = {
|
|
value = prev.var:odds_show_a
|
|
min = 1
|
|
}
|
|
}
|
|
}
|
|
}
|
|
# Set the B variable based on the total amount of chance - the opporutnity for success
|
|
change_variable = {
|
|
name = green_odds_show_b
|
|
add = {
|
|
value = var:total_chance_show
|
|
subtract = var:green_odds_show_a
|
|
min = 1
|
|
}
|
|
}
|
|
# Calculate the percentage chance of success for readability
|
|
set_variable = {
|
|
name = green_percent_chance_to_show
|
|
value = {
|
|
add = var:green_odds_show_a
|
|
divide = {
|
|
value = 0
|
|
add = var:green_odds_show_a
|
|
add = var:green_odds_show_b
|
|
}
|
|
multiply = 100
|
|
min = 1
|
|
max = 99
|
|
}
|
|
}
|
|
|
|
# WHITES
|
|
# Initialize variables
|
|
set_variable = {
|
|
name = white_odds_show_a
|
|
value = 0
|
|
}
|
|
set_variable = {
|
|
name = white_odds_show_b
|
|
value = 0
|
|
}
|
|
|
|
# Account for each team member
|
|
every_guest_subset = {
|
|
name = charioteers
|
|
limit = { has_trait = charioteer_white }
|
|
scope:activity = {
|
|
change_variable = {
|
|
name = white_odds_show_a
|
|
add = {
|
|
value = prev.var:odds_show_a
|
|
min = 1
|
|
}
|
|
}
|
|
}
|
|
}
|
|
# Set the B variable based on the total amount of chance - the opporutnity for success
|
|
change_variable = {
|
|
name = white_odds_show_b
|
|
add = {
|
|
value = var:total_chance_show
|
|
subtract = var:white_odds_show_a
|
|
min = 1
|
|
}
|
|
}
|
|
# Calculate the percentage chance of success for readability
|
|
set_variable = {
|
|
name = white_percent_chance_to_show
|
|
value = {
|
|
add = var:white_odds_show_a
|
|
divide = {
|
|
value = 0
|
|
add = var:white_odds_show_a
|
|
add = var:white_odds_show_b
|
|
}
|
|
multiply = 100
|
|
min = 1
|
|
max = 99
|
|
}
|
|
}
|
|
|
|
# REDS
|
|
# Initialize variables
|
|
set_variable = {
|
|
name = red_odds_show_a
|
|
value = 0
|
|
}
|
|
set_variable = {
|
|
name = red_odds_show_b
|
|
value = 0
|
|
}
|
|
|
|
# Account for each team member
|
|
every_guest_subset = {
|
|
name = charioteers
|
|
limit = { has_trait = charioteer_red }
|
|
scope:activity = {
|
|
change_variable = {
|
|
name = red_odds_show_a
|
|
add = {
|
|
value = prev.var:odds_show_a
|
|
min = 1
|
|
}
|
|
}
|
|
}
|
|
}
|
|
# Set the B variable based on the total amount of chance - the opporutnity for success
|
|
change_variable = {
|
|
name = red_odds_show_b
|
|
add = {
|
|
value = var:total_chance_show
|
|
subtract = var:red_odds_show_a
|
|
min = 1
|
|
}
|
|
}
|
|
# Calculate the percentage chance of success for readability
|
|
set_variable = {
|
|
name = red_percent_chance_to_show
|
|
value = {
|
|
add = var:red_odds_show_a
|
|
divide = {
|
|
value = 0
|
|
add = var:red_odds_show_a
|
|
add = var:red_odds_show_b
|
|
}
|
|
multiply = 100
|
|
min = 1
|
|
max = 99
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
calculate_chariot_payout_effect = {
|
|
scope:activity = {
|
|
every_guest_subset = {
|
|
name = charioteers
|
|
set_variable = {
|
|
name = win_payout
|
|
value = {
|
|
add = var:odds_win_b
|
|
subtract = {
|
|
value = var:odds_win_b
|
|
multiply = 0.3
|
|
}
|
|
save_temporary_value_as = temp_val
|
|
subtract = {
|
|
value = scope:temp_val
|
|
multiply = bookkeeper_small_commission_value
|
|
round = yes
|
|
}
|
|
divide = var:odds_win_a
|
|
add = 1
|
|
min = 1.1
|
|
}
|
|
}
|
|
set_variable = {
|
|
name = place_payout
|
|
value = {
|
|
add = var:odds_place_b
|
|
subtract = {
|
|
value = var:odds_place_b
|
|
multiply = 0.3
|
|
}
|
|
save_temporary_value_as = temp_val
|
|
subtract = {
|
|
value = scope:temp_val
|
|
multiply = bookkeeper_medium_commission_value
|
|
round = yes
|
|
}
|
|
divide = var:odds_place_a
|
|
add = 1
|
|
min = 1.1
|
|
}
|
|
}
|
|
set_variable = {
|
|
name = show_payout
|
|
value = {
|
|
add = var:odds_show_b
|
|
subtract = {
|
|
value = var:odds_show_b
|
|
multiply = 0.3
|
|
}
|
|
save_temporary_value_as = temp_val
|
|
subtract = {
|
|
value = scope:temp_val
|
|
multiply = bookkeeper_large_commission_value
|
|
round = yes
|
|
}
|
|
divide = var:odds_show_a
|
|
add = 1
|
|
min = 1.1
|
|
}
|
|
}
|
|
}
|
|
set_variable = {
|
|
name = blue_win_payout
|
|
value = {
|
|
add = var:blue_odds_win_b
|
|
subtract = {
|
|
value = var:blue_odds_win_b
|
|
multiply = bookkeeper_small_commission_value
|
|
round = yes
|
|
}
|
|
divide = var:blue_odds_win_a
|
|
add = 1
|
|
min = 1.1
|
|
}
|
|
}
|
|
set_variable = {
|
|
name = blue_place_payout
|
|
value = {
|
|
add = var:blue_odds_place_b
|
|
subtract = {
|
|
value = var:blue_odds_place_b
|
|
multiply = bookkeeper_medium_commission_value
|
|
round = yes
|
|
}
|
|
divide = var:blue_odds_place_a
|
|
add = 1
|
|
min = 1.1
|
|
}
|
|
}
|
|
set_variable = {
|
|
name = blue_show_payout
|
|
value = {
|
|
add = var:blue_odds_show_b
|
|
subtract = {
|
|
value = var:blue_odds_show_b
|
|
multiply = bookkeeper_large_commission_value
|
|
round = yes
|
|
}
|
|
divide = var:blue_odds_show_a
|
|
add = 1
|
|
min = 1.1
|
|
}
|
|
}
|
|
|
|
set_variable = {
|
|
name = green_win_payout
|
|
value = {
|
|
add = var:green_odds_win_b
|
|
subtract = {
|
|
value = var:green_odds_win_b
|
|
multiply = bookkeeper_small_commission_value
|
|
round = yes
|
|
}
|
|
divide = var:green_odds_win_a
|
|
add = 1
|
|
min = 1.1
|
|
}
|
|
}
|
|
set_variable = {
|
|
name = green_place_payout
|
|
value = {
|
|
add = var:green_odds_place_b
|
|
subtract = {
|
|
value = var:green_odds_place_b
|
|
multiply = bookkeeper_medium_commission_value
|
|
round = yes
|
|
}
|
|
divide = var:green_odds_place_a
|
|
add = 1
|
|
min = 1.1
|
|
}
|
|
}
|
|
set_variable = {
|
|
name = green_show_payout
|
|
value = {
|
|
add = var:green_odds_show_b
|
|
subtract = {
|
|
value = var:green_odds_show_b
|
|
multiply = bookkeeper_large_commission_value
|
|
round = yes
|
|
}
|
|
divide = var:green_odds_show_a
|
|
add = 1
|
|
min = 1.1
|
|
}
|
|
}
|
|
|
|
set_variable = {
|
|
name = white_win_payout
|
|
value = {
|
|
add = var:white_odds_win_b
|
|
subtract = {
|
|
value = var:white_odds_win_b
|
|
multiply = bookkeeper_small_commission_value
|
|
round = yes
|
|
}
|
|
divide = var:white_odds_win_a
|
|
add = 1
|
|
min = 1.1
|
|
}
|
|
}
|
|
set_variable = {
|
|
name = white_place_payout
|
|
value = {
|
|
add = var:white_odds_place_b
|
|
subtract = {
|
|
value = var:white_odds_place_b
|
|
multiply = bookkeeper_medium_commission_value
|
|
round = yes
|
|
}
|
|
divide = var:white_odds_place_a
|
|
add = 1
|
|
min = 1.1
|
|
}
|
|
}
|
|
set_variable = {
|
|
name = white_show_payout
|
|
value = {
|
|
add = var:white_odds_show_b
|
|
subtract = {
|
|
value = var:white_odds_show_b
|
|
multiply = bookkeeper_large_commission_value
|
|
round = yes
|
|
}
|
|
divide = var:white_odds_show_a
|
|
add = 1
|
|
min = 1.1
|
|
}
|
|
}
|
|
|
|
set_variable = {
|
|
name = red_win_payout
|
|
value = {
|
|
add = var:red_odds_win_b
|
|
subtract = {
|
|
value = var:red_odds_win_b
|
|
multiply = bookkeeper_small_commission_value
|
|
round = yes
|
|
}
|
|
divide = var:red_odds_win_a
|
|
add = 1
|
|
min = 1.1
|
|
}
|
|
}
|
|
set_variable = {
|
|
name = red_place_payout
|
|
value = {
|
|
add = var:red_odds_place_b
|
|
subtract = {
|
|
value = var:red_odds_place_b
|
|
multiply = bookkeeper_medium_commission_value
|
|
round = yes
|
|
}
|
|
divide = var:red_odds_place_a
|
|
add = 1
|
|
min = 1.1
|
|
}
|
|
}
|
|
set_variable = {
|
|
name = red_show_payout
|
|
value = {
|
|
add = var:red_odds_show_b
|
|
subtract = {
|
|
value = var:red_odds_show_b
|
|
multiply = bookkeeper_large_commission_value
|
|
round = yes
|
|
}
|
|
divide = var:red_odds_show_a
|
|
add = 1
|
|
min = 1.1
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
set_or_increment_lucky_better_variable = {
|
|
if = {
|
|
limit = {
|
|
NOT = { has_variable = lucky_bet_counter }
|
|
}
|
|
set_variable = {
|
|
name = lucky_bet_counter
|
|
value = 1
|
|
}
|
|
}
|
|
else = {
|
|
change_variable = {
|
|
name = lucky_bet_counter
|
|
add = 1
|
|
}
|
|
if = {
|
|
limit = {
|
|
var:lucky_bet_counter >= 5
|
|
has_any_nickname = no
|
|
}
|
|
send_interface_toast = {
|
|
# works for our purposes "New Nickname"
|
|
title = sell_titles_nickname_gained
|
|
left_icon = this
|
|
give_nickname = nick_the_lucky
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
disburse_chariot_race_activity_host_rewards = {
|
|
scope:activity = {
|
|
add_activity_log_entry = {
|
|
key = chariot_race_host_rewards
|
|
score = 100
|
|
show_in_conclusion = yes
|
|
character = root
|
|
location = root.location
|
|
|
|
root = {
|
|
# Some base influence
|
|
change_influence = medium_influence_gain
|
|
# Extra influence rewards for having a successful wager
|
|
if = {
|
|
limit = {
|
|
has_character_flag = successful_bet
|
|
has_variable = wager_type
|
|
}
|
|
switch = {
|
|
trigger = var:wager_type
|
|
flag:win = {
|
|
change_influence = medium_influence_gain
|
|
}
|
|
flag:place = {
|
|
change_influence = minor_influence_gain
|
|
}
|
|
flag:show = {
|
|
change_influence = miniscule_influence_gain
|
|
}
|
|
}
|
|
}
|
|
|
|
# Rewards for employing a charioteer who wins/places/shows
|
|
if = {
|
|
limit = { employs_court_position = charioteer_court_position }
|
|
if = {
|
|
limit = {
|
|
any_court_position_holder = {
|
|
type = charioteer_court_position
|
|
scope:activity.var:first_place ?= this
|
|
}
|
|
}
|
|
change_influence = monumental_influence_gain
|
|
}
|
|
else_if = {
|
|
limit = {
|
|
any_court_position_holder = {
|
|
type = charioteer_court_position
|
|
scope:activity.var:second_place ?= this
|
|
}
|
|
}
|
|
change_influence = massive_influence_gain
|
|
}
|
|
else_if = {
|
|
limit = {
|
|
any_court_position_holder = {
|
|
type = charioteer_court_position
|
|
scope:activity.var:third_place ?= this
|
|
}
|
|
}
|
|
change_influence = major_influence_gain
|
|
}
|
|
}
|
|
|
|
#Legitimacy and popular opinion for how fancy your chariot races were
|
|
if = {
|
|
limit = {
|
|
scope:activity = {
|
|
has_activity_option = {
|
|
category = chariot_option_entertainment
|
|
option = chariot_entertainment_bad
|
|
}
|
|
}
|
|
}
|
|
if = {
|
|
limit = {
|
|
scope:host.capital_county = {
|
|
county_opinion > 0
|
|
}
|
|
}
|
|
add_legitimacy = miniscule_legitimacy_gain
|
|
if = {
|
|
limit = { has_activity_intent = reduce_stress_intent }
|
|
stress_impact = {
|
|
base = major_stress_loss
|
|
athletic = miniscule_stress_loss
|
|
gregarious = miniscule_stress_loss
|
|
}
|
|
}
|
|
custom_tooltip = chariot_race_reward_high_county_opinion_tt
|
|
}
|
|
else_if = {
|
|
limit = {
|
|
scope:host.capital_county = {
|
|
county_opinion <= -50
|
|
}
|
|
}
|
|
add_legitimacy = 5
|
|
if = {
|
|
limit = { has_activity_intent = reduce_stress_intent }
|
|
stress_impact = {
|
|
base = medium_stress_loss
|
|
athletic = miniscule_stress_loss
|
|
gregarious = miniscule_stress_loss
|
|
}
|
|
}
|
|
custom_tooltip = chariot_race_reward_low_county_opinion_tt
|
|
}
|
|
else = {
|
|
add_legitimacy = 10
|
|
}
|
|
}
|
|
else_if = {
|
|
limit = {
|
|
scope:activity = {
|
|
has_activity_option = {
|
|
category = chariot_option_entertainment
|
|
option = chariot_entertainment_normal
|
|
}
|
|
}
|
|
}
|
|
if = {
|
|
limit = {
|
|
scope:host.capital_county = {
|
|
county_opinion > 0
|
|
}
|
|
}
|
|
add_legitimacy = minor_legitimacy_gain
|
|
if = {
|
|
limit = { has_activity_intent = reduce_stress_intent }
|
|
stress_impact = {
|
|
base = massive_stress_loss
|
|
athletic = miniscule_stress_loss
|
|
gregarious = miniscule_stress_loss
|
|
}
|
|
}
|
|
capital_county = {
|
|
change_county_control = miniscule_county_control_gain
|
|
}
|
|
|
|
custom_tooltip = chariot_race_reward_high_county_opinion_tt
|
|
}
|
|
else_if = {
|
|
limit = {
|
|
scope:host.capital_county = {
|
|
county_opinion <= -50
|
|
}
|
|
}
|
|
add_legitimacy = 10
|
|
if = {
|
|
limit = { has_activity_intent = reduce_stress_intent }
|
|
stress_impact = {
|
|
base = major_stress_loss
|
|
athletic = miniscule_stress_loss
|
|
gregarious = miniscule_stress_loss
|
|
}
|
|
}
|
|
custom_tooltip = chariot_race_reward_low_county_opinion_tt
|
|
}
|
|
else = {
|
|
add_legitimacy = miniscule_legitimacy_gain
|
|
}
|
|
scope:host.capital_county = {
|
|
add_county_modifier = {
|
|
modifier = ep3_chariot_race_weak_appeasement_modifier
|
|
years = 10
|
|
}
|
|
}
|
|
}
|
|
else_if = {
|
|
limit = {
|
|
scope:activity = {
|
|
has_activity_option = {
|
|
category = chariot_option_entertainment
|
|
option = chariot_entertainment_good
|
|
}
|
|
}
|
|
}
|
|
if = {
|
|
limit = {
|
|
scope:host.capital_county = {
|
|
county_opinion > 0
|
|
}
|
|
}
|
|
add_legitimacy = medium_legitimacy_gain
|
|
if = {
|
|
limit = { has_activity_intent = reduce_stress_intent }
|
|
stress_impact = {
|
|
base = monumental_stress_loss
|
|
athletic = miniscule_stress_loss
|
|
gregarious = miniscule_stress_loss
|
|
}
|
|
}
|
|
capital_county = {
|
|
change_county_control = minor_county_control_gain
|
|
}
|
|
custom_tooltip = chariot_race_reward_high_county_opinion_tt
|
|
}
|
|
else_if = {
|
|
limit = {
|
|
scope:host.capital_county = {
|
|
county_opinion <= -50
|
|
}
|
|
}
|
|
add_legitimacy = miniscule_legitimacy_gain
|
|
if = {
|
|
limit = { has_activity_intent = reduce_stress_intent }
|
|
stress_impact = {
|
|
base = miniscule_stress_loss
|
|
athletic = massive_stress_loss
|
|
gregarious = miniscule_stress_loss
|
|
}
|
|
}
|
|
custom_tooltip = chariot_race_reward_low_county_opinion_tt
|
|
}
|
|
else = {
|
|
add_legitimacy = minor_legitimacy_gain
|
|
}
|
|
scope:host.capital_county = {
|
|
add_county_modifier = {
|
|
modifier = ep3_chariot_race_strong_appeasement_modifier
|
|
years = 10
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
disburse_chariot_race_activity_spectator_rewards = {
|
|
# Some smaller amounts of Influence rewards for having a successful wager
|
|
if = {
|
|
limit = {
|
|
has_character_flag = successful_bet
|
|
has_variable = wager_type
|
|
}
|
|
switch = {
|
|
trigger = var:wager_type
|
|
flag:win = {
|
|
change_influence = medium_influence_gain
|
|
}
|
|
flag:place = {
|
|
change_influence = minor_influence_gain
|
|
}
|
|
flag:show = {
|
|
change_influence = miniscule_influence_gain
|
|
}
|
|
}
|
|
}
|
|
|
|
# Rewards for employing a charioteer who wins/places/shows
|
|
# You get more influence if your charioteer is successful
|
|
if = {
|
|
limit = {
|
|
any_court_position_holder = {
|
|
type = charioteer_court_position
|
|
scope:activity.var:first_place ?= this
|
|
}
|
|
}
|
|
change_influence = monumental_influence_gain
|
|
if = {
|
|
limit = { has_activity_intent = reduce_stress_intent }
|
|
stress_impact = {
|
|
base = monumental_stress_loss
|
|
athletic = miniscule_stress_loss
|
|
gregarious = miniscule_stress_loss
|
|
}
|
|
}
|
|
}
|
|
else_if = {
|
|
limit = {
|
|
any_court_position_holder = {
|
|
type = charioteer_court_position
|
|
scope:activity.var:second_place ?= this
|
|
}
|
|
}
|
|
change_influence = massive_influence_gain
|
|
if = {
|
|
limit = { has_activity_intent = reduce_stress_intent }
|
|
stress_impact = {
|
|
base = massive_stress_loss
|
|
athletic = miniscule_stress_loss
|
|
gregarious = miniscule_stress_loss
|
|
}
|
|
}
|
|
}
|
|
else_if = {
|
|
limit = {
|
|
any_court_position_holder = {
|
|
type = charioteer_court_position
|
|
scope:activity.var:third_place ?= this
|
|
}
|
|
}
|
|
change_influence = major_influence_gain
|
|
if = {
|
|
limit = { has_activity_intent = reduce_stress_intent }
|
|
stress_impact = {
|
|
base = massive_stress_loss
|
|
athletic = miniscule_stress_loss
|
|
gregarious = miniscule_stress_loss
|
|
}
|
|
}
|
|
}
|
|
else_if = {
|
|
limit = { has_activity_intent = reduce_stress_intent }
|
|
stress_impact = {
|
|
base = miniscule_stress_loss
|
|
athletic = major_stress_loss
|
|
gregarious = miniscule_stress_loss
|
|
}
|
|
}
|
|
}
|
|
|
|
disburse_chariot_race_activity_charioteer_rewards = {
|
|
# Give them some xp based on place finished
|
|
if = {
|
|
limit = { this = scope:activity.var:first_place }
|
|
scope:activity = {
|
|
add_activity_log_entry = {
|
|
key = charioteer_gained_trait_xp_key
|
|
score = 110
|
|
character = scope:activity.var:first_place
|
|
scope:activity.var:first_place = {
|
|
distribute_charioteer_trait_xp_effect = { VALUE = 15 } }
|
|
}
|
|
}
|
|
}
|
|
else_if = {
|
|
limit = { this = scope:activity.var:second_place }
|
|
scope:activity = {
|
|
add_activity_log_entry = {
|
|
key = charioteer_gained_trait_xp_key
|
|
score = 110
|
|
character = scope:activity.var:second_place
|
|
scope:activity.var:second_place = { distribute_charioteer_trait_xp_effect = { VALUE = 12 } }
|
|
}
|
|
}
|
|
}
|
|
else_if = {
|
|
limit = { this = scope:activity.var:third_place }
|
|
scope:activity = {
|
|
add_activity_log_entry = {
|
|
key = charioteer_gained_trait_xp_key
|
|
score = 110
|
|
character = scope:activity.var:third_place
|
|
scope:activity.var:third_place = { distribute_charioteer_trait_xp_effect = { VALUE = 8 } }
|
|
}
|
|
}
|
|
}
|
|
else = {
|
|
scope:activity = {
|
|
add_activity_log_entry = {
|
|
key = charioteer_gained_trait_xp_key
|
|
score = 110
|
|
character = prev
|
|
prev = { distribute_charioteer_trait_xp_effect = { VALUE = 3 } }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# Used to show how much a character gets from a successful wager in end of the race event chariot_race.0600
|
|
individual_chariot_race_payout_effect = {
|
|
save_scope_as = current_gambler
|
|
if = {
|
|
limit = {
|
|
var:wager_type ?= flag:win
|
|
var:wager_target ?= scope:activity.var:first_place
|
|
}
|
|
add_gold = {
|
|
value = scope:current_gambler.var:wager_value
|
|
multiply = scope:activity.var:first_place.var:win_payout
|
|
max = scope:current_gambler.monumental_gold_value
|
|
}
|
|
}
|
|
else_if = {
|
|
limit = {
|
|
var:wager_type ?= flag:place
|
|
OR = {
|
|
var:wager_target ?= scope:activity.var:first_place
|
|
var:wager_target ?= scope:activity.var:second_place
|
|
}
|
|
}
|
|
add_gold = {
|
|
value = scope:current_gambler.var:wager_value
|
|
multiply = scope:activity.var:second_place.var:place_payout
|
|
max = scope:current_gambler.monumental_gold_value
|
|
}
|
|
}
|
|
else_if = {
|
|
limit = {
|
|
var:wager_type ?= flag:show
|
|
OR = {
|
|
var:wager_target ?= scope:activity.var:first_place
|
|
var:wager_target ?= scope:activity.var:second_place
|
|
var:wager_target ?= scope:activity.var:third_place
|
|
}
|
|
}
|
|
add_gold = {
|
|
value = scope:current_gambler.var:wager_value
|
|
multiply = scope:activity.var:third_place.var:show_payout
|
|
max = scope:current_gambler.monumental_gold_value
|
|
}
|
|
}
|
|
# Handle team based bets
|
|
else_if = {
|
|
limit = {
|
|
var:wager_type ?= flag:win
|
|
var:wager_target ?= scope:current_gambler
|
|
}
|
|
switch = {
|
|
trigger = var:wager_team
|
|
flag:blues = {
|
|
if = {
|
|
limit = { scope:activity.var:first_place = { has_trait = charioteer_blue } }
|
|
add_gold = {
|
|
value = scope:current_gambler.var:wager_value
|
|
multiply = scope:activity.var:blue_win_payout
|
|
max = scope:current_gambler.monumental_gold_value
|
|
}
|
|
}
|
|
}
|
|
flag:greens = {
|
|
if = {
|
|
limit = { scope:activity.var:first_place = { has_trait = charioteer_green } }
|
|
add_gold = {
|
|
value = scope:current_gambler.var:wager_value
|
|
multiply = scope:activity.var:green_win_payout
|
|
max = scope:current_gambler.monumental_gold_value
|
|
}
|
|
}
|
|
}
|
|
flag:whites = {
|
|
if = {
|
|
limit = { scope:activity.var:first_place = { has_trait = charioteer_white } }
|
|
add_gold = {
|
|
value = scope:current_gambler.var:wager_value
|
|
multiply = scope:activity.var:white_win_payout
|
|
max = scope:current_gambler.monumental_gold_value
|
|
}
|
|
}
|
|
}
|
|
flag:reds = {
|
|
if = {
|
|
limit = { scope:activity.var:first_place = { has_trait = charioteer_red } }
|
|
add_gold = {
|
|
value = scope:current_gambler.var:wager_value
|
|
multiply = scope:activity.var:red_win_payout
|
|
max = scope:current_gambler.monumental_gold_value
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else_if = {
|
|
limit = {
|
|
var:wager_type ?= flag:place
|
|
var:wager_target ?= scope:current_gambler
|
|
}
|
|
switch = {
|
|
trigger = var:wager_team
|
|
flag:blues = {
|
|
if = {
|
|
limit = {
|
|
OR = {
|
|
scope:activity.var:first_place = { has_trait = charioteer_blue }
|
|
scope:activity.var:second_place = { has_trait = charioteer_blue }
|
|
}
|
|
}
|
|
add_gold = {
|
|
value = scope:current_gambler.var:wager_value
|
|
multiply = scope:activity.var:blue_place_payout
|
|
max = scope:current_gambler.monumental_gold_value
|
|
}
|
|
}
|
|
}
|
|
flag:greens = {
|
|
if = {
|
|
limit = {
|
|
OR = {
|
|
scope:activity.var:first_place = { has_trait = charioteer_green }
|
|
scope:activity.var:second_place = { has_trait = charioteer_green }
|
|
}
|
|
}
|
|
add_gold = {
|
|
value = scope:current_gambler.var:wager_value
|
|
multiply = scope:activity.var:green_place_payout
|
|
max = scope:current_gambler.monumental_gold_value
|
|
}
|
|
}
|
|
}
|
|
flag:whites = {
|
|
if = {
|
|
limit = {
|
|
OR = {
|
|
scope:activity.var:first_place = { has_trait = charioteer_white }
|
|
scope:activity.var:second_place = { has_trait = charioteer_white }
|
|
}
|
|
}
|
|
add_gold = {
|
|
value = scope:current_gambler.var:wager_value
|
|
multiply = scope:activity.var:white_place_payout
|
|
max = scope:current_gambler.monumental_gold_value
|
|
}
|
|
}
|
|
}
|
|
flag:reds = {
|
|
if = {
|
|
limit = {
|
|
OR = {
|
|
scope:activity.var:first_place = { has_trait = charioteer_red }
|
|
scope:activity.var:second_place = { has_trait = charioteer_red }
|
|
}
|
|
}
|
|
add_gold = {
|
|
value = scope:current_gambler.var:wager_value
|
|
multiply = scope:activity.var:red_place_payout
|
|
max = scope:current_gambler.monumental_gold_value
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else_if = {
|
|
limit = {
|
|
var:wager_type ?= flag:show
|
|
var:wager_target ?= scope:current_gambler
|
|
}
|
|
switch = {
|
|
trigger = var:wager_team
|
|
flag:blues = {
|
|
if = {
|
|
limit = {
|
|
OR = {
|
|
scope:activity.var:first_place = { has_trait = charioteer_blue }
|
|
scope:activity.var:second_place = { has_trait = charioteer_blue }
|
|
scope:activity.var:third_place = { has_trait = charioteer_blue }
|
|
}
|
|
}
|
|
add_gold = {
|
|
value = scope:current_gambler.var:wager_value
|
|
multiply = scope:activity.var:blue_show_payout
|
|
max = scope:current_gambler.monumental_gold_value
|
|
}
|
|
}
|
|
}
|
|
flag:greens = {
|
|
if = {
|
|
limit = {
|
|
OR = {
|
|
scope:activity.var:first_place = { has_trait = charioteer_green }
|
|
scope:activity.var:second_place = { has_trait = charioteer_green }
|
|
scope:activity.var:third_place = { has_trait = charioteer_green }
|
|
}
|
|
}
|
|
add_gold = {
|
|
value = scope:current_gambler.var:wager_value
|
|
multiply = scope:activity.var:green_show_payout
|
|
max = scope:current_gambler.monumental_gold_value
|
|
}
|
|
}
|
|
}
|
|
flag:whites = {
|
|
if = {
|
|
limit = {
|
|
OR = {
|
|
scope:activity.var:first_place = { has_trait = charioteer_white }
|
|
scope:activity.var:second_place = { has_trait = charioteer_white }
|
|
scope:activity.var:third_place = { has_trait = charioteer_white }
|
|
}
|
|
}
|
|
add_gold = {
|
|
value = scope:current_gambler.var:wager_value
|
|
multiply = scope:activity.var:white_show_payout
|
|
max = scope:current_gambler.monumental_gold_value
|
|
}
|
|
}
|
|
}
|
|
flag:reds = {
|
|
if = {
|
|
limit = {
|
|
OR = {
|
|
scope:activity.var:first_place = { has_trait = charioteer_red }
|
|
scope:activity.var:second_place = { has_trait = charioteer_red }
|
|
scope:activity.var:third_place = { has_trait = charioteer_red }
|
|
}
|
|
}
|
|
add_gold = {
|
|
value = scope:current_gambler.var:wager_value
|
|
multiply = scope:activity.var:red_show_payout
|
|
max = scope:current_gambler.monumental_gold_value
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else_if = {
|
|
limit = { has_variable = wager_value }
|
|
custom_tooltip = chariot_race_lost_bet_tt
|
|
}
|
|
}
|
|
|
|
chariot_race_payout_effect = {
|
|
scope:activity = {
|
|
every_guest_subset = {
|
|
name = spectators
|
|
save_scope_as = current_gambler
|
|
if = {
|
|
limit = {
|
|
var:wager_type ?= flag:win
|
|
var:wager_target ?= scope:activity.var:first_place
|
|
}
|
|
set_or_increment_lucky_better_variable = yes
|
|
add_character_flag = successful_bet
|
|
scope:activity = {
|
|
add_activity_log_entry = {
|
|
key = chariot_race_betting_char_outcome_key
|
|
score = 100
|
|
show_in_conclusion = yes
|
|
character = scope:current_gambler
|
|
scope:current_gambler = {
|
|
add_gold = {
|
|
value = scope:current_gambler.var:wager_value
|
|
multiply = scope:activity.var:first_place.var:win_payout
|
|
max = scope:current_gambler.monumental_gold_value
|
|
}
|
|
}
|
|
change_variable = {
|
|
name = chariot_race_pot
|
|
subtract = {
|
|
value = scope:current_gambler.var:wager_value
|
|
multiply = scope:activity.var:first_place.var:win_payout
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else_if = {
|
|
limit = {
|
|
var:wager_type ?= flag:place
|
|
OR = {
|
|
var:wager_target ?= scope:activity.var:first_place
|
|
var:wager_target ?= scope:activity.var:second_place
|
|
}
|
|
}
|
|
set_or_increment_lucky_better_variable = yes
|
|
add_character_flag = successful_bet
|
|
scope:activity = {
|
|
add_activity_log_entry = {
|
|
key = chariot_race_betting_char_outcome_key
|
|
score = 100
|
|
show_in_conclusion = yes
|
|
character = scope:current_gambler
|
|
scope:current_gambler = {
|
|
add_gold = {
|
|
value = scope:current_gambler.var:wager_value
|
|
multiply = scope:activity.var:second_place.var:place_payout
|
|
max = scope:current_gambler.monumental_gold_value
|
|
}
|
|
}
|
|
change_variable = {
|
|
name = chariot_race_pot
|
|
subtract = {
|
|
value = scope:current_gambler.var:wager_value
|
|
multiply = scope:activity.var:second_place.var:place_payout
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else_if = {
|
|
limit = {
|
|
var:wager_type ?= flag:show
|
|
OR = {
|
|
var:wager_target ?= scope:activity.var:first_place
|
|
var:wager_target ?= scope:activity.var:second_place
|
|
var:wager_target ?= scope:activity.var:third_place
|
|
}
|
|
}
|
|
set_or_increment_lucky_better_variable = yes
|
|
add_character_flag = successful_bet
|
|
scope:activity = {
|
|
add_activity_log_entry = {
|
|
key = chariot_race_betting_char_outcome_key
|
|
score = 100
|
|
show_in_conclusion = yes
|
|
character = scope:current_gambler
|
|
scope:current_gambler = {
|
|
add_gold = {
|
|
value = scope:current_gambler.var:wager_value
|
|
multiply = scope:activity.var:third_place.var:show_payout
|
|
max = scope:current_gambler.monumental_gold_value
|
|
}
|
|
}
|
|
change_variable = {
|
|
name = chariot_race_pot
|
|
subtract = {
|
|
value = scope:current_gambler.var:wager_value
|
|
multiply = scope:activity.var:third_place.var:show_payout
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
# Handle team based bets
|
|
else_if = {
|
|
limit = {
|
|
var:wager_type ?= flag:win
|
|
var:wager_target ?= this
|
|
}
|
|
switch = {
|
|
trigger = var:wager_team
|
|
flag:blues = {
|
|
if = {
|
|
limit = { scope:activity.var:first_place = { has_trait = charioteer_blue } }
|
|
set_or_increment_lucky_better_variable = yes
|
|
add_character_flag = successful_bet
|
|
scope:activity = {
|
|
add_activity_log_entry = {
|
|
key = chariot_race_betting_team_outcome_key
|
|
score = 100
|
|
show_in_conclusion = yes
|
|
character = scope:current_gambler
|
|
scope:current_gambler = {
|
|
add_gold = {
|
|
value = scope:current_gambler.var:wager_value
|
|
multiply = scope:activity.var:blue_win_payout
|
|
max = scope:current_gambler.monumental_gold_value
|
|
}
|
|
}
|
|
change_variable = {
|
|
name = chariot_race_pot
|
|
subtract = {
|
|
value = scope:current_gambler.var:wager_value
|
|
multiply = scope:activity.var:blue_win_payout
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
flag:greens = {
|
|
if = {
|
|
limit = { scope:activity.var:first_place = { has_trait = charioteer_green } }
|
|
set_or_increment_lucky_better_variable = yes
|
|
add_character_flag = successful_bet
|
|
scope:activity = {
|
|
add_activity_log_entry = {
|
|
key = chariot_race_betting_team_outcome_key
|
|
score = 100
|
|
show_in_conclusion = yes
|
|
character = scope:current_gambler
|
|
scope:current_gambler = {
|
|
add_gold = {
|
|
value = scope:current_gambler.var:wager_value
|
|
multiply = scope:activity.var:green_win_payout
|
|
max = scope:current_gambler.monumental_gold_value
|
|
}
|
|
}
|
|
change_variable = {
|
|
name = chariot_race_pot
|
|
subtract = {
|
|
value = scope:current_gambler.var:wager_value
|
|
multiply = scope:activity.var:green_win_payout
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
flag:whites = {
|
|
if = {
|
|
limit = { scope:activity.var:first_place = { has_trait = charioteer_white } }
|
|
set_or_increment_lucky_better_variable = yes
|
|
add_character_flag = successful_bet
|
|
scope:activity = {
|
|
add_activity_log_entry = {
|
|
key = chariot_race_betting_team_outcome_key
|
|
score = 100
|
|
show_in_conclusion = yes
|
|
character = scope:current_gambler
|
|
scope:current_gambler = {
|
|
add_gold = {
|
|
value = scope:current_gambler.var:wager_value
|
|
multiply = scope:activity.var:white_win_payout
|
|
max = scope:current_gambler.monumental_gold_value
|
|
}
|
|
}
|
|
change_variable = {
|
|
name = chariot_race_pot
|
|
subtract = {
|
|
value = scope:current_gambler.var:wager_value
|
|
multiply = scope:activity.var:white_win_payout
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
flag:reds = {
|
|
if = {
|
|
limit = { scope:activity.var:first_place = { has_trait = charioteer_red } }
|
|
set_or_increment_lucky_better_variable = yes
|
|
add_character_flag = successful_bet
|
|
scope:activity = {
|
|
add_activity_log_entry = {
|
|
key = chariot_race_betting_team_outcome_key
|
|
score = 100
|
|
show_in_conclusion = yes
|
|
character = scope:current_gambler
|
|
scope:current_gambler = {
|
|
add_gold = {
|
|
value = scope:current_gambler.var:wager_value
|
|
multiply = scope:activity.var:red_win_payout
|
|
max = scope:current_gambler.monumental_gold_value
|
|
}
|
|
}
|
|
change_variable = {
|
|
name = chariot_race_pot
|
|
subtract = {
|
|
value = scope:current_gambler.var:wager_value
|
|
multiply = scope:activity.var:red_win_payout
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else_if = {
|
|
limit = {
|
|
var:wager_type ?= flag:place
|
|
var:wager_target ?= this
|
|
}
|
|
switch = {
|
|
trigger = var:wager_team
|
|
flag:blues = {
|
|
if = {
|
|
limit = {
|
|
OR = {
|
|
scope:activity.var:first_place = { has_trait = charioteer_blue }
|
|
scope:activity.var:second_place = { has_trait = charioteer_blue }
|
|
}
|
|
}
|
|
set_or_increment_lucky_better_variable = yes
|
|
add_character_flag = successful_bet
|
|
scope:activity = {
|
|
add_activity_log_entry = {
|
|
key = chariot_race_betting_team_outcome_key
|
|
score = 100
|
|
show_in_conclusion = yes
|
|
character = scope:current_gambler
|
|
scope:current_gambler = {
|
|
add_gold = {
|
|
value = scope:current_gambler.var:wager_value
|
|
multiply = scope:activity.var:blue_place_payout
|
|
max = scope:current_gambler.monumental_gold_value
|
|
}
|
|
}
|
|
change_variable = {
|
|
name = chariot_race_pot
|
|
subtract = {
|
|
value = scope:current_gambler.var:wager_value
|
|
multiply = scope:activity.var:blue_place_payout
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
flag:greens = {
|
|
if = {
|
|
limit = {
|
|
OR = {
|
|
scope:activity.var:first_place = { has_trait = charioteer_green }
|
|
scope:activity.var:second_place = { has_trait = charioteer_green }
|
|
}
|
|
}
|
|
set_or_increment_lucky_better_variable = yes
|
|
add_character_flag = successful_bet
|
|
scope:activity = {
|
|
add_activity_log_entry = {
|
|
key = chariot_race_betting_team_outcome_key
|
|
score = 100
|
|
show_in_conclusion = yes
|
|
character = scope:current_gambler
|
|
scope:current_gambler = {
|
|
add_gold = {
|
|
value = scope:current_gambler.var:wager_value
|
|
multiply = scope:activity.var:green_place_payout
|
|
max = scope:current_gambler.monumental_gold_value
|
|
}
|
|
}
|
|
change_variable = {
|
|
name = chariot_race_pot
|
|
subtract = {
|
|
value = scope:current_gambler.var:wager_value
|
|
multiply = scope:activity.var:green_place_payout
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
flag:whites = {
|
|
if = {
|
|
limit = {
|
|
OR = {
|
|
scope:activity.var:first_place = { has_trait = charioteer_white }
|
|
scope:activity.var:second_place = { has_trait = charioteer_white }
|
|
}
|
|
}
|
|
set_or_increment_lucky_better_variable = yes
|
|
add_character_flag = successful_bet
|
|
scope:activity = {
|
|
add_activity_log_entry = {
|
|
key = chariot_race_betting_team_outcome_key
|
|
score = 100
|
|
show_in_conclusion = yes
|
|
character = scope:current_gambler
|
|
scope:current_gambler = {
|
|
add_gold = {
|
|
value = scope:current_gambler.var:wager_value
|
|
multiply = scope:activity.var:white_place_payout
|
|
max = scope:current_gambler.monumental_gold_value
|
|
}
|
|
}
|
|
change_variable = {
|
|
name = chariot_race_pot
|
|
subtract = {
|
|
value = scope:current_gambler.var:wager_value
|
|
multiply = scope:activity.var:white_place_payout
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
flag:reds = {
|
|
if = {
|
|
limit = {
|
|
OR = {
|
|
scope:activity.var:first_place = { has_trait = charioteer_red }
|
|
scope:activity.var:second_place = { has_trait = charioteer_red }
|
|
}
|
|
}
|
|
set_or_increment_lucky_better_variable = yes
|
|
add_character_flag = successful_bet
|
|
scope:activity = {
|
|
add_activity_log_entry = {
|
|
key = chariot_race_betting_team_outcome_key
|
|
score = 100
|
|
show_in_conclusion = yes
|
|
character = scope:current_gambler
|
|
scope:current_gambler = {
|
|
add_gold = {
|
|
value = scope:current_gambler.var:wager_value
|
|
multiply = scope:activity.var:red_place_payout
|
|
max = scope:current_gambler.monumental_gold_value
|
|
}
|
|
}
|
|
change_variable = {
|
|
name = chariot_race_pot
|
|
subtract = {
|
|
value = scope:current_gambler.var:wager_value
|
|
multiply = scope:activity.var:red_place_payout
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else_if = {
|
|
limit = {
|
|
var:wager_type ?= flag:show
|
|
var:wager_target ?= this
|
|
}
|
|
switch = {
|
|
trigger = var:wager_team
|
|
flag:blues = {
|
|
if = {
|
|
limit = {
|
|
OR = {
|
|
scope:activity.var:first_place = { has_trait = charioteer_blue }
|
|
scope:activity.var:second_place = { has_trait = charioteer_blue }
|
|
scope:activity.var:third_place = { has_trait = charioteer_blue }
|
|
}
|
|
}
|
|
set_or_increment_lucky_better_variable = yes
|
|
add_character_flag = successful_bet
|
|
scope:activity = {
|
|
add_activity_log_entry = {
|
|
key = chariot_race_betting_team_outcome_key
|
|
score = 100
|
|
show_in_conclusion = yes
|
|
character = scope:current_gambler
|
|
scope:current_gambler = {
|
|
add_gold = {
|
|
value = scope:current_gambler.var:wager_value
|
|
multiply = scope:activity.var:blue_show_payout
|
|
max = scope:current_gambler.monumental_gold_value
|
|
}
|
|
}
|
|
change_variable = {
|
|
name = chariot_race_pot
|
|
subtract = {
|
|
value = scope:current_gambler.var:wager_value
|
|
multiply = scope:activity.var:blue_show_payout
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
flag:greens = {
|
|
if = {
|
|
limit = {
|
|
OR = {
|
|
scope:activity.var:first_place = { has_trait = charioteer_green }
|
|
scope:activity.var:second_place = { has_trait = charioteer_green }
|
|
scope:activity.var:third_place = { has_trait = charioteer_green }
|
|
}
|
|
}
|
|
set_or_increment_lucky_better_variable = yes
|
|
add_character_flag = successful_bet
|
|
scope:activity = {
|
|
add_activity_log_entry = {
|
|
key = chariot_race_betting_team_outcome_key
|
|
score = 100
|
|
show_in_conclusion = yes
|
|
character = scope:current_gambler
|
|
scope:current_gambler = {
|
|
add_gold = {
|
|
value = scope:current_gambler.var:wager_value
|
|
multiply = scope:activity.var:green_show_payout
|
|
max = scope:current_gambler.monumental_gold_value
|
|
}
|
|
}
|
|
change_variable = {
|
|
name = chariot_race_pot
|
|
subtract = {
|
|
value = scope:current_gambler.var:wager_value
|
|
multiply = scope:activity.var:green_show_payout
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
flag:whites = {
|
|
if = {
|
|
limit = {
|
|
OR = {
|
|
scope:activity.var:first_place = { has_trait = charioteer_white }
|
|
scope:activity.var:second_place = { has_trait = charioteer_white }
|
|
scope:activity.var:third_place = { has_trait = charioteer_white }
|
|
}
|
|
}
|
|
set_or_increment_lucky_better_variable = yes
|
|
add_character_flag = successful_bet
|
|
scope:activity = {
|
|
add_activity_log_entry = {
|
|
key = chariot_race_betting_team_outcome_key
|
|
score = 100
|
|
show_in_conclusion = yes
|
|
character = scope:current_gambler
|
|
scope:current_gambler = {
|
|
add_gold = {
|
|
value = scope:current_gambler.var:wager_value
|
|
multiply = scope:activity.var:white_show_payout
|
|
max = scope:current_gambler.monumental_gold_value
|
|
}
|
|
}
|
|
change_variable = {
|
|
name = chariot_race_pot
|
|
subtract = {
|
|
value = scope:current_gambler.var:wager_value
|
|
multiply = scope:activity.var:white_show_payout
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
flag:reds = {
|
|
if = {
|
|
limit = {
|
|
OR = {
|
|
scope:activity.var:first_place = { has_trait = charioteer_red }
|
|
scope:activity.var:second_place = { has_trait = charioteer_red }
|
|
scope:activity.var:third_place = { has_trait = charioteer_red }
|
|
}
|
|
}
|
|
set_or_increment_lucky_better_variable = yes
|
|
add_character_flag = successful_bet
|
|
scope:activity = {
|
|
add_activity_log_entry = {
|
|
key = chariot_race_betting_team_outcome_key
|
|
score = 100
|
|
show_in_conclusion = yes
|
|
character = scope:current_gambler
|
|
scope:current_gambler = {
|
|
add_gold = {
|
|
value = scope:current_gambler.var:wager_value
|
|
multiply = scope:activity.var:red_show_payout
|
|
max = scope:current_gambler.monumental_gold_value
|
|
}
|
|
}
|
|
change_variable = {
|
|
name = chariot_race_pot
|
|
subtract = {
|
|
value = scope:current_gambler.var:wager_value
|
|
multiply = scope:activity.var:red_show_payout
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
clear_placement_variables_effect = {
|
|
switch = {
|
|
trigger = has_variable
|
|
first_place = { remove_variable = first_place }
|
|
second_place = { remove_variable = second_place }
|
|
third_place = { remove_variable = third_place }
|
|
fourth_place = { remove_variable = fourth_place }
|
|
fifth_place = { remove_variable = fifth_place }
|
|
sixth_place = { remove_variable = sixth_place }
|
|
seventh_place = { remove_variable = seventh_place }
|
|
eighth_place = { remove_variable = eighth_place }
|
|
ninth_place = { remove_variable = ninth_place }
|
|
tenth_place = { remove_variable = tenth_place }
|
|
eleventh_place = { remove_variable = eleventh_place }
|
|
twelfth_place = { remove_variable = twelfth_place }
|
|
}
|
|
}
|
|
|
|
chariot_race_remove_variables_effect = {
|
|
scope:activity = {
|
|
# Clean up variables we used for calculations on both Charioteers and Spectators
|
|
every_guest_subset = {
|
|
name = charioteers
|
|
remove_variable = odds_win_a
|
|
remove_variable = odds_win_b
|
|
remove_variable = odds_place_a
|
|
remove_variable = odds_place_b
|
|
remove_variable = odds_show_a
|
|
remove_variable = odds_show_b
|
|
remove_variable = percent_chance_to_win
|
|
remove_variable = percent_chance_to_place
|
|
remove_variable = percent_chance_to_show
|
|
remove_variable = win_payout
|
|
remove_variable = place_payout
|
|
remove_variable = show_payout
|
|
remove_variable = current_place_in_race
|
|
}
|
|
every_guest_subset = {
|
|
name = spectators
|
|
remove_variable = wager_team
|
|
remove_variable = wager_type
|
|
remove_variable = wager_target
|
|
remove_variable = wager_value
|
|
if = {
|
|
limit = { has_character_flag = successful_bet }
|
|
remove_character_flag = successful_bet
|
|
}
|
|
}
|
|
# Really for error suppression only since variables saved on activities are destroyed when the activity is over
|
|
switch = {
|
|
trigger = has_variable
|
|
blue_percent_chance_to_win = { remove_variable = blue_percent_chance_to_win }
|
|
blue_percent_chance_to_show = { remove_variable = blue_percent_chance_to_show }
|
|
blue_percent_chance_to_place = { remove_variable = blue_percent_chance_to_place }
|
|
green_percent_chance_to_win = { remove_variable = green_percent_chance_to_win }
|
|
green_percent_chance_to_place = { remove_variable = green_percent_chance_to_place }
|
|
green_percent_chance_to_show = { remove_variable = green_percent_chance_to_show }
|
|
white_percent_chance_to_place = { remove_variable = white_percent_chance_to_place }
|
|
white_percent_chance_to_win = { remove_variable = white_percent_chance_to_win }
|
|
white_percent_chance_to_show = { remove_variable = white_percent_chance_to_show }
|
|
red_percent_chance_to_win = { remove_variable = red_percent_chance_to_win }
|
|
red_percent_chance_to_place = { remove_variable = red_percent_chance_to_place }
|
|
red_percent_chance_to_show = { remove_variable = red_percent_chance_to_show }
|
|
dead_charioteers = { remove_variable = dead_charioteers }
|
|
}
|
|
clear_placement_variables_effect = yes
|
|
}
|
|
}
|
|
|
|
advance_place_in_ranking_effect = {
|
|
$NEW_LEADING_CHAR$ = { save_scope_as = char_advanced }
|
|
$NEW_TRAILING_CHAR$ = { save_scope_as = char_passed }
|
|
scope:char_advanced = {
|
|
change_variable = {
|
|
name = chariot_race_victory_score
|
|
add = {
|
|
value = scope:char_passed.var:chariot_race_victory_score
|
|
subtract = scope:char_advanced.var:chariot_race_victory_score
|
|
add = 1
|
|
}
|
|
}
|
|
|
|
}
|
|
scope:activity = { update_chariot_race_standings_effect = yes }
|
|
}
|
|
|
|
# Use this effect to update the current standings of the race based on each charioteer's victory score
|
|
update_chariot_race_standings_effect = {
|
|
scope:activity = {
|
|
# Ensure we have dead characters saved for the gui
|
|
if = {
|
|
limit = {
|
|
has_variable = first_place
|
|
var:first_place = { is_alive = no }
|
|
}
|
|
add_to_variable_list = {
|
|
name = dead_charioteers
|
|
target = var:first_place
|
|
}
|
|
}
|
|
else_if = {
|
|
limit = {
|
|
has_variable = second_place
|
|
var:second_place = { is_alive = no }
|
|
}
|
|
add_to_variable_list = {
|
|
name = dead_charioteers
|
|
target = var:second_place
|
|
}
|
|
}
|
|
else_if = {
|
|
limit = {
|
|
has_variable = third_place
|
|
var:third_place = { is_alive = no }
|
|
}
|
|
add_to_variable_list = {
|
|
name = dead_charioteers
|
|
target = var:third_place
|
|
}
|
|
}
|
|
else_if = {
|
|
limit = {
|
|
has_variable = fourth_place
|
|
var:fourth_place = { is_alive = no }
|
|
}
|
|
add_to_variable_list = {
|
|
name = dead_charioteers
|
|
target = var:fourth_place
|
|
}
|
|
}
|
|
else_if = {
|
|
limit = {
|
|
has_variable = fifth_place
|
|
var:fifth_place = { is_alive = no }
|
|
}
|
|
add_to_variable_list = {
|
|
name = dead_charioteers
|
|
target = var:fifth_place
|
|
}
|
|
}
|
|
else_if = {
|
|
limit = {
|
|
has_variable = sixth_place
|
|
var:sixth_place = { is_alive = no }
|
|
}
|
|
add_to_variable_list = {
|
|
name = dead_charioteers
|
|
target = var:sixth_place
|
|
}
|
|
}
|
|
else_if = {
|
|
limit = {
|
|
has_variable = seventh_place
|
|
var:seventh_place = { is_alive = no }
|
|
}
|
|
add_to_variable_list = {
|
|
name = dead_charioteers
|
|
target = var:seventh_place
|
|
}
|
|
}
|
|
else_if = {
|
|
limit = {
|
|
has_variable = eighth_place
|
|
var:eighth_place = { is_alive = no }
|
|
}
|
|
add_to_variable_list = {
|
|
name = dead_charioteers
|
|
target = var:eighth_place
|
|
}
|
|
}
|
|
else_if = {
|
|
limit = {
|
|
has_variable = ninth_place
|
|
var:ninth_place = { is_alive = no }
|
|
}
|
|
add_to_variable_list = {
|
|
name = dead_charioteers
|
|
target = var:ninth_place
|
|
}
|
|
}
|
|
else_if = {
|
|
limit = {
|
|
has_variable = tenth_place
|
|
var:tenth_place = { is_alive = no }
|
|
}
|
|
add_to_variable_list = {
|
|
name = dead_charioteers
|
|
target = var:tenth_place
|
|
}
|
|
}
|
|
else_if = {
|
|
limit = {
|
|
has_variable = eleventh_place
|
|
var:eleventh_place = { is_alive = no }
|
|
}
|
|
add_to_variable_list = {
|
|
name = dead_charioteers
|
|
target = var:eleventh_place
|
|
}
|
|
}
|
|
else_if = {
|
|
limit = {
|
|
has_variable = twelfth_place
|
|
var:twelfth_place = { is_alive = no }
|
|
}
|
|
add_to_variable_list = {
|
|
name = dead_charioteers
|
|
target = var:twelfth_place
|
|
}
|
|
}
|
|
# Clear the variables so we get rid of any dead characters
|
|
clear_placement_variables_effect = yes
|
|
# Get a count of how many living charioteers we have
|
|
set_variable = {
|
|
name = num_charioteers
|
|
value = 0
|
|
}
|
|
# Iterate over the list of charioteers and save each as a variable according to their place
|
|
ordered_guest_subset = {
|
|
name = charioteers
|
|
order_by = charioteer_victory_score_value
|
|
max = 12
|
|
check_range_bounds = no
|
|
limit = { is_alive = yes }
|
|
save_temporary_scope_as = current_charioteer
|
|
# increment variable
|
|
scope:activity = {
|
|
change_variable = {
|
|
name = num_charioteers
|
|
add = 1
|
|
}
|
|
}
|
|
if = {
|
|
limit = { has_variable = current_place_in_race }
|
|
remove_variable = current_place_in_race
|
|
}
|
|
# scripted effect to set variable based on current count (num_charioteers)
|
|
assign_charioteer_to_place_variable_effect = yes
|
|
}
|
|
}
|
|
}
|
|
|
|
# Used in update_chariot_race_standings_effect to set variables on both the activity and the individual charioteers
|
|
assign_charioteer_to_place_variable_effect = {
|
|
scope:activity = {
|
|
switch = {
|
|
trigger = var:num_charioteers
|
|
1 = {
|
|
set_variable = {
|
|
name = first_place
|
|
value = scope:current_charioteer
|
|
}
|
|
scope:current_charioteer = {
|
|
set_variable = {
|
|
name = current_place_in_race
|
|
value = 1
|
|
}
|
|
}
|
|
}
|
|
2 = {
|
|
set_variable = {
|
|
name = second_place
|
|
value = scope:current_charioteer
|
|
}
|
|
scope:current_charioteer = {
|
|
set_variable = {
|
|
name = current_place_in_race
|
|
value = 2
|
|
}
|
|
}
|
|
}
|
|
3 = {
|
|
set_variable = {
|
|
name = third_place
|
|
value = scope:current_charioteer
|
|
}
|
|
scope:current_charioteer = {
|
|
set_variable = {
|
|
name = current_place_in_race
|
|
value = 3
|
|
}
|
|
}
|
|
}
|
|
4 = {
|
|
set_variable = {
|
|
name = fourth_place
|
|
value = scope:current_charioteer
|
|
}
|
|
scope:current_charioteer = {
|
|
set_variable = {
|
|
name = current_place_in_race
|
|
value = 4
|
|
}
|
|
}
|
|
}
|
|
5 = {
|
|
set_variable = {
|
|
name = fifth_place
|
|
value = scope:current_charioteer
|
|
}
|
|
scope:current_charioteer = {
|
|
set_variable = {
|
|
name = current_place_in_race
|
|
value = 5
|
|
}
|
|
}
|
|
}
|
|
6 = {
|
|
set_variable = {
|
|
name = sixth_place
|
|
value = scope:current_charioteer
|
|
}
|
|
scope:current_charioteer = {
|
|
set_variable = {
|
|
name = current_place_in_race
|
|
value = 6
|
|
}
|
|
}
|
|
}
|
|
7 = {
|
|
set_variable = {
|
|
name = seventh_place
|
|
value = scope:current_charioteer
|
|
}
|
|
scope:current_charioteer = {
|
|
set_variable = {
|
|
name = current_place_in_race
|
|
value = 7
|
|
}
|
|
}
|
|
}
|
|
8 = {
|
|
set_variable = {
|
|
name = eighth_place
|
|
value = scope:current_charioteer
|
|
}
|
|
scope:current_charioteer = {
|
|
set_variable = {
|
|
name = current_place_in_race
|
|
value = 8
|
|
}
|
|
}
|
|
}
|
|
9 = {
|
|
set_variable = {
|
|
name = ninth_place
|
|
value = scope:current_charioteer
|
|
}
|
|
scope:current_charioteer = {
|
|
set_variable = {
|
|
name = current_place_in_race
|
|
value = 9
|
|
}
|
|
}
|
|
}
|
|
10 = {
|
|
set_variable = {
|
|
name = tenth_place
|
|
value = scope:current_charioteer
|
|
}
|
|
scope:current_charioteer = {
|
|
set_variable = {
|
|
name = current_place_in_race
|
|
value = 10
|
|
}
|
|
}
|
|
}
|
|
11 = {
|
|
set_variable = {
|
|
name = eleventh_place
|
|
value = scope:current_charioteer
|
|
}
|
|
scope:current_charioteer = {
|
|
set_variable = {
|
|
name = current_place_in_race
|
|
value = 11
|
|
}
|
|
}
|
|
}
|
|
12 = {
|
|
set_variable = {
|
|
name = twelfth_place
|
|
value = scope:current_charioteer
|
|
}
|
|
scope:current_charioteer = {
|
|
set_variable = {
|
|
name = current_place_in_race
|
|
value = 12
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
distribute_charioteer_trait_xp_effect = {
|
|
switch = {
|
|
trigger = has_trait
|
|
charioteer_blue = {
|
|
if = {
|
|
limit = { has_court_position = charioteer_court_position }
|
|
employer = {
|
|
send_interface_toast = {
|
|
title = charioteer_trait_xp_gain_message
|
|
left_icon = prev
|
|
prev = {
|
|
add_trait_xp = {
|
|
trait = charioteer_blue
|
|
value = $VALUE$
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else = {
|
|
add_trait_xp = {
|
|
trait = charioteer_blue
|
|
value = $VALUE$
|
|
}
|
|
}
|
|
}
|
|
charioteer_green = {
|
|
if = {
|
|
limit = { has_court_position = charioteer_court_position }
|
|
employer = {
|
|
send_interface_toast = {
|
|
title = charioteer_trait_xp_gain_message
|
|
left_icon = prev
|
|
prev = {
|
|
add_trait_xp = {
|
|
trait = charioteer_green
|
|
value = $VALUE$
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else = {
|
|
add_trait_xp = {
|
|
trait = charioteer_green
|
|
value = $VALUE$
|
|
}
|
|
}
|
|
}
|
|
charioteer_white = {
|
|
if = {
|
|
limit = { has_court_position = charioteer_court_position }
|
|
employer = {
|
|
send_interface_toast = {
|
|
title = charioteer_trait_xp_gain_message
|
|
left_icon = prev
|
|
prev = {
|
|
add_trait_xp = {
|
|
trait = charioteer_white
|
|
value = $VALUE$
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else = {
|
|
add_trait_xp = {
|
|
trait = charioteer_white
|
|
value = $VALUE$
|
|
}
|
|
}
|
|
}
|
|
charioteer_red = {
|
|
if = {
|
|
limit = { has_court_position = charioteer_court_position }
|
|
employer = {
|
|
send_interface_toast = {
|
|
title = charioteer_trait_xp_gain_message
|
|
left_icon = prev
|
|
prev = {
|
|
add_trait_xp = {
|
|
trait = charioteer_red
|
|
value = $VALUE$
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else = {
|
|
add_trait_xp = {
|
|
trait = charioteer_red
|
|
value = $VALUE$
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
remove_dead_charioteer_from_race = {
|
|
scope:activity = {
|
|
add_to_variable_list = {
|
|
name = dead_charioteers
|
|
target = prev
|
|
}
|
|
}
|
|
}
|
|
|
|
### END CHARIOT RACE
|
|
|
|
ep3_send_akolouthos_message_loyal = {
|
|
send_interface_message = {
|
|
type = msg_akolouthos_steels_varangians
|
|
title = ep3_akolouthos_events.1000
|
|
desc = ep3_akolouthos_events.1000_loyal_notification_tooltip
|
|
|
|
left_icon = scope:trait_getter
|
|
scope:trait_getter = {
|
|
add_trait = loyal
|
|
add_opinion = {
|
|
target = root
|
|
modifier = loyalty_opinion
|
|
opinion = 40
|
|
}
|
|
}
|
|
custom_tooltip = akolouthos_effect_tooltip
|
|
}
|
|
}
|
|
|
|
ep3_send_akolouthos_message_varangian = {
|
|
send_interface_message = {
|
|
type = msg_akolouthos_steels_varangians
|
|
title = ep3_akolouthos_events.1000
|
|
desc = ep3_akolouthos_events.1000_varangian_notification_tooltip
|
|
|
|
left_icon = scope:trait_getter
|
|
scope:trait_getter = {
|
|
add_trait = varangian
|
|
add_opinion = {
|
|
target = root
|
|
modifier = loyalty_opinion
|
|
opinion = 40
|
|
}
|
|
}
|
|
custom_tooltip = akolouthos_effect_tooltip
|
|
}
|
|
}
|
|
|
|
ep3_palace_looting_random_malus_effect = {
|
|
if = {
|
|
limit = {
|
|
has_character_flag = malus_court_grandeur
|
|
var:varangian_regiments >= 7
|
|
}
|
|
change_current_court_grandeur = massive_court_grandeur_loss
|
|
}
|
|
else_if = {
|
|
limit = {
|
|
has_character_flag = malus_court_grandeur
|
|
var:varangian_regiments >= 4
|
|
}
|
|
change_current_court_grandeur = major_court_grandeur_loss
|
|
}
|
|
else_if = {
|
|
limit = {
|
|
has_character_flag = malus_court_grandeur
|
|
}
|
|
change_current_court_grandeur = medium_court_grandeur_loss
|
|
}
|
|
if = {
|
|
limit = {
|
|
has_character_flag = malus_broken_artifact
|
|
}
|
|
scope:broken_artifact = {
|
|
add_durability = -40
|
|
}
|
|
}
|
|
if = {
|
|
limit = {
|
|
has_character_flag = malus_stolen_artifact
|
|
}
|
|
destroy_artifact = scope:stolen_artifact
|
|
}
|
|
}
|
|
|
|
ep3_child_castration_effect = {
|
|
add_trait = beardless_eunuch
|
|
torture_memory_effect = {
|
|
VICTIM = scope:recipient
|
|
TORTURER = scope:actor
|
|
TYPE = castrated_beardless
|
|
}
|
|
#Eunuch bonus effects
|
|
custom_tooltip = castration_increased_aptitude
|
|
if = {
|
|
limit = {
|
|
scope:actor = {
|
|
is_landed_or_landless_administrative = yes
|
|
}
|
|
}
|
|
custom_tooltip = castration_governor_efficiency
|
|
}
|
|
#might get hurt
|
|
custom_tooltip = castration_wounded_chance
|
|
hidden_effect = {
|
|
random_list = {
|
|
5 = {
|
|
add_character_modifier = {
|
|
modifier = brutal_castration_modifier
|
|
years = 5
|
|
}
|
|
}
|
|
5 = {
|
|
modifier = {
|
|
add = 5
|
|
employs_court_position = court_physician_court_position
|
|
}
|
|
modifier = {
|
|
add = 5
|
|
employs_court_position = court_physician_court_position
|
|
court_position:court_physician_court_position = {
|
|
aptitude = {
|
|
court_position = court_physician_court_position
|
|
value >= 1
|
|
}
|
|
}
|
|
}
|
|
modifier = {
|
|
add = 10
|
|
employs_court_position = court_physician_court_position
|
|
court_position:court_physician_court_position = {
|
|
aptitude = {
|
|
court_position = court_physician_court_position
|
|
value >= 2
|
|
}
|
|
}
|
|
}
|
|
modifier = {
|
|
add = 10
|
|
employs_court_position = court_physician_court_position
|
|
court_position:court_physician_court_position = {
|
|
aptitude = {
|
|
court_position = court_physician_court_position
|
|
value >= 3
|
|
}
|
|
}
|
|
}
|
|
modifier = {
|
|
add = 10
|
|
employs_court_position = court_physician_court_position
|
|
court_position:court_physician_court_position = {
|
|
aptitude = {
|
|
court_position = court_physician_court_position
|
|
value >= 4
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
ep3_youth_castration_effect = {
|
|
add_trait = eunuch_1
|
|
torture_memory_effect = {
|
|
VICTIM = scope:recipient
|
|
TORTURER = scope:actor
|
|
TYPE = castrated
|
|
}
|
|
#eunuch bonus effects
|
|
custom_tooltip = castration_increased_aptitude
|
|
if = {
|
|
limit = {
|
|
scope:actor = {
|
|
is_landed_or_landless_administrative = yes
|
|
}
|
|
}
|
|
custom_tooltip = castration_governor_efficiency
|
|
}
|
|
#might get wounded
|
|
custom_tooltip = castration_wounded_chance
|
|
hidden_effect = {
|
|
random_list = {
|
|
10 = {
|
|
add_character_modifier = {
|
|
modifier = brutal_castration_modifier
|
|
years = 5
|
|
}
|
|
}
|
|
5 = {
|
|
modifier = {
|
|
add = 5
|
|
employs_court_position = court_physician_court_position
|
|
}
|
|
modifier = {
|
|
add = 5
|
|
employs_court_position = court_physician_court_position
|
|
court_position:court_physician_court_position = {
|
|
aptitude = {
|
|
court_position = court_physician_court_position
|
|
value >= 1
|
|
}
|
|
}
|
|
}
|
|
modifier = {
|
|
add = 10
|
|
employs_court_position = court_physician_court_position
|
|
court_position:court_physician_court_position = {
|
|
aptitude = {
|
|
court_position = court_physician_court_position
|
|
value >= 2
|
|
}
|
|
}
|
|
}
|
|
modifier = {
|
|
add = 10
|
|
employs_court_position = court_physician_court_position
|
|
court_position:court_physician_court_position = {
|
|
aptitude = {
|
|
court_position = court_physician_court_position
|
|
value >= 3
|
|
}
|
|
}
|
|
}
|
|
modifier = {
|
|
add = 10
|
|
employs_court_position = court_physician_court_position
|
|
court_position:court_physician_court_position = {
|
|
aptitude = {
|
|
court_position = court_physician_court_position
|
|
value >= 4
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
ep3_greek_fire_success_effect = {
|
|
scope:invading_commander = {
|
|
add_character_modifier = {
|
|
modifier = ravaged_by_greek_fire_modifier
|
|
years = 1
|
|
}
|
|
add_stress = major_stress_impact_gain
|
|
}
|
|
scope:army = {
|
|
deplete_army_by_percentage = 0.9
|
|
}
|
|
scope:invading_commander = {
|
|
custom_tooltip = two_knights_killed_tooltip
|
|
hidden_effect = {
|
|
scope:knight_1 ?= {
|
|
death = {
|
|
death_reason = death_greek_fire
|
|
killer = scope:city_defender
|
|
}
|
|
}
|
|
scope:knight_2 ?= {
|
|
death = {
|
|
death_reason = death_greek_fire
|
|
killer = scope:city_defender
|
|
}
|
|
}
|
|
}
|
|
custom_tooltip = three_knights_killed_tooltip
|
|
hidden_effect = {
|
|
scope:knight_3 ?= {
|
|
increase_wounds_effect = { REASON = greek_fire }
|
|
}
|
|
scope:knight_4 ?= {
|
|
increase_wounds_effect = { REASON = greek_fire }
|
|
}
|
|
scope:knight_5 ?= {
|
|
increase_wounds_effect = { REASON = greek_fire }
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
ep3_greek_fire_fail_effect = {
|
|
scope:invading_commander = {
|
|
add_character_modifier = {
|
|
modifier = assaulted_by_greek_fire_modifier
|
|
years = 1
|
|
}
|
|
add_stress = medium_stress_impact_gain
|
|
}
|
|
scope:knight_1 ?= {
|
|
death = {
|
|
death_reason = death_greek_fire
|
|
killer = scope:city_defender
|
|
}
|
|
}
|
|
scope:army = {
|
|
deplete_army_by_percentage = 0.4
|
|
}
|
|
scope:invading_commander = {
|
|
custom_tooltip = two_knights_wounded_tooltip
|
|
hidden_effect = {
|
|
scope:knight_2 ?= {
|
|
increase_wounds_effect = { REASON = greek_fire }
|
|
}
|
|
scope:knight_3 ?= {
|
|
increase_wounds_effect = { REASON = greek_fire }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
ep3_greek_fire_crit_fail_effect = {
|
|
scope:invading_commander = {
|
|
add_character_modifier = {
|
|
modifier = assaulted_by_greek_fire_modifier
|
|
years = 1
|
|
}
|
|
}
|
|
scope:army = {
|
|
deplete_army_by_percentage = 0.1
|
|
}
|
|
scope:invading_commander = {
|
|
custom_tooltip = two_knights_wounded_tooltip
|
|
hidden_effect = {
|
|
scope:knight_1 ?= {
|
|
increase_wounds_effect = { REASON = greek_fire }
|
|
}
|
|
scope:knight_2 ?= {
|
|
increase_wounds_effect = { REASON = greek_fire }
|
|
}
|
|
}
|
|
}
|
|
|
|
root.capital_county = {
|
|
add_county_modifier = {
|
|
modifier = defenders_immolated_modifier
|
|
years = 10
|
|
}
|
|
}
|
|
#You lose the greek fire fleet modifier
|
|
title:c_byzantion = {
|
|
remove_county_modifier = defensive_fire_dromons_modifier
|
|
}
|
|
}
|
|
|
|
save_traveler_culture_effect = {
|
|
random_culture_global = {
|
|
limit = {
|
|
exists = culture_head
|
|
this != root.culture
|
|
}
|
|
save_scope_as = traveler_culture
|
|
}
|
|
#save second culture
|
|
random_culture_global = {
|
|
limit = {
|
|
exists = culture_head
|
|
this != root.culture
|
|
OR = {
|
|
AND = {
|
|
culture_overlaps_geographical_region = world_europe
|
|
scope:traveler_culture = { culture_overlaps_geographical_region = world_europe }
|
|
}
|
|
AND = {
|
|
culture_overlaps_geographical_region = world_asia_minor
|
|
scope:traveler_culture = { culture_overlaps_geographical_region = world_europe }
|
|
}
|
|
AND = {
|
|
culture_overlaps_geographical_region = world_europe
|
|
scope:traveler_culture = { culture_overlaps_geographical_region = world_asia_minor }
|
|
}
|
|
AND = {
|
|
culture_overlaps_geographical_region = world_asia_minor
|
|
scope:traveler_culture = { culture_overlaps_geographical_region = world_asia_minor }
|
|
}
|
|
AND = {
|
|
culture_overlaps_geographical_region = world_asia_minor
|
|
scope:traveler_culture = { culture_overlaps_geographical_region = world_middle_east }
|
|
}
|
|
AND = {
|
|
culture_overlaps_geographical_region = world_middle_east
|
|
scope:traveler_culture = { culture_overlaps_geographical_region = world_asia_minor }
|
|
}
|
|
AND = {
|
|
culture_overlaps_geographical_region = world_middle_east
|
|
scope:traveler_culture = { culture_overlaps_geographical_region = world_middle_east }
|
|
}
|
|
AND = {
|
|
culture_overlaps_geographical_region = world_africa
|
|
scope:traveler_culture = { culture_overlaps_geographical_region = world_africa }
|
|
}
|
|
AND = {
|
|
culture_overlaps_geographical_region = world_steppe
|
|
scope:traveler_culture = { culture_overlaps_geographical_region = world_steppe }
|
|
}
|
|
AND = {
|
|
culture_overlaps_geographical_region = world_tibet
|
|
scope:traveler_culture = { culture_overlaps_geographical_region = world_tibet }
|
|
}
|
|
AND = {
|
|
culture_overlaps_geographical_region = world_tibet
|
|
scope:traveler_culture = { culture_overlaps_geographical_region = world_india}
|
|
}
|
|
AND = {
|
|
culture_overlaps_geographical_region = world_india
|
|
scope:traveler_culture = { culture_overlaps_geographical_region = world_tibet }
|
|
}
|
|
AND = {
|
|
culture_overlaps_geographical_region = world_india
|
|
scope:traveler_culture = { culture_overlaps_geographical_region = world_india }
|
|
}
|
|
AND = {
|
|
culture_overlaps_geographical_region = world_burma
|
|
scope:traveler_culture = { culture_overlaps_geographical_region = world_india }
|
|
}
|
|
AND = {
|
|
culture_overlaps_geographical_region = world_india
|
|
scope:traveler_culture = { culture_overlaps_geographical_region = world_burma }
|
|
}
|
|
AND = {
|
|
culture_overlaps_geographical_region = world_tibet
|
|
scope:traveler_culture = { culture_overlaps_geographical_region = world_burma }
|
|
}
|
|
AND = {
|
|
culture_overlaps_geographical_region = world_burma
|
|
scope:traveler_culture = { culture_overlaps_geographical_region = world_tibet }
|
|
}
|
|
AND = {
|
|
culture_overlaps_geographical_region = world_tibet
|
|
scope:traveler_culture = { culture_overlaps_geographical_region = world_asia_china }
|
|
}
|
|
AND = {
|
|
culture_overlaps_geographical_region = world_asia_china
|
|
scope:traveler_culture = { culture_overlaps_geographical_region = world_asia_china }
|
|
}
|
|
AND = {
|
|
culture_overlaps_geographical_region = world_asia_china
|
|
scope:traveler_culture = { culture_overlaps_geographical_region = world_asia_southeast }
|
|
}
|
|
AND = {
|
|
culture_overlaps_geographical_region = world_asia_china
|
|
scope:traveler_culture = { culture_overlaps_geographical_region = world_asia_korea }
|
|
}
|
|
AND = {
|
|
culture_overlaps_geographical_region = world_asia_china
|
|
scope:traveler_culture = { culture_overlaps_geographical_region = world_asia_japan }
|
|
}
|
|
AND = {
|
|
culture_overlaps_geographical_region = world_asia_korea
|
|
scope:traveler_culture = { culture_overlaps_geographical_region = world_asia_china }
|
|
}
|
|
AND = {
|
|
culture_overlaps_geographical_region = world_asia_korea
|
|
scope:traveler_culture = { culture_overlaps_geographical_region = world_asia_japan }
|
|
}
|
|
AND = {
|
|
culture_overlaps_geographical_region = world_asia_korea
|
|
scope:traveler_culture = { culture_overlaps_geographical_region = world_asia_korea }
|
|
}
|
|
AND = {
|
|
culture_overlaps_geographical_region = world_asia_japan
|
|
scope:traveler_culture = { culture_overlaps_geographical_region = world_asia_japan }
|
|
}
|
|
AND = {
|
|
culture_overlaps_geographical_region = world_asia_japan
|
|
scope:traveler_culture = { culture_overlaps_geographical_region = world_asia_china }
|
|
}
|
|
AND = {
|
|
culture_overlaps_geographical_region = world_asia_japan
|
|
scope:traveler_culture = { culture_overlaps_geographical_region = world_asia_korea }
|
|
}
|
|
}
|
|
cultural_acceptance = {
|
|
target = scope:traveler_culture
|
|
value >= 5
|
|
}
|
|
}
|
|
alternative_limit = {
|
|
this = root.culture
|
|
}
|
|
save_scope_as = traveler_culture_2
|
|
}
|
|
}
|
|
ep3_ai_castration_effect = {
|
|
random = {
|
|
chance = 50
|
|
add_trait = beardless_eunuch
|
|
random_list = {
|
|
5 = {
|
|
add_character_modifier = {
|
|
modifier = brutal_castration_modifier
|
|
years = 5
|
|
}
|
|
}
|
|
5 = {}
|
|
5 = {
|
|
trigger = {
|
|
liege ?= { employs_court_position = court_physician_court_position }
|
|
}
|
|
modifier = {
|
|
add = 5
|
|
liege.court_position:court_physician_court_position = {
|
|
aptitude = {
|
|
court_position = court_physician_court_position
|
|
value >= 1
|
|
}
|
|
}
|
|
}
|
|
modifier = {
|
|
add = 10
|
|
liege.court_position:court_physician_court_position = {
|
|
aptitude = {
|
|
court_position = court_physician_court_position
|
|
value >= 2
|
|
}
|
|
}
|
|
}
|
|
modifier = {
|
|
add = 10
|
|
liege.court_position:court_physician_court_position = {
|
|
aptitude = {
|
|
court_position = court_physician_court_position
|
|
value >= 3
|
|
}
|
|
}
|
|
}
|
|
modifier = {
|
|
add = 10
|
|
liege.court_position:court_physician_court_position = {
|
|
aptitude = {
|
|
court_position = court_physician_court_position
|
|
value >= 4
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
ep3_story_cycle_admin_eunuch_upgrade_modifier_effect = {
|
|
save_scope_value_as = {
|
|
name = modifier_type
|
|
value = flag:$TYPE$
|
|
}
|
|
switch = {
|
|
trigger = has_character_modifier
|
|
admin_eunuch_$TYPE$_1_modifier = {
|
|
hidden_effect = { remove_character_modifier = admin_eunuch_$TYPE$_1_modifier }
|
|
add_character_modifier = admin_eunuch_$TYPE$_2_modifier
|
|
}
|
|
admin_eunuch_$TYPE$_2_modifier = {
|
|
hidden_effect = { remove_character_modifier = admin_eunuch_$TYPE$_2_modifier }
|
|
add_character_modifier = admin_eunuch_$TYPE$_3_modifier
|
|
}
|
|
admin_eunuch_$TYPE$_3_modifier = {
|
|
hidden_effect = { remove_character_modifier = admin_eunuch_$TYPE$_3_modifier }
|
|
add_character_modifier = admin_eunuch_$TYPE$_4_modifier
|
|
}
|
|
admin_eunuch_$TYPE$_4_modifier = {
|
|
hidden_effect = { remove_character_modifier = admin_eunuch_$TYPE$_4_modifier }
|
|
add_character_modifier = admin_eunuch_$TYPE$_5_modifier
|
|
}
|
|
admin_eunuch_$TYPE$_5_modifier = {
|
|
hidden_effect = { remove_character_modifier = admin_eunuch_$TYPE$_5_modifier }
|
|
add_character_modifier = admin_eunuch_$TYPE$_6_modifier
|
|
}
|
|
admin_eunuch_$TYPE$_6_modifier = {
|
|
hidden_effect = { remove_character_modifier = admin_eunuch_$TYPE$_6_modifier }
|
|
add_character_modifier = admin_eunuch_$TYPE$_7_modifier
|
|
}
|
|
admin_eunuch_$TYPE$_7_modifier = {
|
|
hidden_effect = { remove_character_modifier = admin_eunuch_$TYPE$_7_modifier }
|
|
add_character_modifier = admin_eunuch_$TYPE$_8_modifier
|
|
}
|
|
admin_eunuch_$TYPE$_8_modifier = {
|
|
if = {
|
|
limit = {
|
|
scope:modifier_type = flag:eunuch
|
|
NOT = { has_hook = top_liege }
|
|
}
|
|
add_hook = {
|
|
type = influence_hook
|
|
target = top_liege
|
|
}
|
|
}
|
|
else_if = {
|
|
limit = {
|
|
scope:modifier_type = flag:eunuch
|
|
NOT = { has_strong_hook = top_liege }
|
|
}
|
|
remove_hook = { target = top_liege }
|
|
add_hook = {
|
|
type = strong_influence_hook
|
|
target = top_liege
|
|
}
|
|
}
|
|
else = { change_influence = medium_influence_gain }
|
|
}
|
|
fallback = { add_character_modifier = admin_eunuch_$TYPE$_4_modifier }
|
|
}
|
|
}
|
|
|
|
ep3_story_cycle_admin_eunuch_matching_modifier_effect = {
|
|
$FIRST$ = {
|
|
switch = {
|
|
trigger = has_character_modifier
|
|
admin_eunuch_$FIRST_TYPE$_1_modifier = {
|
|
$SECOND$ = { add_character_modifier = admin_eunuch_$SECOND_TYPE$_1_modifier }
|
|
}
|
|
admin_eunuch_$FIRST_TYPE$_2_modifier = {
|
|
$SECOND$ = { add_character_modifier = admin_eunuch_$SECOND_TYPE$_2_modifier }
|
|
}
|
|
admin_eunuch_$FIRST_TYPE$_3_modifier = {
|
|
$SECOND$ = { add_character_modifier = admin_eunuch_$SECOND_TYPE$_3_modifier }
|
|
}
|
|
admin_eunuch_$FIRST_TYPE$_4_modifier = {
|
|
$SECOND$ = { add_character_modifier = admin_eunuch_$SECOND_TYPE$_4_modifier }
|
|
}
|
|
admin_eunuch_$FIRST_TYPE$_5_modifier = {
|
|
$SECOND$ = { add_character_modifier = admin_eunuch_$SECOND_TYPE$_5_modifier }
|
|
}
|
|
admin_eunuch_$FIRST_TYPE$_6_modifier = {
|
|
$SECOND$ = { add_character_modifier = admin_eunuch_$SECOND_TYPE$_6_modifier }
|
|
}
|
|
admin_eunuch_$FIRST_TYPE$_7_modifier = {
|
|
$SECOND$ = { add_character_modifier = admin_eunuch_$SECOND_TYPE$_7_modifier }
|
|
}
|
|
admin_eunuch_$FIRST_TYPE$_8_modifier = {
|
|
$SECOND$ = { add_character_modifier = admin_eunuch_$SECOND_TYPE$_8_modifier }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
ep3_story_cycle_admin_eunuch_downgrade_modifier_effect = {
|
|
save_scope_value_as = {
|
|
name = modifier_type
|
|
value = flag:$TYPE$
|
|
}
|
|
switch = {
|
|
trigger = has_character_modifier
|
|
admin_eunuch_$TYPE$_1_modifier = {
|
|
if = {
|
|
limit = { scope:modifier_type = flag:eunuch }
|
|
progress_towards_rival_effect = {
|
|
REASON = rival_admin_eunuch
|
|
CHARACTER = top_liege
|
|
OPINION = default_rival_opinion
|
|
}
|
|
}
|
|
else = { change_influence = medium_influence_loss }
|
|
}
|
|
admin_eunuch_$TYPE$_2_modifier = {
|
|
hidden_effect = { remove_character_modifier = admin_eunuch_$TYPE$_2_modifier }
|
|
add_character_modifier = admin_eunuch_$TYPE$_1_modifier
|
|
if = { # Harder to say no the further you go
|
|
limit = { scope:modifier_type = flag:liege }
|
|
change_influence = miniscule_influence_loss
|
|
}
|
|
}
|
|
admin_eunuch_$TYPE$_3_modifier = {
|
|
hidden_effect = { remove_character_modifier = admin_eunuch_$TYPE$_3_modifier }
|
|
add_character_modifier = admin_eunuch_$TYPE$_2_modifier
|
|
if = { # Harder to say no the further you go
|
|
limit = { scope:modifier_type = flag:liege }
|
|
change_influence = miniscule_influence_loss
|
|
}
|
|
}
|
|
admin_eunuch_$TYPE$_4_modifier = {
|
|
hidden_effect = { remove_character_modifier = admin_eunuch_$TYPE$_4_modifier }
|
|
add_character_modifier = admin_eunuch_$TYPE$_3_modifier
|
|
if = { # Harder to say no the further you go
|
|
limit = { scope:modifier_type = flag:liege }
|
|
change_influence = minor_influence_loss
|
|
}
|
|
}
|
|
admin_eunuch_$TYPE$_5_modifier = {
|
|
hidden_effect = { remove_character_modifier = admin_eunuch_$TYPE$_5_modifier }
|
|
add_character_modifier = admin_eunuch_$TYPE$_4_modifier
|
|
if = { # Harder to say no the further you go
|
|
limit = { scope:modifier_type = flag:liege }
|
|
change_influence = minor_influence_loss
|
|
}
|
|
}
|
|
admin_eunuch_$TYPE$_6_modifier = {
|
|
hidden_effect = { remove_character_modifier = admin_eunuch_$TYPE$_6_modifier }
|
|
add_character_modifier = admin_eunuch_$TYPE$_5_modifier
|
|
if = { # Harder to say no the further you go
|
|
limit = { scope:modifier_type = flag:liege }
|
|
change_influence = medium_influence_loss
|
|
}
|
|
}
|
|
admin_eunuch_$TYPE$_7_modifier = {
|
|
hidden_effect = { remove_character_modifier = admin_eunuch_$TYPE$_7_modifier }
|
|
add_character_modifier = admin_eunuch_$TYPE$_6_modifier
|
|
if = { # Harder to say no the further you go
|
|
limit = { scope:modifier_type = flag:liege }
|
|
change_influence = medium_influence_loss
|
|
}
|
|
}
|
|
admin_eunuch_$TYPE$_8_modifier = {
|
|
hidden_effect = { remove_character_modifier = admin_eunuch_$TYPE$_8_modifier }
|
|
add_character_modifier = admin_eunuch_$TYPE$_7_modifier
|
|
if = { # Harder to say no the further you go
|
|
limit = { scope:modifier_type = flag:liege }
|
|
change_influence = major_influence_loss
|
|
}
|
|
}
|
|
fallback = { add_character_modifier = admin_eunuch_$TYPE$_3_modifier }
|
|
}
|
|
}
|
|
|
|
ep3_story_cycle_admin_eunuch_clear_modifier_effect = {
|
|
switch = {
|
|
trigger = has_character_modifier
|
|
admin_eunuch_$TYPE$_1_modifier = { remove_character_modifier = admin_eunuch_$TYPE$_1_modifier }
|
|
admin_eunuch_$TYPE$_2_modifier = { remove_character_modifier = admin_eunuch_$TYPE$_2_modifier }
|
|
admin_eunuch_$TYPE$_3_modifier = { remove_character_modifier = admin_eunuch_$TYPE$_3_modifier }
|
|
admin_eunuch_$TYPE$_4_modifier = { remove_character_modifier = admin_eunuch_$TYPE$_4_modifier }
|
|
admin_eunuch_$TYPE$_5_modifier = { remove_character_modifier = admin_eunuch_$TYPE$_5_modifier }
|
|
admin_eunuch_$TYPE$_6_modifier = { remove_character_modifier = admin_eunuch_$TYPE$_6_modifier }
|
|
admin_eunuch_$TYPE$_7_modifier = { remove_character_modifier = admin_eunuch_$TYPE$_7_modifier }
|
|
admin_eunuch_$TYPE$_8_modifier = { remove_character_modifier = admin_eunuch_$TYPE$_8_modifier }
|
|
}
|
|
}
|
|
|
|
ep3_give_eunuch_effect = {
|
|
$TAKER$ = {
|
|
add_courtier = $EUNUCH$
|
|
}
|
|
$GIVER$ = {
|
|
change_influence = {
|
|
value = 100
|
|
add = $EUNUCH$.sum_of_all_skills_value
|
|
if = {
|
|
limit = {
|
|
$EUNUCH$ = { has_trait = beardless_eunuch }
|
|
}
|
|
multiply = 1.5
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
##################################################
|
|
# Misc
|
|
##################################################
|
|
|
|
# Picks a random valid maa type for OWNER to create
|
|
ep3_pick_random_maa_regiment_effect = {
|
|
save_temporary_scope_value_as = {
|
|
name = include_basic_maa
|
|
value = $INCLUDE_BASIC_MAA$
|
|
}
|
|
save_temporary_scope_value_as = {
|
|
name = include_siege_maa
|
|
value = $INCLUDE_SIEGE_MAA$
|
|
}
|
|
$OWNER$ = {
|
|
random_list = {
|
|
1 = {
|
|
trigger = {
|
|
scope:include_basic_maa = yes
|
|
}
|
|
save_scope_value_as = {
|
|
name = maa_to_create
|
|
value = flag:light_footmen
|
|
}
|
|
}
|
|
1 = {
|
|
trigger = {
|
|
scope:include_basic_maa = yes
|
|
}
|
|
save_scope_value_as = {
|
|
name = maa_to_create
|
|
value = flag:bowmen
|
|
}
|
|
}
|
|
1 = {
|
|
trigger = {
|
|
scope:include_basic_maa = yes
|
|
}
|
|
save_scope_value_as = {
|
|
name = maa_to_create
|
|
value = flag:light_horsemen
|
|
}
|
|
}
|
|
1 = {
|
|
trigger = {
|
|
scope:include_basic_maa = yes
|
|
}
|
|
save_scope_value_as = {
|
|
name = maa_to_create
|
|
value = flag:pikemen_unit
|
|
}
|
|
}
|
|
# TRIBAL
|
|
1 = {
|
|
trigger = {
|
|
culture = { has_innovation = innovation_elephantry }
|
|
}
|
|
save_scope_value_as = {
|
|
name = maa_to_create
|
|
value = flag:war_elephant
|
|
}
|
|
}
|
|
1 = {
|
|
trigger = {
|
|
culture = { has_innovation = innovation_war_camels }
|
|
}
|
|
save_scope_value_as = {
|
|
name = maa_to_create
|
|
value = flag:camel_rider
|
|
}
|
|
}
|
|
1 = {
|
|
trigger = {
|
|
culture = { has_innovation = innovation_arched_saddle }
|
|
}
|
|
save_scope_value_as = {
|
|
name = maa_to_create
|
|
value = flag:armored_horsemen
|
|
}
|
|
}
|
|
1 = {
|
|
trigger = {
|
|
culture = {
|
|
has_innovation = innovation_catapult
|
|
NOR = {
|
|
has_cultural_pillar = heritage_chinese
|
|
has_cultural_pillar = heritage_korean
|
|
has_cultural_pillar = heritage_japonic
|
|
}
|
|
}
|
|
scope:include_siege_maa = yes
|
|
}
|
|
save_scope_value_as = {
|
|
name = maa_to_create
|
|
value = flag:onager
|
|
}
|
|
}
|
|
1 = {
|
|
trigger = {
|
|
culture = {
|
|
has_innovation = innovation_catapult
|
|
OR = {
|
|
has_cultural_pillar = heritage_chinese
|
|
has_cultural_pillar = heritage_korean
|
|
has_cultural_pillar = heritage_japonic
|
|
}
|
|
}
|
|
scope:include_siege_maa = yes
|
|
}
|
|
save_scope_value_as = {
|
|
name = maa_to_create
|
|
value = flag:ballista
|
|
}
|
|
}
|
|
# EARLY
|
|
1 = {
|
|
trigger = {
|
|
culture = { has_innovation = innovation_quilted_armor }
|
|
}
|
|
save_scope_value_as = {
|
|
name = maa_to_create
|
|
value = flag:armored_footmen
|
|
}
|
|
}
|
|
1 = {
|
|
trigger = {
|
|
culture = {
|
|
has_innovation = innovation_mangonel
|
|
NOR = {
|
|
has_cultural_pillar = heritage_chinese
|
|
has_cultural_pillar = heritage_korean
|
|
has_cultural_pillar = heritage_japonic
|
|
}
|
|
}
|
|
scope:include_siege_maa = yes
|
|
}
|
|
save_scope_value_as = {
|
|
name = maa_to_create
|
|
value = flag:mangonel
|
|
}
|
|
}
|
|
1 = {
|
|
trigger = {
|
|
culture = {
|
|
has_innovation = innovation_mangonel
|
|
OR = {
|
|
has_cultural_pillar = heritage_chinese
|
|
has_cultural_pillar = heritage_korean
|
|
has_cultural_pillar = heritage_japonic
|
|
}
|
|
}
|
|
scope:include_siege_maa = yes
|
|
}
|
|
save_scope_value_as = {
|
|
name = maa_to_create
|
|
value = flag:cloud_ladder
|
|
}
|
|
}
|
|
# HIGH
|
|
1 = {
|
|
trigger = {
|
|
culture = {
|
|
has_innovation = innovation_trebuchet
|
|
NOR = {
|
|
has_cultural_pillar = heritage_chinese
|
|
has_cultural_pillar = heritage_korean
|
|
has_cultural_pillar = heritage_japonic
|
|
}
|
|
}
|
|
scope:include_siege_maa = yes
|
|
}
|
|
save_scope_value_as = {
|
|
name = maa_to_create
|
|
value = flag:trebuchet
|
|
}
|
|
}
|
|
1 = {
|
|
trigger = {
|
|
culture = {
|
|
has_innovation = innovation_trebuchet
|
|
OR = {
|
|
has_cultural_pillar = heritage_chinese
|
|
has_cultural_pillar = heritage_korean
|
|
has_cultural_pillar = heritage_japonic
|
|
}
|
|
}
|
|
scope:include_siege_maa = yes
|
|
}
|
|
save_scope_value_as = {
|
|
name = maa_to_create
|
|
value = flag:siege_tower
|
|
}
|
|
}
|
|
1 = {
|
|
trigger = {
|
|
culture = { has_innovation = innovation_advanced_bowmaking }
|
|
}
|
|
save_scope_value_as = {
|
|
name = maa_to_create
|
|
value = flag:crossbowmen
|
|
}
|
|
}
|
|
# LATE
|
|
1 = {
|
|
trigger = {
|
|
culture = {
|
|
has_cultural_parameter = unlock_late_medieval_gunpowder_units
|
|
NOR = {
|
|
has_cultural_pillar = heritage_chinese
|
|
has_cultural_pillar = heritage_korean
|
|
has_cultural_pillar = heritage_japonic
|
|
}
|
|
}
|
|
scope:include_siege_maa = yes
|
|
}
|
|
save_scope_value_as = {
|
|
name = maa_to_create
|
|
value = flag:bombard
|
|
}
|
|
}
|
|
1 = {
|
|
trigger = {
|
|
culture = {
|
|
has_cultural_parameter = unlock_late_medieval_gunpowder_units
|
|
OR = {
|
|
has_cultural_pillar = heritage_chinese
|
|
has_cultural_pillar = heritage_korean
|
|
has_cultural_pillar = heritage_japonic
|
|
}
|
|
}
|
|
scope:include_siege_maa = yes
|
|
}
|
|
save_scope_value_as = {
|
|
name = maa_to_create
|
|
value = flag:cannon
|
|
}
|
|
}
|
|
# CULTURAL INNOVATIONS
|
|
1 = {
|
|
trigger = {
|
|
culture = { has_innovation = innovation_bamboo_bows }
|
|
}
|
|
save_scope_value_as = {
|
|
name = maa_to_create
|
|
value = flag:paiks
|
|
}
|
|
}
|
|
1 = {
|
|
trigger = {
|
|
culture = { has_innovation = innovation_zweihanders }
|
|
}
|
|
save_scope_value_as = {
|
|
name = maa_to_create
|
|
value = flag:landsknecht
|
|
}
|
|
}
|
|
1 = {
|
|
trigger = {
|
|
culture = { has_innovation = innovation_adaptive_militia }
|
|
}
|
|
save_scope_value_as = {
|
|
name = maa_to_create
|
|
value = flag:goedendag
|
|
}
|
|
}
|
|
1 = {
|
|
trigger = {
|
|
culture = { has_innovation = innovation_valets }
|
|
}
|
|
save_scope_value_as = {
|
|
name = maa_to_create
|
|
value = flag:gendarme
|
|
}
|
|
}
|
|
1 = {
|
|
trigger = {
|
|
culture = { has_innovation = innovation_rocket_cart }
|
|
}
|
|
save_scope_value_as = {
|
|
name = maa_to_create
|
|
value = flag:rocket_carts
|
|
}
|
|
}
|
|
1 = {
|
|
trigger = {
|
|
culture = { has_innovation = innovation_pike_columns }
|
|
}
|
|
save_scope_value_as = {
|
|
name = maa_to_create
|
|
value = flag:picchieri
|
|
}
|
|
}
|
|
1 = {
|
|
trigger = {
|
|
culture = { has_innovation = innovation_legionnaires }
|
|
}
|
|
save_scope_value_as = {
|
|
name = maa_to_create
|
|
value = flag:praetorian
|
|
}
|
|
}
|
|
1 = {
|
|
trigger = {
|
|
culture = { has_innovation = innovation_desert_tactics }
|
|
}
|
|
save_scope_value_as = {
|
|
name = maa_to_create
|
|
value = flag:chasseur
|
|
}
|
|
}
|
|
1 = {
|
|
trigger = {
|
|
culture = { has_innovation = innovation_caballeros }
|
|
}
|
|
save_scope_value_as = {
|
|
name = maa_to_create
|
|
value = flag:caballero
|
|
}
|
|
}
|
|
1 = {
|
|
trigger = {
|
|
culture = { has_innovation = innovation_hobbies }
|
|
}
|
|
save_scope_value_as = {
|
|
name = maa_to_create
|
|
value = flag:hobelar
|
|
}
|
|
}
|
|
1 = {
|
|
trigger = {
|
|
culture = { has_innovation = innovation_rectilinear_schiltron }
|
|
}
|
|
save_scope_value_as = {
|
|
name = maa_to_create
|
|
value = flag:schiltron
|
|
}
|
|
}
|
|
1 = {
|
|
trigger = {
|
|
culture = { has_innovation = innovation_sahel_horsemen }
|
|
}
|
|
save_scope_value_as = {
|
|
name = maa_to_create
|
|
value = flag:sahel_horsemen
|
|
}
|
|
}
|
|
1 = {
|
|
trigger = {
|
|
culture = { has_innovation = innovation_sarawit }
|
|
}
|
|
save_scope_value_as = {
|
|
name = maa_to_create
|
|
value = flag:sarawit
|
|
}
|
|
}
|
|
1 = {
|
|
trigger = {
|
|
culture = { has_innovation = innovation_repeating_crossbow }
|
|
}
|
|
save_scope_value_as = {
|
|
name = maa_to_create
|
|
value = flag:shenbigong
|
|
}
|
|
}
|
|
1 = {
|
|
trigger = {
|
|
culture = { has_innovation = innovation_pole_vault }
|
|
}
|
|
save_scope_value_as = {
|
|
name = maa_to_create
|
|
value = flag:guanch_vaulter
|
|
}
|
|
}
|
|
1 = {
|
|
trigger = {
|
|
culture = { has_cultural_parameter = unlock_maa_huscarls }
|
|
}
|
|
save_scope_value_as = {
|
|
name = maa_to_create
|
|
value = flag:huscarl
|
|
}
|
|
}
|
|
1 = {
|
|
trigger = {
|
|
culture = { has_cultural_parameter = unlock_maa_longbowmen }
|
|
}
|
|
save_scope_value_as = {
|
|
name = maa_to_create
|
|
value = flag:longbowmen
|
|
}
|
|
}
|
|
1 = {
|
|
trigger = {
|
|
culture = { has_cultural_parameter = unlock_maa_monaspa }
|
|
}
|
|
save_scope_value_as = {
|
|
name = maa_to_create
|
|
value = flag:monaspa
|
|
}
|
|
}
|
|
1 = {
|
|
trigger = {
|
|
culture = { has_cultural_parameter = unlock_maa_cataphract }
|
|
}
|
|
save_scope_value_as = {
|
|
name = maa_to_create
|
|
value = flag:cataphract
|
|
}
|
|
}
|
|
1 = {
|
|
trigger = {
|
|
culture = { has_cultural_parameter = unlock_maa_metsanvartija }
|
|
}
|
|
save_scope_value_as = {
|
|
name = maa_to_create
|
|
value = flag:metsanvartija
|
|
}
|
|
}
|
|
1 = {
|
|
trigger = {
|
|
culture = { has_cultural_parameter = unlock_maa_maturkan_warriors }
|
|
}
|
|
save_scope_value_as = {
|
|
name = maa_to_create
|
|
value = flag:maturkan_warriors
|
|
}
|
|
}
|
|
1 = {
|
|
trigger = {
|
|
OR = {
|
|
culture = { has_cultural_parameter = unlock_maa_horse_archers }
|
|
mpo_can_recruit_nomad_maa_trigger = yes
|
|
}
|
|
}
|
|
save_scope_value_as = {
|
|
name = maa_to_create
|
|
value = flag:horse_archers
|
|
}
|
|
}
|
|
1 = {
|
|
trigger = {
|
|
culture = { has_cultural_parameter = unlock_maa_ayyar }
|
|
}
|
|
save_scope_value_as = {
|
|
name = maa_to_create
|
|
value = flag:ayyar
|
|
}
|
|
}
|
|
1 = {
|
|
trigger = {
|
|
culture = { has_cultural_parameter = unlock_maa_mubarizun }
|
|
}
|
|
save_scope_value_as = {
|
|
name = maa_to_create
|
|
value = flag:mubarizun
|
|
}
|
|
}
|
|
1 = {
|
|
trigger = {
|
|
culture = { has_cultural_parameter = unlock_maa_mulaththamun }
|
|
}
|
|
save_scope_value_as = {
|
|
name = maa_to_create
|
|
value = flag:mulaththamun
|
|
}
|
|
}
|
|
1 = {
|
|
trigger = {
|
|
culture = { has_cultural_parameter = unlock_maa_archers_of_the_nile }
|
|
}
|
|
save_scope_value_as = {
|
|
name = maa_to_create
|
|
value = flag:archers_of_the_nile
|
|
}
|
|
}
|
|
1 = {
|
|
trigger = {
|
|
culture = { has_cultural_parameter = unlock_maa_druzhina }
|
|
}
|
|
save_scope_value_as = {
|
|
name = maa_to_create
|
|
value = flag:druzhina
|
|
}
|
|
}
|
|
1 = {
|
|
trigger = {
|
|
culture = { has_cultural_parameter = unlock_maa_hussar }
|
|
}
|
|
save_scope_value_as = {
|
|
name = maa_to_create
|
|
value = flag:hussar
|
|
}
|
|
}
|
|
1 = {
|
|
trigger = {
|
|
culture = { has_cultural_parameter = unlock_maa_horn_warrior }
|
|
}
|
|
save_scope_value_as = {
|
|
name = maa_to_create
|
|
value = flag:horn_warrior
|
|
}
|
|
}
|
|
1 = {
|
|
trigger = {
|
|
culture = { has_cultural_parameter = unlock_maa_bush_hunter }
|
|
}
|
|
save_scope_value_as = {
|
|
name = maa_to_create
|
|
value = flag:bush_hunter
|
|
}
|
|
}
|
|
1 = {
|
|
trigger = {
|
|
culture = { has_cultural_parameter = unlock_maa_shomer }
|
|
}
|
|
save_scope_value_as = {
|
|
name = maa_to_create
|
|
value = flag:shomer
|
|
}
|
|
}
|
|
1 = {
|
|
trigger = {
|
|
culture = { has_cultural_parameter = unlock_maa_garudas }
|
|
}
|
|
save_scope_value_as = {
|
|
name = maa_to_create
|
|
value = flag:garudas
|
|
}
|
|
}
|
|
1 = {
|
|
trigger = {
|
|
culture = { has_cultural_parameter = unlock_maa_khandayat }
|
|
}
|
|
save_scope_value_as = {
|
|
name = maa_to_create
|
|
value = flag:khandayat
|
|
}
|
|
}
|
|
1 = {
|
|
trigger = {
|
|
culture = { has_cultural_parameter = unlock_maa_mountaineer }
|
|
}
|
|
save_scope_value_as = {
|
|
name = maa_to_create
|
|
value = flag:mountaineer
|
|
}
|
|
}
|
|
1 = {
|
|
trigger = {
|
|
culture = { has_cultural_parameter = unlock_maa_guinea_warrior }
|
|
}
|
|
save_scope_value_as = {
|
|
name = maa_to_create
|
|
value = flag:guinea_warrior
|
|
}
|
|
}
|
|
1 = {
|
|
trigger = {
|
|
culture = { has_cultural_parameter = unlock_maa_abudrar }
|
|
}
|
|
save_scope_value_as = {
|
|
name = maa_to_create
|
|
value = flag:abudrar
|
|
}
|
|
}
|
|
1 = {
|
|
trigger = {
|
|
culture = { has_cultural_parameter = unlock_maa_zbrojnosh }
|
|
}
|
|
save_scope_value_as = {
|
|
name = maa_to_create
|
|
value = flag:zbrojnosh
|
|
}
|
|
}
|
|
1 = {
|
|
trigger = {
|
|
culture = { has_cultural_parameter = unlock_maa_palace_guards }
|
|
}
|
|
save_scope_value_as = {
|
|
name = maa_to_create
|
|
value = flag:palace_guards
|
|
}
|
|
}
|
|
1 = {
|
|
trigger = {
|
|
dynasty ?= {
|
|
has_dynasty_perk = fp3_khvarenah_legacy_4
|
|
}
|
|
}
|
|
save_scope_value_as = {
|
|
name = maa_to_create
|
|
value = flag:asawira
|
|
}
|
|
}
|
|
1 = {
|
|
trigger = {
|
|
culture = { has_cultural_parameter = unlock_maa_tarkhan }
|
|
}
|
|
save_scope_value_as = {
|
|
name = maa_to_create
|
|
value = flag:tarkhan
|
|
}
|
|
}
|
|
1 = {
|
|
trigger = {
|
|
culture = { has_cultural_parameter = unlock_maa_zupin_warrior }
|
|
}
|
|
save_scope_value_as = {
|
|
name = maa_to_create
|
|
value = flag:zupin_warrior
|
|
}
|
|
}
|
|
1 = {
|
|
trigger = {
|
|
culture = { has_cultural_parameter = unlock_maa_tawashi }
|
|
}
|
|
save_scope_value_as = {
|
|
name = maa_to_create
|
|
value = flag:tawashi
|
|
}
|
|
}
|
|
1 = {
|
|
trigger = {
|
|
dynasty ?= {
|
|
has_dynasty_perk = warfare_legacy_5
|
|
}
|
|
}
|
|
save_scope_value_as = {
|
|
name = maa_to_create
|
|
value = flag:house_guard
|
|
}
|
|
}
|
|
1 = {
|
|
trigger = {
|
|
any_active_accolade = {
|
|
primary_type = {
|
|
this = accolade_type:archer_attribute
|
|
}
|
|
accolade_rank >= 3
|
|
}
|
|
}
|
|
save_scope_value_as = {
|
|
name = maa_to_create
|
|
value = flag:accolade_maa_archers
|
|
}
|
|
}
|
|
1 = {
|
|
trigger = {
|
|
any_active_accolade = {
|
|
primary_type = {
|
|
this = accolade_type:skirmisher_attribute
|
|
}
|
|
accolade_rank >= 3
|
|
}
|
|
}
|
|
save_scope_value_as = {
|
|
name = maa_to_create
|
|
value = flag:accolade_maa_skirmishers
|
|
}
|
|
}
|
|
1 = {
|
|
trigger = {
|
|
any_active_accolade = {
|
|
primary_type = {
|
|
this = accolade_type:pike_attribute
|
|
}
|
|
accolade_rank >= 3
|
|
}
|
|
}
|
|
save_scope_value_as = {
|
|
name = maa_to_create
|
|
value = flag:accolade_maa_pikes
|
|
}
|
|
}
|
|
1 = {
|
|
trigger = {
|
|
any_active_accolade = {
|
|
primary_type = {
|
|
this = accolade_type:outrider_attribute
|
|
}
|
|
accolade_rank >= 3
|
|
}
|
|
}
|
|
save_scope_value_as = {
|
|
name = maa_to_create
|
|
value = flag:accolade_maa_outriders
|
|
}
|
|
}
|
|
1 = {
|
|
trigger = {
|
|
any_active_accolade = {
|
|
primary_type = {
|
|
this = accolade_type:vanguard_attribute
|
|
}
|
|
accolade_rank >= 3
|
|
}
|
|
}
|
|
save_scope_value_as = {
|
|
name = maa_to_create
|
|
value = flag:accolade_maa_vanguards
|
|
}
|
|
}
|
|
1 = {
|
|
trigger = {
|
|
any_active_accolade = {
|
|
primary_type = {
|
|
this = accolade_type:lancer_attribute
|
|
}
|
|
accolade_rank >= 3
|
|
}
|
|
}
|
|
save_scope_value_as = {
|
|
name = maa_to_create
|
|
value = flag:accolade_maa_lancers
|
|
}
|
|
}
|
|
1 = {
|
|
trigger = {
|
|
any_active_accolade = {
|
|
primary_type = {
|
|
this = accolade_type:crossbowmen_attribute
|
|
}
|
|
accolade_rank >= 3
|
|
}
|
|
}
|
|
save_scope_value_as = {
|
|
name = maa_to_create
|
|
value = flag:accolade_maa_crossbowers
|
|
}
|
|
}
|
|
1 = {
|
|
trigger = {
|
|
any_active_accolade = {
|
|
primary_type = {
|
|
this = accolade_type:camelry_attribute
|
|
}
|
|
accolade_rank >= 3
|
|
}
|
|
}
|
|
save_scope_value_as = {
|
|
name = maa_to_create
|
|
value = flag:accolade_maa_cameliers
|
|
}
|
|
}
|
|
1 = {
|
|
trigger = {
|
|
any_active_accolade = {
|
|
primary_type = {
|
|
this = accolade_type:elephantry_attribute
|
|
}
|
|
accolade_rank >= 3
|
|
}
|
|
}
|
|
save_scope_value_as = {
|
|
name = maa_to_create
|
|
value = flag:accolade_maa_elephantiers
|
|
}
|
|
}
|
|
1 = {
|
|
trigger = {
|
|
any_active_accolade = {
|
|
primary_type = {
|
|
this = accolade_type:horse_archer_attribute
|
|
}
|
|
accolade_rank >= 3
|
|
}
|
|
}
|
|
save_scope_value_as = {
|
|
name = maa_to_create
|
|
value = flag:accolade_maa_horse_archers
|
|
}
|
|
}
|
|
1 = {
|
|
trigger = {
|
|
culture = { has_cultural_parameter = unlock_maa_vigmen }
|
|
}
|
|
save_scope_value_as = {
|
|
name = maa_to_create
|
|
value = flag:vigmen
|
|
}
|
|
}
|
|
1 = {
|
|
trigger = {
|
|
culture = { has_cultural_parameter = unlock_maa_bondi }
|
|
}
|
|
save_scope_value_as = {
|
|
name = maa_to_create
|
|
value = flag:bondi
|
|
}
|
|
}
|
|
1 = {
|
|
trigger = {
|
|
culture = { has_cultural_parameter = unlock_maa_varangian_veterans }
|
|
}
|
|
save_scope_value_as = {
|
|
name = maa_to_create
|
|
value = flag:varangian_veterans
|
|
}
|
|
}
|
|
1 = {
|
|
trigger = {
|
|
culture = { has_cultural_parameter = unlock_maa_ayrudzi }
|
|
}
|
|
save_scope_value_as = {
|
|
name = maa_to_create
|
|
value = flag:ayrudzi
|
|
}
|
|
}
|
|
1 = {
|
|
trigger = {
|
|
mpo_can_recruit_nomad_maa_trigger = yes
|
|
}
|
|
save_scope_value_as = {
|
|
name = maa_to_create
|
|
value = flag:steppe_raiders
|
|
}
|
|
}
|
|
1 = {
|
|
trigger = {
|
|
culture = { has_cultural_parameter = unlock_maa_conrois }
|
|
}
|
|
save_scope_value_as = {
|
|
name = maa_to_create
|
|
value = flag:conrois
|
|
}
|
|
}
|
|
1 = {
|
|
trigger = {
|
|
culture = { has_cultural_parameter = unlock_maa_akritai }
|
|
}
|
|
save_scope_value_as = {
|
|
name = maa_to_create
|
|
value = flag:akritai
|
|
}
|
|
}
|
|
1 = {
|
|
trigger = {
|
|
culture = { has_cultural_parameter = unlock_maa_ballistrai }
|
|
}
|
|
save_scope_value_as = {
|
|
name = maa_to_create
|
|
value = flag:ballistrai
|
|
}
|
|
}
|
|
1 = {
|
|
trigger = {
|
|
culture = { has_cultural_parameter = unlock_maa_skoutatoi }
|
|
}
|
|
save_scope_value_as = {
|
|
name = maa_to_create
|
|
value = flag:skoutatoi
|
|
}
|
|
}
|
|
1 = {
|
|
trigger = {
|
|
culture = { has_cultural_parameter = unlock_warrior_monk_units }
|
|
}
|
|
save_scope_value_as = {
|
|
name = maa_to_create
|
|
value = flag:warrior_monks
|
|
}
|
|
}
|
|
1 = {
|
|
trigger = {
|
|
culture = { has_cultural_parameter = unlock_emishi_horse_archers_units }
|
|
}
|
|
save_scope_value_as = {
|
|
name = maa_to_create
|
|
value = flag:emishi_horse_archers
|
|
}
|
|
}
|
|
1 = {
|
|
trigger = {
|
|
culture = { has_cultural_parameter = unlock_mounted_samurai_units }
|
|
}
|
|
save_scope_value_as = {
|
|
name = maa_to_create
|
|
value = flag:japanese_horse_archers
|
|
}
|
|
}
|
|
1 = {
|
|
trigger = {
|
|
culture = { has_cultural_parameter = unlock_maa_pesilat }
|
|
}
|
|
save_scope_value_as = {
|
|
name = maa_to_create
|
|
value = flag:pesilat_warriors
|
|
}
|
|
}
|
|
1 = {
|
|
trigger = {
|
|
culture = { has_cultural_parameter = unlock_maa_gakgung_archers }
|
|
}
|
|
save_scope_value_as = {
|
|
name = maa_to_create
|
|
value = flag:gakgung_archers
|
|
}
|
|
}
|
|
1 = {
|
|
trigger = {
|
|
culture = { has_cultural_parameter = unlock_infantry_samurai_units }
|
|
}
|
|
save_scope_value_as = {
|
|
name = maa_to_create
|
|
value = flag:samurai
|
|
}
|
|
}
|
|
1 = {
|
|
trigger = {
|
|
culture = { has_cultural_parameter = unlock_zhanmadao }
|
|
}
|
|
save_scope_value_as = {
|
|
name = maa_to_create
|
|
value = flag:zhanmadao_infantry
|
|
}
|
|
}
|
|
1 = {
|
|
trigger = {
|
|
culture = { has_cultural_parameter = unlock_burenjia }
|
|
}
|
|
save_scope_value_as = {
|
|
name = maa_to_create
|
|
value = flag:burenjia
|
|
}
|
|
}
|
|
1 = {
|
|
trigger = {
|
|
culture = { has_innovation = innovation_tiefutu }
|
|
}
|
|
save_scope_value_as = {
|
|
name = maa_to_create
|
|
value = flag:tiefutu
|
|
}
|
|
}
|
|
1 = {
|
|
trigger = {
|
|
culture = { has_cultural_parameter = unlock_maa_black_armor_cavalry }
|
|
}
|
|
save_scope_value_as = {
|
|
name = maa_to_create
|
|
value = flag:black_armor_cavalry
|
|
}
|
|
}
|
|
1 = {
|
|
trigger = {
|
|
exists = scope:title
|
|
scope:title = title:e_byzantium
|
|
}
|
|
save_scope_value_as = {
|
|
name = maa_to_create
|
|
value = flag:varangian_guards
|
|
}
|
|
}
|
|
1 = {
|
|
trigger = {
|
|
domicile ?= { has_domicile_parameter = camp_unlocks_handpicked_faithful_maa_type }
|
|
}
|
|
save_scope_value_as = {
|
|
name = maa_to_create
|
|
value = flag:handpicked_faithful
|
|
}
|
|
}
|
|
}
|
|
}
|
|
#in case you don't fullfil any criteria just pick a random default maa
|
|
if = {
|
|
limit = {
|
|
NOT = { exists = scope:maa_to_create }
|
|
}
|
|
random_list = {
|
|
1 = {
|
|
save_scope_value_as = {
|
|
name = maa_to_create
|
|
value = flag:light_footmen
|
|
}
|
|
}
|
|
1 = {
|
|
save_scope_value_as = {
|
|
name = maa_to_create
|
|
value = flag:bowmen
|
|
}
|
|
}
|
|
1 = {
|
|
save_scope_value_as = {
|
|
name = maa_to_create
|
|
value = flag:light_horsemen
|
|
}
|
|
}
|
|
1 = {
|
|
save_scope_value_as = {
|
|
name = maa_to_create
|
|
value = flag:pikemen_unit
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# creates the maa type for OWNER of SIZE set by the above
|
|
ep3_create_random_maa_regiment_effect = {
|
|
$OWNER$ = {
|
|
switch = {
|
|
trigger = scope:maa_to_create
|
|
flag:light_footmen = {
|
|
create_maa_or_upgrade_regiment_effect = {
|
|
TYPE = light_footmen
|
|
SIZE = $SIZE$
|
|
}
|
|
}
|
|
flag:bowmen = {
|
|
create_maa_or_upgrade_regiment_effect = {
|
|
TYPE = bowmen
|
|
SIZE = $SIZE$
|
|
}
|
|
}
|
|
flag:light_horsemen = {
|
|
create_maa_or_upgrade_regiment_effect = {
|
|
TYPE = light_horsemen
|
|
SIZE = $SIZE$
|
|
}
|
|
}
|
|
flag:pikemen_unit = {
|
|
create_maa_or_upgrade_regiment_effect = {
|
|
TYPE = pikemen_unit
|
|
SIZE = $SIZE$
|
|
}
|
|
}
|
|
flag:war_elephant = {
|
|
create_maa_or_upgrade_regiment_effect = {
|
|
TYPE = war_elephant
|
|
SIZE = $SIZE$
|
|
}
|
|
}
|
|
flag:camel_rider = {
|
|
create_maa_or_upgrade_regiment_effect = {
|
|
TYPE = camel_rider
|
|
SIZE = $SIZE$
|
|
}
|
|
}
|
|
flag:armored_horsemen = {
|
|
create_maa_or_upgrade_regiment_effect = {
|
|
TYPE = armored_horsemen
|
|
SIZE = $SIZE$
|
|
}
|
|
}
|
|
flag:onager = {
|
|
create_maa_or_upgrade_regiment_effect = {
|
|
TYPE = onager
|
|
SIZE = $SIZE$
|
|
}
|
|
}
|
|
flag:armored_footmen = {
|
|
create_maa_or_upgrade_regiment_effect = {
|
|
TYPE = armored_footmen
|
|
SIZE = $SIZE$
|
|
}
|
|
}
|
|
flag:mangonel = {
|
|
create_maa_or_upgrade_regiment_effect = {
|
|
TYPE = mangonel
|
|
SIZE = $SIZE$
|
|
}
|
|
}
|
|
flag:trebuchet = {
|
|
create_maa_or_upgrade_regiment_effect = {
|
|
TYPE = trebuchet
|
|
SIZE = $SIZE$
|
|
}
|
|
}
|
|
flag:crossbowmen = {
|
|
create_maa_or_upgrade_regiment_effect = {
|
|
TYPE = crossbowmen
|
|
SIZE = $SIZE$
|
|
}
|
|
}
|
|
flag:bombard = {
|
|
create_maa_or_upgrade_regiment_effect = {
|
|
TYPE = bombard
|
|
SIZE = $SIZE$
|
|
}
|
|
}
|
|
flag:paiks = {
|
|
create_maa_or_upgrade_regiment_effect = {
|
|
TYPE = paiks
|
|
SIZE = $SIZE$
|
|
}
|
|
}
|
|
flag:landsknecht = {
|
|
create_maa_or_upgrade_regiment_effect = {
|
|
TYPE = landsknecht
|
|
SIZE = $SIZE$
|
|
}
|
|
}
|
|
flag:goedendag = {
|
|
create_maa_or_upgrade_regiment_effect = {
|
|
TYPE = goedendag
|
|
SIZE = $SIZE$
|
|
}
|
|
}
|
|
flag:gendarme = {
|
|
create_maa_or_upgrade_regiment_effect = {
|
|
TYPE = gendarme
|
|
SIZE = $SIZE$
|
|
}
|
|
}
|
|
flag:picchieri = {
|
|
create_maa_or_upgrade_regiment_effect = {
|
|
TYPE = picchieri
|
|
SIZE = $SIZE$
|
|
}
|
|
}
|
|
flag:praetorian = {
|
|
create_maa_or_upgrade_regiment_effect = {
|
|
TYPE = praetorian
|
|
SIZE = $SIZE$
|
|
}
|
|
}
|
|
flag:chasseur = {
|
|
create_maa_or_upgrade_regiment_effect = {
|
|
TYPE = chasseur
|
|
SIZE = $SIZE$
|
|
}
|
|
}
|
|
flag:caballero = {
|
|
create_maa_or_upgrade_regiment_effect = {
|
|
TYPE = caballero
|
|
SIZE = $SIZE$
|
|
}
|
|
}
|
|
flag:hobelar = {
|
|
create_maa_or_upgrade_regiment_effect = {
|
|
TYPE = hobelar
|
|
SIZE = $SIZE$
|
|
}
|
|
}
|
|
flag:schiltron = {
|
|
create_maa_or_upgrade_regiment_effect = {
|
|
TYPE = schiltron
|
|
SIZE = $SIZE$
|
|
}
|
|
}
|
|
flag:sahel_horsemen = {
|
|
create_maa_or_upgrade_regiment_effect = {
|
|
TYPE = sahel_horsemen
|
|
SIZE = $SIZE$
|
|
}
|
|
}
|
|
flag:sarawit = {
|
|
create_maa_or_upgrade_regiment_effect = {
|
|
TYPE = sarawit
|
|
SIZE = $SIZE$
|
|
}
|
|
}
|
|
flag:shenbigong = {
|
|
create_maa_or_upgrade_regiment_effect = {
|
|
TYPE = shenbigong
|
|
SIZE = $SIZE$
|
|
}
|
|
}
|
|
flag:guanch_vaulter = {
|
|
create_maa_or_upgrade_regiment_effect = {
|
|
TYPE = guanch_vaulter
|
|
SIZE = $SIZE$
|
|
}
|
|
}
|
|
flag:huscarl = {
|
|
create_maa_or_upgrade_regiment_effect = {
|
|
TYPE = huscarl
|
|
SIZE = $SIZE$
|
|
}
|
|
}
|
|
flag:longbowmen = {
|
|
create_maa_or_upgrade_regiment_effect = {
|
|
TYPE = longbowmen
|
|
SIZE = $SIZE$
|
|
}
|
|
}
|
|
flag:monaspa = {
|
|
create_maa_or_upgrade_regiment_effect = {
|
|
TYPE = monaspa
|
|
SIZE = $SIZE$
|
|
}
|
|
}
|
|
flag:cataphract = {
|
|
create_maa_or_upgrade_regiment_effect = {
|
|
TYPE = cataphract
|
|
SIZE = $SIZE$
|
|
}
|
|
}
|
|
flag:metsanvartija = {
|
|
create_maa_or_upgrade_regiment_effect = {
|
|
TYPE = metsanvartija
|
|
SIZE = $SIZE$
|
|
}
|
|
}
|
|
flag:maturkan_warriors = {
|
|
create_maa_or_upgrade_regiment_effect = {
|
|
TYPE = maturkan_warriors
|
|
SIZE = $SIZE$
|
|
}
|
|
}
|
|
flag:horse_archers = {
|
|
create_maa_or_upgrade_regiment_effect = {
|
|
TYPE = horse_archers
|
|
SIZE = $SIZE$
|
|
}
|
|
}
|
|
flag:ayyar = {
|
|
create_maa_or_upgrade_regiment_effect = {
|
|
TYPE = ayyar
|
|
SIZE = $SIZE$
|
|
}
|
|
}
|
|
flag:mubarizun = {
|
|
create_maa_or_upgrade_regiment_effect = {
|
|
TYPE = mubarizun
|
|
SIZE = $SIZE$
|
|
}
|
|
}
|
|
flag:mulaththamun = {
|
|
create_maa_or_upgrade_regiment_effect = {
|
|
TYPE = mulaththamun
|
|
SIZE = $SIZE$
|
|
}
|
|
}
|
|
flag:archers_of_the_nile = {
|
|
create_maa_or_upgrade_regiment_effect = {
|
|
TYPE = archers_of_the_nile
|
|
SIZE = $SIZE$
|
|
}
|
|
}
|
|
flag:druzhina = {
|
|
create_maa_or_upgrade_regiment_effect = {
|
|
TYPE = druzhina
|
|
SIZE = $SIZE$
|
|
}
|
|
}
|
|
flag:hussar = {
|
|
create_maa_or_upgrade_regiment_effect = {
|
|
TYPE = hussar
|
|
SIZE = $SIZE$
|
|
}
|
|
}
|
|
flag:horn_warrior = {
|
|
create_maa_or_upgrade_regiment_effect = {
|
|
TYPE = horn_warrior
|
|
SIZE = $SIZE$
|
|
}
|
|
}
|
|
flag:bush_hunter = {
|
|
create_maa_or_upgrade_regiment_effect = {
|
|
TYPE = bush_hunter
|
|
SIZE = $SIZE$
|
|
}
|
|
}
|
|
flag:shomer = {
|
|
create_maa_or_upgrade_regiment_effect = {
|
|
TYPE = shomer
|
|
SIZE = $SIZE$
|
|
}
|
|
}
|
|
flag:garudas = {
|
|
create_maa_or_upgrade_regiment_effect = {
|
|
TYPE = garudas
|
|
SIZE = $SIZE$
|
|
}
|
|
}
|
|
flag:khandayat = {
|
|
create_maa_or_upgrade_regiment_effect = {
|
|
TYPE = khandayat
|
|
SIZE = $SIZE$
|
|
}
|
|
}
|
|
flag:mountaineer = {
|
|
create_maa_or_upgrade_regiment_effect = {
|
|
TYPE = mountaineer
|
|
SIZE = $SIZE$
|
|
}
|
|
}
|
|
flag:guinea_warrior = {
|
|
create_maa_or_upgrade_regiment_effect = {
|
|
TYPE = guinea_warrior
|
|
SIZE = $SIZE$
|
|
}
|
|
}
|
|
flag:abudrar = {
|
|
create_maa_or_upgrade_regiment_effect = {
|
|
TYPE = abudrar
|
|
SIZE = $SIZE$
|
|
}
|
|
}
|
|
flag:zbrojnosh = {
|
|
create_maa_or_upgrade_regiment_effect = {
|
|
TYPE = zbrojnosh
|
|
SIZE = $SIZE$
|
|
}
|
|
}
|
|
flag:palace_guards = {
|
|
create_maa_or_upgrade_regiment_effect = {
|
|
TYPE = palace_guards
|
|
SIZE = $SIZE$
|
|
}
|
|
}
|
|
flag:asawira = {
|
|
create_maa_or_upgrade_regiment_effect = {
|
|
TYPE = asawira
|
|
SIZE = $SIZE$
|
|
}
|
|
}
|
|
flag:tarkhan = {
|
|
create_maa_or_upgrade_regiment_effect = {
|
|
TYPE = tarkhan
|
|
SIZE = $SIZE$
|
|
}
|
|
}
|
|
flag:zupin_warrior = {
|
|
create_maa_or_upgrade_regiment_effect = {
|
|
TYPE = zupin_warrior
|
|
SIZE = $SIZE$
|
|
}
|
|
}
|
|
flag:tawashi = {
|
|
create_maa_or_upgrade_regiment_effect = {
|
|
TYPE = tawashi
|
|
SIZE = $SIZE$
|
|
}
|
|
}
|
|
flag:house_guard = {
|
|
create_maa_or_upgrade_regiment_effect = {
|
|
TYPE = house_guard
|
|
SIZE = $SIZE$
|
|
}
|
|
}
|
|
flag:accolade_maa_archers = {
|
|
create_maa_or_upgrade_regiment_effect = {
|
|
TYPE = accolade_maa_archers
|
|
SIZE = $SIZE$
|
|
}
|
|
}
|
|
flag:accolade_maa_skirmishers = {
|
|
create_maa_or_upgrade_regiment_effect = {
|
|
TYPE = accolade_maa_skirmishers
|
|
SIZE = $SIZE$
|
|
}
|
|
}
|
|
flag:accolade_maa_pikes = {
|
|
create_maa_or_upgrade_regiment_effect = {
|
|
TYPE = accolade_maa_pikes
|
|
SIZE = $SIZE$
|
|
}
|
|
}
|
|
flag:accolade_maa_outriders = {
|
|
create_maa_or_upgrade_regiment_effect = {
|
|
TYPE = accolade_maa_outriders
|
|
SIZE = $SIZE$
|
|
}
|
|
}
|
|
flag:accolade_maa_vanguards = {
|
|
create_maa_or_upgrade_regiment_effect = {
|
|
TYPE = accolade_maa_vanguards
|
|
SIZE = $SIZE$
|
|
}
|
|
}
|
|
flag:accolade_maa_lancers = {
|
|
create_maa_or_upgrade_regiment_effect = {
|
|
TYPE = accolade_maa_lancers
|
|
SIZE = $SIZE$
|
|
}
|
|
}
|
|
flag:accolade_maa_crossbowers = {
|
|
create_maa_or_upgrade_regiment_effect = {
|
|
TYPE = accolade_maa_crossbowers
|
|
SIZE = $SIZE$
|
|
}
|
|
}
|
|
flag:accolade_maa_cameliers = {
|
|
create_maa_or_upgrade_regiment_effect = {
|
|
TYPE = accolade_maa_cameliers
|
|
SIZE = $SIZE$
|
|
}
|
|
}
|
|
flag:accolade_maa_elephantiers = {
|
|
create_maa_or_upgrade_regiment_effect = {
|
|
TYPE = accolade_maa_elephantiers
|
|
SIZE = $SIZE$
|
|
}
|
|
}
|
|
flag:accolade_maa_horse_archers = {
|
|
create_maa_or_upgrade_regiment_effect = {
|
|
TYPE = accolade_maa_horse_archers
|
|
SIZE = $SIZE$
|
|
}
|
|
}
|
|
flag:vigmen = {
|
|
create_maa_or_upgrade_regiment_effect = {
|
|
TYPE = vigmen
|
|
SIZE = $SIZE$
|
|
}
|
|
}
|
|
flag:bondi = {
|
|
create_maa_or_upgrade_regiment_effect = {
|
|
TYPE = bondi
|
|
SIZE = $SIZE$
|
|
}
|
|
}
|
|
flag:varangian_veterans = {
|
|
create_maa_or_upgrade_regiment_effect = {
|
|
TYPE = varangian_veterans
|
|
SIZE = $SIZE$
|
|
}
|
|
}
|
|
flag:ayrudzi = {
|
|
create_maa_or_upgrade_regiment_effect = {
|
|
TYPE = ayrudzi
|
|
SIZE = $SIZE$
|
|
}
|
|
}
|
|
flag:steppe_raiders = {
|
|
create_maa_or_upgrade_regiment_effect = {
|
|
TYPE = steppe_raiders
|
|
SIZE = $SIZE$
|
|
}
|
|
}
|
|
flag:conrois = {
|
|
create_maa_or_upgrade_regiment_effect = {
|
|
TYPE = conrois
|
|
SIZE = $SIZE$
|
|
}
|
|
}
|
|
flag:akritai = {
|
|
create_maa_or_upgrade_regiment_effect = {
|
|
TYPE = akritai
|
|
SIZE = $SIZE$
|
|
}
|
|
}
|
|
flag:ballistrai = {
|
|
create_maa_or_upgrade_regiment_effect = {
|
|
TYPE = ballistrai
|
|
SIZE = $SIZE$
|
|
}
|
|
}
|
|
flag:skoutatoi = {
|
|
create_maa_or_upgrade_regiment_effect = {
|
|
TYPE = skoutatoi
|
|
SIZE = $SIZE$
|
|
}
|
|
}
|
|
flag:varangian_guards = {
|
|
create_maa_or_upgrade_regiment_effect = {
|
|
TYPE = varangian_guards
|
|
SIZE = $SIZE$
|
|
}
|
|
}
|
|
flag:handpicked_faithful = {
|
|
create_maa_or_upgrade_regiment_effect = {
|
|
TYPE = handpicked_faithful
|
|
SIZE = $SIZE$
|
|
}
|
|
}
|
|
flag:emishi_horse_archers = {
|
|
create_maa_or_upgrade_regiment_effect = {
|
|
TYPE = emishi_horse_archers
|
|
SIZE = $SIZE$
|
|
}
|
|
}
|
|
flag:japanese_horse_archers = {
|
|
create_maa_or_upgrade_regiment_effect = {
|
|
TYPE = japanese_horse_archers
|
|
SIZE = $SIZE$
|
|
}
|
|
}
|
|
flag:warrior_monks = {
|
|
create_maa_or_upgrade_regiment_effect = {
|
|
TYPE = warrior_monks
|
|
SIZE = $SIZE$
|
|
}
|
|
}
|
|
flag:gakgung_archers = {
|
|
create_maa_or_upgrade_regiment_effect = {
|
|
TYPE = gakgung_archers
|
|
SIZE = $SIZE$
|
|
}
|
|
}
|
|
flag:pesilat_warriors = {
|
|
create_maa_or_upgrade_regiment_effect = {
|
|
TYPE = pesilat_warriors
|
|
SIZE = $SIZE$
|
|
}
|
|
}
|
|
flag:samurai = {
|
|
create_maa_or_upgrade_regiment_effect = {
|
|
TYPE = samurai
|
|
SIZE = $SIZE$
|
|
}
|
|
}
|
|
flag:zhanmadao_infantry = {
|
|
create_maa_or_upgrade_regiment_effect = {
|
|
TYPE = zhanmadao_infantry
|
|
SIZE = $SIZE$
|
|
}
|
|
}
|
|
flag:burenjia = {
|
|
create_maa_or_upgrade_regiment_effect = {
|
|
TYPE = burenjia
|
|
SIZE = $SIZE$
|
|
}
|
|
}
|
|
flag:tiefutu = {
|
|
create_maa_or_upgrade_regiment_effect = {
|
|
TYPE = tiefutu
|
|
SIZE = $SIZE$
|
|
}
|
|
}
|
|
flag:black_armor_cavalry = {
|
|
create_maa_or_upgrade_regiment_effect = {
|
|
TYPE = black_armor_cavalry
|
|
SIZE = $SIZE$
|
|
}
|
|
}
|
|
flag:rocket_carts = {
|
|
create_maa_or_upgrade_regiment_effect = {
|
|
TYPE = rocket_carts
|
|
SIZE = $SIZE$
|
|
}
|
|
}
|
|
flag:ballista = {
|
|
create_maa_or_upgrade_regiment_effect = {
|
|
TYPE = ballista
|
|
SIZE = $SIZE$
|
|
}
|
|
}
|
|
flag:cloud_ladder = {
|
|
create_maa_or_upgrade_regiment_effect = {
|
|
TYPE = cloud_ladder
|
|
SIZE = $SIZE$
|
|
}
|
|
}
|
|
flag:siege_tower = {
|
|
create_maa_or_upgrade_regiment_effect = {
|
|
TYPE = siege_tower
|
|
SIZE = $SIZE$
|
|
}
|
|
}
|
|
flag:cannon = {
|
|
create_maa_or_upgrade_regiment_effect = {
|
|
TYPE = cannon
|
|
SIZE = $SIZE$
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
create_maa_or_upgrade_regiment_effect = {
|
|
if = {
|
|
limit = {
|
|
any_maa_regiment = {
|
|
is_maa_type = $TYPE$
|
|
can_upgrade_maa = yes
|
|
}
|
|
}
|
|
random_maa_regiment = {
|
|
limit = {
|
|
is_maa_type = $TYPE$
|
|
can_upgrade_maa = yes
|
|
}
|
|
change_maa_regiment_size = $SIZE$
|
|
}
|
|
}
|
|
else = {
|
|
create_maa_regiment = {
|
|
type = $TYPE$
|
|
check_can_recruit = no
|
|
size = $SIZE$
|
|
}
|
|
}
|
|
}
|
|
|
|
ep3_missionary_effect = {
|
|
# Same religion or unreformed or Hasan, convert to the preacher's faith
|
|
if = {
|
|
limit = {
|
|
OR = {
|
|
$LOCATION$.religion = $PREACHER$.religion
|
|
$LOCATION$.faith = { has_doctrine_parameter = unreformed }
|
|
character:41702 ?= $PREACHER$
|
|
}
|
|
}
|
|
$LOCATION$ = {
|
|
set_county_faith = $PREACHER$.faith
|
|
}
|
|
}
|
|
# Preacher is Gnostic, convert the locals to a regionally appropriate form of Gnosticism
|
|
else_if = {
|
|
limit = {
|
|
$PREACHER$.faith = {
|
|
OR = {
|
|
has_doctrine = tenet_gnosticism
|
|
has_doctrine = special_doctrine_is_gnostic_faith
|
|
}
|
|
}
|
|
$LOCATION$.religion = {
|
|
any_faith = {
|
|
has_doctrine = tenet_gnosticism
|
|
}
|
|
}
|
|
}
|
|
$LOCATION$ = {
|
|
religion = {
|
|
random_faith = {
|
|
limit = {
|
|
OR = {
|
|
has_doctrine = tenet_gnosticism
|
|
has_doctrine = special_doctrine_is_gnostic_faith
|
|
}
|
|
}
|
|
$LOCATION$ = { set_county_faith = prev }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
# Otherwise, reduce popular opinion
|
|
else = {
|
|
$LOCATION$ = {
|
|
add_county_modifier = {
|
|
modifier = ep3_religious_doubts
|
|
years = 15
|
|
}
|
|
}
|
|
}
|
|
}
|
|
ep3_hasan_missionary_effect = {
|
|
ep3_hasan_advance_radicalism = yes
|
|
ep3_missionary_effect = {
|
|
PREACHER = $PREACHER$
|
|
LOCATION = $LOCATION$
|
|
}
|
|
}
|
|
ep3_hasan_advance_radicalism = {
|
|
if = {
|
|
limit = {
|
|
any_owned_story = {
|
|
type = story_hasan
|
|
}
|
|
}
|
|
custom_tooltip = {
|
|
text = advance_to_the_assassins_tt
|
|
random_owned_story = {
|
|
type = story_hasan
|
|
if = {
|
|
limit = {
|
|
exists = var:radical_points
|
|
}
|
|
change_variable = {
|
|
name = radical_points
|
|
add = 1
|
|
}
|
|
}
|
|
else = {
|
|
set_variable = {
|
|
name = radical_points
|
|
value = 1
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
hasan_sabbah_ignite_decision_effect = {
|
|
if = {
|
|
limit = {
|
|
hasan_sabbah_event_troops_value <= 1000
|
|
}
|
|
spawn_army = {
|
|
name = hasan_fanatics
|
|
men_at_arms = {
|
|
type = asawira
|
|
stacks = 1
|
|
}
|
|
levies = hasan_sabbah_event_troops_value
|
|
inheritable = yes
|
|
location = root.domicile.domicile_location
|
|
war_keep_on_attacker_victory = yes
|
|
}
|
|
spawn_army = {
|
|
name = hasan_fanatics
|
|
men_at_arms = {
|
|
type = asawira
|
|
stacks = 1
|
|
}
|
|
levies = hasan_sabbah_event_troops_value
|
|
inheritable = yes
|
|
location = root.domicile.domicile_location
|
|
war_keep_on_attacker_victory = yes
|
|
}
|
|
spawn_army = {
|
|
name = hasan_fanatics
|
|
men_at_arms = {
|
|
type = ayyar
|
|
stacks = 1
|
|
}
|
|
levies = hasan_sabbah_event_troops_value
|
|
inheritable = yes
|
|
location = root.domicile.domicile_location
|
|
war_keep_on_attacker_victory = yes
|
|
}
|
|
spawn_army = {
|
|
name = hasan_fanatics
|
|
men_at_arms = {
|
|
type = ayyar
|
|
stacks = 1
|
|
}
|
|
levies = hasan_sabbah_event_troops_value
|
|
inheritable = yes
|
|
location = root.domicile.domicile_location
|
|
war_keep_on_attacker_victory = yes
|
|
}
|
|
spawn_army = {
|
|
name = hasan_fanatics
|
|
men_at_arms = {
|
|
type = ayyar
|
|
stacks = 1
|
|
}
|
|
levies = hasan_sabbah_event_troops_value
|
|
inheritable = yes
|
|
location = root.domicile.domicile_location
|
|
war_keep_on_attacker_victory = yes
|
|
}
|
|
}
|
|
else_if = {
|
|
limit = {
|
|
hasan_sabbah_event_troops_value <= 2000
|
|
}
|
|
spawn_army = {
|
|
name = hasan_fanatics
|
|
men_at_arms = {
|
|
type = asawira
|
|
stacks = 1
|
|
}
|
|
men_at_arms = {
|
|
type = ayyar
|
|
stacks = 1
|
|
}
|
|
levies = hasan_sabbah_event_troops_value
|
|
inheritable = yes
|
|
location = root.domicile.domicile_location
|
|
war_keep_on_attacker_victory = yes
|
|
}
|
|
spawn_army = {
|
|
name = hasan_fanatics
|
|
men_at_arms = {
|
|
type = asawira
|
|
stacks = 1
|
|
}
|
|
men_at_arms = {
|
|
type = ayyar
|
|
stacks = 1
|
|
}
|
|
levies = hasan_sabbah_event_troops_value
|
|
inheritable = yes
|
|
location = root.domicile.domicile_location
|
|
war_keep_on_attacker_victory = yes
|
|
}
|
|
spawn_army = {
|
|
name = hasan_fanatics
|
|
men_at_arms = {
|
|
type = asawira
|
|
stacks = 1
|
|
}
|
|
men_at_arms = {
|
|
type = ayyar
|
|
stacks = 1
|
|
}
|
|
levies = hasan_sabbah_event_troops_value
|
|
inheritable = yes
|
|
location = root.domicile.domicile_location
|
|
war_keep_on_attacker_victory = yes
|
|
}
|
|
spawn_army = {
|
|
name = hasan_fanatics
|
|
men_at_arms = {
|
|
type = asawira
|
|
stacks = 1
|
|
}
|
|
men_at_arms = {
|
|
type = ayyar
|
|
stacks = 1
|
|
}
|
|
levies = hasan_sabbah_event_troops_value
|
|
inheritable = yes
|
|
location = root.domicile.domicile_location
|
|
war_keep_on_attacker_victory = yes
|
|
}
|
|
spawn_army = {
|
|
name = hasan_fanatics
|
|
men_at_arms = {
|
|
type = ayyar
|
|
stacks = 2
|
|
}
|
|
levies = hasan_sabbah_event_troops_value
|
|
inheritable = yes
|
|
location = root.domicile.domicile_location
|
|
war_keep_on_attacker_victory = yes
|
|
}
|
|
}
|
|
else_if = {
|
|
limit = {
|
|
hasan_sabbah_event_troops_value <= 3000
|
|
}
|
|
spawn_army = {
|
|
name = hasan_fanatics
|
|
men_at_arms = {
|
|
type = asawira
|
|
stacks = 1
|
|
}
|
|
men_at_arms = {
|
|
type = ayyar
|
|
stacks = 2
|
|
}
|
|
levies = hasan_sabbah_event_troops_value
|
|
inheritable = yes
|
|
location = root.domicile.domicile_location
|
|
war_keep_on_attacker_victory = yes
|
|
}
|
|
spawn_army = {
|
|
name = hasan_fanatics
|
|
men_at_arms = {
|
|
type = asawira
|
|
stacks = 1
|
|
}
|
|
men_at_arms = {
|
|
type = ayyar
|
|
stacks = 2
|
|
}
|
|
levies = hasan_sabbah_event_troops_value
|
|
inheritable = yes
|
|
location = root.domicile.domicile_location
|
|
war_keep_on_attacker_victory = yes
|
|
}
|
|
spawn_army = {
|
|
name = hasan_fanatics
|
|
men_at_arms = {
|
|
type = asawira
|
|
stacks = 1
|
|
}
|
|
men_at_arms = {
|
|
type = ayyar
|
|
stacks = 2
|
|
}
|
|
levies = hasan_sabbah_event_troops_value
|
|
inheritable = yes
|
|
location = root.domicile.domicile_location
|
|
war_keep_on_attacker_victory = yes
|
|
}
|
|
spawn_army = {
|
|
name = hasan_fanatics
|
|
men_at_arms = {
|
|
type = asawira
|
|
stacks = 1
|
|
}
|
|
men_at_arms = {
|
|
type = ayyar
|
|
stacks = 2
|
|
}
|
|
levies = hasan_sabbah_event_troops_value
|
|
inheritable = yes
|
|
location = root.domicile.domicile_location
|
|
war_keep_on_attacker_victory = yes
|
|
}
|
|
spawn_army = {
|
|
name = hasan_fanatics
|
|
men_at_arms = {
|
|
type = asawira
|
|
stacks = 1
|
|
}
|
|
men_at_arms = {
|
|
type = ayyar
|
|
stacks = 2
|
|
}
|
|
levies = hasan_sabbah_event_troops_value
|
|
inheritable = yes
|
|
location = root.domicile.domicile_location
|
|
war_keep_on_attacker_victory = yes
|
|
}
|
|
}
|
|
else_if = {
|
|
limit = {
|
|
hasan_sabbah_event_troops_value > 3000
|
|
}
|
|
spawn_army = {
|
|
name = hasan_fanatics
|
|
men_at_arms = {
|
|
type = asawira
|
|
stacks = 2
|
|
}
|
|
men_at_arms = {
|
|
type = ayyar
|
|
stacks = 2
|
|
}
|
|
levies = hasan_sabbah_event_troops_value
|
|
inheritable = yes
|
|
location = root.domicile.domicile_location
|
|
war_keep_on_attacker_victory = yes
|
|
}
|
|
spawn_army = {
|
|
name = hasan_fanatics
|
|
men_at_arms = {
|
|
type = asawira
|
|
stacks = 2
|
|
}
|
|
men_at_arms = {
|
|
type = ayyar
|
|
stacks = 2
|
|
}
|
|
levies = hasan_sabbah_event_troops_value
|
|
inheritable = yes
|
|
location = root.domicile.domicile_location
|
|
war_keep_on_attacker_victory = yes
|
|
}
|
|
spawn_army = {
|
|
name = hasan_fanatics
|
|
men_at_arms = {
|
|
type = asawira
|
|
stacks = 2
|
|
}
|
|
men_at_arms = {
|
|
type = ayyar
|
|
stacks = 2
|
|
}
|
|
levies = hasan_sabbah_event_troops_value
|
|
inheritable = yes
|
|
location = root.domicile.domicile_location
|
|
war_keep_on_attacker_victory = yes
|
|
}
|
|
spawn_army = {
|
|
name = hasan_fanatics
|
|
men_at_arms = {
|
|
type = asawira
|
|
stacks = 2
|
|
}
|
|
men_at_arms = {
|
|
type = ayyar
|
|
stacks = 2
|
|
}
|
|
levies = hasan_sabbah_event_troops_value
|
|
inheritable = yes
|
|
location = root.domicile.domicile_location
|
|
war_keep_on_attacker_victory = yes
|
|
}
|
|
spawn_army = {
|
|
name = hasan_fanatics
|
|
men_at_arms = {
|
|
type = asawira
|
|
stacks = 2
|
|
}
|
|
men_at_arms = {
|
|
type = ayyar
|
|
stacks = 2
|
|
}
|
|
levies = hasan_sabbah_event_troops_value
|
|
inheritable = yes
|
|
location = root.domicile.domicile_location
|
|
war_keep_on_attacker_victory = yes
|
|
}
|
|
}
|
|
start_war = {
|
|
cb = ep3_hasan_assassin_war
|
|
target = root.location.county.holder.top_liege
|
|
target_title = root.location.county.holder.top_liege.primary_title
|
|
}
|
|
}
|
|
hasan_sabbah_end_war = {
|
|
# Offer Hasan the opportunity to become landed
|
|
hidden_effect = {
|
|
if = {
|
|
limit = {
|
|
$SELJUK$ = {
|
|
any_sub_realm_barony = {
|
|
title_province = { has_building_or_higher = alamut_castle_01 }
|
|
}
|
|
}
|
|
}
|
|
$SELJUK$ = {
|
|
random_sub_realm_barony = {
|
|
limit = {
|
|
title_province = { has_building_or_higher = alamut_castle_01 }
|
|
}
|
|
county = {
|
|
save_scope_as = hasan_home
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else_if = {
|
|
limit = {
|
|
$SELJUK$ = {
|
|
any_sub_realm_county = {
|
|
faith = $HASAN$.faith
|
|
holder = { is_ai = yes }
|
|
}
|
|
}
|
|
}
|
|
$SELJUK$ = {
|
|
random_sub_realm_county = {
|
|
limit = {
|
|
faith = $HASAN$.faith
|
|
holder = { is_ai = yes }
|
|
}
|
|
save_scope_as = hasan_home
|
|
}
|
|
}
|
|
}
|
|
else = {
|
|
$SELJUK$ = {
|
|
random_sub_realm_county = {
|
|
limit = {
|
|
holder = { is_ai = yes }
|
|
}
|
|
save_scope_as = hasan_home
|
|
}
|
|
}
|
|
}
|
|
$HASAN$ = {
|
|
if = {
|
|
limit = {
|
|
any_owned_story = {
|
|
type = story_hasan
|
|
exists = var:preferred_caliph
|
|
}
|
|
}
|
|
random_owned_story = {
|
|
type = story_hasan
|
|
var:preferred_caliph = { save_scope_as = caliph }
|
|
}
|
|
}
|
|
trigger_event = {
|
|
id = hasan_sabbah.1050
|
|
}
|
|
if = {
|
|
limit = {
|
|
is_ai = no
|
|
}
|
|
add_achievement_global_variable_effect = {
|
|
VARIABLE = finished_the_old_man_of_the_mountain_achievement
|
|
VALUE = yes
|
|
}
|
|
}
|
|
}
|
|
}
|
|
create_title_and_vassal_change = {
|
|
type = independency
|
|
save_scope_as = change
|
|
}
|
|
$HASAN$ = {
|
|
add_prestige = medium_prestige_value
|
|
}
|
|
$SELJUK$ = {
|
|
add_prestige = {
|
|
value = medium_prestige_value
|
|
multiply = -1
|
|
}
|
|
|
|
every_vassal = {
|
|
limit = {
|
|
highest_held_title_tier > tier_barony
|
|
}
|
|
change_liege_or_become_independent = {
|
|
CHANGE = scope:change
|
|
VASSAL = this
|
|
}
|
|
}
|
|
|
|
every_vassal = {
|
|
limit = { is_ai = no }
|
|
send_interface_toast = {
|
|
type = msg_gained_independence
|
|
title = liege_primary_title_dissolution
|
|
desc = liege_primary_title_dissolution_desc
|
|
left_icon = $SELJUK$
|
|
}
|
|
}
|
|
}
|
|
resolve_title_and_vassal_change = scope:change
|
|
$SELJUK$ = {
|
|
every_held_title = {
|
|
limit = {
|
|
tier >= tier_duchy
|
|
is_head_of_faith = no
|
|
NOT = { this = $SELJUK$.capital_county.duchy }
|
|
}
|
|
add_to_temporary_list = titles_to_destroy
|
|
}
|
|
}
|
|
every_in_list = {
|
|
list = titles_to_destroy
|
|
$HASAN$ = {
|
|
destroy_title = prev
|
|
}
|
|
}
|
|
$SELJUK$ = {
|
|
if = {
|
|
limit = {
|
|
government_has_flag = government_is_administrative
|
|
}
|
|
admin_government_reset_effect = yes
|
|
}
|
|
}
|
|
# LEGITIMACY FROM LOSING FACTION WAR
|
|
faction_war_end_defeat_legitimacy_effect = yes
|
|
# End Hasan's story cycle
|
|
hidden_effect = {
|
|
$HASAN$ = {
|
|
if = {
|
|
limit = {
|
|
any_owned_story = {
|
|
type = story_hasan
|
|
}
|
|
}
|
|
random_owned_story = {
|
|
type = story_hasan
|
|
end_story = yes
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
reinforce_soldiers_regiment_effect = {
|
|
save_scope_as = laamp_temp
|
|
# For the value.
|
|
save_temporary_scope_as = actor
|
|
custom_tooltip = {
|
|
text = reinforce_soldiers_effect_tt
|
|
every_maa_regiment = {
|
|
limit = { maa_regiments_valid_for_cheap_reinforcement_trigger = yes }
|
|
change_maa_troops_count = reinforce_soldiers_regiment_soldiers_value
|
|
}
|
|
}
|
|
}
|
|
|
|
refill_maa_with_provisions_effect = {
|
|
save_scope_as = laamp_temp
|
|
while = {
|
|
limit = {
|
|
scope:actor.domicile.provisions > 0
|
|
any_maa_regiment = {
|
|
maa_regiments_valid_to_refill_trigger = yes
|
|
}
|
|
}
|
|
random_maa_regiment = {
|
|
limit = {
|
|
maa_regiments_valid_to_refill_trigger = yes
|
|
}
|
|
save_scope_as = maa_scope
|
|
save_scope_value_as = {
|
|
name = current_provisions_max_value_scope
|
|
value = scope:actor.domicile.provisions
|
|
}
|
|
scope:actor.domicile ?= {
|
|
change_provisions = {
|
|
value = {
|
|
add = scope:maa_scope.replenishable_troops_value
|
|
divide = provision_refill_value
|
|
max = scope:current_provisions_max_value_scope
|
|
multiply = -1
|
|
}
|
|
}
|
|
}
|
|
change_maa_troops_count = replenishable_troops_with_provisions_value
|
|
}
|
|
}
|
|
}
|
|
|
|
refill_maa_with_gold_effect = {
|
|
save_scope_as = laamp_temp
|
|
while = {
|
|
limit = {
|
|
scope:actor.gold > 0
|
|
any_maa_regiment = {
|
|
maa_regiments_valid_to_refill_trigger = yes
|
|
}
|
|
}
|
|
random_maa_regiment = {
|
|
limit = {
|
|
maa_regiments_valid_to_refill_trigger = yes
|
|
}
|
|
save_scope_as = maa_scope
|
|
save_scope_value_as = {
|
|
name = current_gold_max_value_scope
|
|
value = scope:actor.gold
|
|
}
|
|
scope:actor = {
|
|
remove_short_term_gold = {
|
|
add = scope:maa_scope.replenishable_troops_value
|
|
divide = gold_refill_value
|
|
max = scope:current_gold_max_value_scope
|
|
}
|
|
}
|
|
change_maa_troops_count = replenishable_troops_with_gold_value
|
|
}
|
|
}
|
|
}
|
|
|
|
admin_government_reset_effect = {
|
|
if = {
|
|
limit = { is_landed = yes } # error suppression
|
|
### NOMADIC
|
|
if = {
|
|
limit = {
|
|
OR = {
|
|
government_has_flag = government_is_nomadic
|
|
capital_province = {
|
|
OR = {
|
|
has_holding_type = nomad_holding
|
|
has_holding_type = herder_holding
|
|
}
|
|
}
|
|
}
|
|
}
|
|
change_government = nomad_government
|
|
}
|
|
### TRIBAL - are all of your holdings Tribal?
|
|
if = {
|
|
limit = {
|
|
NOT = {
|
|
any_held_title = {
|
|
trigger_if = {
|
|
limit = { tier <= tier_county }
|
|
title_province ?= {
|
|
NOT = { has_holding_type = tribal_holding }
|
|
}
|
|
}
|
|
trigger_else = {
|
|
title_capital_county.title_province ?= {
|
|
NOT = { has_holding_type = tribal_holding }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
change_government = tribal_government
|
|
}
|
|
### CLAN - are you a Muslim or from a Clan culture?
|
|
else_if = {
|
|
limit = {
|
|
OR = {
|
|
faith = { religion_tag = islam_religion }
|
|
culture = {
|
|
OR = {
|
|
has_cultural_pillar = heritage_arabic
|
|
has_cultural_pillar = heritage_iranian
|
|
has_cultural_pillar = heritage_turkic
|
|
}
|
|
}
|
|
}
|
|
}
|
|
change_government = clan_government
|
|
}
|
|
### FEUDAL - fallback playable case
|
|
else = { change_government = feudal_government }
|
|
}
|
|
}
|
|
|
|
create_basic_peasant_effect = {
|
|
create_character = {
|
|
template = peasant_character
|
|
location = root.location
|
|
dynasty = none
|
|
culture = root.location.culture
|
|
faith = root.location.faith
|
|
gender_female_chance = 50
|
|
after_creation = {
|
|
set_to_lowborn = yes
|
|
}
|
|
save_scope_as = peasant
|
|
}
|
|
}
|
|
|
|
fire_governor_long_war_response_events = {
|
|
if = {
|
|
limit = {
|
|
scope:defender = {
|
|
government_has_flag = government_is_administrative
|
|
top_liege = this
|
|
any_vassal = {
|
|
is_governor = yes
|
|
NOR = {
|
|
this = scope:attacker
|
|
is_allied_to = scope:attacker
|
|
}
|
|
}
|
|
}
|
|
}
|
|
scope:defender = {
|
|
random_vassal = {
|
|
limit = {
|
|
is_governor = yes
|
|
NOR = {
|
|
this = scope:attacker
|
|
is_allied_to = scope:attacker
|
|
}
|
|
}
|
|
save_scope_as = def_governor_1
|
|
trigger_event = {
|
|
id = ep3_governor_yearly.3010
|
|
months = 24
|
|
}
|
|
}
|
|
}
|
|
scope:defender = {
|
|
random_vassal = {
|
|
limit = {
|
|
is_governor = yes
|
|
NOR = {
|
|
this = scope:attacker
|
|
is_allied_to = scope:attacker
|
|
this = scope:def_governor_1
|
|
}
|
|
}
|
|
save_scope_as = def_governor_2
|
|
trigger_event = {
|
|
id = ep3_governor_yearly.3010
|
|
months = 28
|
|
}
|
|
}
|
|
}
|
|
scope:defender = {
|
|
random_vassal = {
|
|
limit = {
|
|
is_governor = yes
|
|
NOR = {
|
|
this = scope:attacker
|
|
is_allied_to = scope:attacker
|
|
this = scope:def_governor_1
|
|
this = scope:def_governor_2
|
|
}
|
|
}
|
|
save_scope_as = def_governor_3
|
|
trigger_event = {
|
|
id = ep3_governor_yearly.3010
|
|
months = 32
|
|
}
|
|
}
|
|
}
|
|
scope:defender = {
|
|
random_vassal = {
|
|
limit = {
|
|
is_governor = yes
|
|
NOR = {
|
|
this = scope:attacker
|
|
is_allied_to = scope:attacker
|
|
this = scope:def_governor_1
|
|
this = scope:def_governor_2
|
|
this = scope:def_governor_3
|
|
}
|
|
}
|
|
save_scope_as = def_governor_4
|
|
trigger_event = {
|
|
id = ep3_governor_yearly.3010
|
|
months = 36
|
|
}
|
|
}
|
|
}
|
|
scope:defender = {
|
|
random_vassal = {
|
|
limit = {
|
|
is_governor = yes
|
|
NOR = {
|
|
this = scope:attacker
|
|
is_allied_to = scope:attacker
|
|
this = scope:def_governor_1
|
|
this = scope:def_governor_2
|
|
this = scope:def_governor_3
|
|
this = scope:def_governor_4
|
|
}
|
|
}
|
|
save_scope_as = def_governor_5
|
|
trigger_event = {
|
|
id = ep3_governor_yearly.3010
|
|
months = 42
|
|
}
|
|
}
|
|
}
|
|
scope:defender = {
|
|
random_vassal = {
|
|
limit = {
|
|
is_governor = yes
|
|
NOR = {
|
|
this = scope:attacker
|
|
is_allied_to = scope:attacker
|
|
this = scope:def_governor_1
|
|
this = scope:def_governor_2
|
|
this = scope:def_governor_3
|
|
this = scope:def_governor_4
|
|
this = scope:def_governor_5
|
|
}
|
|
}
|
|
save_scope_as = def_governor_6
|
|
trigger_event = {
|
|
id = ep3_governor_yearly.3010
|
|
months = 54
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if = {
|
|
limit = {
|
|
scope:attacker = {
|
|
government_has_flag = government_is_administrative
|
|
top_liege = this
|
|
any_vassal = {
|
|
is_governor = yes
|
|
NOR = {
|
|
this = scope:defender
|
|
is_allied_to = scope:defender
|
|
}
|
|
}
|
|
}
|
|
}
|
|
scope:attacker = {
|
|
random_vassal = {
|
|
limit = {
|
|
is_governor = yes
|
|
NOR = {
|
|
this = scope:defender
|
|
is_allied_to = scope:defender
|
|
}
|
|
}
|
|
save_scope_as = att_governor_1
|
|
trigger_event = {
|
|
id = ep3_governor_yearly.3010
|
|
months = 24
|
|
}
|
|
}
|
|
}
|
|
scope:attacker = {
|
|
random_vassal = {
|
|
limit = {
|
|
is_governor = yes
|
|
NOR = {
|
|
this = scope:defender
|
|
is_allied_to = scope:defender
|
|
this = scope:att_governor_1
|
|
}
|
|
}
|
|
save_scope_as = att_governor_2
|
|
trigger_event = {
|
|
id = ep3_governor_yearly.3010
|
|
months = 28
|
|
}
|
|
}
|
|
}
|
|
scope:attacker = {
|
|
random_vassal = {
|
|
limit = {
|
|
is_governor = yes
|
|
NOR = {
|
|
this = scope:defender
|
|
is_allied_to = scope:defender
|
|
this = scope:att_governor_1
|
|
this = scope:att_governor_2
|
|
}
|
|
}
|
|
save_scope_as = att_governor_3
|
|
trigger_event = {
|
|
id = ep3_governor_yearly.3010
|
|
months = 32
|
|
}
|
|
}
|
|
}
|
|
scope:attacker = {
|
|
random_vassal = {
|
|
limit = {
|
|
is_governor = yes
|
|
NOR = {
|
|
this = scope:defender
|
|
is_allied_to = scope:defender
|
|
this = scope:att_governor_1
|
|
this = scope:att_governor_2
|
|
this = scope:att_governor_3
|
|
}
|
|
}
|
|
save_scope_as = att_governor_4
|
|
trigger_event = {
|
|
id = ep3_governor_yearly.3010
|
|
months = 36
|
|
}
|
|
}
|
|
}
|
|
scope:attacker = {
|
|
random_vassal = {
|
|
limit = {
|
|
is_governor = yes
|
|
NOR = {
|
|
this = scope:defender
|
|
is_allied_to = scope:defender
|
|
this = scope:att_governor_1
|
|
this = scope:att_governor_2
|
|
this = scope:att_governor_3
|
|
this = scope:att_governor_4
|
|
}
|
|
}
|
|
save_scope_as = att_governor_5
|
|
trigger_event = {
|
|
id = ep3_governor_yearly.3010
|
|
months = 42
|
|
}
|
|
}
|
|
}
|
|
scope:attacker = {
|
|
random_vassal = {
|
|
limit = {
|
|
is_governor = yes
|
|
NOR = {
|
|
this = scope:defender
|
|
is_allied_to = scope:defender
|
|
this = scope:att_governor_1
|
|
this = scope:att_governor_2
|
|
this = scope:att_governor_3
|
|
this = scope:att_governor_4
|
|
this = scope:att_governor_5
|
|
}
|
|
}
|
|
save_scope_as = att_governor_6
|
|
trigger_event = {
|
|
id = ep3_governor_yearly.3010
|
|
months = 54
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
ep3_governor_yearly_3010_war_aid_effect = {
|
|
if = {
|
|
limit = {
|
|
scope:emperor = {
|
|
is_defender_in_war = scope:war
|
|
}
|
|
}
|
|
scope:war = {
|
|
add_defender = scope:governor
|
|
}
|
|
}
|
|
else = {
|
|
scope:war = {
|
|
add_attacker = scope:governor
|
|
}
|
|
|
|
}
|
|
if = {
|
|
limit = {
|
|
root = scope:emperor
|
|
}
|
|
hidden_effect = {
|
|
reverse_add_opinion = {
|
|
target = scope:emperor
|
|
opinion = 20
|
|
modifier = grateful_opinion
|
|
}
|
|
}
|
|
}
|
|
else = {
|
|
reverse_add_opinion = {
|
|
target = scope:emperor
|
|
opinion = 20
|
|
modifier = grateful_opinion
|
|
}
|
|
}
|
|
pay_short_term_gold = {
|
|
target = scope:emperor
|
|
gold = medium_gold_value
|
|
}
|
|
if = {
|
|
limit = {
|
|
can_add_hook = {
|
|
target = scope:emperor
|
|
type = favor_hook
|
|
}
|
|
}
|
|
add_hook = {
|
|
target = scope:emperor
|
|
type = favor_hook
|
|
}
|
|
}
|
|
else = {
|
|
change_influence = major_influence_gain
|
|
}
|
|
}
|
|
ep3_admin_war_aftermath_effect = {
|
|
scope:war = {
|
|
if = {
|
|
limit = {
|
|
any_war_participant = {
|
|
is_landed = yes
|
|
government_has_flag = government_is_administrative
|
|
}
|
|
}
|
|
every_war_participant = {
|
|
limit = {
|
|
is_landed = yes
|
|
government_has_flag = government_is_administrative
|
|
}
|
|
primary_title = {
|
|
set_variable = {
|
|
name = admin_war_aftermath_var
|
|
years = 5
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
state_faith_conversion_add_piety_effect = {
|
|
if = {
|
|
limit = {
|
|
scope:actor = {
|
|
top_liege = { government_allows = state_faith }
|
|
faith = top_liege.primary_title.state_faith
|
|
}
|
|
scope:recipient.top_liege = { government_allows = state_faith }
|
|
}
|
|
scope:actor = {
|
|
add_piety = medium_piety_gain
|
|
}
|
|
}
|
|
}
|
|
|
|
state_faith_refuse_conversion_add_piety_effect = {
|
|
if = {
|
|
limit = {
|
|
scope:actor.top_liege = { government_allows = state_faith }
|
|
scope:recipient = {
|
|
top_liege = { government_allows = state_faith }
|
|
faith = top_liege.primary_title.state_faith
|
|
}
|
|
}
|
|
scope:recipient = { add_piety = medium_piety_gain }
|
|
}
|
|
}
|
|
|
|
# EP3 Laamp possibility warning
|
|
ep3_war_loss_adventurer_tt_effect = {
|
|
save_scope_as = war_loser
|
|
if = {
|
|
limit = {
|
|
has_ep3_dlc_trigger = yes
|
|
NOT = {
|
|
any_held_title = {
|
|
OR = {
|
|
is_landless_type_title = yes
|
|
is_noble_family_title = yes
|
|
}
|
|
}
|
|
}
|
|
trigger_if = {
|
|
limit = { any_in_list = { list = target_titles } }
|
|
OR = {
|
|
# You are losing all your counties and have no vassals to steal from
|
|
AND = {
|
|
any_held_county = {
|
|
count = all
|
|
OR = {
|
|
is_in_list = target_titles
|
|
target_is_de_jure_liege_or_above = scope:war_loser.primary_title
|
|
}
|
|
}
|
|
any_vassal = {
|
|
count = 0
|
|
highest_held_title_tier >= tier_county
|
|
}
|
|
}
|
|
# You are losing all your held titles
|
|
any_held_title = {
|
|
count = all
|
|
OR = {
|
|
is_in_list = target_titles
|
|
target_is_de_jure_liege_or_above = scope:war_loser.primary_title
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
custom_tooltip = laamp_may_become_adventurer_tt
|
|
}
|
|
}
|
|
|
|
add_randomised_double_moon_modifier_effect = {
|
|
hidden_effect = {
|
|
scope:double_moon_book = {
|
|
random_list = {
|
|
1 = {
|
|
add_artifact_modifier = artifact_prowess_2_modifier
|
|
set_artifact_description = double_moon_tome_desc_1
|
|
}
|
|
1 = {
|
|
add_artifact_modifier = artifact_knight_effectiveness_4_modifier
|
|
set_artifact_description = double_moon_tome_desc_2
|
|
}
|
|
1 = {
|
|
add_artifact_modifier = artifact_stewardship_1_modifier
|
|
set_artifact_description = double_moon_tome_desc_3
|
|
}
|
|
1 = {
|
|
add_artifact_modifier = artifact_diplomacy_1_modifier
|
|
set_artifact_description = double_moon_tome_desc_4
|
|
}
|
|
1 = {
|
|
add_artifact_modifier = artifact_health_gain_1_modifier
|
|
set_artifact_description = double_moon_tome_desc_5
|
|
}
|
|
1 = {
|
|
add_artifact_modifier = artifact_monthly_minor_prestige_3_modifier
|
|
set_artifact_description = double_moon_tome_desc_6
|
|
}
|
|
1 = {
|
|
add_artifact_modifier = artifact_monthly_prestige_3_modifier
|
|
set_artifact_description = double_moon_tome_desc_7
|
|
}
|
|
1 = {
|
|
add_artifact_modifier = artifact_dynasty_opinion_2_modifier
|
|
set_artifact_description = double_moon_tome_desc_8
|
|
}
|
|
1 = {
|
|
add_artifact_modifier = artifact_learn_language_scheme_phase_duration_add_2_modifier
|
|
set_artifact_description = double_moon_tome_desc_9
|
|
}
|
|
1 = {
|
|
add_artifact_modifier = artifact_diplomacy_per_prestige_level_modifier
|
|
set_artifact_description = double_moon_tome_desc_10
|
|
}
|
|
1 = {
|
|
add_artifact_modifier = artifact_mercenary_hire_cost_mult_2_modifier
|
|
set_artifact_description = double_moon_tome_desc_11
|
|
}
|
|
1 = {
|
|
add_artifact_modifier = artifact_general_opinion_1_modifier
|
|
set_artifact_description = double_moon_tome_desc_12
|
|
}
|
|
1 = {
|
|
add_artifact_modifier = artifact_independent_ruler_opinion_2_modifier
|
|
set_artifact_description = double_moon_tome_desc_13
|
|
}
|
|
1 = {
|
|
add_artifact_modifier = artifact_clergy_opinion_2_modifier
|
|
set_artifact_description = double_moon_tome_desc_14
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
random_rain_snow_chance_effect = {
|
|
random_list = {
|
|
10 = { # Snow
|
|
trigger = {
|
|
location = {
|
|
OR = {
|
|
has_province_modifier = winter_mild_modifier
|
|
has_province_modifier = winter_normal_modifier
|
|
has_province_modifier = winter_harsh_modifier
|
|
}
|
|
}
|
|
}
|
|
save_scope_as = snow_day
|
|
}
|
|
10 = { # Rain
|
|
trigger = {
|
|
location = {
|
|
NOR = {
|
|
has_province_modifier = winter_mild_modifier
|
|
has_province_modifier = winter_normal_modifier
|
|
has_province_modifier = winter_harsh_modifier
|
|
}
|
|
}
|
|
}
|
|
modifier = {
|
|
factor = 1.02
|
|
location.county = { is_riverside_county = yes }
|
|
}
|
|
modifier = {
|
|
factor = 0.05
|
|
location = {
|
|
OR = {
|
|
terrain = desert
|
|
terrain = drylands
|
|
terrain = desert_mountains
|
|
terrain = oasis
|
|
|
|
}
|
|
}
|
|
}
|
|
save_scope_as = rain_day
|
|
}
|
|
10 = {} # No rain
|
|
}
|
|
}
|
|
|
|
governor_resignation_title_transfer_effect = {
|
|
save_scope_as = resigner
|
|
top_liege = { save_scope_as = emperor }
|
|
force_step_down_landed_titles = yes
|
|
}
|
|
|
|
boost_governor_efficiency_success_effect = {
|
|
scope:actor = {
|
|
send_interface_toast = {
|
|
type = event_toast_effect_good
|
|
title = boost_efficiency_success_desc
|
|
left_icon = scope:recipient
|
|
|
|
scope:recipient ?= {
|
|
send_interface_toast = {
|
|
type = event_toast_effect_good
|
|
title = boost_efficiency_success_desc
|
|
left_icon = scope:actor
|
|
if = {
|
|
limit = { has_character_modifier = ep3_damage_efficiency_modifier }
|
|
remove_character_modifier = ep3_damage_efficiency_modifier
|
|
if = {
|
|
limit = { var:ep3_governor_efficiency_stack = 1 }
|
|
remove_variable = ep3_governor_efficiency_stack
|
|
}
|
|
else = {
|
|
change_variable = {
|
|
name = ep3_governor_efficiency_stack
|
|
add = -1
|
|
}
|
|
}
|
|
}
|
|
else = {
|
|
add_character_modifier = {
|
|
modifier = ep3_boost_efficiency_modifier
|
|
years = 10
|
|
}
|
|
if = {
|
|
limit = { has_variable = ep3_governor_efficiency_stack }
|
|
set_variable = {
|
|
name = ep3_governor_efficiency_stack
|
|
value = {
|
|
value = scope:recipient.var:ep3_governor_efficiency_stack
|
|
add = 1
|
|
max = 5
|
|
}
|
|
years = 10
|
|
}
|
|
}
|
|
else = {
|
|
set_variable = {
|
|
name = ep3_governor_efficiency_stack
|
|
value = 1
|
|
years = 10
|
|
}
|
|
}
|
|
}
|
|
if = {
|
|
limit = {
|
|
opinion = {
|
|
target = scope:actor
|
|
value >= 15
|
|
}
|
|
}
|
|
scope:actor = {
|
|
progress_towards_friend_effect = {
|
|
REASON = friend_boosted_gov_efficiency
|
|
CHARACTER = scope:recipient
|
|
OPINION = default_friend_opinion
|
|
}
|
|
}
|
|
}
|
|
else_if = {
|
|
limit = { is_ai = yes }
|
|
add_opinion = {
|
|
target = scope:actor
|
|
modifier = boosted_efficiency_opinion
|
|
}
|
|
}
|
|
}
|
|
}
|
|
# Merit based realm gain some merit for improving others
|
|
if = {
|
|
limit = {
|
|
government_allows = merit
|
|
}
|
|
change_merit = medium_merit_gain
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
boost_governor_efficiency_duel_effect = {
|
|
scope:actor = {
|
|
duel = {
|
|
skill = $SKILL$
|
|
value = mediocre_skill_rating
|
|
10 = {
|
|
compare_modifier = {
|
|
value = scope:duel_value
|
|
multiplier = 1.5
|
|
min = -49
|
|
}
|
|
min = 2
|
|
desc = boost_efficiency_success_desc
|
|
send_interface_toast = {
|
|
type = event_toast_effect_good
|
|
title = boost_efficiency_success_desc
|
|
left_icon = scope:recipient
|
|
boost_governor_efficiency_success_effect = yes
|
|
}
|
|
}
|
|
10 = {
|
|
compare_modifier = {
|
|
value = scope:duel_value
|
|
multiplier = -1.5
|
|
min = -49
|
|
}
|
|
min = 2
|
|
desc = boost_efficiency_failure_desc
|
|
send_interface_toast = {
|
|
type = event_toast_text_bad
|
|
title = boost_efficiency_failure_desc
|
|
left_icon = scope:recipient
|
|
desc = NO_EFFECT
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
damage_governor_efficiency_success_effect = {
|
|
scope:recipient ?= {
|
|
send_interface_toast = {
|
|
type = event_toast_effect_bad
|
|
title = damage_efficiency_success_desc
|
|
left_icon = scope:actor
|
|
if = {
|
|
limit = { has_character_modifier = ep3_boost_efficiency_modifier }
|
|
remove_character_modifier = ep3_boost_efficiency_modifier
|
|
if = {
|
|
limit = { var:ep3_governor_efficiency_stack = 1 }
|
|
remove_variable = ep3_governor_efficiency_stack
|
|
}
|
|
else = {
|
|
change_variable = {
|
|
name = ep3_governor_efficiency_stack
|
|
add = -1
|
|
}
|
|
}
|
|
}
|
|
else = {
|
|
add_character_modifier = {
|
|
modifier = ep3_damage_efficiency_modifier
|
|
years = 10
|
|
}
|
|
if = {
|
|
limit = { has_variable = ep3_governor_efficiency_stack }
|
|
set_variable = {
|
|
name = ep3_governor_efficiency_stack
|
|
value = {
|
|
value = scope:recipient.var:ep3_governor_efficiency_stack
|
|
add = 1
|
|
max = 5
|
|
}
|
|
years = 10
|
|
}
|
|
}
|
|
else = {
|
|
set_variable = {
|
|
name = ep3_governor_efficiency_stack
|
|
value = 1
|
|
years = 10
|
|
}
|
|
}
|
|
}
|
|
if = {
|
|
limit = { is_ai = yes }
|
|
add_opinion = {
|
|
target = scope:actor
|
|
modifier = damaged_efficiency_opinion
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
damage_governor_efficiency_duel_effect = {
|
|
scope:actor = {
|
|
duel = {
|
|
skill = $SKILL$
|
|
value = mediocre_skill_rating
|
|
10 = {
|
|
compare_modifier = {
|
|
value = scope:duel_value
|
|
multiplier = 1.5
|
|
min = -49
|
|
}
|
|
min = 2
|
|
desc = damage_efficiency_success_desc
|
|
send_interface_toast = {
|
|
type = event_toast_effect_good
|
|
title = damage_efficiency_success_desc
|
|
left_icon = scope:recipient
|
|
damage_governor_efficiency_success_effect = yes
|
|
}
|
|
}
|
|
10 = {
|
|
compare_modifier = {
|
|
value = scope:duel_value
|
|
multiplier = -1.5
|
|
min = -49
|
|
}
|
|
min = 2
|
|
desc = damage_efficiency_failure_desc
|
|
send_interface_toast = {
|
|
type = event_toast_text_bad
|
|
title = damage_efficiency_success_desc
|
|
left_icon = scope:recipient
|
|
desc = NO_EFFECT
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# NF Adoption effect
|
|
noble_family_adoption_effect = {
|
|
$ADOPTEE$ = {
|
|
if = {
|
|
limit = {
|
|
exists = house.house_head
|
|
}
|
|
house.house_head = { #We do this first, otherwise house head will already mean someone else.
|
|
if = {
|
|
limit = {
|
|
$ADOPTER$.culture = { has_cultural_parameter = wider_adoption }
|
|
$ADOPTEE$ = {
|
|
culture = { has_cultural_parameter = wider_adoption }
|
|
NOT = {
|
|
any_parent = {
|
|
is_alive = yes
|
|
can_be_combatant_based_on_gender_trigger = { ARMY_OWNER = liege }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
add_opinion = {
|
|
modifier = adopted_my_house_member_opinion
|
|
opinion = 25
|
|
target = $ADOPTER$
|
|
}
|
|
}
|
|
else = {
|
|
add_opinion = {
|
|
modifier = adopted_my_house_member_opinion
|
|
opinion = -25
|
|
target = $ADOPTER$
|
|
}
|
|
}
|
|
if = {
|
|
limit = {
|
|
has_hook_of_type = {
|
|
type = house_head_hook
|
|
target = $ADOPTEE$
|
|
}
|
|
}
|
|
remove_hook = {
|
|
type = house_head_hook
|
|
target = $ADOPTEE$
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
$ADOPTER$ = {
|
|
if = {
|
|
limit = { scope:gold = yes }
|
|
pay_short_term_gold = {
|
|
target = $ADOPTEE$
|
|
gold = $ADOPTER$.minor_gold_value
|
|
}
|
|
}
|
|
if = {
|
|
limit = { scope:hook = yes }
|
|
use_hook = $ADOPTEE$
|
|
}
|
|
$ADOPTEE$ = { set_house = $ADOPTER$.house }
|
|
# Zealous vassals *hate* you adopting a heretic
|
|
house = {
|
|
every_house_member = {
|
|
custom = every_zealot_house_member_tt
|
|
limit = {
|
|
ai_zeal >= medium_positive_ai_value
|
|
faith = { faith_hostility_level = { target = $ADOPTEE$.faith value >= faith_astray_level } }
|
|
NOT = { this = $ADOPTER$ }
|
|
}
|
|
add_opinion = {
|
|
modifier = adopted_new_house_member_opinion
|
|
opinion = -20
|
|
target = $ADOPTER$
|
|
}
|
|
}
|
|
every_house_member = {
|
|
custom = every_close_family_house_member_tt
|
|
limit = {
|
|
NOT = { this = $ADOPTER$ }
|
|
is_close_family_of = $ADOPTER$
|
|
NAND = {
|
|
ai_zeal >= medium_positive_ai_value
|
|
faith = { faith_hostility_level = { target = $ADOPTEE$.faith value >= faith_astray_level } }
|
|
}
|
|
NAND = {
|
|
$ADOPTER$.culture = { has_cultural_parameter = wider_adoption }
|
|
$ADOPTEE$ = {
|
|
culture = { has_cultural_parameter = wider_adoption }
|
|
NOT = {
|
|
any_parent = {
|
|
is_alive = yes
|
|
can_be_combatant_based_on_gender_trigger = { ARMY_OWNER = liege }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
add_opinion = {
|
|
modifier = adopted_new_house_member_opinion
|
|
opinion = -10
|
|
target = $ADOPTER$
|
|
}
|
|
}
|
|
}
|
|
}
|
|
$ADOPTEE$ = {
|
|
#adopted should travel
|
|
if = {
|
|
limit = { exists = $ADOPTER$.capital_province }
|
|
$ADOPTER$.capital_province = { save_scope_as = destination_province }
|
|
}
|
|
else_if = {
|
|
limit = { exists = $ADOPTER$.host.capital_province }
|
|
$ADOPTER$.host.capital_province = { save_scope_as = destination_province }
|
|
}
|
|
else_if = {
|
|
limit = { exists = $ADOPTER$.domicile.domicile_location }
|
|
$ADOPTER$.domicile.domicile_location = { save_scope_as = destination_province }
|
|
}
|
|
else = {
|
|
$ADOPTER$.location = { save_scope_as = destination_province }
|
|
}
|
|
save_scope_as = adoptee
|
|
$ADOPTER$ = { save_scope_as = adopter }
|
|
if = {
|
|
limit = {
|
|
any_relation = {
|
|
type = guardian
|
|
NOT = { this = $ADOPTER$ }
|
|
}
|
|
}
|
|
random_relation = {
|
|
type = guardian
|
|
limit = { NOT = { this = $ADOPTER$ } }
|
|
save_scope_as = old_guardian
|
|
}
|
|
remove_guardian_effect = {
|
|
GUARDIAN = scope:old_guardian
|
|
WARD = scope:adoptee
|
|
RETURN_WARD = no
|
|
HIDE_OPINION = no
|
|
}
|
|
}
|
|
if = {
|
|
limit = { NOT = { scope:destination_province = $ADOPTEE$.location } }
|
|
set_variable = {
|
|
name = adoptee_travelling_to_adopter
|
|
years = 2
|
|
value = scope:adopter
|
|
}
|
|
start_travel_plan = {
|
|
destination = scope:destination_province
|
|
on_start_on_action = on_adoptee_depart_for_adopter
|
|
on_travel_planner_cancel_on_action = on_adoptee_depart_travel_planner_exit
|
|
on_arrival_on_action = on_adoptee_arrive_at_adopter
|
|
on_arrival_destinations = last
|
|
return_trip = no # One way
|
|
}
|
|
custom_tooltip = adoptee_leaves_for_adopter_tt
|
|
}
|
|
else_if = {
|
|
limit = {
|
|
$ADOPTER$ = {
|
|
NOT = { is_in_the_same_court_as = $ADOPTEE$ }
|
|
}
|
|
}
|
|
$ADOPTER$ = { add_courtier = $ADOPTEE$ }
|
|
}
|
|
#No final else, in this situation they are already in the right location and the right court.
|
|
}
|
|
}
|
|
|
|
# Create icon artifacts
|
|
## Court Artifact - Large
|
|
create_artifact_court_icon_large_effect = {
|
|
# Get the character the artifact is being made for.
|
|
$OWNER$ = { save_scope_as = owner }
|
|
$PAINTER$ = { save_scope_as = painter }
|
|
|
|
hidden_effect_new_object = {
|
|
# Get artifact quality, wealth, and materials
|
|
get_artifact_quality_effect = yes
|
|
get_artifact_wealth_effect = yes
|
|
# Create the artifact
|
|
scope:owner = {
|
|
if = {
|
|
limit = {
|
|
exists = scope:inspiration_owner
|
|
}
|
|
create_artifact = {
|
|
name = artifact_wall_court_icon_large_name
|
|
description = placeholder # Will be regenerated in the post-creation effects
|
|
creator = scope:painter
|
|
visuals = icon_court_large
|
|
type = wall_big
|
|
modifier = artifact_placeholder_modifier
|
|
save_scope_as = newly_created_artifact
|
|
wealth = scope:wealth
|
|
quality = scope:quality
|
|
}
|
|
}
|
|
else_if = {
|
|
limit = {
|
|
exists = scope:adventurer
|
|
}
|
|
create_artifact = {
|
|
name = artifact_wall_court_icon_large_name
|
|
description = placeholder # Will be regenerated in the post-creation effects
|
|
creator = scope:adventurer
|
|
visuals = icon_court_large
|
|
type = wall_big
|
|
modifier = artifact_placeholder_modifier
|
|
save_scope_as = newly_created_artifact
|
|
wealth = scope:wealth
|
|
quality = scope:quality
|
|
history = {
|
|
location = scope:location
|
|
actor = scope:adventurer
|
|
recipient = root
|
|
type = discovered
|
|
}
|
|
}
|
|
}
|
|
else = {
|
|
create_artifact = {
|
|
name = artifact_wall_court_icon_large_name
|
|
description = placeholder # Will be regenerated in the post-creation effects
|
|
creator = scope:painter
|
|
visuals = icon_court_large
|
|
type = wall_big
|
|
modifier = artifact_placeholder_modifier
|
|
save_scope_as = newly_created_artifact
|
|
wealth = scope:wealth
|
|
quality = scope:quality
|
|
}
|
|
}
|
|
}
|
|
scope:newly_created_artifact = {
|
|
set_artifact_description = artifact_wall_court_icon_large_description
|
|
# Set piety
|
|
add_2_scaled_artifact_modifier_devotion_effect = yes
|
|
|
|
if = {
|
|
limit = {
|
|
OR = {
|
|
rarity = famed
|
|
rarity = illustrious
|
|
}
|
|
}
|
|
add_scaled_artifact_modifier_dynasty_prestige_effect = yes
|
|
}
|
|
remove_artifact_modifier = artifact_placeholder_modifier
|
|
}
|
|
}
|
|
}
|
|
|
|
## Court Artifact - Small
|
|
create_artifact_court_icon_small_effect = {
|
|
# Get the character the artifact is being made for.
|
|
$OWNER$ = { save_scope_as = owner }
|
|
$PAINTER$ = { save_scope_as = painter }
|
|
|
|
hidden_effect_new_object = {
|
|
# Get artifact quality, wealth, and materials
|
|
get_artifact_quality_effect = yes
|
|
get_artifact_wealth_effect = yes
|
|
# Create the artifact
|
|
scope:owner = {
|
|
if = {
|
|
limit = {
|
|
exists = scope:inspiration_owner
|
|
}
|
|
create_artifact = {
|
|
name = artifact_wall_court_icon_small_name
|
|
description = placeholder # Will be regenerated in the post-creation effects
|
|
creator = scope:painter
|
|
visuals = icon_court_small
|
|
type = wall_small
|
|
modifier = artifact_placeholder_modifier
|
|
save_scope_as = newly_created_artifact
|
|
wealth = scope:wealth
|
|
quality = scope:quality
|
|
}
|
|
}
|
|
else_if = {
|
|
limit = {
|
|
exists = scope:adventurer
|
|
}
|
|
create_artifact = {
|
|
name = artifact_wall_court_icon_small_name
|
|
description = placeholder # Will be regenerated in the post-creation effects
|
|
creator = scope:adventurer
|
|
visuals = icon_court_small
|
|
type = wall_small
|
|
modifier = artifact_placeholder_modifier
|
|
save_scope_as = newly_created_artifact
|
|
wealth = scope:wealth
|
|
quality = scope:quality
|
|
history = {
|
|
location = scope:location
|
|
actor = scope:adventurer
|
|
recipient = root
|
|
type = discovered
|
|
}
|
|
}
|
|
}
|
|
else = {
|
|
create_artifact = {
|
|
name = artifact_wall_court_icon_small_name
|
|
description = placeholder # Will be regenerated in the post-creation effects
|
|
creator = scope:painter
|
|
visuals = icon_court_small
|
|
type = wall_small
|
|
modifier = artifact_placeholder_modifier
|
|
save_scope_as = newly_created_artifact
|
|
wealth = scope:wealth
|
|
quality = scope:quality
|
|
}
|
|
}
|
|
}
|
|
scope:newly_created_artifact = {
|
|
set_artifact_description = artifact_wall_court_icon_small_description
|
|
# Set piety
|
|
add_2_scaled_artifact_modifier_devotion_effect = yes
|
|
|
|
if = {
|
|
limit = {
|
|
OR = {
|
|
rarity = famed
|
|
rarity = illustrious
|
|
}
|
|
}
|
|
add_scaled_artifact_modifier_dynasty_prestige_effect = yes
|
|
}
|
|
remove_artifact_modifier = artifact_placeholder_modifier
|
|
}
|
|
}
|
|
}
|
|
|
|
## Trinket Artifact
|
|
create_artifact_trinket_icon_effect = {
|
|
# Get the character the artifact is being made for.
|
|
$OWNER$ = { save_scope_as = owner }
|
|
$PAINTER$ = { save_scope_as = painter }
|
|
|
|
hidden_effect_new_object = {
|
|
# Get artifact quality, wealth, and materials
|
|
get_artifact_quality_effect = yes
|
|
get_artifact_wealth_effect = yes
|
|
# Create the artifact
|
|
scope:owner = {
|
|
if = {
|
|
limit = {
|
|
exists = scope:inspiration_owner
|
|
}
|
|
create_artifact = {
|
|
name = artifact_trinket_icon_name
|
|
description = placeholder # Will be regenerated in the post-creation effects
|
|
creator = scope:painter
|
|
visuals = trinket_icon
|
|
type = miscellaneous
|
|
modifier = artifact_placeholder_modifier
|
|
save_scope_as = newly_created_artifact
|
|
wealth = scope:wealth
|
|
quality = scope:quality
|
|
}
|
|
}
|
|
else_if = {
|
|
limit = {
|
|
exists = scope:adventurer
|
|
}
|
|
create_artifact = {
|
|
name = artifact_trinket_icon_name
|
|
description = placeholder # Will be regenerated in the post-creation effects
|
|
creator = scope:adventurer
|
|
visuals = icon_court_small
|
|
type = miscellaneous
|
|
modifier = artifact_placeholder_modifier
|
|
save_scope_as = newly_created_artifact
|
|
wealth = scope:wealth
|
|
quality = scope:quality
|
|
history = {
|
|
location = scope:location
|
|
actor = scope:adventurer
|
|
recipient = root
|
|
type = discovered
|
|
}
|
|
}
|
|
}
|
|
else = {
|
|
create_artifact = {
|
|
name = artifact_trinket_icon_name
|
|
description = placeholder # Will be regenerated in the post-creation effects
|
|
creator = scope:painter
|
|
visuals = trinket_icon
|
|
type = miscellaneous
|
|
modifier = artifact_placeholder_modifier
|
|
save_scope_as = newly_created_artifact
|
|
wealth = scope:wealth
|
|
quality = scope:quality
|
|
}
|
|
}
|
|
}
|
|
scope:newly_created_artifact = {
|
|
set_artifact_description = artifact_trinket_icon_description
|
|
# Set piety
|
|
add_scaled_artifact_modifier_piety_effect = yes
|
|
|
|
if = {
|
|
limit = {
|
|
OR = {
|
|
rarity = famed
|
|
rarity = illustrious
|
|
}
|
|
}
|
|
add_scaled_artifact_modifier_learning_lifestyle_xp_effect = yes
|
|
}
|
|
remove_artifact_modifier = artifact_placeholder_modifier
|
|
}
|
|
}
|
|
}
|
|
|
|
## Trinket Artifact
|
|
create_artifact_trinket_icon_ancient_effect = {
|
|
# Get the character the artifact is being made for.
|
|
$OWNER$ = { save_scope_as = owner }
|
|
|
|
hidden_effect_new_object = {
|
|
# Get artifact quality, wealth, and materials
|
|
get_artifact_quality_effect = yes
|
|
get_artifact_wealth_effect = yes
|
|
# Create the artifact
|
|
scope:owner = {
|
|
create_artifact = {
|
|
name = artifact_trinket_icon_name
|
|
description = placeholder # Will be regenerated in the post-creation effects
|
|
visuals = trinket_icon
|
|
type = miscellaneous
|
|
modifier = artifact_placeholder_modifier
|
|
save_scope_as = newly_created_artifact
|
|
wealth = scope:wealth
|
|
quality = scope:quality
|
|
history = { type = created_before_history }
|
|
}
|
|
}
|
|
scope:newly_created_artifact = {
|
|
set_artifact_description = artifact_trinket_icon_description
|
|
# Set piety
|
|
add_scaled_artifact_modifier_piety_effect = yes
|
|
|
|
if = {
|
|
limit = {
|
|
OR = {
|
|
rarity = famed
|
|
rarity = illustrious
|
|
}
|
|
}
|
|
add_scaled_artifact_modifier_learning_lifestyle_xp_effect = yes
|
|
}
|
|
remove_artifact_modifier = artifact_placeholder_modifier
|
|
}
|
|
}
|
|
}
|
|
# Scheme bonuses from being the emperor, or member of a dominant/powerful family
|
|
ep3_actor_scheme_modifier_effect = {
|
|
scope:new_scheme ?= {
|
|
# Emperor enjoys a significant bonus to all admin related schemes
|
|
if = {
|
|
limit = { scope:actor = scope:actor.top_liege }
|
|
add_scheme_modifier = { type = admin_emperor_scheme_modifier }
|
|
}
|
|
# Dominant and Powerful Families enjoys a decent bonus to all admin related schemes
|
|
else_if = {
|
|
limit = {
|
|
scope:actor.house ?= { is_dominant_family = yes }
|
|
}
|
|
add_scheme_modifier = { type = admin_dominant_family_scheme_modifier }
|
|
}
|
|
else_if = {
|
|
limit = {
|
|
scope:actor.house ?= { is_powerful_family = yes }
|
|
}
|
|
add_scheme_modifier = { type = admin_powerful_family_scheme_modifier }
|
|
}
|
|
}
|
|
}
|
|
|
|
#Complete war group task contracts, used in war_on_actions
|
|
war_task_contracts_completion_effect = {
|
|
#Join War Contract and Help Claimant Contract
|
|
scope:war = {
|
|
if = {
|
|
limit = {
|
|
any_war_participant = {
|
|
any_character_active_contract = {
|
|
OR = {
|
|
AND = {
|
|
has_task_contract_type = laamp_join_war_contract
|
|
var:task_contract_war ?= scope:war
|
|
}
|
|
AND = {
|
|
has_task_contract_type = laamp_help_claimant_contract
|
|
task_contract_employer = scope:war.primary_attacker
|
|
}
|
|
}
|
|
save_temporary_scope_as = relevant_contract
|
|
}
|
|
}
|
|
}
|
|
scope:relevant_contract = {
|
|
if = {
|
|
limit = {
|
|
scope:war = {
|
|
war_contribution = {
|
|
target = scope:relevant_contract.task_contract_taker
|
|
value > 0
|
|
}
|
|
}
|
|
}
|
|
complete_task_contract = success_standard
|
|
}
|
|
else = {
|
|
complete_task_contract = failure_standard
|
|
}
|
|
}
|
|
}
|
|
if = {
|
|
limit = {
|
|
primary_attacker = {
|
|
has_variable = valuable_prisoners
|
|
}
|
|
}
|
|
primary_attacker = {
|
|
remove_variable = valuable_prisoners
|
|
}
|
|
}
|
|
if = {
|
|
limit = {
|
|
primary_defender = {
|
|
has_variable = valuable_prisoners
|
|
}
|
|
}
|
|
primary_defender = {
|
|
remove_variable = valuable_prisoners
|
|
}
|
|
}
|
|
if = {
|
|
limit = {
|
|
using_civil_war_cb_trigger = yes
|
|
any_war_participant = {
|
|
any_character_active_contract = {
|
|
task_contract_type = laamp_join_faction_contract
|
|
task_contract_employer = {
|
|
is_participant_in_war = scope:war
|
|
}
|
|
}
|
|
}
|
|
}
|
|
every_war_participant = {
|
|
every_character_active_contract = {
|
|
task_contract_type = laamp_join_faction_contract
|
|
limit = {
|
|
task_contract_employer = {
|
|
is_participant_in_war = scope:war
|
|
}
|
|
}
|
|
if = {
|
|
limit = {
|
|
task_contract_taker = scope:winner
|
|
}
|
|
complete_task_contract = success_standard
|
|
}
|
|
else = {
|
|
complete_task_contract = failure_standard
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
#If a landless adventurer was hired as a mercenary and contributed in a war they get paid, used in war_on_actions, relevant flag set by hire_laamp_mercenaries_interaction or ep3_interactions_events.0112
|
|
laamp_as_mercenary_payout_effect = {
|
|
scope:war = {
|
|
if = {
|
|
limit = {
|
|
any_war_participant = {
|
|
has_character_flag = joined_as_mercenary
|
|
is_attacker_in_war = scope:war
|
|
NOT = { is_leader_in_war = scope:war }
|
|
OR = {
|
|
has_raised_armies = yes
|
|
scope:war = {
|
|
war_contribution = {
|
|
target = prev
|
|
value > 0
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
every_war_participant = {
|
|
limit = {
|
|
has_character_flag = joined_as_mercenary
|
|
is_attacker_in_war = scope:war
|
|
NOT = { is_leader_in_war = scope:war }
|
|
OR = {
|
|
has_raised_armies = yes
|
|
scope:war = {
|
|
war_contribution = {
|
|
target = prev
|
|
value > 0
|
|
}
|
|
}
|
|
}
|
|
}
|
|
add_to_list = laamp_mercenaries
|
|
remove_character_flag = joined_as_mercenary
|
|
}
|
|
primary_attacker = {
|
|
save_scope_as = employer
|
|
trigger_event = {
|
|
id = ep3_interactions_events.0121
|
|
days = { 3 7 }
|
|
}
|
|
}
|
|
every_in_list = {
|
|
list = laamp_mercenaries
|
|
scope:employer = {
|
|
remove_list_variable = {
|
|
name = hired_mercenaries
|
|
target = prev
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if = {
|
|
limit = {
|
|
any_war_participant = {
|
|
has_character_flag = joined_as_mercenary
|
|
is_defender_in_war = scope:war
|
|
NOT = { is_leader_in_war = scope:war }
|
|
OR = {
|
|
has_raised_armies = yes
|
|
scope:war = {
|
|
war_contribution = {
|
|
target = prev
|
|
value > 0
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
every_war_participant = {
|
|
limit = {
|
|
has_character_flag = joined_as_mercenary
|
|
is_defender_in_war = scope:war
|
|
NOT = { is_leader_in_war = scope:war }
|
|
OR = {
|
|
has_raised_armies = yes
|
|
scope:war = {
|
|
war_contribution = {
|
|
target = prev
|
|
value > 0
|
|
}
|
|
}
|
|
}
|
|
}
|
|
add_to_list = laamp_mercenaries
|
|
remove_character_flag = joined_as_mercenary
|
|
}
|
|
primary_defender = {
|
|
save_scope_as = employer
|
|
trigger_event = {
|
|
id = ep3_interactions_events.0121
|
|
days = { 3 7 }
|
|
}
|
|
}
|
|
every_in_list = {
|
|
list = laamp_mercenaries
|
|
scope:employer = {
|
|
remove_list_variable = {
|
|
name = hired_mercenaries
|
|
target = prev
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# root - casus_belli
|
|
# war - war provided by the casus_belli
|
|
# attacker - primary attacker from the casus_belli
|
|
# defender - primary defender from the casus_belli
|
|
laamp_as_mercenary_payout_tooltip_effect = {
|
|
show_as_tooltip = {
|
|
scope:defender = {
|
|
if = {
|
|
limit = {
|
|
exists = scope:war
|
|
any_war_ally = {
|
|
has_government = landless_adventurer_government
|
|
OR = {
|
|
any_character_active_contract = {
|
|
has_task_contract_type = laamp_join_war_contract
|
|
var:task_contract_war ?= scope:war
|
|
}
|
|
AND = {
|
|
has_variable = owed_contract_assistance_gold
|
|
var:owed_contract_assistance_war ?= scope:war
|
|
}
|
|
has_variable = joined_as_mercenary
|
|
}
|
|
}
|
|
}
|
|
every_war_ally = {
|
|
if = {
|
|
limit = {
|
|
has_government = landless_adventurer_government
|
|
}
|
|
save_scope_as = laamp_temp
|
|
save_scope_as = actor
|
|
save_scope_value_as = {
|
|
name = war_contribution_value
|
|
value = "scope:war.war_contribution(scope:laamp_temp)"
|
|
}
|
|
if = {
|
|
limit = {
|
|
any_character_active_contract = {
|
|
has_task_contract_type = laamp_join_war_contract
|
|
var:task_contract_war = scope:war
|
|
}
|
|
}
|
|
every_character_active_contract = {
|
|
limit = {
|
|
has_task_contract_type = laamp_join_war_contract
|
|
var:task_contract_war = scope:war
|
|
}
|
|
show_as_tooltip = {
|
|
task_contract_employer = {
|
|
save_scope_as = employer
|
|
custom_tooltip = ep3_join_war_payment_tt
|
|
pay_short_term_gold = {
|
|
target = scope:laamp_temp
|
|
gold = ep3_hire_laamp_mercs_payment_value
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if = {
|
|
limit = {
|
|
has_variable = joined_as_mercenary
|
|
scope:defender = {
|
|
is_target_in_variable_list = {
|
|
name = hired_mercenaries
|
|
target = scope:laamp_temp
|
|
}
|
|
}
|
|
}
|
|
scope:defender = {
|
|
save_scope_as = employer
|
|
custom_tooltip = ep3_hire_laamp_mercs_payment_tt
|
|
pay_short_term_gold = {
|
|
target = scope:laamp_temp
|
|
gold = ep3_hire_laamp_mercs_payment_value
|
|
}
|
|
}
|
|
}
|
|
if = {
|
|
limit = {
|
|
has_variable = owed_contract_assistance_gold
|
|
var:owed_contract_assistance_war ?= scope:war
|
|
}
|
|
save_scope_as = contract_assistance_helper
|
|
scope:defender = {
|
|
save_scope_as = recipient
|
|
custom_tooltip = contract_assistance_interaction_condition_tt
|
|
pay_short_term_gold = {
|
|
target = scope:actor
|
|
gold = scope:actor.var:owed_contract_assistance_gold
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
scope:attacker = {
|
|
if = {
|
|
limit = {
|
|
exists = scope:war
|
|
any_war_ally = {
|
|
has_government = landless_adventurer_government
|
|
OR = {
|
|
any_character_active_contract = {
|
|
has_task_contract_type = laamp_join_war_contract
|
|
var:task_contract_war = scope:war
|
|
}
|
|
AND = {
|
|
has_variable = owed_contract_assistance_gold
|
|
var:owed_contract_assistance_war ?= scope:war
|
|
}
|
|
has_variable = joined_as_mercenary
|
|
}
|
|
}
|
|
}
|
|
every_war_ally = {
|
|
if = {
|
|
limit = {
|
|
has_government = landless_adventurer_government
|
|
}
|
|
save_scope_as = laamp_temp
|
|
save_scope_as = actor
|
|
save_scope_value_as = {
|
|
name = war_contribution_value
|
|
value = "scope:war.war_contribution(scope:laamp_temp)"
|
|
}
|
|
if = {
|
|
limit = {
|
|
any_character_active_contract = {
|
|
has_task_contract_type = laamp_join_war_contract
|
|
var:task_contract_war = scope:war
|
|
}
|
|
}
|
|
every_character_active_contract = {
|
|
limit = {
|
|
has_task_contract_type = laamp_join_war_contract
|
|
var:task_contract_war = scope:war
|
|
}
|
|
show_as_tooltip = {
|
|
task_contract_employer = {
|
|
save_scope_as = employer
|
|
custom_tooltip = ep3_hire_laamp_mercs_payment_tt
|
|
pay_short_term_gold = {
|
|
target = scope:laamp_temp
|
|
gold = ep3_hire_laamp_mercs_payment_value
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if = {
|
|
limit = {
|
|
has_variable = joined_as_mercenary
|
|
scope:attacker = {
|
|
is_target_in_variable_list = {
|
|
name = hired_mercenaries
|
|
target = scope:laamp_temp
|
|
}
|
|
}
|
|
}
|
|
scope:attacker = {
|
|
save_scope_as = employer
|
|
custom_tooltip = ep3_hire_laamp_mercs_payment_tt
|
|
pay_short_term_gold = {
|
|
target = scope:laamp_temp
|
|
gold = ep3_hire_laamp_mercs_payment_value
|
|
}
|
|
}
|
|
}
|
|
if = {
|
|
limit = {
|
|
has_variable = owed_contract_assistance_gold
|
|
var:owed_contract_assistance_war ?= scope:war
|
|
}
|
|
save_scope_as = contract_assistance_helper
|
|
scope:attacker = {
|
|
custom_tooltip = contract_assistance_interaction_condition_tt
|
|
pay_short_term_gold = {
|
|
target = scope:actor
|
|
gold = scope:actor.var:owed_contract_assistance_gold
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
chariot_race_sow_discord_strong_response_effect = {
|
|
if = {
|
|
limit = {
|
|
root = {
|
|
this = scope:host
|
|
}
|
|
}
|
|
scope:host = {
|
|
capital_county = {
|
|
change_county_control = {
|
|
value = -3
|
|
multiply = scope:activity.var:counter_chant_count
|
|
}
|
|
}
|
|
custom_tooltip = counter_chants_strong_modifier_tooltip
|
|
hidden_effect = {
|
|
scope:activity = {
|
|
every_in_list = {
|
|
variable = counter_chanters
|
|
scope:host = {
|
|
capital_county = {
|
|
add_county_modifier = {
|
|
modifier = strong_sow_discord_modifier
|
|
years = 10
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else = {
|
|
scope:host = {
|
|
capital_county = {
|
|
add_county_modifier = {
|
|
modifier = strong_sow_discord_modifier
|
|
years = 10
|
|
}
|
|
change_county_control = -3
|
|
}
|
|
}
|
|
}
|
|
}
|
|
chariot_race_sow_discord_weak_response_effect = {
|
|
if = {
|
|
limit = {
|
|
root = {
|
|
this = scope:host
|
|
}
|
|
}
|
|
scope:host = {
|
|
custom_tooltip = counter_chants_weak_modifier_tooltip
|
|
hidden_effect = {
|
|
scope:activity = {
|
|
every_in_list = {
|
|
variable = counter_chanters
|
|
scope:host = {
|
|
capital_county = {
|
|
add_county_modifier = {
|
|
modifier = weak_sow_discord_modifier
|
|
years = 10
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else = {
|
|
scope:host = {
|
|
capital_county = {
|
|
add_county_modifier = {
|
|
modifier = weak_sow_discord_modifier
|
|
years = 10
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
chariot_race_sow_discord_normal_response_effect = {
|
|
if = {
|
|
limit = {
|
|
root = {
|
|
this = scope:host
|
|
}
|
|
}
|
|
scope:host = {
|
|
capital_county = {
|
|
change_county_control = {
|
|
value = -1
|
|
multiply = scope:activity.var:counter_chant_count
|
|
}
|
|
}
|
|
custom_tooltip = counter_chants_normal_modifier_tooltip
|
|
hidden_effect = {
|
|
scope:activity = {
|
|
every_in_list = {
|
|
variable = counter_chanters
|
|
scope:host = {
|
|
capital_county = {
|
|
add_county_modifier = {
|
|
modifier = normal_sow_discord_modifier
|
|
years = 10
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else = {
|
|
scope:host = {
|
|
capital_county = {
|
|
add_county_modifier = {
|
|
modifier = normal_sow_discord_modifier
|
|
years = 10
|
|
}
|
|
custom_tooltip = modifier_stacking_chariot_tooltip
|
|
change_county_control = -1
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
#############
|
|
# Camp Party
|
|
#############
|
|
|
|
camp_party_completed_log_entry_effect = {
|
|
involved_activity = {
|
|
add_activity_log_entry = {
|
|
key = camp_party_completed_log_entry_effect
|
|
tags = { completed }
|
|
score = 100
|
|
show_in_conclusion = yes
|
|
character = root
|
|
#Effects
|
|
root = {
|
|
disburse_camp_party_reward_effect = yes
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
disburse_camp_party_reward_effect = {
|
|
involved_activity ?= {
|
|
###Non-progression linked
|
|
#Drinks
|
|
scope:host = {
|
|
#For highest level drinks
|
|
if = {
|
|
limit = {
|
|
involved_activity = {
|
|
has_activity_option = {
|
|
category = camp_party_option_drinks
|
|
option = camp_party_drinks_abundant
|
|
}
|
|
}
|
|
}
|
|
add_character_modifier = {
|
|
modifier = ep3_master_of_ceremonies
|
|
years = 3
|
|
}
|
|
}
|
|
|
|
#For any level of drinks
|
|
#Opinion
|
|
if = {
|
|
limit = {
|
|
involved_activity = {
|
|
OR = {
|
|
has_activity_option = {
|
|
category = camp_party_option_drinks
|
|
option = camp_party_drinks_abundant
|
|
}
|
|
has_activity_option = {
|
|
category = camp_party_option_drinks
|
|
option = camp_party_drinks_adequate
|
|
}
|
|
}
|
|
}
|
|
}
|
|
involved_activity = {
|
|
every_attending_character = {
|
|
limit = {
|
|
this != scope:host
|
|
}
|
|
custom = every_attending_guest
|
|
add_opinion = {
|
|
modifier = feast_life_of_the_party_opinion
|
|
target = scope:host
|
|
opinion = 35
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# Reveler Trait
|
|
if = {
|
|
limit = {
|
|
involved_activity = {
|
|
OR = {
|
|
has_activity_option = {
|
|
category = camp_party_option_drinks
|
|
option = camp_party_drinks_abundant
|
|
}
|
|
has_activity_option = {
|
|
category = camp_party_option_drinks
|
|
option = camp_party_drinks_adequate
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if = {
|
|
limit = {
|
|
NOT = {
|
|
has_trait = lifestyle_reveler
|
|
}
|
|
}
|
|
add_trait = lifestyle_reveler
|
|
}
|
|
add_trait_xp = {
|
|
trait = lifestyle_reveler
|
|
value = {
|
|
integer_range = {
|
|
min = small_lifestyle_random_xp_low
|
|
max = small_lifestyle_random_xp_high
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
#100 Carousing
|
|
if = {
|
|
limit = { var:activity_special_type_progression >= 100 }
|
|
|
|
#Stress Loss
|
|
every_attending_character = {
|
|
custom = every_attending_guest
|
|
add_stress = -150
|
|
}
|
|
|
|
#Host effects
|
|
scope:host = {
|
|
hidden_effect = {
|
|
domicile = {
|
|
random_list = {
|
|
1 = {
|
|
trigger = {
|
|
has_domicile_building_or_higher = camp_main_01
|
|
NOT = { has_domicile_building = camp_main_04 }
|
|
}
|
|
switch = {
|
|
trigger = has_domicile_building
|
|
camp_main_01 = { add_domicile_building = camp_main_02 }
|
|
camp_main_02 = { add_domicile_building = camp_main_03 }
|
|
camp_main_03 = { add_domicile_building = camp_main_04 }
|
|
}
|
|
}
|
|
1 = {
|
|
trigger = {
|
|
has_domicile_building_or_higher = supply_tent_01
|
|
NOT = { has_domicile_building = supply_tent_06 }
|
|
}
|
|
switch = {
|
|
trigger = has_domicile_building
|
|
supply_tent_01 = { add_domicile_building = supply_tent_02 }
|
|
supply_tent_02 = { add_domicile_building = supply_tent_03 }
|
|
supply_tent_03 = { add_domicile_building = supply_tent_04 }
|
|
supply_tent_04 = { add_domicile_building = supply_tent_05 }
|
|
supply_tent_05 = { add_domicile_building = supply_tent_06 }
|
|
}
|
|
}
|
|
1 = {
|
|
trigger = {
|
|
has_domicile_building_or_higher = barber_tent_01
|
|
NOT = { has_domicile_building = barber_tent_06 }
|
|
}
|
|
switch = {
|
|
trigger = has_domicile_building
|
|
barber_tent_01 = { add_domicile_building = barber_tent_02 }
|
|
barber_tent_02 = { add_domicile_building = barber_tent_03 }
|
|
barber_tent_03 = { add_domicile_building = barber_tent_04 }
|
|
barber_tent_04 = { add_domicile_building = barber_tent_05 }
|
|
barber_tent_05 = { add_domicile_building = barber_tent_06 }
|
|
}
|
|
}
|
|
1 = {
|
|
trigger = {
|
|
has_domicile_building_or_higher = baggage_train_01
|
|
NOT = { has_domicile_building = baggage_train_06 }
|
|
}
|
|
switch = {
|
|
trigger = has_domicile_building
|
|
baggage_train_01 = { add_domicile_building = baggage_train_02 }
|
|
baggage_train_02 = { add_domicile_building = baggage_train_03 }
|
|
baggage_train_03 = { add_domicile_building = baggage_train_04 }
|
|
baggage_train_04 = { add_domicile_building = baggage_train_05 }
|
|
baggage_train_05 = { add_domicile_building = baggage_train_06 }
|
|
}
|
|
}
|
|
1 = {
|
|
trigger = {
|
|
has_domicile_building_or_higher = camp_fire_01
|
|
NOT = { has_domicile_building = camp_fire_06 }
|
|
}
|
|
switch = {
|
|
trigger = has_domicile_building
|
|
camp_fire_01 = { add_domicile_building = camp_fire_02 }
|
|
camp_fire_02 = { add_domicile_building = camp_fire_03 }
|
|
camp_fire_03 = { add_domicile_building = camp_fire_04 }
|
|
camp_fire_04 = { add_domicile_building = camp_fire_05 }
|
|
camp_fire_05 = { add_domicile_building = camp_fire_06 }
|
|
}
|
|
}
|
|
1 = {
|
|
trigger = {
|
|
has_domicile_building_or_higher = proving_grounds_01
|
|
NOT = { has_domicile_building = proving_grounds_06 }
|
|
}
|
|
switch = {
|
|
trigger = has_domicile_building
|
|
proving_grounds_01 = { add_domicile_building = proving_grounds_02 }
|
|
proving_grounds_02 = { add_domicile_building = proving_grounds_03 }
|
|
proving_grounds_03 = { add_domicile_building = proving_grounds_04 }
|
|
proving_grounds_04 = { add_domicile_building = proving_grounds_05 }
|
|
proving_grounds_05 = { add_domicile_building = proving_grounds_06 }
|
|
}
|
|
}
|
|
1 = {
|
|
trigger = {
|
|
has_domicile_building_or_higher = camp_perimeter_01
|
|
NOT = { has_domicile_building = camp_perimeter_06 }
|
|
}
|
|
switch = {
|
|
trigger = has_domicile_building
|
|
camp_perimeter_01 = { add_domicile_building = camp_perimeter_02 }
|
|
camp_perimeter_02 = { add_domicile_building = camp_perimeter_03 }
|
|
camp_perimeter_03 = { add_domicile_building = camp_perimeter_04 }
|
|
camp_perimeter_04 = { add_domicile_building = camp_perimeter_05 }
|
|
camp_perimeter_05 = { add_domicile_building = camp_perimeter_06 }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
custom_tooltip = activity_camp_party_reward_upgrade_building
|
|
|
|
custom_tooltip = camp_party_100_contracts_get
|
|
|
|
hidden_effect = {
|
|
contract_passive_spawn_effect = {
|
|
SPAWN_CONTRACTS = 2
|
|
}
|
|
}
|
|
|
|
#Provisions
|
|
domicile = {
|
|
change_provisions = massive_provisions_gain
|
|
}
|
|
|
|
#Lifestyle XP
|
|
bp2_lifestyle_xp_gain_per_type_effect = { VALUE = major }
|
|
|
|
add_character_flag = {
|
|
flag = better_recruitment_visit_holding_flag
|
|
years = 1
|
|
}
|
|
}
|
|
}
|
|
|
|
#75+ Carousing
|
|
else_if = {
|
|
limit = {
|
|
var:activity_special_type_progression < 100
|
|
var:activity_special_type_progression >= 75
|
|
}
|
|
|
|
#Stress Loss
|
|
every_attending_character = {
|
|
custom = every_attending_guest
|
|
add_stress = -100
|
|
}
|
|
|
|
#Contract spawn & flag assign
|
|
scope:host = {
|
|
custom_tooltip = camp_party_75_contracts_get
|
|
|
|
hidden_effect = {
|
|
contract_passive_spawn_effect = {
|
|
SPAWN_CONTRACTS = 1
|
|
}
|
|
}
|
|
|
|
#Provisions
|
|
domicile = {
|
|
change_provisions = major_provisions_gain
|
|
}
|
|
|
|
#Lifestyle XP
|
|
bp2_lifestyle_xp_gain_per_type_effect = { VALUE = medium }
|
|
|
|
add_character_flag = {
|
|
flag = better_recruitment_visit_holding_flag
|
|
years = 1
|
|
}
|
|
}
|
|
}
|
|
#50+ Carousing
|
|
else_if = {
|
|
limit = {
|
|
var:activity_special_type_progression < 75
|
|
var:activity_special_type_progression >= 50
|
|
}
|
|
|
|
#Stress Loss
|
|
every_attending_character = {
|
|
custom = every_attending_guest
|
|
add_stress = -75
|
|
}
|
|
|
|
#Contract spawn and flag assign
|
|
scope:host = {
|
|
#Provisions
|
|
domicile = {
|
|
change_provisions = medium_provisions_gain
|
|
}
|
|
|
|
#Lifestyle XP
|
|
bp2_lifestyle_xp_gain_per_type_effect = { VALUE = minor }
|
|
|
|
add_character_flag = {
|
|
flag = better_recruitment_visit_holding_flag
|
|
years = 1
|
|
}
|
|
}
|
|
}
|
|
#25+ Carousing
|
|
else = {
|
|
#Stress Loss
|
|
every_attending_character = {
|
|
custom = every_attending_guest
|
|
add_stress = -50
|
|
}
|
|
|
|
scope:host = {
|
|
add_character_flag = {
|
|
flag = cheaper_provisions_visit_holding_flag
|
|
years = 1
|
|
}
|
|
}
|
|
}
|
|
|
|
scope:host = {
|
|
if = {
|
|
limit = {
|
|
has_activity_intent = fireside_chat_intent
|
|
}
|
|
hidden_effect = {
|
|
remove_character_modifier = ep3_fireside_chat_modifier_3
|
|
remove_character_modifier = ep3_fireside_chat_modifier_2
|
|
remove_character_modifier = ep3_fireside_chat_modifier_1
|
|
}
|
|
if = {
|
|
limit = {
|
|
involved_activity = {
|
|
any_attending_character = {
|
|
count >= 4
|
|
OR = {
|
|
has_character_modifier = ep3_fireside_chat_diplomacy
|
|
has_character_modifier = ep3_fireside_chat_learning
|
|
has_character_modifier = ep3_fireside_chat_intrigue
|
|
has_character_modifier = ep3_fireside_chat_stewardship
|
|
has_character_modifier = ep3_fireside_chat_martial
|
|
}
|
|
}
|
|
}
|
|
}
|
|
add_character_modifier = {
|
|
modifier = ep3_fireside_chat_modifier_3
|
|
years = 10
|
|
}
|
|
}
|
|
else_if = {
|
|
limit = {
|
|
involved_activity = {
|
|
any_attending_character = {
|
|
count >= 2
|
|
OR = {
|
|
has_character_modifier = ep3_fireside_chat_diplomacy
|
|
has_character_modifier = ep3_fireside_chat_learning
|
|
has_character_modifier = ep3_fireside_chat_intrigue
|
|
has_character_modifier = ep3_fireside_chat_stewardship
|
|
has_character_modifier = ep3_fireside_chat_martial
|
|
}
|
|
}
|
|
}
|
|
}
|
|
add_character_modifier = {
|
|
modifier = ep3_fireside_chat_modifier_2
|
|
years = 10
|
|
}
|
|
}
|
|
else = {
|
|
add_character_modifier = {
|
|
modifier = ep3_fireside_chat_modifier_1
|
|
years = 10
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
ep3_camp_party_visit_holding_skills_boost = {
|
|
add_diplomacy_skill = { 1 3 }
|
|
add_martial_skill = { 1 3 }
|
|
add_stewardship_skill = { 1 3 }
|
|
add_intrigue_skill = { 1 3 }
|
|
add_learning_skill = { 1 3 }
|
|
}
|
|
|
|
#Setting up the Fens as a pseudo-custom region
|
|
ep3_the_fens_list_effect = {
|
|
province:1525 = { add_to_list = the_fens } #b_lynn
|
|
province:1534 = { add_to_list = the_fens } #b_cambridgeshire
|
|
province:1535 = { add_to_list = the_fens } #b_radfield
|
|
province:1536 = { add_to_list = the_fens } #b_papworth
|
|
province:1537 = { add_to_list = the_fens } #b_ely
|
|
province:1541 = { add_to_list = the_fens } #b_hurstingstone
|
|
province:1542 = { add_to_list = the_fens } #b_norman_cross
|
|
province:1584 = { add_to_list = the_fens } #b_stamford
|
|
province:1585 = { add_to_list = the_fens } #b_boston
|
|
province:1601 = { add_to_list = the_fens } #b_peterborough
|
|
}
|
|
|
|
#Used for setting up the Harrying of the North widget for events
|
|
#Requires use of ep3_harrying_widget_clear_effect in the 'after' as well
|
|
ep3_harrying_widget_setup_effect = {
|
|
global_var:harrying_of_the_north = { save_scope_as = story }
|
|
## First, identify our widget character.
|
|
save_scope_as = scope_character
|
|
## Then transfer over some suitable variables for the UI.
|
|
set_variable = {
|
|
name = pacification_gui
|
|
value = scope:story.var:pacification
|
|
}
|
|
set_variable = {
|
|
name = resistance_gui
|
|
value = scope:story.var:resistance
|
|
}
|
|
}
|
|
|
|
#Increase pacification
|
|
ep3_increase_pacification_effect = {
|
|
save_scope_as = origin_char
|
|
scope:story = {
|
|
change_variable = {
|
|
name = pacification
|
|
add = $AMOUNT$
|
|
}
|
|
}
|
|
set_variable = {
|
|
name = pacification_gui
|
|
value = scope:story.var:pacification
|
|
}
|
|
if = { #Display in red if Anglo-Saxon
|
|
limit = {
|
|
culture = culture:anglo_saxon
|
|
}
|
|
custom_tooltip = ep3_increase_pacification_effect_tt_negative
|
|
}
|
|
else = { #Otherwise in green
|
|
custom_tooltip = ep3_increase_pacification_effect_tt_positive
|
|
}
|
|
|
|
if = {
|
|
limit = {
|
|
exists = scope:story.var:ruler_england
|
|
}
|
|
scope:story.var:ruler_england = {
|
|
send_interface_message = {
|
|
type = msg_pacification_rise
|
|
title = harrying.notification_pacification_rise
|
|
desc = harrying_pacification_rise
|
|
}
|
|
}
|
|
}
|
|
|
|
if = {
|
|
limit = {
|
|
character:90028 = {
|
|
is_alive = yes
|
|
NOT = {
|
|
has_character_flag = hereward_settled_flag
|
|
}
|
|
}
|
|
}
|
|
character:90028 = {
|
|
send_interface_message = {
|
|
type = msg_pacification_rise
|
|
title = harrying.notification_pacification_rise
|
|
desc = harrying_pacification_rise
|
|
}
|
|
}
|
|
}
|
|
|
|
if = {
|
|
limit = {
|
|
scope:story.var:ruler_england = {
|
|
any_vassal = {
|
|
culture = culture:anglo_saxon
|
|
}
|
|
}
|
|
}
|
|
scope:story.var:ruler_england = {
|
|
every_vassal = {
|
|
limit = {
|
|
culture = culture:anglo_saxon
|
|
}
|
|
send_interface_message = {
|
|
type = msg_pacification_rise
|
|
title = harrying.notification_pacification_rise
|
|
desc = harrying_pacification_rise
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
#Increase pacification - large
|
|
ep3_increase_pacification_large_effect = {
|
|
save_scope_as = origin_char
|
|
scope:story = {
|
|
change_variable = {
|
|
name = pacification
|
|
add = 2
|
|
}
|
|
}
|
|
set_variable = {
|
|
name = pacification_gui
|
|
value = scope:story.var:pacification
|
|
}
|
|
if = { #Display in red if Anglo-Saxon
|
|
limit = {
|
|
culture = culture:anglo_saxon
|
|
}
|
|
custom_tooltip = ep3_increase_pacification_effect_tt_negative_large
|
|
}
|
|
else = { #Otherwise in green
|
|
custom_tooltip = ep3_increase_pacification_effect_tt_positive_large
|
|
}
|
|
|
|
if = {
|
|
limit = {
|
|
exists = scope:story.var:ruler_england
|
|
}
|
|
scope:story.var:ruler_england = {
|
|
send_interface_message = {
|
|
type = msg_pacification_rise
|
|
title = harrying.notification_pacification_rise
|
|
desc = harrying_pacification_rise
|
|
}
|
|
}
|
|
}
|
|
|
|
if = {
|
|
limit = {
|
|
character:90028 = {
|
|
is_alive = yes
|
|
NOT = {
|
|
has_character_flag = hereward_settled_flag
|
|
}
|
|
}
|
|
}
|
|
character:90028 = {
|
|
send_interface_message = {
|
|
type = msg_pacification_rise
|
|
title = harrying.notification_pacification_rise
|
|
desc = harrying_pacification_rise
|
|
}
|
|
}
|
|
}
|
|
|
|
if = {
|
|
limit = {
|
|
scope:story.var:ruler_england = {
|
|
any_vassal = {
|
|
culture = culture:anglo_saxon
|
|
}
|
|
}
|
|
}
|
|
scope:story.var:ruler_england = {
|
|
every_vassal = {
|
|
limit = {
|
|
culture = culture:anglo_saxon
|
|
}
|
|
send_interface_message = {
|
|
type = msg_pacification_rise
|
|
title = harrying.notification_pacification_rise
|
|
desc = harrying_pacification_rise
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
#Increase resistance
|
|
ep3_increase_resistance_effect = {
|
|
save_scope_as = origin_char
|
|
scope:story = {
|
|
change_variable = {
|
|
name = resistance
|
|
add = $AMOUNT$
|
|
}
|
|
}
|
|
set_variable = {
|
|
name = resistance_gui
|
|
value = scope:story.var:resistance
|
|
}
|
|
if = { #Display in green if Anglo-Saxon
|
|
limit = {
|
|
culture = culture:anglo_saxon
|
|
}
|
|
custom_tooltip = ep3_increase_resistance_effect_tt_positive
|
|
}
|
|
else = { #Otherwise in green
|
|
custom_tooltip = ep3_increase_resistance_effect_tt_negative
|
|
}
|
|
|
|
if = {
|
|
limit = {
|
|
exists = scope:story.var:ruler_england
|
|
}
|
|
scope:story.var:ruler_england = {
|
|
send_interface_message = {
|
|
type = msg_resistance_rise
|
|
title = harrying.notification_resistance_rise
|
|
desc = harrying_resistance_rise
|
|
}
|
|
}
|
|
}
|
|
|
|
if = {
|
|
limit = {
|
|
character:90028 = {
|
|
is_alive = yes
|
|
NOT = {
|
|
has_character_flag = hereward_settled_flag
|
|
}
|
|
}
|
|
}
|
|
character:90028 = {
|
|
send_interface_message = {
|
|
type = msg_resistance_rise
|
|
title = harrying.notification_resistance_rise
|
|
desc = harrying_resistance_rise
|
|
}
|
|
}
|
|
}
|
|
|
|
if = {
|
|
limit = {
|
|
scope:story.var:ruler_england = {
|
|
any_vassal = {
|
|
culture = culture:anglo_saxon
|
|
}
|
|
}
|
|
}
|
|
scope:story.var:ruler_england = {
|
|
every_vassal = {
|
|
limit = {
|
|
culture = culture:anglo_saxon
|
|
}
|
|
send_interface_message = {
|
|
type = msg_resistance_rise
|
|
title = harrying.notification_resistance_rise
|
|
desc = harrying_resistance_rise
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
#Increase resistance - large
|
|
ep3_increase_resistance_large_effect = {
|
|
save_scope_as = origin_char
|
|
scope:story = {
|
|
change_variable = {
|
|
name = resistance
|
|
add = 2
|
|
}
|
|
}
|
|
set_variable = {
|
|
name = resistance_gui
|
|
value = scope:story.var:resistance
|
|
}
|
|
if = { #Display in green if Anglo-Saxon
|
|
limit = {
|
|
culture = culture:anglo_saxon
|
|
}
|
|
custom_tooltip = ep3_increase_resistance_effect_tt_positive_large
|
|
}
|
|
else = { #Otherwise in green
|
|
custom_tooltip = ep3_increase_resistance_effect_tt_negative_large
|
|
}
|
|
|
|
if = {
|
|
limit = {
|
|
exists = scope:story.var:ruler_england
|
|
}
|
|
scope:story.var:ruler_england = {
|
|
send_interface_message = {
|
|
type = msg_resistance_rise
|
|
title = harrying.notification_resistance_rise
|
|
desc = harrying_resistance_rise
|
|
}
|
|
}
|
|
}
|
|
|
|
if = {
|
|
limit = {
|
|
character:90028 = {
|
|
is_alive = yes
|
|
NOT = {
|
|
has_character_flag = hereward_settled_flag
|
|
}
|
|
}
|
|
}
|
|
character:90028 = {
|
|
send_interface_message = {
|
|
type = msg_resistance_rise
|
|
title = harrying.notification_resistance_rise
|
|
desc = harrying_resistance_rise
|
|
}
|
|
}
|
|
}
|
|
|
|
if = {
|
|
limit = {
|
|
scope:story.var:ruler_england = {
|
|
any_vassal = {
|
|
culture = culture:anglo_saxon
|
|
}
|
|
}
|
|
}
|
|
scope:story.var:ruler_england = {
|
|
random_vassal = {
|
|
limit = {
|
|
culture = culture:anglo_saxon
|
|
}
|
|
send_interface_message = {
|
|
type = msg_resistance_rise
|
|
title = harrying.notification_resistance_rise
|
|
desc = harrying_resistance_rise
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
#Decrease pacification
|
|
ep3_decrease_pacification_effect = {
|
|
save_scope_as = origin_char
|
|
if = {
|
|
limit = { scope:story.var:pacification != 0 }
|
|
scope:story = {
|
|
change_variable = {
|
|
name = pacification
|
|
add = -1
|
|
}
|
|
}
|
|
set_variable = {
|
|
name = pacification_gui
|
|
value = scope:story.var:pacification
|
|
}
|
|
if = { #Display in green if Anglo-Saxon
|
|
limit = {
|
|
culture = culture:anglo_saxon
|
|
}
|
|
custom_tooltip = ep3_decrease_pacification_effect_tt_positive
|
|
}
|
|
else = { #Otherwise in green
|
|
custom_tooltip = ep3_decrease_pacification_effect_tt_negative
|
|
}
|
|
|
|
if = {
|
|
limit = {
|
|
exists = scope:story.var:ruler_england
|
|
}
|
|
scope:story.var:ruler_england = {
|
|
send_interface_message = {
|
|
type = msg_pacification_falls
|
|
title = harrying.notification_pacification_fall
|
|
desc = harrying_pacification_fall
|
|
}
|
|
}
|
|
}
|
|
|
|
if = {
|
|
limit = {
|
|
character:90028 = {
|
|
is_alive = yes
|
|
NOT = {
|
|
has_character_flag = hereward_settled_flag
|
|
}
|
|
}
|
|
}
|
|
character:90028 = {
|
|
send_interface_message = {
|
|
type = msg_pacification_falls
|
|
title = harrying.notification_pacification_fall
|
|
desc = harrying_pacification_fall
|
|
}
|
|
}
|
|
}
|
|
|
|
if = {
|
|
limit = {
|
|
scope:story.var:ruler_england = {
|
|
any_vassal = {
|
|
culture = culture:anglo_saxon
|
|
}
|
|
}
|
|
}
|
|
scope:story.var:ruler_england = {
|
|
every_vassal = {
|
|
limit = {
|
|
culture = culture:anglo_saxon
|
|
}
|
|
send_interface_message = {
|
|
type = msg_pacification_falls
|
|
title = harrying.notification_pacification_fall
|
|
desc = harrying_pacification_fall
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
#Decrease resistance
|
|
ep3_decrease_resistance_effect = {
|
|
save_scope_as = origin_char
|
|
if = {
|
|
limit = { scope:story.var:pacification != 0 }
|
|
scope:story = {
|
|
change_variable = {
|
|
name = resistance
|
|
add = -1
|
|
}
|
|
}
|
|
set_variable = {
|
|
name = resistance_gui
|
|
value = scope:story.var:resistance
|
|
}
|
|
if = { #Display in red if Anglo-Saxon
|
|
limit = {
|
|
culture = culture:anglo_saxon
|
|
}
|
|
custom_tooltip = ep3_decrease_resistance_effect_tt_negative
|
|
}
|
|
else = { #Otherwise in green
|
|
custom_tooltip = ep3_decrease_resistance_effect_tt_positive
|
|
}
|
|
|
|
if = {
|
|
limit = {
|
|
exists = scope:story.var:ruler_england
|
|
}
|
|
scope:story.var:ruler_england = {
|
|
send_interface_message = {
|
|
type = msg_resistance_falls
|
|
title = harrying.notification_resistance_fall
|
|
desc = harrying_resistance_fall
|
|
}
|
|
}
|
|
}
|
|
|
|
if = {
|
|
limit = {
|
|
character:90028 = {
|
|
is_alive = yes
|
|
NOT = {
|
|
has_character_flag = hereward_settled_flag
|
|
}
|
|
}
|
|
}
|
|
character:90028 = {
|
|
send_interface_message = {
|
|
type = msg_resistance_falls
|
|
title = harrying.notification_resistance_fall
|
|
desc = harrying_resistance_fall
|
|
}
|
|
}
|
|
}
|
|
|
|
if = {
|
|
limit = {
|
|
scope:story.var:ruler_england = {
|
|
any_vassal = {
|
|
culture = culture:anglo_saxon
|
|
}
|
|
}
|
|
}
|
|
scope:story.var:ruler_england = {
|
|
every_vassal = {
|
|
limit = {
|
|
culture = culture:anglo_saxon
|
|
}
|
|
send_interface_message = {
|
|
type = msg_resistance_falls
|
|
title = harrying.notification_resistance_fall
|
|
desc = harrying_resistance_fall
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
#Used for clearing widget data from the participants
|
|
ep3_harrying_widget_clear_effect = {
|
|
remove_variable = pacification_gui
|
|
remove_variable = resistance_gui
|
|
}
|
|
|
|
# Effect for handling players and AI continuing as landless if deposed
|
|
# Should be used over the standard effect in most cases (except barons/unlanded AI etc.)
|
|
# DEPOSER should be whoever has caused the deposal - faction leader, ultimatum giver, etc.
|
|
depose_effect = {
|
|
show_as_tooltip = { depose = yes }
|
|
save_scope_as = allow_imprisoned_landless
|
|
if = {
|
|
limit = { is_valid_for_laampdom = yes }
|
|
custom_tooltip = laamp_may_become_adventurer_tt
|
|
}
|
|
set_variable = {
|
|
name = deposed_primary_title
|
|
value = primary_title
|
|
months = 1
|
|
}
|
|
# Maintenance scopes
|
|
save_scope_as = defender
|
|
$DEPOSER$ = {
|
|
save_scope_as = attacker
|
|
save_scope_as = winner
|
|
}
|
|
# ACH crown laws reset
|
|
if = {
|
|
limit = {
|
|
has_variable = crowned_king_var
|
|
}
|
|
remove_variable = crowned_king_var
|
|
if = {
|
|
limit = {
|
|
NOT = { has_game_rule = coronation_laws_off }
|
|
OR = {
|
|
has_realm_law = crowned_king
|
|
has_realm_law = crowned_emperor
|
|
}
|
|
}
|
|
add_realm_law_skip_effects = uncrowned
|
|
}
|
|
}
|
|
if = {
|
|
limit = {
|
|
has_variable = crowned_emperor_var
|
|
}
|
|
remove_variable = crowned_emperor_var
|
|
if = {
|
|
limit = {
|
|
NOT = { has_game_rule = coronation_laws_off }
|
|
OR = {
|
|
has_realm_law = crowned_king
|
|
has_realm_law = crowned_emperor
|
|
}
|
|
}
|
|
add_realm_law_skip_effects = uncrowned
|
|
}
|
|
}
|
|
every_held_title = { add_to_list = target_titles }
|
|
trigger_event = ep3_laamps.0002
|
|
}
|
|
|
|
# Effect for handling players and AI continuing as landless if banished
|
|
# Should be used over the standard effect in most cases (except barons/unlanded AI etc.)
|
|
# BANISHER should be whoever has caused the banishment - imprisoner, ultimatum giver, etc.
|
|
banish_effect = {
|
|
show_as_tooltip = { banish = yes }
|
|
save_scope_as = allow_imprisoned_landless
|
|
if = {
|
|
limit = { is_valid_for_laampdom = yes }
|
|
custom_tooltip = laamp_may_become_adventurer_tt
|
|
}
|
|
$BANISHER$ = { save_scope_as = banisher }
|
|
trigger_event = ep3_laamps.0021
|
|
}
|
|
|
|
#Used for setting up the Peasant Leader widget for events
|
|
#Requires use of ep3_peasant_leader_widget_clear_effect in the 'after' as well
|
|
ep3_peasant_leader_widget_setup_effect = {
|
|
set_variable = {
|
|
name = support_gui
|
|
value = scope:task_contract.var:support
|
|
}
|
|
set_variable = {
|
|
name = control_gui
|
|
value = scope:task_contract.var:control
|
|
}
|
|
set_variable = {
|
|
name = num_of_corrupt_counties_gui
|
|
value = scope:task_contract.var:num_of_corrupt_counties
|
|
}
|
|
}
|
|
#Increase support
|
|
ep3_increase_peasant_support_effect = {
|
|
scope:task_contract = {
|
|
change_variable = {
|
|
name = support
|
|
add = 1
|
|
}
|
|
add_to_variable_list = {
|
|
name = supported_counties
|
|
target = scope:corrupt_province.county
|
|
}
|
|
}
|
|
custom_tooltip = ep3_support_peasants_effect_tt
|
|
scope:task_contract.var:task_contract_councillor_liege ?= {
|
|
send_interface_message = {
|
|
type = msg_peasant_supported
|
|
title = msg_peasant_supported.title
|
|
desc = msg_peasant_supported.desc
|
|
}
|
|
}
|
|
scope:task_contract.var:task_contract_councillor ?= {
|
|
send_interface_message = {
|
|
type = msg_peasant_supported
|
|
title = msg_peasant_supported.title
|
|
desc = msg_peasant_supported.desc
|
|
}
|
|
}
|
|
}
|
|
#Increase control
|
|
ep3_increase_peasant_control_effect = {
|
|
scope:task_contract = {
|
|
change_variable = {
|
|
name = control
|
|
add = 1
|
|
}
|
|
}
|
|
custom_tooltip = ep3_control_peasants_effect_tt
|
|
scope:task_contract.var:task_contract_councillor_liege ?= {
|
|
send_interface_message = {
|
|
type = msg_peasant_controlled
|
|
title = msg_peasant_controlled.title
|
|
desc = msg_peasant_controlled.desc
|
|
}
|
|
}
|
|
scope:task_contract.var:task_contract_councillor ?= {
|
|
send_interface_message = {
|
|
type = msg_peasant_controlled
|
|
title = msg_peasant_controlled.title
|
|
desc = msg_peasant_controlled.desc
|
|
}
|
|
}
|
|
}
|
|
#Used for clearing widget data from the participants
|
|
ep3_peasant_leader_widget_clear_effect = {
|
|
remove_variable = support_gui
|
|
remove_variable = control_gui
|
|
remove_variable = num_of_corrupt_counties_gui
|
|
}
|
|
|
|
ep3_join_faction_war_effect = {
|
|
# Use hook/pay gold
|
|
scope:actor = {
|
|
if = {
|
|
limit = {
|
|
scope:hook = yes
|
|
has_hook = scope:recipient
|
|
}
|
|
use_hook = scope:recipient
|
|
}
|
|
if = {
|
|
limit = { scope:gold = yes }
|
|
pay_short_term_gold = {
|
|
gold = scope:actor.medium_gold_value
|
|
target = scope:recipient
|
|
}
|
|
}
|
|
}
|
|
# Gain some influence
|
|
scope:recipient = {
|
|
change_influence = 75
|
|
# Remove from existing faction if swapping
|
|
if = {
|
|
limit = { exists = joined_faction }
|
|
leave_faction = joined_faction
|
|
}
|
|
if = {
|
|
limit = { target_is_liege_or_above = scope:secondary_recipient }
|
|
add_faction_cooldown_effect = { YEARS = 5 }
|
|
}
|
|
remove_character_flag = under_offer_join_faction_war_flag
|
|
}
|
|
scope:actor.joined_faction.faction_war = {
|
|
if = {
|
|
limit = { is_defender = scope:actor }
|
|
add_defender = scope:recipient
|
|
}
|
|
else = { add_attacker = scope:recipient }
|
|
}
|
|
}
|
|
|
|
ep3_switch_faction_war_sides_effect = {
|
|
scope:actor = {
|
|
if = {
|
|
limit = {
|
|
scope:hook = yes
|
|
has_hook = scope:recipient
|
|
}
|
|
use_hook = scope:recipient
|
|
}
|
|
if = {
|
|
limit = { scope:gold = yes }
|
|
pay_short_term_gold = {
|
|
gold = scope:actor.medium_gold_value
|
|
target = scope:recipient
|
|
}
|
|
}
|
|
}
|
|
scope:recipient = {
|
|
change_influence = 150
|
|
# Remove from existing faction if swapping
|
|
if = {
|
|
limit = { exists = joined_faction }
|
|
leave_faction = joined_faction
|
|
}
|
|
if = {
|
|
limit = { target_is_liege_or_above = scope:secondary_recipient }
|
|
add_faction_cooldown_effect = { YEARS = 5 }
|
|
}
|
|
}
|
|
scope:actor = {
|
|
every_character_war = {
|
|
limit = { ep3_switch_faction_war_sides_war_trigger = yes }
|
|
hidden_effect = { remove_participant = scope:recipient }
|
|
if = {
|
|
limit = { is_defender = scope:actor }
|
|
add_defender = scope:recipient
|
|
hidden_effect = {
|
|
primary_attacker = {
|
|
add_opinion = {
|
|
target = scope:recipient
|
|
modifier = betrayed_me_opinion
|
|
opinion = -25
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else = {
|
|
add_attacker = scope:recipient
|
|
primary_defender = {
|
|
hidden_effect = {
|
|
add_opinion = {
|
|
target = scope:recipient
|
|
modifier = betrayed_me_opinion
|
|
opinion = -25
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
scope:recipient = { custom_tooltip = ep3_switch_faction_war_sides_cooldown_effect_tt }
|
|
}
|
|
|
|
ep3_raid_insight_effect = {
|
|
add_character_modifier = {
|
|
modifier = raid_insight_$TYPE$
|
|
years = 5
|
|
}
|
|
}
|
|
|
|
# Set up titles in the new realm.
|
|
# Determine potential breakaways
|
|
ep3_landless_invasion_titles_taken_effect = {
|
|
# Determine independent vassals
|
|
adventurer_realm_destabilisation_list_effect = {
|
|
TITLE_RECEIVER = $TITLE_RECEIVER$
|
|
TITLE_GIVER = $TITLE_GIVER$
|
|
TITLE = $TITLE$
|
|
}
|
|
# Determine hierarchy
|
|
ep3_become_landed_save_liege_effect = {
|
|
TITLE_GIVER = $TITLE_GIVER$
|
|
ALWAYS_INDEPENDENT = yes
|
|
TITLE_LIST = $TITLE_LIST$
|
|
}
|
|
# Resolve title, liege, government changes
|
|
if = {
|
|
limit = { exists = scope:claimant }
|
|
ep3_become_landed_transfer_effect = {
|
|
TITLE_RECEIVER = $TITLE_RECEIVER$
|
|
TITLE_LIST = $TITLE_LIST$
|
|
TYPE = conquest_claim
|
|
REASON = flag:conquest_claim
|
|
ENNOBLED_ADVENTURER = flag:yes
|
|
}
|
|
}
|
|
else = {
|
|
ep3_become_landed_transfer_effect = {
|
|
TITLE_RECEIVER = $TITLE_RECEIVER$
|
|
TITLE_LIST = $TITLE_LIST$
|
|
TYPE = conquest
|
|
REASON = flag:conquest
|
|
ENNOBLED_ADVENTURER = flag:yes
|
|
}
|
|
}
|
|
# Vassals break away
|
|
adventurer_realm_destabilisation_transfer_effect = {
|
|
TITLE = $TITLE$
|
|
TITLE_RECEIVER = $TITLE_RECEIVER$
|
|
TITLE_GIVER = $TITLE_GIVER$
|
|
TITLE_LIST = $TITLE_LIST$
|
|
}
|
|
}
|
|
|
|
governor_contract_invalidated_message_effect = {
|
|
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 = { can_cancel = yes }
|
|
cancel_travel_plan = yes
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
assign_favourite_child_effect = {
|
|
$ACTOR$ = {
|
|
random_relation = {
|
|
type = favorite_child
|
|
save_scope_as = current_favorite
|
|
}
|
|
send_interface_toast = {
|
|
title = choose_favorite_interaction_notification
|
|
left_icon = $ACTOR$
|
|
right_icon = $RECIPIENT$
|
|
if = {
|
|
limit = {
|
|
exists = scope:current_favorite
|
|
}
|
|
remove_relation_favorite_child = scope:current_favorite
|
|
scope:current_favorite = {
|
|
add_opinion = {
|
|
target = $ACTOR$
|
|
modifier = no_more_favorite_opinion
|
|
}
|
|
}
|
|
}
|
|
set_relation_favorite_child = { reason = favorite_child_chosen target = $RECIPIENT$ }
|
|
$RECIPIENT$ = {
|
|
add_opinion = {
|
|
target = $ACTOR$
|
|
modifier = made_favorite_opinion
|
|
}
|
|
}
|
|
custom_tooltip = choose_favorite_interaction_notification.tt
|
|
}
|
|
hidden_effect = {
|
|
every_close_or_extended_family_member = {
|
|
limit = {
|
|
NOT = { this = $RECIPIENT$ }
|
|
OR = {
|
|
is_child_of = $ACTOR$
|
|
is_grandchild_of = $ACTOR$
|
|
is_great_grandchild_of = $ACTOR$
|
|
}
|
|
}
|
|
add_opinion = {
|
|
target = $ACTOR$
|
|
modifier = has_favorite_opinion
|
|
}
|
|
add_opinion = {
|
|
target = $RECIPIENT$
|
|
modifier = is_favorite_opinion
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
add_random_internal_estate_building = {
|
|
random_list = {
|
|
10 = {
|
|
trigger = {
|
|
NOT = { has_domicile_building_or_higher = servants_quarters_01 }
|
|
}
|
|
add_domicile_building = servants_quarters_01
|
|
if = {
|
|
limit = { has_domicile_building = estate_main_03 }
|
|
add_domicile_building = servants_quarters_02
|
|
}
|
|
}
|
|
10 = {
|
|
trigger = {
|
|
NOT = { has_domicile_building_or_higher = library_01 }
|
|
}
|
|
add_domicile_building = library_01
|
|
if = {
|
|
limit = { has_domicile_building = estate_main_03 }
|
|
add_domicile_building = library_02
|
|
}
|
|
}
|
|
10 = {
|
|
trigger = {
|
|
NOT = { has_domicile_building_or_higher = bath_01 }
|
|
}
|
|
add_domicile_building = bath_01
|
|
if = {
|
|
limit = { has_domicile_building = estate_main_03 }
|
|
add_domicile_building = bath_02
|
|
}
|
|
}
|
|
10 = {
|
|
trigger = {
|
|
NOT = { has_domicile_building_or_higher = courtyard_01 }
|
|
}
|
|
add_domicile_building = courtyard_01
|
|
if = {
|
|
limit = { has_domicile_building = estate_main_03 }
|
|
add_domicile_building = courtyard_02
|
|
}
|
|
}
|
|
10 = {
|
|
trigger = {
|
|
NOT = { has_domicile_building_or_higher = prison_01 }
|
|
}
|
|
add_domicile_building = prison_01
|
|
if = {
|
|
limit = { has_domicile_building = estate_main_03 }
|
|
add_domicile_building = prison_02
|
|
}
|
|
}
|
|
10 = {
|
|
trigger = {
|
|
NOT = { has_domicile_building_or_higher = living_quarters_01 }
|
|
}
|
|
add_domicile_building = living_quarters_01
|
|
if = {
|
|
limit = { has_domicile_building = estate_main_03 }
|
|
add_domicile_building = living_quarters_02
|
|
}
|
|
}
|
|
10 = {
|
|
trigger = {
|
|
NOT = { has_domicile_building_or_higher = trophy_room_01 }
|
|
}
|
|
add_domicile_building = trophy_room_01
|
|
if = {
|
|
limit = { has_domicile_building = estate_main_03 }
|
|
add_domicile_building = trophy_room_02
|
|
}
|
|
}
|
|
10 = {
|
|
trigger = {
|
|
NOT = { has_domicile_building_or_higher = office_01 }
|
|
}
|
|
add_domicile_building = office_01
|
|
if = {
|
|
limit = { has_domicile_building = estate_main_03 }
|
|
add_domicile_building = office_02
|
|
}
|
|
}
|
|
10 = {
|
|
trigger = {
|
|
NOT = { has_domicile_building_or_higher = guest_room_01 }
|
|
}
|
|
add_domicile_building = guest_room_01
|
|
if = {
|
|
limit = { has_domicile_building = estate_main_03 }
|
|
add_domicile_building = guest_room_02
|
|
}
|
|
}
|
|
10 = {
|
|
trigger = {
|
|
NOT = { has_domicile_building_or_higher = wine_cellar_01 }
|
|
}
|
|
add_domicile_building = wine_cellar_01
|
|
if = {
|
|
limit = { has_domicile_building = estate_main_03 }
|
|
add_domicile_building = wine_cellar_02
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
fill_external_estate_building_effect = {
|
|
switch = {
|
|
trigger = has_domicile_building_or_higher
|
|
estate_main_05 = {
|
|
while = {
|
|
limit = { free_external_domicile_building_slots >= 1 }
|
|
add_random_external_estate_building = yes
|
|
}
|
|
}
|
|
estate_main_04 = {
|
|
while = {
|
|
limit = { free_external_domicile_building_slots >= 2 }
|
|
add_random_external_estate_building = yes
|
|
}
|
|
}
|
|
estate_main_03 = {
|
|
while = {
|
|
limit = { free_external_domicile_building_slots >= 3 }
|
|
add_random_external_estate_building = yes
|
|
}
|
|
}
|
|
estate_main_02 = {
|
|
while = {
|
|
limit = { free_external_domicile_building_slots >= 4 }
|
|
add_random_external_estate_building = yes
|
|
}
|
|
}
|
|
estate_main_01 = {
|
|
while = {
|
|
limit = { free_external_domicile_building_slots >= 5 }
|
|
add_random_external_estate_building = yes
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
add_random_external_estate_building = {
|
|
if = {
|
|
limit = {
|
|
free_external_domicile_building_slots >= 1
|
|
}
|
|
random_list = {
|
|
10 = {
|
|
trigger = {
|
|
NOR = {
|
|
has_domicile_building_or_higher = temple_small_01
|
|
owner = {
|
|
government_has_flag = government_is_celestial
|
|
}
|
|
}
|
|
}
|
|
add_domicile_building = temple_small_01
|
|
if = {
|
|
limit = { has_domicile_building = estate_main_03 }
|
|
add_domicile_building = temple_small_02
|
|
}
|
|
}
|
|
10 = {
|
|
trigger = {
|
|
NOT = { has_domicile_building_or_higher = barracks_01 }
|
|
}
|
|
add_domicile_building = barracks_01
|
|
if = {
|
|
limit = { has_domicile_building = estate_main_03 }
|
|
add_domicile_building = barracks_02
|
|
}
|
|
}
|
|
10 = {
|
|
trigger = {
|
|
NOT = { has_domicile_building_or_higher = watchtower_01 }
|
|
}
|
|
add_domicile_building = watchtower_01
|
|
if = {
|
|
limit = { has_domicile_building = estate_main_03 }
|
|
add_domicile_building = watchtower_02
|
|
}
|
|
}
|
|
10 = {
|
|
trigger = {
|
|
NOR = {
|
|
has_domicile_building_or_higher = vineyard_01
|
|
owner.culture ?= {
|
|
has_innovation = innovation_champa_rice
|
|
}
|
|
}
|
|
}
|
|
add_domicile_building = vineyard_01
|
|
if = {
|
|
limit = { has_domicile_building = estate_main_03 }
|
|
add_domicile_building = vineyard_02
|
|
}
|
|
}
|
|
10 = {
|
|
trigger = {
|
|
NOT = { has_domicile_building_or_higher = guardhouse_01 }
|
|
}
|
|
add_domicile_building = guardhouse_01
|
|
if = {
|
|
limit = { has_domicile_building = estate_main_03 }
|
|
add_domicile_building = guardhouse_02
|
|
}
|
|
}
|
|
10 = {
|
|
trigger = {
|
|
NOT = { has_domicile_building_or_higher = garden_01 }
|
|
}
|
|
add_domicile_building = garden_01
|
|
if = {
|
|
limit = { has_domicile_building = estate_main_03 }
|
|
add_domicile_building = garden_02
|
|
}
|
|
}
|
|
10 = {
|
|
trigger = {
|
|
NOT = { has_domicile_building_or_higher = storage_01 }
|
|
}
|
|
add_domicile_building = storage_01
|
|
if = {
|
|
limit = { has_domicile_building = estate_main_03 }
|
|
add_domicile_building = storage_02
|
|
}
|
|
}
|
|
10 = {
|
|
trigger = {
|
|
NOR = {
|
|
has_domicile_building_or_higher = grain_field_01
|
|
owner.culture ?= {
|
|
has_innovation = innovation_champa_rice
|
|
}
|
|
}
|
|
}
|
|
add_domicile_building = grain_field_01
|
|
if = {
|
|
limit = { has_domicile_building = estate_main_03 }
|
|
add_domicile_building = grain_field_02
|
|
}
|
|
}
|
|
10 = {
|
|
trigger = {
|
|
NOT = {
|
|
has_domicile_building_or_higher = rice_field_01
|
|
}
|
|
owner.culture ?= {
|
|
has_innovation = innovation_champa_rice
|
|
}
|
|
}
|
|
add_domicile_building = rice_field_01
|
|
if = {
|
|
limit = { has_domicile_building = estate_main_03 }
|
|
add_domicile_building = rice_field_02
|
|
}
|
|
}
|
|
10 = {
|
|
trigger = {
|
|
NOT = { has_domicile_building_or_higher = stable_01 }
|
|
}
|
|
add_domicile_building = stable_01
|
|
if = {
|
|
limit = { has_domicile_building = estate_main_03 }
|
|
add_domicile_building = stable_02
|
|
}
|
|
}
|
|
10 = {
|
|
trigger = {
|
|
NOT = { has_domicile_building_or_higher = workshop_01 }
|
|
}
|
|
add_domicile_building = workshop_01
|
|
if = {
|
|
limit = { has_domicile_building = estate_main_03 }
|
|
add_domicile_building = workshop_02
|
|
}
|
|
}
|
|
10 = {
|
|
trigger = {
|
|
NOT = { has_domicile_building_or_higher = market_01 }
|
|
}
|
|
add_domicile_building = market_01
|
|
if = {
|
|
limit = { has_domicile_building = estate_main_03 }
|
|
add_domicile_building = market_02
|
|
}
|
|
}
|
|
10 = {
|
|
trigger = {
|
|
NOT = { has_domicile_building_or_higher = grazing_land_01 }
|
|
}
|
|
add_domicile_building = grazing_land_01
|
|
if = {
|
|
limit = { has_domicile_building = estate_main_03 }
|
|
add_domicile_building = grazing_land_02
|
|
}
|
|
}
|
|
10 = {
|
|
trigger = {
|
|
NOR = {
|
|
has_domicile_building_or_higher = olive_01
|
|
owner.culture ?= {
|
|
has_innovation = innovation_champa_rice
|
|
}
|
|
}
|
|
}
|
|
add_domicile_building = olive_01
|
|
if = {
|
|
limit = { has_domicile_building = estate_main_03 }
|
|
add_domicile_building = olive_02
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
estate_newly_built_grain_field_effect = {
|
|
scope:owner = {
|
|
if = {
|
|
limit = {
|
|
is_alive = yes
|
|
years_from_game_start >= 1
|
|
}
|
|
random = {
|
|
chance = 75
|
|
add_character_flag = {
|
|
flag = domicile_new_built_grain_field
|
|
months = 1
|
|
}
|
|
trigger_event = {
|
|
id = ep3_governor_yearly.3001
|
|
days = 5
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
demand_pastureland_adventurer_interaction_effect = {
|
|
# scope:actor = adventurer
|
|
# scope:recipient = herder
|
|
# seized_pastureland = titles
|
|
scope:target = { add_to_list = seized_pastureland }
|
|
scope:recipient = { save_scope_as = defender }
|
|
|
|
hidden_effect = {
|
|
scope:actor = {
|
|
if = {
|
|
limit = { character:90028 ?= this }
|
|
add_character_flag = hereward_settled_flag
|
|
}
|
|
if = {
|
|
limit = {
|
|
NOT = { has_trait = adventurer }
|
|
}
|
|
add_trait = adventurer
|
|
}
|
|
every_courtier = {
|
|
set_variable = {
|
|
name = former_camp_leader
|
|
value = scope:actor
|
|
}
|
|
add_trait = adventurer_follower
|
|
}
|
|
}
|
|
}
|
|
|
|
# Determine hierarchy
|
|
ep3_become_landed_save_liege_effect = {
|
|
TITLE_GIVER = scope:recipient
|
|
ALWAYS_INDEPENDENT = no
|
|
TITLE_LIST = seized_pastureland
|
|
}
|
|
# Resolve title, liege, government changes
|
|
ep3_become_landed_transfer_effect = {
|
|
TITLE_RECEIVER = scope:actor
|
|
TITLE_LIST = seized_pastureland
|
|
TYPE = granted
|
|
REASON = flag:seized_pastureland
|
|
ENNOBLED_ADVENTURER = flag:yes
|
|
}
|
|
# Messages for nearby players
|
|
create_landed_ruler_message_effect = {
|
|
LANDED = scope:actor
|
|
FLAVOR_CHAR = scope:recipient
|
|
FLAVOR_TITLE = scope:target
|
|
REASON = flag:seized_pastureland
|
|
}
|
|
}
|