Europa Universalis IV

Europa Universalis IV

Beyond Typus - Occitan Renaissance
Julien  [developer] 25 Dec, 2020 @ 5:25am
Suggestions
Let me open a suggestion section, where we can have some brainstorming about future. That way you can also separate the Bug Report section (with things which are objectively bugs and need to be fixed asap) from deeper discussions on balance and game mechanisms. You might have plenty of passionate players having interesting suggestions.

Let me starting with the "Jewish advisor" in your TODO list.
It sounds like like a very good idea... I don't know if I already had this idea :)
Historically and lore-wise it would totally make sense, for two reaons:
1) The crusade was organised not only against Cathars but also again Jews. And in the following decades/centuries the Jews will keep suffering from the Inquisition. All of that starts in the decades around the crusade, not during the reconquista as we usually think.
2) Later on the Jews will have to move each time the French centralisation progresses: some of the Jews of Languedoc will go to Provence (which is independent or vassal), and then once Provence gets annexed by France they will flee to Avignon, unexpectly under the Pope's protection. This is right in the times of EU4 and it looks like a great opportunity for events between those countries. Then of course you also have all the reconquista stuff on the Catalan side.
< >
Showing 1-12 of 12 comments
Julien  [developer] 26 Dec, 2020 @ 4:48am 
I just got Aragon taking the ocr_request_imperial_membership decision !
Weird.

And now, as a result, Aragon is demoted to a duchy.
I think the condition "NOT = { government_rank = 3 } #Not an Emperor." could be "NOT = { government_rank = 2 } #Not an King."
Or at least add a ai_will_do section which forbides AI kings to take this decision.

In this ai_will_do section I would also add some extra condition like we can't have a stronger army than the HRE emperor. And I'm not sure about this last condition but I would maybe add that you need to be neighbouring an HRE province, or otherwise be at a small enough distance from some HRE country (so I'ld be fine with for instance Marselha joining the HRE when surrounded by a non-HRE Anjou)

PS: what makes it even weirder is that this happens now that the HRE has already lost all of Italy. So the HRE was very far away and with almost no access to the Mediterranean Sea.
Last edited by Julien; 26 Dec, 2020 @ 4:52am
Julien  [developer] 27 Dec, 2020 @ 6:33am 
I'm wondering whether we should have a specific rebel_type for Ooccitanism. It would be very similar to the OCC nationalist rebels but the siege_won_effect would add to the province_occitanism variable (and conversely, the spawn chance could depend on province_occitanism and not just on OCC having cores).
Julien  [developer] 28 Dec, 2020 @ 5:29am 
After a few decades of playing, I think the new diffusion parameter in ocr_province_occitanism.2 might be a bit too small. We could try 0.15, or maybe even 0.20.

But actually, instead of spending time to tune this parameter, we could start by rewriting the kernel. As you could see in the comments, what I first had in mind was using some discretised heat kernel:
# Ideally I'ld just like to have dx_i/dt = alpha \sum_{j neighbouring i} (x_j-x_i) but the engine has many bugs
This was not possible because at that time the engine was not allowing mathematical operations between two different scopes (the two provinces i and j). Actually it did theoretically allow it but it didn't work. It's been a long time so it would be worth checking whether it has been fixed since then.
If it is still impossible, maybe the hack I used as a quick substitute would be worth refining : right now what is computed is :
dx_i/dt = alpha \sum{j neighbouring i} [ theta(x_j) -theta(x_i) ], where theta is the heaviside function.
Theta could be replaced by a smoother piece-wise constant function, getting closer to the identity. For instance:

every_neighbor_province = {
limit = { has_province_flag = province_occitanism_active }
if = {
limit = {
check_variable = { which = province_occitanism value = 75 }
}
PREV = { change_variable = { which = tot_province_occitanism value = 0.75 } }
}
else_if = {
limit = {
check_variable = { which = province_occitanism value = 50 }
}
PREV = { change_variable = { which = tot_province_occitanism value = 0.50 } }
else_if = {
limit = {
check_variable = { which = province_occitanism value = 25 }
}
PREV = { change_variable = { which = tot_province_occitanism value = 0.25 } }
}
PREV = {
if = {
limit = {
check_variable = { which = province_occitanism value = 75 }
}
change_variable = { which = tot_province_occitanism value = -0.75 }
}
else_if = {
limit = {
check_variable = { which = province_occitanism value = 50 }
}
change_variable = { which = tot_province_occitanism value = -0.50 }
else_if = {
limit = {
check_variable = { which = province_occitanism value = 25 }
}
change_variable = { which = tot_province_occitanism value = -0.25 }
}

}
}

(then, with this choice of kernel I would multiply the coefficient of diffusion by about a factor 4, compared to the kernel we currently use)
Last edited by Julien; 28 Dec, 2020 @ 5:31am
Perry7484 / Briantin de Montrei  [developer] 29 Dec, 2020 @ 6:04am 
To answer your HRE question...

I can limit the AI's ability to choose Imperial Membership. I didn't know that forced them to become Duchies.

Set ai_will_do:

modifier = {
factor = 0
government_rank = 2
}
modifier = {
factor = 0
army_size = emperor
}

I'm not sure how to code for your third condition off the top of my head, like scoping to distance from an HRE province. We'd have to talk specifics and code.

Your PS (can change conditions+values):
modifier = {
factor = 0.1 #Shouldn't be impossible if we don't border HRE *and* she's lost Italy, but extremely unlikely.
NOT = {
OR = {
any_neighbor_country = { is_part_of_hre = yes }
italy_region = {
is_part_of_hre = yes
}
}
}
}
Perry7484 / Briantin de Montrei  [developer] 29 Dec, 2020 @ 6:15am 
Rebel_type for Occitanism...

Not a terrible idea, but I'd want to know under what conditions their spawning would be possible. What would cause them to revolt where Nationalists wouldn't?
Julien  [developer] 29 Dec, 2020 @ 6:37am 
Originally posted by Perry7484 (Lo Rei dels Libres):
To answer your HRE
I'm not sure how to code for your third condition off the top of my head, like scoping to distance from an HRE province. We'd have to talk specifics and code.
I just checked the list of available commands, it's actually simpler than it has ever been: now there is a province_distance condition (with a province scope). Before that we only had border_distance and capital_distance, with a country scope, and I had a minimod just for computing some kind of distance between provinces.
https://eu4.paradoxwikis.com/Conditions
You would just have to try and see which distance exactly would make sense (you can play with testevent in the console).

modifier = {
factor = 0.1 #Shouldn't be impossible if we don't border HRE *and* she's lost Italy, but extremely unlikely.
NOT = {
OR = {
any_neighbor_country = { is_part_of_hre = yes }
italy_region = {
is_part_of_hre = yes
}
}
}
}
Maybe the requirement of having one Italian province in the HRE is still a bit weak? A province such as Trieste would be enough, even if directly controlled by Austria, and it's quite far.
I would try to use the flag of the Shadow Kingdom, for instance in vanilla you have the global flag italians_leave_hre. However in BT some flags get removed, and they seem to be only at the country-level, so I'm not sure what could be used.
Otherwise maybe it would make sense to check the Piemont region, or to ask for a minimal number of Italian provinces in the HRE and not just one, or to ask for independent HRE members in this region.But I think I would prefer to just look at whether the Shadow Event triggered.
Last edited by Julien; 29 Dec, 2020 @ 6:48am
Julien  [developer] 29 Dec, 2020 @ 6:44am 
Originally posted by Perry7484 (Lo Rei dels Libres):
Rebel_type for Occitanism...

Not a terrible idea, but I'd want to know under what conditions their spawning would be possible. What would cause them to revolt where Nationalists wouldn't?
Indeed, in what I had in mind it would be almost a copy-paste of the nationalist rebel_type, and there's a bit of a useless repetition. But the problem is that it's difficult to tie events to what those nationalist rebels do. I don't know if you can somehow trigger an event on a siege victory (or province occupation) only under the condition that the province has been occupied by nationalist rebels of OCC (or occitanic nations), and avoid this event if the province (even if it's an occitan province) has been occupied by any other type of rebel. So having another rebel_type is just a way to make it easier to trigger whichever event you want.
Perry7484 / Briantin de Montrei  [developer] 29 Dec, 2020 @ 7:11am 
Originally posted by Julien:
I just checked the list of available commands, it's actually simpler than it has ever been: now there is a province_distance condition (with a province scope). Before that we only had border_distance and capital_distance, with a country scope, and I had a minimod just for computing some kind of distance between provinces.
https://eu4.paradoxwikis.com/Conditions
You would just have to try and see which distance exactly would make sense (you can play with testevent in the console).
But province distance *to what*? I don't think we can scope directly to "is_part_of_hre".
I would try to use the flag of the Shadow Kingdom, for instance in vanilla you have the global flag italians_leave_hre. However in BT some flags get removed, and they seem to be only at the country-level, so I'm not sure what could be used.
italians_leave_hre is the easiest and most sensible solution. No need for excessive province checks that lag the game.
Last edited by Perry7484 / Briantin de Montrei; 29 Dec, 2020 @ 7:11am
Julien  [developer] 29 Dec, 2020 @ 7:42am 
Originally posted by Perry7484 (Lo Rei dels Libres):
But province distance *to what*? I don't think we can scope directly to "is_part_of_hre".
I don't think there is any HRE scope, no. You would have to use something like
any_country = {
is_part_of_hre = yes
border_distance = {
who = PREV
distance = 200
}
}
Last edited by Julien; 29 Dec, 2020 @ 7:43am
Perry7484 / Briantin de Montrei  [developer] 29 Dec, 2020 @ 8:02am 
This leaves us with:
ai_will_do = {
factor = 1 #How often should the AI attempt this?
modifier = {
factor = 0
government_rank = 2 #Kingdoms will be demoted when joining HRE, so we don't want them to join.
}
modifier = {
factor = 0
army_size = emperor #If we're more powerful than the Emperor, why should we swear fealty?
}
modifier = {
factor = 0 #Why on Earth would we join the HRE if they're super far away?
NOT = { #NOT any HRE country is closer than 200.
any_country = {
is_part_of_hre = yes
NOT = { #NOT at least X distance, ie any HRE country is closer than 200.
border_distance = {
who = PREV
distance = 200 #At least X distance.
}
}
}
}
}
modifier = {
factor = 0.1 #Shouldn't be impossible if we don't border HRE *and* she's lost Italy, but extremely unlikely.
has_global_flag = italians_leave_hre
NOT = {
any_neighbor_country = { is_part_of_hre = yes }
}
}
}
Julien  [developer] 7 Jan, 2021 @ 11:52am 
As I told you in the chat:

{quote]
In common/factions/ocr_factions.txt, we have already an insane amount of modifiers for each faction and the UI struggles, but maybe we should add:

For ocr_republican:
burghers_loyalty_modifier = 0.05
burghers_influence_modifier = 0.1

For ocr_aragonese and ocr_militarist:
nobles_loyalty_modifier = 0.05
nobles_influence_modifier = 0.1

And we might want to give some church modifiers for French&Iberian, but that I'm not sure.
Similarly, if occitanists get a modifier it would be something like church_influence_modifier = -0.1. But I think I would rather leave it with none of those modifiers.
[/quote]
Julien  [developer] 7 Jan, 2021 @ 11:57am 
Also, for events/ocr_province_occitanism.txt around line 376, I think we could try to divide occitanism_diff by the total develoment of this province. But this needs to be checked and tested.
< >
Showing 1-12 of 12 comments
Per page: 1530 50