Hi, can someone elaborate a bit on how provincial revolts work?
Here is what I presume:
Second question:
Assuming the above is accurate, what is wrong with the reinforcement event for Minor clan risings? Minor clan rising are launched in empty provinces held by nomads and the top_liege has the modifier risks_minor_clan_rising (which in turn enables revolt risk for empty provinces, thereby allowing on_rebel_revolt events to fire). However their reinforcement events cannot fire in empty provinces at all. I've tested by absorbing all clans as Cumania (giving revolt risk of about 90 % in all provinces) and only a single event is fired with no reinforcements. After defeating the revolt, a new one immediately pops up - but again no reinforcements are given. This tells me that the trigger for the reinforcements event is off.
Also, after subjugating Alania (which contains tribal holding), they receive normal revolts (i.e. not Minor Clan rising, but orthodox uprising and liberation revolts due to not being empty). However, when their reinforcements events trigger the following month (remember, the massive revolt risk increase is for all provinces - not just empty ones), they also trigger for the minor clan rising. So two separate reinforcements events trigger for two separate revolts in the same province at the same time. And one of them isn't even supposed to be fired from there.
A look at the code.
Normal uprising events (from .\events\rebel_events_the_old_gods.txt) have a rather interesting trigger that's probably intended to prevent them from firing in place of a minor clan rising:
It's a province scope, so has_empty_holdings should check if there are empty holding slots in the province, right? So is a province is owned by a nomad, and contains at least an empty holding slot, then peasant revolts can't fire and are replaced by minor clan risings.
Here is the trigger for minor clan rising:
I see nothing here preventing it from being triggered in any province regardless of whether it contains holdings or not, except if it's always triggered last (in which case in_revolt = no would fail).
So if a province is held by a nomad, contains at least one empty holding, and can't trigger religious or liberation revolts (which is true if religion and culture is identical with the top liege - which they always are in empty provinces) then minor clan risings are triggered.
Reinforcements events
Here is the trigger for reinforcement event for minor clan rising:
It's largely copy-pasted from peasant reinforcements (the comments are even unchanged) the only changes are the dlc requirement and the CB. Still, I can't figure out what it is here that prevents it from firing in empty provinces (NOT = { holding_type = nomad } only means that it mustn't contain a nomadic capital, right?).
Anyway, is the event not being allowed to trigger in empty provinces intentional? Perhaps, the revolt became far too large? The initial size is scaled by population so it's not as if reinforcements are really needed. It's just strange that the event triggers in provinces where it supposedly shouldn't and at the same time as normal reinforcements.
Sorry if this post is a bit sprawling. Any advice is appreciated.
A screenshot the illustrates the problem is embedded below.
Thank you
EDIT:
Apparently, removing the above mentioned snipped fixed the issue. Somehow, it excludes empty provinces.
It makes far more sense (to me) that minor clan uprisings receive reinforcements from empty rather than settled provinces. But perhaps there is a reason for the current status? Maybe minor clans used to receive absurd amounts of event troops (e.g. vassal clan died -> land couldn't be handed out -> revolt risk through the roof) which was intentionally restricted. Does anyone know?
Here is what I presume:
- A province's revolt risk is a monthly chance to trigger the events listed under on_rebel_revolt in on_actions for that particular province.
- The events are intended to be designed so that only one of them can be viable at any given time in a particular province.
- They are divided between "rise up" and "reinforcements" to ensure that there are never two revolts for the same target.
Second question:
Assuming the above is accurate, what is wrong with the reinforcement event for Minor clan risings? Minor clan rising are launched in empty provinces held by nomads and the top_liege has the modifier risks_minor_clan_rising (which in turn enables revolt risk for empty provinces, thereby allowing on_rebel_revolt events to fire). However their reinforcement events cannot fire in empty provinces at all. I've tested by absorbing all clans as Cumania (giving revolt risk of about 90 % in all provinces) and only a single event is fired with no reinforcements. After defeating the revolt, a new one immediately pops up - but again no reinforcements are given. This tells me that the trigger for the reinforcements event is off.
Also, after subjugating Alania (which contains tribal holding), they receive normal revolts (i.e. not Minor Clan rising, but orthodox uprising and liberation revolts due to not being empty). However, when their reinforcements events trigger the following month (remember, the massive revolt risk increase is for all provinces - not just empty ones), they also trigger for the minor clan rising. So two separate reinforcements events trigger for two separate revolts in the same province at the same time. And one of them isn't even supposed to be fired from there.
A look at the code.
Normal uprising events (from .\events\rebel_events_the_old_gods.txt) have a rather interesting trigger that's probably intended to prevent them from firing in place of a minor clan rising:
Code:
# Will get clan rebels instead
NAND = {
has_empty_holding = yes
owner = {
is_nomadic = yes
}
}
Here is the trigger for minor clan rising:
Code:
trigger = {
has_dlc = "Horse Lords"
has_empty_holding = yes # To allow a Clan capital
owner = {
is_nomadic = yes
independent = yes
culture = ROOT
risks_minor_clan_rising = yes
in_revolt = no
capital_scope = {
NOT = { province = ROOT }
}
}
NOT = { # Not if there is already an ongoing Minor Clan revolt
owner = {
top_liege = {
war = yes
any_war = {
defender = { character = PREV }
using_cb = cb_minor_clan_revolt
# war_title = ROOT # The county
}
}
}
}
}
So if a province is held by a nomad, contains at least one empty holding, and can't trigger religious or liberation revolts (which is true if religion and culture is identical with the top liege - which they always are in empty provinces) then minor clan risings are triggered.
Reinforcements events
Here is the trigger for reinforcement event for minor clan rising:
Code:
trigger = {
has_dlc = "Horse Lords"
any_province_holding = {
NOT = { holding_type = nomad }
}
# There is already an ongoing peasant revolt for this province
owner = {
top_liege = {
war = yes
any_war = {
defender = { character = PREV }
using_cb = cb_minor_clan_revolt
# war_title = ROOT # The county
}
}
}
}
Anyway, is the event not being allowed to trigger in empty provinces intentional? Perhaps, the revolt became far too large? The initial size is scaled by population so it's not as if reinforcements are really needed. It's just strange that the event triggers in provinces where it supposedly shouldn't and at the same time as normal reinforcements.
Sorry if this post is a bit sprawling. Any advice is appreciated.
A screenshot the illustrates the problem is embedded below.
Thank you
EDIT:
Apparently, removing the above mentioned snipped fixed the issue. Somehow, it excludes empty provinces.
Code:
any_province_holding = {
NOT = { holding_type = nomad }
}
It makes far more sense (to me) that minor clan uprisings receive reinforcements from empty rather than settled provinces. But perhaps there is a reason for the current status? Maybe minor clans used to receive absurd amounts of event troops (e.g. vassal clan died -> land couldn't be handed out -> revolt risk through the roof) which was intentionally restricted. Does anyone know?
Attachments
Last edited: