Last active
November 4, 2020 10:52
-
-
Save mindryu/3aeaca9143707193e7758d2209220657 to your computer and use it in GitHub Desktop.
Grant to faith head and dynasty member
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| grant_titles_interaction = { | |
| category = interaction_category_vassal | |
| common_interaction = yes | |
| desc = grant_titles_interaction_desc | |
| special_interaction = grant_titles_interaction | |
| interface = grant_titles | |
| target_type = title | |
| target_filter = actor_domain_titles | |
| interface_priority = 60 | |
| # actor character giving the titles | |
| # recipient character receiving the titles | |
| is_shown = { | |
| NOT = { scope:actor = scope:recipient } | |
| OR = { | |
| scope:recipient = { | |
| OR = { | |
| target_is_liege_or_above = scope:actor | |
| is_pool_guest_of = scope:actor | |
| } | |
| } | |
| # Mod | |
| AND = { | |
| scope:actor = { is_ai = no } | |
| scope:recipient = { | |
| OR = { | |
| faith.religious_head = this | |
| dynasty = scope:actor.dynasty | |
| } | |
| } | |
| } | |
| } | |
| } | |
| is_valid_showing_failures_only = { | |
| scope:recipient = { can_be_granted_titles_by = { RULER = scope:actor } } | |
| NOT = { scope:actor = { is_at_war_with = scope:recipient } } | |
| NOT = { scope:recipient = { has_trait = devoted } } # Monks are disinherited, and should not have land granted to them | |
| custom_description = { | |
| text = is_not_theocratic_court_chaplain | |
| subject = scope:recipient | |
| NAND = { | |
| scope:actor.faith = { | |
| has_doctrine = doctrine_theocracy_temporal | |
| } | |
| scope:recipient = { | |
| faith = { | |
| has_doctrine = doctrine_theocracy_temporal | |
| } | |
| has_council_position = councillor_court_chaplain | |
| } | |
| } | |
| } | |
| scope:actor = { | |
| any_held_title = { | |
| count > 1 | |
| } | |
| } | |
| scope:recipient = { is_diplomatically_available = yes } | |
| trigger_if = { | |
| limit = { | |
| scope:recipient = { | |
| is_ruler = no | |
| } | |
| } | |
| scope:recipient = { | |
| is_imprisoned = no | |
| } | |
| } | |
| } | |
| can_be_picked_title = { | |
| scope:target = { | |
| is_leased_out = no | |
| trigger_if = { | |
| limit = { | |
| scope:recipient = scope:actor.player_heir | |
| scope:actor = { has_partition_succession_realm_law_trigger = yes } | |
| } | |
| custom_description = { | |
| text = partition_primary_heir_unfair | |
| subject = scope:recipient | |
| current_heir = scope:recipient | |
| } | |
| } | |
| } | |
| custom_description = { | |
| text = grant_titles_interaction_children_not_allowed_temple | |
| subject = scope:recipient | |
| NOR = { | |
| AND = { | |
| scope:recipient = { | |
| is_adult = no | |
| } | |
| scope:target = { | |
| tier = tier_barony | |
| title_province = { has_building_with_flag = temple } | |
| } | |
| } | |
| AND = { | |
| scope:recipient = { | |
| is_adult = no | |
| } | |
| scope:target = { | |
| tier = tier_county | |
| title_province = { | |
| is_county_capital = yes | |
| has_building_with_flag = temple | |
| } | |
| } | |
| } | |
| } | |
| } | |
| } | |
| auto_accept = yes | |
| on_auto_accept = { | |
| scope:recipient = { | |
| trigger_event = char_interaction.0110 | |
| } | |
| } | |
| on_accept = { | |
| every_in_list = { | |
| list = target_titles | |
| save_temporary_scope_as = this_title | |
| if = { | |
| limit = { | |
| exists = scope:landed_title | |
| } | |
| scope:recipient = { | |
| if = { | |
| limit = { | |
| scope:this_title.tier = tier_barony | |
| } | |
| hidden_effect = { | |
| add_opinion = { | |
| target = scope:actor | |
| modifier = received_title_barony | |
| } | |
| } | |
| scope:this_title = { add_to_temporary_list = titles_to_grant } | |
| hidden_effect = { | |
| if = { | |
| limit = { | |
| is_a_faction_member = yes | |
| } | |
| add_joined_faction_discontent = -5 | |
| } | |
| } | |
| } | |
| else_if = { | |
| limit = { | |
| scope:this_title.tier = tier_county | |
| } | |
| hidden_effect = { | |
| add_opinion = { | |
| target = scope:actor | |
| modifier = received_title_county | |
| } | |
| } | |
| scope:this_title = { add_to_temporary_list = titles_to_grant } | |
| hidden_effect = { | |
| if = { | |
| limit = { | |
| is_a_faction_member = yes | |
| } | |
| add_joined_faction_discontent = -10 | |
| } | |
| } | |
| } | |
| else_if = { | |
| limit = { | |
| scope:this_title.tier = tier_duchy | |
| } | |
| hidden_effect = { | |
| add_opinion = { | |
| target = scope:actor | |
| modifier = received_title_duchy | |
| } | |
| } | |
| scope:this_title = { add_to_temporary_list = titles_to_grant } | |
| hidden_effect = { | |
| if = { | |
| limit = { | |
| is_a_faction_member = yes | |
| } | |
| add_joined_faction_discontent = -20 | |
| } | |
| } | |
| } | |
| else_if = { | |
| limit = { | |
| scope:this_title.tier = tier_kingdom | |
| } | |
| hidden_effect = { | |
| add_opinion = { | |
| target = scope:actor | |
| modifier = received_title_kingdom | |
| } | |
| } | |
| scope:this_title = { add_to_temporary_list = titles_to_grant } | |
| hidden_effect = { | |
| if = { | |
| limit = { | |
| is_a_faction_member = yes | |
| } | |
| add_joined_faction_discontent = -40 | |
| } | |
| } | |
| } | |
| else_if = { | |
| limit = { scope:this_title.tier = tier_empire } | |
| add_opinion = { | |
| target = scope:actor | |
| modifier = received_title_empire | |
| } | |
| hidden_effect = { | |
| if = { | |
| limit = { | |
| is_a_faction_member = yes | |
| } | |
| add_joined_faction_discontent = -60 | |
| } | |
| } | |
| scope:this_title = { add_to_temporary_list = titles_to_grant } | |
| } | |
| } | |
| #Promised a vassal this title they had a claim on (vassal.2901) | |
| if = { | |
| limit = { | |
| scope:actor = { | |
| exists = var:was_promised_title | |
| var:was_promised_title = scope:recipient | |
| } | |
| } | |
| if = { | |
| limit = { | |
| scope:recipient = { | |
| exists = var:promised_title | |
| } | |
| scope:landed_title = scope:recipient.var:promised_title | |
| } | |
| scope:actor = { | |
| trigger_event = { | |
| id = vassal.2910 | |
| days = { 7 14 } | |
| } | |
| } | |
| } | |
| } | |
| } | |
| if = { | |
| limit = { | |
| scope:recipient = { | |
| has_trait = bastard | |
| } | |
| } | |
| custom_tooltip = grant_title_to_bastard_dynasty_warning | |
| } | |
| } | |
| if = { | |
| limit = { | |
| any_in_list = { | |
| list = target_titles | |
| tier = tier_empire | |
| } | |
| } | |
| custom_tooltip = grant_title_modifier_stack_empires | |
| } | |
| if = { | |
| limit = { | |
| any_in_list = { | |
| list = target_titles | |
| tier = tier_kingdom | |
| } | |
| } | |
| custom_tooltip = grant_title_modifier_stack_kingdoms | |
| } | |
| if = { | |
| limit = { | |
| any_in_list = { | |
| list = titles_to_grant | |
| tier = tier_duchy | |
| } | |
| } | |
| custom_tooltip = grant_title_modifier_stack_duchies | |
| } | |
| if = { | |
| limit = { | |
| any_in_list = { | |
| list = titles_to_grant | |
| tier = tier_county | |
| } | |
| } | |
| custom_tooltip = grant_title_modifier_stack_counties | |
| } | |
| if = { | |
| limit = { | |
| any_in_list = { | |
| list = titles_to_grant | |
| tier = tier_barony | |
| } | |
| } | |
| custom_tooltip = grant_title_modifier_stack_baronies | |
| } | |
| if = { | |
| limit = { | |
| scope:recipient = { is_a_faction_member = yes } | |
| } | |
| custom_tooltip = grant_title_modifier_stack_discontent | |
| } | |
| #Stress impact | |
| scope:actor = { | |
| if = { | |
| limit = { | |
| any_in_list = { | |
| list = target_titles | |
| tier <= tier_county # Title counts toward domain limit | |
| title_province.barony = { | |
| has_wrong_holding_type = no | |
| } | |
| count >= 1 | |
| } | |
| } | |
| # Gnostics lose stress for giving away titles. | |
| if = { | |
| limit = { | |
| scope:actor = { | |
| faith = { | |
| has_doctrine_parameter = granting_titles_gives_stress | |
| } | |
| } | |
| } | |
| scope:actor = { | |
| add_stress = { | |
| value = 0 | |
| # Base stress value scaled on title tier. | |
| every_in_list = { | |
| list = target_titles | |
| add = { | |
| value = 0 | |
| if = { | |
| limit = { this.tier = tier_county } | |
| add = minor_stress_loss # 10 base | |
| } | |
| else_if = { | |
| limit = { this.tier = tier_duchy } | |
| add = { | |
| value = medium_stress_loss | |
| multiply = 1.25 # 25 base | |
| } | |
| } | |
| else_if = { | |
| limit = { this.tier = tier_kingdom } | |
| add = { | |
| value = major_stress_loss | |
| multiply = 2 # 80 base | |
| } | |
| } | |
| else_if = { | |
| limit = { this.tier = tier_empire } | |
| add = { | |
| value = monumental_stress_loss | |
| multiply = 2 # 200 base | |
| } | |
| } | |
| # Lose more stress for giving away titles of your primary tier; lose less stress for giving away titles far below your primary in tier. | |
| multiply = { | |
| value = this.tier | |
| add = 1 | |
| divide = scope:actor.primary_title.tier | |
| } | |
| # Round to the nearest multiple of 5. | |
| divide = 5 | |
| round = yes | |
| multiply = 5 | |
| # For a Duke, this will be x1.25 for Duchies (-30) and x1 for Counties(-10) | |
| # For a King, this will be x1.25 for a Kingdom (-100), x1 for a Duchy (-25) and x0.75 for Counties(-10) | |
| # For an Emperor, this will be x1.25 for an Empire(-200), x1 for a Kingdom(-80), x0.75 for a Duchy(-20) and x0.4 for a Counties (-5) | |
| } | |
| } | |
| } | |
| } | |
| } | |
| # Greedy rules gain stress for giving away titles if they would normally be able to keep them. | |
| if = { | |
| limit = { | |
| domain_size = domain_limit | |
| } | |
| stress_impact = { | |
| greedy = minor_stress_impact_gain | |
| ambitious = minor_stress_impact_gain | |
| } | |
| } | |
| else_if = { | |
| limit = { | |
| domain_size < domain_limit | |
| } | |
| stress_impact = { | |
| greedy = medium_stress_impact_gain | |
| ambitious = medium_stress_impact_gain | |
| } | |
| } | |
| } | |
| #Feedback for actor | |
| hidden_effect = { | |
| if = { | |
| limit = { | |
| any_in_list = { | |
| list = target_titles | |
| count = 1 | |
| NOT = { tier = scope:actor.highest_held_title_tier } | |
| } | |
| scope:recipient = { | |
| any_held_title = { | |
| tier > tier_barony | |
| NOT = { | |
| is_in_list = target_titles | |
| } | |
| } | |
| } | |
| } | |
| random_in_list = { | |
| list = target_titles | |
| save_temporary_scope_as = loc_title | |
| } | |
| send_interface_toast = { | |
| title = grant_titles_interaction_notification | |
| left_icon = scope:actor | |
| right_icon = scope:recipient | |
| custom_tooltip = grant_titles_interaction_notification_effect_2 | |
| } | |
| } | |
| else_if = { | |
| limit = { | |
| any_in_list = { | |
| list = target_titles | |
| count > 1 | |
| NOT = { tier = scope:actor.highest_held_title_tier } | |
| } | |
| scope:recipient = { | |
| any_held_title = { | |
| tier > tier_barony | |
| NOT = { | |
| is_in_list = target_titles | |
| } | |
| } | |
| } | |
| } | |
| random_in_list = { | |
| list = target_titles | |
| save_temporary_scope_as = loc_title | |
| } | |
| send_interface_toast = { | |
| title = grant_titles_interaction_notification | |
| left_icon = scope:actor | |
| right_icon = scope:recipient | |
| custom_tooltip = grant_titles_interaction_notification_effect_3 | |
| } | |
| } | |
| else_if = { | |
| limit = { | |
| scope:recipient = { | |
| any_in_list = { #Became independent | |
| list = target_titles | |
| tier = scope:actor.highest_held_title_tier | |
| } | |
| } | |
| } | |
| send_interface_toast = { | |
| title = grant_titles_interaction_notification | |
| left_icon = scope:actor | |
| right_icon = scope:recipient | |
| custom_tooltip = grant_titles_interaction_notification_effect_4 | |
| } | |
| } | |
| else = { | |
| send_interface_toast = { | |
| title = grant_titles_interaction_notification | |
| left_icon = scope:actor | |
| right_icon = scope:recipient | |
| custom_tooltip = grant_titles_interaction_notification_effect | |
| } | |
| } | |
| } | |
| } | |
| } | |
| } | |
| grant_vassal_interaction = { | |
| category = interaction_category_vassal | |
| common_interaction = yes | |
| interface = transfer_vassal | |
| special_interaction = grant_vassal_interaction | |
| populate_actor_list = { | |
| scope:actor = { | |
| every_vassal = { | |
| add_to_list = characters | |
| } | |
| } | |
| } | |
| desc = grant_vassal_interaction_desc | |
| prompt = GRANT_VASSAL_SELECT_VASSAL_TO_TRANSFER | |
| greeting = positive | |
| notification_text = GRANT_VASSAL_PROPOSAL | |
| pre_answer_yes_key = ACCEPT | |
| pre_answer_no_key = DECLINE | |
| is_shown = { | |
| NOT = { scope:recipient = scope:actor } | |
| OR = { | |
| AND = { | |
| exists = scope:recipient.liege | |
| scope:recipient.liege = scope:actor | |
| } | |
| AND = { | |
| exists = scope:actor.liege | |
| scope:actor.liege = scope:recipient | |
| } | |
| # Mod | |
| AND = { | |
| scope:actor = { is_ai = no } | |
| scope:recipient = { | |
| OR = { | |
| faith.religious_head = this | |
| dynasty = scope:actor.dynasty | |
| } | |
| } | |
| } | |
| } | |
| scope:recipient.highest_held_title_tier > tier_barony | |
| } | |
| is_valid_showing_failures_only = { | |
| scope:recipient = { is_diplomatically_available = yes } | |
| NOT = { scope:actor = { is_at_war_with = scope:recipient } } | |
| trigger_if = { | |
| limit = { exists = scope:secondary_actor } | |
| NOT = { scope:secondary_actor = { is_at_war_with = scope:recipient } } | |
| scope:secondary_actor = { is_diplomatically_available = yes } | |
| scope:recipient.primary_title.tier > scope:secondary_actor.primary_title.tier | |
| } | |
| trigger_if = { | |
| limit = { | |
| scope:actor = { is_ai = yes } | |
| exists = scope:secondary_actor | |
| } | |
| scope:secondary_actor = { | |
| NOT = { has_character_flag = ai_should_not_transfer } | |
| } | |
| } | |
| trigger_if = { | |
| limit = { scope:recipient.highest_held_title_tier <= tier_county } | |
| scope:recipient = { highest_held_title_tier > tier_county } | |
| } | |
| trigger_else = { | |
| scope:actor = { | |
| custom_description = { | |
| text = "basic_valid_vassal_to_tranfer" | |
| object = scope:recipient | |
| any_vassal = { | |
| NOT = { highest_held_title_tier = tier_barony } | |
| scope:recipient.highest_held_title_tier > highest_held_title_tier | |
| } | |
| } | |
| } | |
| } | |
| } | |
| can_be_picked = { | |
| NOT = { scope:recipient = root } | |
| highest_held_title_tier > tier_barony | |
| highest_held_title_tier < scope:recipient.highest_held_title_tier | |
| trigger_if = { | |
| limit = { scope:actor.liege = scope:recipient } | |
| NOT = { | |
| primary_title = { | |
| any_this_title_or_de_jure_above = { | |
| holder = scope:actor | |
| } | |
| } | |
| } | |
| } | |
| # Not at war with the vassal being transferred (blocks explicit transfer of war enemies, which invalidates the war). | |
| custom_description = { | |
| text = "basic_is_at_war_with_vassal" | |
| subject = root | |
| object = scope:actor | |
| NOT = { | |
| root = { | |
| is_at_war_with = scope:actor | |
| } | |
| } | |
| } | |
| # Mod | |
| trigger_if = { | |
| limit = { exists = scope:secondary_actor } | |
| # Not at war with a vassal under the vassal being transferred (blocks implicit transfers of war enemies). | |
| custom_description = { | |
| text = "basic_is_at_war_with_sub_vassal" | |
| subject = root | |
| object = scope:actor | |
| NOT = { | |
| scope:secondary_actor = { | |
| any_vassal_or_below = { | |
| is_at_war_with = root | |
| } | |
| } | |
| } | |
| } | |
| } | |
| } | |
| auto_accept = { | |
| scope:recipient = { | |
| custom_description = { | |
| text = wants_more_vassals | |
| is_ai = yes | |
| } | |
| } | |
| } | |
| on_accept = { | |
| scope:actor = { | |
| send_interface_toast = { | |
| title = grant_vassal_interaction_notification | |
| right_icon = scope:recipient | |
| left_icon = scope:secondary_actor | |
| create_title_and_vassal_change = { | |
| type = granted | |
| save_scope_as = change | |
| add_claim_on_loss = no | |
| } | |
| scope:secondary_actor = { | |
| change_liege = { | |
| liege = scope:recipient | |
| change = scope:change | |
| } | |
| } | |
| resolve_title_and_vassal_change = scope:change | |
| scope:recipient = { | |
| add_opinion = { | |
| target = scope:actor | |
| modifier = granted_vassal | |
| } | |
| } | |
| stress_impact = { | |
| greedy = medium_stress_impact_gain | |
| } | |
| } | |
| } | |
| } | |
| on_decline = { | |
| scope:actor = { | |
| trigger_event = char_interaction.0211 | |
| } | |
| } | |
| # AI handled entirely though code | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment