; FighterEvadeMissile RA ver. 1.39 doctrine

var RunawayOffset
var CMTimer
var CMTimer2
var CMAlternate
var chaffIdx
var flareIdx
var CM_Choice
var Lock

IF Init THEN {
	CMTimer = -1
	CMTimer2 = -1
	CM_Choice = RND 10
	IF CM_Choice <= 5 THEN {
		CMAlternate = 1
	} ELSE {
		CMAlternate = 0
	} ENDIF

	IF RND 10 > 5 THEN {
		RunawayOffset = 135
	} ELSE {
		RunawayOffset = 215
	} ENDIF
	chaffIdx = DBIdxFromRecNum 248
	flareIdx = DBIdxFromRecNum 247
IF ( TargetName $= "SA-N-5 Grail SAM" ) Or ( TargetName $= "SA-N-8 Gremlin SAM" ) Or ( TargetName $= "FIM-92 SAM" ) THEN {
	CMAlternate = 1
} ENDIF

} ELSEIF Not LostTrack THEN {
	IF TgtSilos < 0 THEN {
		SetEntvar "UnderAttack" 0
	IF TgtRng < 5556 THEN {
		If NOT LOCK Then {
			Lock = 1
			SetPriority 255	SetSpd MaxSpd
			SetPriority 255 SetRudder ( 30 )
			SetPriority 255	SetPitch ( 15 )
		} Endif
		IF TIME > CMTimer2 THEN {
			IF CMAlternate THEN {
				CMAlternate = 0
				SetPriority 255	CounterMeasureIdx flareIdx	
			} ELSE {
				SetPriority 255 CounterMeasureIdx chaffIdx	
				CMAlternate = 1
			} ENDIF

			IF NOT CMAlternate THEN {
				CMAlternate = 0
			} ELSE {
				CMAlternate = 1
			} ENDIF
				CMTimer2 = ( TIME + 0.5 )
		} ENDIF
	} ENDIF
} ENDIF

IF ( ( ( TgtRng >= 5556 ) AND ( TgtRng < 11112 ) ) AND ( TgtSilos < 0 ) ) AND ( ABS RelativeBearing TgtCrs ( TgtBrg + 180 MOD 360 ) < 2 ) THEN {
	IF TgtRng <= 11112 THEN {
			SetEntvar "UnderAttack" 1
			SetPriority 255	SteerAway
			SetPriority 255 SetSpd MaxSpd
			IF TIME > CMTimer THEN {
			SetPriority 255	CounterMeasureIdx flareIdx	
			SetPriority 255 CounterMeasureIdx chaffIdx	
			CMTimer = ( Time + 3 + Rnd 3 )
		} ENDIF
	} ENDIF
} ENDIF

IF ( ( ( TgtRng > 11112 ) AND ( TgtRng <= 16658 ) ) AND ( TgtSilos < 0 ) ) AND ( ABS RelativeBearing TgtCrs ( TgtBrg + 180 MOD 360 ) < 5 ) THEN {
	SetEntvar "UnderAttack" 1
	SetPriority 255	SteerOblique 15
	SetPriority 255 SetSpd MaxSpd
	SetPriority 255 SetPitch ( 10 )
} ENDIF

IF LostTrack THEN {
	SetEntvar "UnderAttack" 0
} ENDIF
