// Patches applying art changes to Legacy 2.5m engines
// Contents:
// - RE-M3 "Mainsail" Liquid Fuel Engine (liquidEngine1-2)
// - RE-I5 "Skipper" Liquid Fuel Engine (engineLargeSkipper)

// RE-M3 "Mainsail" Liquid Fuel Engine
@PART[liquidEngine1-2]:HAS[~RestockIgnore[*]]:FOR[000_ReStock]
{
  @author = Chris Adderley (Nertea) and riocrokite
  %node_attach = 0.0, 1.065308, 0.0, 0.0, 1.0, 0.0, 2
  @attachRules = 1,1,1,0,0
  !fx_exhaustFlame_blue = DELETE
  !fx_exhaustLight_blue = DELETE
  !fx_smokeTrail_light = DELETE
  !fx_exhaustSparks_flameout = DELETE
  !sound_vent_medium = DELETE
  !sound_rocket_hard = DELETE
  !sound_vent_soft = DELETE
  !sound_explosion_low = DELETE
  !MODEL {}
  MODEL
  {
    model = ReStock/Assets/Engine/restock-engine-mainsail-1
    position = 0.0, 0.0, 0.0
    scale = 1,1,1
    rotation = 0, 0, 0
  }
  !DRAG_CUBE {}
  DRAG_CUBE
  {
    cube = 0, 7.567,0.7803,1.54, 7.566,0.7803,2.032, 4.8,0.6,3.323, 4.8,0.5,3.323, 7.6,0.7754,2.12, 7.6,0.7755,1.817, 0.001014,-0.3685,-0.002916, 3.018,3.123,3.018
    cube = 1, 5.299,0.7361,2.091, 5.294,0.7405,2.131, 4.8,0.8,3.308, 4.8,0.5,3.308, 4.875,0.7134,2.401, 4.88,0.7285,2.091, 1.192E-07,-0.3615,-0.0003461, 3.24,3.108,3.24
    cube = 2, 7.716,0.7762,1.324, 7.716,0.7762,1.758, 4.8,0.4,3.205, 4.8,0.5,3.023, 7.716,0.7753,1.853, 7.716,0.7753,1.556, 2.384E-07,-0.3685,1.192E-07, 2.5,3.123,2.5
  }
  !EFFECTS {}
  EFFECTS
  {
    engage
    {
      AUDIO
      {
        channel = Ship
        clip = sound_vent_medium
        volume = 1.0
        pitch = 2.0
        loop = false
      }
    }
    disengage
    {
      AUDIO
      {
        channel = Ship
        clip = sound_vent_soft
        volume = 1.0
        pitch = 2.0
        loop = false
      }
    }
    flameout
    {
      PREFAB_PARTICLE
      {
        prefabName = fx_exhaustSparks_flameout_2
        transformName = smokePoint
        oneShot = true
      }
      AUDIO
      {
        channel = Ship
        clip = sound_explosion_low
        volume = 1.0
        pitch = 2.0
        loop = false
      }
    }
    fx-mainsail-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 = ReStock/FX/restock-fx-mainsail-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-mainsail-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.35
        speed = 1.0 1.0
      }
      MODEL_MULTI_PARTICLE
      {
        name = flame
        modelName = ReStock/FX/restock-fx-mainsail-flame-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.35
        speed = 1.0 1.0
      }
      PREFAB_PARTICLE
      {
        prefabName = fx_smokeTrail_veryLarge
        transformName = smokePoint
        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
        localOffset = 0, 0, 1
      }
    }
  }
  @MODULE[ModuleGimbal]
  {
    @gimbalTransformName = B_Gimbal
    gimbalResponseSpeed = 8
    useGimbalResponseSpeed = true
  }
  @MODULE[ModuleEngines]
  {
    @name = ModuleEnginesFX
    %runningEffectName = fx-mainsail-running
  }
  MODULE
  {
    name = FXModuleLookAtConstraint
    // Basic
    CONSTRAINLOOKFX
    {
      targetName = MS_LowerCyl001
      rotatorsName = MS_UpperCyl001
    }
    CONSTRAINLOOKFX
    {
      targetName = MS_UpperCyl001
      rotatorsName = MS_LowerCyl001
    }
    CONSTRAINLOOKFX
    {
      targetName = MS_LowerCyl002
      rotatorsName = MS_UpperCyl002
    }
    CONSTRAINLOOKFX
    {
      targetName = MS_UpperCyl002
      rotatorsName = MS_LowerCyl002
    }
  }
  !MODULE[FXModuleAnimateThrottle] {}
  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
    excludedRenderer = MainsailEngineCore
    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
    includedRenderer = MainsailEngineCore
    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 = ModulePartVariants
    baseVariant = Size2
    VARIANT
    {
      name = Size2
      displayName = #LOC_Restock_variant-engine_size2_white
      primaryColor = #999999
      secondaryColor = #ffffff
      GAMEOBJECTS
      {
        Mainsail_Boattail = false
        Mainsail_25m = true
        fairing = true
        Mainsail_Shroud_Compact = false
        Mainsail_Compact = false
        Mainsail_Shroud_CompactWhite = false
        Mainsail_Shroud_CompactOrange = false
        fairingWhite  = true
        fairingOrange = false
        Mainsail_BoattailMeshWhite = false
        Mainsail_BoattailMeshOrange = false
      }
    }
    VARIANT
    {
      name = Boattail
      displayName = #LOC_Restock_variant-engine_boattail_white
      primaryColor = #ffffff
      secondaryColor = #ffffff
      GAMEOBJECTS
      {
        Mainsail_Boattail = true
        Mainsail_25m = false
        fairing = false
        Mainsail_Shroud_Compact = false
        Mainsail_Compact = false
        Mainsail_Shroud_CompactWhite = false
        Mainsail_Shroud_CompactOrange = false
        fairingWhite  = false
        fairingOrange = false
        Mainsail_BoattailMeshWhite = true
        Mainsail_BoattailMeshOrange = false
      }
    }
    VARIANT
    {
      name = Compact
      displayName = #LOC_Restock_variant-engine_compact_white
      primaryColor = #666666
      secondaryColor = #ffffff
      GAMEOBJECTS
      {
        Mainsail_Boattail = false
        Mainsail_25m = false
        fairing = false
        Mainsail_Shroud_Compact = true
        Mainsail_Compact = true
        Mainsail_Shroud_CompactWhite = true
        Mainsail_Shroud_CompactOrange = false
        fairingWhite  = false
        fairingOrange = false
        Mainsail_BoattailMeshWhite = false
        Mainsail_BoattailMeshOrange = false
      }
    }
    VARIANT
    {
      name = Size2_Alternate
      displayName = #LOC_Restock_variant-engine_size2_grey-orange
      primaryColor = #999999
      secondaryColor = #f69449
      GAMEOBJECTS
      {
        Mainsail_Boattail = false
        Mainsail_25m = true
        fairing = true
        Mainsail_Shroud_Compact = false
        Mainsail_Compact = false
        Mainsail_Shroud_CompactWhite = false
        Mainsail_Shroud_CompactOrange = false
        fairingWhite  = false
        fairingOrange = true
        Mainsail_BoattailMeshWhite = false
        Mainsail_BoattailMeshOrange = false
      }
    }
    VARIANT
    {
      name = Boattail_Alternate
      displayName = #LOC_Restock_variant-engine_boattail_grey-orange
      primaryColor = #666666
      secondaryColor = #666666
      GAMEOBJECTS
      {
        Mainsail_Boattail = true
        Mainsail_25m = false
        fairing = false
        Mainsail_Shroud_Compact = false
        Mainsail_Compact = false
        Mainsail_Shroud_CompactWhite = false
        Mainsail_Shroud_CompactOrange = false
        fairingWhite  = false
        fairingOrange = false
        Mainsail_BoattailMeshWhite = false
        Mainsail_BoattailMeshOrange = true
      }
    }
    VARIANT
    {
      name = Compact_Alternate
      displayName = #LOC_Restock_variant-engine_compact_grey-orange
      primaryColor = #666666
      secondaryColor = #f69449
      GAMEOBJECTS
      {
        Mainsail_Boattail = false
        Mainsail_25m = false
        fairing = false
        Mainsail_Shroud_Compact = true
        Mainsail_Compact = true
        Mainsail_Shroud_CompactWhite = false
        Mainsail_Shroud_CompactOrange = true
        fairingWhite  = false
        fairingOrange = false
        Mainsail_BoattailMeshWhite = false
        Mainsail_BoattailMeshOrange = false
      }
    }
  }
  @MODULE[ModuleJettison]
  {
    @jettisonName = fairing,Mainsail_Shroud_Compact
    useMultipleDragCubes = false
  }
}

// RE-I5 "Skipper" Liquid Fuel Engine
@PART[engineLargeSkipper]:HAS[~RestockIgnore[*]]:FOR[000_ReStock]
{
  @author = Chris Adderley (Nertea) and riocrokite
  %node_attach = 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 2
  @attachRules = 1,1,1,0,0
  !fx_exhaustFlame_blue = 0.0, -2.2, 0.0, 0.0, 1.0, 0.0, running
  !fx_exhaustLight_blue = 0.0, -2.2, 0.0, 0.0, 0.0, 1.0, running
  !fx_smokeTrail_light = 0.0, -2.2, 0.0, 0.0, 1.0, 0.0, running
  !fx_exhaustSparks_flameout = 0.0, -2.2, 0.0, 0.0, 1.0, 0.0, flameout
  !sound_vent_medium = DELETE
  !sound_rocket_hard = DELETE
  !sound_vent_soft = DELETE
  !sound_explosion_low = DELETE
  !MODEL {}
  MODEL
  {
    model = ReStock/Assets/Engine/restock-engine-skipper-1
    position = 0.0, 0.0, 0.0
    scale = 1,1,1
    rotation = 0, 0, 0
  }
  !DRAG_CUBE {}
  DRAG_CUBE
  {
    cube = 0, 5.992,0.7789,1.767, 5.992,0.779,1.767, 4.87,0.6,2.5, 4.87,0.5,2.4, 5.969,0.7778,1.752, 5.969,0.7778,1.752, -0.000158,-1.106,-0.002611, 3.404,2.531,3.403
    cube = 1, 3.261,0.703,1.588, 3.261,0.703,1.525, 4.87,0.8,2.5, 4.87,0.5,2.4, 3.292,0.707,1.587, 3.294,0.7047,1.597, 0,-1.066,1.192E-07, 2.5,2.453,2.497
    cube = 2, 6.053,0.7769,1.324, 6.053,0.7769,1.324, 4.87,0.4,2.5, 4.87,0.5,2.4, 6.035,0.7763,1.324, 6.035,0.7763,1.324, 1.192E-07,-1.106,1.192E-07, 2.5,2.531,2.5
  }
  !EFFECTS {}
  EFFECTS
  {
    engage
    {
      AUDIO
      {
        channel = Ship
        clip = sound_vent_medium
        volume = 1.0
        pitch = 2.0
        loop = false
      }
    }
    disengage
    {
      AUDIO
      {
        channel = Ship
        clip = sound_vent_soft
        volume = 1.0
        pitch = 2.0
        loop = false
      }
    }
    flameout
    {
      PREFAB_PARTICLE
      {
        prefabName = fx_exhaustSparks_flameout_2
        transformName = smokePoint
        oneShot = true
      }
      AUDIO
      {
        channel = Ship
        clip = sound_explosion_low
        volume = 1.0
        pitch = 2.0
        loop = false
      }
    }
    fx-skipper-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 = ReStock/FX/restock-fx-skipper-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-skipper-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.35
        speed = 1.0 1.0
      }
      PREFAB_PARTICLE
      {
        prefabName = fx_smokeTrail_veryLarge
        transformName = smokePoint
        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
        localOffset = 0, 0, 1
      }
    }
  }
  @MODULE[ModuleGimbal]
  {
    @gimbalTransformName = Skipper_Gimbal
    gimbalResponseSpeed = 8
    useGimbalResponseSpeed = true
  }
  @MODULE[ModuleEngines]
  {
    @name = ModuleEnginesFX
    %runningEffectName = fx-skipper-running
  }
  MODULE
  {
    name = FXModuleLookAtConstraint
    // Basic
    CONSTRAINLOOKFX
    {
      targetName = Actutator_Bottom001
      rotatorsName = Actutator_Top001
    }
    CONSTRAINLOOKFX
    {
      targetName = Actutator_Bottom002
      rotatorsName = Actutator_Top002
    }
    CONSTRAINLOOKFX
    {
      targetName = Actutator_Bottom001
      rotatorsName = Actutator_Top003
    }
    CONSTRAINLOOKFX
    {
      targetName = Actutator_Bottom002
      rotatorsName = Actutator_Top004
    }
    CONSTRAINLOOKFX
    {
      targetName = Actutator_Top001
      rotatorsName = Actutator_Bottom001
    }
    CONSTRAINLOOKFX
    {
      targetName = Actutator_Top002
      rotatorsName = Actutator_Bottom002
    }
    CONSTRAINLOOKFX
    {
      targetName = ActutatorCpt_Bottom001
      rotatorsName =ActutatorCpt_Top001
    }
    CONSTRAINLOOKFX
    {
      targetName = ActutatorCpt_Bottom002
      rotatorsName = ActutatorCpt_Top002
    }
    CONSTRAINLOOKFX
    {
      targetName = ActutatorCpt_Top001
      rotatorsName = ActutatorCpt_Bottom001
    }
    CONSTRAINLOOKFX
    {
      targetName = ActutatorCpt_Top002
      rotatorsName = ActutatorCpt_Bottom002
    }
  }
  !MODULE[FXModuleAnimateThrottle] {}
  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
    excludedRenderer = SkipperEngineCore
    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
    includedRenderer = SkipperEngineCore
    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 = ModulePartVariants
    baseVariant = Size2
    VARIANT
    {
      name = Size2
      displayName = #LOC_Restock_variant-engine_size2_white
      primaryColor = #999999
      secondaryColor = #ffffff
      GAMEOBJECTS
      {
        ActutatorCpt_Bottom001 = false
        ActutatorCpt_Bottom002 = false
        Actutator_Bottom001 = true
        Actutator_Bottom002 = true
        Skipper_GimbalMount = true
        Skipper_GimbalMountCompact = false
        Skipper_Compact = false
        Skipper_Boattail = false
        Skipper_25m = true
        obj_fairing = true
        Skipper_Shroud_Compact = false
        obj_fairingWhite = true
        obj_fairingOrange = false
        Skipper_BoatttailOrange = false
        Skipper_BoatttailWhite = false
        Skipper_Shroud_CompactWhite = false
        Skipper_Shroud_CompactOrange = false
      }
    }
    VARIANT
    {
      name = Boattail
      displayName = #LOC_Restock_variant-engine_boattail_white
      primaryColor = #ffffff
      secondaryColor = #ffffff
      GAMEOBJECTS
      {
        ActutatorCpt_Bottom001 = false
        ActutatorCpt_Bottom002 = false
        Actutator_Bottom001 = true
        Actutator_Bottom002 = true
        Skipper_GimbalMount = true
        Skipper_GimbalMountCompact = false
        Skipper_Compact = false
        Skipper_Boattail = true
        Skipper_25m = false
        obj_fairing = false
        Skipper_Shroud_Compact = false
        obj_fairingWhite = false
        obj_fairingOrange = false
        Skipper_BoatttailOrange = false
        Skipper_BoatttailWhite = true
        Skipper_Shroud_CompactWhite = false
        Skipper_Shroud_CompactOrange = false
      }
    }
    VARIANT
    {
      name = Compact
      displayName = #LOC_Restock_variant-engine_compact_white
      primaryColor = #666666
      secondaryColor = #ffffff
      GAMEOBJECTS
      {
        ActutatorCpt_Bottom001 = true
        ActutatorCpt_Bottom002 = true
        Actutator_Bottom001 = false
        Actutator_Bottom002 = false
        Skipper_GimbalMount = false
        Skipper_GimbalMountCompact = true
        Skipper_Compact = true
        Skipper_Boattail = false
        Skipper_25m = false
        obj_fairing = false
        Skipper_Shroud_Compact = true
        obj_fairingWhite = false
        obj_fairingOrange = false
        Skipper_BoatttailOrange = false
        Skipper_BoatttailWhite = false
        Skipper_Shroud_CompactWhite = true
        Skipper_Shroud_CompactOrange = false
      }
    }
    VARIANT
    {
      name = Size2_Alternate
      displayName = #LOC_Restock_variant-engine_size2_grey-orange
      primaryColor = #999999
      secondaryColor = #f69449
      GAMEOBJECTS
      {
        ActutatorCpt_Bottom001 = false
        ActutatorCpt_Bottom002 = false
        Actutator_Bottom001 = true
        Actutator_Bottom002 = true
        Skipper_GimbalMount = true
        Skipper_GimbalMountCompact = false
        Skipper_Compact = false
        Skipper_Boattail = false
        Skipper_25m = true
        obj_fairing = true
        Skipper_Shroud_Compact = false
        obj_fairingWhite = false
        obj_fairingOrange = true
        Skipper_BoatttailOrange = false
        Skipper_BoatttailWhite = false
        Skipper_Shroud_CompactWhite = false
        Skipper_Shroud_CompactOrange = false
      }
    }
    VARIANT
    {
      name = Boattail_Alternate
      displayName = #LOC_Restock_variant-engine_boattail_grey-orange
      primaryColor = #666666
      secondaryColor = #666666
      GAMEOBJECTS
      {
        ActutatorCpt_Bottom001 = false
        ActutatorCpt_Bottom002 = false
        Actutator_Bottom001 = true
        Actutator_Bottom002 = true
        Skipper_GimbalMount = true
        Skipper_GimbalMountCompact = false
        Skipper_Compact = false
        Skipper_Boattail = true
        Skipper_25m = false
        obj_fairing = false
        Skipper_Shroud_Compact = false
        obj_fairingWhite = false
        obj_fairingOrange = false
        Skipper_BoatttailOrange = true
        Skipper_BoatttailWhite = false
        Skipper_Shroud_CompactWhite = false
        Skipper_Shroud_CompactOrange = false
      }
    }
    VARIANT
    {
      name = Compact_Alternate
      displayName = #LOC_Restock_variant-engine_compact_grey-orange
      primaryColor = #666666
      secondaryColor = #f69449
      GAMEOBJECTS
      {
        ActutatorCpt_Bottom001 = true
        ActutatorCpt_Bottom002 = true
        Actutator_Bottom001 = false
        Actutator_Bottom002 = false
        Skipper_GimbalMount = false
        Skipper_GimbalMountCompact = true
        Skipper_Compact = true
        Skipper_Boattail = false
        Skipper_25m = false
        obj_fairing = false
        Skipper_Shroud_Compact = true
        obj_fairingWhite = false
        obj_fairingOrange = false
        Skipper_BoatttailOrange = false
        Skipper_BoatttailWhite = false
        Skipper_Shroud_CompactWhite = false
        Skipper_Shroud_CompactOrange = true
      }
    }
  }
  @MODULE[ModuleJettison]
  {
    @jettisonName = obj_fairing,Skipper_Shroud_Compact
    useMultipleDragCubes = false
  }
}