PART
{
name = ionEngineXL
module = Part
author = NovaSilisko, Sullydux (edit)
mesh = model.mu
scale = 1
rescaleFactor = 2
// 2x scaled stock ion nodes (asymmetric)
node_stack_top    = 0.0, 0.227, 0.0, 0.0,  1.0, 0.0, 0
node_stack_bottom = 0.0, 0, -0.175, 0.0, -1.0, 0.0, 0
node_attach       = 0.0, 0.227, 0.0, 0.0, -1.0, 0.0, 0

TechRequired = ionPropulsion
entryCost = 134400
cost = 64000
category = Engine
subcategory = 0
title = Dawn XL Electric Propulsion System
manufacturer = Sully Deep Space Industries
description = Sully Deep Space Industries answered the age-old challenge of building ion engines that can actually shove real mass around the solar system. The Dawn XL delivers double-sized thrust at quadruply efficient electric sipping and xenon parsimony, perfect for radial clusters on heavy probes and deep space haulers that demand both power and grace.
attachRules = 1,1,1,1,0
mass = 2.0
dragModelType = default
maximum_drag = 0.2
minimum_drag = 0.2
angularDrag = 2
crashTolerance = 7
maxTemp = 2000
bulkheadProfiles = size1, srfAttach
tags = dawn deep drive efficient engine ion probe radial surface thruster vacuum xenon

MODULE
{
    name = ModuleEnginesFX
    engineID = Ion
    thrustVectorTransformName = thrustTransform
    exhaustDamage = False
    ignitionThreshold = 0.1
    minThrust = 0
    maxThrust = 50
    heatProduction = 0
    powerEffectName = IonPlume
    EngineType = Electric
    PROPELLANT
    {
        name = ElectricCharge
        ratio = 0.40
        DrawGauge = True
        minResToLeave = 1.0
    }
    PROPELLANT
    {
        name = XenonGas
        ratio = 0.05
        DrawGauge = True
    }
    atmosphereCurve
    {
        key = 0 4200
        key = 1 100
        key = 1.2 0.001
    }
}
MODULE
{
    name = FXModuleAnimateThrottle
    animationName = colorAnimation
    dependOnEngineState = True
    responseSpeed = 0.5
    engineName = Ion
    dependOnThrottle = True
}
EFFECTS
{       
    IonPlume
    {
        AUDIO
        {
            channel = Ship
            clip = sound_IonEngine
            volume = 0.0 0.0
            volume = 0.05 0.20
            volume = 1.0 0.25
            pitch = 0.0 0.2
            pitch = 1.0 0.8
            loop = true
        }
        MODEL_MULTI_PARTICLE
        {
            modelName = Squad/FX/IonPlume
            transformName = thrustTransform
            emission = 0.0 0.0
            emission = 0.25 0.5         
            emission = 1.0 1.0
            localPosition = 0, 0, 0.12
        }
    }
}
MODULE
{
    name = ModuleTestSubject
    useStaging = True
    useEvent = True
    situationMask = 112
    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
    }
}
MODULE
{
    name = ModuleCargoPart
    packedVolume = 1280
}
MODULE
{
    name = ModuleCargoPartFX
    FXName = cargoFX
    MODEL_MULTI_PARTICLE
    {
        modelName = Squad/FX/CargoGlow
        transformName = attachPoint
        emission = 0.0 0.0
        emission = 0.25 0.5         
        emission = 1.0 1.0
        localPosition = 0, 0, 0
    }
}
}