var PreEnableCourse
var PreEnableSpeed
var PreEnableDepth
var RunToEnable
var Enabled
var Homing
var SearchDepth
var Floor
var Ceiling
var AcousticMode
var spdmin
var InitX
var InitY
var Run
var CorrInterogg
var TRange
var fuel
var FSR
var K
var FSRMIN
VAR DMAX
VAR DMIN
var TorpMaxDepth
var PreSet
VAR INITTIME
VAR CalcSpd
VAR mspd
VAR DELAY
VAR OrdDpth
var GotHim
var ColT
VAR DELTA1
VAR OLDBRG
var trng
var tbrg
var tage
var talt
var TSILOS
VAR FTERM
var SilStart
var mission

IF INIT THEN {
	InitTime = ( Time + 3 )
	spdmin = 45
	IF ( DBUser1Flags & 2 ) == 2 THEN { SetSnorkel On SilStart = 1 } ENDIF
	TorpMaxDepth = ( MinAlt * 3.28 )
	CorrInterogg = Time
	Enabled = 0
	Homing = 0
	InitX = OwnX
	InitY = OwnY
	IF ( OwnName $= "AI Mk VIII Torpedo" ) THEN { TRange = 12000 DMAX = 11900 } ENDIF
	FUEL = 1000
	DMIN = ( Trange / 1852 )
	DMAX = ( DMAX / 1852 )
	FSRMIN = ( FUEL / ( DMIN / ( spdmin / 3600 ) ) )
	IF ( MAXSPD > spdmin ) THEN {
	K = ( ( ( FUEL / ( DMAX / ( MAXSPD / 3600 ) ) ) - FSRMIN ) / ( MAXSPD - spdmin ) ) } ELSE {
	K = ( ( FUEL / ( DMAX / ( MAXSPD / 3600 ) ) ) - FSRMIN ) } ENDIF
	PreEnableDepth = Ownalt
	if ownalt > -15 then { PreEnableDepth = -15 } endif
	PreEnableSpeed = MAXSPD
	PreSet = 1
} ELSE {
IF PreSet THEN {
PreSet = 0
IF RunToEnable < 100 THEN { RunToEnable = 250 } ENDIF
Floor = TorpMaxDepth
Ceiling = -0.5
SearchDepth = -27
} ENDIF
; Fuel Calculate
IF FUEL < 0 THEN {
	SHUTDOWN
} ELSE {
	CorrInterogg = ( Time - CorrInterogg )
	IF ( ( OWNALT < 0 ) AND ( ( OWNSPD >= ( spdmin - 1 ) ) OR ( OWNSPD <= ( MAXSPD + 1 ) ) ) ) THEN {
		FSR = ( FSRMIN + ( ( OWNSPD - spdmin ) * K ) )
		FSR = ( FSR * CorrInterogg )
		FUEL = ( FUEL - FSR )	
	} ENDIF	
	CorrInterogg = Time
IF SilStart THEN {
	IF ( OwnSpd <= PreEnableSpeed ) AND ( mission != 1 ) THEN {
		SetPriority 255
		SetSnorkel OFF
		mission = 1
	} ENDIF
} ENDIF
	IF NEWTRACK THEN {
			Detonate
			Homing = 1
	} ENDIF

	IF LOSTTRACK THEN {
		Homing = 0
	} ENDIF
	Run += xyrng ( OwnX - InitX ) ( OwnY - InitY )
		InitX = OwnX
		InitY = OwnY
	; Enable
	IF NOT Enabled THEN {
		IF ( ( RunToEnable != -1 ) AND ( Run >= RunToEnable ) ) THEN {	
		        PASSIVEENABLE
			SensorEnable "MAD8" 1
			Enabled = 1
			RunToEnable = -1
		} ENDIF
	} ENDIF

IF not HOMING THEN {
	if Time <= InitTime Then {
		SETPRIORITY 252	SetAlt PreEnableDepth
		SETPRIORITY 252	SetSpd PreEnableSpeed
} ELSEIF OwnAlt <= 0 THEN {
	IF ENABLED THEN {
		SETPRIORITY 252	SetCrs PreenableCourse
		SETPRIORITY 252	SetAlt SearchDepth
		SETPRIORITY 252 SetSpd PreEnableSpeed
	} ELSE {
		SETPRIORITY 252	SetCrs PreenableCourse
		SETPRIORITY 252	SetAlt PreEnableDepth
		SETPRIORITY 252 SetSpd PreEnableSpeed
		} ENDIF
	} ENDIF
} ENDIF
} ENDIF
} ENDIF
if ownalt > -8 then { SETPRIORITY 255 setalt -8 } endif