ADVENT/Alien Double-Move Fix

This is to elevate certain bug reports so Long War 2 developers can interact with players.
Post Reply
AvengerXP
Posts: 15
Joined: Tue Feb 07, 2017 5:56 am

ADVENT/Alien Double-Move Fix

Post by AvengerXP »

This is a longstanding issue that LW2 should implement.

First things first, the HUNT movement should only be available if you don't see anyone. If you have ANY active enemies in sight, you have other options.

DefaultAI.INI

HUNTING (Added NoVisibleEnemies, Don't Hunt if you're in Red Alert and you see people!)
Behaviors=(BehaviorName=MoveHuntingUnsafe, NodeType=Sequence, Child[0]=NoVisibleEnemies, Child[1]=IsAbilityAvailable-StandardMove, Child[2]=FindDestinationForHunter, Child[3]=SelectAbility-StandardMove)
Behaviors=(BehaviorName=MoveHunting, NodeType=Sequence, Child[0]=NoVisibleEnemies, Child[1]=SafeToMove, Child[2]=MoveHuntingUnsafe)
Behaviors=(BehaviorName=FindDestinationForHunter, NodeType=Selector, Child[0]=NoVisibleEnemies, Child[1]=HuntWithLoS, Child[2]=BestHuntDestinationWithoutLoS)
Behaviors=(BehaviorName=HuntWithLoS, NodeType=Sequence, Child[0]=NoVisibleEnemies, Child[1]=ResetDestinationSearch, Child[2]=RestrictToEnemyLoS, Child[3]=FindDestination-Hunting)
Behaviors=(BehaviorName=BestHuntDestinationWithoutLoS, NodeType=Sequence, Child[0]=NoVisibleEnemies, Child[1]=ResetDestinationSearch, Child[2]=FindDestination-Hunting)[/size]

Behaviors=(BehaviorName=HuntEnemy, NodeType=Sequence, Child[0]=NoVisibleEnemies, Child[1]=SafeToMove, Child[2]=SetAlertDataStack, Child[3]=GenericSelectBestAlert, Child[4]=HasValidAlertDataLocation, Child[5]=MoveStandardWithDestination)
Behaviors=(BehaviorName=HuntEnemyWithCover, NodeType=Sequence, Child[0]=NoVisibleEnemies, Child[1]=SafeToMove, Child[2]=SetAlertDataStack, Child[3]=GenericSelectBestAlert, Child[4]=HasValidAlertDataLocation, Child[5]=AlertDataMovementUseCover, Child[6]=MoveStandardWithDestination)
Behaviors=(BehaviorName=HuntEnemyUnsafe, NodeType=Sequence, Child[0]=NoVisibleEnemies, Child[1]=SetAlertDataStack, Child[2]=GenericSelectBestAlert, Child[3]=HasValidAlertDataLocation, Child[4]=MoveStandardWithDestinationUnsafe)

These need to be created, new behaviors. They will be used in each ADVENT or Alien at the END of their SECOND red movement.

Behaviors=(BehaviorName=MoveIfNoEnemiesJobOrDefensive, NodeType=Sequence, Child[0]=NoVisibleEnemies, Child[1]=SelectMove_JobOrDefensive)
Behaviors=(BehaviorName=MoveIfNoEnemiesJobOrAggressive, NodeType=Sequence, Child[0]=NoVisibleEnemies, Child[1]=SelectMove_JobOrAggressive)
Behaviors=(BehaviorName=MoveIfNoEnemiesStandard, NodeType=Sequence, Child[0]=NoVisibleEnemies, Child[1]=SelectMoveStandard)

Since this will fail if they see an enemy, you will now correctly fall into the Fallback mechanism where you check for Overwatch, Hunker and such.

This is what the Muton second selector looks like now:

+Behaviors=(BehaviorName=MutonM2_LWRedLastAction, NodeType=Sequence, Child[0]=IsLastActionPoint, Child[1]=MutonM2_LWRedLastActionSelector)
+Behaviors=(BehaviorName=MutonM2_LWRedLastActionSelector, NodeType=Selector, \\
Child[0]=TryBayonet, \\
Child[1]=TryHighPriorityShot, \\
Child[2]=TryGrenade, \\
Child[3]=TrySuppressClosest, \\
Child[4]=TryShootOrReloadOrOverwatch, \\
Child[5]=HuntEnemyWithCover, \\ <- REMEMBER, this will be skipped if they see enemies
Child[6]=MoveIfNoEnemiesJobOrAggressive)


Also, quick suggestion, if an ADVENT cannot Hunker, Overwatch or do anything else in the turn, why not make them Yell as a last absolute resort before SkipTurn?

EDIT: Added 3 more to change, HuntEnemy, HuntEnemyWithCover and HuntEnemyUnsafe.
Post Reply