Crossposting so this issue gets properly logged. Original thread:
There's a pretty serious bug with the Vichy France event (france.10) introduced in 1.9, probably introduced by two people trying to fix the same issue without knowing what each other is doing.
Before 1.9, there's only one event: france.10, which had a long list of triggers and an MTTH of 2 days. This is obviously not ideal so someone tried to optimize it:
1. Someone moved the triggers and MTTH of france.10 into a new hidden event france.101, leaving the former event with no checks.
2. Someone else added an on_capitulation on action with a very short list of checks, likely only meant as a sanity check with the assumption that the now-removed triggers in france.10 would do its job
The result is the worst of both worlds: not only the MTTH is still being evaluated in france.101, the event can now be triggered with a much shorter list of conditions by the on_action, causing the event to fire in situations where it wouldn't in older versions.
Here's how I'd fix it:
- Remove france.101
- Change the on_action so that it contains these conditions
This would get rid of the MTTH for improved performance as well as keeping all the conditions intact. I removed the checks for French advance and surrender progress as this on_action fires after France has already capitulated so they don't matter.
Vichy France WTF?!
Ok so I wanted to play relaxing Italian game of cheese. Took out Austria, Turkey, Romania, Hungary (should not have switched to Fascist, ha ha ha), and Franco. Joined Axis, patiently waited for war to start, attacked France. EZ, gg, Pizza in...
forum.paradoxplaza.com
There's a pretty serious bug with the Vichy France event (france.10) introduced in 1.9, probably introduced by two people trying to fix the same issue without knowing what each other is doing.
Before 1.9, there's only one event: france.10, which had a long list of triggers and an MTTH of 2 days. This is obviously not ideal so someone tried to optimize it:
1. Someone moved the triggers and MTTH of france.10 into a new hidden event france.101, leaving the former event with no checks.
Code:
#hidden pre-event to check before capitulation
country_event = {
id = france.101
hidden = yes
trigger = {
tag = FRA
has_war_with = GER
has_government = democratic
16 = { is_controlled_by = GER }
is_in_faction_with = ENG
ENG = { has_war_with = GER }
surrender_progress > 0.7
GER = {
OR = {
is_faction_leader = yes
has_government = neutrality
}
}
has_civil_war = no
#Don't fire if France has pushed pretty far into ITA or GER
NOT = {
any_state = {
is_on_continent = europe
NOT = { state = 158 }
NOT = { state = 114 }
NOT = { state = 50 }
NOT = { state = 42 }
is_controlled_by = ROOT
OR = {
is_owned_by = GER
AND = {
FRA = { has_War_with = ITA }
is_owned_by = ITA
}
}
}
}
#Don't fire if any states in France are controlled by a different human player
NOT = {
any_country = {
is_ai = no
NOT = { tag = GER }
NOT = { is_in_faction_with = GER }
has_war_with = ROOT
any_state = {
is_on_continent = europe
NOT = { state = 1 }
NOT = { state = 735 }
NOT = { state = 21 }
NOT = { state = 31 }
is_owned_by = ROOT
is_controlled_by = PREV
}
}
}
}
mean_time_to_happen = { days = 2 }
immediate = {
country_event = france.10
}
}
2. Someone else added an on_capitulation on action with a very short list of checks, likely only meant as a sanity check with the assumption that the now-removed triggers in france.10 would do its job
Code:
if = {
limit = {
original_tag = FRA
has_government = democratic
NOT = { has_global_flag = achievement_france_surrender } #might as well use the achievement flag to check if france.10 fired
is_subject = no
is_in_faction_with = ENG
has_war_with = GER
}
country_event = france.10
}
The result is the worst of both worlds: not only the MTTH is still being evaluated in france.101, the event can now be triggered with a much shorter list of conditions by the on_action, causing the event to fire in situations where it wouldn't in older versions.
Here's how I'd fix it:
- Remove france.101
- Change the on_action so that it contains these conditions
Code:
if = {
limit = {
original_tag = FRA
has_government = democratic
NOT = { has_global_flag = achievement_france_surrender } #might as well use the achievement flag to check if france.10 fired
is_subject = no
is_in_faction_with = ENG
has_war_with = GER
ENG = { has_war_with = GER }
GER = {
OR = {
is_faction_leader = yes
has_government = neutrality
}
}
#Don't fire if any states in France are controlled by a different human player
NOT = {
any_country = {
is_ai = no
NOT = { tag = GER }
NOT = { is_in_faction_with = GER }
has_war_with = ROOT
any_state = {
is_on_continent = europe
NOT = { state = 1 }
NOT = { state = 735 }
NOT = { state = 21 }
NOT = { state = 31 }
is_owned_by = ROOT
is_controlled_by = PREV
}
}
}
}
country_event = france.10
}
- 4
Upvote
0