class CfgVehicles {
    class Land;
    class LandVehicle: Land {
        class Turrets;
    };
    class StaticWeapon : LandVehicle {
        class Turrets: Turrets {
            class MainTurret;
        };
        class ACE_Actions;
    };
    class StaticMortar : StaticWeapon {
        class Turrets: Turrets {
            class MainTurret: MainTurret {
                class ViewOptics;
            };
        };
        class ACE_Actions: ACE_Actions {
            class ACE_MainActions;
        };
    };

    class TBD_M119: StaticMortar {
        artilleryScanner = 0;                    // turn off artillery computer
        ace_artillerytables_showRangetable = 1;  // "fix" rangetables not showing up
        ace_artillerytables_showGunLaying = 1;   // "fix" rangetables not showing up

        scope = 2;
        scopeCurator = 2;
        author = "TBD Team";
        displayName = CSTRING(name);
        model = QPATHTOF(TBD_M119\TBD_M119);
        editorPreview = QPATHTOF(TBD_M119\data\preview.jpg);
        picture = QPATHTOF(TBD_M119\data\M119_icon.paa);
        side = 1;
        faction = "BLU_F";
        crew = "B_Soldier_F";

        slingLoadCargoMemoryPoints[] = {"sling_point_1", "sling_point_2", "towing_point"};
        transportSoldier = 0;
        cargoAction[] = {"M119pose"};
        getInAction = "GetInMortar";
        getOutAction = "GetOutLow";
        unitInfoType = "RscUnitInfoMortar";
        editorSubcategory = "EdSubcat_Turrets";
        cost = 200000;
        accuracy = 0.8;
        EPEImpulseDamageCoef = 5;

        class Turrets: Turrets {
            class MainTurret: MainTurret {
                gunnerRightHandAnimName = "vertical_handpos";
                gunnerLeftHandAnimName = "horizontal_handpos";
                gunnerAction = "M119pose";
                gunnergetInAction = "GetInLow";
                gunnergetOutAction = "GetOutLow";
                weapons[] = {QUOTE(TBD_M119_WEAPON)};
                elevationMode = 1;
                initCamElev = 20;
                minCamElev = -35;
                maxCamElev = 35;
                initElev = 0;
                minTurn = -5.625;
                maxTurn = 5.625;
                initTurn = 0;
                cameraDir = "look";
                discreteDistance[] = {};
                discreteDistanceCameraPoint[] = {"gunnerview"};
                gunnerForceOptics = 0;
                maxVerticalRotSpeed = 0.05;
                maxHorizontalRotSpeed = 0.1;
                memoryPointCamera = "gunnerview";
                memoryPointGunnerOptics = "gunnerview";
                gunnerOpticsModel = QPATHTOF(TBD_M119\scope.p3d);
                gunnerUsesPilotView = 1;
                disableSoundAttenuation = 1;
                soundServo[] = {QPATHTOF(TBD_M119\sounds\wheels.ogg), 1, 1, 20};
                soundServoVertical[] = {QPATHTOF(TBD_M119\sounds\metalsqueal.ogg), 5, 1, 35};
                class ViewOptics: ViewOptics {
                    camPos = "gunnerview";
                    camDir = "look";
                    initAngleX = 0;
                    minAngleX = -30;
                    maxAngleX = 30;
                    initAngleY = 0;
                    minAngleY = 0;
                    maxAngleY = 68;
                    initFov = 0.15;
                    minFov = 0.15;
                    maxFov = 0.15;
                    visionMode[] = {"Normal"};
                };
                minelev = -5;
                maxelev = 70;
                gunBeg = "usti_hlavne";
                gunEnd = "konec_hlavne";
                ejectDeadGunner = 1;
                usepip = 2;
                discreteDistanceInitIndex = 0;
                primaryGunner = 1;
                memoryPointsGetInGunner = "pos_gunner";
                memoryPointsGetInGunnerDir = "pos_gunner_dir";
                proxyType = "CPGunner";
                proxyIndex = 1;
                magazines[] = {};
            };
        };
        htMin = 1;
        htMax = 480;
        afMax = 0;
        mfMax = 0;
        mFact = 1;
        tBody = 100;

        ace_cargo_canLoad = 0;
        ace_dragging_canCarry = 0;
        ace_dragging_canDrag = 1;
        ace_dragging_dragPosition[] = {0, 1.2, 0};
        ace_dragging_dragDirection = 0;
        ace_dragging_ignoreWeight = 1;

        selectionDamage = "zbytek";

        class DestructionEffects {

                class Smoke2 {
                intensity = 1;
                interval = 1;
                lifetime = 5;
                position = "konec_hlavne";
                simulation = "particles" ;
                type = "WeaponWreckSmoke";};

                class Smoke {
                intensity = 1;
                interval = 1;
                lifetime = 5;
                position = "usti_hlavne";
                simulation = "particles" ;
                type = "WeaponWreckSmoke";};

                class Smoke3 {
                intensity = 0.15;
                interval = 1;
                lifetime = 3.5;
                position = "smoke";
                simulation = "particles" ;
                type = "ObjectDestructionSmoke";};



                };

         class Damage {
            mat[] = {"x\TBD_M119\addons\M119\tbd_m119\data\one.rvmat",
                     "x\TBD_M119\addons\M119\tbd_m119\data\one_damage.rvmat",
                     "x\TBD_M119\addons\M119\tbd_m119\data\one_destroy.rvmat",
                     
                     "x\TBD_M119\addons\M119\tbd_m119\data\two.rvmat",
                     "x\TBD_M119\addons\M119\tbd_m119\data\two_damage.rvmat",
                     "x\TBD_M119\addons\M119\tbd_m119\data\two_destroy.rvmat",
                     
                     "x\TBD_M119\addons\M119\tbd_m119\data\three.rvmat",
                     "x\TBD_M119\addons\M119\tbd_m119\data\three_damage.rvmat",
                     "x\TBD_M119\addons\M119\tbd_m119\data\three_destroy.rvmat",
                     
                     "x\TBD_M119\addons\M119\tbd_m119\data\four.rvmat",
                     "x\TBD_M119\addons\M119\tbd_m119\data\four_damage.rvmat",
                     "x\TBD_M119\addons\M119\tbd_m119\data\four_destroy.rvmat",
                     
                     "x\TBD_M119\addons\M119\tbd_m119\data\five.rvmat",
                     "x\TBD_M119\addons\M119\tbd_m119\data\five_damage.rvmat",
                     "x\TBD_M119\addons\M119\tbd_m119\data\five_destroy.rvmat",
                     
                     "x\TBD_M119\addons\M119\tbd_m119\data\six.rvmat",
                     "x\TBD_M119\addons\M119\tbd_m119\data\six_damage.rvmat",
                     "x\TBD_M119\addons\M119\tbd_m119\data\six_destroy.rvmat",
                     
                     "x\TBD_M119\addons\M119\tbd_m119\data\seven.rvmat",
                     "x\TBD_M119\addons\M119\tbd_m119\data\seven_damage.rvmat",
                     "x\TBD_M119\addons\M119\tbd_m119\data\seven_destroy.rvmat",
                     
                     "x\TBD_M119\addons\M119\tbd_m119\data\plate.rvmat",
                     "x\TBD_M119\addons\M119\tbd_m119\data\plate_damage.rvmat",
                     "x\TBD_M119\addons\M119\tbd_m119\data\plate_destroy.rvmat",
                     
                     "x\TBD_M119\addons\M119\tbd_m119\data\scope.rvmat",
                     "x\TBD_M119\addons\M119\tbd_m119\data\scope_damage.rvmat",
                     "x\TBD_M119\addons\M119\tbd_m119\data\scope_destroy.rvmat"};
            tex[] = {};
        };

        class AnimationSources {
            class rest_rotation_source {
                source = "user";
                initPhase = 0;
                animPeriod = 0;
            };
            class howitzer_rotation_source {
                source = "user";
                initPhase = 0;
                animPeriod = 0;
            };

            class trigger_rotation_source {
                source = "user";
                initPhase = 0;
                animPeriod = 0;
            };

            class rightwheel_source {
                source = "user";
                initPhase = 0;
                animPeriod = 1;
            };

            class leftwheel_source {
                source = "user";
                initPhase = 0;
                animPeriod = 1;
            };

            class trigger_source {
                source = "user";
                initPhase = 0;
                animPeriod = 1;
            };

            class plate_back_source {
                source = "user";
                initPhase = 1;
                animPeriod = 1;
            };

            class plate_front_source {
                source = "user";
                initPhase = 0;
                animPeriod = 1;
            };

            class recoil_rest_source {
                source = "user";
                initPhase = 0;
                animPeriod = 1;
            };

             class recoil_barrel_source {
                source = "user";
                initPhase = 0;
                animPeriod = 1;
            };
            
             class open_breech_source {
                source = "user";
                initPhase = 0;
                animPeriod = 0.5;
                sound = "close";
                soundPosition = "konec_hlavne";
            };
            
            class handle_breech_source {
                source = "user";
                initPhase = 0;
                animPeriod = 0.5;
            };
            
            class hydraulics_source {
                source = "user";
                initPhase = 0;
                animPeriod = 1;
            };

            class small_wheel_source {
                source = "user";
                initPhase = 0;
                animPeriod = 1;
                sound = "gears";
                soundPosition = "konec_hlavne";
            };

            class magazine_load_source {
                source = "user"; 
                initPhase = 0; 
                animPeriod = 0.5;
            };

            class magazine_hide_source {
                source = "user";
                initPhase = 1;
                animPeriod = 0;
            };

            class magazine_smoke_load_source {
                source = "user"; 
                initPhase = 0; 
                animPeriod = 0.5;

            };

            class magazine_smoke_hide_source {
                source = "user";
                initPhase = 1;
                animPeriod = 0;
            };

            class magazine_dpicm_load_source {
                source = "user"; 
                initPhase = 0; 
                animPeriod = 0.5;

            };

            class magazine_dpicm_hide_source {
                source = "user";
                initPhase = 1;
                animPeriod = 0;
            };

            class magazine_laser_load_source {
                source = "user"; 
                initPhase = 0; 
                animPeriod = 0.5;

            };

            class magazine_laser_hide_source {
                source = "user";
                initPhase = 1;
                animPeriod = 0;
            };

            class mainTurretT_source {
                source = "user";
                initPhase = 0;
                animPeriod = 1;
            };

            class mainGunT_source {
                source = "user";
                initPhase = 0;
                animPeriod = 1;
            };

            class hydraulicsT_source {
                source = "user";
                initPhase = 0;
                animPeriod = 1;
            };
        };

        class ACE_Actions: ACE_Actions {
            class ACE_MainActions: ACE_MainActions {
                selection = "interact";

                class TBD_Fold {
                    distance = 2.5;
                    condition = QUOTE([ARR_1(_target)] call FUNC(canFold));
                    displayName = CSTRING(fold);
                    statement = QUOTE([ARR_1(_target)] call FUNC(fold));
                };

                class TBD_Unfold {
                    distance = 2.5;
                    condition = QUOTE([ARR_1(_target)] call FUNC(canUnfold));
                    displayName = CSTRING(unfold);
                    statement = QUOTE([ARR_1(_target)] call FUNC(unfold));
                };
            };

            class TBD_OpenBreech {
                selection = "int_handle_breech";
                distance = 1.5;
                condition = QUOTE([ARR_1(_target)] call FUNC(canOpenBreech));
                showDisabled = 0;
                displayName = CSTRING(open_breech);
                statement = QUOTE([ARR_1(_target)] call FUNC(openBreech));
            };

            class TBD_CloseBreech {
                selection = "int_handle_breech";
                distance = 1.5;
                condition = QUOTE([ARR_1(_target)] call FUNC(canCloseBreech));
                showDisabled = 0;
                displayName = CSTRING(close_breech);
                statement = QUOTE([ARR_1(_target)] call FUNC(closeBreech));
            };

            class TBD_Load {
                displayName = CSTRING(load);
                distance = 1.5;
                showDisabled=0;
				exceptions[]={};
				priority=5;
                selection = "casing_spawn";
                icon = "x\tbd_mortars\addons\main\data\load.paa";

                class TBD_LoadHE {
                    displayName = CSTRING(HE);
                    class TBD_LoadHECh1 {         
                        displayName = "$STR_TBD_MORTARS_105mm_HE_CHARGE_1";      
                        condition = QUOTE([ARR_2(_target,QUOTE(QUOTE(TBD_MORTARS_105mm_ROUND_HE_CHARGE_1)))] call FUNC(canLoad));
                        statement = QUOTE([ARR_3(_target,QUOTE(QUOTE(TBD_MORTARS_105mm_ROUND_HE_CHARGE_1)),0)] call FUNC(load));
                        showDisabled = 0;
                        exceptions[] = {};
                    };

                    class TBD_LoadHECh2 {         
                        displayName = "$STR_TBD_MORTARS_105mm_HE_CHARGE_2";      
                        condition = QUOTE([ARR_2(_target,QUOTE(QUOTE(TBD_MORTARS_105mm_ROUND_HE_CHARGE_2)))] call FUNC(canLoad));
                        statement = QUOTE([ARR_3(_target,QUOTE(QUOTE(TBD_MORTARS_105mm_ROUND_HE_CHARGE_2)),0)] call FUNC(load));
                        showDisabled = 0;
                        exceptions[] = {};
                    };

                    class TBD_LoadHECh3 {         
                        displayName = "$STR_TBD_MORTARS_105mm_HE_CHARGE_3";      
                        condition = QUOTE([ARR_2(_target,QUOTE(QUOTE(TBD_MORTARS_105mm_ROUND_HE_CHARGE_3)))] call FUNC(canLoad));
                        statement = QUOTE([ARR_3(_target,QUOTE(QUOTE(TBD_MORTARS_105mm_ROUND_HE_CHARGE_3)),0)] call FUNC(load));
                        showDisabled = 0;
                        exceptions[] = {};
                    };

                    class TBD_LoadHECh4 {         
                        displayName = "$STR_TBD_MORTARS_105mm_HE_CHARGE_4";      
                        condition = QUOTE([ARR_2(_target,QUOTE(QUOTE(TBD_MORTARS_105mm_ROUND_HE_CHARGE_4)))] call FUNC(canLoad));
                        statement = QUOTE([ARR_3(_target,QUOTE(QUOTE(TBD_MORTARS_105mm_ROUND_HE_CHARGE_4)),0)] call FUNC(load));
                        showDisabled = 0;
                        exceptions[] = {};
                    };

                    class TBD_LoadHECh5 {         
                        displayName = "$STR_TBD_MORTARS_105mm_HE_CHARGE_5";      
                        condition = QUOTE([ARR_2(_target,QUOTE(QUOTE(TBD_MORTARS_105mm_ROUND_HE_CHARGE_5)))] call FUNC(canLoad));
                        statement = QUOTE([ARR_3(_target,QUOTE(QUOTE(TBD_MORTARS_105mm_ROUND_HE_CHARGE_5)),0)] call FUNC(load));
                        showDisabled = 0;
                        exceptions[] = {};
                    };

                    class TBD_LoadHECh6 {         
                        displayName = "$STR_TBD_MORTARS_105mm_HE_CHARGE_6";      
                        condition = QUOTE([ARR_2(_target,QUOTE(QUOTE(TBD_MORTARS_105mm_ROUND_HE_CHARGE_6)))] call FUNC(canLoad));
                        statement = QUOTE([ARR_3(_target,QUOTE(QUOTE(TBD_MORTARS_105mm_ROUND_HE_CHARGE_6)),0)] call FUNC(load));
                        showDisabled = 0;
                        exceptions[] = {};
                    };

                    class TBD_LoadHECh7 {         
                        displayName = "$STR_TBD_MORTARS_105mm_HE_CHARGE_7";      
                        condition = QUOTE([ARR_2(_target,QUOTE(QUOTE(TBD_MORTARS_105mm_ROUND_HE_CHARGE_7)))] call FUNC(canLoad));
                        statement = QUOTE([ARR_3(_target,QUOTE(QUOTE(TBD_MORTARS_105mm_ROUND_HE_CHARGE_7)),0)] call FUNC(load));
                        showDisabled = 0;
                        exceptions[] = {};
                    };
                };

                class TBD_LoadLASERCh6 {
                    displayName = CSTRING(LASER);
                    class TBD_LoadLASERCh1 {         
                        displayName = "$STR_TBD_MORTARS_105mm_LASER_CHARGE_1";      
                        condition = QUOTE([ARR_2(_target,QUOTE(QUOTE(TBD_MORTARS_105mm_ROUND_LASER_CHARGE_1)))] call FUNC(canLoad));
                        statement = QUOTE([ARR_3(_target,QUOTE(QUOTE(TBD_MORTARS_105mm_ROUND_LASER_CHARGE_1)),0)] call FUNC(load));
                        showDisabled = 0;
                        exceptions[] = {};
                    };

                    class TBD_LoadLASERCh2 {         
                        displayName = "$STR_TBD_MORTARS_105mm_LASER_CHARGE_2";      
                        condition = QUOTE([ARR_2(_target,QUOTE(QUOTE(TBD_MORTARS_105mm_ROUND_LASER_CHARGE_2)))] call FUNC(canLoad));
                        statement = QUOTE([ARR_3(_target,QUOTE(QUOTE(TBD_MORTARS_105mm_ROUND_LASER_CHARGE_2)),0)] call FUNC(load));
                        showDisabled = 0;
                        exceptions[] = {};
                    };

                    class TBD_LoadLASERCh3 {         
                        displayName = "$STR_TBD_MORTARS_105mm_LASER_CHARGE_3";      
                        condition = QUOTE([ARR_2(_target,QUOTE(QUOTE(TBD_MORTARS_105mm_ROUND_LASER_CHARGE_3)))] call FUNC(canLoad));
                        statement = QUOTE([ARR_3(_target,QUOTE(QUOTE(TBD_MORTARS_105mm_ROUND_LASER_CHARGE_3)),0)] call FUNC(load));
                        showDisabled = 0;
                        exceptions[] = {};
                    };

                    class TBD_LoadLASERCh4 {         
                        displayName = "$STR_TBD_MORTARS_105mm_LASER_CHARGE_4";      
                        condition = QUOTE([ARR_2(_target,QUOTE(QUOTE(TBD_MORTARS_105mm_ROUND_LASER_CHARGE_4)))] call FUNC(canLoad));
                        statement = QUOTE([ARR_3(_target,QUOTE(QUOTE(TBD_MORTARS_105mm_ROUND_LASER_CHARGE_4)),0)] call FUNC(load));
                        showDisabled = 0;
                        exceptions[] = {};
                    };

                    class TBD_LoadLASERCh5 {         
                        displayName = "$STR_TBD_MORTARS_105mm_LASER_CHARGE_5";      
                        condition = QUOTE([ARR_2(_target,QUOTE(QUOTE(TBD_MORTARS_105mm_ROUND_LASER_CHARGE_5)))] call FUNC(canLoad));
                        statement = QUOTE([ARR_3(_target,QUOTE(QUOTE(TBD_MORTARS_105mm_ROUND_LASER_CHARGE_5)),0)] call FUNC(load));
                        showDisabled = 0;
                        exceptions[] = {};
                    };

                    class TBD_LoadLASERCh6 {         
                        displayName = "$STR_TBD_MORTARS_105mm_LASER_CHARGE_6";      
                        condition = QUOTE([ARR_2(_target,QUOTE(QUOTE(TBD_MORTARS_105mm_ROUND_LASER_CHARGE_6)))] call FUNC(canLoad));
                        statement = QUOTE([ARR_3(_target,QUOTE(QUOTE(TBD_MORTARS_105mm_ROUND_LASER_CHARGE_6)),0)] call FUNC(load));
                        showDisabled = 0;
                        exceptions[] = {};
                    };

                    class TBD_LoadLASERCh7 {         
                        displayName = "$STR_TBD_MORTARS_105mm_LASER_CHARGE_7";      
                        condition = QUOTE([ARR_2(_target,QUOTE(QUOTE(TBD_MORTARS_105mm_ROUND_LASER_CHARGE_7)))] call FUNC(canLoad));
                        statement = QUOTE([ARR_3(_target,QUOTE(QUOTE(TBD_MORTARS_105mm_ROUND_LASER_CHARGE_7)),0)] call FUNC(load));
                        showDisabled = 0;
                        exceptions[] = {};
                    };
                };

                class TBD_LoadSMOKECh6 {
                    displayName = CSTRING(SMOKE);
                    class TBD_LoadSMOKECh1 {         
                        displayName = "$STR_TBD_MORTARS_105mm_SMOKE_CHARGE_1";      
                        condition = QUOTE([ARR_2(_target,QUOTE(QUOTE(TBD_MORTARS_105mm_ROUND_SMOKE_CHARGE_1)))] call FUNC(canLoad));
                        statement = QUOTE([ARR_3(_target,QUOTE(QUOTE(TBD_MORTARS_105mm_ROUND_SMOKE_CHARGE_1)),0)] call FUNC(load));
                        showDisabled = 0;
                        exceptions[] = {};
                    };

                    class TBD_LoadSMOKECh2 {         
                        displayName = "$STR_TBD_MORTARS_105mm_SMOKE_CHARGE_2";      
                        condition = QUOTE([ARR_2(_target,QUOTE(QUOTE(TBD_MORTARS_105mm_ROUND_SMOKE_CHARGE_2)))] call FUNC(canLoad));
                        statement = QUOTE([ARR_3(_target,QUOTE(QUOTE(TBD_MORTARS_105mm_ROUND_SMOKE_CHARGE_2)),0)] call FUNC(load));
                        showDisabled = 0;
                        exceptions[] = {};
                    };

                    class TBD_LoadSMOKECh3 {         
                        displayName = "$STR_TBD_MORTARS_105mm_SMOKE_CHARGE_3";      
                        condition = QUOTE([ARR_2(_target,QUOTE(QUOTE(TBD_MORTARS_105mm_ROUND_SMOKE_CHARGE_3)))] call FUNC(canLoad));
                        statement = QUOTE([ARR_3(_target,QUOTE(QUOTE(TBD_MORTARS_105mm_ROUND_SMOKE_CHARGE_3)),0)] call FUNC(load));
                        showDisabled = 0;
                        exceptions[] = {};
                    };

                    class TBD_LoadSMOKECh4 {         
                        displayName = "$STR_TBD_MORTARS_105mm_SMOKE_CHARGE_4";      
                        condition = QUOTE([ARR_2(_target,QUOTE(QUOTE(TBD_MORTARS_105mm_ROUND_SMOKE_CHARGE_4)))] call FUNC(canLoad));
                        statement = QUOTE([ARR_3(_target,QUOTE(QUOTE(TBD_MORTARS_105mm_ROUND_SMOKE_CHARGE_4)),0)] call FUNC(load));
                        showDisabled = 0;
                        exceptions[] = {};
                    };

                    class TBD_LoadSMOKECh5 {         
                        displayName = "$STR_TBD_MORTARS_105mm_SMOKE_CHARGE_5";      
                        condition = QUOTE([ARR_2(_target,QUOTE(QUOTE(TBD_MORTARS_105mm_ROUND_SMOKE_CHARGE_5)))] call FUNC(canLoad));
                        statement = QUOTE([ARR_3(_target,QUOTE(QUOTE(TBD_MORTARS_105mm_ROUND_SMOKE_CHARGE_5)),0)] call FUNC(load));
                        showDisabled = 0;
                        exceptions[] = {};
                    };

                    class TBD_LoadSMOKECh6 {         
                        displayName = "$STR_TBD_MORTARS_105mm_SMOKE_CHARGE_6";      
                        condition = QUOTE([ARR_2(_target,QUOTE(QUOTE(TBD_MORTARS_105mm_ROUND_SMOKE_CHARGE_6)))] call FUNC(canLoad));
                        statement = QUOTE([ARR_3(_target,QUOTE(QUOTE(TBD_MORTARS_105mm_ROUND_SMOKE_CHARGE_6)),0)] call FUNC(load));
                        showDisabled = 0;
                        exceptions[] = {};
                    };

                    class TBD_LoadSMOKECh7 {         
                        displayName = "$STR_TBD_MORTARS_105mm_SMOKE_CHARGE_7";      
                        condition = QUOTE([ARR_2(_target,QUOTE(QUOTE(TBD_MORTARS_105mm_ROUND_SMOKE_CHARGE_7)))] call FUNC(canLoad));
                        statement = QUOTE([ARR_3(_target,QUOTE(QUOTE(TBD_MORTARS_105mm_ROUND_SMOKE_CHARGE_7)),0)] call FUNC(load));
                        showDisabled = 0;
                        exceptions[] = {};
                    };
                };

                class TBD_LoadDPICMCh6 {
                    displayName = CSTRING(DPICM);
                    class TBD_LoadDPICMCh1 {         
                        displayName = "$STR_TBD_MORTARS_105mm_DPICM_CHARGE_1";      
                        condition = QUOTE([ARR_2(_target,QUOTE(QUOTE(TBD_MORTARS_105mm_ROUND_DPICM_CHARGE_1)))] call FUNC(canLoad));
                        statement = QUOTE([ARR_3(_target,QUOTE(QUOTE(TBD_MORTARS_105mm_ROUND_DPICM_CHARGE_1)),0)] call FUNC(load));
                        showDisabled = 0;
                        exceptions[] = {};
                    };

                    class TBD_LoadDPICMCh2 {         
                        displayName = "$STR_TBD_MORTARS_105mm_DPICM_CHARGE_2";      
                        condition = QUOTE([ARR_2(_target,QUOTE(QUOTE(TBD_MORTARS_105mm_ROUND_DPICM_CHARGE_2)))] call FUNC(canLoad));
                        statement = QUOTE([ARR_3(_target,QUOTE(QUOTE(TBD_MORTARS_105mm_ROUND_DPICM_CHARGE_2)),0)] call FUNC(load));
                        showDisabled = 0;
                        exceptions[] = {};
                    };

                    class TBD_LoadDPICMCh3 {         
                        displayName = "$STR_TBD_MORTARS_105mm_DPICM_CHARGE_3";      
                        condition = QUOTE([ARR_2(_target,QUOTE(QUOTE(TBD_MORTARS_105mm_ROUND_DPICM_CHARGE_3)))] call FUNC(canLoad));
                        statement = QUOTE([ARR_3(_target,QUOTE(QUOTE(TBD_MORTARS_105mm_ROUND_DPICM_CHARGE_3)),0)] call FUNC(load));
                        showDisabled = 0;
                        exceptions[] = {};
                    };

                    class TBD_LoadDPICMCh4 {         
                        displayName = "$STR_TBD_MORTARS_105mm_DPICM_CHARGE_4";      
                        condition = QUOTE([ARR_2(_target,QUOTE(QUOTE(TBD_MORTARS_105mm_ROUND_DPICM_CHARGE_4)))] call FUNC(canLoad));
                        statement = QUOTE([ARR_3(_target,QUOTE(QUOTE(TBD_MORTARS_105mm_ROUND_DPICM_CHARGE_4)),0)] call FUNC(load));
                        showDisabled = 0;
                        exceptions[] = {};
                    };

                    class TBD_LoadDPICMCh5 {         
                        displayName = "$STR_TBD_MORTARS_105mm_DPICM_CHARGE_5";      
                        condition = QUOTE([ARR_2(_target,QUOTE(QUOTE(TBD_MORTARS_105mm_ROUND_DPICM_CHARGE_5)))] call FUNC(canLoad));
                        statement = QUOTE([ARR_3(_target,QUOTE(QUOTE(TBD_MORTARS_105mm_ROUND_DPICM_CHARGE_5)),0)] call FUNC(load));
                        showDisabled = 0;
                        exceptions[] = {};
                    };

                    class TBD_LoadDPICMCh6 {         
                        displayName = "$STR_TBD_MORTARS_105mm_DPICM_CHARGE_6";      
                        condition = QUOTE([ARR_2(_target,QUOTE(QUOTE(TBD_MORTARS_105mm_ROUND_DPICM_CHARGE_6)))] call FUNC(canLoad));
                        statement = QUOTE([ARR_3(_target,QUOTE(QUOTE(TBD_MORTARS_105mm_ROUND_DPICM_CHARGE_6)),0)] call FUNC(load));
                        showDisabled = 0;
                        exceptions[] = {};
                    };

                    class TBD_LoadDPICMCh7 {         
                        displayName = "$STR_TBD_MORTARS_105mm_DPICM_CHARGE_7";      
                        condition = QUOTE([ARR_2(_target,QUOTE(QUOTE(TBD_MORTARS_105mm_ROUND_DPICM_CHARGE_7)))] call FUNC(canLoad));
                        statement = QUOTE([ARR_3(_target,QUOTE(QUOTE(TBD_MORTARS_105mm_ROUND_DPICM_CHARGE_7)),0)] call FUNC(load));
                        showDisabled = 0;
                        exceptions[] = {};
                    };
                };
            };
/*
                
            };*/
            
            class TBD_Unload {
                selection = "casing_spawn";
                distance = 1.5;
                showDisabled = 0;
                displayName = CSTRING(unload);
                condition = QUOTE([ARR_1(_target)] call FUNC(canUnload));
                statement = QUOTE([ARR_2(_target,0)] call FUNC(unload));
                icon = "x\tbd_mortars\addons\main\data\unload.paa";
            };

            class TBD_Tow {
                selection = "towing_point";
                distance = 2.5;
                condition = QUOTE([ARR_1(_target)] call FUNC(canBeTowed));
                showDisabled = 0;
                displayName = CSTRING(TOW);
                statement = QUOTE([ARR_1(_target)] call FUNC(tow));
            };

            class TBD_Detach {
                selection = "towing_point";
                distance = 2.5;
                condition = QUOTE(_target getVariable [ARR_2(QUOTE(QGVAR(towed)),false)]);
                showDisabled = 0;
                displayName = CSTRING(DETACH);
                statement = QUOTE([ARR_1(_target)] call FUNC(detach));
            };
        };
    };
};
