CK3 DatabaseCrusader Kings III · 1.20.1.2 “Crozier” · unofficial
Silk & Silverout Tue, Nov 17What's free, what needs the DLC, price →

Scripted effect · By God Alone files

ecclesiastic_transfer_land_interaction_transfer_effect

ecclesiastic_transfer_land_interaction_transfer_effect = yes

game/common/scripted_effects/pam_effects.txt, line 5681 (396 lines). No parameters.

ecclesiastic_transfer_land_interaction_transfer_effect is a scripted effect in Crusader Kings III, in the By God Alone files, written at line 5681 of its file. It takes no parameters: ecclesiastic_transfer_land_interaction_transfer_effect = yes. The game's script calls it in 5 places, among them Negotiate For Land (interaction), …, Acquired (event pam_interactions_events.0035) and Negotiations for … (event pam_interactions_events.0030). Its body carries 2 texts of the game's own for the player. Patch 1.20.1.2, from game/common/scripted_effects/pam_effects.txt.

What it does

  • If

    • scope:target.holder: Is played by a person

    Then

    Else if

    • scope:target.holder.primary_title ?= scope:target
    • scope:target.holder:
    • One of these

      • scope:target.holder.highest_held_title_tier < scope:actor.highest_held_title_tier
      • or

        scope:target.holder:
        • None of these

          • Any held title:
            • NOT = { this = scope:target }
            • Title tier exactly scope:target.tier

    Then

    • If

      • scope:target.tier >= scope:actor.highest_held_title_tier

      Then

      • scope:target: Gains the … Title (actor)
    • … … … Vassal
  • If in list (at least 1) › Every in list:
    • Where: Title tier at least County
    • Gains the … Title (actor)
  • If

    • In list (at least 1) › Any held title:
      • is_landless_type_title = no

    Then

    • If any in list: … … … Vassal
  • If

    • scope:target.tier >= highest_held_title_tier_minus_one

    Then

    • create_character_memory = { … }
  • If

    • scope:target.tier >= scope:recipient.highest_held_title_tier_minus_one

    Then

    • scope:recipient:
      • create_character_memory = { … }

• the game's own tooltip text · ◦ our reading of the script line · code the script where neither exists

“They” is whatever it runs on (the scope it is called in). The scripted triggers and effects it calls link to their own pages; $PARAMETERS$ stay as written: each call fills them in.

The script as written (120 lines of game script)
ecclesiastic_transfer_land_interaction_transfer_effect = {
	#Transfer vassal
	#Need to inform player of why they were just transferred
	#Players are only valid if it is their primary title being transfered
	if = {
		limit = {
			scope:target.holder ?= {
				NOT = {
					this = scope:recipient
				}
				is_ai = no
			}
		}
		#transfer vassal
		if = {
			limit = {
				scope:target.holder = { is_governor_or_admin_count = no }
			}
			scope:target.holder = {
				add_to_list = already_transfered
				every_vassal_or_below = {
					limit = {
						highest_held_title_tier >= tier_county
					}
					add_to_list = already_transfered
				}
			}
			create_title_and_vassal_change = {
				type = granted
				save_scope_as = change
				add_claim_on_loss = no
			}
			scope:target.holder = {
				change_liege = {
					liege = scope:actor
					change = scope:change
				}
			}
			resolve_title_and_vassal_change = scope:change

			scope:target.holder = {
				#Notification event they're being transferred
				trigger_event = pam_interactions_events.0037
			}
		}
		#Admin - needs title revoked
		else = {
			every_held_title = {
				limit = {
					any_this_title_or_de_jure_above = {
						this = scope:target
					}
				}
				add_to_list = admin_target_transfer
			}
			hidden_effect = {
				create_title_and_vassal_change = {
					type = revoked
					save_scope_as = change
					add_claim_on_loss = yes
				}
				every_in_list = {
					list = admin_target_transfer
					change_title_holder = {
						holder = scope:recipient
						change = scope:change
					}
				}
				resolve_title_and_vassal_change = scope:change
			}
			scope:target.holder = {
				#Notification event to dispossessed admin
				trigger_event = pam_interactions_events.0039
			}
		}
	}
	#Transfer vassal if it is primary title of its holder
	else_if = {
		limit = {
			scope:target.holder.primary_title ?= scope:target
			scope:target.holder = {
				highest_held_title_tier = scope:target.tier
				is_governor_or_admin_count = no
			}
			OR = {
				#already low enough tier to transfer
				scope:target.holder.highest_held_title_tier < scope:actor.highest_held_title_tier
				#Will be low enough tier to transfer
				scope:target.holder = {
					NOT = {
						any_held_title = {
							NOT = {
								this = scope:target
							}
							tier = scope:target.tier
						}
					}
				}
			}
		}
		scope:target.holder = { save_scope_as = old_holder }
		#Need to transfer vassals if getting taken down a tier
		if = {
			limit = {
				#Will be low enough tier to transfer
				scope:target.holder = {
					NOT = {
						any_held_title = {
							NOT = {
								this = scope:target
							}
							tier >= scope:target.tier
						}
					}
				}
			}
			scope:old_holder = {
				every_vassal = {
					limit = {
						highest_held_title_tier >= tier_county

As written in game/common/scripted_effects/pam_effects.txt.

The first 120 of its 396 lines; the rest is in game/common/scripted_effects/pam_effects.txt from line 5681.

Where it is used

Every place in common/, events/ and history/ that calls ecclesiastic_transfer_land_interaction_transfer_effect.

Character interactions (1)

Events (4)

Source: game/common/scripted_effects/pam_effects.txt and every file of common/, events/ and history/ that calls it, Crusader Kings III 1.20.1.2.

Spotted a mistake on this page?