-----------------------------------------------------------------------------
--  File     : /units/UAL0216/UAL0216_unit.bp
--
--  Author(s): Eddy, EbolaSoup, Resin Smoker, Optimus Prime, Vissroid 
--
--  Summary  : Aeon T2 Artillery Bot Blueprint 
--
--  Copyright © 2011 4DC_V0.8  All rights reserved.
----------------------------------------------------------------------------- 

UnitBlueprint {
    AI = {
        TargetBones = {
            'Torso',
            'Head',
            'Left_Leg_B02',
            'Right_Leg_B02',
        }, 
    },
    Audio = {
        Activate = Sound {
            Bank = 'UAB',
            Cue = 'UAB2305_Activate_Arm',
            LodCutoff = 'UnitMove_LodCutoff',
        },
       Close = Sound {
            Bank = 'UAB',
            Cue = 'UAB2305_Center_Close',
           LodCutoff = 'UnitMove_LodCutoff',
        },
        AmbientMove = Sound {
            Bank = 'UAL',
            Cue = 'UAL0103_Move_Loop',
            LodCutoff = 'UnitMove_LodCutoff',
        },
        Destroyed = Sound {
            Bank = 'UALDestroy',
            Cue = 'UAL_Destroy_Land',
            LodCutoff = 'UnitMove_LodCutoff',
        },
        FootFallGeneric = Sound {
            Bank = 'UAL',
            Cue = 'UAL0301_Move_Step',
            LodCutoff = 'UnitMove_LodCutoff',
        },
        FootFallGenericSeabed = Sound {
            Bank = 'UAL',
            Cue = 'UAL0301_Move_UW_Step',
            LodCutoff = 'UnitMove_LodCutoff',
        },
        Pack = Sound {
            Bank = 'UAL',
            Cue = 'UAL0202_Close',
            LodCutoff = 'UnitMove_LodCutoff',
        },        
        StartMove = Sound {
            Bank = 'UAL',
            Cue = 'UAL0303_Move_Start',
            LodCutoff = 'UnitMove_LodCutoff',
        },
        StopMove = Sound {
            Bank = 'UAL',
            Cue = 'UAL0303_Move_Stop',
            LodCutoff = 'UnitMove_LodCutoff',
        },
        UISelection = Sound {
            Bank = 'Interface',
            Cue = 'Aeon_Select_Bot',
            LodCutoff = 'UnitMove_LodCutoff',
        },
        Unpack = Sound {
            Bank = 'UAL',
            Cue = 'UAL0202_Open',
            LodCutoff = 'UnitMove_LodCutoff',
        },
    },
    Buffs = {
        Regen = {
            Level1 = 2,
            Level2 = 4,
            Level3 = 6,
            Level4 = 8,
            Level5 = 10,
        },
    },
    BuildIconSortPriority = 20,
    Categories = {
        'AEON',  
        'BOT', 
        'ARTILLERY',                           
        'BUILTBYTIER2FACTORY',
        'BUILTBYTIER3FACTORY',
        'INDIRECTFIRE',        
        'LAND',
        'MOBILE',
        'OVERLAYINDIRECTFIRE',                 
        'RECLAIMABLE',        
        'SELECTABLE',      
        'TECH2',                
        'VISIBLETORECON',
    },
    Defense = {       
        AirThreatLevel = 10,        
        ArmorType = 'Normal',
        EconomyThreatLevel = 0,         
        Health = 700,
        MaxHealth = 700,
        RegenRate = 0,
        SubThreatLevel = 1,
        SurfaceThreatLevel = 4, 
        ThreatLevel = 10,         
    },
    Description = 'Artillery Bot',
    Display = {
        Abilities = {
            'Deployable',
        },     
        AnimationDeath = {
            {
                -- Death Standing -- 
                Animation = '/mods/4DC_V0.8/units/UAL0216/UAL0216_ADeath01_Anim.sca',
                AnimationRateMax = 0.5,
                AnimationRateMin = 0.5,
                Weight = 33,
            },
            {
                -- Falls backwards & breaks apart --
                Animation = '/mods/4DC_V0.8/units/UAL0216/UAL0216_ADeath02_Anim.sca',
                AnimationRateMax = 1.0,
                AnimationRateMin = 0.6,
                Weight = 33,
            },
            {
                -- Falls forwards & breaks apart --            
                Animation = '/mods/4DC_V0.8/units/UAL0216/UAL0216_ADeath03_Anim.sca',
                AnimationRateMax = 1.0,
                AnimationRateMin = 0.6,
                Weight = 33,
            },
        },
        AnimationWalk = '/mods/4DC_V0.8/units/UAL0216/UAL0216_AWalk01_Anim.sca',
        AnimationArtyDeploy = '/mods/4DC_V0.8/units/UAL0216/UAL0216_Stand_Anim.sca',  
        AnimationWalkRate = 1,      
        Mesh = {
            IconFadeInZoom = 130,
            LODs = {
                {
                    AlbedoName = '/mods/4DC_V0.8/units/UAL0216/UAL0216_Albedo.dds',
                    LODCutoff = 60,
                    MeshName = '/mods/4DC_V0.8/units/UAL0216/UAL0216_lod0.scm',
                    NormalsName = '/mods/4DC_V0.8/units/UAL0216/UAL0216_normalsTS.dds',
                    SpecularName = '/mods/4DC_V0.8/units/UAL0216/UAL0216_SpecTeam.dds',                 
                    ShaderName = 'Aeon',
                },
                {
                    AlbedoName = '/mods/4DC_V0.8/units/UAL0216/UAL0216_lod1_Albedo.dds',
                    LODCutoff = 215,
                    MeshName = '/mods/4DC_V0.8/units/UAL0216/UAL0216_lod1.scm',
                    NormalsName = '/mods/4DC_V0.8/units/UAL0216/UAL0216_lod1_normalsTS.dds',
                    SpecularName = '/mods/4DC_V0.8/units/UAL0216/UAL0216_lod1_SpecTeam.dds',                
                    ShaderName = 'Aeon',                    
                },
            },
        },
        MovementEffects = {
            Land = {
                Effects = {
                    {
                        Bones = {
                            'Right_Exhaust',
                            'Left_Exhaust',                           
                     },
                        Type = 'GroundKickup01',                         
                    },
                },
            },
        },
        PlaceholderMeshName = 'UXL0001',
        SpawnRandomRotation = true,
        TransportAnimation = {
            {
                Animation = '/mods/4DC_V0.8/units/UAL0216/UAL0216_Trans_Fold_Anim.sca',
                Weight = 100,
            },
        },
        TransportDropAnimation = {
            {
                Animation = '/mods/4DC_V0.8/units/UAL0216/UAL0216_Trans_Unfold_Anim.sca',
                Weight = 100,
            },
        },
        UniformScale = 0.022, 
    },
    Economy = {      
        BuildCostEnergy = 1200,
        BuildCostMass = 240,
        BuildTime = 1200,
        TeleportEnergyMod = 0.15,
        TeleportMassMod = 1,
        TeleportTimeMod = 0.01,        
    },       
    General = {
        Category = 'Indirect Fire',
        Classification = 'RULEUC_MilitaryVehicle',
        CommandCaps = {
            RULEUCC_Attack = true,
            RULEUCC_CallTransport = true,
            RULEUCC_Capture = false,
            RULEUCC_Guard = true,
            RULEUCC_Move = true,
            RULEUCC_Nuke = false,
            RULEUCC_Patrol = true,
            RULEUCC_Reclaim = false,
            RULEUCC_Repair = false,
            RULEUCC_RetaliateToggle = true,
            RULEUCC_Stop = true,
            RULEUCC_Transport = false,
        },
        FactionName = 'Aeon',
        Icon = 'land',
        OrderOverrides = {     
            RULEUTC_WeaponToggle = { 
                bitmapId = 'toggle-weapon',       
                helpText = 'Change mode of fire',
            },         
        },                     
        TechLevel = 'RULEUTL_Advanced',
        ToggleCaps = {
            RULEUTC_WeaponToggle = true,
        },        
        UnitName = 'Long Hammer',
        UnitWeight = 1,
    },
    Intel = { 
        VisionRadius = 26,           
    },
    Interface = {
        HelpText = 'Artillery Bot',
    },    
    LifeBarHeight = 0.05,
    LifeBarOffset = 0.25,
    LifeBarSize = 0.75, 
    Physics = {      
        BankingSlope = 0,
        BuildOnLayerCaps = {
            LAYER_Air = false,
            LAYER_Land = true,
            LAYER_Orbit = false,
            LAYER_Seabed = false,
            LAYER_Sub = false,
            LAYER_Water = false,
        },
        DragCoefficient = 0.2,
        MaxAcceleration = 0.9,
        MaxBrake = 2.3,
        MaxSpeed = 2.2,
        MaxSpeedReverse = 0,
        MaxSteerForce = 7,
        MinSpeedPercent = 0,
        MotionType = 'RULEUMT_Land',
        StandUpright = true,
        TurnRadius = 1,
        TurnRate = 85,        
    },
    SelectionCenterOffsetX = 0,
    SelectionCenterOffsetY = 0.05,    
    SelectionCenterOffsetZ = 0,    
    SelectionSizeX = 0.5,
    SelectionSizeZ = 0.5,
    SelectionThickness = 0.6,
    SizeX = 0.5,
    SizeY = 1.0,
    SizeZ = 0.25,
    StrategicIconName = 'icon_bot2_directfire',
    ModIconName = '4dc', -- (DMS) Adds mod identifier info to unit icons            
    StrategicIconSortPriority = 115,
    Transport = {
        CanFireFromTransport = false,
        TransportClass = 2,
    },
    Veteran = {
        Level1 = 6,
        Level2 = 12,
        Level3 = 18,
        Level4 = 24,
        Level5 = 30,
    },
    Weapon = {       
        {
            AboveWaterTargetsOnly = true,
            AimsStraightOnDisable = true,
            AnimationRecoil = '/mods/4DC_V0.8/units/UAL0216/UAL0216_ReloadAnim.sca',
            AnimationRecoilRate = 4.0,   
            ArtilleryShieldBlocks = true,
            AutoInitiateAttackCommand = 'true',                       
            Audio = {
                BarrelLoop = Sound {
                    Bank = 'UAS',
                    Cue = 'UAS_Turret_Lrg_Loop',
                    LodCutoff = 'WeaponBig_LodCutoff',
                },
                BarrelStart = Sound {
                    Bank = 'UAS',
                    Cue = 'UAS_Turret_Lrg_Start',
                    LodCutoff = 'WeaponBig_LodCutoff',
                },
                Fire = Sound {
                    Bank = 'UALWeapon',
                    Cue = 'UAL0304_Artillery_Sonance',
                    LodCutoff = 'Weapon_LodCutoff',
                },
                MuzzleChargeStart = Sound {
                    Bank = 'UALWeapon',
                    Cue = 'UAB2302_Artillery_Son_Charge',
                    LodCutoff = 'Weapon_LodCutoff',
                },
            },   
            BallisticArc = 'RULEUBA_LowArc',
            CollideFriendly = true,
            Damage = 100,
            DamageFriendly = false,
            DamageRadius = 0.4,
            DamageType = 'Normal',
            DisplayName = 'Mutli-Mod Artillery',            
            FireTargetLayerCapsTable = {
                Land = 'Land|Water|Seabed',
                Water = 'Land|Water|Seabed',
            },
            FiringRandomness = 0.3,
            FiringRandomnessWhileMoving = 0.6,  
            FiringTolerance = 1,
            Label = 'MainWeapon',
            LeadTarget = true,
            MaxRadius = 30,
            MinRadius = 0,
            MuzzleSalvoDelay = 0,
            MuzzleSalvoSize = 1,
            MuzzleVelocity = 20,
            ProjectileId = '/mods/4DC_V0.8/projectiles/UAL0216_MidCannon01/UAL0216_MidCannon01_proj.bp',               
            SecondaryProjectileId = '/mods/4DC_V0.8/projectiles/UAL0216_ArtCannon01/UAL0216_ArtCannon01_proj.bp',        
            ProjectileLifetimeUsesMultiplier = 3, 
            ProjectilesPerOnFire = 1,
            RackBones = {
                {
                    MuzzleBones = {
                        'Arty_Muzzle',
                    },
                    RackBone = 'Arty_Recoil',
                    TelescopeBone = 'Arty_Barrel', 
                    TelescopeRecoilDistance = -1.8, 
                },
            },
            RackFireTogether = false,
            RackRecoilDistance = -1.6,
            RackReloadTimeout = 0,
            RackSalvoChargeTime = 0,
            RackSalvoReloadTime = 0,
            RackSalvoSize = 1,
            RackSlavedToTurret = false,
            RangeCategory = 'UWRC_IndirectFire',
            RateOfFire = 0.5,
            RenderFireClock = false,
            TargetCheckInterval = 1,
            TargetPriorities = {
                'SPECIALHIGHPRI',
                'TECH3 MOBILE',                
                'TECH3 STRUCTURE DEFENSE', 
                'TECH2 MOBILE',                              
                'TECH2 STRUCTURE DEFENSE',                
                'SPECIALLOWPRI',
                'ALLUNITS',
            },
            TargetRestrictDisallow = 'UNTARGETABLE',
            TrackingRadius = 1.15,            
            TurretBoneMuzzle = 'Arty_Muzzle',
            TurretBonePitch = 'Bot_Arm_Right1',
            TurretBoneYaw = 'Torso',           
            TurretDualManipulators = false,
            TurretPitch = 45,
            TurretPitchRange = 90,
            TurretPitchSpeed = 45,
            TurretYaw = 0,
            TurretYawRange = 180,
            TurretYawSpeed = 90,
            Turreted = true,
            WeaponCategory = 'Artillery',
            WeaponUnpacks = false,
            UseFiringSolutionInsteadOfAimBone = true,            
        },        
    },
    Wreckage = {
        Blueprint = '/props/DefaultWreckage/DefaultWreckage_prop.bp',
        EnergyMult = 0,
        HealthMult = 0.9,
        MassMult = 0.9,
        ReclaimTimeMultiplier = 1,
        WreckageLayers = {
            Air = false,
            Land = true,
            Seabed = false,
            Sub = false,
            Water = false,
        },
    },
}

