Wait for soldier to start targeting other soldier. You'll see that the soldier turns towards target but by the time they shoot each time the target has moved.
To fix we should update ST_Soldier so that it runs the LookAtViaMoveTarget task constantly as long as it's in the loop of LookAtTarget -> CheckLOS -> Raise -> AimAndShoot -> AimBeforeShoot -> Shoot -> LookAtTarget. We could do this by nesting this whole loop inside the LookAtTarget state. We also need to add to FMassLookAtViaMoveTargetTask a UPROPERTY bool bLookForever which defaults to false but we set to true in the LookAtTarget state.
To see the issue we're trying to fix:
pm.SkipDealingDamage 1
To fix we should update ST_Soldier so that it runs the LookAtViaMoveTarget task constantly as long as it's in the loop of LookAtTarget -> CheckLOS -> Raise -> AimAndShoot -> AimBeforeShoot -> Shoot -> LookAtTarget. We could do this by nesting this whole loop inside the LookAtTarget state. We also need to add to FMassLookAtViaMoveTargetTask a UPROPERTY bool bLookForever which defaults to false but we set to true in the LookAtTarget state.