// ReStock+ 0.2.0 // 1.875m vacuum engine PART { name = restock-engine-schnauzer-1 module = Part author = Chris Adderley (Nertea) MODEL { model = ReStock/Assets/Engine/restock-engine-schnauzer-1 } rescaleFactor = 1 node_stack_top = 0.0, 0.361067, 0.0, 0.0, 1.0, 0.0, 2 node_stack_bottom = 0.0, -1.8, 0.0, 0.0, -1.0, 0.0, 2 /// Flag to disable this part if MH is installed MHReplacement = True EFFECTS { engage { AUDIO { channel = Ship clip = sound_vent_medium volume = 1.0 pitch = 2.0 loop = false } } flameout { AUDIO { channel = Ship clip = sound_explosion_low volume = 1.0 pitch = 2.0 loop = false } } fx-schnauzer-running { AUDIO { channel = Ship clip = sound_rocket_hard volume = 0.0 0.0 volume = 0.01 0.2 volume = 1.0 0.6 pitch = 0.0 0.1 pitch = 0.01 0.2 pitch = 1.0 0.5 loop = true } MODEL_MULTI_PARTICLE { name = core modelName = ReStock/FX/restock-fx-wolfhound-core 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.8 speed = 1.0 1.0 } MODEL_MULTI_PARTICLE { name = plume modelName = ReStock/FX/restock-fx-wolfhound-plume transformName = fxTransformPlume emission = 0.0 0.0 emission = 0.01 0.1 emission = 0.075 0.25 emission = 1.0 1.0 speed = 0.0 0.8 speed = 1.0 1.0 } } } TechRequired = veryHeavyRocketry entryCost = 12000 cost = 3000 category = Engine subcategory = 0 title = #LOC_RestockPlus_restock-engine-schnauzer_title manufacturer = #autoLOC_501637 description = #LOC_RestockPlus_restock-engine-schnauzer_description attachRules = 1,0,1,1,0 mass = 3.3 heatConductivity = 0.06 // half default skinInternalConductionMult = 4.0 emissiveConstant = 0.8 // engine nozzles are good at radiating. dragModelType = default maximum_drag = 0.2 minimum_drag = 0.2 angularDrag = 2 crashTolerance = 6 breakingForce = 200 breakingTorque = 200 maxTemp = 2000 // = 3600 bulkheadProfiles = size2, size 1p5, size1, srf tags = #LOC_RestockPlus_restock-engine-schnauzer_tags MODULE { name = ModuleEnginesFX thrustVectorTransformName = thrustTransform runningEffectName = fx-schnauzer-running exhaustDamage = True ignitionThreshold = 0.1 minThrust = 0 maxThrust = 375 heatProduction = 83 fxOffset = 0, 0, 0.23 EngineType = LiquidFuel exhaustDamageDistanceOffset = 1.75 PROPELLANT { name = LiquidFuel ratio = 0.9 DrawGauge = True } PROPELLANT { name = Oxidizer ratio = 1.1 } atmosphereCurve { key = 0 380 key = 1 70 key = 3 0.001 } } MODULE { name = ModuleGimbal gimbalTransformName = B_GimbalWH gimbalRange = 3.0 } MODULE { name = ModuleAlternator RESOURCE { name = ElectricCharge rate = 8.0 } } MODULE { name = ModuleSurfaceFX thrustProviderModuleIndex = 0 fxMax = 0.6 maxDistance = 30 falloff = 1.5 thrustTransformName = thrustTransform } MODULE { name = ModulePartVariants baseVariant = Shroud VARIANT { name = Shroud displayName = primaryColor = #999999 secondaryColor = #3d3d3d GAMEOBJECTS { WH_25 = false WH_25Base = true WH_1875 = false WH_Compact = false WH_Pipes25 = true WH_Pipes = false Shroud1p5x3_2 = false Shroud2x2_2 = false Shroud2x2 = true Shroud1p5x3 = false } NODES { node_stack_bottom = 0.0, -1.715, 0.0, 0.0, -1.0, 0.0, 2 } } VARIANT { name = Size2 displayName = Size2 primaryColor = secondaryColor = GAMEOBJECTS { WH_25 = true WH_25Base = false WH_1875 = false WH_Compact = false WH_Pipes25 = false WH_Pipes = true Shroud1p5x3_2 = false Shroud2x2_2 = true Shroud2x2 = false Shroud1p5x3 = false } NODES { node_stack_bottom = 0.0, -1.715, 0.0, 0.0, -1.0, 0.0, 2 } } VARIANT { name = Size1p5 displayName = 1875 primaryColor = secondaryColor = GAMEOBJECTS { WH_25 = false WH_25Base = false WH_1875 = true WH_Compact = false WH_Pipes25 = false WH_Pipes = true Shroud1p5x3_2 = true Shroud2x2_2 = false Shroud2x2 = false Shroud1p5x3 = false } NODES { node_stack_bottom = 0.0, -2.14, 0.0, 0.0, -1.0, 0.0, 2 } } VARIANT { name = Bare displayName = primaryColor = secondaryColor = GAMEOBJECTS { WH_25 = false WH_25Base = false WH_1875 = false WH_Compact = true WH_Pipes25 = false WH_Pipes = true Shroud1p5x3_2 = false Shroud2x2_2 = false Shroud2x2 = false Shroud1p5x3 = true } NODES { node_stack_bottom = 0.0, -2.14, 0.0, 0.0, -1.0, 0.0, 2 } } } MODULE { name = ModuleJettison jettisonName = Shroud2x2,Shroud1p5x3,Shroud2x2_2,Shroud1p5x3_2 bottomNodeName = bottom isFairing = True jettisonedObjectMass = 0.1 jettisonForce = 5 jettisonDirection = 0 0 1 useMultipleDragCubes = false } MODULE { name = ModuleSurfaceFX thrustProviderModuleIndex = 0 fxMax = 0.8 maxDistance = 50 falloff = 2 thrustTransformName = thrustTransform } MODULE { name = ModuleTestSubject useStaging = True useEvent = True situationMask = 127 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 = 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 = ModuleColorChanger moduleID = heatColor animRate = 0.025 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 = _TintColor 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 } } MODULE { name = FXModuleThrottleEffects fxModuleNames = heatColor responseSpeed = 1.0 dependOnEngineState = True dependOnThrottle = True } MODULE { name = FXModuleThrottleEffects fxModuleNames = throttleColor responseSpeed = 1.0 dependOnEngineState = True dependOnThrottle = True } }