function Create(self)


self.stallSpeed = 6

self.MGTimer = Timer()
	self.AimAngle = 0;
	self.DoesFly = 0;
	self.DropTimer = Timer()
	self.TrueAngle = 0;
	self.minThrot = 4900
--3900
	self.maxThrot = 6700
	self.throttle = self.minThrot
	self.ammo = 300		-- Machine Guns
	self.liftMultiplier = 13.5
--15.3
	self.liftMaximum = 15000
	self.stallSpeed = 6
	self.angle = 0
	self.speed = 0
	self.payload = 0
	self.bomb = ""
	self.playerCtrl = false
	self.Ctrl = self:GetController()
	self.damage = 0
	self.dmgThres = 80
	self.TailPos = Vector(-40,0)
	self.AimPointDelta = Vector(FrameMan.PlayerScreenWidth/2.5, FrameMan.PlayerScreenHeight/2)
	self.Vel = self:RotateOffset(Vector(self.stallSpeed + 1, 0))
	
	if self.HFlipped then 
		self.RotAngle = 0.1
	else
		self.RotAngle = -0.1
	end
end

function Update(self)


	if self:GetAltitude(0,2) > 70 then
		self.DoesFly = 1;
	end

	if self:GetAltitude(0,2) < 70 then
		self.DoesFly = 0;
	end

if self.DoesFly == 1 then

	if self.Health < 1 and self.Vel.Magnitude < 25 then
		self:GibThis()
	end
	
	self.AimAngle = self:GetAimAngle(false);

	if self.AimAngle > 3.1415 or self.AimAngle < -3.1415 then
		self.AimAngle = 0
	--	self.HFlipped = true;
	--	self.HFlipped = not self.HFlipped
	end

	if self.HFlipped == true then
	self.AimAngle = self:GetAimAngle(false) + 3.1415;
	end

	
	self.RotAngle = self.AimAngle;




	self.TrueAngle = self.AimAngle;	

	
	


	self.angle = self.TrueAngle
	--if self.HFlipped then
	--	self.angle = self.angle + 3.1415
	--	self.RotAngle = self.RotAngle + 3.1315
	--end
	
	-- Movement in direction of view angle
	self.speed = math.abs(self.Vel.Magnitude * math.cos(math.abs(self.Vel.AbsRadAngle - self.TrueAngle)))
	
	if self.speed > self.stallSpeed then
		self.AngularVel = self.AngularVel * 0.95
	end
	
	-- Direct the velocity towards the view angle
	if self.speed > self.stallSpeed then
		local mag = self.Vel.Magnitude
		local Momentum = Vector(mag * 0.03, 0):RadRotate(self.angle) + self.Vel
		self.Vel = Momentum:SetMagnitude(mag)
	else	-- Stall
		if self.angle < 1.5708 then
			if self.angle > -1.0472 or self.angle > 5.2360 then
				self.AngularVel = self.AngularVel - 0.024
			end
		elseif self.angle < 3.6652 then
			self.AngularVel = self.AngularVel + 0.024
		end
	end
	
	-- Angle of attack
	self.attack = math.abs(self.Vel.AbsRadAngle - self.angle)
	if self.attack > 6.2832 then
		self.attack = self.attack - 6.2832
	elseif self.attack < -1.5708 then
		self.attack = 6.2832 - self.attack
	end
	
	if self.HFlipped == true then
	self.attack = self.attack + 3.1415;
	end
	-- Add engine acceleration
	local Force
	if self.speed < 20 then
		Force = Vector(self.throttle, 0):RadRotate(self.angle)
	else
		Force = Vector(self.throttle*0.77, 0):RadRotate(self.angle)
		self.Vel = self.Vel - self:RotateOffset(Vector(self.speed*0.0044, 0))	-- Extra air resistance at high speeds
	end
	
	-- Add lift
	if self.speed > self.stallSpeed * 0.8 and self.attack < 1 then
		local lift = math.min(self.speed^2 * math.max(1-self.attack, 0) * self.liftMultiplier, self.liftMaximum)
		Force = Force + self:RotateOffset(Vector(0, -lift))
	end
	
	-- Add extra drag when angle of attack is high
	if self.attack > 0.2 and self.Vel.Magnitude > 8 then
		if self.attack > 1.5708 then
			self.attack = 3.1415 - self.attack
		end
		
		Force = Force + Vector((self.Vel.Magnitude - self.speed)^1.6 * (self.attack+0.1) * 500 + 1500, 0):RadRotate(self.Vel.AbsRadAngle +3.1315)
		

	
end
	
	--self:AddAbsForce(Force, self.Pos)
	--if self.HFlipped and self.Vel.X > 0 then
	--	self.Vel.X = self.Vel.X * -1;
	--end
	-- Damage effects
	
end
end
--end