// 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 = 0.8 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 = 110 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 350 key = 1 70 key = 3 0.001 } } MODULE { name = ModuleGimbal gimbalTransformName = B_Gimbal 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 = Size1p5 VARIANT { name = Shroud displayName = #LOC_Restock_variant-mounting_classic_white primaryColor = #999999 secondaryColor = #000000 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 Shroud1p5x3_2_White = false Shroud1p5x3_2_Orange = false Shroud2x2_2_White = false Shroud2x2_2_Orange = false Shroud2x2_White = true Shroud2x2_Orange = false Shroud1p5x3_White = false Shroud1p5x3_Orange = false } NODES { node_stack_bottom = 0.0, -1.715, 0.0, 0.0, -1.0, 0.0, 2 } } VARIANT { name = Size2 displayName = #LOC_Restock_variant-engine_size2_white primaryColor = #999999 secondaryColor = #f69449 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 Shroud1p5x3_2_White = false Shroud1p5x3_2_Orange = false Shroud2x2_2_White = true Shroud2x2_2_Orange = false Shroud2x2_White = false Shroud2x2_Orange = false Shroud1p5x3_White = false Shroud1p5x3_Orange = false } NODES { node_stack_bottom = 0.0, -1.715, 0.0, 0.0, -1.0, 0.0, 2 } } VARIANT { name = Size1p5 displayName = #LOC_Restock_variant-engine_size1p5_white primaryColor = #999999 secondaryColor = #f69449 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 Shroud1p5x3_2_White = true Shroud1p5x3_2_Orange = false Shroud2x2_2_White = false Shroud2x2_2_Orange = false Shroud2x2_White = false Shroud2x2_Orange = false Shroud1p5x3_White = false Shroud1p5x3_Orange = false } NODES { node_stack_bottom = 0.0, -2.14, 0.0, 0.0, -1.0, 0.0, 2 } } VARIANT { name = Bare displayName = #LOC_Restock_variant-engine_compact_white primaryColor = #999999 secondaryColor = #999999 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 Shroud1p5x3_2_White = false Shroud1p5x3_2_Orange = false Shroud2x2_2_White = false Shroud2x2_2_Orange = false Shroud2x2_White = false Shroud2x2_Orange = false Shroud1p5x3_White = true Shroud1p5x3_Orange = false } NODES { node_stack_bottom = 0.0, -2.14, 0.0, 0.0, -1.0, 0.0, 2 } } VARIANT { name = Shroud_Alternate displayName = #LOC_Restock_variant-mounting_classic_grey-orange primaryColor = #999999 secondaryColor = #000000 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 Shroud1p5x3_2_White = false Shroud1p5x3_2_Orange = false Shroud2x2_2_White = false Shroud2x2_2_Orange = false Shroud2x2_White = false Shroud2x2_Orange = true Shroud1p5x3_White = false Shroud1p5x3_Orange = false } NODES { node_stack_bottom = 0.0, -1.715, 0.0, 0.0, -1.0, 0.0, 2 } } VARIANT { name = Size2_Alternate displayName = #LOC_Restock_variant-engine_size2_grey-orange primaryColor = #999999 secondaryColor = #f69449 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 Shroud1p5x3_2_White = false Shroud1p5x3_2_Orange = false Shroud2x2_2_White = false Shroud2x2_2_Orange = true Shroud2x2_White = false Shroud2x2_Orange = false Shroud1p5x3_White = false Shroud1p5x3_Orange = false } NODES { node_stack_bottom = 0.0, -1.715, 0.0, 0.0, -1.0, 0.0, 2 } } VARIANT { name = Size1p5_Alternate displayName = #LOC_Restock_variant-engine_size1p5_grey-orange secondaryColor = #f69449 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 Shroud1p5x3_2_White = false Shroud1p5x3_2_Orange = true Shroud2x2_2_White = false Shroud2x2_2_Orange = false Shroud2x2_White = false Shroud2x2_Orange = false Shroud1p5x3_White = false Shroud1p5x3_Orange = false } NODES { node_stack_bottom = 0.0, -2.14, 0.0, 0.0, -1.0, 0.0, 2 } } VARIANT { name = Bare_Alternate displayName = #LOC_Restock_variant-engine_compact_grey-orange primaryColor = #999999 secondaryColor = #999999 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 Shroud1p5x3_2_White = false Shroud1p5x3_2_Orange = false Shroud2x2_2_White = false Shroud2x2_2_Orange = false Shroud2x2_White = false Shroud2x2_Orange = false Shroud1p5x3_White = false Shroud1p5x3_Orange = 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 = 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.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 = FXModuleLookAtConstraint CONSTRAINLOOKFX { targetName = B_Wolfhound_GimbalUpper01 rotatorsName = B_Wolfhound_GimbalLower01 } CONSTRAINLOOKFX { targetName = B_Wolfhound_GimbalUpper02 rotatorsName = B_Wolfhound_GimbalLower02 } CONSTRAINLOOKFX { targetName = B_Wolfhound_GimbalLower01 rotatorsName = B_Wolfhound_GimbalUpper01 } CONSTRAINLOOKFX { targetName = B_Wolfhound_GimbalLower02 rotatorsName = B_Wolfhound_GimbalUpper02 } } }