Merge branch 'Minority-Community-Branch'

This commit is contained in:
Fishedotjpg 2026-03-04 01:36:51 +00:00
commit a51a548e46
111 changed files with 194170 additions and 1017 deletions

View file

@ -0,0 +1,887 @@
activity_camp_party = {
is_shown = {
has_ep3_dlc_trigger = yes
has_government = landless_adventurer_government
is_adult = yes
#Every other activity must be blocked until an uncrowned AI crowns themselves
trigger_if = {
limit = {
is_ai = yes
}
NOT = {
has_realm_law = uncrowned
}
}
}
can_start_showing_failures_only = {
NOT = { is_activity_type_on_cooldown = activity_camp_party }
is_available = yes
age >= 16
}
is_valid = {
scope:host = {
is_alive = yes
is_imprisoned = no
has_government = landless_adventurer_government
NOT = { is_incapable = yes }
}
}
on_invalidated = {
# Host becomes incapable
if = {
limit = {
scope:host = { is_incapable = yes }
}
scope:activity = {
activity_type = { save_scope_as = activity_type }
}
scope:host = {
trigger_event = activity_system.0330
}
every_attending_character = {
limit = { this != scope:host }
trigger_event = activity_system.0331
}
}
}
province_filter = domicile_domain
ai_province_filter = domicile_domain
max_province_icons = 1
allow_zero_guest_invites = no
open_invite = no
province_description = {
desc = activity_camp_party_province_desc
}
province_score = {
add = camp_party_province_reference_value
}
cost = {
gold = {
add = {
add = {
value = standard_camp_party_activity_cost
desc = hunt_base_cost
}
if = {
limit = {
has_character_modifier = journey_communal_modifier
}
multiply = {
value = 0.8
desc = journey_communal_modifier
}
}
}
}
}
ui_predicted_cost = {
gold = {
# Base Cost
value = standard_camp_party_activity_cost
# Make it a multiple of 5 (rounded up)
divide = 5
ceiling = yes
multiply = 5
}
}
cooldown = { years = standard_camp_party_cooldown_time }
###################
# PHASES AND OPTIONS
###################
phases = {
phase_camp_party = {
is_predefined = yes
location_source = pickable
ai_will_do = {
value = 0
add = {
value = 30
desc = "Base test value"
}
}
on_phase_active = {
if = {
limit = { this = scope:host }
scope:host = {
trigger_event = {
id = ep3_camp_party.0009
days = 89
}
}
scope:activity = {
#Phase progression
progress_activity_phase_after = { days = 90 }
#Loc
activity_location = { save_scope_as = location }
}
#Arrival event
trigger_event = ep3_camp_party.0001
}
}
on_monthly_pulse = {
if = {
limit = { this = scope:host }
trigger_event = { on_action = camp_party_destination_events }
}
}
}
}
options = {
#Food options: upgrades locked behind Supply Tent
camp_party_option_food = {
camp_party_food_none = { #Default
default = yes
ai_will_do = {
value = 0
# Financial preference.
add = activity_option_likes_cheap_expense_value
# Quantity preference.
add = activity_option_food_prefers_small_volume_value
}
}
camp_party_food_simple = { #locked behind Supply Tent
is_shown = { always = yes }
is_valid = {
custom_tooltip = {
text = camp_party_food_options_invalid
domicile ?= {
has_domicile_parameter = camp_unlocks_camp_party_food_option
}
}
}
cost = {
gold = {
add = {
desc = camp_party_food_simple
add = {
value = 5
desc = camp_party_food_simple
}
add = {
value = 5
multiply = activity_cost_scale_by_tier
subtract = 5
desc = activity_cost_scale_by_tier_desc
}
add = {
value = 5
multiply = activity_cost_scale_by_era
subtract = 5
desc = activity_cost_scale_by_era_desc
}
if = {
limit = {
dynasty ?= {
has_dynasty_perk = law_legacy_1
}
}
subtract = {
value = 5
add = {
value = 5
multiply = activity_cost_scale_by_tier
subtract = 5
}
add = {
value = 5
multiply = activity_cost_scale_by_era
subtract = 5
}
multiply = law_legacy_cost_reduction_mult
desc = law_legacy_1_name
}
}
min = 0
}
}
}
ai_will_do = {
value = 0
# Financial preference.
add = activity_option_likes_middling_expense_value
# Quantity preference.
## We just use slightly reduced quantity prefs here.
add = {
value = activity_option_prefers_large_volume_value
multiply = 0.3
}
}
}
camp_party_food_lavish = {
is_shown = { always = yes }
is_valid = {
custom_tooltip = {
text = camp_party_food_options_invalid
domicile ?= {
has_domicile_parameter = camp_unlocks_camp_party_food_option
}
}
}
cost = {
gold = {
add = {
desc = camp_party_food_lavish
add = {
value = 15
desc = camp_party_food_lavish
}
add = {
value = 15
multiply = activity_cost_scale_by_tier
subtract = 15
desc = activity_cost_scale_by_tier_desc
}
add = {
value = 15
multiply = activity_cost_scale_by_era
subtract = 15
desc = activity_cost_scale_by_era_desc
}
if = {
limit = {
dynasty ?= {
has_dynasty_perk = law_legacy_1
}
}
subtract = {
value = 15
add = {
value = 15
multiply = activity_cost_scale_by_tier
subtract = 15
}
add = {
value = 15
multiply = activity_cost_scale_by_era
subtract = 15
}
multiply = law_legacy_cost_reduction_mult
desc = law_legacy_1_name
}
}
min = 0
}
}
}
ai_will_do = {
value = 0
# Financial preference.
add = activity_option_likes_middling_expense_value
# Quantity preference.
## We just use slightly reduced quantity prefs here.
add = {
value = activity_option_prefers_large_volume_value
multiply = 0.6
}
}
}
}
#Drinks options: upgrades locked behind Mess Tent & Mobile Brewery
camp_party_option_drinks = {
camp_party_drinks_none = { #Default
default = yes
ai_will_do = {
value = 0
# Financial preference.
add = activity_option_likes_cheap_expense_value
# Quantity preference.
add = activity_option_food_prefers_small_volume_value
}
}
camp_party_drinks_adequate = { #locked behind Mess Tent
is_shown = { always = yes }
is_valid = {
custom_tooltip = {
text = camp_party_drinks_adequate_invalid
domicile ?= {
has_domicile_building_or_higher = mess_tent_01
}
}
}
cost = {
gold = {
add = {
desc = camp_party_drinks_adequate
add = {
value = 10
desc = camp_party_drinks_adequate
}
add = {
value = 10
multiply = activity_cost_scale_by_tier
subtract = 10
desc = activity_cost_scale_by_tier_desc
}
add = {
value = 10
multiply = activity_cost_scale_by_era
subtract = 10
desc = activity_cost_scale_by_era_desc
}
if = {
limit = {
dynasty ?= {
has_dynasty_perk = law_legacy_1
}
}
subtract = {
value = 10
add = {
value = 10
multiply = activity_cost_scale_by_tier
subtract = 10
}
add = {
value = 10
multiply = activity_cost_scale_by_era
subtract = 10
}
multiply = law_legacy_cost_reduction_mult
desc = law_legacy_1_name
}
}
min = 0
}
}
}
ai_will_do = {
value = 0
# Financial preference.
add = activity_option_likes_middling_expense_value
# Quantity preference.
## We just use slightly reduced quantity prefs here.
add = {
value = activity_option_prefers_large_volume_value
multiply = 0.3
}
}
}
camp_party_drinks_abundant = { #locked behind Mobile Brewery
is_shown = { always = yes }
is_valid = {
custom_tooltip = {
text = camp_party_drinks_abundant_invalid
domicile ?= {
has_domicile_building_or_higher = mess_tent_brewers
}
}
}
cost = {
gold = {
add = {
desc = camp_party_drinks_abundant
add = {
value = 20
desc = camp_party_drinks_abundant
}
add = {
value = 20
multiply = activity_cost_scale_by_tier
subtract = 20
desc = activity_cost_scale_by_tier_desc
}
add = {
value = 20
multiply = activity_cost_scale_by_era
subtract = 20
desc = activity_cost_scale_by_era_desc
}
if = {
limit = {
dynasty ?= {
has_dynasty_perk = law_legacy_1
}
}
subtract = {
value = 35
add = {
value = 35
multiply = activity_cost_scale_by_tier
subtract = 35
}
add = {
value = 35
multiply = activity_cost_scale_by_era
subtract = 35
}
multiply = law_legacy_cost_reduction_mult
desc = law_legacy_1_name
}
}
min = 0
}
}
}
ai_will_do = {
value = 0
# Financial preference.
add = activity_option_likes_middling_expense_value
# Quantity preference.
## We just use slightly reduced quantity prefs here.
add = {
value = activity_option_prefers_large_volume_value
multiply = 0.6
}
}
}
}
}
max_guest_arrival_delay_time = { weeks = 1 }
###################
# ACTIVITY-SPECIFIC PULSES
###################
pulse_actions = {
entries = {
apa_bonded_by_fire
apa_taught_repair
apa_revelry_hangover_camp
apa_local_food_camp
apa_lauded_food_camp
apa_guest_of_honor_impressed
apa_cultural_acceptance
apa_camp_host_gifted
apa_fireside_chat_shared_stories_martial
apa_fireside_chat_shared_stories_learning
apa_fireside_chat_shared_stories_diplomacy
apa_fireside_chat_shared_stories_stewardship
apa_fireside_chat_shared_stories_intrigue
apa_fireside_chat_shared_drinks
apa_fireside_chat_inspiring_speech
apa_camp_party_sad_lonesome
apa_camp_party_shadows_in_the_dark
apa_camp_party_fortress_of_solitude
apa_camp_party_lecture
apa_camp_party_tales_of_distant_lands
apa_camp_party_tales_of_war
apa_camp_party_tales_of_lands_lost
apa_camp_party_blademaster_sparring
apa_camp_party_tales_of_piety
#Re-used
host_gains_diplo_xp
host_gains_intrigue_xp
hook_trusting_guest
}
chance_of_no_event = 2
}
on_start = {
scope:activity ?= {
activity_setup_special_type_progression_effect = yes
if = {
limit = {
has_activity_option = {
category = camp_party_option_food
option = camp_party_food_simple
}
}
activity_special_type_progression_variable = { NUM = 25 }
}
else_if = {
limit = {
has_activity_option = {
category = camp_party_option_food
option = camp_party_food_lavish
}
}
activity_special_type_progression_variable = { NUM = 50 }
}
}
}
###################
# AI VALUES
###################
# desc is only shown in debug AI watch window
ai_will_do = {
value = 50
if = {
limit = {
has_trait = lazy
}
add = -10
}
#Can you actually afford this?
if = {
limit = {
domicile.provisions <= 100
}
add = -75
}
}
ai_check_interval = 60
ai_will_select_province = {
value = 10
}
###################
# GUEST HANDLING
###################
host_intents = {
default = reduce_stress_intent
intents = { reduce_stress_intent befriend_attendee_intent fireside_chat_intent }
}
guest_intents = {
intents = { reduce_stress_intent befriend_attendee_intent }
default = reduce_stress_intent
}
can_be_activity_guest = {
OR = { #Follower
AND = {
is_healthy = yes
is_available = yes
age >= 16
is_ai = yes
liege = scope:host
location = scope:host.location
}
AND = { #Local lord
is_healthy = yes
is_available = yes
age >= 16
is_ai = yes
top_liege = this
location = scope:host.location
}
}
}
guest_invite_rules = {
defaults = {
1 = activity_invite_rule_followers
2 = activity_invite_rule_local_lord
2 = activity_invite_rule_friends
2 = activity_invite_rule_potential_friends
2 = activity_invite_rule_lovers
2 = activity_invite_rule_potential_lovers
}
}
special_guests = {
camp_party_honorary_guest = {
is_required = no
can_pick = {
this != scope:host
is_healthy = yes
is_available = yes
age >= 16
is_ai = yes
top_liege = this
location = scope:host.location
}
ai_will_do = {
value = 10
}
}
}
travel_entourage_selection = {
weight = {
value = 10
if = {
limit = {
NOT = { is_in_list = special_guests }
}
multiply = 0
}
}
invite_rule_order = 1
# Up to how many characters to select for a player
max = 2
# Up to how many characters to select for an AI
ai_max = 2
}
max_guests = 50 #Theoretically everyone, practically only around 2-10 usually
guest_join_chance = {
base = 50 #Everyone should accept, but...
base_activity_modifier = yes
# Scripted Modifiers
activity_guest_shared_ai_accept_modifier = yes
modifier = {
is_courtier_of = scope:host
scope:host = {
has_government = landless_adventurer_government
}
add = 100
desc = ACTIVITY_GUEST_ADVENTURER_REASON
}
modifier = { #Emperors
primary_title.tier = tier_empire
add = -100
desc = ACTIVITY_GUEST_LANDLESS_REASON
}
modifier = { #Kings
primary_title.tier = tier_kingdom
add = -75
desc = ACTIVITY_GUEST_LANDLESS_REASON
}
modifier = { #Dukes
primary_title.tier = tier_duchy
add = -50
desc = ACTIVITY_GUEST_LANDLESS_REASON
}
modifier = { #Counts
primary_title.tier = tier_county
add = -25
desc = ACTIVITY_GUEST_LANDLESS_REASON
}
modifier = { #Barons
primary_title.tier = tier_barony
add = -5
desc = ACTIVITY_GUEST_LANDLESS_REASON
}
}
###################
# GRAPHICS
###################
#Backgrounds mostly not needed here
background = { #Campfire
trigger = {
scope:host.location = scope:activity.activity_location
}
texture = "gfx/interface/illustrations/event_scenes/ep3_campfire.dds"
environment = "environment_event_bp1_bonfire"
ambience = "event:/SFX/Events/Backgrounds/burning_building"
}
### Plug in widgets
activity_window_widgets = {
activity_special_type_progression = "activity_plugin_widgets_summary"
}
window_characters = {
guest = {
camera = camera_body_right
effect = {
if = {
limit = {
scope:host.location = scope:activity.activity_location
}
every_attending_character = {
limit = {
location = scope:activity.activity_location
this != scope:host
}
add_to_list = characters
}
}
}
scripted_animation = {
triggered_animation = {
trigger = {
always = yes
}
animation = { drink_goblet happiness flirtation throne_room_conversation_3 throne_room_conversation_1 instrument_idle alto_flute_active }
}
}
}
#Guest of Honor
guest = {
camera = camera_body
effect = {
if = {
limit = {
scope:host.location = scope:activity.activity_location
any_attending_character = {
this = scope:activity.special_guest:camp_party_honorary_guest
location = scope:activity.activity_location
}
}
every_attending_character = {
limit = {
this = scope:activity.special_guest:camp_party_honorary_guest
location = scope:activity.activity_location
}
add_to_list = characters
}
}
else = {
every_attending_character = {
limit = {
location = scope:activity.activity_location
this != scope:host
}
add_to_list = characters
}
}
}
scripted_animation = {
triggered_animation = {
trigger = {
scope:character = { has_trait = shy }
}
animation = { worry stress boredom fear disbelief paranoia eyeroll drink drink_goblet }
}
triggered_animation = {
trigger = {
scope:character = {
NOT = { has_trait = shy }
}
}
animation = { ecstasy wedding_priest chaplain personality_honorable personality_bold hero_flex }
}
#Fallback
animation = toast_goblet
}
}
host = {
camera = camera_body
effect = {
if = {
limit = {
scope:host.location = scope:activity.activity_location
}
scope:host = {
add_to_list = characters
}
}
}
scripted_animation = {
triggered_animation = {
trigger = {
always = yes
}
animation = { toast_goblet toast lute_active }
}
}
}
guest = {
camera = camera_body
effect = {
if = {
limit = {
scope:host.location = scope:activity.activity_location
}
every_attending_character = {
limit = {
location = scope:activity.activity_location
this != scope:host
}
add_to_list = characters
}
}
}
scripted_animation = {
triggered_animation = {
trigger = {
scope:character = { has_trait = shy }
}
animation = { worry stress boredom fear disbelief paranoia eyeroll drink drink_goblet }
}
triggered_animation = {
trigger = {
scope:character = {
NOT = { has_trait = shy }
}
}
animation = { dancing laugh throne_room_conversation_2 }
}
#Fallback
animation = toast
}
}
guest = {
camera = camera_body_left
effect = {
if = {
limit = {
scope:host.location = scope:activity.activity_location
}
every_attending_character = {
limit = {
location = scope:activity.activity_location
this != scope:host
}
add_to_list = characters
}
}
}
scripted_animation = {
triggered_animation = {
trigger = {
scope:character = { has_trait = shy }
}
animation = { worry stress boredom fear disbelief paranoia eyeroll drink drink_goblet }
}
triggered_animation = {
trigger = {
scope:character = {
NOT = { has_trait = shy }
}
}
animation = { drink eavesdrop wedding_drunk instrument_active }
}
#Fallback
animation = toast
}
}
}
}

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,388 @@
# Interaction used to convert people when you hybridize or diverge culture
# Note that it will only be applied to vassals of the parent culture(s)
# Acceptance is checked *before* culture conversion happens so that it'll be correct in the UI
# This has the culture traits available in the traits list:
# modifier = {
# add = 10
# desc = TEST
# culture_pillar:ethos_bellicose = { is_in_list = traits }
# }
request_culture_conversion_interaction = {
category = interaction_category_religion
special_interaction = request_culture_conversion_interaction
popup_on_receive = yes
desc = ask_for_conversion_interaction_desc
hidden = yes
is_shown = {
scope:actor.culture != scope:recipient.culture
scope:recipient.liege = scope:actor
NOT = { scope:recipient = { government_has_flag = government_is_landless_minority } }
}
is_valid_showing_failures_only = {
}
ai_accept = {
base = -10
opinion_modifier = {
opinion_target = scope:actor
who = scope:recipient
multiplier = 1
}
modifier = {
desc = ASK_FOR_CONVERSION_SAME_CULTURE_PRESTIGE_LEVEL
add = {
value = 10
multiply = scope:actor.prestige_level
}
scope:actor.prestige_level > 0
scope:recipient.culture = scope:actor.culture
}
modifier = {
desc = ASK_FOR_CONVERSION_RECIPIENT_DIPLOMACY
add = {
value = scope:actor.diplomacy
subtract = scope:recipient.diplomacy
multiply = 5
}
}
modifier = {
desc = ASK_FOR_CONVERSION_RECIPIENT_IS_CYNICAL
add = 30
scope:recipient = {
has_trait = cynical
}
}
modifier = {
desc = ASK_FOR_CONVERSION_RECIPIENT_IS_STUBBORN
add = -30
scope:recipient = {
has_trait = stubborn
}
}
modifier = {
add = intimidated_external_reason_value
scope:recipient = {
has_dread_level_towards = {
target = scope:actor
level = 1
}
}
desc = INTIMIDATED_REASON
}
modifier = {
add = cowed_external_reason_value
scope:recipient = {
has_dread_level_towards = {
target = scope:actor
level = 2
}
}
desc = COWED_REASON
}
# Unity modifiers
evaluate_action_increasing_house_unity = {
VALUE = 100
}
}
ai_min_reply_days = 1
ai_max_reply_days = 5
on_accept = {
new_culture_created_vassal_conversion_effect = {
CONVERTEE = scope:recipient
CONVERTER = scope:actor
CULTURE = scope:actor.culture
}
}
}
ai_cultural_hybridization_interaction = {
hidden = yes
auto_accept = yes
ai_potential = {
has_dlc_feature = hybridize_culture
OR = {
top_liege = this
highest_held_title_tier >= tier_kingdom
}
sub_realm_size >= 4
is_physically_able_adult = yes
is_at_war = no
NOT = {
has_game_rule = none_hybrid_culture_ai_frequency
}
}
is_shown = {
scope:actor = {
is_ai = yes
}
}
has_valid_target = {
exists = scope:target
}
ai_set_target = {
scope:actor = {
if = {
limit = {
any_sub_realm_county = {
culture != scope:actor.culture
culture = {
cultural_acceptance = { target = scope:actor.culture value >= hybridization_ai_threshold_value }
scope:actor = {
can_hybridize = prev
}
}
}
}
every_sub_realm_county = {
limit = {
culture != scope:actor.culture
culture = {
cultural_acceptance = { target = scope:actor.culture value >= hybridization_ai_threshold_value }
scope:actor = {
can_hybridize = prev
}
}
}
culture = {
add_to_list = culture_list
}
}
ordered_in_list = {
list = culture_list
limit = { culture_realm_size >= 3 }
order_by = culture_realm_size
save_scope_as = target
}
}
}
}
on_accept = {
# Global cooldowns for the lower frequency game rule settings
if = {
limit = {
has_game_rule = less_common_hybrid_culture_ai_frequency
}
set_global_variable = { name = has_ai_hybrid_event_cooldown value = yes days = 3650 }
}
scope:actor = {
create_hybrid_culture_with_side_effects = scope:target
}
}
ai_targets = {
ai_recipients = self
}
ai_frequency_by_tier = {
barony = 0
county = 120
duchy = 60
kingdom = 60
empire = 60
hegemony = 60
}
ai_will_do = {
base = 100
# Unity modifiers
evaluate_action_increasing_house_unity = {
VALUE = 100
}
modifier = {
factor = 0.2
has_game_rule = less_common_hybrid_culture_ai_frequency
}
modifier = {
factor = 0
exists = global_var:has_ai_hybrid_event_cooldown
}
modifier = {
factor = 0
culture = {
has_cultural_parameter = harder_to_hybridize
}
}
modifier = { # The AI should only want to hybridize if they're the second ruler of their culture for their primary title
factor = 0
OR = {
NOT = {
exists = primary_title.previous_holder
}
AND = {
exists = primary_title.previous_holder
primary_title.previous_holder.culture != scope:actor.culture
}
}
}
modifier = { # The AI doesn't want to hybridize if their culture is more than X% bigger than the targeted culture within the same realm (unless it's in the capital, and the capital is the De Jure capital of the primary title)
factor = 0
scope:actor.culture.culture_realm_size > scope:target.culture_realm_size_larger_30_percent
NAND = {
scope:actor.primary_title.title_capital_county = scope:actor.capital_county
scope:actor.capital_county.culture = scope:target
}
}
modifier = { # Do not hybridize if 30% or more of your vassals of the relevant culture/s dislike you
factor = 0
scope:actor = {
any_vassal = {
percent >= 0.3
OR = {
culture = scope:actor.culture
culture = scope:target
}
highest_held_title_tier >= tier_county
opinion = {
target = scope:actor
value <= 0
}
}
}
}
modifier = { # The AI does not want to create multiple hybrids from the same cultures
factor = 0
any_in_global_list = {
variable = hybrid_cultures
any_parent_culture = { this = scope:target }
any_parent_culture = { this = scope:actor.culture }
}
}
# Loose requirements
modifier = { # The AI does not want to create a hybrid with a hybrid culture that has the same roots
factor = 0
has_game_rule = very_relaxed_hybrid_culture_ai_restrictions
scope:target = { is_hybrid_culture = yes }
scope:actor.culture = {
is_hybrid_culture = yes
any_parent_culture = {
save_temporary_scope_as = parent_culture_check
scope:target = {
any_parent_culture = {
this = scope:parent_culture_check
}
}
}
}
}
modifier = { # The AI does not want to create a hybrid with a hybrid culture (unless a historical hybrid)
factor = 0
has_game_rule = relaxed_hybrid_culture_ai_restrictions
scope:target = {
is_hybrid_culture = yes
culture_is_not_historical_hybrid_trigger = yes
}
scope:actor.culture = {
is_hybrid_culture = yes
culture_is_not_historical_hybrid_trigger = yes
}
}
modifier = { # The AI does not want to create a hybrid with a hybrid culture or if the target is a hybrid (unless a historical hybrid)
factor = 0
has_game_rule = default_hybrid_culture_ai_restrictions
OR = {
scope:target = {
is_hybrid_culture = yes
culture_is_not_historical_hybrid_trigger = yes
}
scope:actor.culture = {
is_hybrid_culture = yes
culture_is_not_historical_hybrid_trigger = yes
}
}
}
modifier = { # The AI does not want to create a hybrid with a hybrid culture that their culture is a parent of, or share heritage of
factor = 0
scope:target = {
is_hybrid_culture = yes
any_parent_culture = {
OR = {
this = scope:actor.culture
has_same_culture_heritage = scope:actor.culture
}
}
}
}
modifier = { # The AI does not want to create a hybrid if their culture is a hybrid of the target culture, or share heritage of
factor = 0
scope:actor.culture = {
is_hybrid_culture = yes
any_parent_culture = {
OR = {
this = scope:target
has_same_culture_heritage = scope:target
}
}
}
}
modifier = { # Avoid hybridizing if your realm is of a significant size and elective, we don't want the HRE Emperor to hybdridize in ugly ways...
factor = 0
primary_title = {
has_order_of_succession = election
tier >= tier_kingdom
}
realm_size >= 50
any_vassal = {
highest_held_title_tier >= tier_county
culture != scope:actor.culture
}
}
modifier = { # Theocrats such as the Pope shouldn't hybridize; they have an influx of different cultures, it's just weird
factor = 0
government_has_flag = government_is_theocracy
}
modifier = { # Block for Scots and Gaelic specifically
factor = 0
scope:actor.culture = {
OR = {
this = culture:scottish
this = culture:gaelic
}
}
scope:target = {
OR = {
this = culture:scottish
this = culture:gaelic
}
}
}
# Note: As we're checking if we can hybridize with a culture *right now*, a suboptimal culture might be checked. A buffer of 10 acceptance is used by the AI to alleviate this.
}
}

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,492 @@
# Character Interactions for EP1
##################
# Fund someone's inspiration
# by Linnéa Thimrén
##################
fund_inspiration_interaction = {
icon = inspiration
interface_priority = 30
common_interaction = yes
category = interaction_category_vassal
desc = fund_inspiration_interaction_desc
is_shown = {
scope:recipient = {
is_ruler = no
inspiration ?= {
NOT = {
exists = inspiration_sponsor
}
}
}
scope:actor = {
any_courtier_or_guest = {
this = scope:recipient
}
}
}
is_highlighted = {
always = yes
}
is_valid_showing_failures_only = {
scope:recipient = {
is_physically_able = yes
is_ruler = no
trigger_if = {
limit = {
NOT = { is_courtier_of = scope:actor }
}
can_recruit_character_to_court_trigger = {
RECRUITER = scope:actor
RECRUITEE = scope:recipient
}
}
}
scope:actor = {
can_sponsor_inspiration = scope:recipient.inspiration
gold >= scope:recipient.inspiration.base_inspiration_gold_cost
}
}
on_accept = {
fund_inspiration_effect = yes
if = {
limit = { scope:recipient.inspiration = { has_inspiration_type = weapon_inspiration } }
custom_description_no_bullet = { text = weapon_inspiration_cost_tt }
}
else_if = {
limit = { scope:recipient.inspiration = { has_inspiration_type = armor_inspiration } }
custom_description_no_bullet = { text = armor_inspiration_cost_tt }
}
else_if = {
limit = { scope:recipient.inspiration = { has_inspiration_type = book_inspiration } }
custom_description_no_bullet = { text = book_inspiration_cost_tt }
}
else_if = {
limit = { scope:recipient.inspiration = { has_inspiration_type = weaver_inspiration } }
custom_description_no_bullet = { text = weaver_inspiration_cost_tt }
}
else_if = {
limit = { scope:recipient.inspiration = { has_inspiration_type = adventure_inspiration } }
custom_description_no_bullet = { text = adventure_inspiration_cost_tt }
}
else_if = {
limit = { scope:recipient.inspiration = { has_inspiration_type = artisan_inspiration } }
custom_description_no_bullet = { text = artisan_inspiration_cost_tt }
}
else_if = {
limit = { scope:recipient.inspiration = { has_inspiration_type = smith_inspiration } }
custom_description_no_bullet = { text = smith_inspiration_cost_tt }
}
else_if = {
limit = { scope:recipient.inspiration = { has_inspiration_type = alchemy_inspiration } }
custom_description_no_bullet = { text = alchemy_inspiration_cost_tt }
}
else_if = {
limit = { scope:recipient.inspiration = { has_inspiration_type = bow_inspiration } }
custom_description_no_bullet = { text = bow_inspiration_cost_tt }
}
# Add a flag on AI to have an extra cooldown of 3 years
if = {
limit = {
scope:actor = {
is_ai = yes
NOT = {
gold >= 1000
}
OR = {
short_term_gold < ai_inspiration_desired_gold_value
ai_greed >= 50
}
}
}
scope:actor = {
add_character_flag = {
flag = recently_fund_inspiration
years = 3
}
}
}
# If we're a clan this interaction affects unity
add_clan_unity_interaction_effect = {
CHARACTER = scope:actor
TARGET = scope:recipient
VALUE = miniscule_unity_gain
DESC = clan_unity_inspo.desc
REVERSE_NON_HOUSE_TARGET = no
}
#Mandala Creation Aspect
scope:actor = {
if = {
limit = { government_has_flag = government_is_mandala }
increment_variable_effect = {
VAR = num_commissioned_artifacts
VAL = 1
}
}
}
}
auto_accept = {
custom_description = {
text = auto_accept_interaction_ai
object = scope:recipient
scope:recipient = {
is_ai = yes
}
}
}
ai_frequency_by_tier = {
barony = 0
county = 0
duchy = 0
kingdom = 10
empire = 10
hegemony = 10
}
ai_targets = {
ai_recipients = guests
ai_recipients = courtiers
}
ai_target_quick_trigger = {
adult = yes
}
ai_potential = {
is_at_war = no
OR = {
has_royal_court = yes
OR = { government_has_flag = government_is_landless_adventurer government_has_flag = government_is_landless_minority }
}
gold > ai_inspiration_desired_gold_value
NOT = { has_character_flag = recently_fund_inspiration }
NOT = { has_variable = conqueror }
ai_should_focus_on_building_in_their_capital = no
}
ai_will_do = {
base = 100
modifier = { # Not as likely to fund inspirations if they already have some going (max three for very prestigious courts)
add = {
if = {
limit = {
highest_held_title_tier >= tier_empire
any_sponsored_inspiration = {
count >= 3
}
}
add = -50
}
else_if = {
limit = {
highest_held_title_tier >= tier_kingdom
any_sponsored_inspiration = {
count >= 2
}
}
add = -50
}
}
}
# Do not pointlessly fund inspirations you do not need
modifier = { # Weapons
factor = 0
scope:recipient.inspiration = {
has_inspiration_type = weapon_inspiration
}
OR = {
any_character_artifact = { # Has a fantastic item already
artifact_slot_type = primary_armament
rarity = illustrious
}
AND = { # Have a lot of artifacts already, and the inspired person isn't even very good
scope:recipient = {
weapon_inspiration_average_skill_value < 15
}
any_character_artifact = {
count >= 2
artifact_slot_type = primary_armament
}
}
}
}
modifier = { # Armor
factor = 0
scope:recipient.inspiration = {
has_inspiration_type = armor_inspiration
}
OR = {
any_character_artifact = { # Has a fantastic item already
artifact_slot_type = armor
rarity = illustrious
}
AND = { # Have a lot of artifacts already, and the inspired person isn't even very good
scope:recipient = {
armor_inspiration_average_skill_value < 15
}
any_character_artifact = {
count >= 2
artifact_slot_type = armor
}
}
}
}
modifier = { # Warlike AI's only sponsor if they've been at peace for a long time
factor = 0
ai_has_warlike_personality = yes
days_of_continuous_peace < 1825 # 5 years
}
modifier = { # Cautious AI's only sponsor if they feel safe enough
factor = 0
ai_has_cautious_personality = yes
war_chest_gold < cautious_ai_minimum_war_chest_gold
}
}
}
##################
# Indebt Guest
# by Ewan Cowhig Croft
##################
indebt_guest_interaction = {
icon = icon_hostile
interface_priority = 120
common_interaction = yes
ai_max_reply_days = 0
cooldown = { years = 5 }
category = interaction_category_hostile
ai_maybe = yes
desc = indebt_guest_interaction_desc
greeting = negative
pre_answer_maybe_key = ANSWER_MIGHT_SUCCEED
pre_answer_no_key = ANSWER_CANT_SUCCEED
pre_answer_yes_key = ANSWER_WILL_SUCCEED
pre_answer_maybe_breakdown_key = ANSWER_SUM_CHANCE
ai_potential = {
# Repeat some is_shown triggers for performance gains.
indebt_guest_interaction_basic_checks_trigger = { ACTOR = this }
}
is_shown = {
scope:actor != scope:recipient
# Repeat some ai_potential triggers for performance gains.
indebt_guest_interaction_basic_checks_trigger = { ACTOR = scope:actor }
# Scope:recipient must be a guest.
scope:recipient = { is_pool_guest_of = scope:actor }
}
is_valid_showing_failures_only = {
scope:actor = { is_imprisoned = no }
scope:actor = { is_commanding_army = no }
# Scope:actor can't have a hook of any kind on scope:recipient already.
NOT = {
scope:actor = { has_hook = scope:recipient }
}
# Scope:actor must be able to afford the cost of the decision going wrong.
scope:actor.court_grandeur_current >= indebt_guest_interaction_lost_test_grandeur_cost_value
}
can_send = {
scope:actor = {
custom_description = {
text = "character_interactions_hostile_actions_disabled_delay"
NOT = { has_character_flag = flag_hostile_actions_disabled_delay }
}
}
}
on_send = {
scope:actor = {
add_character_flag = {
flag = flag_hostile_actions_disabled_delay
days = 10
}
}
}
on_accept = {
scope:actor = {
# On accept, you gain a hook & lose some opinion.
## Which we only show as a tooltip for now, since it's applied in the event.
show_as_tooltip = { indebt_guest_interaction_accepted_effect = yes }
# Pop the event.
trigger_event = ep1_character_interaction.0001
# Reminder that you'll have a chance to direct where they go.
custom_tooltip = indebt_guest_interaction.tt.direct_indebted_guest
}
# If we're a clan this interaction affects unity
add_clan_unity_interaction_effect = {
CHARACTER = scope:actor
TARGET = scope:recipient
VALUE = miniscule_unity_loss
DESC = clan_unity_indebt_guest.desc
REVERSE_NON_HOUSE_TARGET = no
}
}
on_decline = {
# Send a toast.
scope:actor = {
send_interface_toast = {
type = event_toast_effect_bad
title = indebt_guest_interaction.tt.failure
left_icon = scope:recipient
# On decline, scope:recipient leaves your court...
scope:recipient = { select_and_move_to_pool_effect = yes }
# ... and you lose a bit of extra grandeur for your audacity.
change_current_court_grandeur = indebt_guest_interaction_lost_test_grandeur_cost_value
}
}
# If we're a clan this interaction affects unity
add_clan_unity_interaction_effect = {
CHARACTER = scope:actor
TARGET = scope:recipient
VALUE = miniscule_unity_loss
DESC = clan_unity_indebt_guest_failure.desc
REVERSE_NON_HOUSE_TARGET = no
}
}
auto_accept = no
ai_accept = {
base = 50
# Standard intrigue duel.
modifier = {
add = {
value = scope:actor.intrigue
multiply = 2
}
desc = INDEBT_GUEST_INTRIGUE_ACTOR
}
modifier = {
add = {
value = scope:recipient.intrigue
multiply = -1
}
desc = INDEBT_GUEST_INTRIGUE_RECIPIENT
}
# Weight it a bit more in your favour for every point of excess CGV you have.
modifier = {
add = scope:actor.current_cgv_above_expected_exact_value
desc = INDEBT_GUEST_CURRENT_CGV_ABOVE_EXPECTED
scope:actor.current_cgv_above_expected_exact_value >= 1
}
# Some traits may also affect the chances for scope:actor...
modifier = {
add = 10
scope:actor = { has_trait = schemer }
}
modifier = {
add = 10
scope:actor = { has_trait = education_intrigue }
}
modifier = {
add = 5
scope:actor = { has_trait = deceitful }
}
modifier = {
add = 5
scope:actor = { has_trait = vengeful }
}
modifier = {
add = -10
scope:actor = { has_trait = honest }
}
modifier = {
add = -5
scope:actor = { has_trait = forgiving }
}
# ... or else for scope:recipient.
modifier = {
add = -10
scope:recipient = { has_trait = schemer }
}
modifier = {
add = -5
scope:recipient = { has_trait = education_intrigue }
}
modifier = {
add = -5
scope:recipient = { has_trait = deceitful }
}
modifier = {
add = 10
scope:recipient = { has_trait = honest }
}
}
# AI
ai_targets = {
ai_recipients = guests
chance = 0.5
}
ai_frequency_by_tier = {
barony = 0
county = 0
duchy = 0
kingdom = 10
empire = 10
hegemony = 10
}
ai_will_do = {
base = -100
# This is a silly way for the AI to spend its CGV, so we keep 'em off it most of the time.
# Unless they've got a scheme on the go at their nemesis' court...
modifier = {
add = 100
scope:actor = {
any_relation = { type = nemesis }
any_scheme = {
count >= 1
scheme_target_character = {
any_relation = {
type = nemesis
count >= 1
this = scope:actor
}
}
}
}
}
# ... *and* they're likely to win due to having higher intrigue, but without scope:recipient being too terrible.
modifier = {
add = 25
indebt_guest_interaction_get_intrigue_difference_value >= indebt_guest_interaction_likely_success_control_value
scope:recipient = { intrigue >= high_skill_rating }
}
modifier = {
add = 25
indebt_guest_interaction_get_intrigue_difference_value >= indebt_guest_interaction_likely_success_control_value
scope:recipient = { intrigue >= very_high_skill_rating }
}
modifier = {
add = 50
indebt_guest_interaction_get_intrigue_difference_value >= indebt_guest_interaction_likely_success_control_value
scope:recipient = { intrigue >= extremely_high_skill_rating }
}
}
}

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -888,6 +888,26 @@ GetGovernmentIcon = {
}
localization_key = adventurer_icon_concept
}
text = { # Republic
trigger = {
trigger_if = {
limit = {
is_alive = no
}
has_government = landless_minority_government
}
trigger_else = {
trigger_if = {
limit = { is_ruler = yes }
government_has_flag = government_is_landless_minority
}
trigger_else = {
liege ?= { government_has_flag = government_is_landless_minority }
}
}
}
localization_key = minority_community_icon_concept
}
text = { # Nomad
trigger = {
trigger_if = {

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,592 @@
### Convert to Local Culture ###
convert_to_local_culture_decision = {
picture = {
reference = "gfx/interface/illustrations/decisions/decision_realm.dds"
}
desc = convert_to_local_culture_decision_desc
selection_tooltip = convert_to_local_culture_decision_tooltip
is_shown = {
is_playable_character = yes
primary_title.tier > tier_barony
culture != capital_province.culture
NAND = {
is_ai = yes
OR = {
has_character_flag = converted_culture_this_lifetime
has_character_flag = converted_culture_this_lifetime_ai
}
}
NOT = { government_has_flag = government_is_landless_minority }
}
is_valid_showing_failures_only = {
is_physically_able_adult = yes
is_at_war = no
custom_description = {
text = can_only_change_culture_once
NOT = { has_character_flag = converted_culture_this_lifetime }
}
}
cost = {
prestige = {
value = convert_to_local_culture_base_cost
if = { # Cheaper to convert to a hybrid culture made from your culture
limit = {
capital_province.culture = {
any_parent_culture = {
this = root.culture
}
}
}
multiply = 0.5
}
# Similarities in culture
if = {
limit = {
capital_province.culture = {
has_same_culture_ethos = root.culture
}
}
multiply = 0.75
}
if = {
limit = {
capital_province.culture = {
has_same_culture_heritage = root.culture
}
}
multiply = 0.75
}
if = {
limit = {
capital_province.culture = {
has_same_culture_language = root.culture
}
}
multiply = 0.5
}
if = {
limit = {
NOT = {
capital_province.culture = {
has_same_culture_martial_tradition = root.culture
}
}
}
multiply = 1.25
}
if = {
limit = {
culture = {
has_cultural_parameter = expensive_convert_to_local_culture
}
}
multiply = 3
}
if = {
limit = {
culture = {
has_cultural_parameter = cheaper_convert_to_local_culture
}
}
multiply = 0.25
}
else_if = {
limit = {
NOT = {
government_has_flag = government_is_nomadic
}
has_trait = nomadic_philosophy
}
multiply = 0.25
}
# Account for struggle phase.
if = {
limit = { is_struggle_parameter_active_cheaper_to_convert_to_struggle_culture_trigger = yes }
multiply = 0.25
}
# Make sure it's never dumb numbers.
min = 25
}
}
effect = {
if = {
limit = {
culture = {
has_cultural_parameter = less_likely_to_culture_convert
}
OR = {
has_trait = compassionate
has_trait = gregarious
has_trait = diligent
has_trait = fickle
has_trait = humble
has_trait = trusting
}
}
add_stress = medium_stress_gain
}
else_if = {
limit = {
culture = {
has_cultural_parameter = less_likely_to_culture_convert
}
}
add_stress = major_stress_gain
}
# Struggle Catalysts
if = {
limit = {
any_character_struggle = {
involvement = involved
phase_has_catalyst = catalyst_convert_local_culture_faith
is_culture_involved_in_struggle = root.capital_province.culture
}
}
every_character_struggle = {
involvement = involved
activate_struggle_catalyst = {
catalyst = catalyst_convert_local_culture_faith
character = root
}
}
}
convert_family_culture_and_notify_vassals_effect = {
CONVERTER = root
OLD_CULTURE = root.culture
NEW_CULTURE = capital_province.culture
}
}
ai_check_interval_by_tier = {
barony = 0
county = 60
duchy = 60
kingdom = 60
empire = 60
hegemony = 60
}
ai_potential = {
is_playable_character = yes
culture != capital_province.culture
is_landless_adventurer = no
}
ai_will_do = {
base = 3
modifier = { # If your liege is the same culture as your capital, better get on with it! This should combat scattered wrong-culture Counts and such.
add = 77
capital_province.culture = liege.culture
}
modifier = { # Motivate vassals to assimilate if they are different culture from their liege. If they can't curry their liege's favor, better get the peasants on your side at least...
add = 27
NOR = {
culture = capital_province.culture
culture = liege.culture
}
}
# Reduced chance for every vassal who has your old culture
modifier = {
factor = {
value = 1
every_vassal = {
limit = {
OR = {
highest_held_title_tier = tier_kingdom
highest_held_title_tier = tier_duchy
AND = {
root = {
highest_held_title_tier = tier_duchy
}
primary_title.tier = tier_county
}
}
culture = root.culture
}
add = -0.3
}
}
}
modifier = { # This factor 0 is not misplaced; Loyal Subjects should not culture convert unless it's to a hybrid!
factor = 0
top_liege != this
exists = liege
culture != liege.culture
culture = {
has_cultural_tradition = tradition_loyal_soldiers
}
}
modifier = { # You're an independent count that has become landed somewhere, as you can't increase acceptance, it's best to assimilate.
add = 200
top_liege = this
primary_title.tier = tier_county
domain_size <= 3
culture = {
NOR = {
has_cultural_parameter = easier_to_hybridize # Not for hybrid-loving cultures
has_cultural_parameter = expensive_convert_to_local_culture # Nor staunch traditionalists
}
cultural_acceptance = { target = root.capital_province.culture value < 50 }
}
}
modifier = { # Do convert to hybrids of your own culture
add = 200
capital_province.culture = {
is_hybrid_culture = yes
any_parent_culture = {
this = root.culture
}
}
}
modifier = { # Farewell, norse culture (unless the player is running a norse empire)
add = 200
OR = {
top_liege = this
AND = {
top_liege != this
NOT = {
any_liege_or_above = {
culture = culture:norse
}
}
}
}
culture = culture:norse
capital_province.culture = {
OR = {
this = culture:swedish
this = culture:norwegian
this = culture:danish
}
}
}
modifier = { # Iberian Struggle modifiers
any_character_struggle = {
involvement = involved
}
add = {
value = 0
if = {
limit = {
any_character_struggle = {
phase_has_catalyst = catalyst_convert_local_culture_faith
}
has_character_flag = agenda_towards_escalation
}
add = -300
}
else_if = { # Slight boost, so players can't exploit landing lots of characters to bump catalyst progress
limit = {
any_character_struggle = {
phase_has_catalyst = catalyst_convert_local_culture_faith
}
}
add = 20
}
}
}
modifier = { # If you're the same culture as your liege, and your Capital is in a Duchy with your culture in it, never convert
factor = 0
top_liege != this
exists = liege
culture = liege.culture
capital_province.duchy = {
any_in_de_jure_hierarchy = {
tier = tier_county
any_county_province = {
culture = root.culture
}
}
}
}
modifier = { # If your capital borders a province with the correct culture, do not convert
factor = 0
top_liege != this
exists = liege
culture = liege.culture
capital_province.county = {
any_neighboring_county = {
any_county_province = {
culture = root.culture
}
}
}
}
modifier = { # If your liege is your parent, do not convert
factor = 0
top_liege != this
exists = liege
culture = liege.culture
OR = {
liege = root.mother
liege = root.father
}
}
# Some cultures should not assimilate to certain others
modifier = {
factor = 0
has_culture = culture:andalusian
capital_province = {
culture = { has_cultural_pillar = heritage_iberian }
}
NOT = {
capital_province = {
culture = {
is_hybrid_culture = yes
any_parent_culture_or_above = {
this = root.culture
}
}
}
}
}
modifier = {
factor = 0
culture = { has_cultural_pillar = heritage_iberian }
capital_province.culture = culture:andalusian
}
# Don't overwrite historically scripted developments
modifier = {
factor = 0
OR = {
has_culture = culture:norman
has_culture = culture:english
}
capital_province.culture = culture:anglo_saxon
}
modifier = {
factor = 0
has_culture = culture:turkish
capital_province = {
culture = {
OR = {
has_cultural_pillar = heritage_byzantine
has_cultural_pillar = heritage_caucasian
}
}
}
NOT = {
capital_province = {
culture = {
is_hybrid_culture = yes
any_parent_culture_or_above = {
this = root.culture
}
}
}
}
}
modifier = {
factor = 0
has_culture = culture:turkish
primary_title.tier >= tier_empire
}
modifier = {
factor = 0
OR = {
has_title = title:k_jerusalem
has_title = title:e_outremer
any_liege_or_above = {
OR = {
has_title = title:k_jerusalem
has_title = title:e_outremer
}
}
}
NOR = {
capital_province = { # Convert to Hybrids of your culture in the Holy Land
culture = {
is_hybrid_culture = yes
any_parent_culture_or_above = {
this = root.culture
}
}
}
AND = {
top_liege != this
exists = liege
capital_province.culture = liege.culture
}
}
}
modifier = {
factor = 0
has_title = title:e_latin_empire
NOT = {
capital_province = {
culture = {
is_hybrid_culture = yes
any_parent_culture_or_above = {
this = root.culture
}
}
}
}
}
# Scots needs a bit of help to dominate as it did historically
modifier = {
factor = 0
has_culture = culture:scottish
capital_province.culture = culture:gaelic
}
# Pictish should usually disappear
modifier = {
factor = 0
has_culture = culture:gaelic
capital_province.culture = culture:pictish
}
# Don't go back on a previous conversion
modifier = {
factor = 0
has_character_flag = converted_culture_this_lifetime
}
#Some traditions reeeallly don't like doing this
modifier = {
factor = 0.1
culture = {
OR = {
has_cultural_parameter = less_likely_to_culture_convert
has_cultural_parameter = expensive_convert_to_local_culture
}
}
}
}
}
### Have the Realm Embrace Local Traditions ###
assimilate_local_traditions_decision = {
picture = {
reference = "gfx/interface/illustrations/decisions/fp1_decision_raise_runestone.dds"
}
sort_order = 75
desc = assimilate_local_traditions_decision_desc
selection_tooltip = assimilate_local_traditions_decision_tooltip
is_shown = {
culture = culture:norse
is_landed = yes
primary_title.tier > tier_barony
culture != capital_province.culture
NAND = {
is_ai = yes
OR = {
has_character_flag = converted_culture_this_lifetime
has_character_flag = converted_culture_this_lifetime_ai
}
}
}
is_valid_showing_failures_only = {
top_liege = this
is_physically_able_adult = yes
is_at_war = no
custom_description = {
text = can_only_change_culture_once
NOT = { has_character_flag = converted_culture_this_lifetime }
}
capital_province = {
NOT = {
geographical_region = world_europe_north
}
}
}
cost = {
prestige = {
value = 300
if = {
limit = {
is_ai = yes
capital_province = {
geographical_region = world_europe_east
}
}
multiply = 0
}
# Account for struggle phase.
if = {
limit = { is_struggle_parameter_active_cheaper_to_convert_to_struggle_culture_trigger = yes }
multiply = 0.25
}
# Make sure it's never dumb numbers.
min = 25
}
}
effect = {
norse_assimilate_local_traditions_effect = {
CONVERTER = root
OLD_CULTURE = root.culture
OLD_FAITH = root.faith
NEW_CULTURE = capital_province.culture
NEW_FAITH = capital_province.faith
}
}
ai_check_interval_by_tier = {
barony = 0
county = 60
duchy = 60
kingdom = 60
empire = 60
hegemony = 60
}
ai_potential = {
culture = culture:norse
is_playable_character = yes
culture != capital_province.culture
}
ai_will_do = {
base = 100
# Don't do it too early
modifier = {
factor = 0
NOT = {
primary_title.title_held_years > 30
}
}
# Don't do it if you're zealous
modifier = {
factor = 0
has_trait = zealous
capital_province.faith != root.faith
}
# Historical Exceptions
modifier = {
add = 100
capital_province = {
geographical_region = world_europe_east
}
}
}
}

View file

@ -3768,7 +3768,7 @@ go_fishing_decision = {
is_shown = {
#DLC check.
has_ep3_dlc_trigger = yes
has_government = landless_adventurer_government
OR = { has_government = landless_adventurer_government has_government = landless_minority_government }
}
is_valid_showing_failures_only = {

File diff suppressed because it is too large Load diff

View file

@ -43,7 +43,7 @@ NSetup = {
# chance that a courtless character is sent to a court as a guest instead of a regular courtier on game start (0..1)
COURTLESS_CHARACTER_GUEST_CHANCE = 0
# Random range for number of characters per pool (duchy) generated at the start of the game
GENERATED_POOL_CHARACTERS = { 2 6 }
GENERATED_POOL_CHARACTERS = { 2 9 }
# Templates used for the pool character. The weights correspond to the template names at the same index.
# The scope of the template is a random ruler whose capital is in that pool.
GENERATED_POOL_CHARACTER_TEMPLATES = {
@ -549,6 +549,7 @@ NGovernment = {
"holy_order_government"
"administrative_government"
"landless_adventurer_government"
"landless_minority_government"
"nomad_government"
"herder_government"
"celestial_government"

View file

@ -4469,7 +4469,7 @@ proving_grounds_01 = {
}
proving_grounds_02 = {
construction_time = @camp_building_main_slot_construction_duration_t2
allowed_domicile_types = { camp }
allowed_domicile_types = { camp}
previous_building = proving_grounds_01
internal_slots = 2
@ -4518,7 +4518,7 @@ proving_grounds_02 = {
}
proving_grounds_03 = {
construction_time = @camp_building_main_slot_construction_duration_t3
allowed_domicile_types = { camp }
allowed_domicile_types = { camp}
previous_building = proving_grounds_02
internal_slots = 3
@ -4567,7 +4567,7 @@ proving_grounds_03 = {
}
proving_grounds_04 = {
construction_time = @camp_building_main_slot_construction_duration_t4
allowed_domicile_types = { camp }
allowed_domicile_types = { camp}
previous_building = proving_grounds_03
internal_slots = 4
@ -4619,7 +4619,7 @@ proving_grounds_04 = {
}
proving_grounds_05 = {
construction_time = @camp_building_main_slot_construction_duration_t5
allowed_domicile_types = { camp }
allowed_domicile_types = { camp}
previous_building = proving_grounds_04
internal_slots = 5
@ -4670,7 +4670,7 @@ proving_grounds_05 = {
}
proving_grounds_06 = {
construction_time = @camp_building_main_slot_construction_duration_t6
allowed_domicile_types = { camp }
allowed_domicile_types = { camp}
previous_building = proving_grounds_05
internal_slots = 6
@ -4725,7 +4725,7 @@ proving_grounds_06 = {
proving_grounds_horse_run = { # Horse Run
slot_type = internal
construction_time = @camp_building_internal_slot_construction_duration_t2
allowed_domicile_types = { camp }
allowed_domicile_types = { camp}
previous_building = proving_grounds_01
cost = { gold = proving_grounds_horse_run_domicile_building_gold_cost_value }
@ -4790,7 +4790,7 @@ proving_grounds_horse_run = { # Horse Run
proving_grounds_camel_run = { # Camel Run
slot_type = internal
construction_time = @camp_building_internal_slot_construction_duration_t2
allowed_domicile_types = { camp }
allowed_domicile_types = { camp}
previous_building = proving_grounds_01
cost = { gold = proving_grounds_camel_run_domicile_building_gold_cost_value }
@ -4859,7 +4859,7 @@ proving_grounds_camel_run = { # Camel Run
proving_grounds_elephantry_reserve = { # Elephantry Reserve
slot_type = internal
construction_time = @camp_building_internal_slot_construction_duration_t3
allowed_domicile_types = { camp }
allowed_domicile_types = { camp}
previous_building = proving_grounds_01
cost = { gold = proving_grounds_elephantry_reserve_domicile_building_gold_cost_value }
@ -4922,7 +4922,7 @@ proving_grounds_elephantry_reserve = { # Elephantry Reserve
proving_grounds_nightly_barding_drills = { # Nightly Barding Drills
slot_type = internal
construction_time = @camp_building_internal_slot_construction_duration_t3
allowed_domicile_types = { camp }
allowed_domicile_types = { camp}
previous_building = proving_grounds_01
cost = { gold = proving_grounds_nightly_barding_drills_domicile_building_gold_cost_value }
@ -4987,7 +4987,7 @@ proving_grounds_nightly_barding_drills = { # Nightly Barding Drills
proving_grounds_life_in_the_saddle = { # Life in the Saddle
slot_type = internal
construction_time = @camp_building_internal_slot_construction_duration_t3
allowed_domicile_types = { camp }
allowed_domicile_types = { camp}
previous_building = proving_grounds_01
cost = { gold = proving_grounds_life_in_the_saddle_domicile_building_gold_cost_value }
@ -5065,7 +5065,7 @@ proving_grounds_life_in_the_saddle = { # Life in the Saddle
proving_grounds_the_stump = { # The Stump
slot_type = internal
construction_time = @camp_building_internal_slot_construction_duration_t3
allowed_domicile_types = { camp }
allowed_domicile_types = { camp}
previous_building = proving_grounds_01
cost = { gold = proving_grounds_the_stump_domicile_building_gold_cost_value }
@ -5130,7 +5130,7 @@ proving_grounds_the_stump = { # The Stump
proving_grounds_personal_bouts = { # Personal Bouts
slot_type = internal
construction_time = @camp_building_internal_slot_construction_duration_t3
allowed_domicile_types = { camp }
allowed_domicile_types = { camp}
previous_building = proving_grounds_01
cost = { gold = proving_grounds_personal_bouts_domicile_building_gold_cost_value }
@ -5196,7 +5196,7 @@ proving_grounds_personal_bouts = { # Personal Bouts
proving_grounds_training_circle = { # Training Circle
slot_type = internal
construction_time = @camp_building_internal_slot_construction_duration_t3
allowed_domicile_types = { camp }
allowed_domicile_types = { camp}
previous_building = proving_grounds_01
cost = { gold = proving_grounds_training_circle_domicile_building_gold_cost_value }
@ -5262,7 +5262,7 @@ proving_grounds_training_circle = { # Training Circle
proving_grounds_mock_battle_drills = { # Mock Battle Drills
slot_type = internal
construction_time = @camp_building_internal_slot_construction_duration_t3
allowed_domicile_types = { camp }
allowed_domicile_types = { camp}
previous_building = proving_grounds_01
cost = { gold = proving_grounds_mock_battle_drills_domicile_building_gold_cost_value }
@ -5327,7 +5327,7 @@ proving_grounds_mock_battle_drills = { # Mock Battle Drills
proving_grounds_lockwagon = { # Lockwagon
slot_type = internal
construction_time = @camp_building_internal_slot_construction_duration_t2
allowed_domicile_types = { camp }
allowed_domicile_types = { camp}
previous_building = proving_grounds_01
cost = { gold = proving_grounds_lockwagon_domicile_building_gold_cost_value }
@ -5392,7 +5392,7 @@ proving_grounds_lockwagon = { # Lockwagon
proving_grounds_martial_study = { # Martial Study
slot_type = internal
construction_time = @camp_building_internal_slot_construction_duration_t3
allowed_domicile_types = { camp }
allowed_domicile_types = { camp}
previous_building = proving_grounds_01
cost = { gold = proving_grounds_martial_study_domicile_building_gold_cost_value }
@ -5454,7 +5454,7 @@ proving_grounds_martial_study = { # Martial Study
proving_grounds_the_stick_game = { # The Stick Game
slot_type = internal
construction_time = @camp_building_internal_slot_construction_duration_t1
allowed_domicile_types = { camp }
allowed_domicile_types = { camp}
previous_building = proving_grounds_01
cost = { gold = proving_grounds_the_stick_game_domicile_building_gold_cost_value }
@ -5514,7 +5514,7 @@ proving_grounds_the_stick_game = { # The Stick Game
proving_grounds_bodyguard_drills = { # Bodyguard Drills
slot_type = internal
construction_time = @camp_building_internal_slot_construction_duration_t3
allowed_domicile_types = { camp }
allowed_domicile_types = { camp}
previous_building = proving_grounds_01
cost = { gold = proving_grounds_bodyguard_drills_domicile_building_gold_cost_value }

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -27,6 +27,10 @@ belpois_dynasty = {
culture = bourguignon
}
kohn_dynasty = {
name = dynn_britannia_kohn
culture = ashkenazi
}
giry_dynasty = {
name = dynn_giry
culture = bourguignon

View file

@ -500,6 +500,12 @@ duchy_landless_adventurer_camp = {
governments = { landless_adventurer_government }
}
duchy_landless_minority_community = {
type = title
tier = duchy
priority = 30
governments = { landless_minority_government }
}
### Devaraja ###
#devaraja = {
# type = character

View file

@ -10262,6 +10262,52 @@ emperor_administrative_female_brit = {
# name_lists = { name_list_roman }
#}
### LANDLESS ADVENTURERS
duke_landless_minority_community_male_minority_community = {
type = character
gender = male
special = holder
tier = duchy
domicile_type = minority_community
priority = 25
governments = { landless_minority_government }
flavourization_rules = {
spouse_takes_title = no
}
}
duke_landless_minority_community_female_minority_community = {
type = character
gender = female
special = holder
tier = duchy
domicile_type = minority_community
priority = 25
governments = { landless_minority_government }
flavourization_rules = {
spouse_takes_title = no
}
}
spouse_landless_minority_community_male = {
type = character
gender = male
special = domicile
domicile_type = minority_community
priority = 25
governments = { landless_minority_government }
}
spouse_landless_minority_community_holder_female = {
type = character
gender = female
special = domicile
domicile_type = minority_community
priority = 25
governments = { landless_minority_government }
}
duke_landless_adventurer_male_camp = {
type = character
gender = male

View file

@ -19,3 +19,13 @@ domicile_estate = {
top_liege = no
}
}
domicile_minority_community = {
type = domicile
domicile_type = minority_community
priority = 26
governments = { landless_minority_government }
flavourization_rules = {
top_liege = no
}
}

File diff suppressed because it is too large Load diff

View file

@ -11,4 +11,18 @@ airship = {
}
chemical_weapons = {
texture = "gfx/interface/icons/regimenttypes/chemical_weapons.dds"
}
minority_community_building = {
texture = "gfx/interface/icons/government_types/landless_minority_government.dds"
alias = { minority_community_buildings minority_community_building }
parent = domicile_building
}
minority_community = {
texture = "gfx/interface/icons/government_types/landless_minority_government.dds"
alias = { minority_communities minority_community_i }
parent = domicile
}
minority_government = {
texture = "gfx/interface/icons/government_types/landless_minority_government.dds"
parent = domicile
}

View file

@ -6,7 +6,7 @@ feudal_government = {
government_rules = {
create_cadet_branches = yes
rulers_should_have_dynasty = yes
dynasty_named_realms = yes
dynasty_named_realms = no
legitimacy = yes
}
@ -121,7 +121,7 @@ clan_government = {
create_cadet_branches = yes
rulers_should_have_dynasty = yes
legitimacy = yes
dynasty_named_realms = yes
dynasty_named_realms = no
always_use_patronym = yes
}
@ -543,6 +543,70 @@ landless_adventurer_government = {
realm_mask_scale = { 1 1 }
}
landless_minority_government = {
government_rules = {
create_cadet_branches = yes
court_generate_spouses = yes
council = yes
always_use_patronym = yes
create_cadet_branches = yes
rulers_should_have_dynasty = yes
landless_playable = yes
use_title_tier_modifiers = no
mercenary = yes
allow_out_of_realm_inheritance = yes
use_as_base_on_landed = yes
regiments_use_barter_goods_as_gold = yes
barter = yes
}
domicile_type = minority_community
court_generate_commanders = yes
can_get_government = {
any_held_title = {
title_tier = duchy
is_landless_type_title = yes
}
culture = {
has_cultural_tradition = tradition_diasporic
}
}
valid_holdings = { tribal_holding church_holding castle_holding city_holding temple_citadel_holding }
character_modifier = {
active_accolades = -100
knight_limit = 2
character_travel_speed = 20
siege_weapon_siege_value_mult = -0.5
mercenary_hire_cost_mult = 1
short_reign_duration_mult = -5
long_reign_bonus_mult = -1
domicile_travel_speed = -0.75
monthly_wanderer_lifestyle_xp_gain_mult = 0.15
}
ai = {
use_goals = yes
use_scripted_guis = no
perform_religious_reformation = yes
use_legends = yes
}
# Use flags instead of has_government for moddability if possible (i.e., wherever not visible to the player).
flags = {
government_is_barterer
landless_can_be_vassalised
government_is_landless_minority
government_devassalises
}
mechanic_type = landless_adventurer
color = hsv{ 0.00 0.00 0.90 }
realm_mask_offset = { 0.0 0.0 }
realm_mask_scale = { 1 1 }
}
### Brief: nomad_government
# Default nomad government, used for the Steppe Region
#

View file

@ -15,6 +15,20 @@ d_laamp_zolt = {
ai_primary_priority = { add = @never_primary_score }
}
d_laamp_test_jewish = {
color = { 100 100 100 }
capital = c_london
definite_form = yes
landless = yes
ruler_uses_title_name = no
always_follows_primary_heir = yes
no_automatic_claims = yes
noble_family = yes
destroy_if_invalid_heir = yes
ai_primary_priority = { add = @never_primary_score }
}
d_laamp_bookwyrm = {
color = { 100 100 100 }
capital = c_guines

File diff suppressed because it is too large Load diff

View file

@ -389,19 +389,24 @@ NEOW_militia = {
camel_cavalry = 1
}
can_recruit = {
militia_raise_limit_existing_militia_units < militia_raise_limit_existing_militia_buildings
OR = {
has_trait = education_martial_1
has_trait = education_martial_2
has_trait = education_martial_3
has_trait = education_martial_4
has_trait = education_martial_5
has_trait = peasant_leader
has_trait = heresiarch
has_trait = populist_leader
has_lifestyle = martial_lifestyle
has_martial_lifestyle_trait_trigger = yes
cp:councillor_marshal = { martial = 13 }
AND = {
militia_raise_limit_existing_militia_units < militia_raise_limit_existing_militia_buildings
OR = {
has_trait = education_martial_1
has_trait = education_martial_2
has_trait = education_martial_3
has_trait = education_martial_4
has_trait = education_martial_5
has_trait = peasant_leader
has_trait = heresiarch
has_trait = populist_leader
has_lifestyle = martial_lifestyle
has_martial_lifestyle_trait_trigger = yes
cp:councillor_marshal = { martial = 13 }
}
}
can_recruit_militia = yes
}
}
@ -614,10 +619,10 @@ toxic_gas_slingers = {
airships = {
type = airship
damage = 300
damage = 250
toughness = 100
pursuit = 0
screen = 300
screen = 250
siege_value = 0.5

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -755,6 +755,138 @@ yearly_global_pulse = {
# Root is the character
yearly_playable_pulse = {
effect = {
if = {
limit = {
government = landless_minority_government
domicile ?= {
OR = {
has_domicile_building_or_higher = village_rice_field_05
has_domicile_building_or_higher = village_grain_fields_05
}
}
}
domicile ?= {
change_provisions = {
value = 600
}
}
}
else_if = {
limit = {
government = landless_minority_government
domicile ?= {
OR = {
has_domicile_building_or_higher = village_rice_field_03
has_domicile_building_or_higher = village_grain_fields_03
}
}
}
domicile ?= {
change_provisions = {
value = 400
}
}
}
else_if = {
limit = {
government = landless_minority_government
domicile ?= {
OR = {
has_domicile_building_or_higher = village_rice_field_01
has_domicile_building_or_higher = village_grain_fields_01
}
}
}
domicile ?= {
change_provisions = {
value = 200
}
}
}
else = {
}
if = {
limit = {
government = landless_minority_government
domicile ?= {
has_domicile_building_or_higher = village_grazing_land_05
}
}
domicile ?= {
change_provisions = {
value = 600
}
}
}
else_if = {
limit = {
government = landless_minority_government
domicile ?= {
has_domicile_building_or_higher = village_grazing_land_03
}
}
domicile ?= {
change_provisions = {
value = 400
}
}
}
else_if = {
limit = {
government = landless_minority_government
domicile ?= {
has_domicile_building_or_higher = village_grazing_land_01
}
}
domicile ?= {
change_provisions = {
value = 200
}
}
}
else = {
}
if = {
limit = {
government = landless_minority_government
domicile ?= {
has_domicile_building_or_higher = communal_gardens_fruit_05
}
}
domicile ?= {
change_provisions = {
value = 600
}
}
}
else_if = {
limit = {
government = landless_minority_government
domicile ?= {
has_domicile_building_or_higher = communal_gardens_03
}
}
domicile ?= {
change_provisions = {
value = 400
}
}
}
else_if = {
limit = {
government = landless_minority_government
domicile ?= {
has_domicile_building_or_higher = communal_gardens_01
}
}
domicile ?= {
change_provisions = {
value = 200
}
}
}
else = {
}
ai_budget_manipulation_effect = yes
#Mandala

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,934 @@
###TRIGGER LIST
#has_contagious_deadly_disease_trigger
#is_healthy
#is_available
#is_available_ai
#is_available_adult
#is_available_healthy_adult
#is_available_ai_adult
#is_available_healthy_ai_adult
#is_capable_adult
#is_capable_adult_ai
#liege_is_boss_trigger
#can_select_lifestyle_focus
#can_marry
#can_become_concubine
has_contagious_deadly_disease_trigger = {
has_trait_with_flag = contagious_deadly_disease
}
is_healthy = {
custom_tooltip = {
text = not_poor_health_tt
health >= fine_health
}
NOT = {
has_trait_with_flag = is_healthy_trigger_flag
}
has_contagious_deadly_disease_trigger = no
}
basic_is_available_ai = {
is_available_quick = {
ai = yes
alive = yes
imprisoned = no
incapable = no
}
has_contagious_deadly_disease_trigger = no
}
is_available_allow_travelling = {
is_available_quick = {
alive = yes
imprisoned = no
incapable = no
in_army = no
}
has_contagious_deadly_disease_trigger = no
custom_description = {
text = ALREADY_IN_ACTIVITY
NOR = {
exists = involved_activity
has_variable = {
name = homage_liege_scope
name = meditation_character_flag
name = local_shrine_rite
name = petition_liege_character_flag
name = holding_court_character_flag
}
is_being_visited_on_tour_strict = yes
}
}
custom_description = {
text = ALREADY_PLANNING_ACTIVITY
NOT = { has_character_flag = planning_an_activity }
}
# Variable set within the adventure inspiration events
NOT = { has_variable = gone_adventuring }
# Variable set on Mandala succession
custom_tooltip = {
text = busy_in_mandala_succession
NOT = { has_variable = busy_in_mandala_succession }
}
}
# If you update one of the available triggers, update all of them. It's a lot better for performance to not have scripted triggers within scripted triggers when they're checked as often as these ones are.
is_available = {
is_available_quick = {
alive = yes
travel = no
in_army = no
imprisoned = no
incapable = no
}
has_contagious_deadly_disease_trigger = no
custom_description = {
text = ALREADY_IN_ACTIVITY
NOR = {
exists = involved_activity
has_variable = {
name = homage_liege_scope
name = meditation_character_flag
name = local_shrine_rite
name = petition_liege_character_flag
name = holding_court_character_flag
}
is_being_visited_on_tour_strict = yes
}
}
custom_description = {
text = ALREADY_PLANNING_ACTIVITY
NOT = { has_character_flag = planning_an_activity }
}
# Variable set within the adventure inspiration events
NOT = { has_variable = gone_adventuring }
# Variable set on Mandala succession
custom_tooltip = {
text = busy_in_mandala_succession
NOT = { has_variable = busy_in_mandala_succession }
}
}
# If you update one of the available triggers, update all of them. It's a lot better for performance to not have scripted triggers within scripted triggers when they're checked as often as these ones are.
is_available_travelling = {
is_available_quick = {
alive = yes
in_army = no
imprisoned = no
incapable = no
travel = yes
}
has_contagious_deadly_disease_trigger = no
NOR = {
has_character_flag = is_in_task_contract_event_chain
has_variable = gone_adventuring
}
}
# If you update one of the available triggers, update all of them. It's a lot better for performance to not have scripted triggers within scripted triggers when they're checked as often as these ones are.
is_available_travelling_adult = {
is_available_quick = {
travel = yes
adult = yes
alive = yes
in_army = no
imprisoned = no
incapable = no
}
has_contagious_deadly_disease_trigger = no
NOR = {
has_character_flag = is_in_task_contract_event_chain
has_variable = gone_adventuring
}
}
# If you update one of the available triggers, update all of them. It's a lot better for performance to not have scripted triggers within scripted triggers when they're checked as often as these ones are.
is_available_travelling_ai_adult = {
is_available_quick = {
travel = yes
adult = yes
ai = yes
alive = yes
in_army = no
imprisoned = no
incapable = no
}
has_contagious_deadly_disease_trigger = no
NOR = {
has_character_flag = is_in_task_contract_event_chain
has_variable = gone_adventuring
}
}
# If you update one of the available triggers, update all of them. It's a lot better for performance to not have scripted triggers within scripted triggers when they're checked as often as these ones are.
is_physically_able = {
is_available_quick = {
alive = yes
imprisoned = no
incapable = no
}
}
# If you update one of the available triggers, update all of them. It's a lot better for performance to not have scripted triggers within scripted triggers when they're checked as often as these ones are.
is_physically_able_ai = {
is_available_quick = {
ai = yes
alive = yes
imprisoned = no
incapable = no
}
}
# If you update one of the available triggers, update all of them. It's a lot better for performance to not have scripted triggers within scripted triggers when they're checked as often as these ones are.
is_physically_able_adult = {
is_available_quick = {
adult = yes
alive = yes
imprisoned = no
incapable = no
}
}
# If you update one of the available triggers, update all of them. It's a lot better for performance to not have scripted triggers within scripted triggers when they're checked as often as these ones are.
is_physically_able_ai_adult = {
is_available_quick = {
ai = yes
adult = yes
alive = yes
imprisoned = no
incapable = no
}
}
# If you update one of the available triggers, update all of them. It's a lot better for performance to not have scripted triggers within scripted triggers when they're checked as often as these ones are.
is_available_ai = {
is_available_quick = {
ai = yes
alive = yes
travel = no
in_army = no
imprisoned = no
incapable = no
}
has_contagious_deadly_disease_trigger = no
custom_description = {
text = ALREADY_IN_ACTIVITY
NOR = {
exists = involved_activity
has_variable = {
name = homage_liege_scope
name = meditation_character_flag
name = local_shrine_rite
name = petition_liege_character_flag
name = holding_court_character_flag
}
is_being_visited_on_tour_strict = yes
}
}
custom_description = {
text = ALREADY_PLANNING_ACTIVITY
NOT = { has_character_flag = planning_an_activity }
}
# Variable set within the adventure inspiration events
NOT = { has_variable = gone_adventuring }
}
# If you update one of the available triggers, update all of them. It's a lot better for performance to not have scripted triggers within scripted triggers when they're checked as often as these ones are.
is_available_child = {
is_available_quick = {
adult = no
alive = yes
travel = no
in_army = no
imprisoned = no
incapable = no
}
has_contagious_deadly_disease_trigger = no
custom_description = {
text = ALREADY_IN_ACTIVITY
NOR = {
exists = involved_activity
has_variable = {
name = homage_liege_scope
name = meditation_character_flag
name = local_shrine_rite
name = petition_liege_character_flag
name = holding_court_character_flag
}
is_being_visited_on_tour_strict = yes
}
}
custom_description = {
text = ALREADY_PLANNING_ACTIVITY
NOT = { has_character_flag = planning_an_activity }
}
# Variable set within the adventure inspiration events
NOT = { has_variable = gone_adventuring }
}
# If you update one of the available triggers, update all of them. It's a lot better for performance to not have scripted triggers within scripted triggers when they're checked as often as these ones are.
is_available_child_allow_travel = {
is_available_quick = {
adult = no
alive = yes
in_army = no
imprisoned = no
incapable = no
}
has_contagious_deadly_disease_trigger = no
custom_description = {
text = ALREADY_IN_ACTIVITY
NOR = {
exists = involved_activity
has_variable = {
name = homage_liege_scope
name = meditation_character_flag
name = local_shrine_rite
name = petition_liege_character_flag
name = holding_court_character_flag
}
is_being_visited_on_tour_strict = yes
}
}
custom_description = {
text = ALREADY_PLANNING_ACTIVITY
NOT = { has_character_flag = planning_an_activity }
}
# Variable set within the adventure inspiration events
NOT = { has_variable = gone_adventuring }
}
# If you update one of the available triggers, update all of them. It's a lot better for performance to not have scripted triggers within scripted triggers when they're checked as often as these ones are.
is_available_ai_child = {
is_available_quick = {
adult = no
ai = yes
alive = yes
travel = no
in_army = no
imprisoned = no
incapable = no
}
has_contagious_deadly_disease_trigger = no
custom_description = {
text = ALREADY_IN_ACTIVITY
NOR = {
exists = involved_activity
has_variable = {
name = homage_liege_scope
name = meditation_character_flag
name = local_shrine_rite
name = petition_liege_character_flag
name = holding_court_character_flag
}
is_being_visited_on_tour_strict = yes
}
}
custom_description = {
text = ALREADY_PLANNING_ACTIVITY
NOT = { has_character_flag = planning_an_activity }
}
# Variable set within the adventure inspiration events
NOT = { has_variable = gone_adventuring }
}
# If you update one of the available triggers, update all of them. It's a lot better for performance to not have scripted triggers within scripted triggers when they're checked as often as these ones are.
is_available_healthy_child = {
is_available_quick = {
adult = no
alive = yes
travel = no
in_army = no
imprisoned = no
incapable = no
}
is_healthy = yes
custom_description = {
text = ALREADY_IN_ACTIVITY
NOR = {
exists = involved_activity
has_variable = {
name = homage_liege_scope
name = meditation_character_flag
name = local_shrine_rite
name = petition_liege_character_flag
name = holding_court_character_flag
}
is_being_visited_on_tour_strict = yes
}
}
custom_description = {
text = ALREADY_PLANNING_ACTIVITY
NOT = { has_character_flag = planning_an_activity }
}
# Variable set within the adventure inspiration events
NOT = { has_variable = gone_adventuring }
}
# If you update one of the available triggers, update all of them. It's a lot better for performance to not have scripted triggers within scripted triggers when they're checked as often as these ones are.
is_available_healthy_ai_child = {
is_available_quick = {
ai = yes
adult = no
alive = yes
travel = no
in_army = no
imprisoned = no
incapable = no
}
is_healthy = yes
custom_description = {
text = ALREADY_IN_ACTIVITY
NOR = {
exists = involved_activity
has_variable = {
name = homage_liege_scope
name = meditation_character_flag
name = local_shrine_rite
name = petition_liege_character_flag
name = holding_court_character_flag
}
is_being_visited_on_tour_strict = yes
}
}
custom_description = {
text = ALREADY_PLANNING_ACTIVITY
NOT = { has_character_flag = planning_an_activity }
}
# Variable set within the adventure inspiration events
NOT = { has_variable = gone_adventuring }
}
# If you update one of the available triggers, update all of them. It's a lot better for performance to not have scripted triggers within scripted triggers when they're checked as often as these ones are.
is_available_adult = {
is_available_quick = {
adult = yes
alive = yes
travel = no
in_army = no
imprisoned = no
incapable = no
}
has_contagious_deadly_disease_trigger = no
custom_description = {
text = ALREADY_IN_ACTIVITY
NOR = {
exists = involved_activity
has_variable = {
name = homage_liege_scope
name = meditation_character_flag
name = local_shrine_rite
name = petition_liege_character_flag
name = holding_court_character_flag
}
is_being_visited_on_tour_strict = yes
}
}
custom_description = {
text = ALREADY_PLANNING_ACTIVITY
NOT = { has_character_flag = planning_an_activity }
}
# Variable set within the adventure inspiration events
NOT = { has_variable = gone_adventuring }
}
# If you update one of the available triggers, update all of them. It's a lot better for performance to not have scripted triggers within scripted triggers when they're checked as often as these ones are.
is_available_ai_adult = {
is_available_quick = {
ai = yes
adult = yes
alive = yes
travel = no
in_army = no
imprisoned = no
incapable = no
}
has_contagious_deadly_disease_trigger = no
custom_description = {
text = ALREADY_IN_ACTIVITY
NOR = {
exists = involved_activity
has_variable = {
name = homage_liege_scope
name = meditation_character_flag
name = local_shrine_rite
name = petition_liege_character_flag
name = holding_court_character_flag
}
is_being_visited_on_tour_strict = yes
}
}
custom_description = {
text = ALREADY_PLANNING_ACTIVITY
NOT = { has_character_flag = planning_an_activity }
}
# Variable set within the adventure inspiration events
NOT = { has_variable = gone_adventuring }
}
# If you update one of the available triggers, update all of them. It's a lot better for performance to not have scripted triggers within scripted triggers when they're checked as often as these ones are.
is_available_healthy_adult = {
is_available_quick = {
adult = yes
alive = yes
travel = no
in_army = no
imprisoned = no
incapable = no
}
is_healthy = yes
custom_description = {
text = ALREADY_IN_ACTIVITY
NOR = {
exists = involved_activity
has_variable = {
name = homage_liege_scope
name = meditation_character_flag
name = local_shrine_rite
name = petition_liege_character_flag
name = holding_court_character_flag
}
is_being_visited_on_tour_strict = yes
}
}
custom_description = {
text = ALREADY_PLANNING_ACTIVITY
NOT = { has_character_flag = planning_an_activity }
}
# Variable set within the adventure inspiration events
NOT = { has_variable = gone_adventuring }
}
# If you update one of the available triggers, update all of them. It's a lot better for performance to not have scripted triggers within scripted triggers when they're checked as often as these ones are.
is_available_healthy_ai_adult = {
is_available_quick = {
ai = yes
adult = yes
alive = yes
travel = no
in_army = no
imprisoned = no
incapable = no
}
is_healthy = yes
custom_description = {
text = ALREADY_IN_ACTIVITY
NOR = {
exists = involved_activity
has_variable = {
name = homage_liege_scope
name = meditation_character_flag
name = local_shrine_rite
name = petition_liege_character_flag
name = holding_court_character_flag
}
is_being_visited_on_tour_strict = yes
}
}
custom_description = {
text = ALREADY_PLANNING_ACTIVITY
NOT = { has_character_flag = planning_an_activity }
}
# Variable set within the adventure inspiration events
NOT = { has_variable = gone_adventuring }
}
is_available_adult_or_is_commanding = {
OR = {
is_commanding_army = yes
is_available_adult = yes
}
}
# If you update one of the available triggers, update all of them. It's a lot better for performance to not have scripted triggers within scripted triggers when they're checked as often as these ones are.
is_available_at_peace = {
is_available_quick = {
at_war = no
alive = yes
travel = no
in_army = no
imprisoned = no
incapable = no
}
has_contagious_deadly_disease_trigger = no
custom_description = {
text = ALREADY_IN_ACTIVITY
NOR = {
exists = involved_activity
has_variable = {
name = homage_liege_scope
name = meditation_character_flag
name = local_shrine_rite
name = petition_liege_character_flag
name = holding_court_character_flag
}
is_being_visited_on_tour_strict = yes
}
}
custom_description = {
text = ALREADY_PLANNING_ACTIVITY
NOT = { has_character_flag = planning_an_activity }
}
# Variable set within the adventure inspiration events
NOT = { has_variable = gone_adventuring }
}
# If you update one of the available triggers, update all of them. It's a lot better for performance to not have scripted triggers within scripted triggers when they're checked as often as these ones are.
is_available_at_peace_adult = {
is_available_quick = {
at_war = no
adult = yes
alive = yes
travel = no
in_army = no
imprisoned = no
incapable = no
}
has_contagious_deadly_disease_trigger = no
custom_description = {
text = ALREADY_IN_ACTIVITY
NOR = {
exists = involved_activity
has_variable = {
name = homage_liege_scope
name = meditation_character_flag
name = local_shrine_rite
name = petition_liege_character_flag
name = holding_court_character_flag
}
is_being_visited_on_tour_strict = yes
}
}
custom_description = {
text = ALREADY_PLANNING_ACTIVITY
NOT = { has_character_flag = planning_an_activity }
}
# Variable set within the adventure inspiration events
NOT = { has_variable = gone_adventuring }
}
# If you update one of the available triggers, update all of them. It's a lot better for performance to not have scripted triggers within scripted triggers when they're checked as often as these ones are.
is_available_at_peace_ai_adult = {
is_available_quick = {
ai = yes
adult = yes
alive = yes
imprisoned = no
incapable = no
travel = no
in_army = no
at_war = no
}
has_contagious_deadly_disease_trigger = no
custom_description = {
text = ALREADY_IN_ACTIVITY
NOR = {
exists = involved_activity
has_variable = {
name = homage_liege_scope
name = meditation_character_flag
name = local_shrine_rite
name = petition_liege_character_flag
name = holding_court_character_flag
}
is_being_visited_on_tour_strict = yes
}
}
custom_description = {
text = ALREADY_PLANNING_ACTIVITY
NOT = { has_character_flag = planning_an_activity }
}
# Variable set within the adventure inspiration events
NOT = { has_variable = gone_adventuring }
}
# If you update one of the available triggers, update all of them. It's a lot better for performance to not have scripted triggers within scripted triggers when they're checked as often as these ones are.
is_available_at_peace_adult_lenient = {
is_available_quick = {
adult = yes
alive = yes
travel = no
in_army = no
imprisoned = no
incapable = no
at_war = no
}
has_contagious_deadly_disease_trigger = no
custom_description = {
text = ALREADY_IN_ACTIVITY
NOR = {
exists = involved_activity
has_variable = {
name = homage_liege_scope
name = meditation_character_flag
name = local_shrine_rite
name = petition_liege_character_flag
name = holding_court_character_flag
}
is_being_visited_on_tour_strict = yes
}
}
custom_description = {
text = ALREADY_PLANNING_ACTIVITY
NOT = { has_character_flag = planning_an_activity }
}
# Variable set within the adventure inspiration events
NOT = { has_variable = gone_adventuring }
}
# If you update one of the available triggers, update all of them. It's a lot better for performance to not have scripted triggers within scripted triggers when they're checked as often as these ones are.
# Meaning you may be at war, but you're still located in your capital.
is_available_even_at_war_adult = {
is_available_quick = {
adult = yes
alive = yes
travel = no
in_army = no
imprisoned = no
incapable = no
}
has_contagious_deadly_disease_trigger = no
custom_description = {
text = ALREADY_IN_ACTIVITY
NOR = {
exists = involved_activity
has_variable = {
name = homage_liege_scope
name = meditation_character_flag
name = local_shrine_rite
name = petition_liege_character_flag
name = holding_court_character_flag
}
is_being_visited_on_tour_strict = yes
}
}
custom_description = {
text = ALREADY_PLANNING_ACTIVITY
NOT = { has_character_flag = planning_an_activity }
}
# Variable set within the adventure inspiration events
NOT = { has_variable = gone_adventuring }
}
is_capable_adult = {
is_available_quick = {
adult = yes
incapable = no
}
}
is_capable_adult_ai = {
is_available_quick = {
ai = yes
adult = yes
incapable = no
}
}
can_select_lifestyle_focus = {
is_capable_adult = yes
is_playable_character = yes
}
is_not_hostile_towards_root = {
NOR = {
is_a_faction_member = yes
any_scheme = {
hostile_scheme_trigger = yes
scheme_target_character = root
}
is_at_war_with = root
}
}
player_target_available_for_personal_scheme_ongoing_events_trigger = {
$TARGET$ = {
trigger_if = {
limit = {
is_ai = no
$OWNER$ = { is_ruler = no }
}
is_at_war = no
}
trigger_else = {
always = yes
}
}
}
basic_is_valid_for_yearly_events_trigger = {
is_playable_character = yes
is_available_quick = {
imprisoned = no
incapable = no
}
OR = {
is_travelling = no
has_government = landless_adventurer_government
}
NOR = {
has_character_flag = is_in_task_contract_event_chain
exists = involved_activity
}
}
# If you update one of the available triggers, update all of them. It's a lot better for performance to not have scripted triggers within scripted triggers when they're checked as often as these ones are.
is_valid_for_narrow_yearly_events = {
is_available_quick = {
at_war = no
imprisoned = no
incapable = no
}
is_commanding_army = no
is_playable_character = yes
OR = {
is_travelling = no
has_government = landless_adventurer_government
}
NOR = {
has_character_flag = is_in_task_contract_event_chain
exists = involved_activity
}
}
# If you update one of the available triggers, update all of them. It's a lot better for performance to not have scripted triggers within scripted triggers when they're checked as often as these ones are.
is_valid_for_narrow_yearly_events_adult = {
is_available_quick = {
adult = yes
at_war = no
imprisoned = no
incapable = no
}
is_commanding_army = no
is_playable_character = yes
OR = {
is_travelling = no
has_government = landless_adventurer_government
}
NOR = {
has_character_flag = is_in_task_contract_event_chain
exists = involved_activity
}
}
is_within_diplo_range = {
capital_province ?= {
save_temporary_scope_as = my_capital
$CHARACTER$.capital_province ?= {
squared_distance = {
target = scope:my_capital
value < 200000
}
}
}
}
# This trigger checks if a character is a Nomad
is_nomad = {
government_has_flag = government_is_nomadic
is_ruler = yes
}
# This trigger checks if a character is a landed Nomad
is_landed_nomad = {
government_has_flag = government_is_nomadic
is_available_quick = {
ruler = yes
landed = yes
}
}
# Checks if a character is a landless nomad with a domicile
is_landless_nomad = {
government_has_flag = government_is_nomadic
is_landed = no
has_domicile = yes
}
# This trigger checks if a character is a landless adventurer
is_landless_adventurer = {
OR = {
government_has_flag = government_is_landless_adventurer
government_has_flag = government_is_landless_minority
}
}
# This trigger checks if a character is a governor in an admin realm (implying they are landed)
is_governor = {
government_allows = administrative
is_landed = yes
top_liege != this
OR = {
highest_held_title_tier >= main_administrative_tier
highest_held_title_tier >= min_title_maa_tier
}
tgp_is_ceremonial_liege_trigger = no
}
is_governor_or_admin_count = {
government_allows = administrative
is_landed = yes
top_liege != this
highest_held_title_tier >= tier_county
tgp_is_ceremonial_liege_trigger = no
}
# Checks if a character is a landless house_head within an admin realm
is_landless_administrative = {
government_allows = administrative
is_landed = no
is_house_head = yes
has_domicile = yes
}
# Checks if a character is a landless house_head within a feudal realm
is_landless_soryo = {
government_has_flag = government_is_japan_feudal
is_landed = no
is_house_head = yes
has_domicile = yes
}
# Checks if a character is either landed or an unlanded house head within an admin realm
is_landed_or_landless_administrative = {
OR = {
is_landed = yes
is_landless_administrative = yes
}
}
# Checks if a character is either landed, a landless house head within an admin realm, a landless nomad, a landless adventurer, a landless soryo, or a minister
is_playable_character = {
OR = {
is_landed = yes
is_landless_administrative = yes
is_landless_adventurer = yes
is_landless_nomad = yes
is_landless_soryo = yes
tgp_is_any_minister = yes # To keep ministers playable, regardless of having a nobel family title or not
}
}
roman_restoration_is_valid_roman_empire_trigger = {
is_ai = no
is_roman_emperor_trigger = yes
OR = {
religion = religion:christianity_religion #Either Christian
religion = religion:hellenism_religion #Or Hellenic
}
NOT = { has_ep3_dlc_trigger = yes }
}
is_eunuch_trigger = {
OR = {
has_trait = eunuch_1
has_trait = beardless_eunuch
}
}

View file

@ -267,17 +267,8 @@ building_paddy_fields_requirement_terrain = {
text = building_paddy_fields_requirement_terrain_tt
OR = {
terrain = terraced_hills
AND = {
terrain = floodplains
OR = {
geographical_region = graphical_east_asia
geographical_region = custom_viet_lands
}
}
AND = {
terrain = wetlands
county.culture = { has_cultural_parameter = champa_rice_wet_land_paddies }
}
terrain = floodplains
terrain = wetlands
AND = {
OR = {
terrain = hills
@ -289,6 +280,20 @@ building_paddy_fields_requirement_terrain = {
}
}
building_potato_fields_requirement_terrain = {
custom_tooltip = {
text = building_potato_fields_requirement_terrain_tt
OR = {
terrain = farmlands
terrain = hills
terrain = tells
terrain = plains
terrain = steppe
terrain = mountains
}
}
}
building_cereal_fields_requirement_terrain = {
OR = {
terrain = farmlands

View file

@ -126,6 +126,20 @@ portrait_wear_armor_trigger = {
limit = { portrait_sickness_trigger = yes }
is_in_army = yes
}
trigger_if = {
limit = { government_allows = barter }
OR = {
is_at_war = yes
involved_activity = { has_activity_type = activity_tournament }
# Serving Varangian
has_character_flag = is_currently_varangian
# In a Duel
has_character_flag = single_combat_duel_armor
has_character_flag = forced_knight_armor
# In a Tournament
activity_tournament_armor_trigger = yes
}
}
OR = {
# Mercenaries, Holy Orders, Adventurers
AND = {

View file

@ -15,7 +15,7 @@ maa_regiments_valid_for_cheap_reinforcement_trigger = {
}
maa_regiments_cost_more_to_reinforce_per_soldier_trigger = {
regiment_owner = { government_has_flag = government_is_landless_adventurer }
regiment_owner = { OR = { government_has_flag = government_is_landless_adventurer government_has_flag = government_is_landless_minority } }
OR = {
is_unit_type = elephant_cavalry
is_unit_type = siege_weapon
@ -26,7 +26,7 @@ maa_regiments_valid_to_refill_trigger = {
maa_current_troops_count < maa_max_troops_count
trigger_if = {
limit = {
scope:actor = { government_has_flag = government_is_landless_adventurer }
scope:actor = { OR = { government_has_flag = government_is_landless_adventurer government_has_flag = government_is_landless_minority } }
is_unit_type = elephant_cavalry
}
scope:actor.domicile ?= { has_domicile_parameter = camp_reinforce_elephant_regiments_anywhere }
@ -193,11 +193,6 @@ is_valid_for_laampdom = {
ai_boldness >= low_negative_ai_value
ai_energy >= low_negative_ai_value
}
NOR = {
has_trait = content # Too chill to adventure
has_trait = craven # Too scared to adventure
has_trait = lazy # Too lazy to adventure
}
# Block admin members of noble families
NOT = {
house ?= {
@ -405,7 +400,7 @@ valid_laamp_basic_trigger = {
$EMPLOYER$ = {
OR = {
employer = $LAAMP$
NOT = { government_has_flag = government_is_landless_adventurer }
NOT = { OR = { government_has_flag = government_is_landless_adventurer government_has_flag = government_is_landless_minority } }
}
}
# Don't offer to work with those who've wronged us.
@ -435,7 +430,7 @@ valid_laamp_basic_trigger = {
}
}
}
$LAAMP$ = { government_has_flag = government_is_landless_adventurer }
$LAAMP$ = { OR = { government_has_flag = government_is_landless_adventurer government_has_flag = government_is_landless_minority } }
$LAAMP$ = {
trigger_if = {
limit = { is_at_war = no }

View file

@ -0,0 +1,511 @@

character_gender_can_rule_title_trigger = {
trigger_if = {
limit = {
$GENDER$ = { is_male = yes }
exists = $TITLE$
$TITLE$ = {
NOT = {
has_title_law = female_only_law
}
}
}
always = yes
}
trigger_else_if = {
limit = {
$GENDER$ = { is_female = yes }
exists = $TITLE$
$TITLE$ = {
NOT = {
has_title_law = male_only_law
}
}
}
always = yes
}
trigger_else = {
always = no
}
}
character_gender_can_inherit_from_trigger = {
save_temporary_scope_as = heir
trigger_if = {
limit = {
$CHARACTER$ = { exists = primary_title }
}
$CHARACTER$ = {
character_gender_can_rule_title_trigger = {
GENDER = scope:heir
TITLE = primary_title
}
}
}
trigger_else = {
always = no
}
}
has_partition_succession_realm_law_trigger = {
OR = {
has_realm_law = confederate_partition_succession_law
has_realm_law = partition_succession_law
has_realm_law = high_partition_succession_law
has_realm_law = clan_antagonistic_partition_succession_law
has_realm_law = clan_competitive_partition_succession_law
has_realm_law = clan_impassive_partition_succession_law
has_realm_law = clan_friendly_partition_succession_law
has_realm_law = clan_harmonious_partition_succession_law
}
}
realm_law_use_crown_authority = {
government_has_flag = government_uses_crown_authority
}
realm_law_use_tribal_authority = {
government_has_flag = government_is_tribal
}
realm_law_use_camp_purpose = {
government_has_flag = government_is_landless_adventurer
}
realm_law_use_imperial_bureaucracy = {
government_allows = administrative
NOR = {
government_has_flag = government_is_celestial
government_has_flag = government_is_meritocratic
government_has_flag = government_is_steppe_admin
government_has_flag = government_is_japan_administrative
}
}
realm_law_use_nomadic_authority = {
government_has_flag = government_is_nomadic
}
realm_law_use_celestial_bureaucracy = {
government_has_flag = government_is_celestial
}
realm_law_is_mandala = {
government_has_flag = government_is_mandala
}
realm_law_use_meritocratic_bureaucracy = {
OR = {
government_has_flag = government_is_meritocratic
government_has_flag = government_is_steppe_admin
}
}
realm_uses_treasury_laws_trigger = {
government_allows = treasury
}
realm_law_use_japanese_bureaucracy = {
government_is_japanese_trigger = yes
}
can_have_confederate_partition_succession_law_trigger = {
OR = {
government_has_flag = government_is_feudal
government_has_flag = government_is_tribal
government_has_flag = government_is_minority
# TGP
AND = {
government_has_flag = government_is_japan_feudal
tgp_realm_has_ceremonial_liege_trigger = yes
is_independent_ruler = no
}
}
}
can_keep_partition_succession_law_trigger = {
# The 'can_keep' triggers are dependent on actually having the law. If they aren't, the trigger breakdown for the player breaks and shows incomplete information.
trigger_if = {
limit = {
has_realm_law = partition_succession_law
}
OR = {
can_have_partition_succession_law_trigger = yes
# Mongol Empires
has_title = title:e_mongol_empire
has_title = title:e_ilkhanate
has_title = title:e_golden_horde
has_title = title:e_chagatai
has_title = title:e_red_horde
has_title = title:e_white_horde
has_title = title:e_aarlud_khanate
has_title = title:e_togskol_khanate
has_title = title:e_baruun_khanate
has_title = title:e_great_yuan
has_title = title:e_blue_horde
has_title = title:e_omnod_dalai_khanate
}
}
NOT = { government_has_flag = government_is_clan }
}
can_have_partition_succession_law_trigger = {
culture = {
has_innovation = innovation_hereditary_rule
}
custom_description = {
text = succession_laws_must_have_organised_government_tooltip
OR = {
government_has_flag = government_is_feudal
government_has_flag = government_is_clan
government_has_flag = government_is_japan_feudal
}
}
}
can_keep_high_partition_succession_law_trigger = {
# The 'can_keep' triggers are dependent on actually having the law. If they aren't, the trigger breakdown for the player breaks and shows incomplete information.
trigger_if = {
limit = {
has_realm_law = high_partition_succession_law
}
OR = {
can_have_high_partition_succession_law_trigger = yes
# Mongol Empires
has_title = title:e_mongol_empire
has_title = title:e_ilkhanate
has_title = title:e_golden_horde
has_title = title:e_chagatai
has_title = title:e_red_horde
has_title = title:e_white_horde
has_title = title:e_aarlud_khanate
has_title = title:e_togskol_khanate
has_title = title:e_baruun_khanate
has_title = title:e_great_yuan
has_title = title:e_blue_horde
has_title = title:e_omnod_dalai_khanate
}
}
NOT = { government_has_flag = government_is_clan}
}
can_have_high_partition_succession_law_trigger = {
trigger_if = {
limit = {
NOT = {
culture = { has_cultural_parameter = can_enact_high_partition_succession_law }
}
}
culture = { has_innovation = innovation_heraldry }
}
custom_description = {
text = succession_laws_must_have_organised_government_tooltip
OR = {
government_has_flag = government_is_feudal
government_has_flag = government_is_clan
government_has_flag = government_is_japan_feudal
}
}
}
can_keep_single_heir_succession_law_trigger = {
# The 'can_keep' triggers are dependent on actually having the law. If they aren't, the trigger breakdown for the player breaks and shows incomplete information.
trigger_if = {
limit = {
has_realm_law = single_heir_succession_law
}
OR = {
can_have_single_heir_succession_law_trigger = yes
# Byzantine Empire / Ceremonial Liege
historical_succession_access_single_heir_succession_law_trigger = yes
has_variable = purge_oath_previous_law # ACH Purge Pretenders Oath
}
}
}
can_have_single_heir_succession_law_trigger = {
trigger_if = { # Celestial/Meritocratic/Soryo
limit = {
OR = {
government_allows = merit
government_has_flag = government_is_japan_feudal
}
}
custom_tooltip = { # You are independent, have the innovation or are Ceremonial Monarch
text = can_have_single_heir_succession_law_trigger_merit_or_japan_tt
OR = {
is_independent_ruler = yes
culture = {
has_innovation = innovation_primogeniture
}
tgp_has_ceremonial_liege_title_trigger = yes
}
}
}
trigger_else_if = {
limit = { tgp_realm_has_ceremonial_liege_trigger = yes }
tgp_has_ceremonial_liege_title_trigger = yes
}
trigger_else = {
culture = {
has_innovation = innovation_primogeniture
}
}
# Non-tribals only
trigger_if = { # We split the tooltip into two, to make sure we don't show admin unless you actually have it
limit = {
has_ep3_dlc_trigger = yes
}
custom_tooltip = {
text = must_be_feudal_clan_or_admin
OR = {
government_has_flag = government_is_feudal
government_has_flag = government_is_clan
government_allows = administrative
government_has_flag = government_is_japan_feudal
tgp_has_ceremonial_liege_title_trigger = yes
}
}
}
trigger_else = {
custom_description = {
text = succession_laws_must_have_organised_government_tooltip
OR = {
government_has_flag = government_is_feudal
government_has_flag = government_is_clan
government_allows = merit
government_has_flag = government_is_japan_feudal
tgp_has_ceremonial_liege_title_trigger = yes
}
}
}
# Admin rules
trigger_if = {
limit = { government_allows = administrative }
trigger_if = {
limit = { tgp_realm_has_ceremonial_liege_trigger = yes }
tgp_has_ceremonial_liege_title_trigger = yes
}
trigger_else = { is_independent_ruler = yes }
}
}
can_keep_single_heir_youngest_succession_law_trigger = {
# The 'can_keep' triggers are dependent on actually having the law. If they aren't, the trigger breakdown for the player breaks and shows incomplete information.
trigger_if = {
limit = {
has_realm_law = single_heir_succession_law_youngest
}
OR = {
can_have_single_heir_youngest_succession_law_trigger = yes
historical_succession_access_single_heir_succession_law_youngest_trigger = yes
}
}
}
can_have_single_heir_youngest_succession_law_trigger = {
culture = {
has_innovation = innovation_primogeniture
}
# Non-tribals only
trigger_if = { # We split the tooltip into two, to make sure we don't show admin unless you actually have it
limit = {
has_ep3_dlc_trigger = yes
}
custom_tooltip = {
text = must_be_feudal_clan_or_admin
OR = {
government_has_flag = government_is_feudal
government_has_flag = government_is_clan
government_allows = administrative
government_has_flag = government_is_japan_feudal
}
}
}
trigger_else = {
custom_description = {
text = succession_laws_must_have_organised_government_tooltip
OR = {
government_has_flag = government_is_feudal
government_has_flag = government_is_clan
government_has_flag = government_is_japan_feudal
}
}
}
trigger_if = {
limit = {
government_allows = administrative
}
is_independent_ruler = yes
}
}
can_keep_single_heir_dynasty_house_trigger = {
# The 'can_keep' triggers are dependent on actually having the law. If they aren't, the trigger breakdown for the player breaks and shows incomplete information.
trigger_if = {
limit = {
has_realm_law = single_heir_dynasty_house
}
OR = {
can_have_single_heir_dynasty_house_trigger = yes
historical_succession_access_single_heir_dynasty_house_trigger = yes
}
}
}
can_have_single_heir_dynasty_house_trigger = {
exists = house
trigger_if = {
limit = {
culture = {
OR = {
this = culture:czech
this = culture:slovien
any_parent_culture_or_above = {
this = culture:czech
}
any_parent_culture_or_above = {
this = culture:slovien
}
NOT = { has_innovation = innovation_heraldry }
}
}
}
culture = {
has_innovation = innovation_table_of_princes
}
}
trigger_else = {
culture = {
has_innovation = innovation_heraldry
}
}
custom_description = {
text = succession_laws_must_have_organised_government_tooltip
OR = {
government_has_flag = government_is_feudal
government_has_flag = government_is_clan
government_has_flag = government_is_japan_feudal
}
}
NOT = { government_allows = administrative }
}
can_have_bishop_theocratic_succession_law_trigger = {
OR = {
is_theocratic_lessee = yes
government_has_flag = government_is_theocracy
}
}
is_temporal_head_of_faith_trigger = {
is_head_of_faith = yes
holder.faith = { has_doctrine = doctrine_temporal_head }
}
can_title_have_law_general_trigger = {
tier >= tier_duchy
is_temporal_head_of_faith_trigger = no
}
can_have_holy_order_succession_law_trigger = {
government_has_flag = government_is_holy_order
}
can_have_mercenary_succession_law_trigger = {
government_has_flag = government_is_mercenary
}
can_have_city_succession_law_trigger = {
government_has_flag = government_is_republic
}
can_have_herder_succession_law_trigger = {
government_has_flag = government_is_herder
}
title_can_reduce_partition_law_trigger = {
holder ?= {
OR = {
has_realm_law = single_heir_succession_law
can_have_high_partition_succession_law_trigger = yes
}
OR = {
has_realm_law = high_partition_succession_law
can_have_high_partition_succession_law_trigger = yes
}
OR = {
has_realm_law = partition_succession_law
can_have_confederate_partition_succession_law_trigger = yes
}
}
}
can_pass_law_ca1_trigger = {
culture = { has_innovation = innovation_plenary_assemblies }
}
can_pass_law_ca2_trigger = {
culture = { has_innovation = innovation_royal_prerogative }
}
can_pass_law_ca3_trigger = {
culture = { has_innovation = innovation_royal_prerogative }
}
can_have_acclamation_succession_law_trigger = {
has_ep3_dlc_trigger = yes
top_liege = this
government_allows = administrative
NOR = {
government_has_flag = government_is_celestial
government_has_flag = government_is_japan_administrative
government_has_flag = government_is_meritocratic
government_has_flag = government_is_steppe_admin
}
}
can_keep_acclamation_succession_law_trigger = {
has_ep3_dlc_trigger = yes
trigger_if = {
limit = {
has_realm_law = acclamation_succession_law
}
OR = {
can_have_acclamation_succession_law_trigger = yes
has_title = title:e_byzantium
}
}
}
can_change_acclamation_succession_law_trigger = {
has_ep3_dlc_trigger = yes
}
can_have_appointment_succession_law_trigger = {
has_ep3_dlc_trigger = yes
government_allows = administrative
NOR = {
government_has_flag = government_is_celestial
government_has_flag = government_is_japan_administrative
government_has_flag = government_is_meritocratic
}
is_independent_ruler = no
}
can_keep_appointment_succession_law_trigger = {
has_ep3_dlc_trigger = yes
trigger_if = {
limit = {
has_realm_law = appointment_succession_law
}
can_have_appointment_succession_law_trigger = yes
}
}
can_change_appointment_succession_law_trigger = {
has_ep3_dlc_trigger = yes
}

View file

@ -0,0 +1,176 @@

### Legal trigger list
opposes_succession_law_change_trigger = {
is_imprisoned = no
opinion = {
target = liege
value < 0
}
custom_description = {
text = law_change_approval_is_cowed
has_dread_level_towards = {
target = liege
level < 2
}
}
}
can_change_succession_laws_realm_flag_trigger = {
trigger_if = {
limit = { realm_law_use_tribal_authority = yes }
custom_description = {
text = "has_tribal_law_allowing_succession_law_change"
has_realm_law_flag = can_change_succession_laws
}
}
trigger_else_if = {
limit = { realm_law_use_imperial_bureaucracy = yes }
custom_description = {
text = has_imperial_bureaucracy_law_allowing_succession_law_change
has_realm_law_flag = can_change_succession_laws
}
}
trigger_else = {
custom_description = {
text = "has_crown_law_allowing_succession_law_change"
has_realm_law_flag = can_change_succession_laws
}
}
}
can_change_succession_law_trigger = {
can_change_succession_laws_realm_flag_trigger = yes
custom_description = {
text = "no_powerful_vassal_with_negative_opinion"
NOT = {
any_vassal = {
is_powerful_vassal = yes
opposes_succession_law_change_trigger = yes
}
}
}
}
can_change_single_heir_dynasty_house_succession_law_trigger = {
trigger_if = {
limit = {
culture = {
OR = {
this = culture:czech
this = culture:slovien
any_parent_culture_or_above = {
this = culture:czech
}
any_parent_culture_or_above = {
this = culture:slovien
}
}
}
NOT = {
has_realm_law_flag = can_change_succession_laws
}
}
culture = {
has_innovation = innovation_table_of_princes
}
}
trigger_else = {
can_change_succession_laws_realm_flag_trigger = yes
}
custom_description = {
text = "no_powerful_vassal_with_negative_opinion"
NOT = {
any_vassal = {
is_powerful_vassal = yes
opposes_succession_law_change_trigger = yes
}
}
}
}
can_change_to_equal_succession_law_trigger = {
trigger_if = {
limit = {
NOT = { has_realm_law_flag = can_change_succession_laws }
}
OR = {
culture = { has_cultural_parameter = gender_equal_inheritance }
faith = { has_doctrine = doctrine_gender_equal }
}
}
trigger_else = {
can_change_succession_laws_realm_flag_trigger = yes
}
custom_description = {
text = "no_powerful_vassal_with_negative_opinion"
NOT = {
any_vassal = {
is_powerful_vassal = yes
opposes_succession_law_change_trigger = yes
}
}
}
}
can_change_partition_succession_law_trigger = {
custom_description = {
text = "has_law_allowing_partition_succession_law_change"
OR = {
has_realm_law_flag = can_change_partition_succession_laws
has_realm_law_flag = can_change_succession_laws
}
}
custom_description = {
text = "no_powerful_vassal_with_negative_opinion"
NOT = {
any_vassal = {
is_powerful_vassal = yes
opposes_succession_law_change_trigger = yes
}
}
}
}
## Can this character assign a dedicated heir?
#
# Check if a character can assign some designated heir,
# but not if the heir is a valid candidate.
#
# root: Character that will assign an heir
#
can_designate_heir_trigger = {
trigger_if = {
# Admin always has access to this
limit = { government_allows = administrative }
custom_description = {
text = "has_admin_allowing_designate_heir"
any_held_title = {
is_noble_family_title = yes
}
}
}
trigger_else_if = {
# Feudal and clan can get this by increasing crown authority
limit = { has_realm_law_in_group = crown_authority }
custom_description = {
text = "has_crown_authority_designate_heir"
has_realm_law_flag = can_designate_heirs
}
}
trigger_else = {
# Everyone else also needs a law to gain access to this interaction
custom_description = {
text = "has_law_allowing_designate_heir"
has_realm_law_flag = can_designate_heirs
}
}
}
can_change_title_law_trigger = {
is_at_war = no
}

File diff suppressed because it is too large Load diff

View file

@ -898,3 +898,32 @@ tgp_capital_not_in_chinese_naming_region = {
}
}
}
farm_estates_3_4_trigger = {
custom_tooltip = {
text = farm_estates_3_4_trigger
OR = {
AND = {
building_requirement_castle_city_church = { LEVEL = 02 }
scope:holder.culture = {
has_innovation = innovation_manorialism
}
building_farm_estates_requirement_terrain = yes
}
AND = {
has_building_or_higher = pastures_04
culture = {
has_cultural_parameter = farm_estates_pastures_unlock
}
}
AND = {
building_paddy_fields_requirement_terrain = yes
scope:holder.culture = {
has_innovation = innovation_champa_rice
has_innovation = innovation_manorialism
}
building_requirement_castle_city_church = { LEVEL = 02 }
}
}
}
}

View file

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

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

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

File diff suppressed because it is too large Load diff

View file

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

File diff suppressed because it is too large Load diff

View file

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

View file

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

File diff suppressed because it is too large Load diff

View file

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

File diff suppressed because it is too large Load diff

View file

@ -1175,6 +1175,124 @@ ep3_laamps.0032 = {
}
}
ep3_laamps.1030 = {
type = character_event
window = fullscreen_event
title = ep3_laamps.1030.t
desc = {
desc = ep3_laamps.1030.desc
first_valid = {
triggered_desc = {
trigger = { exists = scope:laamp_heir }
desc = ep3_laamps.1030.heir
}
triggered_desc = {
trigger = { exists = scope:laamp_liege }
desc = ep3_laamps.1030.liege
}
desc = ep3_laamps.1030.new
}
}
theme = realm
left_portrait = {
character = root
animation = marshal
}
lower_right_portrait = scope:laamp_inheritor
override_background = { reference = ep3_fullscreen_adventurer_positive }
cooldown = { days = 5 }
trigger = { exists = scope:laamp_inheritor }
immediate = {
# Save scopes for loc
primary_title = { save_scope_as = old_primary_title }
capital_province = { save_scope_as = old_capital_province }
if = {
limit = { top_liege != this }
liege = { save_scope_as = old_liege }
}
# Transfer landed titles
every_held_title = {
title_tier > barony
limit = {
OR = {
is_landless_type_title = no
is_nomad_title = yes
}
}
add_to_list = target_titles
}
create_title_and_vassal_change = {
type = conquest
save_scope_as = change
add_claim_on_loss = no
}
hidden_effect = {
every_in_list = {
list = target_titles
change_title_holder_include_vassals = {
holder = scope:laamp_inheritor
change = scope:change
}
}
resolve_title_and_vassal_change = scope:change
}
# Create Adventurer
create_landless_minority_title_effect = {
REASON = flag:voluntary
FLAVOR_CHAR = scope:laamp_inheritor
}
scope:laamp_inheritor = {
# Tooltip for player
custom_tooltip = become_landless_adventurer_decision_title_scope_tt
# Create a loving family so inheritance isn't so borked
if = {
limit = { has_character_flag = new_laamp_inheritor }
trigger_event = game_rule.1001
remove_character_flag = new_laamp_inheritor
}
}
scope:old_liege ?= { trigger_event = ep3_laamps.1032 }
adventurer_prestige_reset_effect = yes
hidden_effect = {
every_held_title = {
limit = {
is_noble_family_title = yes
}
root = { destroy_title = prev }
}
}
}
option = {
name = ep3_laamps.1030.a
create_landless_minority_title_tooltip_effect = yes
add_prestige = medium_prestige_gain
add_character_modifier = {
modifier = ep3_voluntary_laamp_character_modifier
years = 5
}
}
}
# Liege event
ep3_laamps.1032 = {
type = letter_event
opening = ep3_laamps.1032.opening
desc = ep3_laamps.1032.desc
sender = scope:minority_leader
trigger = { is_ai = no }
immediate = {
scope:minority_leader = { create_landless_minority_title_tooltip_effect = yes }
}
option = {
name = ep3_laamps.1032.a
}
}
##################################################
# Become Adventurer - Revocation
# by Joe Parkin

View file

@ -2054,7 +2054,6 @@ scripted_trigger neighboring_ruler_proper_culture_trigger = {
culture = culture:baranis
culture = culture:butr
culture = culture:levantine
culture = culture:sephardi
}
}

View file

@ -5915,709 +5915,6 @@ fp2_yearly.8006 = {
# Conversos and Jewish events
# By James Beaumont
###################################
scripted_trigger valid_grantable_county_barony = {
title_province = {
geographical_region = world_europe_west_iberia
}
title_province = { has_building_or_higher = common_tradeport_01 }
is_holy_site = no
county.holder = {
any_held_title = { # Make sure it isn't revoking their last title
title_tier = county
count >= 2
}
}
}
fp2_yearly.9000 = {
type = character_event
title = fp2_james.0001.t
desc = fp2_james.0001.desc
theme = secret
override_background = {
reference = docks
}
left_portrait = {
character = root
animation = personality_rational
}
right_portrait = {
character = scope:fp2_james_0001_jewish_trader
animation = personality_bold
}
trigger = {
NOT = { root.religion = religion:judaism_religion }
highest_held_title_tier >= tier_county
any_sub_realm_barony = {
valid_grantable_county_barony = yes
}
}
immediate = {
random_sub_realm_barony = {
limit = {
valid_grantable_county_barony = yes
}
save_scope_as = fp2_james_0001_thriving_community
}
create_character = {
template = spanish_jewish_merchant_character
location = root.capital_province
save_scope_as = fp2_james_0001_jewish_trader
}
}
option = {
name = fp2_james.0001.a
scope:fp2_james_0001_thriving_community.county = {
add_county_modifier = {
modifier = fp2_jewish_community_denied_modifier
years = 10
}
}
scope:fp2_james_0001_jewish_trader.culture = {
change_cultural_acceptance = {
target = root.culture
value = low_negative_culture_acceptance
desc = cultural_acceptance_gain_conversos_tolerance
}
}
stress_impact = {
callous = minor_stress_impact_loss
greedy = minor_stress_impact_gain
compassionate = medium_stress_impact_gain
}
ai_chance = {
base = 10
ai_value_modifier = {
ai_honor = -0.5
ai_greed = -0.5
ai_zeal = 1.5
}
}
}
option = {
name = fp2_james.0001.b
trigger = {
NOT = { # Prevent all of Iberia from converting
any_county_in_region = {
region = world_europe_west_iberia
culture = culture:sephardi
}
}
}
create_title_and_vassal_change = {
type = granted
save_scope_as = change
add_claim_on_loss = no
}
scope:fp2_james_0001_thriving_community.county = {
change_title_holder = {
holder = scope:fp2_james_0001_jewish_trader
change = scope:change
}
}
resolve_title_and_vassal_change = scope:change
hidden_effect = {
add_opinion = {
target = scope:fp2_james_0001_jewish_trader
modifier = received_title_county
}
}
scope:fp2_james_0001_thriving_community.county = {
add_county_modifier = {
modifier = fp2_thriving_jewish_community_modifier
years = 10
}
set_county_culture = scope:fp2_james_0001_jewish_trader.culture
set_county_faith = scope:fp2_james_0001_jewish_trader.faith
}
scope:fp2_james_0001_jewish_trader.culture = {
change_cultural_acceptance = {
target = root.culture
value = medium_positive_culture_acceptance
desc = cultural_acceptance_gain_conversos_tolerance
}
}
stress_impact = {
compassionate = minor_stress_impact_loss
greedy = minor_stress_impact_loss
}
ai_chance = {
base = 10
ai_value_modifier = {
ai_honor = 1.5
ai_greed = 1.5
ai_zeal = -0.5
}
}
}
option = {
name = fp2_james.0001.c
scope:fp2_james_0001_thriving_community.county = {
add_county_modifier = {
modifier = fp2_thriving_jewish_community_modifier
years = 10
}
}
scope:fp2_james_0001_jewish_trader.culture = {
change_cultural_acceptance = {
target = root.culture
value = low_positive_culture_acceptance
desc = cultural_acceptance_gain_conversos_tolerance
}
}
stress_impact = {
compassionate = minor_stress_impact_loss
greedy = minor_stress_impact_loss
}
ai_chance = {
base = 10
ai_value_modifier = {
ai_honor = 1.5
ai_greed = 1.5
ai_zeal = -0.5
}
}
}
}
scripted_effect fp2_polish_should_heritage_israelite_get_upset_effect = {
if = {
limit = {
scope:fp2_james_0002_conversos_character = { culture = { has_cultural_pillar = heritage_israelite } }
}
scope:fp2_james_0002_conversos_character.culture = {
change_cultural_acceptance = {
target = root.culture
value = low_negative_culture_acceptance
desc = cultural_acceptance_loss_conversos_tolerance
}
}
}
}
# Suspect Conversos of secretly praciticing Judaism
fp2_yearly.9001 = {
type = character_event
title = fp2_james.0002.t
desc = fp2_james.0002.desc
theme = secret
override_background = {
reference = temple
}
left_portrait = {
character = root
animation = paranoia
}
right_portrait = {
character = scope:fp2_james_0002_conversos_character
animation = personality_cynical
}
trigger = {
OR = { root.religion = religion:eastern_orthodox_religion root.religion = religion:catholic_religion root.religion = religion:protestant_religion }
is_landed = yes
NOT = { faith = faith:conversos }
}
weight_multiplier = {
base = 1
modifier = {
add = 1
any_character_struggle = {
is_struggle_type = iberian_struggle
is_struggle_phase = struggle_iberia_phase_hostility
}
}
}
immediate = {
every_sub_realm_county = {
limit = {
faith = faith:conversos
holder = {
liege = { # Don't convert player-Conversos territory
OR = {
is_ai = yes
NOT = { faith = faith:conversos }
}
}
}
}
add_to_list = fp2_james_0002_conversos_county
}
# Try to find a Conversos vassal if one exists
if = {
limit = {
any_vassal = {
faith = faith:conversos
is_available_ai = yes
}
}
random_vassal = {
limit = {
faith = faith:conversos
is_available_ai = yes
}
save_scope_as = fp2_james_0002_conversos_character
}
}
# Otherwise find a pool character
else_if = {
limit = {
any_pool_character = {
province = root.capital_province
faith = faith:conversos
}
}
random_pool_character = {
province = root.capital_province
limit = {
faith = faith:conversos
}
save_scope_as = fp2_james_0002_conversos_character
}
}
# Otherwise create one
else = {
create_character = {
template = spanish_conversos_character
location = root.capital_province
save_scope_as = fp2_james_0002_conversos_character
}
}
scope:fp2_james_0002_conversos_character = {
random_list = {
50 = {
add_character_flag = is_secretly_jewish_flag
}
50 = {
}
}
}
# Get a religion for them to potentially be secretly praciticing
religion:judaism_religion = {
random_faith = {
limit = { is_mainstream_jewish_faith = yes }
save_scope_as = fp2_james_0002_jewish_faith
}
}
}
option = {
name = fp2_james.0002.a
custom_tooltip = fp2_james.0002.a.tt
hidden_effect = {
if = {
limit = {
scope:fp2_james_0002_conversos_character = { has_character_flag = is_secretly_jewish_flag }
}
send_interface_toast = {
type = event_toast_effect_good
title = fp2_james.0002.a.jewish_communities_thrive
every_in_list = {
list = fp2_james_0002_conversos_county
set_county_faith = scope:fp2_james_0002_jewish_faith
}
scope:fp2_james_0002_conversos_character = {
set_character_faith = scope:fp2_james_0002_jewish_faith
every_vassal = {
limit = {
faith = faith:conversos
is_available_ai = yes
}
set_character_faith = scope:fp2_james_0002_jewish_faith
}
}
}
}
else = {
send_interface_toast = {
type = event_toast_effect_good
title = fp2_james.0002.a.nothing_happened_toast
}
}
fp2_polish_should_heritage_israelite_get_upset_effect = yes
}
stress_impact = {
zealous = medium_stress_impact_gain
}
ai_chance = {
base = 10
ai_value_modifier = {
ai_honor = -0.5
ai_zeal = 1.5
}
}
}
option = {
name = fp2_james.0002.b
duel = {
skill = intrigue
target = scope:fp2_james_0002_conversos_character
50 = {
compare_modifier = {
value = scope:duel_value
multiplier = 3.5
}
desc = fp2_james.0002.b.succesful_interrogation
if = {
limit = { scope:fp2_james_0002_conversos_character = { has_character_flag = is_secretly_jewish_flag } }
send_interface_message = { # Begrudgingly added "unecessary" polish
type = event_prison_good
title = fp2_james.0002.t
right_icon = scope:fp2_james_0002_conversos_character
rightfully_imprison_character_effect = {
TARGET = scope:fp2_james_0002_conversos_character
IMPRISONER = root
}
fp2_polish_should_heritage_israelite_get_upset_effect = yes
}
}
else = {
send_interface_message = {
type = event_intrigue_bad
title = fp2_james.0002.a.offended_conversos
right_icon = scope:fp2_james_0002_conversos_character
reverse_add_opinion = {
target = scope:fp2_james_0002_conversos_character
modifier = hate_opinion
opinion = -30
}
fp2_polish_should_heritage_israelite_get_upset_effect = yes
}
}
}
50 = {
compare_modifier = {
value = scope:duel_value
multiplier = -3.5
}
desc = fp2_james.0002.b.failed_interrogation
send_interface_message = {
type = event_intrigue_bad
title = fp2_james.0002.a.offended_conversos
right_icon = scope:fp2_james_0002_conversos_character
every_sub_realm_county = {
custom = fp2_james_0002.b.failed_interrogation.tt
limit = {
faith = {
religion = {
OR = {
this = religion:christianity_religion
this = religion:judaism_religion
}
}
}
}
add_county_modifier = {
modifier = fp2_conversos_persecution_modifier
years = 10
}
}
reverse_add_opinion = {
target = scope:fp2_james_0002_conversos_character
modifier = hate_opinion
opinion = -30
}
fp2_polish_should_heritage_israelite_get_upset_effect = yes
}
}
}
stress_impact = { compassionate = medium_stress_impact_gain }
ai_chance = {
base = 10
ai_value_modifier = {
ai_zeal = 0.5
}
}
}
option = { # Imprison the suspect without trial
name = fp2_james.0002.c
send_interface_message = {
type = event_prison_neutral
title = fp2_james.0002.t
right_icon = scope:fp2_james_0002_conversos_character
imprison_character_effect = {
TARGET = scope:fp2_james_0002_conversos_character
IMPRISONER = root
}
fp2_polish_should_heritage_israelite_get_upset_effect = yes
stress_impact = {
compassionate = medium_stress_impact_gain
diligent = medium_stress_impact_gain
just = medium_stress_impact_gain
callous = minor_stress_impact_loss
sadistic = minor_stress_impact_loss
zealous = minor_stress_impact_loss
}
}
ai_chance = {
base = 10
modifier = {
factor = 0
OR = {
has_trait = compassionate
has_trait = diligent
has_trait = just
}
}
modifier = {
factor = 2
OR = {
has_trait = callous
has_trait = sadistic
}
has_trait = zealous
}
}
}
}
# Jewish people come fleeing persecution from a nearby realm
fp2_yearly.9002 = {
type = character_event
title = fp2_james.0003.t
desc = fp2_james.0003.desc
theme = secret
override_background = {
reference = throne_room
}
left_portrait = {
character = root
animation = paranoia
}
right_portrait = {
character = scope:fp2_james_003_jewish_refugee_leader
animation = beg
}
trigger = {
NOT = { root.religion = religion:judaism_religion }
NOT = { faith = faith:conversos }
any_neighboring_and_across_water_top_liege_realm = { # There is someone to do persecuting
holder = {
is_ai = yes
NOT = { root.religion = religion:judaism_religion }
NOT = { faith = faith:conversos }
}
}
highest_held_title_tier >= tier_county
any_held_county = {
is_landless_type_title = no
title_province = {
geographical_region = world_europe_west_iberia
}
NOT = { # Don't give away the capital
this = this.holder.top_liege.capital_county
}
holder = {
any_held_title = {
title_tier = county
count >= 2
}
}
}
}
weight_multiplier = {
base = 1
modifier = {
add = 1
any_character_struggle = {
is_struggle_type = iberian_struggle
is_struggle_phase = struggle_iberia_phase_hostility
}
}
modifier = {
factor = 0.1
any_county_in_region = {
region = world_europe_west_iberia
culture = culture:sephardi
}
}
}
immediate = {
# Grab the neighbour for loc purposes
random_neighboring_and_across_water_top_liege_realm = {
limit = {
holder = {
is_ai = yes
NOT = { root.religion = religion:judaism_religion }
NOT = { faith = faith:conversos }
}
}
holder = { save_scope_as = fp2_james_003_intolerant_ruler }
}
# find a pool character
if = {
limit = {
any_pool_character = {
province = root.capital_province
religion = religion:judaism_religion
}
}
random_pool_character = {
province = root.capital_province
limit = {
religion = religion:judaism_religion
}
save_scope_as = fp2_james_003_jewish_refugee_leader
}
}
# Otherwise create one
else = {
create_character = {
template = spanish_jewish_merchant_character # May as well reuse the template
location = root.capital_province
save_scope_as = fp2_james_003_jewish_refugee_leader
}
}
# Get a religion for them to potentially be secretly praciticing
religion:judaism_religion = {
random_faith = {
limit = { is_mainstream_jewish_faith = yes }
save_scope_as = fp2_james_0003_jewish_faith
}
}
random_held_county = {
limit = {
is_landless_type_title = no
title_province = {
geographical_region = world_europe_west_iberia
}
NOT = { # Don't give away the capital
this = this.holder.top_liege.capital_county
}
holder = {
any_held_title = {
title_tier = county
count >= 2
}
}
}
weight = {
modifier = { # Low-dev counties should be more highly considered
add = 50
development_level <= medium_development_level
}
}
save_scope_as = fp2_james_0003_province_to_convert
}
}
option = { # Offer the community protection in your realm
name = fp2_james.0003.a
create_title_and_vassal_change = {
type = granted
save_scope_as = change
add_claim_on_loss = no
}
scope:fp2_james_0003_province_to_convert.county = {
change_title_holder = {
holder = scope:fp2_james_003_jewish_refugee_leader
change = scope:change
}
}
resolve_title_and_vassal_change = scope:change
hidden_effect = {
add_opinion = {
target = scope:fp2_james_003_jewish_refugee_leader
modifier = received_title_county
}
}
scope:fp2_james_0003_province_to_convert.county = {
change_development_level = 1
if = {
limit = {
root = {
is_ai = no
}
NOT = {
any_county_in_region = {
region = world_europe_west_iberia
culture = culture:sephardi
}
}
}
set_county_culture = scope:fp2_james_003_jewish_refugee_leader.culture
set_county_faith = scope:fp2_james_003_jewish_refugee_leader.faith
add_county_modifier = {
modifier = fp2_thriving_jewish_community_modifier
years = 10
}
}
else = {
add_county_modifier = {
modifier = fp2_thriving_jewish_community_modifier
years = 10
}
}
}
scope:fp2_james_003_jewish_refugee_leader.culture = {
change_cultural_acceptance = {
target = root.culture
value = medium_positive_culture_acceptance
desc = cultural_acceptance_gain_conversos_tolerance
}
}
stress_impact = {
callous = minor_stress_impact_gain
greedy = minor_stress_impact_gain
compassionate = medium_stress_impact_loss
zealous = medium_stress_impact_gain
paranoid = medium_stress_impact_gain
}
ai_chance = {
base = 10
ai_value_modifier = {
ai_honor = 1.5
ai_zeal = -0.5
}
}
}
option = {
name = fp2_james.0003.b
scope:fp2_james_003_jewish_refugee_leader = { silent_disappearance_effect = yes }
stress_impact = {
paranoid = minor_stress_impact_loss
zealous = minor_stress_impact_loss
}
ai_chance = {
base = 10
ai_value_modifier = {
ai_honor = -0.5
ai_zeal = 1.5
}
}
}
}
###################################
# Toledan Nights
# By James Beaumont

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
gfx/interface/icons/flat_icons/minority.dds (Stored with Git LFS) Normal file

Binary file not shown.

Binary file not shown.

BIN
gfx/interface/icons/icon_barter.dds (Stored with Git LFS) Normal file

Binary file not shown.

BIN
gfx/interface/icons/map_coa/icon_barterer.dds (Stored with Git LFS) Normal file

Binary file not shown.

BIN
gfx/interface/icons/map_icons/icon_barter.dds (Stored with Git LFS) Normal file

Binary file not shown.

BIN
gfx/interface/icons/map_icons/map_icon_minority.dds (Stored with Git LFS) Normal file

Binary file not shown.

BIN
gfx/interface/icons/map_icons/onmap_barter_icon.dds (Stored with Git LFS) Normal file

Binary file not shown.

BIN
gfx/interface/icons/message_feed/barter.dds (Stored with Git LFS) Normal file

Binary file not shown.

8575
gui/hud.gui Normal file

File diff suppressed because it is too large Load diff

2937
gui/shared/coat_of_arms.gui Normal file

File diff suppressed because it is too large Load diff

View file

@ -4624,6 +4624,16 @@ texticon = {
}
}
texticon = {
icon = government_type_landless_minority
iconsize = {
texture = "gfx/interface/icons/government_types/landless_minority_government.dds"
size = { 28 28 }
offset = { 0 6 }
fontsize = 16
}
}
texticon = {
icon = government_type_celestial
iconsize = {

View file

@ -1192,6 +1192,19 @@ britannia_tabb_ian = {
}
}
brit_test_jewish = {
name = "Aaron"
dynasty = kohn_dynasty
religion = "congregationist"
culture = ashkenazi
trait = education_diplomacy_4
2514.8.11 = {
birth = yes
}
2600.1.1 = {
death = yes
}
}
britannia_aurelian_ambrose = {
name = "Ambrose"
dynasty = dynn_britannia_aurelian

View file

@ -12,6 +12,19 @@
# }
#}
d_laamp_test_jewish = { # Saltpites
2555.1.1 = {
liege = 0
holder = brit_test_jewish
government = landless_minority_government
succession_laws = { confederate_partition_succession_law }
effect = {
create_landless_minority_title_history_effect = yes
set_variable = { name = adventurer_creation_reason value = flag:historical }
destroy_landless_title_no_dlc_effect = { DATE = 2555.1.1 }
}
}
}
d_laamp_zolt = { # Saltpites
2555.1.1 = {
liege = 0

View file

@ -0,0 +1,316 @@
l_english:
landless_minority_government: "Minority Community Leader"
landless_minority_government_with_icon: "@government_type_landless_minority! $landless_minority_government$"
landless_minority_government_adjective: "Minority Community"
landless_minority_government_realm: "Minority Community"
landless_minority_government_desc: "\n$game_concept_minority_government_desc$"
conditional_maa_refill_rule: "only [reinforce_soldiers|E] troops"
mercenary_rule: "be hired to serve as [mercenaries|E] by [landed|E] [rulers|E]"
adult_rulers_only: "#N May only be ruled by [adults|E]#!"
game_concept_minority_government: "Minority Community Leader"
game_concept_minority_government_desc: "A $Minority Community Leader$ is an [unlanded|E] [character|E] who leads a [minority_community|E]."
game_concept_minority_community: "Minority Community"
game_concept_minority_community_desc: "Minority Communities are ethnic, religious or linguistic groups who form a distinctive shared identity, often forming enclaves in urban or rural areas in the region they inhabit, which differ significantly from the surrounding majority population. These communities are not tied to land, able to move to elsewhere once a generation."
minority_community_main_01_domicile_building: "Minority Community"
minority_community_main_01_domicile_building_desc: "A Minority Community is a small culturally distinct portion of the population typically with a local community leader"
minority_community_main_02_domicile_building: "Minority Community"
minority_community_main_02_domicile_building_desc: "A Minority Community is a small culturally distinct portion of the population typically with a local community leader"
minority_community_main_03_domicile_building: "Minority Community"
minority_community_main_03_domicile_building_desc: "A Minority Community is a small culturally distinct portion of the population typically with a local community leader"
minority_community_main_04_domicile_building: "Minority Community"
minority_community_main_04_domicile_building_desc: "A Minority Community is a small culturally distinct portion of the population typically with a local community leader"
minority_community_main_05_domicile_building: "Minority Community"
minority_community_main_05_domicile_building_desc: "A Minority Community is a small culturally distinct portion of the population typically with a local community leader"
government_is_landless_minority: "Has access to a [minority_community_i|E][minority_community|E]"
government_devassalises: "Will cease to be a vassal upon the succession of a new Community Leader"
minority_community_icon_concept: "[minority_community_i|E]"
game_concept_minority_community_i: "@government_type_landless_minority!"
duchy_landless_minority_community: "Community"
duke_landless_minority_community_male_minority_community: "Master"
duke_landless_minority_community_female_minority_community: "Mistress"
spouse_landless_minority_community_male: "Master"
spouse_landless_minority_community_holder_female: "Mistress"
d_laamp_test_jewish:0 "$ashkenazi$ Community of the $dynn_britannia_kohn$'s"
d_laamp_test_jewish_adj:0 "Jewish"
d_laamp_test_jewish_article:0 "The "
minority_community_domicile_title: "[CHARACTER.GetFirstNamePossessiveNoTooltip] [minority_community_i|E][minority_community|E]"
minority_community_type: "[minority_community_i|E][minority_community|E]"
minority_community_type_tooltip: "[minority_community_i|E][minority_community|E]"
minority_community_domicile_type: "[minority_community_i|E][minority_community|E]"
minority_community_domicile_type_possessive: "Community's"
minority_community_domicile_type_tooltip: "[minority_community_i|E][minority_community|E]"
MINORITY_COMMUNITY: "[minority_community_i|E][minority_community|E]"
MINORITY_COMMUNITY_BUILDINGS: "[minority_community_i|E][minority_community_buildings|E]"
minority_community_move_desc: "#T Move Minority Community#!\nMove your [minority_community_i|E][minority_community|E] to another [barony|E] within the [realm|E].\n@alert_icon! #alert_trial You will be unable to move it again for [EmptyScope.ScriptValue('estate_move_cooldown_value')|V0] days#!\n\n#S Cost:\n#![GetCostString( DOMICILE_TYPE.GetMoveCost( Character.Self ) )]\n\n#P Click to move your $minority_community_type$#!"
MINORITY_COMMUNITY_CONCEPT: "[minority_community_i|E][minority_community|E]"
domicile_minority_community: "the [CHARACTER.GetCulture.GetNameNoTooltip] $Community$ of the [CHARACTER.GetHouse.GetNameNoTooltip]'s"
government_is_barterer: "Enables [barter_goods_i][trading|E]"
ep3_laamps.1030.t: "On the Move Again"
ep3_laamps.1030.desc: "My people no longer feel secure in this realm, as such we are leaving to ensure our safety.\n\nI am joined by my family and people, with varying degrees of enthusiasm for their new lives on the road.\n\n"
ep3_laamps.1030.heir: "In my stead, my [ROOT.Char.Custom2('RelationToMeShort', SCOPE.sC('laamp_inheritor'))] and heir, [laamp_inheritor.GetFirstName], has assumed my titles as the [laamp_inheritor.GetTitleAsNameNoTooltip] of [laamp_inheritor.GetPrimaryTitle.GetNameNoTierNoTooltip]."
ep3_laamps.1030.liege: "Any lands I ruled have been given to my erstwhile liege."
ep3_laamps.1030.new: "Any lands I ruled have been given to a local knight."
ep3_laamps.1030.a: "Well, what we are we waiting for?"
ep3_laamps.1032.opening: "On the Move Again"
ep3_laamps.1032.desc: "My people no longer feel secure in this realm, as such we are leaving. Good Day my Liege."
ep3_laamps.1032.a: "A bold move, some might call foolish."
become_landless_minority_decision: "Become Minority Community"
become_landless_minority_decision_desc: "My people no longer feel secure in this realm, as such we are leaving to ensure our safety."
become_landless_minority_decision_tooltip: "Abandon your [landed|E] [realm|E] and establish an [minority_community_i|E][minority_community|E]"
become_landless_minority_decision_confirm: "On the Move Again"
become_landless_minority_decision_hof_tt: "You must not be a [head_of_faith|E]"
become_landless_minority_decision_tier_tt: "You must be a [count|E] or [duke|E]"
become_landless_minority_decision_domain_size_tt: "Your [domain|E] must be no larger than #V 3#! [counties|E]"
become_landless_minority_decision_title_scope_tt: "#negative_value All your [landed|E] [titles|E] and [vassals|E] pass to [THIS.Char.GetName]#!"
become_landless_minority_decision_title_created_tt: "#negative_value All your [landed|E] [titles|E] pass to a new local [ruler|E]#!"
minority_name: "[new_landless_minority.GetCulture.GetName] Community of the [new_landless_minority.GetDynasty.GetName]'s"
laamp_become_minority_tt: "#mixed_value #BER [THIS.Char.GetShortUIName|U] will establish an $Minority Community$"
landless_can_be_vassalised:: "Can be vassalised but not converted by landed powers and serve on their councils."
headmans_croft_01_domicile_building: "Headman's Croft"
headmans_croft_01_domicile_building_desc: "The Leader of a Minority Community will typically have a residence of their own."
headmans_croft_02_domicile_building: "Headman's Croft"
headmans_croft_02_domicile_building_desc: "The Leader of a Minority Community will typically have a residence of their own."
headmans_croft_03_domicile_building: "Headman's Croft"
headmans_croft_03_domicile_building_desc: "The Leader of a Minority Community will typically have a residence of their own."
headmans_croft_04_domicile_building: "Headman's Croft"
headmans_croft_04_domicile_building_desc: "The Leader of a Minority Community will typically have a residence of their own."
village_training_yard_01_domicile_building: "Village Training Yard"
village_training_yard_01_domicile_building_desc: "A yard set out for individual combat training so one might defend oneself in personal combat."
village_training_yard_02_domicile_building: "Village Training Yard"
village_training_yard_02_domicile_building_desc: "A yard set out for individual combat training so one might defend oneself in personal combat."
village_training_yard_03_domicile_building: "Village Training Yard"
village_training_yard_03_domicile_building_desc: "A yard set out for individual combat training so one might defend oneself in personal combat."
village_training_yard_04_domicile_building: "Village Training Yard"
village_training_yard_04_domicile_building_desc: "A yard set out for individual combat training so one might defend oneself in personal combat."
contracts_office_01_domicile_building: "Contracts Office"
contracts_office_01_domicile_building_desc: "An Office for Managing any contracts members of our community are hired for."
contracts_office_02_domicile_building: "Contracts Office"
contracts_office_02_domicile_building_desc: "An Office for Managing any contracts members of our community are hired for."
contracts_office_03_domicile_building: "Contracts Office"
contracts_office_03_domicile_building_desc: "An Office for Managing any contracts members of our community are hired for."
contracts_office_04_domicile_building: "Contracts Office"
contracts_office_04_domicile_building_desc: "An Office for Managing any contracts members of our community are hired for."
local_criminal_contacts_01_domicile_building: "Local Criminal Contracts"
local_criminal_contacts_01_domicile_building_desc: "Sometimes the best way to stay safe in a locality is to ingraciate yourself with its criminal element."
local_criminal_contacts_02_domicile_building: "Local Criminal Contracts"
local_criminal_contacts_02_domicile_building_desc: "Sometimes the best way to stay safe in a locality is to ingraciate yourself with its criminal element."
local_criminal_contacts_03_domicile_building: "Local Criminal Contracts"
local_criminal_contacts_03_domicile_building_desc: "Sometimes the best way to stay safe in a locality is to ingraciate yourself with its criminal element."
local_criminal_contacts_04_domicile_building: "Local Criminal Contracts"
local_criminal_contacts_04_domicile_building_desc: "Sometimes the best way to stay safe in a locality is to ingraciate yourself with its criminal element."
minority_comm_library_01_domicile_building: "Library"
minority_comm_library_01_domicile_building_desc: "A small library containing what few records and books our community owns."
minority_comm_library_02_domicile_building: "Library"
minority_comm_library_02_domicile_building_desc: "A small library containing what few records and books our community owns."
minority_comm_library_education_03_domicile_building: "School"
minority_comm_library_education_03_domicile_building_desc: "A small school for teaching the members of our village basic common knowledge before they learn a trade."
minority_comm_library_education_04_domicile_building: "School"
minority_comm_library_education_04_domicile_building_desc: "A small school for teaching the members of our village basic common knowledge before they learn a trade."
communal_baths_01_domicile_building: "Communal Bathouse"
communal_baths_01_domicile_building_desc: "A communal bath so that our community may stay clean and healthy."
communal_baths_02_domicile_building: "Communal Bathouse"
communal_baths_02_domicile_building_desc: "A communal bath so that our community may stay clean and healthy."
communal_baths_03_domicile_building: "Communal Bathouse"
communal_baths_03_domicile_building_desc: "A communal bath so that our community may stay clean and healthy."
communal_baths_04_domicile_building: "Communal Bathouse"
communal_baths_04_domicile_building_desc: "A communal bath so that our community may stay clean and healthy."
guest_house_01_domicile_building: "Guest House"
guest_house_01_domicile_building_desc: "A guest house for any visitors or travellers to reside it, we treat them well."
guest_house_02_domicile_building: "Guest House"
guest_house_02_domicile_building_desc: "A guest house for any visitors or travellers to reside it, we treat them well."
guest_house_03_domicile_building: "Guest House"
guest_house_03_domicile_building_desc: "A guest house for any visitors or travellers to reside it, we treat them well."
guest_house_04_domicile_building: "Guest House"
guest_house_04_domicile_building_desc: "A guest house for any visitors or travellers to reside it, we treat them well."
guest_house_05_domicile_building: "Guest House"
guest_house_05_domicile_building_desc: "A guest house for any visitors or travellers to reside it, we treat them well."
guest_house_06_domicile_building: "Guest House"
guest_house_06_domicile_building_desc: "A guest house for any visitors or travellers to reside it, we treat them well."
village_cage_01_domicile_building: "Village Cage"
village_cage_01_domicile_building_desc: "A locked building to imprison troublemakers and prisoners."
village_cage_02_domicile_building: "Village Cage"
village_cage_02_domicile_building_desc: "A locked building to imprison troublemakers and prisoners."
village_cage_03_domicile_building: "Village Cage"
village_cage_03_domicile_building_desc: "A locked building to imprison troublemakers and prisoners."
village_cage_04_domicile_building: "Village Cage"
village_cage_04_domicile_building_desc: "A locked building to imprison troublemakers and prisoners."
minority_comm_temple_small_01_domicile_building: "Small Temple"
minority_comm_temple_small_01_domicile_building_desc: "A small temple in which we give praise to our god"
minority_comm_temple_small_02_domicile_building: "Small Temple"
minority_comm_temple_small_02_domicile_building_desc: "A small temple in which we give praise to our god"
minority_comm_temple_small_03_domicile_building: "Small Temple"
minority_comm_temple_small_03_domicile_building_desc: "A small temple in which we give praise to our god"
minority_comm_temple_large_04_domicile_building: "Large Temple"
minority_comm_temple_large_04_domicile_building_desc: "A large temple in which we give praise to our god"
minority_comm_temple_large_05_domicile_building: "Large Temple"
minority_comm_temple_large_05_domicile_building_desc: "A large temple in which we give praise to our god"
minority_comm_temple_large_06_domicile_building: "Large Temple"
minority_comm_temple_large_06_domicile_building_desc: "A large temple in which we give praise to our god"
militia_barracks_01_domicile_building: "Militia Barracks"
militia_barracks_01_domicile_building_desc: "A structure in which the local militia train and store their weapons in case of attack."
militia_barracks_02_domicile_building: "Militia Barracks"
militia_barracks_02_domicile_building_desc: "A structure in which the local militia train and store their weapons in case of attack."
militia_barracks_03_domicile_building: "Militia Barracks"
militia_barracks_03_domicile_building_desc: "A structure in which the local militia train and store their weapons in case of attack."
militia_barracks_04_domicile_building: "Militia Barracks"
militia_barracks_04_domicile_building_desc: "A structure in which the local militia train and store their weapons in case of attack."
militia_barracks_05_domicile_building: "Militia Barracks"
militia_barracks_05_domicile_building_desc: "A structure in which the local militia train and store their weapons in case of attack."
militia_barracks_06_domicile_building: "Militia Barracks"
militia_barracks_06_domicile_building_desc: "A structure in which the local militia train and store their weapons in case of attack."
village_watch_01_domicile_building: "Village Watch"
village_watch_01_domicile_building_desc: "The village watch ensures that bandits or raiders wont attack the village without our Militia being alerted."
village_watch_02_domicile_building: "Village Watch"
village_watch_02_domicile_building_desc: "The village watch ensures that bandits or raiders wont attack the village without our Militia being alerted."
village_watch_03_domicile_building: "Village Watch"
village_watch_03_domicile_building_desc: "The village watch ensures that bandits or raiders wont attack the village without our Militia being alerted."
village_watch_04_domicile_building: "Village Watch"
village_watch_04_domicile_building_desc: "The village watch ensures that bandits or raiders wont attack the village without our Militia being alerted."
village_watch_05_domicile_building: "Village Watch"
village_watch_05_domicile_building_desc: "The village watch ensures that bandits or raiders wont attack the village without our Militia being alerted."
village_watch_06_domicile_building: "Village Watch"
village_watch_06_domicile_building_desc: "The village watch ensures that bandits or raiders wont attack the village without our Militia being alerted."
communal_gardens_01_domicile_building: "Communal Gardens"
communal_gardens_01_domicile_building_desc: "Communal Gardens in which vegetables and herbs are grown for village use."
communal_gardens_02_domicile_building: "Communal Gardens"
communal_gardens_02_domicile_building_desc: "Communal Gardens in which vegetables and herbs are grown for village use."
communal_gardens_03_domicile_building: "Communal Gardens"
communal_gardens_03_domicile_building_desc: "Communal Gardens in which vegetables and herbs are grown for village use."
communal_gardens_leisure_04_domicile_building: "Flower Fields"
communal_gardens_leisure_04_domicile_building_desc: "There can be something so comforting about a field of flowers."
communal_gardens_leisure_05_domicile_building: "Flower Fields"
communal_gardens_leisure_05_domicile_building_desc: "There can be something so comforting about a field of flowers."
communal_gardens_leisure_06_domicile_building: "Flower Fields"
communal_gardens_leisure_06_domicile_building_desc: "There can be something so comforting about a field of flowers."
communal_gardens_fruit_04_domicile_building: "Fruit Orchard
communal_gardens_fruit_04_domicile_building_desc: "A few apples or pears can add a lot to a village's diet."
communal_gardens_fruit_05_domicile_building: "Fruit Orchard
communal_gardens_fruit_05_domicile_building_desc: "A few apples or pears can add a lot to a village's diet."
communal_gardens_fruit_06_domicile_building: "Fruit Orchard
communal_gardens_fruit_06_domicile_building_desc: "A few apples or pears can add a lot to a village's diet."
village_stable_01_domicile_building: "Village Stable"
village_stable_01_domicile_building_desc: "A small stable to house a few horses for distant travel or agricultural purposes."
village_stable_02_domicile_building: "Village Stable"
village_stable_02_domicile_building_desc: "A small stable to house a few horses for distant travel or agricultural purposes."
village_stable_03_domicile_building: "Village Stable"
village_stable_03_domicile_building_desc: "A small stable to house a few horses for distant travel or agricultural purposes."
village_stable_grand_04_domicile_building: "Large Village Stable"
village_stable_grand_04_domicile_building_desc: "A Large stable to house a few horses for distant travel or agricultural purposes."
village_stable_grand_05_domicile_building: "Large Village Stable"
village_stable_grand_05_domicile_building_desc: "A Large stable to house a few horses for distant travel or agricultural purposes."
village_stable_grand_06_domicile_building: "Large Village Stable"
village_stable_grand_06_domicile_building_desc: "A Large stable to house a few horses for distant travel or agricultural purposes."
village_stable_kennel_04_domicile_building: "Kennel"
village_stable_kennel_04_domicile_building_desc: "A kennel to raise hounds for assisting hunters and guarding homes."
village_stable_kennel_05_domicile_building: "Kennel"
village_stable_kennel_05_domicile_building_desc: "A kennel to raise hounds for assisting hunters and guarding homes."
village_stable_kennel_06_domicile_building: "Kennel"
village_stable_kennel_06_domicile_building_desc: "A kennel to raise hounds for assisting hunters and guarding homes."
village_workshop_01_domicile_building: "Village Workshop"
village_workshop_01_domicile_building_desc: "A workshop in which a few tradesmen ply their trades for the benefit of the village."
village_workshop_02_domicile_building: "Village Workshop"
village_workshop_02_domicile_building_desc: "A workshop in which a few tradesmen ply their trades for the benefit of the village."
village_workshop_carpenter_03_domicile_building: "Village Carpentry Workshop"
village_workshop_carpenter_03_domicile_building_desc: "A workshop in which a few carpenters ply their trade for the benefit of the village."
village_workshop_carpenter_04_domicile_building: "Village Carpentry Workshop"
village_workshop_carpenter_04_domicile_building_desc: "A workshop in which a few carpenters ply their trade for the benefit of the village."
village_workshop_carpenter_05_domicile_building: "Village Carpentry Workshop"
village_workshop_carpenter_05_domicile_building_desc: "A workshop in which a few carpenters ply their trade for the benefit of the village."
village_workshop_carpenter_06_domicile_building: "Village Carpentry Workshop"
village_workshop_carpenter_06_domicile_building_desc: "A workshop in which a few carpenters ply their trade for the benefit of the village."
village_workshop_mason_03_domicile_building: "Village Masonry Workshop"
village_workshop_mason_03_domicile_building_desc: "A workshop in which a few masons ply their trade for the benefit of the village."
village_workshop_mason_04_domicile_building: "Village Masonry Workshop"
village_workshop_mason_04_domicile_building_desc: "A workshop in which a few masons ply their trade for the benefit of the village."
village_workshop_mason_05_domicile_building: "Village Masonry Workshop"
village_workshop_mason_05_domicile_building_desc: "A workshop in which a few masons ply their trade for the benefit of the village."
village_workshop_mason_06_domicile_building: "Village Masonry Workshop"
village_workshop_mason_06_domicile_building_desc: "A workshop in which a few masons ply their trade for the benefit of the village."
village_workshop_textile_03_domicile_building: "Village Weavers Workshop"
village_workshop_textile_03_domicile_building_desc: "A workshop in which a few weavers ply their trade for the benefit of the village."
village_workshop_textile_04_domicile_building: "Village Weavers Workshop"
village_workshop_textile_04_domicile_building_desc: "A workshop in which a few weavers ply their trade for the benefit of the village."
village_workshop_textile_05_domicile_building: "Village Weavers Workshop"
village_workshop_textile_05_domicile_building_desc: "A workshop in which a few weavers ply their trade for the benefit of the village."
village_workshop_textile_06_domicile_building: "Village Weavers Workshop"
village_workshop_textile_06_domicile_building_desc: "A workshop in which a few weavers ply their trade for the benefit of the village."
village_storage_01_domicile_building: "Village Storehouse"
village_storage_01_domicile_building_desc: "A small storehouse where food and goods are stored for protection from the elements"
village_storage_02_domicile_building: "Village Storehouse"
village_storage_02_domicile_building_desc: "A small storehouse where food and goods are stored for protection from the elements"
village_storage_warehouse_03_domicile_building: "Village Warehouse"
village_storage_warehouse_03_domicile_building_desc:: "A warehouse in which goods are stored for protection from the elements"
village_storage_warehouse_04_domicile_building: "Village Warehouse"
village_storage_warehouse_04_domicile_building_desc:: "A warehouse in which goods are stored for protection from the elements"
village_storage_granary_03_domicile_building: "Village Granary"
village_storage_granary_03_domicile_building_desc:: "A granary in which food is stored for protection from the elements"
village_storage_granary_04_domicile_building: "Village Granary"
village_storage_granary_04_domicile_building_desc:: "A granary in which food is stored for protection from the elements"
village_market_01_domicile_building: "Village Market
village_market_01_domicile_building_desc: "A market in which goods are exchanged with travelling merchants and distributed around the village"
village_market_02_domicile_building: "Village Market
village_market_02_domicile_building_desc: "A market in which goods are exchanged with travelling merchants and distributed around the village"
village_market_03_domicile_building: "Village Market
village_market_03_domicile_building_desc: "A market in which goods are exchanged with travelling merchants and distributed around the village"
village_market_04_domicile_building: "Village Market
village_market_04_domicile_building_desc: "A market in which goods are exchanged with travelling merchants and distributed around the village"
village_market_05_domicile_building: "Village Market
village_market_05_domicile_building_desc: "A market in which goods are exchanged with travelling merchants and distributed around the village"
village_market_06_domicile_building: "Village Market
village_market_06_domicile_building_desc: "A market in which goods are exchanged with travelling merchants and distributed around the village"
village_grazing_land_01_domicile_building: "Village Pastures"
village_grazing_land_01_domicile_building_desc: "The pastures where cattle and horses roam freely providing dairy and meat to the community."
village_grazing_land_02_domicile_building: "Village Pastures"
village_grazing_land_02_domicile_building_desc: "The pastures where cattle and horses roam freely providing dairy and meat to the community."
village_grazing_land_03_domicile_building: "Village Pastures"
village_grazing_land_03_domicile_building_desc: "The pastures where cattle and horses roam freely providing dairy and meat to the community."
village_grazing_land_04_domicile_building: "Village Pastures"
village_grazing_land_04_domicile_building_desc: "The pastures where cattle and horses roam freely providing dairy and meat to the community."
village_grazing_land_05_domicile_building: "Village Pastures"
village_grazing_land_05_domicile_building_desc: "The pastures where cattle and horses roam freely providing dairy and meat to the community."
village_grazing_land_06_domicile_building: "Village Pastures"
village_grazing_land_06_domicile_building_desc: "The pastures where cattle and horses roam freely providing dairy and meat to the community."
village_grain_fields_01_domicile_building: "Spelt Fields"
village_grain_fields_01_domicile_building_desc: "Open fields of spelt used to produce the universal staple, bread."
village_grain_fields_02_domicile_building: "Spelt Fields"
village_grain_fields_02_domicile_building_desc: "Open fields of spelt used to produce the universal staple, bread."
village_grain_fields_03_domicile_building: "Spelt Fields"
village_grain_fields_03_domicile_building_desc: "Open fields of spelt used to produce the universal staple, bread."
village_grain_fields_04_domicile_building: "Spelt Fields"
village_grain_fields_04_domicile_building_desc: "Open fields of spelt used to produce the universal staple, bread."
village_grain_fields_05_domicile_building: "Spelt Fields"
village_grain_fields_05_domicile_building_desc: "Open fields of spelt used to produce the universal staple, bread."
village_grain_fields_06_domicile_building: "Spelt Fields"
village_grain_fields_06_domicile_building_desc: "Open fields of spelt used to produce the universal staple, bread."
village_rice_field_01_domicile_building: "Rice Fields"
village_rice_fields_01_domicile_building_desc: "Originally from the far east, rice has been a major food staple across eurasia for centuries now."
village_rice_field_02_domicile_building: "Rice Fields"
village_rice_fields_02_domicile_building_desc: "Originally from the far east, rice has been a major food staple across eurasia for centuries now."
village_rice_field_03_domicile_building: "Rice Fields"
village_rice_fields_03_domicile_building_desc: "Originally from the far east, rice has been a major food staple across eurasia for centuries now."
village_rice_field_04_domicile_building: "Rice Fields"
village_rice_fields_04_domicile_building_desc: "Originally from the far east, rice has been a major food staple across eurasia for centuries now."
village_rice_field_05_domicile_building: "Rice Fields"
village_rice_fields_05_domicile_building_desc: "Originally from the far east, rice has been a major food staple across eurasia for centuries now."
village_rice_field_06_domicile_building: "Rice Fields"
village_rice_fields_06_domicile_building_desc: "Originally from the far east, rice has been a major food staple across eurasia for centuries now."
community_baggage_train_01_domicile_building: "Communities Baggage Train"
community_baggage_train_01_domicile_building_desc: "The Baggage train is upkept incase they are no longer wanted in their locality."
community_baggage_train_02_domicile_building: "Communities Baggage Train"
community_baggage_train_02_domicile_building_desc: "The Baggage train is upkept incase they are no longer wanted in their locality."
community_baggage_train_03_domicile_building: "Communities Baggage Train"
community_baggage_train_03_domicile_building_desc: "The Baggage train is upkept incase they are no longer wanted in their locality."
community_baggage_train_04_domicile_building: "Communities Baggage Train"
community_baggage_train_04_domicile_building_desc: "The Baggage train is upkept incase they are no longer wanted in their locality."
community_baggage_train_05_domicile_building: "Communities Baggage Train"
community_baggage_train_05_domicile_building_desc: "The Baggage train is upkept incase they are no longer wanted in their locality."
community_baggage_train_06_domicile_building: "Communities Baggage Train"
community_baggage_train_06_domicile_building_desc: "The Baggage train is upkept incase they are no longer wanted in their locality."
community_baggage_train_ample_steeds: "Ample Steeds"
community_baggage_train_ample_steeds_desc: "Horses are kept ready incase flight becomes necessary."
domicile_building_parameter_minority_comm_contributes_provisions: "This building chain will contribute [provisions_i][provisions|E] to your community yearly"
domicile_building_parameter_can_recruit_militia: "This building chain allows the recruitment of [peasant_militia|E] MAAs"

View file

@ -0,0 +1,43 @@
l_english:
ARMY_AUTOMATION_FEATURE_NAME: "Automated Armies"
AOV_HEADING: "$ARMY_AUTOMATION_FEATURE_NAME$ Settings"
AOV_APPLY: "$BARBERSHOP_APPLY$"
AOV_SET_TO_DEFAULT: "$CHARACTER_RESET_FILTERS$"
AOV_SET_TO_DEFAULT_TT: "[AddLocalizationIf( ArmyAutomationOptionsView.AreDisplayedSettingsDefault, 'AOV_SET_TO_DEFAULT_TT_CONTENT' )]"
AOV_SET_TO_DEFAULT_TT_CONTENT: "@warning_icon! #X Settings are already default#!"
AOV_COMPANION_OFF_WARNING: "@alert_icon! These settings have no effect while $ARMY_AUTOMATION_FEATURE_NAME$ is disabled"
AOV_AUTOMATED: "Automated"
AOV_MANUAL: "Manual"
AOV_OPT_COMMANDERS: "Assign Commanders"
AOV_OPT_COMMANDERS_NOT_PLAYERS: "Limited"
AOV_OPT_COMMANDERS_NOT_PLAYERS_TT: "#T Limited $game_concept_commander$ Assignment\n#![commanders|E] are assigned automatically to your [armies|E], but you are never assigned as $game_concept_commander$"
AOV_OPT_COMMANDERS_AUTOMATED_TT: "#T Automated $game_concept_commander$ Assignment\n#![commanders|E] are assigned automatically to your [armies|E]"
AOV_OPT_COMMANDERS_MANUAL_TT: "#T Manual $game_concept_commander$ Assignment\n#!You must manually assign [commanders|E] to your [armies|E]"
AOV_OPT_WAR_STANCE: "War Stance"
AOV_OPT_WAR_STANCE_DEFAULT: "Adaptive"
AOV_OPT_WAR_STANCE_DEFAULT_TT: "#T Adaptive Stance\n#!Your [armies|E] will act offensively or defensively depending on the situation"
AOV_OPT_WAR_STANCE_OFFENSIVE: "Offensive"
AOV_OPT_WAR_STANCE_OFFENSIVE_TT: "#T Offensive Stance\n#!Your [armies|E] will always act offensively"
AOV_OPT_WAR_STANCE_DEFENSIVE: "Defensive"
AOV_OPT_WAR_STANCE_DEFENSIVE_TT: "#T Defensive Stance\n#!Your [armies|E] will always act defensively"
AOV_OPT_RAIDING: "Raiding"
AOV_OPT_RAIDING_AUTOMATED_TT: "#T Automated Raiding\n#!Your [raider|E] [armies|E] will raise and go on $game_concept_raids$ on their own"
AOV_OPT_RAIDING_MANUAL_TT: "#T Manual Trading\n#!You control and raise your own [trader|E] Caravans"
AOV_OPT_BARTERING: "Trading"
AOV_OPT_BARTERING_AUTOMATED_TT: "#T Automated Trading\n#!Your [trader|E] Caravans will raise and go on $game_concept_barter$ Missions on their own"
AOV_OPT_BARTERING_MANUAL_TT: "#T Manual Trading\n#!You control and raise your own [trader|E] Caravans"
AOV_OPT_HIRING: "Hiring Troops"
AOV_OPT_HIRING_FULL: "Hire and Extend"
AOV_OPT_HIRING_FULL_TT: "#T Automated Hiring\n#![mercenaries|E], [holy_orders|E] and [provincial_armies|E] will be paid for automatically, and [mercenary_contracts|E] will be extended if needed for the war effort"
AOV_OPT_HIRING_EXTEND: "Only Extend"
AOV_OPT_HIRING_EXTEND_TT: "#T Automated Extending of Mercenary Contracts\n#![mercenary_contracts|E] will be extended if needed for the war effort"
AOV_OPT_HIRING_MANUAL_TT: "#T Manual Hiring\n#!You must manually pay for [mercenaries|E], [holy_orders|E] and [provincial_armies|E]"
MV_AUTOMATION_TOGGLE_TT: "[SelectLocalization( GetPlayer.HasCompanionAI, 'MV_AUTOMATION_TOGGLE_TT_ON', 'MV_AUTOMATION_TOGGLE_TT_OFF' )]"
MV_AUTOMATION_TOGGLE_TT_ON: "#T $ARMY_AUTOMATION_FEATURE_NAME$: #V Enabled#!\n#!$MV_AUTOMATION_TOGGLE_TT_DESC$\n\n#I Click to disable automation#!"
MV_AUTOMATION_TOGGLE_TT_OFF: "#T $ARMY_AUTOMATION_FEATURE_NAME$: #V Disabled#!\n#!$MV_AUTOMATION_TOGGLE_TT_DESC$\n\n#I Click to enable automation#!"
MV_AUTOMATION_TOGGLE_TT_DESC: "[SelectLocalization(GetPlayer.HasDefaultCompanionAISettings, 'MV_AUTOMATION_TOGGLE_TT_DEFAULT_DESC' , 'MV_AUTOMATION_TOGGLE_TT_CUSTOM_DESC')]"
MV_AUTOMATION_TOGGLE_TT_DEFAULT_DESC: "If enabled, your [armies|E] are raised and fight the enemy on their own, and assign their own [commanders|E].\n\nYou are still responsible for buying [men_at_arms|E], hiring [mercenaries|E] and going on [raids|E].\n\n#help Automated Armies are intended for players unfamiliar with warfare, or otherwise want to focus their attention elsewhere. If you are an experienced player, we recommend that you control your armies yourself.#!"
MV_AUTOMATION_TOGGLE_TT_CUSTOM_DESC: "If enabled, your [armies|E] act on their own, but are limited by the settings you have chosen."
MV_AUTOMATION_SETTINGS_TT: "#T Open $AOV_HEADING$\n#!Change the default behavior for $ARMY_AUTOMATION_FEATURE_NAME$"

View file

@ -0,0 +1,234 @@
l_english:
ARMY_HEADER:0 "Army"
SPLIT_ARMY_IN_HALF:0 "#T Split in half#!\nSplit this army into two roughly equal [armies|E]"
SPLIT_ARMY_IN_HALF_DISABLED:0 "\n$DESC$"
SPLIT_ARMY_CUSTOM:1 "#T Split off new Army#!\nDetach [regiments|E] from this [army|E] in order to create a new one"
SPLIT_ARMY_CUSTOM_TWO:1 "#T Reorganize#!\nReorganize the regiments of two [armies|E]"
SPLIT_ARMY_CUSTOM_DISABLED_TOO_MANY_SELECTED:0 "@warning_icon! #X Cannot reorganize more than two [armies|E]#!"
SPLIT_ARMY_CUSTOM_DISABLED_TOO_FEW_SELECTED:0 "@warning_icon! #X Need two [armies|E] selected to reorganize#!"
CANNOT_REORGANIZE_DIFFERENT_LOCATION:0 "@warning_icon! #X Cannot reorganize [armies|E] in two different locations#!"
MERGE_ARMY:0 "#T Merge [armies|E]#!\nCombine all selected armies into one"
MERGE_UNIT:0 "#T Merge [armies|E] and [fleets|E]#!\nCombine all selected armies and fleets into one"
DESELECT:0 "Deselect (not implemented)"
ATTACH_TO:0 "#T Attach to...#!\n#D (not implemented)#!"
SELECTED_ARMY:0 "Selected army (not implemented)"
FORTIFICATION_TOOLTIP:1 "#T [fort_level|E]: $VALUE|V0$/$MAX_VALUE|0$#!"
FORTIFICATION_INCREASE_TOOLTIP:0 "$INCREASE|=+$ per day"
FORTIFICATION_DAYS_TOOLTIP:0 "Will start to fortify its position in $DAYS|V$ days"
FORTIFICATION_NOT_ALLOWED:0 "Cannot fortify while moving"
FORTIFICATION_ADVANTAGE_TOOLTIP:0 "Will give $ADVANTAGE|0V$ [advantage|E] in [battle|E]"
FORTIFICATION_SIEGE_ADVANTAGE_TOOLTIP:0 "Will give $ADVANTAGE|0V$ [advantage|E] in [battle|E] due to ongoing siege."
ARMY_VIEW_FORTIFICATION_VALUE:0 "$VALUE$"
SELECT:0 "Select"
DISBAND:0 "Disband"
SELECT_TOOLTIP:0 "#T Select [army|E]#!\n"
DISBAND_TOOLTIP:0 "#T Disband [army|E]#!\n[ArmyReorgWindow.CanDisbandTooltip]"
DISBAND_ARMY:0 "#T Disband [army|E]#! "
CANNOT_DISBAND_WHILE_IN_COMBAT:0 "@warning_icon! #X Cannot disband while in [battle|E]#!"
CANNOT_DISBAND_WHILE_IN_RETREAT:0 "@warning_icon! #X Cannot disband while in [retreat|E]#!"
CANNOT_DISBAND_WHILE_ARMY_EMBARKED:0 "@warning_icon! #X Cannot disband while [embarked|E]#!"
CANNOT_DISBAND_NOT_FRIENDLY_AREA:0 "@warning_icon! #X Can disband only in a friendly area#!"
CANNOT_DISBAND_HOSTILE_AREA:0 "@warning_icon! #X Can disband only in a non-hostile area#!"
CANNOT_DISBAND_ENEMY_OR_HOSTILE_ARMIES_AROUND:0 "@warning_icon! #X Cannot disband while enemy or hostile [armies|E] are around#!"
CANNOT_DISBAND_WAR_LEADER: "@warning_icon! #X Cannot disband as a [war_leader|E]#!"
DISBAND_ARMY_DISABLED:0 "\n$DESC$"
DISBAND_ARMY_CONFIRM_TITLE:0 "Disband Army"
DISBAND_ARMY_CONFIRM_ACCEPT:0 "Disband"
DISBAND_ARMY_CONFIRM:0 "$COUNT|V$ [soldiers|E] will stand down and return home."
DISBAND_GATHERING_ARMY:1 "Disband Gathering Army"
DISBAND_GATHERING_ARMY_DISABLED:0 "\n$DESC$"
STOP_GATHERING:0 "Stop Gathering"
DISBAND_RETURN_HOME_TIME:1 "@warning_icon! #X [soldiers|E] will take up to $TIME$ to return home, making it take longer to raise them again.#!"
CANNOT_SPLIT_ARMY_NOT_OWNER:0 "@warning_icon! #X Cannot split Army belonging to someone else#!"
CANNOT_SPLIT_ARMY_WHILE_IN_COMBAT:0 "@warning_icon! #X Cannot split Army while in [battle|E]#!"
CANNOT_SPLIT_ARMY_WHILE_MOVEMENT_LOCKED:0 "@warning_icon! #X Cannot split Army while movement is locked#!"
CANNOT_SPLIT_ARMY_CUSTOM_WHILE_MOVING:0 "@warning_icon! #X Cannot reorganize Army while moving#!"
CANNOT_SPLIT_ARMY_WHILE_RETREATING:0 "@warning_icon! #X Cannot split Army while in [retreat|E]#!"
CANNOT_MERGE_WHILE_IN_COMBAT:0 "@warning_icon! #X Cannot merge while in [battle|E]#!"
CANNOT_MERGE_RAID_ARMY:0 "@warning_icon! #X Cannot merge [raid|E] armies outside own territory#!"
CANNOT_SPLIT_RAID_ARMY:0 "@warning_icon! #X Cannot split [raid|E] armies outside own territory#!"
CANNOT_MERGE_WHILE_RETREATING:0 "@warning_icon! #X Cannot merge while retreating#!"
CANNOT_MERGE_WHILE_MOVEMENT_LOCKED:0 "@warning_icon! #X Cannot merge while movement is locked#!"
CANNOT_MERGE_NAVAL_AND_LAND:0 "@warning_icon! #X Cannot merge [fleets|E] with unembarked [armies|E]#!"
CANNOT_MERGE_NO_ARMIES:0 "@warning_icon! #X No selected [armies|E] that can be merged#!"
CANNOT_MERGE_NO_UNITS:0 "@warning_icon! #X No selected [armies|E] or [fleets|E] that can be merged#!"
CANNOT_SPLIT_ARMY_FEW_REGIMENTS:0 "@warning_icon! #X Not enough Regiments in [army|E]#!"
CANNOT_SPLIT_ARMY_EMBARKED:0 "@warning_icon! #X Cannot split embarked [armies|E]#!"
CANNOT_SPLIT_SIEGE_SPLIT_NOT_FOUND:0 "@warning_icon! #X The [army|E] cannot be split in two for this [siege|E]#!"
CANNOT_SPLIT_NO_HIRED_OR_EVENT_TROOPS:0 "@warning_icon! #X No Hired or [special_troops|E] in the Army#!"
CANNOT_SPLIT_ONLY_HIRED_OR_EVENT_TROOPS:0 "@warning_icon! #X Only Hired and [special_troops|E] are present in the Army#!"
SELECT_COMMANDER_HEADER:1 "#T Select new [commander|E]#!"
SUPPLY_STATE_TOOLTIP:1 "#T [supplies|E]: $SUPPLY|V$/$FULL_SUPPLY|V0$#!\n$STATE|V$"
SUPPLY_STATE_POSITIVE:0 "#P +$CHANGE$#! Supplies/month"
SUPPLY_STATE_NEGATIVE:0 "#N -$CHANGE$#! Supplies/month"
SUPPLY_STATE_INCREASE:0 "#weak Will improve to $NEW_STATE$ in $DAYS$ days#!"
SUPPLY_STATE_DECREASE:0 "#weak Will decline to $NEW_STATE$ in $DAYS$ days#!"
SUPPLY_STATE_NO_CHANGE_THIS_YEAR:1 "#weak Will not change within the next year#!"
SUPPLY_STATE_EFFECTS:0 "Effects of $STATE|V$:"
SUPPLY_STATE_ATTRITION:0 "[attrition|E]: $VALUE|%-$"
SUPPLY_STATE_COMBAT_EFFECT:1 "$GENERIC_COMBAT_EFFECT$"
GENERIC_COMBAT_EFFECT:0 "[advantage|E]: $VALUE|0V$"
SUPPLY_STATE_0:0 "Well Supplied"
SUPPLY_STATE_1:0 "Undersupplied"
SUPPLY_STATE_2:0 "Starving"
SUPPLY_STATE_EVENT_TROOPS_IGNORING_SUPPLY:0 "$COUNT$ Soldiers in this army are not using supply"
SUPPLY_STATE_NO_LOSS_PERIOD:1 "Because it has been raised recently, the [army|E] will not use supply until [DATE.GetStringShort|V]"
SUPPLY_STATE_GATHERING:0 "The [army|E] will not use supply until it has gathered"
ARMY_NUMBER_OF_MEN:1 "$MAX_MEN|0$"
ARMY_NUMBER_OF_MEN_NOT_MAX:0 "$LIVING|0V$/$MAX_MEN|0V$"
ARMY_NUMBER_OF_LEVIES:0 "[levies|E]: $MAX_MEN|0V$"
ARMY_NUMBER_OF_LEVIES_NOT_MAX:0 "[levies|E]: $LIVING|0V$/$MAX_MEN|0V$"
ARMY_NUMBER_OF_LEVIES_TOOLTIP:0 "#T [levies|E]: $LIVING|0V$/$MAX_MEN|0V$#!"
ARMY_NUMBER_OF_MAA:0 "[men_at_arms|E]: $MAX_MEN|0V$"
ARMY_NUMBER_OF_MAA_NOT_MAX:0 "[men_at_arms|E]: $LIVING|0V$/$MAX_MEN|0V$"
ARMY_NUMBER_OF_MAA_TOOLTIP:0 "#T [men_at_arms|E]: $LIVING|0V$/$MAX_MEN|0V$#!"
ARMY_NUMBER_OF_KNIGHTS:1 "[knight_i]$knight_culture_player_plural$: $NUM|0V$"
ARMY_NUMBER_OF_KNIGHTS_TOOLTIP:1 "#T $knight_culture_player_plural$: [knight_i]$NUM|0V$#!\nEffectiveness: $EFFECTIVENESS|V%0$"
ARMY_EVENT_TROOPS_ASSOCIATED_WAR:0 "$COUNT$ [special_troops|E] will stand down when the [WAR.GetName] ends"
ARMY_ALL_ARMIES_MORE:0 "\nAnd $COUNT$ more"
ARMY_SUPPLY_COMMANDER_BREAKDOWN:0 "#indent_newline:3 \n[CHARACTER.GetModifierDescription( 'supply_capacity_mult' )]\n[CHARACTER.GetModifierDescription( 'supply_capacity_add' )]#!"
ARMY_SUPPLY_CAPACITY_INCREASED_BY_COMMANDER:0 "Supply capacity increased by [CHARACTER.GetName]:$ARMY_SUPPLY_COMMANDER_BREAKDOWN$\n"
ARMY_SUPPLY_CAPACITY_LOWERED_BY_COMMANDER:0 "Supply capacity decreased by [CHARACTER.GetName]:$ARMY_SUPPLY_COMMANDER_BREAKDOWN$\n"
FLEET_EMBARKING:0 "[embarking|E]: $TIME_LEFT$ left"
FLEET_EMBARKED:0 "[embarked|E]"
SHOW_SIEGE:0 "Go to the [siege|E]"
SPLIT_ARMY_FOR_SIEGE:1 "#T Station Besiegers\n#!Leave enough [soldiers|E] in this [army|E] to continue the [siege|E]"
SPLIT_ARMY_DISABLED:0 "\n$DESC$"
SPLIT_ARMY_FOR_SIEGE_NOT_ENOUGH_SOLDIERS:0 "@warning_icon! #X Not Enough soldiers to split off#!"
SPLIT_ARMY_FOR_SIEGE_TOO_MANY_SOLDIERS:2 "@warning_icon! #X Other Armies at this Holding have enough Soldiers to continue the Siege#!"
BESIEGING:0 "Besieging"
ARMY_COMPOSITION_ENTRY_MAX:0 "$TYPE$: $MAX|0V$"
ARMY_COMPOSITION_ENTRY_REINFORCE:0 "($REINFORCE|0V=$/month)"
ARMY_COMPOSITION_ENTRY:1 "$TYPE$: $COUNT|0V$/$MAX|0V$$REINFORCE_INFO$"
KNIGHT_REGIMENTS:1 "@knight_icon![CHARACTER.Custom('KnightCulturePlural')]"
LEVIES_REGIMENTS:1 "@soldier_icon![levies|e]"
MAA_REGIMENTS_ICON:1 "@$ICONKEY$_icon!$NAME$"
ARMY_TOTAL_SOLDIERS:0 "#T Total Soldiers: $CURRENT|0V$/$MAX|0V$#!"
ARMY_RAISED_SOLDIERS:0 "#T Raised Soldiers: $CURRENT|0V$/$MAX|0V$#!"
ARMY_UNRAISED_SOLDIERS:0 "#T Unraised Soldiers: $CURRENT|0V$/$MAX|0V$#!"
SPLIT_OFF_HIRED_AND_EVENT_TROOPS:0 "#T Split off [hired_troops|E] and [special_troops|E]#!\nSplit off an [army|E] containing all [hired_troops|E] and [special_troops|E] of this [army|E]."
ARMY_VIEW_ARMY_HAS_EVENT_TROOPS:1 "#T [special_troops|E]\n#![ArmyWindow.BuildEventTroopList]"
LEVIES_ARMY_REGIMENT_NAME:0 "Levies"
TT_REORG_SOLDIERS:0 "#T Soldiers: [RegimentReorgEntry.GetSoldierCount]#!\nMaximum: [RegimentReorgEntry.GetMaxSoldierCount]"
TT_REORG_EVENT_TROOPS:0 "#T [special_troops|E]: [RegimentReorgEntry.GetEventTroopName]#!"
TT_REORG_LEVIES:0 "#T [levies|E]\n#![soldiers|E]: [soldier_i][RegimentReorgEntry.GetSoldierCount]/[RegimentReorgEntry.GetMaxSoldierCount]\nFrom your [domain|E]\n\n$REORG_INSTRUCTION$"
TT_REORG_VASSAL_LEVIES:0 "#T [levies|E]\n#![soldiers|E]: [soldier_i][RegimentReorgEntry.GetSoldierCount]/[RegimentReorgEntry.GetMaxSoldierCount]\nFrom [vassal|E] [RegimentReorgEntry.GetRegiment.GetFromVassal.GetUIName]\n\n$REORG_INSTRUCTION$"
REORG_INSTRUCTION:0 "#I Click to move to other Army#!"
REORG_EMPTY_LIST:0 "#weak Move Regiments here to create a new Army#!"
ARMY_REORG_LEFT_MAINTENANCE:0 "[ArmyReorgWindow.GetLeftMaintenance]/month"
ARMY_REORG_RIGHT_MAINTENANCE:0 "[ArmyReorgWindow.GetRightMaintenance]/month"
ARMY_TBA_NAME:0 "New Army"
KNIGHT_REGIMENT_NAME:1 "[CHARACTER.GetShortUINameNoTooltip]"
ARMY_SELECT_THIS_ONLY:0 "#T Select This [army|E] Only#!"
GATHERING_DAYS_LEFT:0 "Days Left: [Army.GetGatheringDaysLeft|V]"
ARMY_VIEW_NEXT:0 "Next army"
ARMY_VIEW_PREVIOUS:0 "Previous army"
ARMY_VIEW_CREATE_NEW:0 "Create new army"
ARMY_VIEW_LEVIES:0 "Levies"
ARMY_VIEW_LEVIES_TOOLTIP:0 "#T Levies#!"
ARMY_VIEW_MAA:0 "Men-at-Arms"
ARMY_VIEW_KNIGHTS:1 "$knight_culture_player_plural_no_tooltip$"
START_RAIDING:0 "#T Start Raiding#!\nThis unit will now be able to take the [raid|E] action outside your realm"
END_RAIDING:0 "#T Stop being a Raiding Army#!\nThis [army|E] will stop being a Raiding Army, and can reinforce again"
START_RAID:0 "#T Start Raid#!"
RAID_ACTION_INFO:0 "Will take about [PROVINCE.GetLootTime( ARMY.Self )|V] days.\nWill loot [gold_i|E][PROVINCE.GetLoot|0V]."
START_RAID_ALREADY_RAIDING:0 "@warning_icon! #X Already [raiding|E] this Holding#!"
START_RAID_NOT_A_RAID_ARMY:0 "@warning_icon! #X Not a [raid|E] Army#!"
START_RAID_LOOT_CAP:0 "@warning_icon! #X Cannot carry more [raid|E] Loot#!"
START_RAID_NOT_OWN_REALM:0 "@warning_icon! #X Cannot [raid|E] inside your own [realm|E]#!"
START_RAID_ALLY:0 "@warning_icon! #X Cannot [raid|E] your ally [CHARACTER.GetShortUIName]#!"
START_RAID_TRUCE:0 "@warning_icon! #X Cannot [raid|E] [CHARACTER.GetShortUIName]#! while you have a truce agreement"
START_RAID_IMMUNE:0 "@warning_icon! #X Cannot raid someone who has recently defeated one of your [raids|E]. Immunity will end on [DATE.GetString|V]#!"
START_RAID_SAME_CONFEDERATION: "@warning_icon! #X Cannot raid someone who is also part of [CONFEDERATION.GetName]#!"
START_RAID_OWN_TRIBUTARY: "@warning_icon! #X Cannot raid your own [tributary|E]#!"
START_RAID_OWN_SUZERAIN: "@warning_icon! #X Cannot raid your own [suzerain|E]#!"
START_RAID_NO_HOLDING:0 "@warning_icon! #X No [holding|E] here to [raid|E]#!"
START_RAID_MOVING:0 "@warning_icon! #X Cannot [raid|E] while moving#!"
START_RAID_IN_COMBAT:0 "@warning_icon! #X Cannot [raid|E] while in combat#!"
START_RAID_SMALLER_THAN_GARRISON:0 "@warning_icon! #X [raid|E] Army is smaller than the [garrison|E] ($VALUE|0$ men)#!"
START_RAID_TOO_FEW_MEN:0 "@warning_icon! #X [raid|E] Army is too small to raid (need at least $VALUE|0$ men)#!"
START_RAID_RECENTLY_LOOTED:0 "@warning_icon! #X The Holding has been looted recently. Can be looted again on [DATE.GetString|V]#!"
RAID_PROVINCE_TOOLTIP_RECENTLY_LOOTED:0 "The Holding has been looted recently. Can be looted again on [DATE.GetString|V]"
RAID_PROVINCE_TOOLTIP_LOOT:0 "Raid [loot|E]: [gold_i]$VALUE|0V$"
START_RAID_ALREADY_BEING_LOOTED:0 "@warning_icon! #X The Holding is already being looted by [ARMY.GetName]#!"
START_RAID_UNDER_SIEGE:0 "@warning_icon! #X Cannot [raid|E] a Holding that is under [siege|E]#!"
TOGGLE_RAID_IN_COMBAT:0 "@warning_icon! #X Cannot toggle [raiding|E] while in combat#!"
TOGGLE_RAID_RETREATING:0 "@warning_icon! #X Cannot toggle [raiding|E] while retreating#!"
TOGGLE_RAID_ONLY_OWN_TERRITORY:0 "@warning_icon! #X Cannot toggle [raiding|E] outside own territory#!"
TOGGLE_RAID_CANNOT_RAID:0 "@warning_icon! #X Unable to [raid|E]#!"
TOGGLE_RAID_MERCENARY:0 "@warning_icon! #X Mercenaries cannot [raid|E]#!"
ARMY_RAID_LOOT_TOOLTIP: "#T Raid Loot#!\nThis [army|E] is carrying [loot_i][Army.GetRaidLoot|0V] [loot|E].\nIt can carry at most [loot_i][Army.GetLootCap|0V] [loot|E] due to the size of the army."
START_BARTERING: "#T Start Trading#!\nThis unit will now be able to take the [trade|E] action outside your realm"
END_BARTERING: "#T Stop being a Trader Caravan#!\nThis [army|E] will stop being a Trader Caravan, and can reinforce again"
START_BARTER: "#T Start Trade#!"
BARTER_ACTION_INFO: "Bartering will take about [PROVINCE.GetLootTime( ARMY.Self )|V] days.\nThe Caravan will receive [loot_i|E][PROVINCE.GetLoot|0V]."
START_BARTER_INSUFFICIENT_BARTER_GOODS: "@warning_icon! #X Insufficient [trade_goods|E] to start [trading|E]#!"
START_BARTER_ALREADY_BARTERING: "@warning_icon! #X Already [trading|E] with this Holding#!"
START_BARTER_NOT_A_BARTER_ARMY: "@warning_icon! #X Not a [trade|E] Army#!"
START_BARTER_LOOT_CAP: "@warning_icon! #X Cannot carry more [trade|E] Loot#!"
START_BARTER_NOT_OWN_REALM: "@warning_icon! #X Cannot [trade|E] inside your own [realm|E]#!"
START_BARTER_NO_HOLDING: "@warning_icon! #X No [holding|E] here with which to [trade|E]#!"
START_BARTER_MOVING: "@warning_icon! #X Cannot [trade|E] while moving#!"
START_BARTER_IN_COMBAT: "@warning_icon! #X Cannot [trade|E] while in combat#!"
START_BARTER_RECENTLY_LOOTED: "@warning_icon! #X The Holding has been looted or traded with recently. Can be traded with again on [DATE.GetString|V]#!"
BARTER_PROVINCE_TOOLTIP_RECENTLY_LOOTED: "The Holding has been looted or traded with recently. Can be traded with again on [DATE.GetString|V]"
BARTER_PROVINCE_TOOLTIP_LOOT: "[loot|E]: [loot_i]$VALUE|0V$"
START_BARTER_ALREADY_BEING_LOOTED: "@warning_icon! #X The Holding is already being looted by [ARMY.GetName]#!"
START_BARTER_UNDER_SIEGE: "@warning_icon! #X Cannot [trade|E] a Holding that is under [siege|E]#!"
TOGGLE_BARTER_IN_COMBAT: "@warning_icon! #X Cannot toggle [trading|E] while in combat#!"
TOGGLE_BARTER_RETREATING: "@warning_icon! #X Cannot toggle [trading|E] while retreating#!"
TOGGLE_BARTER_ONLY_OWN_TERRITORY: "@warning_icon! #X Cannot toggle [trading|E] outside own territory#!"
TOGGLE_BARTER_CANNOT_BARTER: "@warning_icon! #X Unable to [trade|E]#!"
TOGGLE_BARTER_MERCENARY: "@warning_icon! #X Mercenaries cannot [trade|E]#!"
ARMY_BARTER_LOOT_TOOLTIP: "#T Loot#!\nThis Caravan is carrying [loot_i][Army.GetBarterLoot|0V] [loot|E].\nIt can carry at most [loot_i][Army.GetLootCap|0V] [loot|E] due to its size."
CHANGE_COMMANDER_IN_RETREAT:0 "@warning_icon! #X Army is retreating#!"
TOGGLE_LOOTER_STANCE:2 "#T [Select_CString( Army.HasLooterStance, 'Always', 'Never' )] Raid#!\n[SelectLocalization( Army.HasLooterStance, 'TOGGLE_LOOTER_STANCE_DESC_ON', 'TOGGLE_LOOTER_STANCE_DESC_OFF' )]"
TOGGLE_LOOTER_STANCE_DESC_ON:0 "This [army|E] will automatically [raid|E] any viable [holding|E] that it stops in"
TOGGLE_LOOTER_STANCE_DESC_OFF:0 "This [army|E] does not automatically [raid|E] [holdings|E] that it stops in"
ARMY_ATTRITION_TT:0 "#T Monthly [attrition|E]: [Army.GetArmyAttritionPercentage|%-0] ([soldier_i] [Army.GetArmyAttrition|+]/month)\n#![Army.GetArmyAttritionBreakdownPercentage][Select_CString( EqualTo_CFixedPoint(Army.GetArmyAttritionPercentage, '(CFixedPoint)0'), '#weak No Attrition#!', '' )]"
ATTRITION_SIEGE:0 "Besieging"
ATTRITION_RAID:0 "Raiding"
AV_ALWAYS_RAID:0 "Always Raid"
ATTRITION_SUPPLY:0 "Lack of Supplies"
ATTRITION_TOTAL:0 "[attrition|E]"
ARMY_VIEW_TROOP_TT:0 "[TroopItem.BuildTroopItemTooltip( Army.Self )]"
TROOP_LEVY:0 "[levies|E]"
TROOP_LIST_LEVIES:0 "#T [levies|E]: $TOTAL$/$MAX$#!"
TROOP_KNIGHTS:0 "#T $knight_culture_player_plural$: $TOTAL$#!"
TROOP_LIST_KNIGHT:1 "[CHARACTER.GetShortUIName|U]: [CHARACTER.GetSkill( 'prowess' )] [prowess_i|E]"
TROOP_LIST_MAA_MULTIPLE_PERSONAL: "[CHARACTER.GetShortUINamePossessive|U] [ARMY_REGIMENT.GetRegiment.GetName]: [ARMY_REGIMENT.GetCount]/[ARMY_REGIMENT.GetMax]"
TROOP_LIST_MAA_MULTIPLE_TITLE: "[ARMY_REGIMENT.GetRegiment.GetName] of the [TITLE.GetBaseName]: [ARMY_REGIMENT.GetCount]/[ARMY_REGIMENT.GetMax]"
TROOP_LIST_MAA_MULTIPLE: "[ARMY_REGIMENT.GetRegiment.GetName]: [ARMY_REGIMENT.GetCount]/[ARMY_REGIMENT.GetMax]"
TROOP_LIST_MAA_HEADER: "#T [MEN_AT_ARMS_TYPE.GetBaseTypeName]: $TOTAL$/$MAX$#!"
ARMY_TOOLTIP_ATTRITION: "[attrition|E]: [Army.GetArmyAttritionPercentage|%0-]/month"
ARMY_TOOLTIP_COMMANDER: "[commander|E]: [Character.GetShortUIName|U]"
ARMY_TOOLTIP_COMMANDER_ADVANTAGE: "[Character.GetCommanderAdvantage]"
ARMY_TOOLTIP_NO_COMMANDER:0 "No [commander|E]"
ARMY_REORGANIZATION:0 "Army Reorganization"
ATTACH_TO_UNIT_HEADER:0 "#T Attach to [army|E]#!"
ATTACH_TO_UNIT:0 "Attach to follow [TARGET_ARMY.GetName]"
CANNOT_ATTACH_UNIT_TO_SELF:0 "@warning_icon! #X Cannot attach an [army|E] to itself#!"
CANNOT_ATTACH_UNIT_TO_OWN_UNITS:0 "@warning_icon! #X Cannot attach to another [army|E] you own#!"
ALREADY_ATTACHED_TO_UNIT:0 "@warning_icon! #X Already attached to the [ARMY.GetName]#!"
UNIT_IS_ALREADY_ATTACHED_TO_US:0 "@warning_icon! #X Cannot attach to the [ARMY.GetName] as it is attached to us#!"
NOT_A_FRIENDLY_UNIT:0 "@warning_icon! #X Cannot attach to hostile or neutral [armies|E]#!"
DETACH_FROM_UNIT_HEADER:0 "#T Detatch from [army|E]#!"
DETACH_FROM_UNIT:0 "Detatch from following [TARGET_ARMY.GetName]"
NOT_ATTACHED_TO_ANY_UNIT:0 "@warning_icon! #X Not attached to another [army|E]#!"
ATTACHED_ARMY_NAME:0 "Following:\n[Army.GetName]"
ATTACH_TO_ARMY_WINDOW_HEADER:0 "Attach to Army"
ATTACH_TO_ARMY_WINDOW_TEXT:0 "Select an [army|E] in [ArmyWindow.GetArmy.GetLocation.GetName] for [ArmyWindow.GetArmy.GetName] to follow."
TOGGLE_ATTACH_TO_UNIT_WINDOW:0 "Attach to Army"
ATTACH_TO_UNIT_WINDOW_TEXT:0 "Attach to [AttachToArmyWindow.GetSelectedArmy.GetName]"
ATTACH:1 "Attach"
ARMY_UNIT_COOLTIP_NAME: "[UnitItem.GetArmy.GetNameNoTooltip]"
RAID_INTENT_SELECTION_HEADER: "Change $game_concept_raid_intent$"
RAID_INTENT_SELECTION_TEXT: "Select your [raid_intent|E]"
RAID_CHANGE_INTENT_TOOLTIP: "#T [RaidIntent.GetName]#!\n[RaidIntent.GetDescription][AddParagraph( RaidIntentSelectionWindow.GetCanPickIntentDesc( RaidIntent.Self ) )]"
RAID_SINGLE_INTENT_TOOLTIP: "#T [RaidIntent.GetName]#!\n[RaidIntent.GetDescription]"
RAID_OPEN_INTENT_WINDOW: "$RAID_SINGLE_INTENT_TOOLTIP$\n\n#I Click to change [raid_intent|E]#!"
RAID_OPEN_INTENT_WINDOW_DISABLED: "$RAID_SINGLE_INTENT_TOOLTIP$\n\n#X Cannot change [raid_intent|E] during active events!#!"
RAID_CHANGE_INTENT_TT: "#T Change $game_concept_raid_intent$#!"
INVALID_RAID_INTENT: "@warning_icon! #X Invalid [raid_intent|E]#!"

View file

@ -0,0 +1,20 @@
l_english:
BW_TT_BARTERING_REALM_TOOLTIP: "#T Trader: [Character.GetPrimaryTitle.GetName|V]#!\n#I Click to view#!"
BW_TT_BARTEREE_REALM_TOOLTIP: "#T Traderee: [Character.GetPrimaryTitle.GetName|V]#!\n#I Click to view#!"
BW_TT_OPEN_ARMY_WINDOW: "#T Select all your [trading|E] [armies|E]"
BW_TIME_LEFT: "[BarterMission.GetEta.GetTimeDiffFromNow|V] left"
BW_TIME_LEFT_TT: "#T Time Left\n#!The Trade Mission will finish on [BarterMission.GetEta.GetString]"
BARTER_PROGRESS_TOOLTIP: "#T Trade Progress: [BarterMission.GetProgress|0]/[BarterMission.GetProgressNeeded|0]#!\n[BarterMission.GetBarterProgressTooltip]"
BARTER_BLOCKED_BY_COMBAT: "@warning_icon! #X Trading Caravan is in a [battle|E]#!"
BARTER_TROOPS_TOOLTIP: "#T Number of Soldiers#!\n[trading|E] Caravan: [BarterMission.GetAttackerMen|V]\n[garrison|E]: [BarterMission.GetDefenderMen|V]\nDaily progress: [BarterMission.GetDailyProgressPercent|%1V]"
HOLDING_BARTER_GOODS_NEEDED: "[trade_goods|E]"
HOLDING_BARTER_GOODS_NEEDED_VALUE: "[barter_goods_i] [Province.GetBarterGoodsNeeded|-0]"
BARTER_WINDOW_TT_DAILY_PROGRESS: "Daily progress"
BW_TT_BASE_PROGRESS: "Base"
BW_TT_MEN_PROGRESS: "Trading [soldiers|E]"
BARTER_GOODS_MONTHLY_INCOME: "Monthly [trade_goods|E]"
DOMAIN_BARTER_GOODS_INCOME_HOLDING: "[TITLE.GetName]"
BARTER_GOODS_MONTHLY_EXPENSES: "Monthly Expenses"
BARTER_WINDOW_DESC: "#weak [BarterMission.GetArmy.GetOwner.GetShortUINamePossessive|U] [trade|E] Caravan trades [Province.GetBarterGoodsNeeded|0V] [trade_goods|E] for [Province.GetLoot|0V] [loot|E] in [Province.GetName]. [Province.GetNameNoTooltip] will gain [StaticModifier.GetNameWithTooltip] for 5 years.#!"

View file

@ -2715,5 +2715,3 @@
building_type_mount_baekdu_01_desc: "The lofty peak of Mount Baekdu is said to be the origin of all the mountains of the Korean peninsula, and its heights are a sacred place among the region's many faiths and peoples."
building_mount_baekdu_01: "$building_type_mount_baekdu_01$"
building_mount_baekdu_01_desc: "$building_type_mount_baekdu_01_desc$"

View file

@ -0,0 +1,177 @@
l_english:
master_of_hunt_court_position_task_dangerous_game: "Track Dangerous Game"
master_of_hunt_court_position_task_dangerous_game_desc: "Your $master_of_hunt_court_position$ will track down dangerous game, such as wolves or bears, that would yield a lot of prestige to hunt."
master_of_hunt_court_position_task_dangerous_game_tt: "Every year your $master_of_hunt_court_position$ has a chance of [hunt_sighting_no_prefix|E] dangerous game for you to[GetActivityType('activity_hunt').GetTextIcon][GetActivityType('activity_hunt').GetName]\n$master_of_hunt_court_position_task_generic_tt$"
master_of_hunt_court_position_task_regular_game: "Track Regular Game"
master_of_hunt_court_position_task_regular_game_desc: "Your $master_of_hunt_court_position$ will track down regular game, such as foxes or deer, that would yield an average amount of prestige to hunt."
master_of_hunt_court_position_task_regular_game_tt: "Every year your $master_of_hunt_court_position$ has a chance of [hunt_sighting_no_prefix|E] regular game for you to[GetActivityType('activity_hunt').GetTextIcon][GetActivityType('activity_hunt').GetName]\n$master_of_hunt_court_position_task_generic_tt$"
master_of_hunt_court_position_task_legendary_game: "Track Legendary Game"
master_of_hunt_court_position_task_legendary_game_desc: "Your $master_of_hunt_court_position$ will attempt to track down legendary beasts that would yield an enormous of prestige to hunt."
master_of_hunt_court_position_task_legendary_game_tt: "Every year your $master_of_hunt_court_position$ has a small chance of [hunt_sighting_no_prefix|E] legendary game for you to[GetActivityType('activity_hunt').GetTextIcon][GetActivityType('activity_hunt').GetName]\n$master_of_hunt_court_position_task_generic_tt$"
master_of_hunt_court_position_task_generic_tt: "The frequency of [hunt_sightings_no_prefix|E] increases with [aptitude|E] #weak (max one Sighting every 3 years)#!"
court_jester_court_position_task_entertain_court: "Entertain Courtiers"
court_jester_court_position_task_entertain_court_desc: "Your $court_jester_court_position$ will spend their time entertaining your courtiers with jokes, stories, and acrobatics."
court_jester_court_position_task_entertain_court_tt: "Every year the $court_jester_court_position$ has a chance to reduce the [stress_loss_i] [stress|E] of a random [courtier|E] #weak (preferring those close to you, such as your [children|E])#!\nIf their [aptitude|E] is at least $aptitude_good$, up to two [courtiers|E] can be targeted every year"
foreign_emissary_court_position_task_entertain_court_tt: "Every year the $foreign_emissary_court_position$ has a chance to reduce the [stress_loss_i] [stress|E] of a random [courtier|E] #weak (preferring those close to you, such as your [children|E])#!\nIf their [aptitude|E] is at least $aptitude_good$, up to two [courtiers|E] can be targeted every year"
court_jester_court_position_task_fuel_the_rumour_mill: "Fuel the Rumor Mill"
court_jester_court_position_task_fuel_the_rumour_mill_desc: "This character will spend their time spreading nonsensical rumors and misleading stories to slow down enemy schemes."
court_jester_court_position_task_fuel_the_rumour_mill_tt: "Every year the $court_jester_court_position$ has a chance to reduce the [stress_loss_i] [stress|E] of a random [courtier|E] #weak (preferring those close to you, such as your [children|E])#!"
court_jester_court_position_task_abuse_the_jester: "Abuse the Jester"
court_jester_court_position_task_abuse_the_jester_desc: "Your $court_jester_court_position$ will spend their time being abused and humiliated."
court_jester_court_position_task_abuse_the_jester_tt: "Every year the $court_jester_court_position$ has a chance to reduce the [stress_loss_i] [stress|E] of a random [courtier|E] #weak (preferring those close to you, such as your [children|E])#!"
court_artificer_court_position_task_martial: "Create Weapons, Armor, & go Adventuring"
court_artificer_court_position_task_martial_desc: "Your $court_artificer_court_position$ will gather inspiration to make swords, shields, armor, and go adventuring for the martially-inclined ruler."
court_artificer_court_position_task_martial_tt: "Every year the $court_artificer_court_position$ has a chance to gain a #V Weapon#!, #V Armor#!, or #V Adventure#! [inspiration|E] #weak (preferring [artifacts|E] you do not already have)#!\n$court_artificer_court_position_task_improved_chances_tt$"
court_artificer_court_position_task_learning: "Create Books & Tapestries"
court_artificer_court_position_task_learning_desc: "Your $court_artificer_court_position$ will gather inspiration to make books, tapestries, or archemical concoctions to please the learned ruler."
court_artificer_court_position_task_learning_tt: "Every year the $court_artificer_court_position$ has a chance to gain a #V Book#!, #V Weaver#!, or #V Alchemy#! [inspiration|E] #weak (preferring [artifacts|E] you do not already have)#!\n$court_artificer_court_position_task_improved_chances_tt$"
court_artificer_court_position_task_stewardship: "Create Crowns & Sculptures"
court_artificer_court_position_task_stewardship_desc: "Your $court_artificer_court_position$ will gather inspiration to make regalia, crowns, thrones, and other artifacts for the stewardly ruler."
court_artificer_court_position_task_stewardship_tt: "Every year the $court_artificer_court_position$ has a chance to gain a #V Smith#! or #V Artisan#! [inspiration|E]\n$court_artificer_court_position_task_improved_chances_tt$"
court_artificer_court_position_task_improved_chances_tt: "Using this task drastically increases the chance of gaining an [inspiration|E]"
must_have_an_equipped_illustrious_court_artifact: "You do #bold not#! have an equipped #V Illustrious#! [court_artifact|E]"
must_have_upgradeable_artifact_tt: "You do #bold not#! have an equipped [artifact|E] that can be upgraded"
antiquarian_court_position_task_scout_for_artifacts: "Search for Rare Artifacts"
antiquarian_court_position_task_scout_for_artifacts_desc: "Your $antiquarian_court_position$ will scour ancient tomes and investigate loose rumors, searching for those who might be able to bring something spectacular back to court."
antiquarian_court_position_task_scout_for_artifacts_tt: "Every year the $antiquarian_court_position$ has a chance to give someone at [court|E] an Adventure [inspiration|E] #weak (Chance increases with [aptitude|E])#!"
antiquarian_inspired_adventurer_message: "$antiquarian_court_position$ Inspires Adventure!"
antiquarian_inspired_adventurer_effect: "Your [ROOT.Char.Custom2('RelationToMeShort', SCOPE.sC('adventure_target'))] [adventure_target.GetFirstName] gained an #V Adventure#! [inspiration|E]"
antiquarian_court_position_task_improve_artifacts: "Improve Artifacts"
antiquarian_court_position_task_improve_artifacts_desc: "Your $antiquarian_court_position$ will improve and polish artifacts so that they are as impressive and effective as they can possibly be."
antiquarian_court_position_task_improve_artifacts_tt: "Every year the $antiquarian_court_position$ has a chance to improve an equipped [artifact|E]\nThe chance of improvement #weak (#bold not#! the quality)#! increases with [aptitude|E]\nCommon [artifacts|E] can be improved once, Masterworks twice, and so on"
antiquarian_improved_artifact_message: "[artifact_target.GetName] Improved!"
artifact_prowess_1_modifier: "Prowess"
artifact_knight_effectiveness_1_modifier: "Knight Effectiveness"
artifact_glory_hound_levy_contribution_mult_1_modifier: "Glory Hound Levy Contribution"
artifact_enemy_hard_casualty_modifier_1_modifier: "Enemy Hard Casualty Modifier"
artifact_plains_advantage_1_modifier: "Plains Advantage"
artifact_farmlands_advantage_1_modifier: "Farmlands Advantage"
artifact_hills_advantage_1_modifier: "Hills Advantage"
artifact_mountains_advantage_1_modifier: "Mountains Advantage"
artifact_desert_advantage_1_modifier: "Desert Advantage"
artifact_desert_mountains_advantage_1_modifier: "Desert Mountain Advantage"
artifact_oasis_advantage_1_modifier: "Oasis Advantage"
artifact_jungle_advantage_1_modifier: "Jungle Advantage"
artifact_forest_advantage_1_modifier: "Forest Advantage"
artifact_taiga_advantage_1_modifier: "Taiga Advantage"
artifact_wetlands_advantage_1_modifier: "Wetlands Advantage"
artifact_steppe_advantage_1_modifier: "Steppe Advantage"
artifact_floodplains_advantage_1_modifier: "Floodplains Advantage"
artifact_drylands_advantage_1_modifier: "Drylands Advantage"
artifact_controlled_province_advantage_1_modifier: "Controlled Territory Defender Advantage"
artifact_hard_casualty_modifier_1_modifier: "Hard Casualty Modifier"
artifact_monthly_minor_prestige_1_modifier: "Monthly Prestige"
artifact_monthly_prestige_1_modifier: "Monthly Prestige"
artifact_monthly_piety_1_modifier: "Monthly Piety"
artifact_monthly_prestige_add_1_modifier: "Monthly Renown"
artifact_short_reign_duration_mult_1_modifier: "Short Reign Reduction"
artifact_short_reign_duration_mult_3_modifier: "$artifact_short_reign_duration_mult_1_modifier$"
artifact_monthly_tyranny_1_modifier: "Monthly Tyranny Reduction"
artifact_happy_powerful_vassal_tax_contribution_mult_1_modifier: "Powerful Vassal Councillor Tax Contribution"
artifact_courtly_tax_contribution_mult_1_modifier: "Courtly Tax Contribution"
artifact_courtly_vassal_opinion_1_modifier: "Courtly Opinion"
artifact_powerful_vassal_opinion_1_modifier: "Powerful Vassal Opinion"
artifact_parochial_vassal_opinion_1_modifier: "Parochial Opinion"
artifact_parochial_tax_contribution_mult_1_modifier: "Parochial Tax Contribution"
artifact_courtier_and_guest_opinion_1_modifier: "Courtier and Guest Opinion"
artifact_men_at_arms_maintenance_1_modifier: "Men-at-Arms Maintenance Reduction"
artifact_build_gold_cost_1_modifier: "Build Cost Reduction"
artifact_domain_tax_mult_1_modifier: "Domain Taxes"
artifact_zealot_vassal_opinion_1_modifier: "Zealot Opinion"
artifact_zealot_tax_contribution_mult_1_modifier: "Zealot Tax Contribution"
artifact_belligerent_tax_contribution_mult_1_modifier: "Belligerent Tax Contribution"
artifact_court_grandeur_baseline_add_1_modifier: "Court Grandeur"
artifact_development_growth_1_modifier: "Development Growth"
artifact_glory_hound_vassal_opinion_1_modifier: "Glory Hound Opinion"
artifact_belligerent_vassal_opinion_1_modifier: "Belligerent Opinion"
artifact_vassal_limit_1_modifier: "Vassal Limit"
artifact_owned_scheme_secrecy_add_1_modifier: "Scheme Secrecy"
artifact_hostile_scheme_phase_duration_add_1_modifier: "Hostile Scheme Speed"
artifact_personal_scheme_phase_duration_add_1_modifier: "Personal Scheme Speed"
artifact_learn_language_scheme_phase_duration_add_1_modifier: "Learn Language Scheme Speed"
artifact_monthly_lifestyle_xp_minor_modifier: "Monthly Lifestyle Experience"
artifact_monthly_lifestyle_xp_miniscule_modifier: "Monthly Lifestyle Experience"
artifact_glory_hound_tax_contribution_mult_1_modifier: "Glory Hound Tax Contribution"
artifact_mercenary_hire_cost_mult_1_modifier: "Mercenary Hire Cost"
artifact_fertility_growth_1_modifier: "Fertility Growth"
artifact_herd_gain_1_modifier: "Herd Gain"
artifact_herd_conversion_1_modifier: "Herd Conversion"
artifact_health_gain_2_modifier: "Improved Health"
artifact_dread_baseline_add_2_modifier: "Dread"
artifact_pursue_efficiency_2_modifier: "Pursue Efficiency"
artifact_controlled_province_advantage_5_modifier: "Controlled Province Advantage"
artifact_negate_health_penalty_add_2_modifier: "Negate Health Penalty"
artifact_scheme_resistance_add_3_modifier: "Scheme Resistance"
antiquarian_court_position_task_exibit_artifacts: "Exibit Illustrious Artifacts"
antiquarian_court_position_task_exibit_artifacts_desc: "Your $antiquarian_court_position$ will exibit your illustrious artifacts to the public, showing everyone that you are in possession of something truly unique."
court_musician_court_position_task_bolster_legitimacy: "Bolster Legitimacy"
court_musician_court_position_task_bolster_legitimacy_desc: "This character will strengthen your right to rule through song and dance."
cupbearer_court_position_task_flatter_dignitaries: "Flatter Dignitaries"
cupbearer_court_position_task_flatter_dignitaries_desc: "This character will make sure that the cups of those you care for the most runneth over with vigor."
cupbearer_court_position_task_collect_tallage: "Collect Tallage"
cupbearer_court_position_task_collect_tallage_desc: "Your $cupbearer_court_position$ will collect extra taxes from vassal socialites and revelers, the feasts must not run out of food and drink, after all!"
cupbearer_court_position_task_collect_tallage_tt: "You do not have any [GetVassalStance( 'courtly' ).GetName] [vassals|E]"
high_almoner_court_position_task_appease_zealots_tt: "You do not have any [GetVassalStance( 'zealot' ).GetName] [vassals|E]"
chief_qadi_court_position_task_public_alms: "Lead Public Sadaqah"
chief_qadi_court_position_task_public_alms_desc: "Your $chief_qadi_court_position$ will divide alms to the poor and destitute of your domain in your name."
high_almoner_court_position_task_appease_zealots: "Appease Zealots"
high_almoner_court_position_task_appease_zealots_desc: "This character will drum up your name in the eyes of the pious vassals of the realm."
food_taster_court_position_task_brew_poisons: "Brew Poisons"
food_taster_court_position_task_brew_poisons_desc: "This character will spend their time behind the scenes, concocting poisons for use in schemes."
food_taster_court_position_task_ear_to_the_ground: "Keep an Ear to the Ground"
food_taster_court_position_task_ear_to_the_ground_desc: "This character will spend their time hiding behind curtains, listening intently for rumors and gossip."
court_poet_court_position_task_create_poetry: "Write Poetry"
court_poet_court_position_task_create_poetry_desc: "Your $court_poet_court_position$ will spend their time penning and reciting beautiful poems about you, your realm, and your achievements."
court_poet_court_position_task_create_poetry_tt: "Every year the $court_poet_court_position$ will write a poem, giving you a [modifier|E] improving either your [legitimacy|E], [piety|E], [advantage|E], or [attraction|E] for three years #weak (Effect increases with [aptitude|E])#!"
court_poet_court_position_task_japanese_legacy_addendum: "Each finished Poem will provide a one time increase of [bloc_cohesion|E]"
court_poet_poetry_desc: "[court_poet_from_task.Custom('GeneratePoem_Outro_Rhyming')]"
court_poet_poetry_title: "[court_poet_from_task.Custom('GeneratePoem_Title')|U]"
court_poet_romance_aptitude_1_modifier: "Court Poet: Poetry about Romance"
court_poet_romance_aptitude_2_modifier: "$court_poet_romance_aptitude_1_modifier$"
court_poet_romance_aptitude_3_modifier: "$court_poet_romance_aptitude_1_modifier$"
court_poet_romance_aptitude_4_modifier: "$court_poet_romance_aptitude_1_modifier$"
court_poet_romance_aptitude_5_modifier: "$court_poet_romance_aptitude_1_modifier$"
court_poet_mourning_aptitude_1_modifier: "Court Poet: Poetry about Mourning"
court_poet_mourning_aptitude_2_modifier: "$court_poet_mourning_aptitude_1_modifier$"
court_poet_mourning_aptitude_3_modifier: "$court_poet_mourning_aptitude_1_modifier$"
court_poet_mourning_aptitude_4_modifier: "$court_poet_mourning_aptitude_1_modifier$"
court_poet_mourning_aptitude_5_modifier: "$court_poet_mourning_aptitude_1_modifier$"
court_poet_legacy_aptitude_1_modifier: "Court Poet: Poetry about Legacy"
court_poet_legacy_aptitude_2_modifier: "$court_poet_legacy_aptitude_1_modifier$"
court_poet_legacy_aptitude_3_modifier: "$court_poet_legacy_aptitude_1_modifier$"
court_poet_legacy_aptitude_4_modifier: "$court_poet_legacy_aptitude_1_modifier$"
court_poet_legacy_aptitude_5_modifier: "$court_poet_legacy_aptitude_1_modifier$"
court_poet_strife_aptitude_1_modifier: "Court Poet: Poetry about Strife"
court_poet_strife_aptitude_2_modifier: "$court_poet_strife_aptitude_1_modifier$"
court_poet_strife_aptitude_3_modifier: "$court_poet_strife_aptitude_1_modifier$"
court_poet_strife_aptitude_4_modifier: "$court_poet_strife_aptitude_1_modifier$"
court_poet_strife_aptitude_5_modifier: "$court_poet_strife_aptitude_1_modifier$"
drinks_alcohol: "They drink alcohol"

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,563 @@
l_english:
governor_tax_scheme: "Collect Taxes"
governor_tax_scheme_desc_general: "In a Collect Taxes [scheme|E], you attempt to gather intelligence about missing taxes, and make the suspected village pay up."
governor_tax_scheme_desc: "Taxes are carefully collected and noted down for every district and village, making it possible to see when taxes have been, in fact, paid as required. And, more importantly, when payments are #EMP missing#!."
governor_tax_scheme_action: "Collect Taxes in"
governor_tax_scheme_invalidated_title: "$governor_tax_scheme$ Scheme Invalidated"
msg_governance_contract_appear.t: "New Governance Issue"
msg_governance_contract_appear.desc: "A [new_governance_issue.GetType.GetName|V] [governance_issue|E] has appeared in [target_province.GetName], within the [target_province.GetCounty.GetTitle.GetName]"
task_contract_governance_desc_title: "My judgment as an Official is needed!"
overdue_taxes_contract: "Overdue Taxes"
overdue_taxes_desc: "Whether by conspiracy, deprivation or sheer negligence, a village in this region has failed to send the share of their produce owed as taxes."
overdue_taxes_desc_title: "$task_contract_governance_desc_title$"
hoarding_mayor_contract: "Hoarding Mayor"
hoarding_mayor_desc: "The mayor of this barony is gathering, and hoarding, a lot more gold than one would expect. The mayor may not be sending enough taxes upwards, or perhaps isn't investing enough into the city itself."
hoarding_mayor_desc_title: "$task_contract_governance_desc_title$"
bountiful_harvest_contract: "Bountiful Harvest"
bountiful_harvest_desc: "Reports of wondrous plenty, of tall crops and verdant fields, come in from across the [GetPlayer.Custom('GetProvinceConceptNoTooltip')]. Such a significant boon ought to be put to good use. Leave not the crops to spoil!"
bountiful_harvest_desc_title: "$task_contract_governance_desc_title$"
rampant_bandits_contract: "Rampant Bandits"
rampant_bandits_desc: "Outlaws and unruly nomads beset this region of your [GetPlayer.Custom('GetProvinceConceptNoTooltip')]. For locals to be safe, for traders to move freely: they need to be dealt with."
rampant_bandits_desc_title: "$task_contract_governance_desc_title$"
governor_contract_event.1000.t: "Overdue Taxes"
governor_contract_event.1000.desc: "My clerks insist that a village in [tax_destination.GetName] is significantly behind with their taxes.\n\nIt would be a serious neglect of my duty to ignore the matter. The ledgers make it clear: taxes #EMP are#! missing. Shipments were never sent.\n\nAt the moment, the cause of these omissions is unknown. This matter may be one for officials... or one for soldiers."
governor_contract_event.1000.a: "Let's launch an investigation!"
governor_contract_event.1001.desc: "My entourage struggles along an ill-maintained country path, amidst scattered [ROOT.Char.GetCurrentLocation.Custom('get_region_flower_type_plural')] and the occasional [ROOT.Char.Custom('RegionalFarmAnimal')]... my destination, the tax-owing village, really is quite rustic and #EMP quite#! unremarkable — despite being not a day's journey from [tax_destination.GetName] proper.\n\nA few of the locals, dressed in their distinctive traditional garb, have gathered at the village center. I am welcomed peaceably, though without warmth.\n\nI must consider how to approach my investigation."
governor_contract_event.1001.a: "An inquisitive method will serve me best."
governor_contract_event.1001.b: "Let's look around and see what comes to light."
governor_contract_event.1001.a_tt: "Travel to [tax_destination.GetName] and investigate the issue"
governor_contract_event.1001.success: "Your investigation is a success"
governor_contract_event.1001.failure: "Your investigation is a failure"
governor_contract_event.1001.a.success: "I persuade the villagers to talk"
governor_contract_event.1001.a.failure: "I am unable to learn anything from the villagers"
governor_contract_event.1001.b.success: "I inspect the village and learn what I need"
governor_contract_event.1001.b.failure: "I am unable to learn what I need from the village"
governor_contract_event.1003.t: "Overdue Taxes: Success"
governor_contract_event.1003.desc_diplomacy: "Speaking with the villagers proved unexpectedly fruitful!\n\nHeads of kin were eager to list the members of their families, and gladly extolled the productivity of their plots. Some even #EMP boasted#! of their livestock! Farmers led me about their fields, explaining how much they could expect to gain from the harvest."
governor_contract_event.1003.desc_stewardship: "Taking careful stock of every [ROOT.Char.Custom('RegionalFarmAnimal')], every stalk of barley, every homespun blanket and clay pot has yielded a good estimate of the taxes these serfs #EMP ought#! to pay."
governor_contract_event.1003.desc_outro: "\n\nSome unexplained oversight, unintentional or intentional, seems the cause of this village's failure to pay their dues. But one task remains: deciding how best to remedy the situation..."
governor_contract_event.1003.a: "Gather what produce we can, and sell half to better-develop the area."
governor_contract_event.1003.b: "They shall pay in full. And not a #EMP single#! kernel less."
governor_contract_event.1003.c: "These decent people need pay only in part."
governor_contract_event.1003.d: "Stationing a garrison here will encourage proper payment."
governor_contract_event.1003.e: "Let's assign an administrator to oversee the village."
governor_contract_event.1003.f: "A tax relief might help these people flourish?"
governor_contract_event.1004.t: "Overdue Taxes: Failure"
governor_contract_event.1004.desc: "Though I peer into cellars and granaries, though I ride about the fields, cajole with village leaders... there is no sign of withheld wealth anywhere in this hamlet. The villagers, by all appearances, are truly, utterly poor and unable to provide what they owe.\n\nWithout evidence that I have been cheated, little remains for me to do here. My ledgers must simply absorb the loss."
governor_contract_event.1004.a: "#EMP Tarnation!#!"
governor_contract_event.1010.t: "Hoarding Mayor"
governor_contract_event.1010.desc: "I have received a number of reports that [hoarding_mayor.GetTitledFirstName], who is overseeing [mayor_destination.GetName], is keeping the vast majority of the city's taxes for [hoarding_mayor.GetHerselfHimself].\n\nWhile it is expected that a mayor may indeed keep any leftover taxes, the amounts reported are #EMP excessive#!. They easily border on the corrupt. And, to worsen the matter: [hoarding_mayor.GetHerHis] actions reflects quite poorly upon #EMP me#!!"
governor_contract_event.1010.a: "I shall have to resolve this in person."
governor_contract_event.1010.a_tt: "Travel to [mayor_destination.GetName] and speak to the mayor"
governor_contract_event.1012.a_tt: "You start traveling again"
governor_contract_event.1011.desc_intro: "I waste little time upon my arrival in [mayor_destination.GetName] and ride swiftly for the mayor's residence. I barge in, unannounced, and I am at once rewarded by my spectacle.\n\n"
governor_contract_event.1011.desc_upset: "[hoarding_mayor.GetFirstName] stares at me, for a short moment dumbfounded, before recovering [hoarding_mayor.GetHerselfHimself]. As [hoarding_mayor.GetSheHe] listens to my accusations, a scowl spreads on the minister's face.\n\n"Such vile allegations! I could..." [hoarding_mayor.GetFirstNameNoTooltip] pauses and takes a deep breath. "Fine. How do you suggest we proceed?""
governor_contract_event.1011.desc_fear: "Startled, [hoarding_mayor.GetFirstName] spills [hoarding_mayor.GetHerHis] drink all over [hoarding_mayor.GetHerselfHimself] — clearly taken aback at my mere presence! [hoarding_mayor.GetHerHis|U] face grows paler and paler as I outline my accusations.\n\n"Wait! Please! Surely, this is but a misunderstanding. We can make things right, can we not?""
governor_contract_event.1011.desc_worried: "[hoarding_mayor.GetFirstName] turns and gapes at me, speechless. [hoarding_mayor.GetSheHe|U] steadies [hoarding_mayor.GetHerselfHimself] with a hand on the table as I berate [hoarding_mayor.GetHerHim], hurling accusation after accusation.\n\n"I... I am sure there is a misunderstanding, but I will of course help you resolve the situation! In any manner you see fit!""
governor_contract_event.1011.a: "Invest in the city. I will take care of any remaining coin."
governor_contract_event.1011.b: "You will give #EMP all#! excess coin to me."
governor_contract_event.1011.c: "Use it well. Invest in local infrastructure."
governor_contract_event.1011.d: "Give it back to the people by arranging festivities."
governor_contract_event.1011.e: "I'm afraid only a harsh punishment will do."
governor_contract_event.1011.f: "I could let this go... but do not forget it."
governor_contract_event.1012.t: "Governance Issue: Cancel Travel"
governor_contract_event.1012.desc: "I will not be able to do much about the current issue without traveling to its location. I am expected to handle this sort of problem directly, but perhaps I need to look the other way and focus my attention on more urgent matters..."
governor_contract_event.1012.a: "On second thought, let's go!"
governor_contract_event.1012.b: "I have more important matters to deal with."
governor_contract_event.1020.t: "Bountiful Harvest"
governor_contract_event.1020.desc: "[ROOT.Char.GetFaith.FertilityGodName] has been kind to us! In many of [ROOT.Char.GetPrimaryTitle.GetNameNoTierPossessive] villages, seemingly endless sheaves of grain are collected from fields well-watered by steady rains. And such [ROOT.Char.Custom('RegionalRootVegetablePlural')]! A significantly larger yield than last harvest is joyfully anticipated.\n\nThis is, of course, very good news. I must organize an extraordinary workforce and see to the logistics as soon as possible.\n\nNow, where shall my wagons carry these great heaps of [ROOT.Char.Custom('GetSeason')] produce...?"
governor_contract_event.1020.a: "Have it distributed equally across the province."
governor_contract_event.1020.b: "Distribute it alongside the regular grain."
governor_contract_event.1020.c: "The provincial capital must benefit."
governor_contract_event.1020.d: "Let's donate it to charity and those in need."
governor_contract_event.1020.e: "Fill the granaries and sell the excess."
governor_contract_event.1020.f: "Move #EMP all#! of it to my estate."
harvest_claim_it_yourself_estate_tt: "Amount is increased by #P +[EmptyScope.ScriptValue('estate_granary_gold_bonus_value')|+0%]#! due to the [GetDomicileBuilding('storage_granary_03').GetName] in your [estate|E]"
governor_contract_event.1030.t: "Rampant Bandits"
governor_contract_event.1030.desc: "I read the report again. #EMP Bandits#!, to whom my law-abiding taxpayers are but fat sheep for the shearing!\n\nAnd indeed, the rough outlaws have put my people to the blade... villages terrorized, caravans lost.\n\nA particularly nasty group of the cutthroats have established a firm foothold in the [task_contract_location.GetProvince.GetTerrain.GetNameNoTooltip|l] near [bandit_destination.GetName]. Until they are flushed out, the region will remain uncontrollable."
governor_contract_event.1030.a: "Gather a contingent of soldiers. We leave at once!"
governor_contract_event.1030.b: "They will be dealt with in time..."
governor_contract_event.1031.desc: "The denizens of [bandit_destination.GetName] gladly lead us right to the mouth of the [ROOT.Char.Custom('RegionalFerociousAnimal')]'s den... the encampment of outlaws lies just beyond, obscured by brush and broken terrain.\n\nFrom what I hear, I judge these foes to be nomadic warriors: tough folk living on the fringes of settled society, so flush on the wealth of my land that they've turned their raiding foray into an extended stay.\n\nThe foe is not yet alerted to my posse's presence. We have the opportunity to strike however I see fit."
governor_contract_event.1031.a: "Charge! We'll take them by surprise!"
governor_contract_event.1031.b: "Let's lay out a tactic before we attack."
governor_contract_event.1031.c: "Luring them into a trap could save us a lot of trouble."
governor_contract_event.1031.success: "You succeed and defeat the bandits"
governor_contract_event.1031.failure: "You fail and the bandits escape"
governor_contract_event.1031.b.success: "Your tactic is a triumph"
governor_contract_event.1031.b.failure: "Your choice of tactics leaves a lot to be desired"
governor_contract_event.1031.c.success: "Your trap is flawless"
governor_contract_event.1031.c.failure: "Your trap outsmarts no one"
governor_contract_event.1032.desc_tactical: "My undisciplined foe cannot hope to stand before well-trained troops! Their projectiles streak now not towards unguarded peasant flesh; they thud harmlessly into the shields of our battle-line. The criminals break off to flee, but riders on our flanks cut off all retreat.\n\nI gaze upon the dead. I consider the captured survivors."
governor_contract_event.1032.desc_trap: "Mine is a most cunning trap.\n\nA half-naked young soldier, with a stolen dinner in hand, races back towards us; the outlaws, the #EMP halfwits#!, chase right after! We leap from hiding — howling, the terrified foe recognize their mistake — and we fall upon them! Moments from death, the nomads surrender to my troops.\n\nThis group of criminals is rendered harmless, helpless."
governor_contract_event.1032.desc_charge: "A thunderous charge is an unpleasant surprise for any enemy, but the garbled screams of my criminous foes speak to how #EMP truly#! unprepared they are!\n\nThe hand-to-hand fighting between my heavily-armed troops and the half-dressed warriors staggering to their mounts lasts but a few moments. The surviving nomads are then neatly lined up in front of me."
governor_contract_event.1032.desc_outro: "\n\nThey are at my mercy."
governor_contract_event.1032.a: "Return the stolen goods; put the criminals to work."
governor_contract_event.1032.b: "Pardon their crimes."
governor_contract_event.1032.c: "How about earning honest coin for a living?"
governor_contract_event.1032.d: "They'll have to pay a fine."
governor_contract_event.1032.e: "Hang them."
governor_contract_event.1032.f: "Confiscate anything of value and have them imprisoned."
governor_contract_event.1033.desc: "[ROOT.Char.Custom('CulturalCurse')|U]!\n\nMy soldiers' attack was given away by frightened birds; we came at our foe as swiftly as we could, but the clever nomads were on their horses and spurring hard almost instantly!\n\nA few of the fleeing brigands were caught and struck dead... but far too few to dissuade the rest from further robbery and raiding.\n\nExhausted, we must head home."
governor_contract_event.1033.a: "Let's forget this incident."
governor_contract_event.1038.desc: "These bandits are unlikely to depart peaceably. The people of [bandit_destination.GetName] could suffer their attacks for quite some time, unless I interfere.\n\nBesides, as an appointed official, their safety is my responsibility."
governor_contract_event.1038.a: "I have to protect these people!"
governor_contract_event.1038.b: "The people will have to fend for themselves."
governor_contract_event.1038.a_tt: "Travel to [bandit_destination.GetName] and deal with the bandits"
discontent_soldiers: "Discontent Soldiers"
discontent_soldiers_contract: "$discontent_soldiers$"
discontent_soldiers_desc: "Discontentment spreads through your troops. Guards mutter at their posts. Minor officers care little for discipline."
discontent_soldiers_desc_title: "$task_contract_governance_desc_title$"
governor_contract_event.2000.t: "$discontent_soldiers$"
governor_contract_event.2000.desc: "The tidings from my outposts, from the provincial troops under my command, are all in agreement: discontent grows among the soldiers. Their deployments are too long, their pay too low, the local whores too ugly, the encampments too rough...\n\nFor those living in a military camp, the causes to complain are always many, but even with a small intervention I could hope to improve their spirits... it would certainly go a long way to increase my popularity, and the safety of my position."
governor_contract_event.2000.a: "I'll grant every senior officer a land plot."
governor_contract_event.2000.b: "They don't have it as bad as [other_gov.GetTitledFirstNamePossessiveNoTooltip] troops!"
governor_contract_event.2000.c: "They have earned some time off."
governor_contract_event.2000.d: "They shall be punished for their insubordination!"
governor_contract_event.2000.e: "More money will make them happy."
ep3_settled_troops_province_modifier: "Settled Troops"
ep3_settled_troops_province_modifier_desc: "The officers of the troops stationed in this province have received local plots of land to settle."
ep3_longer_breaks_province_modifier: "Troops on Break"
ep3_longer_breaks_province_modifier_desc: "The troops stationed in this province have been granted longer breaks to increase morale."
ep3_better_paid_soldiers_modifier: "Incentivized Troops"
ep3_better_paid_soldiers_modifier_desc: "This character is known for paying their troops more than needed, and happy troops are effective troops."
inept_mayor: "Inept Mayor"
inept_mayor_contract: "$inept_mayor$"
inept_mayor_desc: "This key official has proven almost wholly incompetent. Local nobles, the common mob, and even your own ministers grow increasingly dissatisfied."
inept_mayor_desc_title: "$task_contract_governance_desc_title$"
governor_contract_event.2010.t: "$inept_mayor$"
governor_contract_event.2010.desc: "I pore over the litany of complaints sent from [mayor_destination.GetName], noting accusations against "that [inept_mayor.Custom2('InsultNoun', ROOT.Char)], [inept_mayor.GetFirstName]"; how, with "[inept_mayor.Custom2('InsultAdjective', ROOT.Char)] criminality," [inept_mayor.GetSheHe] has allegedly drained the [inept_mayor.GetPrimaryTitle.GetTierAsNameNoTooltip|l] of funds.\n\nThere is, indeed, something deeply #EMP wrong#! with the city's contability: wealth seems to disappear from the balance inexplicably, the numbers of state-paid officials change day by day, and the documentation on land ownership is littered with inconsistencies."
governor_contract_event.2010.a: "I should pay [mayor_destination.GetNameNoTooltip] a visit."
governor_contract_event.2011.desc_intro: "When I reach [mayor_destination.GetName], I hurry into the offices of the local mayor, [inept_mayor.GetFirstName]. Seemingly taken by surprise, the bureaucrat quickly shoos [inept_mayor.GetHerHis] servants away. Ledgers are clutched in their arms.\n\n"I've come to verify your administration's contability," I state, solemnly frowning."
governor_contract_event.2011.desc_fear: "\n\n"Is it about, uh, that consignment of grain?" stutters the mayor. "The silk import? Yes, my contacts are a little unorthodox, but they've been pardoned for their crimes! Well... #EMP most of them.#! I'll undo these orders, my [ROOT.Char.GetTitleAsName], all of them; you needn't worry!""
governor_contract_event.2011.desc_upset: "\n\n"My [ROOT.Char.GetTitleAsName], surely you cannot doubt my utter devotion to my position? My well-tested competence?!" The mayor puffs [inept_mayor.GetHerselfHimself] up, sizing me up for a confrontation.\n\nBut I am [inept_mayor.GetHerHis] superior."
governor_contract_event.2011.desc_worried: "\n\n"Troublesome news, my [ROOT.Char.GetTitleAsName]?" [inept_mayor.GetFirstNameNoTooltip] chuckles unconvincingly, "The local grandees have swollen tongues and vivid imaginations; best to simply avoid the noisier ones...""
governor_contract_event.2011.a: "Show me the ledgers."
governor_contract_event.2011.b: "You are unworthy of your post."
governor_contract_event.2011.c: "I am calling in my experts from the capital."
governor_contract_event.2011.d: "You'll personally pay for all losses!"
ep3_mismanaged_administration_modifier: "Incompetence in Administration"
ep3_mismanaged_administration_modifier_desc: "One of the main centers in this county is so deeply mismanaged that the whole area is suffering."
prov_investment: "Provincial Investment"
prov_investment_contract: "$prov_investment$"
prov_investment_desc: "An opportunity has presented itself for you to invest in the capital of your governorship."
prov_investment_desc_title: "$task_contract_governance_desc_title$"
governor_contract_event.2020.t: "$prov_investment$"
governor_contract_event.2020.desc: "How good it feels when diligent governorship meets fine results!\n\nThe treasury of [ongoing_destination.GetName] is filled to the brim, and I have been tasked by the central administration with reinvesting the surplus locally."
governor_contract_event.2020.a: "Infrastructure is the key to success."
governor_contract_event.2020.b: "Doing the work of [ROOT.Char.GetFaith.HighGodName] on earth is a privilege."
governor_contract_event.2020.c: "Let's erect a grand statue in [emperor.GetTitledFirstNamePossessiveNoTooltip] name!"
governor_contract_event.2020.c_tt: "Unfortunately, that implies #EMP reappropriating#! construction materials from all over the area..."
governor_contract_event.2020.d: "The local traders could use the extra help."
governor_contract_event.2020.e: "Our brave soldiers deserve better!"
governor_contract_event.2020.f: "Food for the people is the solution!"
governor_contract_event.2021.t: "$prov_investment$: Success"
governor_contract_event.2021.desc_infrastructure: "The busiest thoroughfares in [task_contract_location.GetNameNoTier] are the first to be renewed. My hired laborers toil and, with exemplary pay on offer, progress is swift."
governor_contract_event.2021.desc_church: "The plans for [task_contract_location.GetNameNoTierPossessive] new [ROOT.Char.GetFaith.HouseOfWorship] are an immaculate image of divine inspiration, though — compared to the great holy places of the world — ours is but a humble site. Let the faithful be gathered together!"
governor_contract_event.2021.desc_monument: "The visage of [emperor.GetFaith.WealthGodName], one of [emperor.GetTitledFirstNamePossessive] chief patrons, is lovingly — and quite flatteringly — recreated by my artisans. The great sovereign's name is inscribed below... as is mine."
governor_contract_event.2021.desc_traders: "Goods come flooding in! Commerce thrives, fed merely by my pronouncement of relief on a few key tariffs. Now, to clear stinking livestock from that unused end of the local forum..."
governor_contract_event.2021.desc_military: "The sounds of celebratory revelry drift up from the barracks; with the wealth I've heaped upon them, the loyalty and fighting fitness of my troops is most assured! My captains lead the rest in chanting out my name."
governor_contract_event.2021.desc_food: "Even the lowest of beggars in [task_contract_location.GetNameNoTier] sleeps with a full stomach tonight. My distribution of grain has bright-faced families hoisting sheaves up to the rafters; all the region smells of fresh-baked bread."
governor_contract_event.2021.desc: "\n\nThis choice of investment proved sagacious. With but early results on display, I am already praised and feted by the people under my care."
governor_contract_event.2021.a: "A job well done."
governor_contract_event.2022.t: "$prov_investment$: Failure"
governor_contract_event.2022.desc_monument: "I have informed the capital's administration of my newest monument, the jewel-ornamented statue of ostentatious grandeur... and I've heard nothing in return. [emperor.GetTitledFirstName] does not deign to honor me for my act of fealty, if indeed [emperor.GetSheHe] knows of it at all."
governor_contract_event.2022.desc_traders: "With my adjustment of taxes and tariffs, traders crow in delight at new profits... but we see no increase in revenue. What's more, local artisans and laborers complain of my administration: in the face of newly-cheapened imports, they struggle to offload their goods."
governor_contract_event.2022.desc_military: "The troops were not quite #EMP level-headed#! with regards to their sudden bonus in salary... with wild abandon, they threw their pay into an orgy of unsavory revels.\n\nNow, beloved captains face criminal charges, soldiers bear wounds from brawling with the locals, and for all I am somehow held to blame"
governor_contract_event.2022.desc: "\n\nThis, sadly, has not played out as I expected. And my province's surplus is lost."
governor_contract_event.2022.a: "Unfortunate."
governor_contract_event.2020.success: "The investment is a success"
governor_contract_event.2020.failure: "The investment is a failure"
ep3_contract_infrastructure_modifier: "Developing Infrastructure"
ep3_contract_infrastructure_modifier_desc: "Roads, messenger stations, water provision, and all a county needs to grow."
ep3_food_distribution_modifier: "Food Distribution"
ep3_food_distribution_modifier_desc: "A surplus of money in the local government has been used to import cheap food for the wider populace."
ep3_invested_military_modifier: "Improved Military"
ep3_invested_military_modifier_desc: "A significant amount of gold has been invested into the troops stationed in this county."
raiding_peasants: "Raiding Peasants"
raiding_peasants_contract: "$raiding_peasants$"
raiding_peasants_desc: "A self-organized band of peasants has been raiding our lands from across the border."
raiding_peasants_desc_title: "$task_contract_governance_desc_title$"
governor_contract_event.2030.t: "$raiding_peasants$"
governor_contract_event.2030.desc: "Concerning news have come from [ongoing_destination.GetName].\n\nApparently, a group of local peasants has taken up arms and, in unruly gangs, ventured beyond our borders into [neighbor.GetCulture.GetNameNoTooltip] territory.\n\nThe practice itself is unlikely to cause diplomatic concerns, but military actions — and the possession of weapons — are a prerogative of the army. Any violation of the law, therefore, must be investigated."
governor_contract_event.2030.a: "I need to see it for myself."
governor_contract_event.2030.a.tt: "You travel to [ongoing_destination.GetNameNoTooltip]"
governor_contract_event.2031.desc: "When I reach [ongoing_destination.GetName], my information prove to be correct. It doesn't take my guards long to round up a considerable group of locals, all in possession of unauthorized weapons.\n\n"We need them to defend ourselves and our families!" they protest. "Those [neighbor.GetCulture.GetNameNoTooltip] scoundrels can't be trusted! They need to learn to stay well away from us!""
governor_contract_event.2031.a: "You shall all work for me — legally."
governor_contract_event.2031.b: "Banditry is punished with death."
governor_contract_event.2031.c: "Do you need any #EMP unofficial#! help?"
governor_contract_event.2031.d: "You are supposed to be working your fields."
governor_contract_event.2031.e: "Give me all the gold you raided and you can go!"
ep3_peasant_border_raids_modifier: "Peasants' Border Raids"
ep3_peasant_border_raids_modifier_desc: "The local peasants have armed themselves and are actively protecting their borders."
ep3_peasant_workers_modifier: "Back to the Fields"
ep3_peasant_workers_modifier_desc: "The local militia has been disbanded and the peasants sent back to the fields."
wild_predators: "Predatory Beasts"
wild_predators_contract: "$wild_predators$"
wild_predators_desc: "Wild beasts eat the animals of a local game preserve and harry the locals. Sightings are oft reported near their villages; bloody incidents in their paddocks."
wild_predators_desc_title: "$task_contract_governance_desc_title$"
governor_contract_event.2040.t: "$wild_predators$"
governor_contract_event.2040.desc: "The news from [ongoing_destination.GetName] is dire, and fearfully told.\n\nLocal wildlife are becoming scarcer and scarcer, their numbers collapsing due to a growing [ROOT.Char.Custom('RegionalFerociousAnimal')] presence. These fiends, made braver by their mounting numbers, are not content with depopulating the wilderness, but can now be seen lurking around my people's settlements.\n\nLivestock and children are closely watched, but still... the outskirts of [ongoing_destination.GetName] are not safe."
governor_contract_event.2040.a: "I need to do something."
governor_contract_event.2041.desc: "My arrival in [ongoing_destination.GetName] is amidst tragedy and worry. Locals mutter that — in the safety of an enclosure — a prize [ROOT.Char.Custom('RegionalFarmAnimal')] was recently torn apart by an enormous [ROOT.Char.Custom('RegionalFerociousAnimal')].\n\nA quick ride about the region proves this information reliable; wild game is rare to see, and the signs of [ROOT.Char.Custom('RegionalFerociousAnimal')] attacks are everywhere.\n\nThey say an infant is missing. They say tiny, shattered bones were found."
governor_contract_event.2041.a: "I know just the right professionals."
governor_contract_event.2041.a.tt: "You send in expert poisoners to selectively kill the out-of-control predators with bait"
governor_contract_event.2041.b: "I shall hunt the creatures myself!"
governor_contract_event.2041.c: "We need more hunters."
governor_contract_event.2041.d: "The local peasants can handle it."
governor_contract_event.2041.e: "I've always wanted an exotic pet..."
governor_contract_event.2041.e.tt: "Send your guards to capture as many animals as they can"
governor_contract_event.2041.f: "Just import and release more prey!"
governor_contract_event.2041.b.success: "The great hunt goes well"
governor_contract_event.2041.b.fail: "Your hunting party descends into chaos"
governor_contract_event.2041.c.success: "Many trappers come to claim the beasts"
governor_contract_event.2041.c.fail: "Few take interest in stalking a [ROOT.Char.Custom('RegionalFerociousAnimal')]"
governor_contract_event.2041.d.success: "Local bushcraft prevails"
governor_contract_event.2041.d.fail: "The peasants are but fodder"
governor_contract_event.2041.e.success: "Every last [ROOT.Char.Custom('RegionalFerociousAnimal')] is caged"
governor_contract_event.2041.e.fail: "Your pens remain empty"
governor_contract_event.2042.desc: "Victory!\n\n[ongoing_destination.GetName] is free of the wilderness's terrors, purged of its [ROOT.Char.Custom('RegionalFerociousAnimal')] problem — my determined intervention has delivered the commoners from fear!\n\nIn the [ongoing_destination.GetTerrain.GetNameNoTooltip|l] where I stand, [ROOT.Char.GetFaith.HighGodNamePossessive] innocent grazing creatures, his skittish plant-eaters, will soon range freely once again."
governor_contract_event.2042.a: "I take full credit for this success."
governor_contract_event.2043.desc: "Gnashing teeth, claws like spear-heads, great slobbering maws just behind — blind with terror, we flee the [ongoing_destination.GetTerrain.GetNameNoTooltip|l] of [ongoing_destination.GetName], hardly escaping with our lives!\n\nThe [ROOT.Char.Custom('RegionalFerociousAnimal')] menace here is truly unstoppable. Perhaps it is, even, the wild servants of [ROOT.Char.GetFaith.DevilName] who haunt this hamlet?\n\n[ROOT.Char.Custom('CulturalCurse')|U]! I can only depart, leaving the locals to be terrorized by the creatures..."
governor_contract_event.2043.a: "I can only hope they start eating #EMP each other...#!"
ep3_abundant_game_modifier: "Abundant Game"
ep3_abundant_game_modifier_desc: "Game is abundant in this area, making Hunts more successful."
ep3_wild_predators_modifier: "$wild_predators$"
ep3_wild_predators_modifier_desc: "An abundance of wild predators prowls in these lands, killing peasants and game alike."
ep3_ferocious_pets_modifier: "Ferocious Pets"
ep3_ferocious_pets_modifier_desc: "This character has developed an expensive taste for ferocious pets."
evil_presence: "An Evil Presence"
evil_presence_contract: "$evil_presence$"
evil_presence_desc: "Terrified commoners claim to be persecuted by an evil presence. Unable to comfort this beleaguered flock, local clerics request your intervention."
evil_presence_desc_title: "$task_contract_governance_desc_title$"
governor_contract_event.2050.t: "$evil_presence$"
governor_contract_event.2050.desc: "The local [ongoing_destination.GetCounty.GetFaith.PriestNeuterPlural] of [ongoing_destination.GetName] write to me, panicky, snatching at my attention with dire warnings of violence-to-come.\n\nThe local populace is in a frenzy over a series of suspicious events: ill omens, such as"
governor_contract_event.2051.desc_a: "spoiled fish,"
governor_contract_event.2051.desc_b: "fevers,"
governor_contract_event.2051.desc_c: "fighting spouses,"
governor_contract_event.2051.desc_d: "children waking up screaming in the night,"
governor_contract_event.2051.desc_e: "mass headaches,"
governor_contract_event.2051.desc_f: "failed hunts,"
governor_contract_event.2051.desc_g: "sick cows,"
governor_contract_event.2051.desc_h: "ruined production,"
governor_contract_event.2051.desc_i: "ruined fields,"
governor_contract_event.2051.desc_l: "and weird apparitions of dogs."
governor_contract_event.2051.desc_m: "and weird apparitions of horses."
governor_contract_event.2051.desc_n: "and weird apparitions of eagles."
governor_contract_event.2051.desc_o: "and weird apparitions of cats."
governor_contract_event.2051.desc_p: "and weird apparitions of frogs."
governor_contract_event.2051.desc_q: "and weird apparitions of snakes."
governor_contract_event.2051.desc_end: "\n\nThe people are terrified that a devil — or some other unnameable evil — has taken up residence amidst them."
governor_contract_event.2050.a: "I suppose an investigation is required."
governor_contract_event.2051.desc: "The good people of [ongoing_destination.GetName] are out of their minds with terror.\n\nPanic and paranoia run high. At shabby tenements and the local magistrate's [ROOT.Char.Custom('ResidenceBuilding')] alike, my entourage is met with barred doors, accusations against friends and kin of the most horrible practices, and honest citizens who see monsters in every shadow. Productive activities are practically suspended.\n\nOne way or another, this state of affairs must be ended. Without any faith in [ongoing_destination.GetCounty.GetFaith.HighGodNamePossessive] protection... the threads of this society can hardly fray any further."
governor_contract_event.2051.a: "I'll request an official exorcist from the capital."
governor_contract_event.2051.b: "Bring in a renowned [ROOT.Char.GetFaith.PriestNeuter] for an exorcism."
governor_contract_event.2051.c: "There must be an evil sorcerer!"
governor_contract_event.2051.d: "What do your elders suggest?"
governor_contract_event.2051.e: "You are just seeing things. Nonsense."
ep3_church_investigation_modifier: "Church Investigation"
ep3_church_investigation_modifier_desc: "The Church has gotten involved in an investigation on potential users of demonic magic."
ep3_rationalist_gov_modifier: "Rationalist"
ep3_rationalist_gov_modifier_desc: "This character has a reputation for valuing reason above religion, a somewhat unpopular opinion."
ep3_local_practices_modifier: "Traditional Practices Upheld"
ep3_local_practices_modifier_desc: "The local governor has openly supported the traditional practices — some call them superstitions — to deal with devils."
miraculous_healing: "Miraculous Healing"
miraculous_healing_contract: "$miraculous_healing$"
miraculous_healing_desc: "A local invalid receives many donations of relics and valuables, and each time claims to be restored to health by divine grace. Almsgivers grow increasingly ill-amused."
miraculous_healing_desc_title: "$task_contract_governance_desc_title$"
governor_contract_event.2060.t: "$miraculous_healing$"
governor_contract_event.2060.desc: "An interesting case, and a most unusual individual, are brought before me for judgment.\n\nThis [scammer.GetWomanMan], [scammer.GetName], is accused of being a false invalid: a huckster who makes a living hoodwinking the faithful. [scammer.GetSheHe|U] [scammer.Custom('quirk_pos_present')], charmingly, as the donated relics are laid out before me.\n\nWitnesses attest to seeing this "blind" man by the stoop of their [ROOT.Char.GetFaith.HouseOfWorshipPlural], appealing to their good natures; [scammer.GetSheHe] warms the hearts of congregations by being miraculously healed, again and again... but only after receiving coins or holy items."
governor_contract_event.2060.a: "This scammer will be punished in an exemplary way."
governor_contract_event.2060.b: "I could use someone with your #EMP creativity#!."
governor_contract_event.2060.c: "Hand the relics back, and I can forget this ever happened."
governor_contract_event.2060.d: "A solid fine is an adequate punishment."
governor_contract_event.2060.e: "The only possible penance is prison."
governor_contract_event.2060.f: "[ROOT.Char.GetFaith.HighGodName] works in mysterious ways."
buried_treasure: "Buried Treasure"
buried_treasure_contract: "$buried_treasure$"
buried_treasure_desc: "A local peasant has found a hoard of buried gold, and a dispute has risen as to who it belongs to."
buried_treasure_desc_title: "$task_contract_governance_desc_title$"
governor_contract_event.2070.t: "$buried_treasure$"
governor_contract_event.2070.desc: "The elders of a small community near [ongoing_destination.GetName] have contacted me to make a decision about a rare event.\n\nA peasant family has unearthed a substantial hoard of gold coins while working the fields! Their neighbors promptly broke into factions: some believe that the gold should go to the finders, while others argue for the windfall be shared by the whole village.\n\nThe word of a higher authority could slake the greed of these simple folk, and spare them descending into petty violence."
governor_contract_event.2070.a: "A most curious occurrence indeed!"
governor_contract_event.2071.desc: "Upon reaching [ongoing_destination.GetName], I am introduced to the chief treasure-finding peasant — a [peasant.GetWomanMan] named [peasant.GetFirstName] — and the treasure itself.\n\n"
governor_contract_event.2071.desc.byz: "It is an ancient-looking chest filled to the brim with golden [Glossary( 'aurei', 'AUREUS_GLOSS')], all coined under the same emperor. To make an educated guess, this could be the treasury of some ancient legion; perhaps, even a year's worth of pay."
governor_contract_event.2071.desc.fallback: "It is a modest-looking chest filled to the brim with an assortment of golden coins minted throughout the region in different periods. My guess would be that the peasant has come across a buried stash from some long-dead crew of outlaws."
governor_contract_event.2071.desc.end: "\n\n[peasant.GetFirstNameNoTooltip] — and seemingly every serf of [peasant.GetHerHis] community — watches expectantly, breathlessly: "What's to be done with the treasure, wise [ROOT.Char.GetTitleAsName]?""
governor_contract_event.2071.a: "Reinvest the gold in your own community."
governor_contract_event.2071.b: "All special gains must be taxed. #EMP Heavily.#!"
governor_contract_event.2071.c: "What's found on public land belongs to the realm."
governor_contract_event.2071.d: "The treasure is legally yours to do as you please."
governor_contract_event.2071.e: "This treasure belongs to the whole community."
AUREUS_GLOSS: "The aureus was a gold coin regularly issued from the Late Roman Republic up to the early 4th century AD, when it was replaced by the solidus. Originally, an aureus was worth 25 silver denarii but, due to the Late Empire's rampaging inflation, the new solidus was worth a whole 275000 denarii!"
ep3_treasure_invest_modifier: "Treasure Invested"
ep3_treasure_invest_modifier_desc: "A hoard of gold has been transformed into local investments, to the benefit of the whole county."
ep3_treasure_distributed_modifier: "Treasure Distributed"
ep3_treasure_distributed_modifier_desc: "The local populace enjoys some prosperity from the redistribution of an uncovered treasure."
public_land: "Public Land"
public_land_contract: "$public_land$"
public_land_desc: "With blatant disregard for the traditional rights of the commoners, a local magnate is illegally hoarding lands."
public_land_desc_title: "$task_contract_governance_desc_title$"
governor_contract_event.2080.t: "$public_land$"
governor_contract_event.2080.desc: "According to the reports from [ongoing_destination.GetName], a local magnate, [magnate.GetTitledFirstName], has been using every trick in the book to increase the extension of the lands [magnate.GetSheHe] owns directly.\n\nClearly, not all such methods are legal, and some are plainly #EMP distasteful#!."
governor_contract_event.2080.a: "I should intervene."
governor_contract_event.2081.desc: "Upon my arrival in [ongoing_destination.GetName], I'm immediately received by [magnate.GetTitledFirstName] in [magnate.GetHerHis] manse.\n\n"Let's not speak of frivolities," I open sternly. "A good plenty of irregularities and illegal deals emerge when one considers closers your recent land acquisitions."\n\n[magnate.GetFirstNameNoTooltip] is sheepish, but unrepentant. "#EMP My good friend#!, you know how these things are... there is such bureaucracy, and the unschooled peasants are so very ignorant and slow to grasp the law. One wishes sometimes to swiftly see their business through! Can you blame me for this?""
governor_contract_event.2081.a: "The land shall be divided among small landowners."
governor_contract_event.2081.b: "$ep3_land_confiscate_modifier_desc$"
governor_contract_event.2081.c: "I could forget the accident for the right #EMP donation#!..."
governor_contract_event.2081.d: "Let's pretend this never happened, #EMP friend#!!"
governor_contract_event.2081.e: "Keep the land, but let the locals cultivate it."
ep3_lands_reinstated_modifier: "Small Landowners"
ep3_lands_reinstated_modifier_desc: "The presence of small landowners has been reinstated in the area."
ep3_land_confiscate_modifier: "Confiscated Lands"
ep3_land_confiscate_modifier_desc: "This is the perfect spot to expand my estate!"
mad_prophet: "The Mad Prophet"
mad_prophet_contract: "$mad_prophet$"
mad_prophet_desc: "A self-declared prophet is terrorizing a whole county with their doomsday predictions."
mad_prophet_desc_title: "$task_contract_governance_desc_title$"
governor_contract_event.2090.t: "$mad_prophet$"
governor_contract_event.2090.desc: "I have received troublesome news from [ongoing_destination.GetName].\n\nApparently, the [ongoing_destination.GetTitle.GetTierAsNameNoTooltip|l] is in turmoil because some self-declared prophet has been spreading panic with outrageous predictions about the imminence of the End of Days.\n\nThey are most likely just the ravings of a lunatic, but when these ravings compromise public security and order, it is my duty to intervene."
governor_contract_event.2090.a: "I need to investigate the situation."
governor_contract_event.2091.desc: ""#EMP THE END IS NIGH! REPENT! REPENT NOW OR BE SMITED!#!"\n\nWhen I arrive in [ongoing_destination.GetName], I easily find the prophet. Pushing through awed and bemused serfs, I trace the sound of screeching to its source.\n\nA [prophet.GetWomanMan] in rags berates the uneasy and terrified crowd with divinely-inspired ire. [prophet.GetNamePossessive] words make real their suspicions of the unknown; [prophet.GetSheHe] speaks to their fear of chaos, their dread of [prophet.GetFaith.NegativeAfterLife], and our common belief in the end of all things."
governor_contract_event.2091.a: "Everything is under control!"
governor_contract_event.2091.a.tt: "Your authority, skilled rhetorics, and calming presence manage to get the crowd under control."
governor_contract_event.2091.b: "We must shut [prophet.GetHerHim] up."
governor_contract_event.2091.c: "Guards, arrest the troublemaker."
governor_contract_event.2091.d: "You are wrong, [prophet.GetFirstNameNoTooltip], and I'll prove it to you!"
governor_contract_event.2091.e: "Only prayer can save us."
governor_contract_event.2091.e.tt: "You organize a great religious procession."
governor_contract_event.2091.f: "The local clergy can handle this."
governor_contract_event.2092.desc_persecute: "I'm glad to observe that my guards have succeeded in dispersing the crowd and putting an end to this whole nonsense.\n\nThe citizens of [ongoing_destination.GetName] can rest assured that they live in a civilized, devoted, and strong empire, immune to superstitions and safe from disorders!"
governor_contract_event.2092.desc_debate: ""... And this proves conclusively that the end is #EMP not#! near at all, and that [ROOT.Char.GetFaith.HighGodNamePossessive] wrath is #EMP not#! upon us."\n\nThe prophet is left speechless at my cultured disquisition; the crowd claps, appreciating a good religious debate, before heading back home."
governor_contract_event.2092.a: "I love a job well done!"
governor_contract_event.2093.desc_persecute: "Unfortunately, sending the guards in was not the right choice.\n\nThe terrified populace crowded around the prophet to protect [prophet.GetHerHim], and many — both soldiers and civilians — got hurt in the ensuing brawl.\n\nThe trouble-making prophet managed to slip away from the chaos, and disappear without a trace."
governor_contract_event.2093.desc_debate: ""So, by the nature of [ROOT.Char.GetFaith.HighGodName]... No — the word is #EMP essence#!, right? Or is it energy? Anyway, what is cannot not be. Or something..."\n\nI don't need to see the confusion on the faces of the people in front of me, nor to hear the chuckles from my adversary to know that I only made a fool of myself.\n\nI'm sure the locals will manage the issue by themselves. I'm leaving."
governor_contract_event.2093.a: "A shameful display."
ep3_religiously_pacified_modifier: "Religiously Pacified"
ep3_religiously_pacified_modifier_desc: "The local population's faith and trust in the institutions have been strengthened by their effective intervention against a budding doom cult."
ep3_doom_repressed_modifier: "Prophet's Cult Persecuted"
ep3_doom_repressed_modifier_desc: "A doom cult led by a mad prophet has been eradicated by force."
ep3_religious_debate_modifier: "Won Religious Debate"
ep3_religious_debate_modifier_desc: "This character shone in a religious debate against a mad prophet, showing to the people the wrong in their ways."
titles_sale: "Titles for Sale"
titles_sale_contract: "$titles_sale$"
titles_sale_desc: "A cleric is reported to be selling religious titles and offices to the highest bidder. A highly illegal practice."
titles_sale_desc_title: "$task_contract_governance_desc_title$"
governor_contract_event.2100.t: "$titles_sale$"
governor_contract_event.2100.desc: "The case I'm asked to judge today is quite delicate: a local [priest.GetFaith.PriestNeuter] has been caught offering religious titles and offices to the unqualified children of local notables.\n\nThe [priest.GetWomanMan], [priest.GetName], fills [priest.GetHerHis] purse at [priest.GetFaith.HighGodNamePossessive] and [priest.GetHerHis] superiors' expense.\n\nThe practice is — obviously — very illegal. Because of the religious nature of the crime itself and of the parties involved, it is also rather controversial. There is great risk that, by my necessary intervention in their affairs, the clergy will be displeased."
governor_contract_event.2100.a: "The gold should be donated to religious institutions."
governor_contract_event.2100.b: "The illegally-acquired gold is hereby confiscated."
governor_contract_event.2100.c: "Repent! And return the money to your buyers."
governor_contract_event.2100.d: "I could use a favor from someone like you..."
ep3_repayed_church_titles_modifier: "Repurposed Gold"
ep3_repayed_church_titles_modifier_desc: "The gold accumulated through the illegal sale of religious offices has been put to good use by its legitimate religious owners."
hungry_times: "Hungry Times"
hungry_times_contract: "$hungry_times$"
hungry_times_desc: "A recent pestilence has caused a famine, which has pushed some locals to #EMP desperate#! measures to surive."
hungry_times_desc_title: "$task_contract_governance_desc_title$"
governor_contract_event.2110.t: "$hungry_times$"
governor_contract_event.2110.desc: "The news from [ongoing_destination.GetName] is particularly troubling.\n\nThe government's measures to aid the area after a recent pestilence were seemingly inadequate; a famine has struck the local settlements. Some denizens were driven to desperate, abhorrent practices to survive."
governor_contract_event.2110.desc_murder: "\n\nAccording to this report, several peasants have been caught killing and butchering their fellow humans to consume their flesh!"
governor_contract_event.2110.desc_cannibal: "\n\nAccording to this report, several peasants have been caught consuming the flesh of their fellow humans who died from starvation!"
governor_contract_event.2110.desc_animal: "\n\nAccording to this report, several peasants have been caught killing and consuming religiously unclean animals, thus attracting the ire of the local clergy."
governor_contract_event.2110.a: "I need to hear more about this."
governor_contract_event.2111.desc: "When I reach [ongoing_destination.GetName], the accused await in chains, their eyes downcast, their garments rent and bloodied.\n\nThe defendants, led by [cannibal.GetFirstName], chained and trembling, with their eyes downcast, are roared at by a great, skeletal-faced crowd. Bony fists are shaken; thin voices roar for an exemplary punishment.\n\nI am shown the evidence... split femurs and rotten, severed heads. Something horrible happened here; it was truly an abomination before [ROOT.Char.GetFaith.HighGodName]."
governor_contract_event.2111.a: "I should have never left this community alone."
governor_contract_event.2111.b: "The most desperate of crimes call for the greatest forgiveness."
governor_contract_event.2111.c: "The culprits shall pay. So says the law."
governor_contract_event.2111.d: "The whole community is tainted by this abomination!"
governor_contract_event.2111.e: "Such heinous crimes deserve my undivided attention."
ep3_rebuild_effort_modifier: "Concerted Rebuilding Effort"
ep3_rebuild_effort_modifier_desc: "The local governor is focusing on rebuilding this area after it was hit hard by an epidemic."
ep3_tight_control_modifier: "Tight Control"
ep3_tight_control_modifier_desc: "Some #EMP unfortunate#! episodes in this county forced the governor to put it all under special observation."
wartime_measures: "Wartime Measures"
wartime_measures_contract: "$wartime_measures$"
wartime_measures_desc: "My liege is at war. An official request has just reached me from the capital: provide all possible support to passing troops."
wartime_measures_desc_title: "$task_contract_governance_desc_title$"
governor_contract_event.2120.t: "$wartime_measures$"
governor_contract_event.2120.desc: "An official-looking letter, bearing the sigil of the [ROOT.Char.GetLiege.GetTitleAsNameNoTooltip] [ROOT.Char.GetLiege.GetHerselfHimself], awaits in my office today:\n\n"The invincible armies of our [ROOT.Char.GetLiege.GetPrimaryTitle.GetBaseNameNoTier] march against the deplorable foe. And should friendly troops cross into the lands assigned to your governorship, you stand ordered to provide all appropriate comfort and support.\n\nIn these times of hardship, the [ROOT.Char.GetLiege.GetTitleAsNameNoTooltip] most appreciates the sacrifices of [ROOT.Char.GetLiege.GetHerHis] [ROOT.Char.GetLiege.GetCulture.GetName] subjects.""
governor_contract_event.2120.a: "Naturally, we shall offer our complete support!"
governor_contract_event.2120.b: "Our supplies are at the [ROOT.Char.GetLiege.GetTitleAsNamePossessiveNoTooltip] service."
governor_contract_event.2120.c: "We shall arrange lodgings for the troops."
governor_contract_event.2120.d: "I'm sure some gold will help."
governor_contract_event.2120.e: "Our lookouts will support the military effort."
governor_contract_event.2120.f: "It's more important to support our people through the war."
ep3_war_support_modifier: "War Support"
ep3_war_support_modifier_desc: "No effort has been spared in this county to support the liege's wars."
ep3_war_supplies_modifier: "War Supplies"
ep3_war_supplies_modifier_desc: "This county is directing all resources to support transiting troops."
ep3_war_lodgings_modifier: "War Lodgings"
ep3_war_lodgings_modifier_desc: "This county is ensuring allied troops are well taken care of."
ep3_war_lookout_modifier: "War Lookouts"
ep3_war_lookout_modifier_desc: "An organized system of lookouts protects this county."
ep3_war_compensations_modifier: "War Compensations"
ep3_war_compensations_modifier_desc: "This county is receiving specific support to keep thriving despite any ongoing war."
admin_contract_invalidated_title: "[GetPlayer.Custom('GetContractOrIssue')] Invalidated"
admin_contract_invalidated_desc: "Ongoing [governance_issue|E] has been invalidated"
governor_scheme_success_chance_desc: "Successfully completing this [contract_scheme|E] will result in you being rewarded for your efforts."
governor_trait_desc: "[GetTrait('governor').GetName( GetNullCharacter )] [trait|E]: $VALUE|=+0$"
governor_trait_desc_short: "[GetTrait('governor').GetName( GetNullCharacter )] [trait|E]"
governor_trait_with_character_desc: "[GetTrait('governor').GetName( ROOT.Char )] [trait|E]: $VALUE|=+0$"
administrator_trait_desc: "[GetTrait('administrator').GetName( GetNullCharacter )] [trait|E]: $VALUE|=+0$"
overseer_trait_desc: "[GetTrait('overseer').GetName( GetNullCharacter )] [trait|E]: $VALUE|=+0$"
ep3_governance_tax_relief: "Tax Relief"
ep3_governance_tax_relief_desc: "This county has been granted a tax relief by the region's governor, much to the satisfaction of the local populace."
ep3_governance_stationed_troops: "Reinforced Garrison"
ep3_governance_stationed_troops_desc: "On order of the governor, this holding has a reinforced garrison to ensure a productive environment."
ep3_governance_festivities: "Arranged Festivities"
ep3_governance_festivities_desc: "A local official has been #EMP persuaded#! to host a number of fairs and festivals."
ep3_governance_infrastructure: "Improved Infrastructure"
ep3_governance_infrastructure_desc: "A local official has spent a lot of funds to improve the area's infrastructure."
ep3_governance_harvest: "Grain Distribution"
ep3_governance_harvest_desc: "This county is benefiting from grain being distributed to the people, at the behest of the local governor."
ep3_governance_great_harvest: "Great Grain Distribution"
ep3_governance_great_harvest_desc: "This county is benefiting from a significant distribution of grain, organized by the local governor."
ep3_governance_mercenary_troops: "Mercenary Troops"
ep3_governance_mercenary_troops_desc: "This character has recruited a number of former bandits as mercenaries, despite what others may think."
ep3_governance_workforce: "Conscripted Workforce"
ep3_governance_workforce_desc: "This county has large numbers of people drafted into a workforce serving the community."
ep3_governance_rampant_bandits: "Rampant Bandits"
ep3_governance_rampant_bandits_desc: "This county is plagued by bandits; violent attackers against travelers and merchants are commonplace."
SCHEME_TIER_DIFFICULTY: "[task_contract_tier|E]: $VALUE|+=0$"
admin_contract_success_tt_trait: "You may gain the [GetTrait('governor').GetName( GetNullCharacter )] [trait|E]"
admin_contract_success_tt_xp: "[trait_level_track_xp|E] in the [GetTrait('governor').GetName( GetNullCharacter )] [trait|E]"
admin_contract_success_tt_rewards: "You may choose between an assortment of rewards, including:#indent_newline:3 \n$EFFECT_LIST_BULLET$$admin_contract_success_tt_xp$\n$EFFECT_LIST_BULLET$[gold_i|E][gold|E]\n$EFFECT_LIST_BULLET$[influence_i|E][influence|E]\n$EFFECT_LIST_BULLET$[prestige_i|E][prestige|E]\n$EFFECT_LIST_BULLET$[piety_i|E][piety|E]\n$EFFECT_LIST_BULLET$Improvements to your [counties|E] or [holdings|E][AddLocalizationIf( GetPlayer.GetGovernment.HasGovernmentFlag( 'government_has_merit' ), 'admin_contract_merit_bullet' )]#!"
admin_contract_merit_bullet: "\n$EFFECT_LIST_BULLET$[merit_i|E][merit|E]"
admin_contract_failure_tt: "You may suffer minor penalties, such as losing [prestige_i|E][prestige|E] or [influence_i|E][influence|E]"
has_active_governance_issue: "You already have an ongoing [governance_issue|E]"
task_contract_reward_effect_taxes_governor_desc: "Potential Outcome:"
task_contract_reward_effect_taxes_paid_in_full_desc: "$label_success_standard$"
task_contract_reward_effect_taxes_paid_partially_desc: "$label_success_standard$"
task_contract_reward_effect_taxes_station_troops_desc: "$label_success_standard$"
task_contract_reward_effect_taxes_assign_administrator_desc: "$label_success_standard$"
task_contract_reward_effect_taxes_lower_taxes_desc: "$label_success_standard$"
task_contract_reward_effect_mayor_governor_desc: "$label_success_standard$"
task_contract_reward_effect_mayor_claim_gold_desc: "$label_success_standard$"
task_contract_reward_effect_mayor_invest_in_buildings_desc: "$label_success_standard$"
task_contract_reward_effect_mayor_hold_festivities_desc: "$label_success_standard$"
task_contract_reward_effect_mayor_reprimand_desc: "$label_success_standard$"
task_contract_reward_effect_mayor_hook_desc: "$label_success_standard$"
task_contract_reward_effect_harvest_governor_desc: "$label_success_standard$"
task_contract_reward_effect_harvest_distribute_desc: "$label_success_standard$"
task_contract_reward_effect_harvest_capital_desc: "$label_success_standard$"
task_contract_reward_effect_harvest_charity_desc: "$label_success_standard$"
task_contract_reward_effect_harvest_sell_excess_desc: "$label_success_standard$"
task_contract_reward_effect_harvest_claim_it_yourself_desc: "$label_success_standard$"
task_contract_reward_effect_bandit_governor_desc: "$label_success_standard$"
task_contract_reward_effect_bandit_pardon_desc: "$label_success_standard$"
task_contract_reward_effect_bandit_recruit_desc: "$label_success_standard$"
task_contract_reward_effect_bandit_payment_desc: "$label_success_standard$"
task_contract_reward_effect_bandit_execute_desc: "$label_success_standard$"
task_contract_reward_effect_bandit_gold_desc: "$label_success_standard$"
task_contract_reward_effect_soldiers_land_desc: "$label_success_standard$"
task_contract_reward_effect_soldiers_rival_desc: "$label_success_standard$"
task_contract_reward_effect_soldiers_break_desc: "$label_success_standard$"
task_contract_reward_effect_soldiers_punish_desc: "$label_success_standard$"
task_contract_reward_effect_soldiers_pay_desc: "$label_success_standard$"
task_contract_reward_effect_mayor_in_govt_desc: "$label_success_standard$"
task_contract_reward_effect_mayor_in_fire_desc: "$label_success_standard$"
task_contract_reward_effect_mayor_in_help_desc: "$label_success_standard$"
task_contract_reward_effect_mayor_in_punish_desc: "$label_success_standard$"
task_contract_reward_effect_invest_infrastructure_desc: "$label_success_standard$"
task_contract_reward_effect_invest_monument_desc: "$label_success_standard$"
task_contract_reward_effect_invest_traders_desc: "$label_success_standard$"
task_contract_reward_effect_invest_military_desc: "$label_success_standard$"
task_contract_reward_effect_invest_food_desc: "$label_success_standard$"
task_contract_reward_effect_invest_church_desc: "$label_success_standard$"
task_contract_reward_effect_peasant_enroll_desc: "$label_success_standard$"
task_contract_reward_effect_peasant_punish_desc: "$label_success_standard$"
task_contract_reward_effect_peasant_encourage_desc: "$label_success_standard$"
task_contract_reward_effect_peasant_work_desc: "$label_success_standard$"
task_contract_reward_effect_peasant_take_desc: "$label_success_standard$"
task_contract_reward_effect_predators_poisoners_desc: "$label_success_standard$"
task_contract_reward_effect_predators_hunt_desc: "$label_success_standard$"
task_contract_reward_effect_predators_hunters_desc: "$label_success_standard$"
task_contract_reward_effect_predators_locals_desc: "$label_success_standard$"
task_contract_reward_effect_predators_capture_desc: "$label_success_standard$"
task_contract_reward_effect_predators_preys_desc: "$label_success_standard$"
task_contract_reward_effect_presence_official_desc: "$label_success_standard$"
task_contract_reward_effect_presence_exorcize_desc: "$label_success_standard$"
task_contract_reward_effect_presence_sorcerer_desc: "$label_success_standard$"
task_contract_reward_effect_presence_local_desc: "$label_success_standard$"
task_contract_reward_effect_presence_rationalize_desc: "$label_success_standard$"
task_contract_reward_effect_healing_example_desc: "$label_success_standard$"
task_contract_reward_effect_healing_hire_desc: "$label_success_standard$"
task_contract_reward_effect_healing_relic_desc: "$label_success_standard$"
task_contract_reward_effect_healing_fine_desc: "$label_success_standard$"
task_contract_reward_effect_healing_imprison_desc: "$label_success_standard$"
task_contract_reward_effect_healing_faith_desc: "$label_success_standard$"
task_contract_reward_effect_treasure_invest_desc: "$label_success_standard$"
task_contract_reward_effect_treasure_tax_desc: "$label_success_standard$"
task_contract_reward_effect_treasure_commandeer_desc: "$label_success_standard$"
task_contract_reward_effect_treasure_acknowledge_desc: "$label_success_standard$"
task_contract_reward_effect_treasure_distribute_desc: "$label_success_standard$"
task_contract_reward_effect_land_reinstate_desc: "$label_success_standard$"
task_contract_reward_effect_land_confiscate_desc: "$label_success_standard$"
task_contract_reward_effect_land_bribe_desc: "$label_success_standard$"
task_contract_reward_effect_land_favor_desc: "$label_success_standard$"
task_contract_reward_effect_land_people_desc: "$label_success_standard$"
task_contract_reward_effect_prophet_reassure_desc: "$label_success_standard$"
task_contract_reward_effect_prophet_persecute_desc: "$label_success_standard$"
task_contract_reward_effect_prophet_arrest_desc: "$label_success_standard$"
task_contract_reward_effect_prophet_debate_desc: "$label_success_standard$"
task_contract_reward_effect_prophet_ceremonies_desc: "$label_success_standard$"
task_contract_reward_effect_prophet_clergy_desc: "$label_success_standard$"
task_contract_reward_effect_titles_repay_desc: "$label_success_standard$"
task_contract_reward_effect_titles_commandeer_desc: "$label_success_standard$"
task_contract_reward_effect_titles_back_desc: "$label_success_standard$"
task_contract_reward_effect_titles_bribe_desc: "$label_success_standard$"
task_contract_reward_effect_hungry_support_desc: "$label_success_standard$"
task_contract_reward_effect_hungry_amnesty_desc: "$label_success_standard$"
task_contract_reward_effect_hungry_punish_desc: "$label_success_standard$"
task_contract_reward_effect_hungry_persecute_desc: "$label_success_standard$"
task_contract_reward_effect_hungry_control_desc: "$label_success_standard$"
task_contract_reward_effect_wartime_support_desc: "$label_success_standard$"
task_contract_reward_effect_wartime_supplies_desc: "$label_success_standard$"
task_contract_reward_effect_wartime_lodgings_desc: "$label_success_standard$"
task_contract_reward_effect_wartime_gold_desc: "$label_success_standard$"
task_contract_reward_effect_wartime_lookouts_desc: "$label_success_standard$"
task_contract_reward_effect_wartime_compensations_desc: "$label_success_standard$"
admin_request_choose_opportunity: "This situation allows you to choose an outcome"
overdue_taxes_request: "Solve the situation potentially using your [diplomacy|E] or [stewardship|E]"
hoarding_mayor_request: "$admin_request_choose_opportunity$"
bountiful_harvest_request: "$admin_request_choose_opportunity$"
rampant_bandits_request: "Solve the situation potentially using your [martial|E] or [intrigue|E]"
discontent_soldiers_request: "$admin_request_choose_opportunity$"
inept_mayor_request: "$admin_request_choose_opportunity$"
prov_investment_request: "Solve the situation potentially using your [martial|E], [stewardship|E] or [intrigue|E]"
raiding_peasants_request: "$admin_request_choose_opportunity$"
wild_predators_request: "Solve the situation potentially using your [martial|E], [stewardship|E] or [prowess|E]"
evil_presence_request: "$admin_request_choose_opportunity$"
miraculous_healing_request: "$admin_request_choose_opportunity$"
buried_treasure_request: "$admin_request_choose_opportunity$"
public_land_request: "$admin_request_choose_opportunity$"
mad_prophet_request: "Solve the situation potentially using your [martial|E] or [learning|E]"
titles_sale_request: "$admin_request_choose_opportunity$"
hungry_times_request: "$admin_request_choose_opportunity$"
wartime_measures_request: "Solve the situation potentially using your [martial|E] or [stewardship|E]"
task_contract_location_not_in_realm: "You are not the [GetPlayer.Custom('GetGovernorConcept')] of [task_contract_possessive|E] location"

View file

@ -28,6 +28,7 @@
dynn_leroux:0 "Leroux"
dynn_belpois:0 "Belpois"
dynn_giry:0 "Giry"
dynn_britannia_kohn:0 "Kohn"
dynn_eiffel:0 "Eiffel"
dynn_spatstony:0 "Spatstony"
dynn_millardet:0 "Millardet"

File diff suppressed because it is too large Load diff

Some files were not shown because too many files have changed in this diff Show more