Skip to content

Commit

Permalink
semi-active fails after 1 second, not instant
Browse files Browse the repository at this point in the history
  • Loading branch information
BahamutoD committed Feb 20, 2016
1 parent 26dd97d commit 302d637
Show file tree
Hide file tree
Showing 4 changed files with 30 additions and 7 deletions.
32 changes: 26 additions & 6 deletions BahaTurret/MissileLauncher.cs
Original file line number Diff line number Diff line change
Expand Up @@ -1660,6 +1660,8 @@ void ReceiveRadarPing(Vessel v, Vector3 source, RadarWarningReceiver.RWRThreatTy
int snapshotTicker;
int locksCount = 0;
TargetSignatureData[] scannedTargets;
float radarFailTimer = 0;
float maxRadarFailTime = 1;
void UpdateRadarTarget()
{
targetAcquired = false;
Expand Down Expand Up @@ -1689,15 +1691,32 @@ void UpdateRadarTarget()
targetPosition = radarTarget.predictedPosition;
targetVelocity = radarTarget.velocity;
targetAcceleration = radarTarget.acceleration;
//radarTarget.signalStrength =
radarFailTimer = 0;
return;
}
else
{
Debug.Log("Semi-Active Radar guidance failed. Parent radar lost target.");
radarTarget = TargetSignatureData.noTarget;
legacyTargetVessel = null;
return;
if(radarFailTimer > maxRadarFailTime)
{
Debug.Log("Semi-Active Radar guidance failed. Parent radar lost target.");
radarTarget = TargetSignatureData.noTarget;
legacyTargetVessel = null;
return;
}
else
{
if(radarFailTimer == 0)
{
Debug.Log("Semi-Active Radar guidance failed - waiting for data");
}
radarFailTimer += Time.fixedDeltaTime;
radarTarget.timeAcquired = Time.time;
radarTarget.position = radarTarget.predictedPosition;
targetPosition = radarTarget.predictedPosition;
targetVelocity = radarTarget.velocity;
targetAcceleration = Vector3.zero;
targetAcquired = true;
}
}
}
else
Expand Down Expand Up @@ -1754,13 +1773,14 @@ void UpdateRadarTarget()
targetPosition = radarTarget.predictedPosition + (radarTarget.velocity * Time.fixedDeltaTime);
targetVelocity = radarTarget.velocity;
targetAcceleration = radarTarget.acceleration;

radarFailTimer = 0;
if(!activeRadar && Time.time - timeFired > 1)
{
if(locksCount == 0)
{
RadarWarningReceiver.PingRWR(ray, lockedSensorFOV, RadarWarningReceiver.RWRThreatTypes.MissileLaunch, 2f);
Debug.Log("Pitbull! Radar missile has gone active. Radar sig strength: " + radarTarget.signalStrength.ToString("0.0"));

}
else if(locksCount > 2)
{
Expand Down
5 changes: 4 additions & 1 deletion BahaTurret/TargetSignatureData.cs
Original file line number Diff line number Diff line change
Expand Up @@ -140,7 +140,10 @@ public Vector3 position
//return FlightGlobals.currentMainBody.GetWorldSurfacePosition(geoPos.x, geoPos.y, geoPos.z);
return VectorUtils.GetWorldSurfacePostion(geoPos, FlightGlobals.currentMainBody);
}

}
set
{
geoPos = VectorUtils.WorldPositionToGeoCoords(value, FlightGlobals.currentMainBody);
}
}

Expand Down
Binary file modified BahaTurret/bin/Release/BahaTurret.dll
Binary file not shown.
Binary file modified BahaTurret/obj/x86/Release/BahaTurret.dll
Binary file not shown.

0 comments on commit 302d637

Please sign in to comment.