No enemies if RNF spawns on evac flare [1.4].

Post Reply
GauravDas
Posts: 14
Joined: Tue May 23, 2017 4:36 am

No enemies if RNF spawns on evac flare [1.4].

Post by GauravDas »

I just did a retaliation mission where all RNFs had zero enemies. RNF drop location didn't change after multiple turns.
Enabling reinforcement flares shows that the RNF flare spawned exactly on the evac flare.

I had a backup of the save when the mission started. Note that this is an ironman save.
https://drive.google.com/open?id=0B9qnp ... nRrYUQyZVE

Version: Long War 2 1.4
Platform: Windows 10 Pro x64
DLC: Resistance Warrior Pack
Mods: https://gist.github.com/GauravDas27/4f2 ... fcbfc2d3fb

The save file works with all other mods disabled.
GauravDas
Posts: 14
Joined: Tue May 23, 2017 4:36 am

Re: No enemies if RNF spawns on evac flare [1.4].

Post by GauravDas »

I did some additional testing.

The evac flare is on a container, so I blew it up with a rocket.
  • A new evac flare immediately spawns (as is expected).
  • RNF flare remains as it is (floating in mid-air).
  • No enemies in the RNF drop.
  • RNF flare spawns in a new location next turn.
  • RNF drops enemies normally next turn onwards.
GauravDas
Posts: 14
Joined: Tue May 23, 2017 4:36 am

Re: No enemies if RNF spawns on evac flare [1.4].

Post by GauravDas »

More testing. This time without blowing up the container.
  • Force the evac zone to spawn with 'LWForceEvac'.
  • Enable evac placement with 'EnableGlobalAbility PlaceEvacZone'.
  • Call for evac at a new location.
  • RNF flare remains as it is (on the container).
  • No enemies in the RNF drop.
  • RNF flare spawns in new location next turn.
  • RNF drops enemies normally next turn onwards.
GauravDas
Posts: 14
Joined: Tue May 23, 2017 4:36 am

Re: No enemies if RNF spawns on evac flare [1.4].

Post by GauravDas »

Here's part of the log file between the end of the first turn and start of the second turn.

Code: Select all

[0052.68] ScriptLog: Index:  106659 LastRealizedIndex:  106658
[0052.68] ScriptLog: Ret: True (1)
[0052.69] ScriptWarning: Accessed None 'GroupState'
	XGAIPatrolGroup Plot_SHN_Stream_MdObj_02.TheWorld:PersistentLevel.XGAIPatrolGroup_0
	Function XComGame.XGAIGroup:SetFallbackStatus:001F
[0052.69] ScriptWarning: Accessed array 'XComGameState_AIReinforcementSpawner_9.SpawnedUnitIDs' out of bounds (0/0)
	XComGameState_AIReinforcementSpawner Transient.XComEngine_0:XComGameStateHistory_0.XComGameState_1450.XComGameState_AIReinforcementSpawner_9
	Function XComGame.XComGameState_AIReinforcementSpawner:OnSpawnReinforcementsComplete:083A
[0052.69] ScriptWarning: Accessed None 'ReinforcementUnit'
	XComGameState_AIReinforcementSpawner Transient.XComEngine_0:XComGameStateHistory_0.XComGameState_1450.XComGameState_AIReinforcementSpawner_9
	Function XComGame.XComGameState_AIReinforcementSpawner:OnSpawnReinforcementsComplete:0858
[0052.69] ScriptWarning: Accessed None 'NewGroupState'
	XComGameState_AIReinforcementSpawner Transient.XComEngine_0:XComGameStateHistory_0.XComGameState_1450.XComGameState_AIReinforcementSpawner_9
	Function XComGame.XComGameState_AIReinforcementSpawner:OnSpawnReinforcementsComplete:0879
[0052.69] ScriptWarning: Attempt to assign variable through None
	XComGameState_AIReinforcementSpawner Transient.XComEngine_0:XComGameStateHistory_0.XComGameState_1450.XComGameState_AIReinforcementSpawner_9
	Function XComGame.XComGameState_AIReinforcementSpawner:OnSpawnReinforcementsComplete:088D
[0052.69] ScriptWarning: Accessed None 'NewGroupState'
	XComGameState_AIReinforcementSpawner Transient.XComEngine_0:XComGameStateHistory_0.XComGameState_1450.XComGameState_AIReinforcementSpawner_9
	Function XComGame.XComGameState_AIReinforcementSpawner:OnSpawnReinforcementsComplete:08B8
[0052.69] ScriptWarning: Attempt to assign variable through None
	XComGameState_AIReinforcementSpawner Transient.XComEngine_0:XComGameStateHistory_0.XComGameState_1450.XComGameState_AIReinforcementSpawner_9
	Function XComGame.XComGameState_AIReinforcementSpawner:OnSpawnReinforcementsComplete:08CC
[0052.69] ScriptWarning: Accessed None 'NewGroupState'
	XComGameState_AIReinforcementSpawner Transient.XComEngine_0:XComGameStateHistory_0.XComGameState_1450.XComGameState_AIReinforcementSpawner_9
	Function XComGame.XComGameState_AIReinforcementSpawner:OnSpawnReinforcementsComplete:08F7
[0052.69] ScriptWarning: Attempt to assign variable through None
	XComGameState_AIReinforcementSpawner Transient.XComEngine_0:XComGameStateHistory_0.XComGameState_1450.XComGameState_AIReinforcementSpawner_9
	Function XComGame.XComGameState_AIReinforcementSpawner:OnSpawnReinforcementsComplete:090B
[0052.69] ScriptWarning: Accessed None 'NewGroupState'
	XComGameState_AIReinforcementSpawner Transient.XComEngine_0:XComGameStateHistory_0.XComGameState_1450.XComGameState_AIReinforcementSpawner_9
	Function XComGame.XComGameState_AIReinforcementSpawner:OnSpawnReinforcementsComplete:091B
[0052.69] ScriptWarning: Attempt to assign variable through None
	XComGameState_AIReinforcementSpawner Transient.XComEngine_0:XComGameStateHistory_0.XComGameState_1450.XComGameState_AIReinforcementSpawner_9
	Function XComGame.XComGameState_AIReinforcementSpawner:OnSpawnReinforcementsComplete:092F
[0052.69] ScriptWarning: Accessed None 'NewGroupState'
	XComGameState_AIReinforcementSpawner Transient.XComEngine_0:XComGameStateHistory_0.XComGameState_1450.XComGameState_AIReinforcementSpawner_9
	Function XComGame.XComGameState_AIReinforcementSpawner:OnSpawnReinforcementsComplete:09AF
[0052.69] ScriptWarning: Accessed None 'NewGroupState'
	XComGameState_AIReinforcementSpawner Transient.XComEngine_0:XComGameStateHistory_0.XComGameState_1450.XComGameState_AIReinforcementSpawner_9
	Function XComGame.XComGameState_AIReinforcementSpawner:OnSpawnReinforcementsComplete:0A0F
[0052.69] Warning: Redscreen: CreateStateObject called with a specified ObjectID of '0' for class 'XComGameState_AIGroup'- this is an invalid argument! 
Stack:
Script call stack:
	(XComGameState_AIReinforcementSpawner_9) XComGameState_AIReinforcementSpawner::OnSpawnReinforcementsComplete

[0052.69] Warning: Redscreen: StateObject is NULL!
Script call stack:
	(XComGameState_AIReinforcementSpawner_9) XComGameState_AIReinforcementSpawner::OnSpawnReinforcementsComplete

[0052.69] ScriptWarning: Accessed None 'Group'
	XComGameState_AIReinforcementSpawner Transient.XComEngine_0:XComGameStateHistory_0.XComGameState_1450.XComGameState_AIReinforcementSpawner_9
	Function XComGame.XComGameState_AIReinforcementSpawner:OnSpawnReinforcementsComplete:0AD1
[0052.69] LWPMTrace: Excluding job due to difficulty
[0052.69] LWPMTrace: Excluding job due to difficulty
[0052.69] LWPMTrace: Excluding job due to difficulty
[0052.69] LWPMTrace: Excluding job due to min turn count
[0052.69] LWPMTrace: Excluding job due to min turn count
[0052.69] LWPMTrace: Excluding job due to min turn count
[0052.69] LWPMTrace: Excluding job due to min turn count
[0052.69] LWPMTrace: Excluding job due to min turn count
[0052.69] LWPMTrace: Excluding job due to min turn count
[0052.69] LWPMTrace: Excluding job due to difficulty
[0052.69] LWPMTrace: Excluding job due to difficulty
[0052.69] LWPMTrace: Excluding job due to difficulty
[0052.69] LWPMTrace: Excluding job due to difficulty
[0052.69] LWPMTrace: Excluding job due to difficulty
[0052.69] LWPMTrace: Excluding job due to mission family inclusion
[0052.69] LWPMTrace: Excluding job due to mission family inclusion
[0052.69] LWPMTrace: Excluding job due to difficulty
[0052.69] LWPMTrace: Excluding job due to mission family inclusion
[0052.69] LWPMTrace: Excluding job due to mission family inclusion
[0052.69] LWPMTrace: Excluding job due to mission family inclusion
[0052.69] LWPMTrace: Excluding job due to mission family inclusion
[0052.69] LWPMTrace: Excluding job due to mission family inclusion
[0052.69] LWPMTrace: Excluding job due to mission family inclusion
[0052.74] ScriptLog: Index:  106660 LastRealizedIndex:  106659
[0052.74] ScriptLog: Ret: True (1)
[0052.74] ScriptLog: Index:  106661 LastRealizedIndex:  106660
[0052.74] ScriptLog: Ret: True (1)
[0052.74] ScriptLog: Index:  106662 LastRealizedIndex:  106661
[0052.74] ScriptLog: Ret: True (1)
[0052.74] ScriptLog: Index:  106663 LastRealizedIndex:  106662
[0052.74] ScriptLog: Ret: True (1)
[0052.74] ScriptLog: Index:  106664 LastRealizedIndex:  106663
[0052.74] ScriptLog: Ret: True (1)
[0052.74] ScriptLog: Index:  106665 LastRealizedIndex:  106664
[0052.74] ScriptLog: Ret: True (1)
[0052.74] ScriptLog: Index:  106666 LastRealizedIndex:  106665
[0052.74] ScriptLog: Ret: True (1)
[0052.78] ScriptLog: Index:  106667 LastRealizedIndex:  106666
[0052.78] ScriptLog: Ret: True (1)
[0052.78] ScriptLog: Index:  106668 LastRealizedIndex:  106667
[0052.78] ScriptLog: Ret: True (1)
[0052.78] ScriptLog: Index:  106669 LastRealizedIndex:  106668
[0052.78] ScriptLog: Ret: True (1)
[0052.78] ScriptLog: Index:  106670 LastRealizedIndex:  106669
[0052.78] ScriptLog: Ret: True (1)
[0062.30] ScriptLog: Index:  106671 LastRealizedIndex:  106670
[0062.30] ScriptLog: Ret: True (1)
[0062.35] ScriptLog: Index:  106672 LastRealizedIndex:  106671
[0062.35] ScriptLog: Ret: True (1)
[0062.35] ScriptLog: Index:  106673 LastRealizedIndex:  106672
[0062.35] ScriptLog: Ret: True (1)
[0062.35] ScriptLog: Index:  106674 LastRealizedIndex:  106673
[0062.35] ScriptLog: Ret: True (1)
[0062.35] ScriptLog: Index:  106675 LastRealizedIndex:  106674
[0062.35] ScriptLog: Ret: True (1)
[0062.38] ScriptWarning: Accessed array 'SeqAct_DisplayMissionCounter_6.InputLinks' out of bounds (2/2)
	SeqAct_DisplayMissionCounter Obj_Defend_LW.TheWorld:PersistentLevel.Main_Sequence.SeqAct_DisplayMissionCounter_6
	Function XComGame.SeqAct_DisplayMissionCounter:Activated:01E4
[0062.38] LWTrace: LWRNF: Forcing reinforcement 1
[0062.39] Warning: Redscreen: [Design Team] Unable to find valid Spawn Group Leader for Force Level '5' and Alert Level '0'
[0062.39] LWTrace: Parsing Encounter : ADVx3_RNFStandard_LW
[0062.39] LWTrace: Mission type = Defend_LW detected.
[0062.39] LWTrace: Called from AIReinforcementSpawner.OnReinforcementSpawnerCreated -- modifying reinforcement spawninfo
[0062.39] LWTrace: Encounter composition:
[0062.39] ScriptWarning: Accessed array 'Default__X2DownloadableContentInfo_LW_Overhaul.SelectedCharacterTemplateNames' out of bounds (0/0)
	X2DownloadableContentInfo_LW_Overhaul LW_Overhaul.Default__X2DownloadableContentInfo_LW_Overhaul
	Function LW_Overhaul.X2DownloadableContentInfo_LW_Overhaul:PostEncounterCreation:0646
[0062.39] ScriptWarning: Accessed array 'Default__X2DownloadableContentInfo_LW_Overhaul.SelectedCharacterTemplateNames' out of bounds (0/0)
	X2DownloadableContentInfo_LW_Overhaul LW_Overhaul.Default__X2DownloadableContentInfo_LW_Overhaul
	Function LW_Overhaul.X2DownloadableContentInfo_LW_Overhaul:PostEncounterCreation:06C9
[0062.39] ScriptWarning: Accessed array 'Default__X2DownloadableContentInfo_LW_Overhaul.SelectedCharacterTemplateNames' out of bounds (0/0)
	X2DownloadableContentInfo_LW_Overhaul LW_Overhaul.Default__X2DownloadableContentInfo_LW_Overhaul
	Function LW_Overhaul.X2DownloadableContentInfo_LW_Overhaul:PostEncounterCreation:07E0
[0062.39] ScriptWarning: Accessed array 'Default__X2DownloadableContentInfo_LW_Overhaul.SelectedCharacterTemplateNames' out of bounds (0/0)
	X2DownloadableContentInfo_LW_Overhaul LW_Overhaul.Default__X2DownloadableContentInfo_LW_Overhaul
	Function LW_Overhaul.X2DownloadableContentInfo_LW_Overhaul:PostEncounterCreation:0940
[0062.41] LWTrace: Disable Reinforcement Flares True
[0062.45] ScriptLog: Index:  106676 LastRealizedIndex:  106675
[0062.45] ScriptLog: Ret: True (1)
[0062.45] ScriptLog: Index:  106677 LastRealizedIndex:  106676
[0062.45] ScriptLog: Ret: True (1)
[0062.49] ScriptLog: Index:  106678 LastRealizedIndex:  106677
[0062.49] ScriptLog: Ret: True (1)
[0062.49] ScriptLog: Index:  106679 LastRealizedIndex:  106678
[0062.49] ScriptLog: Ret: True (1)
[0062.49] ScriptLog: Index:  106680 LastRealizedIndex:  106679
[0062.49] ScriptLog: Ret: True (1)
[0062.49] ScriptLog: Index:  106681 LastRealizedIndex:  106680
[0062.49] ScriptLog: Ret: True (1)
[0062.49] ScriptLog: Index:  106682 LastRealizedIndex:  106681
[0062.49] ScriptLog: Ret: True (1)
[0062.53] ScriptLog: Index:  106683 LastRealizedIndex:  106682
[0062.53] ScriptLog: Ret: True (1)
[0062.53] ScriptLog: Index:  106684 LastRealizedIndex:  106683
[0062.53] ScriptLog: Ret: True (1)
[0062.53] ScriptLog: Index:  106685 LastRealizedIndex:  106684
[0062.53] ScriptLog: Ret: True (1)
[0062.53] ScriptLog: Index:  106686 LastRealizedIndex:  106685
[0062.53] ScriptLog: Ret: True (1)
[0062.57] ScriptLog: Index:  106687 LastRealizedIndex:  106686
[0062.57] ScriptLog: Ret: True (1)
[0062.57] ScriptLog: Index:  106688 LastRealizedIndex:  106687
[0062.57] ScriptLog: Ret: True (1)
[0062.61] ScriptLog: Index:  106689 LastRealizedIndex:  106688
[0062.61] ScriptLog: Ret: True (1)
[0062.61] ScriptLog: Index:  106690 LastRealizedIndex:  106689
[0062.61] ScriptLog: Ret: True (1)
[0062.62] ScriptLog: Index:  106691 LastRealizedIndex:  106690
[0062.62] ScriptLog: Ret: True (1)
[0062.62] ScriptLog: Index:  106692 LastRealizedIndex:  106691
[0062.62] ScriptLog: Ret: True (1)
[0062.62] ScriptLog: Index:  106693 LastRealizedIndex:  106692
[0062.62] ScriptLog: Ret: True (1)
[0062.62] ScriptLog: Index:  106694 LastRealizedIndex:  106693
[0062.62] ScriptLog: Ret: True (1)
[0062.62] ScriptLog: Index:  106695 LastRealizedIndex:  106694
[0062.62] ScriptLog: Ret: True (1)
[0062.62] ScriptLog: Index:  106696 LastRealizedIndex:  106695
[0062.62] ScriptLog: Ret: True (1)
[0062.62] ScriptLog: Index:  106697 LastRealizedIndex:  106696
[0062.62] ScriptLog: Ret: True (1)
[0062.70] ScriptLog: Index:  106698 LastRealizedIndex:  106697
[0062.70] ScriptLog: Ret: True (1)
[0062.70] ScriptLog: Index:  106699 LastRealizedIndex:  106698
[0062.70] ScriptLog: Ret: True (1)
[0062.71] ScriptLog: Index:  106700 LastRealizedIndex:  106699
[0062.71] ScriptLog: Ret: True (1)
[0062.73] ScriptWarning: Accessed None 'SkyrangerButton'
	UITacticalHUD Plot_SHN_Stream_MdObj_02.TheWorld:PersistentLevel.UITacticalHUD_0
	Function XComGame.UITacticalHUD:UpdateSkyrangerButton:02D6
GauravDas
Posts: 14
Joined: Tue May 23, 2017 4:36 am

Re: No enemies if RNF spawns on evac flare [1.4].

Post by GauravDas »

Made a new save with some console commands and INI file changes to test.

It seems that the RNFs don't have enemies only when dropping on some elevated places like containers or buses. I am no longer sure whether the RNF flare needs to be exactly on top of the evac flare.

Here's the new save file. This one is non-ironman and doesn't require any other mods.
https://drive.google.com/open?id=0B9qnp ... E9TNXdoOTA
tracktwo
Long War Dev
Posts: 241
Joined: Sat Jan 07, 2017 7:43 pm

Re: No enemies if RNF spawns on evac flare [1.4].

Post by tracktwo »

Thanks for the detailed info. I'll take a look at this one next - please leave the save up for now. I'm finishing up some other bug reports before I'll get to this one.
tracktwo
Long War Dev
Posts: 241
Joined: Sat Jan 07, 2017 7:43 pm

Re: No enemies if RNF spawns on evac flare [1.4].

Post by tracktwo »

Ok, I can repro the problem with your saves, but I think this is a side-effect of another bug that I posted about before and that we've already fixed for 1.5.

The defend mission script had some bugs that caused the wrong reinforcement schedule to be used, as well as trying to drop the reinforcements directly on top of the evac flare instead of somewhere near it but not directly on top of it because of a bad offset. IIRC the game will put the reinforcement spawner exactly where you tell it if there is no offset, but will try to find a good spot for it if you give it an offset. Now that the script has been updated to drop reinforcements offset from the flare, the game will choose an appropriate location, and it seems to do a much better job of trying to find a valid place to drop the units. It's hard to prove that it's been fixed, but after many reloads and turns I haven't been able to get an empty reinf to drop, so my hope is that it's fixed for 1.5.
GauravDas
Posts: 14
Joined: Tue May 23, 2017 4:36 am

Re: No enemies if RNF spawns on evac flare [1.4].

Post by GauravDas »

Hey. Thanks for checking.
tracktwo wrote:Now that the script has been updated to drop reinforcements offset from the flare, the game will choose an appropriate location, and it seems to do a much better job of trying to find a valid place to drop the units.
It does seem like the game was choosing bad locations to drop RNFs. Will do a round of testing once 1.5 releases.
Post Reply