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

CK2 Dev Diary #53: Time to pay Tribute

Greetings!

Today I’d like to talk to you about a part of the game that we’ve chosen to overhaul and improve - the Tributary system! Introduced in Horse Lords, the ‘Make Tributary’ CB allowed you to go to war with a neighboring realm to make them pay you 40% of their income until the death of your current character. It was quite a simple system that didn’t always fit the intended purpose very well, so we decided to make it more advanced and capable of diverse use!

Tributaries can now come in a lot of flavors, as they are entirely definable in a new ‘tributary_types’ file. You define a name and then you set the parameters for how you would like the Tributary to work. You are able to customize a lot of things, for example; the various tribute percentages, if the Tributary should be set free on death or if the Suzerain must defend the Tributary in wars.

With this new system we have lots of ideas on where we could add new types of Tributaries, i.e. Permanent Tributaries or Nomad Tributaries. If you have any ideas for a type of Tributary (and when it would make sense to have it/when to gain access to the CB) feel free to post a suggestion in this thread!

To demonstrate, here’s the script for an example Tributary type:

Code:
example = {                                # name used for that type of tributary. "default" is the standard type, replacing the old tributaries, and "none" is reserved and should not be used
    tributary_name = TRIBUTARY_DEFAULT_NAME        # localization string used for tributaries of that type (ie "Tributary" for the default type, "Permanent Tributary" for the Permanent type, etc)
    tributary_plural = TRIBUTARY_DEFAULT_PLURAL    # localization string used for tributaries of that type, when there is more than one (ie "Tributaries" for the default type, "Permanent Tributaries" for the Permanent type, etc)
    suzerain_name = SUZERAIN_DEFAULT_NAME        # localization string used for suzerains of that tributary type (ie "Suzerain" for the default type, "Permanent Suzerain" for the Permanent type, etc)
    tribute_name = TRIBUTARY_DEFAULT_TRIBUTE    # localization string used for "paying $TRIBUTE$" for that tributary type
    breaks_at_suzerain_death = yes        # yes/no value determining if the tributary relationship is dissolved when the suzerain dies.
    breaks_at_tributary_death = no         # yes/no value determining if the tributary relationship is dissolved when the tributary dies
    suzerain_must_defend = no             # yes/no value determining if the suzerain is forced to accept calls to arms from tributary in defensive wars (wars were the tributary is the defender)
                                        # if they decline anyway, they will lose the tributary and an amount of prestige defined in defines.lua, called SUZERAIN_DEFENDER_CALL_DECLINE_COST
    tributary_can_be_summoned = yes     # yes/no value determining if the suzerain can calls the tributaries to war (as tribal vassals / allies)   
    tributary_must_defend = yes            # yes/no value determining if the tributaries are forced to accept defensive calls to arms
    tributaries_can_infight = yes        # yes/no value determining if the tributaries can fight against each others, if both tributaries are of the same type
                                        # if tributaries are of different types, they will always be allowed to fight each other, even if they have the same suzerain
    suzerain_can_join_infighting = yes    # yes/no value determining if the suzerain can join a tributary in a war against another
    tributaries_can_unite = no             # yes/no value determining if, when trying to break, the tributaries can band together against the suzerain, à la major revolt
    breaks_on_realm_change=yes            # yes/no value determining if the tributary relationship is dissolved when the tributary's titles change realms
    cbs_against_suzerain = {            # list of CBs tributaries can use against their suzerain
        free_tributary_cb
    }
    income_tribute_percentage = {        # how much of their monthly income the tributary must pay to their suzerain.
                                        # THIS IS ONLY EVALUATED WHEN THE TRIBUTARY RELATIONSHIP IS FORMED
                                        # and is not reevaluated afterwards
                                        # this value is an MTTH and should compute a value between 0 and 1, inclusive
                                        # in case the total is less than 0, it will be counted as 0
                                        # in case the total is more than 1, it will be counted as 1
                                        # current scope is the tributary, FROM is the suzerain
        value = 0.10
        additive_modifier = {
            value = 0.05
            FROM = {
                is_merchant_republic = yes
            }
        }
    }
    reinforce_tribute_percentage = {    # How much of the tributary's reinforcement rate will go to the suzerain's instead.
                                        # THIS IS ONLY EVALUATED WHEN THE TRIBUTARY RELATIONSHIP IS FORMED
                                        # and is not reevaluated afterwards
                                        # this value is an MTTH and should compute a value between 0 and 1, inclusive
                                        # in case the total is less than 0, it will be counted as 0
                                        # in case the total is more than 1, it will be counted as 1
                                        # current scope is the tributary, FROM is the suzerain

                                        # this is applied by subtracting the percentage, as is, from the tributary's reinforcement rate
                                        # and adding a scaled (based on demesne size= version of the percentage to the suzerain
                                        # So, for example, the tributary loses 10% of reinforcement rate, but the suzerain gains 10% * (tributary's demesne size) / (suzerain's demesne size)
        value = 0.10
        additive_modifier = {
            value = 0.05
            FROM = {
                is_merchant_republic = yes
            }
        }
    }
    prestige_to_suzerain = {            # how much of prestige the suzerain gains every month per tributary (of that type) he holds
                                        # this value is an MTTH and the raw value will be added to the suzerain's prestige every month.
                                        # current scope is the suzerain, FROM is the tributary
        value = 0
    }
    prestige_to_tributary = {            # how much prestige the tributary gains every month
                                        # this value is an MTTH and the raw value will be added to the tributary's prestige every month.
                                        # to make them lose prestige, return a negative value
                                        # current scope is the tributary, FROM is the suzerain
        value = 0
    }
    piety_to_suzerain = {                # how much of piety the suzerain gains every month per tributary (of that type) he holds
                                        # this value is an MTTH and the raw value will be added to the suzerain's piety every month.
                                        # current scope is the suzerain, FROM is the tributary
        value = 0
    }
    piety_to_tributary = {                # how much of piety a tributary gains every month
                                        # this value is an MTTH and the raw value will be added to the tributary's piety every month.
                                        # to make them lose piety, return a negative value
                                        # current scope is the tributary, FROM is the suzerain
        value = 0
    }
}

I’d also like to expand upon something we touched upon in the last DD; the new ‘unjust conquest’ CB (now renamed to Border Dispute). When declaring a Border Dispute over a County you first and foremost have to pay an upfront cost of Piety and Gold scaled to your tier (in the case of Pagans, prestige is used), but you also take an opinion hit from both your religious head (if you have one) as well as any landed characters of the targeted religious group in both your realm and the one you’re attacking. Note that these opinion modifiers stack! This makes the border Dispute CB dangerous to use on characters of your own religion, especially if you have a religious head capable of excommunicating you. You will primarily want to use this CB to expand early on when drawing the ire of your co-religionists is worth the risk, or against characters not of your religion.

Border_dispute_tooltip.png

Example is of an Irish Count wanting to conquer another Irish Count.


Note that Muslims, Nomads and in certain cases Pagans do not have access to this CB, as their current CB’s are already superior. It is also possible to turn the CB off entirely by using Game Rules.
Border_dispute_GR.png


Note that we’ve also decided to leave Fabricate Claim as it is right now.
 
I think you should be able to establish tributaries linked to titles if possible, say the king of Armenia pays tribute to the Emperor of Byzantium, even if there should be a change of dynasty or such. It'd greatly encourage at least me not to just eat up everything but actually take some time to engage with the world, maybe even consider adding a mechanic where you can put your own kin on the throne, perhaps tho leaving some sort of wall blocking him from ever being your heir again to prevent exploits. Would feel great to do a little bit of Napoleonic meddling.
 
There's a public holiday tomorrow (I researched), but not today apparently.

edit: According to their twitch stream they're not in the office today so looks like no dd.
And here I thought the English took their bank holidays seriously.
 
I am fairly convinced that some time a couple months ago, they determined that Monday was the day with the most holidays in the following period, so purposely put the CKII dairies on that :(
 
And here I thought the English took their bank holidays seriously.

We do, mostly because we don't get as many as most European countries.
 
We do, mostly because we don't get as many as most European countries.
That would make sense. We do get a couple of extra ones up in Scotland (2nd of January, and St Andrew's day) and not nearly as many people take them off. I'm surprised England and Wales don't get St George's/St David's day off in the same way us and Northern Ireland do. That's a bit of weird oversight.
 
We do get Boxing Day, which I recall our Scottish compatriots do not. Vote UKIP and we might get St George, St David and St Patrick :D. But, of course, it is the Catholics who get most.
 
We do get Boxing Day, which I recall our Scottish compatriots do not. Vote UKIP and we might get St George, St David and St Patrick :D. But, of course, it is the Catholics who get most.
Nah, we get Boxing day as well. ;) You guys have been a little short changed.
 
Nah, we get Boxing day as well. ;) You guys have been a little short changed.
That must have been changed during the last 50 years - but we get Easter Monday :rolleyes:
 
Preholiday holiday!!! :D
It's called a klämdag, a squeeze day, when a holiday is just one day away from a weekend then it is customary in Sweden to take out a day of vacation to make it a single longer holiday.
While it does cost you one day of vacation it is almost never refused.
 
I thought UK had the least number of days of in europe.l

Not quite - Northern Ireland gets 10, Scotland gets 9 and England & Wales get 8, as does Holland.
 
It's called a klämdag, a squeeze day, when a holiday is just one day away from a weekend then it is customary in Sweden to take out a day of vacation to make it a single longer holiday.
While it does cost you one day of vacation it is almost never refused.
Funny thing is that an EU4 diary has been promised for tomorrow. :D
 
Funny thing is that an EU4 diary has been promised for tomorrow. :D
Because DDRjake isn't Swedish thus doesn't feel the need to celebrate the national day of Sweden.
 
Because DDRjake isn't Swedish thus doesn't feel the need to celebrate the national day of Sweden.
As if the National Day was anything more than a national holiday here in Sweden. ;)
 
Posted a topic on that last month. Unfortunately, they seem to not care neither for Monks and Mystics development or even dev diaries.

Really disappointed how they've been treating us like garbage since the last DLC came out

Oh my, what a drama queen you are!
CK2 team was never very enthusiastic with the new Dev Diary policy, it's just a tradition that the marketing or some other bigwig told them to do because the EU4 team started releasing them every week. Not to mention that their development, due to much smaller team, goes slower than that of Stellaris and EU4 so there's not much to talk about anyway.
 
Well I apologize then, forgot that I shouldn't be complaining no matter how bad the situation is.

CK2 team was never very enthusiastic with the new Dev Diary policy, it's just a tradition that the marketing or some other bigwig told them to do because the EU4 team started releasing them every week. Not to mention that their development, due to much smaller team, goes slower than that of Stellaris and EU4 so there's not much to talk about anyway.

I don't care how quickly they fix things, I just want to know that long standing issues will be fixed. Them not saying anything about M&M is doing nobody any favours.