// Near Future Propulsion 1.0.0
// MPDT Large - 1.25m

PART
{
	// --- general parameters ---
	name = mpdt-125
	module = Part
	author = Chris Adderley (Nertea)

	// --- asset parameters ---
	MODEL {
		model = NearFuturePropulsion/Parts/Engines/mpdt-125/mpdt-125
	}
	scale = 1.0
	rescaleFactor = 1

	// --- node definitions ---
	// definition format is Position X, Position Y, Position Z, Up X, Up Y, Up Z
	node_attach = 0.0,  0.5757095, 0.0, 0.0, 1.0, 0.0, 1
	node_stack_top = 0.0, 0.5757095, 0.0, 0.0, 1.0, 0.0, 1
	node_stack_bottom = 0.0, -1.312071, 0.0, 0.0, -1.0, 0.0, 1

	TechRequired = veryHeavyRocketry
	entryCost = 23000

	EFFECTS
	{
		engage
		{
			AUDIO
			{
				channel = Ship
				clip = NearFuturePropulsion/Sounds/MPDTOn
				volume = 1.0
				pitch = 1.0
				loop = false
			}
		}
		flameout
		{
			PREFAB_PARTICLE
			{
				prefabName = fx_exhaustSparks_flameout_2
				transformName = thrustTransform
				oneShot = true
			}
			AUDIO
			{
				channel = Ship
				clip = NearFuturePropulsion/Sounds/GenericFlameout
				volume = 1.0
				pitch = 1.0
				loop = false
			}
		}
		run_ds02_core
		{
			AUDIO
				{
				channel = Ship
				clip = NearFuturePropulsion/Sounds/MPDTLoop01
				volume = 0.0 0.0
				volume = 0.01 0.1
				volume = 0.5 0.2
				volume = 1.0 0.4
				pitch = 0.0 1.8
				pitch = 0.5 1.6
				pitch = 1.0 1.2
				loop = true
			}
			MODEL_MULTI_PARTICLE
			{
				modelName = NearFuturePropulsion/FX/mpdtPlume01large
				transformName = thrustTransform
				emission = 0.0 0.0
				emission = 0.01 0.1
				emission = 0.075 0.25
				emission = 1.0 1.0
				speed = 0.0 0.35
				speed = 1.0 1.0
			}
		}
		run_ds02_plume
		{
			MODEL_MULTI_PARTICLE
			{
				modelName = NearFuturePropulsion/FX/mpdtPlume02large
				transformName = thrustTransform
				emission = 0.0 0.0
				emission = 0.01 0.1
				emission = 0.075 0.25
				emission = 1.0 1.0
				speed = 0.0 0.35
				speed = 1.0 1.0
			}
		}
	}

	// --- editor parameters ---
	cost = 16614
	category = Propulsion
	subcategory = 0
	title = #LOC_NFPropulsion_mpdt-125_title
	manufacturer = #LOC_NFPropulsion_manufacturer_kedy_title
	description = #LOC_NFPropulsion_mpdt-125_description

	// attachment rules: stack, srfAttach, allowStack, allowSrfAttach, allowCollision
	attachRules = 1,1,1,0,0

	// --- standard part parameters ---
	mass = 0.9
	dragModelType = default
	maximum_drag = 0.2
	minimum_drag = 0.2
	angularDrag = 2
	crashTolerance = 6
	breakingForce = 200
	breakingTorque = 200
	maxTemp = 1700
	bulkheadProfiles = size1
	emissiveConstant = 0.7
	skinInternalConductionMult = 4.0

	tags = #LOC_NFPropulsion_mpdt-125_tags

	MODULE
	{
		name = ModuleEnginesFX
		engineID = largeMPDT
		runningEffectName = run_ds02_core
		powerEffectName = run_ds02_plume
		thrustVectorTransformName = thrustTransform
		exhaustDamage = True
		ignitionThreshold = 0.1
		minThrust = 0
		maxThrust = 96.40
		heatProduction = 335.993711
		EngineType = Electric
		PROPELLANT
		{
			name = ElectricCharge
			ratio = 162.969270
			DrawGauge = True
			minResToLeave = 1.0
		}
		PROPELLANT
		{
			name = Lithium
			DrawGauge = True
			ratio = 1.0
		}
		atmosphereCurve
		{
			key = 0 3000
			key = 1 30
			key = 2 0.001
		}
	}

	MODULE
	{
		name = ModuleJettison
		jettisonName = Shroud
		bottomNodeName = bottom
		isFairing = True
		jettisonedObjectMass = 0.1
		jettisonForce = 2
		jettisonDirection = 0 0 1

	}

	MODULE
	{
		name = FXModuleAnimateThrottle
		animationName = MPDT-125-Throttle
		dependOnEngineState = True
		responseSpeed = 0.5
		layer = 1
	}
  MODULE
  {
    name = ModuleCargoPart
    packedVolume = 1700
  } 
	MODULE
	{
		name = ModuleAnimateHeat
		animName  = MPDT-125-Heat
		layer = 2
	}

	MODULE
	{
		name = ModuleGimbal
		gimbalTransformName = thrustTransform
		gimbalRange = 1
	}
	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
		}
	}
}
