The game needs to seriously tone down adultery

  • We have updated our Community Code of Conduct. Please read through the new rules for the forum that are an integral part of Paradox Interactive’s User Agreement.

Zeeg

First Lieutenant
1 Badges
Apr 2, 2020
240
550
  • Crusader Kings II: The Old Gods
I just don't get it, there are so many different ways of creating family related drama. Like siblings fighting over dead parents' inheritance, two siblings rivalry for parent's approval, parents\rulers comparing whose child is brighter?? Forcing adultery just to create drama?
 
  • 13
  • 1Like
Reactions:

void0x00

Captain
19 Badges
Sep 10, 2020
352
590
  • Stellaris: Apocalypse
  • Stellaris: Nemesis
  • Stellaris: Necroids
  • Empire of Sin
  • Crusader Kings III
  • Stellaris: Federations
  • Stellaris: Lithoids
  • Stellaris: Ancient Relics
  • Stellaris: Megacorp
  • Stellaris: Distant Stars
  • Magicka
  • Stellaris: Humanoids Species Pack
  • Stellaris: Synthetic Dawn
  • Stellaris - Path to Destruction bundle
  • Stellaris: Leviathans Story Pack
  • Stellaris: Digital Anniversary Edition
  • Stellaris: Galaxy Edition
  • Stellaris: Galaxy Edition
  • Stellaris
Want a good example of the problem? Here's some of the code from the yearly.0003 event, wherein you learn that one of your children is in an incestuous relationship. Specifically, the part where the event chooses the child in question:
Code:
        #Picks the child
        random_child = {
            limit = {
                save_temporary_scope_as = child
                any_relation = {
                    type = lover
                    relation_with_character_is_incestuous_in_faith_trigger = { CHARACTER = scope:child FAITH = root.faith }
                }
                yearly_0003_valid_child = yes
                any_close_or_extended_family_member = {
                    yearly_0003_valid_relative = yes
                }
            }
            alternative_limit = {
                yearly_0003_valid_child = yes
                save_temporary_scope_as = child
                any_close_or_extended_family_member = {
                    yearly_0003_valid_relative = yes
                }
            }

            weight = {
                base = 10
                modifier = {
                    add = 30
                    has_trait = lustful
                }
                modifier = {
                    add = 70
                    OR = {
                        has_trait = deviant
                    }
                    any_secret = {
                        secret_type = secret_deviant
                    }
                }
                #More dramatic if your heir is one of the partipants.
                modifier = {
                    add = 50
                    is_player_heir_of_trigger = { CHARACTER = root }
                }
            }

            save_scope_as = child

Specifically, if you already have a child in an incestuous relationship, the event picks that child; otherwise, it picks a child that fulfills the "yearly_0003_valid_child" criteria. What is that, you ask?

Code:
scripted_trigger yearly_0003_valid_child = {
    is_available_ai_adult = yes
    #So we can imprison them
    any_liege_or_above = { this = root }
    save_temporary_scope_as = this_child
    NOR = {
        # Child must be able to be in a relationship.
        has_trait = celibate
        has_sexuality = asexual

        # Child must not already be in or have been in a (known) incestuous relationship.
        has_trait = incestuous
        AND = {
            any_secret = {
                secret_type = secret_lover
                is_known_by = root
                secret_target = {
                    relation_with_character_is_incestuous_in_my_faith_trigger = { CHARACTER = scope:this_child }
                }
            }
        }
    }
}

They just have to be an adult with a sex drive. The yearly_0003_valid_relative is similarly permissive; it just makes sure the relative is in your court and is sexually compatible with the target child.

In short, if the event fires, and you don't already have any secret incest in your family, the game picks a random adult child and forces them into an incestuous relationship. It does not care if your child is a chaste zealot with 100 opinion of their spouse and soulmate. It even adds a ton of extra likelihood to picking your heir, for "drama."

For some other lover event, there has a might_cheat_on_partner_trigger, check the character personility, or require low opinion on the partner,
although this usually only change the chance, not forbid it totally.

Code:
might_cheat_on_partner_trigger = {
    trigger_if = {
        limit = {
            # If $PARTNER$ isn't actually my partner, it's not cheating!
            OR = {
                has_relation_lover = $PARTNER$
                is_consort_of = $PARTNER$ # Includes both spouses and concubines
            }

            # Additionally, in faiths with the Polyamory doctrine, extramarital relationships aren't considered to be cheating on partners.
            NOT = { faith = { has_doctrine_parameter = no_unfaithfulness_penalty_active } }
        }

        # Soulmates never cheat, unless they're Lustful/Seducer and have low Honor
        trigger_if = {
            limit = { has_relation_soulmate = $PARTNER$ }
            ai_honor <= medium_negative_ai_value
            has_trait = lustful
            has_trait = seducer
            has_focus = intrigue_temptation_focus
        }

        # Non-soulmates have slightly more complex criteria
        trigger_else = {
            OR = {
                # Having one of these things that makes characters always willing to cheat:
                OR = {
                    has_trait = lustful
                    has_trait = seducer
                    has_focus = intrigue_temptation_focus

                    AND = {
                        # Dishonorable and callous enough to not care about current partners (regardless of opinion).
                        ai_compassion <= high_negative_ai_value
                        ai_honor <= high_negative_ai_value
                    }
                    AND = {
                        # Needs aren't getting met
                        is_deviant_trigger = yes
                        $PARTNER$ = { is_deviant_trigger = no }
                    }
                }

                # Otherwise, they need to not be honorable and not have a strong like of this partner
                AND = {
                    ai_honor < high_positive_ai_value
                    trigger_if = {
                        limit = {
                            is_consort_of = $PARTNER$
                        }
                        opinion = {
                            target = $PARTNER$
                            value <= high_positive_opinion # 60 for spouses/concubines
                        }
                    }
                    trigger_else = {
                        opinion = {
                            target = $PARTNER$
                            value <= very_high_positive_opinion # 80 for lovers
                        }
                    }
                }

                # Might also cheat if they just dislike their partner, regardless of honor
                AND = {
                    opinion = {
                        target = $PARTNER$
                        value < neutral_opinion # -1 or lower for spouses, concubines, or lovers
                    }
                }
            }
        }
    }
    trigger_else = { always = yes } # Having an extramarital relationship with someone else would not count as cheating on this person.
}
 
Last edited:
  • 6
  • 2Like
  • 1
Reactions: