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

Scripted effect

downgrade_invalid_consort_opinions_effect

downgrade_invalid_consort_opinions_effect = { PARTNER = … }

game/common/scripted_effects/00_marriage_interaction_effects.txt, line 1483 (174 lines). Parameters: $PARTNER$.

downgrade_invalid_consort_opinions_effect is a scripted effect in Crusader Kings III, written at line 1483 of its file. A call passes 1 parameter: PARTNER. The game's script calls it in 1 place, among them update_active_consort_opinion_effect (scripted effect). Patch 1.20.1.2, from game/common/scripted_effects/00_marriage_interaction_effects.txt.

The comment above it in the file

Checks if we have any permanent opinion modifiers which are no longer applicable. If so, downgrade them to decaying opinion modifiers.

What it does

  • If

    • has_opinion_modifier = { modifier = concubine_with_monogamous_faith_opinion target = $PARTNER$ }
    • One of these

      • NOT = { is_concubine_of = $PARTNER$ }
      • or

        If

        a check the game hides

        Then

        • scope:is_being_set_aside = this
      • or

        Their rite: Has the Concubines Doctrine

    Then

    • remove_opinion = { modifier = concubine_with_monogamous_faith_opinion target = $PARTNER$ }
    • Opinion: Formerly a Concubine While Believing in a Monogamous Faith
  • If

    • has_opinion_modifier = { modifier = concubine_with_polygamous_faith_opinion target = $PARTNER$ }
    • One of these

      • NOT = { is_concubine_of = $PARTNER$ }
      • or

        If

        a check the game hides

        Then

        • scope:is_being_set_aside = this
      • or

        Their rite: Has the Concubines Doctrine

    Then

    • remove_opinion = { modifier = concubine_with_polygamous_faith_opinion target = $PARTNER$ }
    • Opinion: Formerly a Concubine While Believing in a Polygamous Faith
  • If

    • has_opinion_modifier = { modifier = spouse_does_not_believe_in_concubines_opinion target = $PARTNER$ }
    • One of these

      • NOT = { is_spouse_of = $PARTNER$ }
      • or

        If

        a check the game hides

        Then

        • scope:is_being_divorced = this
      • or

        $PARTNER$ = { … }
      • or

        All of these

        • exists = scope:is_being_set_aside
        • $PARTNER$ = { … }
      • or

        Their rite: Has the Concubines Doctrine
      • or

        Their rite: The rite has the tenet Polyamory

    Then

    • remove_opinion = { modifier = spouse_does_not_believe_in_concubines_opinion target = $PARTNER$ }
    • Opinion: You Blasphemed Our Marriage by Having Concubines
  • If

    • has_opinion_modifier = { modifier = polygamous_marriage_opinion target = $PARTNER$ }
    • One of these

      • NOT = { is_spouse_of = $PARTNER$ }
      • or

        If

        a check the game hides

        Then

        • scope:is_being_divorced = this
      • or

        $PARTNER$ = { … }
      • or

        All of these

        • exists = scope:is_being_divorced
        • $PARTNER$ = { … }
      • or

        Their rite: Has the Concubines Doctrine
      • or

        Their culture: The culture has the tradition Polygamous
      • or

        Their rite: Has the Polygamous Doctrine
      • or

        Their rite: The rite has the tenet Polyamory

    Then

    • remove_opinion = { modifier = polygamous_marriage_opinion target = $PARTNER$ }
    • Opinion: You Blasphemed Our Marriage by Having Other Spouses
  • If

    • has_opinion_modifier = { modifier = same_sex_with_no_acceptance_opinion target = $PARTNER$ }
    • One of these

      • NOT = { is_consort_of = $PARTNER$ }
      • or

        If

        a check the game hides

        Then

        • scope:is_being_divorced = this
      • or

        If

        a check the game hides

        Then

        • scope:is_being_set_aside = this
      • or

        sex_opposite_of = $PARTNER$
      • or

        allowed_to_marry_same_sex_trigger = yes

    Then

    • remove_opinion = { modifier = same_sex_with_no_acceptance_opinion target = $PARTNER$ }
    • Opinion: Formerly Forced to Be in a Same-sex Relation

• 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)
downgrade_invalid_consort_opinions_effect = {
	if = {
		limit = {
			has_opinion_modifier = {
				modifier = concubine_with_monogamous_faith_opinion
				target = $PARTNER$
			}
			OR = {
				# We are no longer a concubine of PARTNER...
				NOT = { is_concubine_of = $PARTNER$ }
				# ...or will no longer be a concubine of them.
				trigger_if = {
					limit = { exists = scope:is_being_set_aside}
					scope:is_being_set_aside = this
				}

				# Or, our Faith has changed to permit us being a concubine.
				rite = { rite_has_doctrine = doctrine_concubines }
			}
		}
		remove_opinion = {
			modifier = concubine_with_monogamous_faith_opinion
			target = $PARTNER$
		}
		add_opinion = {
			modifier = formerly_concubine_with_monogamous_faith_opinion
			target = $PARTNER$
		}
	}

	if = {
		limit = {
			has_opinion_modifier = {
				modifier = concubine_with_polygamous_faith_opinion
				target = $PARTNER$
			}
			OR = {
				# We are no longer a concubine of PARTNER...
				NOT = { is_concubine_of = $PARTNER$ }
				# ...or will no longer be a concubine of them.
				trigger_if = {
					limit = { exists = scope:is_being_set_aside}
					scope:is_being_set_aside = this
				}

				# Or, our Faith has changed to permit us being a concubine.
				rite = { rite_has_doctrine = doctrine_concubines }
			}
		}
		remove_opinion = {
			modifier = concubine_with_polygamous_faith_opinion
			target = $PARTNER$
		}
		add_opinion = {
			modifier = formerly_concubine_with_polygamous_faith_opinion
			target = $PARTNER$
		}
	}

	if = {
		limit = {
			has_opinion_modifier = {
				modifier = spouse_does_not_believe_in_concubines_opinion
				target = $PARTNER$
			}
			OR = {
				# We are no longer married to PARTNER...
				NOT = { is_spouse_of = $PARTNER$ }
				# ...or will no longer be married to them.
				trigger_if = {
					limit = { exists = scope:is_being_divorced}
					scope:is_being_divorced = this
				}

				# Or, the offending relationship no longer exists.
				$PARTNER$ = { any_concubine = {	count = 0 }}
				AND = {
					# The last remaining concubine is being set aside, leaving none.
					exists = scope:is_being_set_aside
					$PARTNER$ = { any_concubine = { count = 1 }}
				}

				# Or, our Faith has changed to permit the relationship.
				rite = { rite_has_doctrine = doctrine_concubines }
				rite = { rite_has_tenet = tenet_polyamory }
			}
		}
		remove_opinion = {
			modifier = spouse_does_not_believe_in_concubines_opinion
			target = $PARTNER$
		}
		add_opinion = {
			modifier = spouse_does_not_believe_in_former_concubines_opinion
			target = $PARTNER$
		}
	}

	if = {
		limit = {
			has_opinion_modifier = {
				modifier = polygamous_marriage_opinion
				target = $PARTNER$
			}
			OR = {
				# We are no longer married to PARTNER...
				NOT = { is_spouse_of = $PARTNER$ }
				# ...or will no longer be married to them.
				trigger_if = {
					limit = { exists = scope:is_being_divorced}
					scope:is_being_divorced = this
				}

				# Or, the offending relationship no longer exists.
				$PARTNER$ = { any_spouse = { count = 1 }}
				AND = {
					# One of the 2 remaining spouses will be divorced next tick, leaving only 1.
					exists = scope:is_being_divorced 
					$PARTNER$ = { any_spouse = { count = 2 }}
				}

As written in game/common/scripted_effects/00_marriage_interaction_effects.txt.

The first 120 of its 174 lines; the rest is in game/common/scripted_effects/00_marriage_interaction_effects.txt from line 1483.

Where it is used

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

Source: game/common/scripted_effects/00_marriage_interaction_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?