Event troops based on pre-2.0 levy values (Updated)
With the recent changes to levies in 2.0, and the apparent lack of balancing on event troops, I decided to do some digging into the data files in an attempt to balance them myself. The first step of this process, however, required me to understand how the spawn_unit command works, and I discovered some oddities with it that make me believe it was not properly balanced with the levy changes.
Edit Note: I've now done enough testing to determine exactly how event troops are calculated, and how it compares to your own liege levies.
First, my overall methodology involved:
For the record, this was a tedious exercise, so I pray that this is useful for someone, Paradox or otherwise. I ran all my tests and checked my final math using Byzantium 867, HRE 1066, Brittany 867, and Leinster 867.
There are 3 ways to spawn event troops, as they appear in the current event files. I'm going to explain how all of them work and are calculated, for the sake of knowledge, reasoned debate, and modding.
The spawn_unit command is used in events to spawn troops. This is done one of three ways:
Type 1: An exact number of troops can be spawned, specifying each type of unit and exactly how many. Mongols and Aztecs work like this.
Type 2: A value is calculated using the combined total of all the player's territory holding levies. Adventurers and Banner Flockers work like this.
Type 3: A ratio of troop types is given and scaled to a value equal to the combined total of a specific province's largest holding Total Levy + Garrison value. Rebels work like this.
Type 1
These types of troop spawns are pretty self explanatory. The following example is from the Sejulk event and spawns a stack of 5340. The event itself spawns multiple stacks, obviously, but this is just an example of one.
Type 2
These types of troop spawns are the most common in all event files. They're everywhere. This is specifically from an adventurer event.
So let's break this down.
This is where things get fun.
match_mult = 1.0 will spawn a number of event troops equal to the grand total of levies as listed in the Realm Levies page of your leger (Page 3). However, those values are not the actual levies you as the player can raise.
The values listed in the leger for vassal holdings are:
Leger Value = Total Levy of Holding * ((Opinion Modifier * (1-Levy Law Penalty)) OR Crown Law Minimums, whichever is higher)
It does not factor in the latest Liege Levy (-25%/-50%/-65%/-75%) penalties for vassals outside of capital territory, nor does it take into account that all liege levies are already reduced by 50% by default.
You see, the actual amount of liege levies you actually get (as shown in on the Military page) is equal to:
Liege Levy = Total Levy of Holding * 0.5 * Liege Levy Penalty * ((Opinion Modifier * (1-Levy Law Penalty)) OR Crown Law Minimums, whichever is higher)
So, not only are event troops not taking the Liege Levy Penalties from 2.0 in account, they are also ignoring the fact you're already getting 50% less levies by default from all vassals, regardless of opinion or law.
Lastly, the calculation in the leger (and thus for event troops) does take your Capital County/Duchy bonuses into account, however, so you can't offset the higher number of event troops by maintaing a strong capial demesne. Event troops will scale up to match the bonuses to your personal holdings perfectly, while ignoring the penalties your liege levies get.
This results in some fun side effects. For example, if everyone in your country hates you so much that they would never dream of giving you levies but your crown law is low, it actually reduces the number of event troops so significantly you could probably handle them with just your direct levies. Essentially, since the game factors opinion and laws into the event troop calculation, but ignores liege levy penalties, you are essentially making it harder to fend off event spawns by maintaining good opinion with your vassals or raising crown law - effectively punishing proper feudal play even more.
It also explains why North Korea mode has become such a 'sensation', since it's the most effective way to combat event troops. Event spawns are actually scaled perfectly to the direct levies you'll have in North Korea mode, while playing properly by handing out titles will punish you more and more the next time an event troop stack spawns.
So, for players that maintain a small duchy and hold most of their own land, the bonus modifiers for capital county and capital duchy levies will balance things out. However, getting to kingdom size or greater provides such significant penalties to liege levies that you can actually be at such a massive disadvantage that even mercs and holy orders don't exist in large enough numbers to fill the gaps.
But wait, the event is only summoning 20%, surely that's not a problem?
Well, the adventurer events are actually a bit random: There's a 1 in 3 chance of spawning 6 stacks of 20% (for 120% of your unattainable levy value), 1 in 3 chance of spawning 6 stacks of 15% (for 90% of your unattainable levy value), and a 1 in 3 chance of spawning 6 stacks of 12.5% (for 75% of your unattainable levy value).
In all cases, because the match_character and match_mult calculations don't take the 2.0 liege levy changes into account, and don't take the default -50% to liege levies, you will be at a significant disadvantage that grows exponentially larger the more vassals you have over your realm.
Lastly, the match_max value doesn't appear to have been updated. While 5000 for a single stack was decently balanced against pre-2.0 levies, a stack of 5000 in the post 2.0 world is often times more than half of a kingdom's entire liege levy.
Type 3
The last type of event spawn is a bit odd, but is pretty much exclusively found in religious/cultural revolt events (and trigger off your revolt risk)
scaled_by_biggest_garrison = 1.0 looks at the province the event troops are spawned in, finds the holding that has the highest (Total Levy + Garrison) total, and then spawns a stack of that size with the ratios listed in troops = . It cares not for actual levies or even opinion modifiers, but it is increased or decreased based on martial score.
So, if you had a garrison of 705 and a Total Levy of 1327 as your largest holding in the province, 2032 troops would spawn. The composition would be a ratio of 6:4:10 archer:light cavalary:light infantry (or 609:406:1016 in the 2032 example).
The value in the troops = section is exclusively a ratio, so the stack from the above stack would be identical even if the ratio were 3:2:5, or 60:40:100.
For these events, it will often spawn 3, and many of them actually scale to 1.34, which would explode 2032 troops into a stack of 8107. The nature of these make them more deadly for smaller nations, but can steamroll if you get multiple revolts at once.
In conclusion, I believe that the calculation for event troops has not been updated to take the 2.0 liege levy penalties into account, and a lot of the weirdness we're currently seeing would be fixed if these calculations were updated to derive from the 2.0-possible levy values as opposed to the pre-2.0 possible numbers.
With the recent changes to levies in 2.0, and the apparent lack of balancing on event troops, I decided to do some digging into the data files in an attempt to balance them myself. The first step of this process, however, required me to understand how the spawn_unit command works, and I discovered some oddities with it that make me believe it was not properly balanced with the levy changes.
Edit Note: I've now done enough testing to determine exactly how event troops are calculated, and how it compares to your own liege levies.
First, my overall methodology involved:
- I create a troop spawn decision at my capital utilizing match_mult = 1.0 and match_character = player (see below).
- I create a troop spawn decision at my capital utilizing scaled_by_biggest_garrison = 1.0 and various troop ratios (see below).
- I load my single decision mod with default values and choose an Empire at a bookmark, then save that for all future tests.
- Record levy values in the military screen.
- Record Realm Levy values in the leger.
- Record the Total Levy and Garrison value of every holding.
- Spawn both types of event troops and record values.
- Re-record the same values with 100 opinion on all vassals.
- Spawn both types of event troops and record values.
- Re-record the same values with max Levy laws.
- Spawn both types of event troops and record values.
- Repeat the last 8 steps in another mod that flattens the Capital Levy bonuses/penalties (pseudo roll back to pre-2.0 numbers).
For the record, this was a tedious exercise, so I pray that this is useful for someone, Paradox or otherwise. I ran all my tests and checked my final math using Byzantium 867, HRE 1066, Brittany 867, and Leinster 867.
There are 3 ways to spawn event troops, as they appear in the current event files. I'm going to explain how all of them work and are calculated, for the sake of knowledge, reasoned debate, and modding.
The spawn_unit command is used in events to spawn troops. This is done one of three ways:
Type 1: An exact number of troops can be spawned, specifying each type of unit and exactly how many. Mongols and Aztecs work like this.
Type 2: A value is calculated using the combined total of all the player's territory holding levies. Adventurers and Banner Flockers work like this.
Type 3: A ratio of troop types is given and scaled to a value equal to the combined total of a specific province's largest holding Total Levy + Garrison value. Rebels work like this.
Type 1
These types of troop spawns are pretty self explanatory. The following example is from the Sejulk event and spawns a stack of 5340. The event itself spawns multiple stacks, obviously, but this is just an example of one.
Code:
spawn_unit = {
owner = ROOT
leader = ROOT
province = 902 # Dashhowuz
troops = {
horse_archers = { 2500 2500 }
light_cavalry = { 1333 1333 }
light_infantry = { 1000 1000 }
heavy_infantry = { 500 500 }
knights = { 67 67 }
}
}
Type 2
These types of troop spawns are the most common in all event files. They're everywhere. This is specifically from an adventurer event.
Code:
spawn_unit = {
province = PREVPREVPREVPREV
home = PREVPREVPREVPREV
owner = THIS
leader = THIS
match_character = PREV
match_mult = 0.2
match_min = 300
match_max = 5000
attrition = 0.25
earmark = claimant_adventure
}
}
So let's break this down.
- match_character: This is the character who's realm is used to determine how many troops are spawned.
- match_mult: This is scaling factor that determines how many troops spawn, derived from the match_character's realm levies.
- match_min/match_max: The minimum that can spawn from the function, and the maximum that can spawn from the function.
This is where things get fun.
match_mult = 1.0 will spawn a number of event troops equal to the grand total of levies as listed in the Realm Levies page of your leger (Page 3). However, those values are not the actual levies you as the player can raise.
The values listed in the leger for vassal holdings are:
Leger Value = Total Levy of Holding * ((Opinion Modifier * (1-Levy Law Penalty)) OR Crown Law Minimums, whichever is higher)
It does not factor in the latest Liege Levy (-25%/-50%/-65%/-75%) penalties for vassals outside of capital territory, nor does it take into account that all liege levies are already reduced by 50% by default.
You see, the actual amount of liege levies you actually get (as shown in on the Military page) is equal to:
Liege Levy = Total Levy of Holding * 0.5 * Liege Levy Penalty * ((Opinion Modifier * (1-Levy Law Penalty)) OR Crown Law Minimums, whichever is higher)
So, not only are event troops not taking the Liege Levy Penalties from 2.0 in account, they are also ignoring the fact you're already getting 50% less levies by default from all vassals, regardless of opinion or law.
Lastly, the calculation in the leger (and thus for event troops) does take your Capital County/Duchy bonuses into account, however, so you can't offset the higher number of event troops by maintaing a strong capial demesne. Event troops will scale up to match the bonuses to your personal holdings perfectly, while ignoring the penalties your liege levies get.
This results in some fun side effects. For example, if everyone in your country hates you so much that they would never dream of giving you levies but your crown law is low, it actually reduces the number of event troops so significantly you could probably handle them with just your direct levies. Essentially, since the game factors opinion and laws into the event troop calculation, but ignores liege levy penalties, you are essentially making it harder to fend off event spawns by maintaining good opinion with your vassals or raising crown law - effectively punishing proper feudal play even more.
It also explains why North Korea mode has become such a 'sensation', since it's the most effective way to combat event troops. Event spawns are actually scaled perfectly to the direct levies you'll have in North Korea mode, while playing properly by handing out titles will punish you more and more the next time an event troop stack spawns.
So, for players that maintain a small duchy and hold most of their own land, the bonus modifiers for capital county and capital duchy levies will balance things out. However, getting to kingdom size or greater provides such significant penalties to liege levies that you can actually be at such a massive disadvantage that even mercs and holy orders don't exist in large enough numbers to fill the gaps.
But wait, the event is only summoning 20%, surely that's not a problem?
Well, the adventurer events are actually a bit random: There's a 1 in 3 chance of spawning 6 stacks of 20% (for 120% of your unattainable levy value), 1 in 3 chance of spawning 6 stacks of 15% (for 90% of your unattainable levy value), and a 1 in 3 chance of spawning 6 stacks of 12.5% (for 75% of your unattainable levy value).
In all cases, because the match_character and match_mult calculations don't take the 2.0 liege levy changes into account, and don't take the default -50% to liege levies, you will be at a significant disadvantage that grows exponentially larger the more vassals you have over your realm.
Lastly, the match_max value doesn't appear to have been updated. While 5000 for a single stack was decently balanced against pre-2.0 levies, a stack of 5000 in the post 2.0 world is often times more than half of a kingdom's entire liege levy.
Type 3
The last type of event spawn is a bit odd, but is pretty much exclusively found in religious/cultural revolt events (and trigger off your revolt risk)
Code:
spawn_unit = {
province = ROOT
home = ROOT
owner = THIS
leader = THIS
scaled_by_biggest_garrison = 1.0
troops = {
archers = { 6 6 }
light_cavalry = { 4 4 }
light_infantry = { 10 10 }
}
attrition = 1.0
}
scaled_by_biggest_garrison = 1.0 looks at the province the event troops are spawned in, finds the holding that has the highest (Total Levy + Garrison) total, and then spawns a stack of that size with the ratios listed in troops = . It cares not for actual levies or even opinion modifiers, but it is increased or decreased based on martial score.
So, if you had a garrison of 705 and a Total Levy of 1327 as your largest holding in the province, 2032 troops would spawn. The composition would be a ratio of 6:4:10 archer:light cavalary:light infantry (or 609:406:1016 in the 2032 example).
The value in the troops = section is exclusively a ratio, so the stack from the above stack would be identical even if the ratio were 3:2:5, or 60:40:100.
For these events, it will often spawn 3, and many of them actually scale to 1.34, which would explode 2032 troops into a stack of 8107. The nature of these make them more deadly for smaller nations, but can steamroll if you get multiple revolts at once.
In conclusion, I believe that the calculation for event troops has not been updated to take the 2.0 liege levy penalties into account, and a lot of the weirdness we're currently seeing would be fixed if these calculations were updated to derive from the 2.0-possible levy values as opposed to the pre-2.0 possible numbers.
Last edited: