// llp-eng-sep.cfg v0.9.99.0
// Launch Pack (LLP)
// created: 07 Dec 2014
// updated: 13 Mar 2023

// this file: CC BY-ND 4.0 by Lazarus Luan and zer0Kerbal
PART
{
	name = llp-eng-sep
	oldName = LazTekSeparationEngine
	module = Part
	author = Lazarus Luan and zer0Kerbal

	MODEL { model = LazTek/LaunchPack/Assets/llp-eng-sep }
	scale = 1.0
	rescaleFactor = 0.85
	bulkheadProfiles = srf

	attachRules = 0,1,0,0,0
	node_attach = 0.0, 0.0, 0.0, 0.0, -1.0, 0.0, 1, 1

	fx_exhaustFlame_white_tiny = 0.0, -0.17, 0.163, 0.0, 1.0, 0.0, running

	sound_vent_medium = engage
	sound_rocket_mini = running
	sound_vent_soft = disengage

	TechRequired = veryHeavyRocketry
	entryCost = 11000
	cost = 100
	category = Engine
	subcategory = 0

	title = #LLP-eng-sep-titl
	manufacturer = #LTD-Agency-titl
	description = #LLP-eng-sep-desc
	tags = #autoLOC_500492 // abort booster emergency explo malfunc moar (more motor rocket ?rud safe separat solid srb surviv thruster ullage

	mass = 0.0125

	dragModelType = default
	maximum_drag = 0.3
	minimum_drag = 0.2
	angularDrag = 2

	crashTolerance = 7

	maxTemp = 2000
	heatConductivity = 0.04 // 1/3 default
	skinInternalConductionMult = 4.0
	emissiveConstant = 0.5 // yes, it's white. But let's claim it's an emissive white...

	stagingIcon = SOLID_BOOSTER
	ActivatesEvenIfDisconnected = true

	MODULE
	{
		name = ModuleEngines
		thrustVectorTransformName = thrustTransform
		throttleLocked = True
		exhaustDamage = False
		allowShutdown = False
		ignitionThreshold = 0.1
		minThrust = 0
		maxThrust = 50
		heatProduction = 550
		fxOffset = 0, 0, 0.02
		EngineType = SolidBooster
		nonThrustMotor = true
		PROPELLANT
		{
			name = SolidFuel
			ratio = 1.0
			DrawGauge = True
		}
		atmosphereCurve
		{
			key = 0 154
			key = 1 118
			key = 6 0.001
		}
		exhaustDamageMultiplier = 50
	}

	RESOURCE
	{
		name = SolidFuel
		amount = 8
		maxAmount = 8
	}

	MODULE
	{
		name = ModuleTestSubject
		useStaging = True
		useEvent = True
		situationMask = 60
		CONSTRAINT
		{
			// disable all but home
			type = SITUATION
			value = 0
			body = _NotHome
			prestige = Trivial
		}
		CONSTRAINT
		{
			// disable all but home
			type = SITUATION
			value = 0
			body = _NotHome
			prestige = Significant
		}
		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 = GT
			value = 0 // this just registers altitude as something to care about
			situationMask = 8
		}
		CONSTRAINT
		{
			type = ALTITUDE
			test = LT
			value = 300000
			situationMask = 16
			body = _NotSun
		}
		CONSTRAINT
		{
			type = ALTITUDE
			test = LT
			value = 600000
			situationMask = 32
			body = _NotSun
		}
		CONSTRAINT
		{
			type = SPEED
			test = GT
			value = 0
			situationMask = 8
			prestige = Trivial
		}
		CONSTRAINT
		{
			type = SPEED
			test = LT
			value = 600
			situationMask = 8
			prestige = Trivial
		}
		CONSTRAINT
		{
			type = SPEED
			test = GT
			value = 0
			situationMask = 8
			prestige = Significant
		}
		CONSTRAINT
		{
			type = SPEED
			test = LT
			value = 900
			situationMask = 8
			prestige = Significant
		}
		CONSTRAINT
		{
			type = SPEED
			test = GT
			value = 300
			situationMask = 8
			prestige = Exceptional
		}
		CONSTRAINT
		{
			type = SPEED
			test = LT
			value = 1200
			situationMask = 8
			prestige = Exceptional
		}
		CONSTRAINT
		{
			type = SPEEDENV
			test = LT
			value = 200
			prestige = Trivial
		}
		CONSTRAINT
		{
			type = SPEEDENV
			test = GT
			value = 100
			prestige = Trivial
		}
		CONSTRAINT
		{
			type = SPEEDENV
			test = LT
			value = 100
			prestige = Significant
		}
		CONSTRAINT
		{
			type = SPEEDENV
			test = GT
			value = 50
			prestige = Significant
		}
		CONSTRAINT
		{
			type = SPEEDENV
			test = LT
			value = 50
			prestige = Exceptional
		}
		CONSTRAINT
		{
			type = SPEEDENV
			test = GT
			value = 20
			prestige = Exceptional
		}
	}

}