360 lines
10 KiB
Text
360 lines
10 KiB
Text
|
|
##################################################
|
|
# General Triggers
|
|
|
|
eligible_for_fp1_dynasty_legacies_trigger = {
|
|
has_fp1_dlc_trigger = yes
|
|
OR = {
|
|
# Technically, we could hardscript this to North Germanics/Normans/Estonians, but eh.
|
|
culture = { has_innovation = innovation_longboats }
|
|
# Converts should also get a chance to get in on the fun.
|
|
religion = religion:germanic_religion
|
|
}
|
|
}
|
|
|
|
fp1_can_raise_stele_trigger = {
|
|
OR = {
|
|
culture = { has_cultural_parameter = has_access_to_runestones }
|
|
has_character_modifier = embraced_local_traditions_modifier
|
|
}
|
|
culture = {
|
|
NOT = { has_cultural_era_or_later = culture_era_high_medieval }
|
|
}
|
|
}
|
|
|
|
fp1_can_raise_stele_title_scope_trigger = {
|
|
culture = {
|
|
has_cultural_pillar = heritage_north_germanic
|
|
NOT = { has_cultural_era_or_later = culture_era_high_medieval }
|
|
}
|
|
}
|
|
|
|
fp1_county_has_stele_trigger = {
|
|
OR = {
|
|
has_county_modifier = fp1_stele_ancestors_strong
|
|
has_county_modifier = fp1_stele_ancestors_weak
|
|
has_county_modifier = fp1_stele_conquest_strong
|
|
has_county_modifier = fp1_stele_conquest_weak
|
|
has_county_modifier = fp1_stele_promotion_strong
|
|
has_county_modifier = fp1_stele_promotion_weak
|
|
}
|
|
}
|
|
|
|
fp1_eligible_for_yearly_events_trigger = {
|
|
has_fp1_dlc_trigger = yes
|
|
OR = {
|
|
culture = { has_cultural_pillar = heritage_north_germanic }
|
|
religion = religion:germanic_religion
|
|
}
|
|
}
|
|
|
|
##################################################
|
|
# Cultural & Regional Triggers
|
|
|
|
fp1_is_norse = {
|
|
OR = {
|
|
culture = { has_cultural_pillar = heritage_north_germanic }
|
|
culture = culture:norman
|
|
}
|
|
}
|
|
|
|
fp1_is_norse_tribal = {
|
|
fp1_is_norse = yes
|
|
government_has_flag = government_is_tribal
|
|
}
|
|
|
|
fp1_is_coastal_norse_tribal = {
|
|
# Standard checks.
|
|
fp1_is_norse_tribal = yes
|
|
# Do you have a relevant coastal county somewhere?
|
|
any_sub_realm_county = { is_coastal_county = yes }
|
|
}
|
|
|
|
fp1_is_in_scandinavia = {
|
|
capital_county.title_province = { geographical_region = world_europe_north }
|
|
}
|
|
|
|
fp1_is_in_scandinavian_colonies = {
|
|
capital_county.title_province = {
|
|
OR = {
|
|
geographical_region = world_europe_west_britannia
|
|
geographical_region = dlc_fp1_region_colonial_eastern_europe
|
|
}
|
|
}
|
|
}
|
|
|
|
fp1_is_in_scandinavia_or_colonies = {
|
|
OR = {
|
|
fp1_is_in_scandinavia = yes
|
|
fp1_is_in_scandinavian_colonies = yes
|
|
}
|
|
}
|
|
|
|
fp1_remove_stele_new_holder_trigger = {
|
|
# Is there a rogue stone around?
|
|
$TITLE$ = { exists = var:stele_commissioner }
|
|
# And would the new holder want to tear down the stele?
|
|
$NEW_HOLDER$ = {
|
|
OR = {
|
|
AND = {
|
|
exists = dynasty
|
|
# E.g., because they're a different family and won't maintain it.
|
|
NOT = { dynasty = $PREVIOUS_HOLDER$.dynasty }
|
|
}
|
|
# Or because they're a subject of the runestone, which means it's memorialising their defeat.
|
|
## ... Unless they're a ghost. Damned proctors, I guess.
|
|
AND = {
|
|
exists = $TITLE$.var:stele_container
|
|
exists = $TITLE$.var:stele_scope_type
|
|
# Remember not to compare a character with a title.
|
|
$TITLE$.var:stele_scope_type = flag:character
|
|
this = $TITLE$.var:stele_container
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
is_vaguely_danish_bhakti_trigger = {
|
|
OR = {
|
|
has_culture = culture:danish
|
|
culture = { has_name_list = name_list_danish }
|
|
# We deliberately use the de jure rather than the geographical area to make this at least a *little* more fluid.
|
|
AND = {
|
|
is_playable_character = yes
|
|
capital_county.kingdom = title:k_denmark
|
|
}
|
|
}
|
|
}
|
|
|
|
##################################################
|
|
# Varangian Adventure Triggers
|
|
|
|
fp1_va_eligible_for_scandinavian_troops_trigger = {
|
|
# We only give these to North Germanics. I realise we check this elsewhere, but it makes it a bit easier to hijack the CB for other cultures via modding without weirdness.
|
|
culture = {
|
|
OR = {
|
|
has_cultural_pillar = heritage_north_germanic
|
|
this = culture:estonian
|
|
any_parent_culture_or_above = {
|
|
this = culture:estonian #Estonian
|
|
}
|
|
}
|
|
}
|
|
# Who hold at least one county in the initial de jure of the mainland Norse kingdoms.
|
|
any_sub_realm_county = {
|
|
OR = {
|
|
title_province = { geographical_region = dlc_fp1_region_core_mainland_scandinavia }
|
|
title:k_esthonia = {
|
|
is_de_jure_liege_or_above_target = prev
|
|
}
|
|
}
|
|
culture = scope:attacker.culture
|
|
faith = scope:attacker.faith
|
|
}
|
|
}
|
|
|
|
##################################################
|
|
# Illustration Triggers
|
|
|
|
fp1_should_use_norse_graphics_trigger = {
|
|
culture = { has_building_gfx = norse_building_gfx }
|
|
}
|
|
|
|
fp1_should_use_extra_tribal_graphics_trigger = {
|
|
should_use_tribal_realm_palace_graphics_trigger = yes
|
|
}
|
|
|
|
##################################################
|
|
# Shieldmaiden Triggers
|
|
|
|
suitable_shieldmaiden_gaoler_trigger = {
|
|
#Must be a shieldmaiden.
|
|
has_trait = shieldmaiden
|
|
NOR = {
|
|
#Filter out prisoners that the shieldmaiden would want to see freed.
|
|
has_friendly_relationship_trigger = { CHARACTER = root }
|
|
#And require that they don't hate their liege.
|
|
has_relation_rival = scope:imprisoner
|
|
#Make sure they don't really like root, in which case they'd let the escape slide.
|
|
opinion = {
|
|
target = root
|
|
value >= high_positive_opinion
|
|
}
|
|
#Aaaaand the inverse for actually really hating their host, in which case they don't care about escapees.
|
|
opinion = {
|
|
target = scope:imprisoner
|
|
value <= high_negative_opinion
|
|
}
|
|
}
|
|
}
|
|
|
|
##################################################
|
|
# Interaction Triggers
|
|
|
|
basic_can_have_trial_by_combat_trigger = {
|
|
# This is referenced elsewhere, so we keep it separate in order to allow justification for TbCs outside of interactions.
|
|
culture = { has_cultural_parameter = has_access_to_trials_by_combat }
|
|
}
|
|
|
|
can_have_trial_by_combat_trigger = {
|
|
# First, evaluate culture to trim down our potentials list.
|
|
scope:actor = { basic_can_have_trial_by_combat_trigger = yes }
|
|
scope:recipient = { basic_can_have_trial_by_combat_trigger = yes }
|
|
}
|
|
|
|
eligible_knight_to_champion_trial_by_combat_trigger = {
|
|
is_available_ai = yes
|
|
can_start_single_combat_trigger = yes
|
|
}
|
|
|
|
trial_by_combat_shown_and_not_invalid_trigger = {
|
|
# Scope:actor must be able to fight personally.
|
|
scope:actor = { can_start_single_combat_trigger = yes }
|
|
# Scope:actor cannot challenge someone they have a ceasefire against.
|
|
scope:actor = {
|
|
NOT = { has_truce = scope:recipient }
|
|
}
|
|
# Scope:actor *definitely* cannot challenge someone they're at war with.
|
|
scope:actor = {
|
|
NOT = { is_at_war_with = scope:recipient }
|
|
}
|
|
}
|
|
|
|
trial_by_combat_is_valid_trigger = {
|
|
# Calc some stuff that might invalidate elsewhere before the bout is sorted.
|
|
trial_by_combat_shown_and_not_invalid_trigger = yes
|
|
# Must have an imprisonment reason on the character.
|
|
scope:actor = { has_imprisonment_reason = scope:recipient }
|
|
# Scope:recipient must be able to fight or else have at least *one* designatable champion.
|
|
scope:recipient = {
|
|
trigger_if = {
|
|
limit = {
|
|
OR = {
|
|
can_start_single_combat_eligibility_checks_trigger = no
|
|
NOT = {
|
|
can_be_combatant_based_on_gender_trigger = { ARMY_OWNER = scope:recipient }
|
|
}
|
|
}
|
|
}
|
|
custom_description = {
|
|
text = "fp1_tbc_no_available_champions"
|
|
OR = {
|
|
any_knight = { eligible_knight_to_champion_trial_by_combat_trigger = yes }
|
|
# Can use champion court position too if available
|
|
AND = {
|
|
employs_court_position = champion_court_position
|
|
any_court_position_holder = {
|
|
type = champion_court_position
|
|
eligible_knight_to_champion_trial_by_combat_trigger = yes #trigger checks for prowess, and while its not mandatory that the champ has a high value, we don't want to trap them into having to use their prowess 3 champ to defend their life
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
# Scope:recipient must not be banned from single combat.
|
|
scope:recipient = {
|
|
custom_description = {
|
|
text = "fp1_tbc_recipient_banned_from_combat"
|
|
can_start_single_combat_banned_checks_trigger = no
|
|
}
|
|
}
|
|
# Neither of the characters can be imprisoned.
|
|
scope:actor = { is_imprisoned = no }
|
|
scope:recipient = { is_imprisoned = no }
|
|
}
|
|
|
|
##################################################
|
|
# Religious Triggers
|
|
|
|
gruesome_sacrifices_grand_blot_can_continue_trigger = {
|
|
# Standard checks. Using a more lenient trigger here because we don't want to cancel the blot if you're in events or go on a hunt
|
|
#is_available_at_peace_adult_lenient = yes
|
|
scope:activity ?= {
|
|
has_activity_type = activity_gruesome_festival
|
|
}
|
|
}
|
|
|
|
fp1_valid_norse_faith_for_jomsvikings_trigger = {
|
|
religion = religion:germanic_religion
|
|
has_doctrine_parameter = unreformed
|
|
}
|
|
|
|
fp1_jomsvikings_have_not_existed_trigger = {
|
|
# They've already been destroyed in 1066.
|
|
game_start_date < 1000.1.1
|
|
NOR = {
|
|
# And otherwise can't currently be created.
|
|
exists = global_var:jomsvikings_title
|
|
# Nor should they have been made via decision or event.
|
|
is_target_in_global_variable_list = {
|
|
name = unavailable_unique_decisions
|
|
target = flag:flag_forged_jomvikings
|
|
}
|
|
}
|
|
}
|
|
|
|
fp1_valid_county_for_jomsvikings_trigger = {
|
|
tier = tier_county
|
|
is_coastal_county = yes
|
|
custom_description = {
|
|
text = forge_the_jomsvikings_decision.tt.is_in_correct_region
|
|
title_province = { geographical_region = dlc_fp1_region_non_scandinavian_southern_baltic }
|
|
}
|
|
any_county_province = {
|
|
custom_description = {
|
|
text = forge_the_jomsvikings_decision.tt.empty_castle_or_city
|
|
OR = {
|
|
has_holding = no
|
|
has_holding_type = castle_holding
|
|
has_holding_type = city_holding
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
##################################################
|
|
# Achievement Triggers
|
|
|
|
fp1_achievement_culture_norse_trigger = {
|
|
OR = {
|
|
culture = { has_cultural_pillar = heritage_north_germanic }
|
|
culture = culture:norman
|
|
}
|
|
}
|
|
|
|
fp1_achievement_culture_norse_or_rus_trigger = {
|
|
OR = {
|
|
fp1_achievement_culture_norse_trigger = yes
|
|
culture = culture:russian
|
|
}
|
|
}
|
|
|
|
fp1_achievement_religious_norse_trigger = {
|
|
religion = religion:germanic_religion
|
|
}
|
|
|
|
fp1_achievement_culture_plus_religion_norse_trigger = {
|
|
fp1_achievement_culture_norse_trigger = yes
|
|
fp1_achievement_religious_norse_trigger = yes
|
|
}
|
|
|
|
###################################################
|
|
# Jomsviking Triggers
|
|
fp1_ruler_eligible_for_jomsviking_coup = {
|
|
# We never want to coup realms with players who might be affected, so just flat-out ban them.
|
|
NOR = {
|
|
is_ai = no
|
|
any_vassal_or_below = { is_ai = no }
|
|
any_liege_or_above = { is_ai = no }
|
|
}
|
|
# And anyone that's close family to/married to a player.
|
|
NOR = {
|
|
any_spouse = { is_ai = no }
|
|
any_close_or_extended_family_member = { is_ai = no }
|
|
}
|
|
# Veto anyone following the unreformed Norse pagan faith.
|
|
NOT = { faith = faith:norse_pagan }
|
|
# For simplicity, exclude wars.
|
|
is_at_war = no
|
|
}
|