; Doctrine Reinforce Alert ver. 1.41

var initTimer
var initTimer2
var expireTimer
var depthReached
var buoyEnabled
var Lock
var mission
var enginit
var SilStart

IF INIT THEN {
	depthReached = false
	buoyEnabled = false
If OwnAlt > 0 Then {
	SetSnorkel ON
} else {
	SilStart = 1
} endif
	expireTimer = ( Time + 3600 )
	IF ( DBBuoyFlags & 1 ) THEN {
		expireTimer = ( Time + 1200 )
	} ELSEIF ( DBBuoyFlags & 2 ) THEN {
		expireTimer = ( Time + 1200 )
	} ENDIF 

	IF Time < 10 THEN {
		; buoy in the water at scenario start
		buoyEnabled = true
		PassiveENABLE
	} ENDIF

} ELSE {
	; Expire
	IF Time > expireTimer THEN {
		Shutdown
	} ELSE {
		SetSpd 0
		SetAlt -1
		IF Not depthReached THEN {
			IF ( OwnAlt < 5 ) THEN {
				depthreached = true
				enginit = ( Time + 5 )
				initTimer = ( Time + 20 )
				IF ( DBBuoyFlags & 1 ) THEN {
				initTimer = ( initTimer + 20 )
				} ENDIF
			} ENDIF
		} ELSEIF Not buoyEnabled THEN {
			IF ( Time > initTimer ) THEN {
				enable
				buoyEnabled = true
			} ENDIF
		} ENDIF
	} ENDIF

} ENDIF
If Newtrack Then {
	If ( ( TgtType $= "Sub" ) AND ( TgtID $= "HOSTILE" ) ) Then {
		initTimer2 = ( Time + 600 )
		Lock = 1
	} ENDIF
} ENDIF
If Not SilStart Then {
IF depthreached THEN {
	IF ( Time > enginit ) AND ( mission != 1 ) THEN {
		SetPriority 255
		SetSnorkel OFF
		mission = 1
	} ENDIF
} ENDIF
} ENDIF
IF ( Time > initTimer2 ) And Lock THEN {
	Shutdown
} ENDIF
