#include "script_component.hpp"

#define COLOUR 8.0
class CfgPatches {
  class ADDON {
    units[] = {};
    weapons[] = {};
    requiredVersion = REQUIRED_VERSION;
    requiredAddons[] = {"ace_common"};
    author[] = {"Garth 'L-H' de Wet"};
    authorUrl = "http://garth.snakebiteink.co.za/";
    VERSION_CONFIG;
  };
};

#include "CfgEventHandlers.hpp"

#define COMBAT_GOGGLES         ACE_Overlay = QUOTE(PATHTOF(textures\HUD\CombatGoggles.paa)); \
        ACE_OverlayCracked = QUOTE(PATHTOF(textures\HUD\CombatGogglesCracked.paa)); \
        ACE_Resistance = 2; \
        ACE_Protection = 1;

class CfgGlasses {
    class None {
        ACE_Color[] = {0,0,0};
        ACE_TintAmount=0;
        ACE_Overlay = "";
        ACE_OverlayDirt = "A3\Ui_f\data\igui\rsctitles\HealthTextures\dust_upper_ca.paa";
        ACE_OverlayCracked = QUOTE(PATHTOF(textures\HUD\Cracked.paa));
        ACE_Resistance = 0;
        ACE_Protection = 0;
        ACE_DustPath = QUOTE(PATHTOF(textures\fx\dust\%1.paa));
    };

    class G_Combat:None {
        COMBAT_GOGGLES
    };

    class G_Diving {
        ACE_Overlay = QUOTE(PATHTOF(textures\HUD\DivingGoggles.paa));
        ACE_OverlayCracked = QUOTE(PATHTOF(textures\HUD\DivingGogglesCracked.paa));
        ACE_Resistance = 2;
        ACE_Protection = 1;
    };

    class G_Lowprofile:None {
        ACE_TintAmount=COLOUR*2;
        ACE_Resistance = 2;
        ACE_Protection = 1;
    };

    class G_Shades_Black:None {
        ACE_TintAmount=COLOUR*2;
        ACE_Resistance = 1;
    };

    class G_Shades_Blue:None{
        ACE_Color[] = {0,0,1};
        ACE_TintAmount=COLOUR;
        ACE_Resistance = 1;
    };

    class G_Shades_Green:None{
        ACE_Color[] = {0,1,0};
        ACE_TintAmount=COLOUR;
        ACE_Resistance = 1;
    };

    class G_Shades_Red:None{
        ACE_Color[] = {1,0,0};
        ACE_TintAmount=COLOUR;
        ACE_Resistance = 1;
    };

    class G_Spectacles:None{
        ACE_TintAmount=COLOUR;
        ACE_Resistance = 1;
    };

    class G_Spectacles_Tinted:None{
        ACE_TintAmount=COLOUR*2;
        ACE_Resistance = 1;
    };

    class G_Sport_Blackred:None{
        ACE_Color[] = {1,0,0};
        ACE_TintAmount=COLOUR;
        ACE_Resistance = 1;
    };

    class G_Sport_BlackWhite:None{
        ACE_Color[] = {0,0,1};
        ACE_TintAmount=COLOUR;
        ACE_Resistance = 1;
    };

    class G_Sport_Blackyellow:None{
        ACE_TintAmount=COLOUR*2;
        ACE_Resistance = 1;
    };

    class G_Sport_Checkered:None{
        ACE_TintAmount=COLOUR*2;
        ACE_Resistance = 1;
    };

    class G_Sport_Greenblack:None{
        ACE_TintAmount=COLOUR*2;
        ACE_Resistance = 1;
    };

    class G_Sport_Red:None{
        ACE_TintAmount=COLOUR*2;
        ACE_Color[] = {0,0,0};
        ACE_Resistance = 1;
    };

    class G_Squares:None{
        ACE_TintAmount=COLOUR;
        ACE_Resistance = 1;
    };

    class G_Squares_Tinted:None{
        ACE_TintAmount=COLOUR;
        ACE_Resistance = 1;
    };

    class G_Tactical_Black:None{
        ACE_TintAmount=COLOUR;
        ACE_Color[] = {0,0,-1.5};
        ACE_Resistance = 1;
    };

    class G_Tactical_Clear:None{
        ACE_TintAmount=COLOUR;
        ACE_Color[] = {0,0,-1};
        ACE_Resistance = 1;
    };

    class G_Aviator:None{
        ACE_Color[] = {0,0,-1};
        ACE_TintAmount=COLOUR;
        ACE_Resistance = 1;
    };

    class G_Lady_Blue:None{
        ACE_Color[] = {0,0,1};
        ACE_TintAmount=COLOUR;
        ACE_Resistance = 1;
    };

    class G_Lady_Red:None{
        ACE_Color[] = {1,0,0};
        ACE_TintAmount=COLOUR;
        ACE_Resistance = 1;
    };

    class G_Lady_Dark:None{
        ACE_TintAmount=COLOUR*2;
        ACE_Resistance = 1;
    };

    class G_Lady_Mirror:None{
        ACE_TintAmount=COLOUR;
        ACE_Resistance = 1;
    };

    class AV_ESS_blk:None{
        COMBAT_GOGGLES
    };

    class G_Balaclava_blk;

    class G_Balaclava_combat:G_Balaclava_blk {
        COMBAT_GOGGLES
    };

    class G_Balaclava_lowprofile:G_Balaclava_blk {
        ACE_TintAmount=COLOUR*2;
        ACE_Resistance = 2;
        ACE_Protection = 1;
    };

    class G_Bandanna_blk;
    class G_Bandanna_shades:G_Bandanna_blk {
        ACE_TintAmount=COLOUR*2;
        ACE_Resistance = 1;
        ACE_Protection = 1;
    };
    class G_Bandanna_sport:G_Bandanna_blk {
        ACE_Color[] = {1,0,0};
        ACE_TintAmount=COLOUR;
        ACE_Resistance = 1;
        ACE_Protection = 1;
    };
    class G_Bandanna_aviator:G_Bandanna_blk {
        ACE_Color[] = {0,0,-1};
        ACE_TintAmount=COLOUR;
        ACE_Resistance = 1;
        ACE_Protection = 1;
    };
};

#include "RscTitles.hpp"

class CfgMovesBasic {
    class ManActions {
        GestureWipeFace[] = {"GestureWipeFace", "gesture"};
    };
};

class CfgGesturesMale {
    class States {
        class GestureFreezeStand;
        class GestureWipeFace: GestureFreezeStand {
            file = QUOTE(PATHTOF(anim\WipeGlasses.rtm));
            canPullTrigger = 0;
        };
    };
};

class CfgWeapons {
    class H_HelmetB;

    class H_CrewHelmetHeli_B:H_HelmetB {
        ACE_Protection = 1;
    };
    class H_PilotHelmetHeli_B:H_HelmetB {
        ACE_Protection = 1;
    };
    class H_PilotHelmetFighter_B:H_HelmetB {
        ACE_Protection = 1;
    };
};

class RifleAssaultCloud {
    ACE_Goggles_BulletCount = 4;
};
class MachineGunCloud {
    ACE_Goggles_BulletCount = 3;
};
class SniperCloud {
    ACE_Goggles_BulletCount = 1;
};

class ACE_Settings {
    class GVAR(showInThirdPerson) {
        value = 0;
        typeName = "BOOL";
        isClientSettable = 1;
        displayName = "$STR_ACE_Goggles_ShowInThirdPerson";
    };
};

class CfgCloudlets {
    class Default;
    class ACERainEffect:Default {
        interval = 0.001;
        particleShape = "\A3\data_f\ParticleEffects\Universal\Refract";
        particleFSNtieth = 1;
        particleFSIndex = 0;
        particleFSFrameCount = 1;
        particleFSLoop = 1;

        particleType = "Billboard";
        lifeTime = 0.5;
        rotationVelocity = 1;
        weight = 100;
        volume = 0.000;
        rubbing = 1.7;
        size[] = {0.1};
        color[] = {{1,1,1,1}};
        animationSpeed[] = {0,1};
        randomDirectionPeriod = 0.2;
        randomDirectionIntensity = 1.2;
        positionVar[] = {2, 2, 2.5};
        sizeVar = 0.01;
        colorVar[] = {0, 0, 0, 0.1};
        destroyOnWaterSurface = 1;
    };
};
