--				local Destructible = ExplosionTouchPart:FindFirstChild("RocketDestructible")
--				if Destructible and Destructible.Value and RadiusFromBlast < BLAST_RADIUS then
--					Destructible.Value = false
--					
--					RunLocalEffect:FireAllClients("FadePart",ExplosionTouchPart)
--					Debris:AddItem(ExplosionTouchPart,3)
--				end

		
				--Set the velocity of the part.
				local DeltaPos = ExplosionTouchPart.Position - Position
				local Normal = DeltaPos.magnitude == 0 and Vector3.new(0,1,0) or DeltaPos.unit
				local PartRadius = ExplosionTouchPart.Size.magnitude / 2
				local SurfaceArea = PartRadius * PartRadius
				
				local Impulse = Normal * BLAST_PRESSURE * SurfaceArea * (1 / 4560)
				local Fraction = 1
				if IsInCharacter then
					Fraction = 1 - math.max(0, math.min(1,(RadiusFromBlast - 2) / BLAST_RADIUS))
				end				
				
				local CurrentVelocity = ExplosionTouchPart.Velocity
				local DeltaVelocity = Impulse / ExplosionTouchPart:GetMass()
				local BodyVelocity = Instance.new("BodyVelocity")
				BodyVelocity.Velocity = CurrentVelocity + DeltaVelocity
				BodyVelocity.Parent = ExplosionTouchPart
				
				local ForceNeeded = 196.2 * ExplosionTouchPart:GetMass()
				BodyVelocity.MaxForce = Vector3.new(ForceNeeded,ForceNeeded,ForceNeeded) * 10 * Fraction
				Debris:AddItem(BodyVelocity,0.2/FORCE_GRANULARITY)
				
				local RotImpulse = Impulse * 0.5 * RadiusFromBlast
				local CurrentRotVelocity = ExplosionTouchPart.RotVelocity
				local MomentOfInertia = (2 * ExplosionTouchPart:GetMass() * RadiusFromBlast * RadiusFromBlast/5) 
				local DeltaRotVelocity = RotImpulse / MomentOfInertia 
				local AngularVelocity = Instance.new("BodyAngularVelocity")
				local TorqueNeeded = 20 * MomentOfInertia
				AngularVelocity.MaxTorque = Vector3.new(TorqueNeeded,TorqueNeeded,TorqueNeeded) * 10 * Fraction
				AngularVelocity.AngularVelocity = CurrentRotVelocity + DeltaRotVelocity
				AngularVelocity.Parent = ExplosionTouchPart
				Debris:AddItem(AngularVelocity,0.2/FORCE_GRANULARITY)
			end
		end
		
		--Create the explosion.
		local Explosion = Instance.new("Explosion")
		Explosion.BlastPressure = 0
		Explosion.BlastRadius = BLAST_RADIUS
		Explosion.Position = Position
		Explosion.Hit:Connect(OnExplosionHit)
		Explosion.Parent = game.Workspace
		
		--Reparent the script to the explosion and destroy the rocket.
		FiredByValue.Parent = script
		script.Parent = Explosion
		Rocket:Destroy()
	end
end


