• 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.

Cassilda

Queen in Yellow
115 Badges
Oct 18, 2005
1.622
2.579
  • Europa Universalis IV
  • Hearts of Iron IV Sign-up
  • Stellaris: Federations
  • Battle for Bosporus
  • Europa Universalis 4: Emperor
  • Stellaris: Necroids
  • Stellaris: Nemesis
  • Victoria 3 Sign Up
  • Hearts of Iron IV: By Blood Alone
  • Hearts of Iron IV: No Step Back
  • Hearts of Iron 4: Arms Against Tyranny
  • Crusader Kings III
  • Europa Universalis IV: Art of War
  • Europa Universalis IV: Conquest of Paradise
  • Europa Universalis IV: Wealth of Nations
  • Europa Universalis IV: Call to arms event
  • Europa Universalis IV: Res Publica
  • Victoria 2
  • Victoria 2: A House Divided
  • Victoria 2: Heart of Darkness
  • 500k Club
  • Europa Universalis IV: El Dorado
  • Europa Universalis IV: Pre-order
  • Europa Universalis IV: Common Sense
  • Europa Universalis IV: Cossacks
  • Europa Universalis IV: Mare Nostrum
  • Stellaris: Galaxy Edition
  • Hearts of Iron IV: Colonel
  • Europa Universalis IV: Rights of Man
  • Tyranny: Gold Edition
  • Stellaris: Digital Anniversary Edition
  • Stellaris: Leviathans Story Pack
  • Hearts of Iron IV: Together for Victory
  • Stellaris - Path to Destruction bundle
  • Europa Universalis IV: Mandate of Heaven
  • Europa Universalis IV: Third Rome
  • Hearts of Iron IV: Death or Dishonor
  • Stellaris: Synthetic Dawn
  • Hearts of Iron IV: Expansion Pass
  • Stellaris: Humanoids Species Pack
  • Stellaris: Apocalypse
  • Europa Universalis IV: Rule Britannia
  • Stellaris: Distant Stars Pre-Order
  • Europa Universalis IV: Dharma Pre-order
  • Stellaris: Distant Stars
  • Europa Universalis IV: Dharma
  • Stellaris: Megacorp
  • Europa Universalis IV: Golden Century
  • Imperator: Rome Deluxe Edition
  • Hearts of Iron IV: Expansion Pass
In the current patch, at least in my opinion, vassalization is far too easy and it doesn't seem to consider at all distance, for example. And lots of "big enough" empires prefer to just become vassals instead of creating a military federation to resist bigger common menaces.
I'm quite surprised that current mods seems to make easier the vassalization of AI empires by a player, instead of making vassalization more weighted considering the galactic political stage in a game.
I'm just curious if there is a mod that makes vassalization balanced instead of correcting the AI misgiving by just letting the player doing the same.
 
  • 3
Reactions:
Some here. Been looking for such a mod for weeks now and no success. Even if we knew what numbers to tweak it would helpful.

There's some stuff in common/defines/00_defines.txt:
Bash:
        # These are used to determine the initial subject loyalty based on relation and relative military power
        SUBJECT_LOYALTY_RELATION_FACTOR = 50        # Multiplied with relation (0-4) for initial loyalty
        SUBJECT_LOYALTY_RELATION_SUBTRACT = 150        # Subtracted to balance out the relation loyalty weight
        SUBJECT_LOYALTY_RELATIVE_POWER_FACTOR = 25        # Multiplied with relative military power (0-4) for initial loyalty
        SUBJECT_LOYALTY_RELATIVE_POWER_SUBTRACT = 75        # Subtracted to balance out the relative military power loyalty weight

        SUBJECT_MONTHLY_LOYALTY_INTEGRATION = -5            # Each month the subject is being integrated, its loyalty is modified by this amount
        SUBJECT_MONTHLY_LOYALTY_OPINION_MULTIPLIER = 0.01    # Each month, the subject's opinion of its overlord is multiplied by this amount & added to its loyalty

        SUBJECT_LOYALTY_MAX = 100                    # Max value of loyalty
        SUBJECT_LOYALTY_MIN = -100                    # Min value of loyalty

        SUBJECT_XP_LOYALTY_MULTIPLIER = 0.1            # The subject specialist XP will increase by this multiplied with Loyalty every month

        SUBJECT_TYPE_CONVERSION_MATCHES_PREFERRED_ETHIC_SPEED_FACTOR = 1.42                    # How much faster/slower the specialization conversion will go if the subject has the type's preferred ethic
        SUBJECT_TYPE_CONVERSION_MATCHES_FANATIC_PREFERRED_ETHIC_SPEED_FACTOR = 2            # How much faster/slower the conversion will go if the subject has the fanatic variant of the type's preferred ethic
        SUBJECT_TYPE_CONVERSION_NO_PREFERRED_ETHIC_SPEED_FACTOR = 1                            # How much faster/slower the conversion will go if the subject does not have the type's preferred ethic
        SUBJECT_TYPE_CONVERSION_OPPOSITE_ETHIC_SPEED_FACTOR = 0.67                            # How much faster/slower the conversion will go if the subject has the opposite ethic to the type's preferred ethic
        SUBJECT_TYPE_CONVERSION_FANATIC_OPPOSITE_ETHIC_SPEED_FACTOR = 0.5                    # How much faster/slower the conversion will go if the subject has the fanatic variant of the opposite ethic to the type's preferred ethic
        SUBJECT_TYPE_CONVERSION_SPRAWL_FACTOR = 5                    # Conversion speed is affected by this÷EmpireSprawl

        AGREEMENT_RESOURCE_SUBSIDIES_MIN = -0.75                # Minimum percentage value for Resource Subsidies term
        AGREEMENT_RESOURCE_SUBSIDIES_MAX = -0.75                # Maximum percentage value for Resource Subsidies term
        AGREEMENT_RESOURCE_SUBSIDIES_INCREMENT = 0.05        # The increments between values for Resource Subsidies term

        AGREEMENT_RESOURCE_SUBSIDIES_DEFICIT_LOYALTY_EXPONENT = 1.5        # Exponent to apply to the %age of the subsidy to calculate loyalty when the subject is in deficit of that resource
        AGREEMENT_RESOURCE_SUBSIDIES_SURPLUS_LOYALTY_EXPONENT = 2.5        # Exponent to apply to the %age of the subsidy to calculate loyalty when the subject is in surplus of that resource
        AGREEMENT_RESOURCE_TITHE_DEFICIT_LOYALTY_EXPONENT = 0            # Exponent to apply to the %age of the tithe to calculate loyalty when the subject is in deficit of that resource
                                                                        #    (default 0, for -100 loyalty penalty)
        AGREEMENT_RESOURCE_TITHE_LOYALTY_PER_RESOURCE_CAP = 0.1            # Factor to apply to amount of a specific resource tithe. The loyalty lost from a single resource may not exceed this cap * amount of resource
        AGREEMENT_RESOURCE_TITHE_SURPLUS_LOYALTY_EXPONENT = 0.5            # Exponent to apply to the %age of the tithe to calculate loyalty when the subject is in surplus of that resource
        AGREEMENT_RESOURCE_SUBSIDIES_LOYALTY_PER_RESOURCE_CAP = 0.1        # Factor to apply to amount of a specific resource subsidy. The loyalty gained from a single resource may not exceed this cap * amount of resource

[...]

        ASK_FOR_AGREEMENT_ACCEPTANCE_OVERLORD_LOYALTY_OFFSET = 100 # Acceptance from loyalty = OFFSET+FACTOR*e^(LOYALTY*EXP)
        ASK_FOR_AGREEMENT_ACCEPTANCE_OVERLORD_LOYALTY_FACTOR = -122
        ASK_FOR_AGREEMENT_ACCEPTANCE_OVERLORD_LOYALTY_EXP = 0.06
        NEGOTIATE_AGREEMENT_ACCEPTANCE_OPINION_FACTOR = 0.333
        NEGOTIATE_AGREEMENT_ACCEPTANCE_OVERLORD_LOYALTY_DIVISOR = -100 # Acceptance from loyalty change = FACTOR*BASE^(LOYALTY/DIVISOR)
        NEGOTIATE_AGREEMENT_ACCEPTANCE_OVERLORD_LOYALTY_FACTOR = 6
        NEGOTIATE_AGREEMENT_ACCEPTANCE_OVERLORD_LOYALTY_BASE = 300
        NEGOTIATE_AGREEMENT_ACCEPTANCE_SUBJECT_LOYALTY_FACTOR = 5 # Acceptance from loyalty change = FACTOR*LOYALTY
        NEGOTIATE_AGREEMENT_ACCEPTANCE_SUBJECT_POWER_STEP = 375
        DEMAND_SUBJUGATION_ACCEPTANCE_SUBJECT_POWER_STEP = 375
        NEGOTIATE_AGREEMENT_ACCEPTANCE_SUBJECT_MONTHLY_LOYALTY_DIVIDEND = 600 # Acceptance from monthly loyalty = DIVIDEND/(1 + EXP(EXP_FACTOR * M - EXP_OFFSET)))-BASE
        NEGOTIATE_AGREEMENT_ACCEPTANCE_SUBJECT_MONTHLY_LOYALTY_EXP_FACTOR = -0.2
        NEGOTIATE_AGREEMENT_ACCEPTANCE_SUBJECT_MONTHLY_LOYALTY_EXP_OFFSET = -0.7
        NEGOTIATE_AGREEMENT_ACCEPTANCE_SUBJECT_MONTHLY_LOYALTY_BASE = -400
        NEGOTIATE_AGREEMENT_RESOURCE_SPENDING_ACCEPTANCE_MAX_PERCENT = 0.75
        NEGOTIATE_AGREEMENT_RESOURCE_SPENDING_ACCEPTANCE_MAX_PENALTY = 1000
        NEGOTIATE_AGREEMENT_RESOURCE_INCOME_ACCEPTANCE_MAX_PERCENT = 0.15
        NEGOTIATE_AGREEMENT_RESOURCE_INCOME_ACCEPTANCE_MAX_BONUS = 100
        NEGOTIATE_AGREEMENT_RESOURCE_ACCEPTANCE_COEFICIENT_FOR_OVERLORD = 1
        NEGOTIATE_AGREEMENT_RESOURCE_ACCEPTANCE_COEFICIENT_FOR_SUBJECT = 0.5
        NEGOTIATE_AGREEMENT_MAX_ACCEPTANCE_FROM_TERMS = 1000
        NEGOTIATE_AGREEMENT_MIN_ACCEPTANCE_FROM_TERMS = -10000

You could also try modifying the action_ask_to_become_subjugated diplomatic action in ommon/diplomatic_actions/00_actions.txt in order to prevent AIs from volunteering to be subjects in certain situations (such as when they could ask to form a federation instead), but that only allows for enabling/disabling the option and not weighting it.

Otherwise as far as I've been able to discover, AI acceptance modifiers (both for agreements and for trade) simply aren't available to modders.
 
  • 3
Reactions:
@SirBlackAxe: you have already made a vanilla 3.4 fix mod, it would not be bad if you could add some changes there!? :p
 
@SirBlackAxe: you have already made a vanilla 3.4 fix mod, it would not be bad if you could add some changes there!? :p
I've got some stuff preventing non-pathetic ai from requesting to become a subject if they could ask to form or join a federation instead queued for the next update!

I don't think I'm going to be changing any acceptence numbers though since that's more of a balance issue than a bug. If we had more control over acceptence values I might try some stuff related to opposing ethics, opinion, difficulty setting, and/or willingness to join a federation, but as far as I know that isn't possible... actually taking another look, I think I want to run a little expiriment on the subject_weight field in agreement presets. I'll get back to you. EDIT: Nope, can't be used like that.
 
Last edited: