PART
{
// --- general parameters ---
name = SWDKSRB
module = Part
author = TheShadow1138

// --- asset parameters ---
MODEL
{
model = ShadowWorks/Parts/SRBs/DKSRB
}
rescaleFactor = 1.0

// --- node definitions ---
node_stack_bottom = 0.0, -14.413, 0.0, 0.0, -1.0, 0.0, 2
node_stack_top = 0.0, 14.413, 0.0, 0.0, 1.0, 0.0, 2
node_stack_ring = 0.0, -9.983, 0.0, 0.0, -1.0, 0.0, 2
node_attach = -1.2, 0.0, 0.0, -1.0, 0.0, 0.0, 2

NODE
{
	name = aftSepNodeFwd
	transform = aftSepNodeFwd
	size = 1
}
NODE
{
	name = aftSepNodeAft
	transform = aftSepNodeAft
	size = 1
}

// --- editor parameters ---
TechRequired = veryHeavyRocketry
entryCost = 9200
cost = 24200
category = Propulsion
subcategory = 0
title = Black Paladin SRB SW-SB-03
manufacturer = ShadowWorks
description = A slightly less than standard diameter solid rocket booster.  The 4-segment Black Paladin SRB is a more advanced booster than the standard 5-segment booster.  It utilizes more advanced construction techniques making it lighter a more efficient solid rocket booster, perfect for lifting heavier payloads in the Block II of the Amun-Ra launcher.

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

// --- standard part parameters ---
mass = 51
dragModelType = default
maximum_drag = 0.3
minimum_drag = 0.2
angularDrag = 2
crashTolerance = 7
maxTemp = 3900
heatConductivity = 0.06
breakingForce = 100000
breakingTorque = 100000

stagingIcon = SOLID_BOOSTER
tags = srb booster moar dark knight black paladin block ii 2 sls amun ra amun-ra shadowworks

// --- solid booster parameters --- 6.75

EFFECTS
{
  running_closed
  {
    AUDIO
    {
      channel = Ship
      clip = sound_rocket_hard
      volume = 0.0 0.0
      volume = 1.0 1.0
      pitch = 1.0 1.02
      pitch = 1.0 1.0
      loop = true
    }
    PREFAB_PARTICLE
    {
      prefabName = fx_smokeTrail_veryLarge
      transformName = thrustTransform
      emission = 0.0 0.0
      emission = 0.05 0.0
      emission = 0.075 0.25
      emission = 1.0 1.25
      speed = 0.0 0.25
      speed = 1.0 1.0
      localOffset = 0, 0, 1.5
    }
    MODEL_MULTI_PARTICLE
    {
      modelName = Squad/FX/SRB_Large
      transformName = thrustTransform
      emission = 0.0 0.0
      emission = 0.05 0.0
      emission = 0.075 0.25
      emission = 0.7 0.85
      speed = 0.0 0.5
      speed = 1.0 1.2
    }
    MODEL_PARTICLE
    {
      modelName = Squad/FX/SRB_LargeSparks
      transformName = thrustTransform
      emission = 0.0 0.0
      emission = 0.05 0.0
      emission = 0.075 0.25
      emission = 1.0 1.25
      speed = 0.0 0.5
      speed = 1.0 1.2
      localOffset = 0, 0, 1
    }
  }
  engage
  {
    AUDIO
    {
      channel = Ship
      clip = sound_vent_medium
      volume = 1.0
      pitch = 1.0
      loop = false
    }
  }
  flameout
  {
    PREFAB_PARTICLE
    {
      prefabName = fx_exhaustSparks_flameout_2
      transformName = thrustTransform
      oneShot = true
    }
    AUDIO
    {
      channel = Ship
      clip = sound_explosion_low
      volume = 1.0
      pitch = 2.0
      loop = false
    }
  }
}

MODULE
{
	name = ModuleEnginesFX
	thrustVectorTransformName = thrustTransform
	engineID = KWTISRB
	runningEffectName = running_closed
	throttleLocked = True
	exhaustDamage = True
	ignitionThreshold = 0.1
	minThrust = 5368.8		//125% more than 5-SegSRB
	maxThrust = 10737.5		//125% more than 5-SegSRB
	heatProduction = 700
	useEngineResponseTime = True
	engineAccelerationSpeed = 8.0
	allowShutdown = False
	fxOffset = 0, 0, 0.5
	PROPELLANT
	{
		name = SolidFuel
        	ratio = 1.0
		DrawGauge = True
	}
	atmosphereCurve
 	{
   	 key = 0 253
  	 key = 1 241
	 key = 10 0.001
 	}
	
}


MODULE
{
	name = ModuleGimbal
	gimbalTransformName = thrustTransform
	gimbalRange = 2.5
}

MODULE
{
	name = FXModuleAnimateThrottle
	animationName = emissiveAnim
	responseSpeed = 0.025
	dependOnEngineState = True
	dependOnThrottle = True
}

MODULE
{
	name = ModuleSurfaceFX
	thrustProviderModuleIndex = 0
	fxMax = 1
	maxDistance = 120
	falloff = 2
	thrustTransformName = thrustTransform
}

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

	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
		}
	}

}
