There are lots of bug reports about War in Heaven, so I decided to look at those event scripts and tried to mod those bugs out. I discovered that most bugs reported are from a single cause: War in Heaven scripts are written under assumption that there are only two awaken fallen empires, one awakes first and the second awakes as rival of the first. But in fact there can be a third one, awake to defend against crisis. What makes things worse are that the third uses some same script to awaken as the first, and that the third and the second can be the same FE. Those makes a lot of scripts behave erroneously.
Details:
Both general awaken (fallen_empires_awakening.1, which can lead to war in heaven) and crisis awaken (fallen_empires_awakening.4) call event fallen_empires_awakening.3 to do the job. That event set a country flag sleepers_awake_first_sleeper, which is checked in numerous places in war in heaven events, and nowhere else. So clearly, that country flag shall be moved to fallen_empires_awakening.1.
war_in_heaven.10 (event that determine if one AFE in WiH falls) fails to consider possible existence of crisis AFE. Both its trigger and its action need more checks, such as
OR = {
has_country_flag = sleepers_awake_ancient_rival
has_country_flag = sleepers_awake_first_sleeper
}
That check is also needed in following events: war_in_heaven.13, war_in_heaven.15 (both in applying opinion modifier). war_in_heaven.16 (in declaring war), war_in_heaven.17 (in checking no AFE in WiH).
war_in_heaven.16 need to get NOT = { has_country_flag = sleepers_awake_first_sleeper } replaced with has_country_flag = sleepers_awake_ancient_rival , when select the second AFE in WiH.
Another issue:
Leader of LNAP can leave the federation, yet it does not lose its leader status. There should be an event check and deal with that.
@Wiz , hope your scripts are fixed in 1.4.
Details:
Both general awaken (fallen_empires_awakening.1, which can lead to war in heaven) and crisis awaken (fallen_empires_awakening.4) call event fallen_empires_awakening.3 to do the job. That event set a country flag sleepers_awake_first_sleeper, which is checked in numerous places in war in heaven events, and nowhere else. So clearly, that country flag shall be moved to fallen_empires_awakening.1.
war_in_heaven.10 (event that determine if one AFE in WiH falls) fails to consider possible existence of crisis AFE. Both its trigger and its action need more checks, such as
OR = {
has_country_flag = sleepers_awake_ancient_rival
has_country_flag = sleepers_awake_first_sleeper
}
That check is also needed in following events: war_in_heaven.13, war_in_heaven.15 (both in applying opinion modifier). war_in_heaven.16 (in declaring war), war_in_heaven.17 (in checking no AFE in WiH).
war_in_heaven.16 need to get NOT = { has_country_flag = sleepers_awake_first_sleeper } replaced with has_country_flag = sleepers_awake_ancient_rival , when select the second AFE in WiH.
Another issue:
Leader of LNAP can leave the federation, yet it does not lose its leader status. There should be an event check and deal with that.
@Wiz , hope your scripts are fixed in 1.4.
- 1
Upvote
0