PART
{
	name = elf
	module = Part
	author = Bonus Eventus
	MODEL
	{
		model = kerbodynePlus/Parts/Engine/elf
		scale = 1.25,1.25,1.25
	}
	node_stack_top = 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 2
	node_stack_bottom = 0.0, -2.337375, 0.0, 0.0, -1.0, 0.0, 2
	scale = 1.25
	rescaleFactor = 1
	TechRequired = veryHeavyRocketry
	entryCost = 700000
	cost = 500000
	category = Engine
	subcategory = 0
	title = ELF
	manufacturer = Kerbodyne
	description = Kerbodyne’s ingenious ELF Thruster (Electrodeless Lorentz Force Thruster) was created with one singular purpose in mind. Interplanetary travel. Utilizing the Lorenz Force (the force of a magnetic field acting on a charged particle) the eggheads at the Kerbodyne-X Laboratory found a way to cook eggs twice as fast as a conventional oven and also how to shoot ionized particles really, really far! With 160 KN of thrust and 6000 ISP, you’ll go to Laythe, Vall, Tylo, Poll, and heck, why not Bop while we’re at it, with peace of mind, knowing that science and hot pink flames of awesome will be getting you there in style. 
	// attachment rules: stack, srfAttach, allowStack, allowSrfAttach, allowCollision
	attachRules = 1,0,1,0,0
	mass = 2
	// heatConductivity = 0.06 // half default
	skinInternalConductionMult = 4.0
	emissiveConstant = 0.8 // engine nozzles are good at radiating.
	dragModelType = default
	maximum_drag = 0.2
	minimum_drag = 0.2
	angularDrag = 2
	crashTolerance = 8
	breakingForce = 200
	breakingTorque = 200
	maxTemp = 2000 // = 3600
	bulkheadProfiles = kp, size2
	tags = kerbodynePlus kerbodyne kp elf deep drive efficient engine (ion thruster vacuum xenon
	MODULE
	{
		name = ModuleEnginesFX
		engineID = Ion
		thrustVectorTransformName = thrustTransform
		exhaustDamage = False
		ignitionThreshold = 0.1
		minThrust = 0
		maxThrust = 160
		heatProduction = 0
		powerEffectName = IonPlume
		EngineType = Electric
		PROPELLANT
		{
			name = ElectricCharge
			ratio = 7.354988
		}
		PROPELLANT
		{
			name = XenonGas
			ratio = 0.1
		}
		atmosphereCurve
		{
			key = 0 6000
			key = 1 100
			key = 1.2 0.001
		}
	}
	MODULE
	{
		name = ModuleJettison
		jettisonName = ELF_shroud
		bottomNodeName = bottom
		isFairing = True
		jettisonedObjectMass = 0.5
		jettisonForce = 15
		jettisonDirection = 0 0 1
	}
	MODULE
	{
		name = FXModuleAnimateThrottle
		animationName = elfPlasma
		dependOnEngineState = True
		responseSpeed = 0.5
		engineName = Ion
		dependOnThrottle = True
	}
	EFFECTS
	{		
		IonPlume
		{
			AUDIO
			{
				channel = Ship
				clip = sound_IonEngine
				volume = 0.0 0.0
				volume = 0.05 0.20
				volume = 1.0 0.25
				pitch = 0.0 0.2
				pitch = 1.0 0.8
				loop = true
			}
			MODEL_MULTI_PARTICLE
			{
				name = fx1
				modelName = kerbodynePlus/FX/plasmaExhaust
				transformName = thrustTransform
				emission = 0.0 0.0
				emission = 0.25 0.5			
				emission = 1.0 1.0
				//speed = 0.0 0.0
				//speed = 1.0 1.0
			}
			
			MODEL_MULTI_PARTICLE
			{
				name = fx2
				modelName = kerbodynePlus/FX/plasmaExhaust_2
				transformName = thrustTransform
				emission = 0.0 0.0
				emission = 0.25 0.5			
				emission = 1.0 1.0
				//speed = 0.0 0.0
				//speed = 1.0 1.0
			}
		}
	}
	RESOURCE
	{
		name = ElectricCharge
		amount = 12000
		maxAmount = 12000
		isTweakable = false
		hideFlow = false
	}
	MODULE
	{
		name = ModuleTestSubject
		useStaging = True
		useEvent = True
		situationMask = 112
		CONSTRAINT
		{
			type = REPEATABILITY
			value = ALWAYS
			prestige = Trivial
		}
		CONSTRAINT
		{
			type = REPEATABILITY
			value = BODYANDSITUATION
			prestige = Significant
		}
		CONSTRAINT
		{
			type = REPEATABILITY
			value = ONCEPERPART
			prestige = Exceptional
		}
		CONSTRAINT
		{
			type = ALTITUDEENV
			test = GT
			value = 4000
			prestige = Trivial
		}
		CONSTRAINT
		{
			type = ALTITUDEENV
			test = LT
			value = 8000
			prestige = Trivial
		}
		CONSTRAINT
		{
			type = ALTITUDEENV
			test = GT
			value = 2000
			prestige = Significant
		}
		CONSTRAINT
		{
			type = ALTITUDEENV
			test = LT
			value = 4000
			prestige = Significant
		}
		CONSTRAINT
		{
			type = ALTITUDEENV
			test = GT
			value = 1000
			prestige = Exceptional
		}
		CONSTRAINT
		{
			type = ALTITUDEENV
			test = LT
			value = 2000
			prestige = Exceptional
		}
		CONSTRAINT
		{
			type = ALTITUDE
			test = LT
			value = 300000
			situationMask = 16
			body = _NotSun
		}
		CONSTRAINT
		{
			type = ALTITUDE
			test = LT
			value = 600000
			situationMask = 32
			body = _NotSun
		}
	}
}
