// ReStock+ 0.1.0 // Small 0625m SRB PART { name = restock-srb-mallet-1 module = Part author = Chris Adderley (Nertea) rescaleFactor = 1 scale = 1 MODEL { model = ReStockPlus/Assets/Engine/restock-engine-mallet-1 } node_stack_bottom = 0.0, -1.4, 0.0, 0.0, -1.0, 0.0, 0 node_stack_top = 0.0, 1.71, 0.0, 0.0, 1.0, 0.0, 0 node_attach = 0.0, 0.0, -0.3125, 0.0, 0.0, 1.0, 0 EFFECTS { engage { AUDIO { channel = Ship clip = sound_vent_medium volume = 1.0 pitch = 2.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 } } fx-mallet-running { AUDIO { channel = Ship clip = sound_rocket_hard volume = 0.0 0.0 volume = 0.01 0.4 volume = 1.0 1.0 pitch = 0.0 0.2 pitch = 0.01 0.6 pitch = 1.0 1.8 loop = true } MODEL_MULTI_PARTICLE { name = core modelName = ReStockPlus/FX/restock-fx-srb-tiny-core-1 transformName = fxTransformCore 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 } MODEL_MULTI_PARTICLE { name = plume modelName = ReStock/FX/restock-fx-srb-smoke-1 transformName = fxTransformSmoke 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 } } } TechRequired = start entryCost = 0 cost = 125 category = Engine subcategory = 0 title = #LOC_RestockPlus_restock-engine-srb-mallet_title description = #LOC_RestockPlus_restock-engine-srb-mallet_description attachRules = 1,1,1,1,0 mass = 0.45 heatConductivity = 0.06 // 1/2 default skinInternalConductionMult = 4.0 emissiveConstant = 0.5 // yes, it's white. But let's claim it's an emissive white... dragModelType = default maximum_drag = 0.3 minimum_drag = 0.2 angularDrag = 2 crashTolerance = 7 maxTemp = 2000 // = 3600 stagingIcon = SOLID_BOOSTER bulkheadProfiles = size0, srf tags = #LOC_RestockPlus_restock-engine-srb-mallet_tags MODULE { name = ModuleEnginesFX thrustVectorTransformName = thrustTransform throttleLocked = True exhaustDamage = True ignitionThreshold = 0.1 minThrust = 0 maxThrust = 115 heatProduction = 545 useEngineResponseTime = True engineAccelerationSpeed = 10.0 allowShutdown = False runningEffectName = fx-mallet-running // Possible EngineType values: // Generic, SolidBooster, LiquidFuel, Piston, Turbine, ScramJet, Electric, Nuclear, MonoProp EngineType = SolidBooster exhaustDamageDistanceOffset = 0.6 PROPELLANT { name = SolidFuel ratio = 1.0 DrawGauge = True } atmosphereCurve { key = 0 165 key = 1 140 key = 6 0.001 } } RESOURCE { name = SolidFuel amount = 80 maxAmount = 80 } 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 } } MODULE { name = ModuleSurfaceFX thrustProviderModuleIndex = 0 fxMax = 0.7 maxDistance = 50 falloff = 2 thrustTransformName = thrustTransform } MODULE { name = ModuleJettison jettisonName = ShroudSRB bottomNodeName = bottom isFairing = True jettisonedObjectMass = 0.1 jettisonForce = 5 jettisonDirection = 0 0 1 } MODULE { name = FXModuleThrottleEffects fxModuleNames = heatColor responseSpeed = 1.0 dependOnEngineState = True dependOnThrottle = True } MODULE { name = FXModuleThrottleEffects fxModuleNames = throttleColor responseSpeed = 1.0 dependOnEngineState = True dependOnThrottle = True } MODULE { name = ModuleColorChanger moduleID = heatColor animRate = 0.05 shaderProperty = _EmissiveColor excludedRenderers = EngineCore toggleInEditor = false toggleInFlight = false redCurve { key = 0 0 1 1 key = 1 1 1 1 } greenCurve { key = 0 0 1 1 key = 1 1 1 1 } blueCurve { key = 0 0 1 1 key = 1 1 1 1 } alphaCurve { key = 0 0 1 1 key = 1 1 1 1 } } MODULE { name = ModuleColorChanger moduleID = throttleColor animRate = 1 shaderProperty = _EmissiveColor includedRenderers = EngineCore toggleInEditor = false toggleInFlight = false redCurve { key = 0 0 key = 1 1 } greenCurve { key = 0 0 key = 1 1 } blueCurve { key = 0 0 key = 1 1 } alphaCurve { key = 0 0 key = 1 1 } } }