// ReStock+ 1.1.0
// 1.875m  BOOSTER OF BOOSTERS
PART
{
  name = restock-engine-galleon-1
  module = Part
  author = Chris Adderley (Nertea)
  rescaleFactor = 1.0
  node_stack_top = 0.0, 0.8, 0.0, 0.0, 1.0, 0.0, 2
  node_stack_bottom = 0.0, -2.7, 0.0, 0.0, -1.0, 0.0, 2
  node_attach = 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 2
  TechRequired = veryHeavyRocketry
  entryCost = 32000
  cost = 8000
  category = Engine
  title = #LOC_RestockPlus_restock-engine-galleon_title
  manufacturer = #LOC_RestockPlus_agency_paperclips
  description = #LOC_RestockPlus_restock-engine-galleon_description
  attachRules = 1,1,1,1,0
  mass = 5.0
  dragModelType = default
  maximum_drag = 0.2
  minimum_drag = 0.3
  angularDrag = 2
  crashTolerance = 15
  breakingForce = 150
  breakingTorque = 150
  maxTemp = 2000
  fuelCrossFeed = True
  bulkheadProfiles = size1, size1p5, size2, size3, srf
  tags = #LOC_RestockPlus_restock-engine-galleon_tags
  /// Flag to disable this part if MH is installed
  MHReplacement = True
  MODULE
  {
    name = ModuleEnginesFX
    thrustVectorTransformName = thrustTransform
    exhaustDamage = True
    ignitionThreshold = 0.1
    minThrust = 0
    maxThrust = 1350
    heatProduction = 175
    fxOffset = 0, 0, 0.1
    EngineType = LiquidFuel
    exhaustDamageDistanceOffset = 0.35
    runningEffectName = fx-mastodon-running
    PROPELLANT
    {
      name = LiquidFuel
      ratio = 0.9
      DrawGauge = True
    }
    PROPELLANT
    {
      name = Oxidizer
      ratio = 1.1
    }
    atmosphereCurve
    {
      key = 0 305
      key = 1 290
      key = 9 0.001
    }
  }
  MODULE
  {
    name = ModuleAlternator
    RESOURCE
    {
      name = ElectricCharge
      rate = 8.0
    }
  }
  MODULE
  {
    name = ModuleGimbal
    gimbalTransformName = B_Gimbal
    gimbalRange = 5
    gimbalResponseSpeed = 20
    useGimbalResponseSpeed = true
  }
  MODULE
  {
    name = ModuleJettison
    jettisonName = Shroud2x2,Shroud2x3,Shroud2x4,Shroud25
    bottomNodeName = bottom
    isFairing = True
    jettisonedObjectMass = 0.1
    jettisonForce = 5
    jettisonDirection = 0 0 1
    useMultipleDragCubes = false
  }
  MODULE
  {
    name = ModuleSurfaceFX
    thrustProviderModuleIndex = 0
    fxMax = 1
    maxDistance = 80
    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
      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
    }
  }
  MODEL
  {
    model = ReStock/Assets/Engine/restock-engine-mastodon-1
  }
  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-mastodon-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-mastodon-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.8
        speed = 1.0 1.0
      }
      MODEL_MULTI_PARTICLE
      {
        name = plume
        modelName = ReStock/FX/restock-fx-mastodon-plume-1
        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
      }
      MODEL_MULTI_PARTICLE
      {
        name = fire
        modelName = ReStock/FX/restock-fx-mastodon-plume-2
        transformName = fxTransformFire
        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
      }
      PREFAB_PARTICLE
      {
        prefabName = fx_smokeTrail_light
        transformName = fxTransformPlume
        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
      }
    }
  }
  MODULE
  {
    name = ModulePartVariants
    baseVariant = Mid
    VARIANT
    {
      name = Mid
      displayName = #LOC_Restock_variant-engine_size1p5_white
      primaryColor = #cccccc
      secondaryColor = #ffffff
      sizeGroup = GroupB
      GAMEOBJECTS
      {
        B_F1_25 = false
        B_F1_1875 = true
        B_F1_Boattail = false
        B_F1_Boattail375 = false
        B_F1_Compact = false
        Shroud2x2 = false
        Shroud2x3 = true
        Shroud2x4 = false
        Shroud25 = false
        Shroud25BoatWhite = false
        Shroud25BoatGrey = false
        Shroud25White = false
        Shroud25Grey = false
        Shroud1875White = true
        Shroud1875Grey = false
        ShroudCptWhite = false
        ShroudCptGrey = false
        375MountBoatWhite = false
        375MountBoatOrange = false
        25MountBoatWhite = false
        25MountBoatOrange = false
      }
      NODES
      {
        node_stack_top = 0.0, 0.2, 0.0, 0.0, 1.0, 0.0, 2
        node_stack_bottom = 0.0, -2.5, 0.0, 0.0, -1.0, 0.0, 2
      }
    }
    VARIANT
    {
      name = Full
      displayName = #LOC_Restock_variant-engine_boattail_size2_white
      primaryColor = #999999
      secondaryColor = #ffffff
      sizeGroup = GroupA
      GAMEOBJECTS
      {
        B_F1_25 = false
        B_F1_1875 = false
        B_F1_Boattail = true
        B_F1_Boattail375 = false
        B_F1_Compact = false
        Shroud2x2 = false
        Shroud2x3 = false
        Shroud2x4 = true
        Shroud25 = false
        Shroud25BoatWhite = true
        Shroud25BoatGrey = false
        Shroud25White = false
        Shroud25Grey = false
        Shroud1875White = false
        Shroud1875Grey = false
        ShroudCptWhite = false
        ShroudCptGrey = false
        375MountBoatWhite = false
        375MountBoatOrange = false
        25MountBoatWhite = true
        25MountBoatOrange = false
      }
      NODES
      {
        node_stack_bottom = 0.0, -2.95, 0.0, 0.0, -1.0, 0.0, 2
      }
    }
    VARIANT
    {
      name = 375Boat
      displayName = #LOC_Restock_variant-engine_boattail_size3_white
      primaryColor = #666666
      secondaryColor = #ffffff
      sizeGroup = GroupB
      GAMEOBJECTS
      {
        B_F1_25 = false
        B_F1_1875 = false
        B_F1_Boattail = false
        B_F1_Boattail375 = true
        B_F1_Compact = false
        Shroud2x2 = false
        Shroud2x3 = false
        Shroud2x4 = false
        Shroud25 = false
        Shroud25BoatWhite = false
        Shroud25BoatGrey = false
        Shroud25White = false
        Shroud25Grey = false
        Shroud1875White = false
        Shroud1875Grey = false
        ShroudCptWhite = false
        ShroudCptGrey = false
        375MountBoatWhite = true
        375MountBoatOrange = false
        25MountBoatWhite = false
        25MountBoatOrange = false
      }
      NODES
      {
        node_stack_top = 0.0, 0.177279, 0.0, 0.0, 1.0, 0.0, 2
        node_stack_bottom = 0.0, -2.54, 0.0, 0.0, -1.0, 0.0, 2
      }
    }
    VARIANT
    {
      name = 25Ring
      displayName = #LOC_Restock_variant-engine_size2_white
      primaryColor = #333333
      secondaryColor = #ffffff
      sizeGroup = GroupB
      GAMEOBJECTS
      {
        B_F1_25 = true
        B_F1_1875 = false
        B_F1_Boattail = false
        B_F1_Boattail375 = false
        B_F1_Compact = false
        Shroud2x2 = false
        Shroud2x3 = false
        Shroud2x4 = false
        Shroud25 = true
        Shroud25BoatWhite = false
        Shroud25BoatGrey = false
        Shroud25White = true
        Shroud25Grey = false
        Shroud1875White = false
        Shroud1875Grey = false
        ShroudCptWhite = false
        ShroudCptGrey = false
        375MountBoatWhite = false
        375MountBoatOrange = false
        25MountBoatWhite = false
        25MountBoatOrange = false
      }
      NODES
      {
        node_stack_top = 0.0, 0.2, 0.0, 0.0, 1.0, 0.0, 2
        node_stack_bottom = 0.0, -2.5, 0.0, 0.0, -1.0, 0.0, 2
      }
    }
    VARIANT
    {
      name = Bare
      displayName = #LOC_Restock_variant-engine_compact_white
      themeName = Bare
      primaryColor = #111111
      secondaryColor = #ffffff
      sizeGroup = GroupC
      GAMEOBJECTS
      {
        B_F1_25 = false
        B_F1_1875 = false
        B_F1_Boattail = false
        B_F1_Boattail375 = false
        B_F1_Compact = true
        Shroud2x2 = true
        Shroud2x3 = false
        Shroud2x4 = false
        Shroud25 = false
        Shroud25BoatWhite = false
        Shroud25BoatGrey = false
        Shroud25White = false
        Shroud25Grey = false
        Shroud1875White = false
        Shroud1875Grey = false
        ShroudCptWhite = true
        ShroudCptGrey = false
        375MountBoatWhite = false
        375MountBoatOrange = false
        25MountBoatWhite = false
        25MountBoatOrange = false
      }
      NODES
      {
        node_stack_top = 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 2
        node_stack_bottom = 0.0, -2.5, 0.0, 0.0, -1.0, 0.0, 2
      }
    }
    VARIANT
    {
      name = MidAlt
      displayName = #LOC_Restock_variant-engine_size1p5_grey-orange
      primaryColor = #3b572a
      secondaryColor = #f69449
      sizeGroup = GroupB
      GAMEOBJECTS
      {
        // Engine Core
        B_F1_25 = false
        B_F1_1875 = true
        B_F1_Boattail = false
        B_F1_Boattail375 = false
        B_F1_Compact = false
        // Shroud bases
        Shroud2x2 = false
        Shroud2x3 = true
        Shroud2x4 = false
        Shroud25 = false
        // Actual shroud colour objects
        Shroud25BoatWhite = false
        Shroud25BoatGrey= false
        Shroud25White= false
        Shroud25Grey= false
        Shroud1875White= false
        Shroud1875Grey= true
        ShroudCptWhite= false
        ShroudCptGrey = false
        375MountBoatWhite = false
        375MountBoatOrange = false
        25MountBoatWhite = false
        25MountBoatOrange = false
      }
      NODES
      {
        node_stack_top = 0.0, 0.2, 0.0, 0.0, 1.0, 0.0, 2
        node_stack_bottom = 0.0, -2.5, 0.0, 0.0, -1.0, 0.0, 2
      }
    }
    VARIANT
    {
      name = FullAlt
      displayName = #LOC_Restock_variant-engine_boattail_size2_grey-orange
      primaryColor = #35472b
      secondaryColor = #f69449
      sizeGroup = GroupA
      GAMEOBJECTS
      {
        // Engine Core
        B_F1_25 = false
        B_F1_1875 = false
        B_F1_Boattail = true
        B_F1_Boattail375 = false
        B_F1_Compact = false
        // Shroud bases
        Shroud2x2 = false
        Shroud2x3 = false
        Shroud2x4 = true
        Shroud25 = false
        // Actual shroud colour objects
        Shroud25BoatWhite = false
        Shroud25BoatGrey= true
        Shroud25White= false
        Shroud25Grey= false
        Shroud1875White= false
        Shroud1875Grey= false
        ShroudCptWhite= false
        ShroudCptGrey = false
        375MountBoatWhite = false
        375MountBoatOrange = false
        25MountBoatWhite = false
        25MountBoatOrange = true
      }
      NODES
      {
        node_stack_bottom = 0.0, -2.95, 0.0, 0.0, -1.0, 0.0, 2
      }
    }
    VARIANT
    {
      name = 375BoatAlt
      displayName =   #LOC_Restock_variant-engine_boattail_size3_grey-orange
      primaryColor = #2c3626
      secondaryColor = #f69449
      sizeGroup = GroupB
      GAMEOBJECTS
      {
        // Engine Core
        B_F1_25 = false
        B_F1_1875 = false
        B_F1_Boattail = false
        B_F1_Boattail375 = true
        B_F1_Compact = false
        // Shroud bases
        Shroud2x2 = false
        Shroud2x3 = false
        Shroud2x4 = false
        Shroud25 = false
        // Actual shroud colour objects
        Shroud25BoatWhite = false
        Shroud25BoatGrey= false
        Shroud25White= false
        Shroud25Grey= false
        Shroud1875White= false
        Shroud1875Grey= false
        ShroudCptWhite= false
        ShroudCptGrey = false
        375MountBoatWhite = false
        375MountBoatOrange = true
        25MountBoatWhite = false
        25MountBoatOrange = false 
      }
      NODES
      {
        node_stack_top = 0.0, 0.177279, 0.0, 0.0, 1.0, 0.0, 2
        node_stack_bottom = 0.0, -2.54, 0.0, 0.0, -1.0, 0.0, 2
      }
    }
    VARIANT
    {
      name = 25RingAlt
      displayName =  #LOC_Restock_variant-engine_size2_grey-orange
      primaryColor = #20241d
      secondaryColor = #f69449
      sizeGroup = GroupB
      GAMEOBJECTS
      {
        // Engine Core
        B_F1_25 = true
        B_F1_1875 = false
        B_F1_Boattail = false
        B_F1_Boattail375 = false
        B_F1_Compact = false
        // Shroud bases
        Shroud2x2 = false
        Shroud2x3 = false
        Shroud2x4 = false
        Shroud25 = true
        // Actual shroud colour objects
        Shroud25BoatWhite = false
        Shroud25BoatGrey= false
        Shroud25White= false
        Shroud25Grey= true
        Shroud1875White= false
        Shroud1875Grey= false
        ShroudCptWhite= false
        ShroudCptGrey = false
        375MountBoatWhite = false
        375MountBoatOrange = false
        25MountBoatWhite = false
        25MountBoatOrange = false
      }
      NODES
      {
        node_stack_top = 0.0, 0.2, 0.0, 0.0, 1.0, 0.0, 2
        node_stack_bottom = 0.0, -2.5, 0.0, 0.0, -1.0, 0.0, 2
      }
    }
    VARIANT
    {
      name = BareAlt
      displayName =  #LOC_Restock_variant-engine_compact_grey-orange
      themeName = Bare
      primaryColor = #111211
      secondaryColor = #f69449
      sizeGroup = GroupC
      GAMEOBJECTS
      {
        // Engine Core
        B_F1_25 = false
        B_F1_1875 = false
        B_F1_Boattail = false
        B_F1_Boattail375 = false
        B_F1_Compact = true
        // Shroud bases
        Shroud2x2 = true
        Shroud2x3 = false
        Shroud2x4 = false
        Shroud25 = false
        // Actual shroud colour objects
        Shroud25BoatWhite = false
        Shroud25BoatGrey= false
        Shroud25White= false
        Shroud25Grey= false
        Shroud1875White= false
        Shroud1875Grey= false
        ShroudCptWhite= false
        ShroudCptGrey = true
        375MountBoatWhite = false
        375MountBoatOrange = false
        25MountBoatWhite = false
        25MountBoatOrange = false
      }
      NODES
      {
        node_stack_top = 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 2
        node_stack_bottom = 0.0, -2.5, 0.0, 0.0, -1.0, 0.0, 2
      }
    }
  }
  MODULE
  {
    name = FXModuleLookAtConstraint
    CONSTRAINLOOKFX
    {
      targetName = B_CylTop001
      rotatorsName = B_CylBot001
    }
    CONSTRAINLOOKFX
    {
      targetName = B_CylTop002
      rotatorsName = B_CylBot002
    }
    CONSTRAINLOOKFX
    {
      targetName = B_CylBot001
      rotatorsName = B_CylTop001
    }
    CONSTRAINLOOKFX
    {
      targetName = B_CylBot002
      rotatorsName = B_CylTop002
    }
  }
  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
    }
  }
}