// Boar (2.5m lifter engine) PART { // --- general parameters --- name = restock-engine-25-boar module = Part author = Chris Adderley (Nertea) // --- asset parameters --- MODEL { model = RestockPlus/Assets/Engine/restock-engine-boar scale = 1.0, 1.0, 1.0 } scale = 1.0 rescaleFactor = 1 // --- node definitions --- node_stack_top = 0.0, 2.499, 0.0, 0.0, 1.0, 0.0, 2 node_stack_bottom = 0.0, -3.849, 0.0, 0.0, -1.0, 0.0, 2 // --- FX definitions --- EFFECTS { engage { AUDIO { channel = Ship clip = sound_vent_soft 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 } } } // --- editor parameters --- TechRequired = veryHeavyRocketry entryCost = 26800 cost = 15200 category = Engine subcategory = 0 title = #LOC_RestockPlus_restock-engine-boar_title manufacturer = #autoLOC_501638 description = #LOC_RestockPlus_restock-engine-boar_description // attachment rules: stack, srfAttach, allowStack, allowSrfAttach, allowCollision attachRules = 1,0,1,0,0 bulkheadProfiles = size2, size1, srf // --- standard part parameters --- mass = 3 dragModelType = default maximum_drag = 0.2 minimum_drag = 0.2 angularDrag = 2 crashTolerance = 20 maxTemp = 2000 breakingForce = 5000 breakingTorque = 5000 tags = #LOC_RestockPlus_restock-engine-375-3_tags MODULE { name = ModuleEnginesFX engineID = MainExhaust thrustVectorTransformName = thrustTransform exhaustDamage = True runningEffectName = fx-gc-core powerEffectName = fx-gc-plume ignitionThreshold = 0.1 minThrust = 0 maxThrust = 1540 heatProduction = 5 fxOffset = 0, 0, 0 EngineType = LiquidFuel exhaustDamageDistanceOffset = 1.5 PROPELLANT { name = LiquidFuel ratio = 0.9 DrawGauge = True } PROPELLANT { name = Oxidizer ratio = 1.1 } atmosphereCurve { key = 0 328 key = 1 309 key = 12 0.001 } } MODULE { name = ModuleAlternator RESOURCE { name = ElectricCharge rate = 3.0 } } MODULE { name = ModuleGimbal gimbalTransformName = GimbalBone gimbalRange = 3 gimbalResponseSpeed = 6 useGimbalResponseSpeed = true } MODULE { name = ModuleTestSubject useStaging = True useEvent = True situationMask = 121 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 } 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 = 300 situationMask = 8 prestige = Significant } CONSTRAINT { type = SPEED test = LT value = 1200 situationMask = 8 prestige = Significant } CONSTRAINT { type = SPEED test = GT value = 600 situationMask = 8 prestige = Exceptional } CONSTRAINT { type = SPEED test = LT value = 2500 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 = FXModuleLookAtConstraint CONSTRAINLOOKFX { targetName = CylUpper001 rotatorsName = CylLower001 } CONSTRAINLOOKFX { targetName = CylUpper002 rotatorsName =CylLower002 } CONSTRAINLOOKFX { targetName = CylUpper003 rotatorsName = CylLower003 } CONSTRAINLOOKFX { targetName = CylLower001 rotatorsName = CylUpper001 } CONSTRAINLOOKFX { targetName = CylLower002 rotatorsName = CylUpper002 } CONSTRAINLOOKFX { targetName = CylLower003 rotatorsName = CylUpper003 } } MODULE { name = ModuleJettison jettisonName = SHROUD01 bottomNodeName = bottom isFairing = True jettisonedObjectMass = 0.1 jettisonForce = 5 jettisonDirection = 0 0 1 MODULE { name = FlagDecal textureQuadName = Flag } MODULE { name = ModuleSurfaceFX thrustProviderModuleIndex = 0 fxMax = 1.0 maxDistance = 70 falloff = 2 thrustTransformName = thrustTransform } !MODULE[FXModuleAnimateThrottle] {} MODULE { name = FXModuleThrottleEffects fxModuleNames = heatColor responseSpeed = 0.005 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 1 key = 1 1 } greenCurve { key = 0 key = 1 1 } blueCurve { key = 0 0 key = 1 0 } alphaCurve { key = 0 0 key = 1 1 } } MODULE { name = ModuleColorChanger moduleID = throttleColor animRate = 1 shaderProperty = _EmissiveColor includedRenderers = EngineCore toggleInEditor = false toggleInFlight = false redCurve { key = 0 1 key = 1 1 } greenCurve { key = 0 0 key = 1 1 } blueCurve { key = 0 0 key = 1 0 } alphaCurve { key = 0 0 key = 1 1 } } }