WOTCStrategyOverhaul / CovertInfiltration

A mod that overhauls the Covert Actions system to bring back the Infiltration mechanic from Long War 2
MIT License
21 stars 8 forks source link

Sabotage Monument changes are overridden by Mission Overhaul: Core #548

Closed h4ilst0rm closed 4 years ago

h4ilst0rm commented 4 years ago

Mission Overhaul loads after CI and overrides changes to the repurposed Sabotage Monument mission. Results in vanilla pods that do not scale with campaing progress.

As far as I'm aware, config load order depends on workshop subscription order so 50/50 if you get this issue or not.

cannonfodder1 commented 4 years ago

Config load order depends on the date a mod was uploaded to the workshop, so if you are getting this issue then everyone else will also get this issue.

Xymanek commented 4 years ago

I did some testing some time ago and in my experience only the mod publish order (i.e. the numeric ID) makes a difference. In this sense, CI should've trumped Mission Overhaul's changes....

In any case, we should just patch the mission def in code (OPTC or something) and not worry about config loading order

h4ilst0rm commented 4 years ago

That config load ordering actually makes a lot of sense, and it gave me an idea: The games config parser to my knowledge is quite picky with whitespace and whatnots especially when removing entries from arrays. In this case: Overhaul loads first, removes vanilla SabotageCC, re-adds a modified version. CI loads after, tries to remove vanilla SabotageCC which doesn't exist anymore, then adds the new one which creates a "duplicate".

I wrote a quick mod to dump the arrMissions array with a foreach loop in OPTC and there were 2 instances of SabotageCC and the game seems to use the first one it finds which happens to be the one modified by Overhaul.

format: MissionDef.sType MissionDef.MissionFamily MissionDef.MissionName
...
[0010.34] MyXCOM2Mod: LostAndAbandonedC LostAndAbandonedC LostAndAbandonedC
[0010.34] MyXCOM2Mod: SabotageCC SabotageCC SabotageAdventMonument
[0010.34] MyXCOM2Mod: Recover_FlightDevice RecoverFD RecoverFlightDevice
...

...
[0010.36] MyXCOM2Mod: GP_FortressShowdown DestroyAvatarProject DestroyAvatarProject
[0010.36] MyXCOM2Mod: CovertEscape CovertEscape CovertEscape
[0010.36] MyXCOM2Mod: SupplyExtraction SupplyExtraction SupplyExtraction
[0010.36] MyXCOM2Mod: GatecrasherCI GatecrasherCI GatecrasherCI
[0010.36] MyXCOM2Mod: SabotageCC SabotageCC SabotageAdventMonument
[0012.21] Warning: ---unrelated---
...

The CI missions appear at the end of the array and there are duplicates of CovertEscape and SupplyExtraction too.

I would assume this is 100% repeatable, modslist used:

CI core (13):
    WotC: robojumper's Squad Select                 robojumperSquadSelect_WotC  1122974240  
    Better Second Wave Mod Support                  BetterSecondWaveSupport     1149493976  
    [WOTC] Open Squad Select at any time            SquadSelectAtAnyTime        1529472981  
    Highlander for CI Beta 3                        X2WOTCCommunityHighlander   2122546411  
    Accurate Situation Report Beta                  AccurateSituationReport     2122561731  
    Living Space Beta                               LivingSpace                 2122563289  
    Infiltrator's Disguises Beta                    InfiltratorsDisguises       2126774922  
    Prototype Armoury Beta                          PrototypeArmoury            2126777138  
    Covert Infiltration Beta 3                      CovertInfiltration          2135314482  
    [WotC] Mod Config Menu                          ModConfigMenu               667104300   
    Pyrrhic Victories                               CatastrophicVictories       1531883724  
    [WotC] Mission Overhaul: Core                   WotC_MissionOverhaul_Core   1877944427  
    Alien Hunters Highlander Plugin for CI Beta 3   DLC2CommunityHighlander     2126773442  

oma (1):
    My XCOM 2 Mod                                   MyXCOM2Mod                  0