diff --git a/addons/effects/CfgCloudlets.hpp b/addons/effects/CfgCloudlets.hpp index 0f67873..417e74e 100644 --- a/addons/effects/CfgCloudlets.hpp +++ b/addons/effects/CfgCloudlets.hpp @@ -1,10 +1,12 @@ class CfgCloudlets { class Default; + // Blastwave Effects class CLASS(blastwave_effect_small): Default { angleVar = 1; animationName = ""; animationSpeed[] = {1}; beforeDestroyScript = ""; + blockAIVisibility = 0; circleRadius = 0; circleVelocity[] = {0, 0, 0}; colorVar[] = {0, 0, 0, 0}; @@ -52,4 +54,141 @@ class CfgCloudlets { lifeTime = 1; size[] = {1, 35, 80, 140, 200, 280}; }; + + // Spark Effects + class CLASS(sparksBurstLow): Default { + angleVar = 360; + animationName = ""; + animationSpeed[] = {1000}; + animationSpeedCoef = 1; + beforeDestroyScript = ""; + blockAIVisibility = 0; + bounceOnSurface = 0.1; + bounceOnSurfaceVar = 0.2; + circleRadius = 0; + circleVelocity[] = {0, 0, 0}; + color[] = {{1, 0.8, 0.8, -500}, {1, 0.3, 0.1, -500}}; + colorCoef[] = {1, 1, 1, 1}; + colorVar[] = {0.05, 0.05, 0.05, 5}; + emissiveColor[] = {{250, 180, 10, 0}, {0, 0, 0, 0}}; + interval = 0.001; + lifeTime = 0.015; + lifeTimeVar = 0.5; + moveVelocity[] = {"surfNormalX * inSpeed / 250 * 1.33","surfNormalY * inSpeed / 250 * 1.33","surfNormalZ * inSpeed / 250"}; + moveVelocityVar[] = {1, 1, 1}; + onTimerScript = ""; + particleFSFrameCount = 2; + particleFSIndex = 13; + particleFSLoop = 0; + particleFSNtieth = 16; + particleShape = "\A3\data_f\ParticleEffects\Universal\Universal"; + particleType = "Billboard"; + position[] = {0, 0, 0}; + positionVar[] = {0.01, 0.01, 0.01}; + randomDirectionIntensity = 0; + randomDirectionIntensityVar = 2.3; + randomDirectionPeriod = 0; + randomDirectionPeriodVar = 0.09; + rotationVelocity = 1; + rotationVelocityVar = 0; + rubbing = 0.15; + size[] = {0.1, 0.035, 0}; + sizeVar = 0.4; + timerPeriod = 3; + volume = 0.01; + weight = 1000; + }; + class CLASS(sparksBurstMed): CLASS(sparksBurstLow) { + color[] = {{1, 0.3, 0.1, -500}, {1, 0.3, 0.1, -500}}; + emissiveColor[] = {{235, 235, 250, 0}, {0, 0, 0, 0}}; + }; + class CLASS(sparksBurst): CLASS(sparksBurstLow) { + bounceOnSurface = 0.05; + bounceOnSurfaceVar = 0.1; + color[] = {{1, 0.3, 0.1, -500}, {1, 0.3, 0.1, -500}}; + emissiveColor[] = {{250, 80, 25, 0}, {0, 0, 0, 0}}; + lifeTimeVar = 1; + moveVelocity[] = {"surfNormalX * inSpeed / 250 * 0.66","surfNormalY * inSpeed / 250 * 0.66","surfNormalZ * inSpeed / 250 * 0.66"}; + moveVelocityVar[] = {0.1, 0.1, 0.1}; + randomDirectionIntensityVar = 0.2; + randomDirectionPeriodVar = 0.1; + size[] = {0.075, 0.015, 0}; + sizeVar = 0.5; + }; + class CLASS(sparksBurst1): CLASS(sparksBurstLow) { + animationSpeed[] = { 1000}; + bounceOnSurface = 0.2; + bounceOnSurfaceVar = 0.3; + color[] = {{1, 0.3, 0.1, -500}, {1, 0.3, 0.1, -500}}; + emissiveColor[] = {{250, 225, 160, 0}, {0, 0, 0, 0}}; + lifeTimeVar = 1; + moveVelocity[] = {"surfNormalX * inSpeed / 250 * 0.66","surfNormalY * inSpeed / 250 * 0.66","surfNormalZ * inSpeed / 250 * 0.66"}; + moveVelocityVar[] = {0.1, 0.1, 0.1}; + randomDirectionIntensity = 0.1; + randomDirectionIntensityVar = 0.2; + randomDirectionPeriod = 0.05; + randomDirectionPeriodVar = 0.1; + size[] = {0.075, 0.015, 0}; + sizeVar = 0.5; + }; + class CLASS(sparksBurst2): CLASS(sparksBurstLow) { + bounceOnSurface = 0.2; + bounceOnSurfaceVar = 0.1; + color[] = {{1, 1, 0.9, -500}, {1, 0.3, 0.1, -500}}; + emissiveColor[] = {{252, 255, 128, 0}, {0, 0, 0, 0}}; + lifeTimeVar = 1; + moveVelocity[] = {"surfNormalX * inSpeed / 250","surfNormalY * inSpeed / 250","surfNormalZ * inSpeed / 250"}; + moveVelocityVar[] = {"surfNormalX * inSpeed / 250","surfNormalY * inSpeed / 250","surfNormalZ * inSpeed / 250"}; + randomDirectionIntensity = 1; + randomDirectionIntensityVar = 2; + randomDirectionPeriod = 0.5; + randomDirectionPeriodVar = 0.5; + rotationVelocityVar = 1; + size[] = {0.175, 0.015, 0}; + sizeVar = 0.5; + }; + class CLASS(sparkStream): CLASS(sparksBurst) { + bounceOnSurface = 0.1; + lifeTime = 0.15; + lifeTimeVar = 5; + moveVelocity[] = {1, 5, 1}; + }; + class CLASS(sparksOmni): CLASS(sparksBurst2) { + bounceOnSurface = 0.1; + interval = 0.008; + lifeTime = 0.05; + moveVelocity[] = {"surfNormalX * inSpeed / 200","surfNormalY * inSpeed / 200","surfNormalZ * inSpeed / 200"}; + moveVelocityVar[] = {"surfNormalX * inSpeed / 200","surfNormalY * inSpeed / 200","surfNormalZ * inSpeed / 200"}; + }; + class CLASS(sparksOmniSparkle): CLASS(sparksOmni) { + interval = 0.5; + moveVelocity[] = {1, 1, 1}; + moveVelocityVar[] = {0.1, -1, 0.1}; + size[] = {0.15, 0.05, 0}; + }; + class CLASS(sparksOmniSparklings): CLASS(sparksBurst1) { + interval = 0.0003; + lifeTime = 0.003; + lifeTimeVar = 1; + moveVelocity[] = {0.7, 0.7, 0.1}; + moveVelocityVar[] = {2, 2, 0.3}; + }; + class CLASS(sparksDrop): CLASS(sparksBurst) { + bounceOnSurface = 0.1; + bounceOnSurfaceVar = 0.2; + interval = 0.02; + lifeTime = 0.05; + lifeTimeVar = 3; + moveVelocity[] = {0.3, -2, 0.3}; + moveVelocityVar[] = {0.3, 0, 0.3}; + }; + class CLASS(sparksDrop2): CLASS(sparksBurst) { + bounceOnSurface = 0; + bounceOnSurfaceVar = 0; + interval = 100; + lifeTime = 0.5; + lifeTimeVar = 1; + moveVelocity[] = {-0.1, -1, 0.1}; + moveVelocityVar[] = {0.2, 2, 0.2}; + }; }; diff --git a/addons/effects/Effects.hpp b/addons/effects/blastwaveEffects.hpp similarity index 98% rename from addons/effects/Effects.hpp rename to addons/effects/blastwaveEffects.hpp index 80e5337..36e36cc 100644 --- a/addons/effects/Effects.hpp +++ b/addons/effects/blastwaveEffects.hpp @@ -1,10 +1,12 @@ #define MACRO_FX \ - position[] = {0, 0, 0}; \ intensity = 1; \ interval = 3; \ lifeTime = 1; \ + position[] = {0, 0, 0}; \ + qualityLevel = -1; \ simulation = "particles" +// Adds a refraction effect to explosions, these play everytime for everybody. class 120mm_HE { class CLASS(blastwave_refract) { type = QCLASS(blastwave_effect_medium); diff --git a/addons/effects/config.cpp b/addons/effects/config.cpp index 89a7022..fff81cd 100644 --- a/addons/effects/config.cpp +++ b/addons/effects/config.cpp @@ -16,4 +16,5 @@ class CfgPatches { #include "CfgAmmo.hpp" #include "CfgCloudlets.hpp" -#include "Effects.hpp" +#include "blastwaveEffects.hpp" +#include "impactEffects.hpp" diff --git a/addons/effects/impactEffects.hpp b/addons/effects/impactEffects.hpp new file mode 100644 index 0000000..547c36f --- /dev/null +++ b/addons/effects/impactEffects.hpp @@ -0,0 +1,213 @@ +// Spark Effects from Metal, these only play on particles high settings. +class ImpactMetal { + class CLASS(startSparksBurstLow) { + simulation = "particles"; + type = QCLASS(sparksBurstLow); + position[] = {0,0,0}; + intensity = 1; + interval = 0.1; + lifeTime = 0.4; + randomDirectionPeriodVar = 1; + randomDirectionIntensityVar = 1; + qualityLevel = 2; + }; + class CLASS(startSparksBurstMed) { + simulation = "particles"; + type = QCLASS(sparksBurstMed); + position[] = {0,0,0}; + intensity = 1; + interval = 0.1; + lifeTime = 0.6; + randomDirectionPeriodVar = 1; + randomDirectionIntensityVar = 1; + qualityLevel = 2; + }; + class CLASS(startSparksOmni) { + simulation = "particles"; + type = QCLASS(sparksOmni); + position[] = {0,0,0}; + intensity = 1; + interval = 10; + randomDirectionPeriodVar = 0.5; + randomDirectionIntensityVar = 2; + lifeTime = 1; + qualityLevel = 2; + }; + class CLASS(startSparksDrop) { + simulation = "particles"; + type = QCLASS(sparksDrop); + position[] = {0,0,0}; + intensity = 1; + interval = 11; + lifeTime = 1.5; + qualityLevel = 2; + }; + class CLASS(startSparksDrop2) { + simulation = "particles"; + type = QCLASS(sparksDrop2); + position[] = {0,0,0}; + intensity = 1; + interval = 1; + lifeTime = 1; + qualityLevel = 2; + }; +}; + +// Increases the visual effect of hitting something slightly, follow the same particle settings as vanilla does. +class ImpactConcrete { + class ImpactDust { + intensity = 2; + interval = 1; + lifeTime = 3; + position[] = {0, 0, 0}; + simulation = "particles"; + type = "ImpactDustConcrete"; + }; + class ImpactDust2 { + intensity = 2; + interval = 1; + lifeTime = 3; + position[] = {0, 0, 0}; + simulation = "particles"; + type = "ImpactDustConcrete2"; + }; +}; + +class ImpactEffectsSmall { + class ImpactDust1 { + intensity = 2; + interval = 1; + lifeTime = 3; + position[] = {0, 0, 0}; + qualityLevel = 2; + simulation = "particles"; + type = "ImpactDust2"; + }; + class ImpactDust1Med { + intensity = 2; + interval = 1; + lifeTime = 3; + position[] = {0, 0, 0}; + qualityLevel = 1; + simulation = "particles"; + type = "ImpactDust2"; + }; + class ImpactDust1Low { + intensity = 2; + interval = 1; + lifeTime = 3; + position[] = {0, 0, 0}; + qualityLevel = 0; + simulation = "particles"; + type = "ImpactDust2Low"; + }; + class ImpactDustWater1 { + intensity = 2; + interval = 1; + lifeTime = 3; + position[] = {0, 0, 0}; + simulation = "particles"; + type = "ImpactDustWater2"; + }; + class ImpactConcrete { + intensity = 2; + interval = 1; + lifeTime = 3; + position[] = {0, 0, 0}; + qualityLevel = 2; + simulation = "particles"; + type = "ImpactConcrete"; + }; + class ImpactConcreteMed { + intensity = 2; + interval = 1; + lifeTime = 3; + position[] = {0, 0, 0}; + qualityLevel = 1; + simulation = "particles"; + type = "ImpactConcrete"; + }; + class ImpactEffectsSmall06 { + intensity = 2; + interval = 1; + lifeTime = 3; + position[] = {0, 0, 0}; + simulation = "particles"; + type = "ImpactSandSmoke2"; + }; +}; + +class ImpactPlaster { + class ImpactDust1 { + intensity = 2; + interval = 1; + lifeTime = 3; + position[] = {0, 0, 0}; + qualityLevel = 2; + simulation = "particles"; + type = "ImpactDustPlaster"; + }; + class ImpactDust1Med { + intensity = 2; + interval = 1; + lifeTime = 3; + position[] = {0, 0, 0}; + qualityLevel = 1; + simulation = "particles"; + type = "ImpactDustPlaster"; + }; + class ImpactDust1Low { + intensity = 2; + interval = 1; + lifeTime = 3; + position[] = {0, 0, 0}; + qualityLevel = 0; + simulation = "particles"; + type = "ImpactDustPlasterLow"; + }; + class ImpactConcreteWall01 { + intensity = 2; + interval = 1; + lifeTime = 3; + position[] = {0, 0, 0}; + qualityLevel = 2; + simulation = "particles"; + type = "ImpactConcreteWall1"; + }; + class ImpactConcreteWall02 { + intensity = 2; + interval = 1; + lifeTime = 3; + position[] = {0, 0, 0}; + qualityLevel = 2; + simulation = "particles"; + type = "ImpactConcreteWall2"; + }; + class ImpactConcreteWall02Med { + intensity = 2; + interval = 1; + lifeTime = 3; + position[] = {0, 0, 0}; + qualityLevel = 1; + simulation = "particles"; + type = "ImpactConcreteWall2"; + }; + class ImpactConcreteWall03 { + intensity = 2; + interval = 1; + lifeTime = 3; + position[] = {0, 0, 0}; + qualityLevel = 2; + simulation = "particles"; + type = "ImpactConcreteWall3"; + }; + class ImpactConcreteWall03Med { + intensity = 2; + interval = 1; + lifeTime = 3; + position[] = {0, 0, 0}; + qualityLevel = 1; + simulation = "particles"; + type = "ImpactConcreteWall3"; + }; +}; diff --git a/addons/hlc_tweaks/CfgWeapons.hpp b/addons/hlc_tweaks/CfgWeapons.hpp index 4db4e1e..e2188b4 100644 --- a/addons/hlc_tweaks/CfgWeapons.hpp +++ b/addons/hlc_tweaks/CfgWeapons.hpp @@ -1,97 +1,23 @@ class CfgWeapons { + class muzzle_snds_H; + class muzzle_snds_M; + class bipod_01_F_snd; class ItemCore; - class hlc_acc_DBALPL_FL : ItemCore { - scope = 1; - }; - - // Enable Semi-Auto for AUGs + class hlc_rifle_honeybase; class hlc_aug_base; - class hlc_rifle_aug : hlc_aug_base { - class Single: Single { - showToPlayer = 1; - }; - }; - - class hlc_rifle_auga2: hlc_rifle_aug { - class Single: Single { - showToPlayer = 1; - }; - }; - - class hlc_rifle_auga3: hlc_rifle_aug { - class Single: Single { - showToPlayer = 1; - }; - class LinkedItems { - delete LinkedItemsMuzzle; - }; - }; - - class hlc_rifle_auga3_b: hlc_rifle_auga3 { - class LinkedItems { - delete LinkedItemsMuzzle; - }; - }; + class hlc_rifle_auga2carb; + class hlc_rifle_auga2; + class hlc_rifle_auga2lsw; - class hlc_rifle_auga3_bl: hlc_rifle_auga3 { - class LinkedItems { - delete LinkedItemsMuzzle; - }; - }; + #include "hidden_attachments.hpp" + #include "hidden_augRifles.hpp" + #include "singleFire_AUG.hpp" - // HBAR semi-auto, isn't not using inheritance fun guys? - class hlc_rifle_aughbar: hlc_rifle_aug { - modes[]= { - "Single", - "FullAuto", - "50", - "AI_long", - "AI_close", - "AI_short", - "AI_far", - "AI_toofar", - "AI_far_optic1" - }; - class Single: Single { - showToPlayer = 1; - }; - }; - - class hlc_rifle_aughbar_b: hlc_rifle_aughbar { - modes[] = { - "Single", - "FullAuto", - "fullauto_medium", - "single_medium_optics1", - "single_far_optics2" - }; - }; - - class hlc_rifle_aughbar_t: hlc_rifle_aughbar { - modes[] = { - "Single", - "FullAuto", - "fullauto_medium", - "single_medium_optics1", - "single_far_optics2" - }; - }; - - class hlc_rifle_auga2lsw: hlc_rifle_aughbar { - modes[]= { - "Single", - "FullAuto", - "50", - "AI_long", - "AI_close", - "AI_short", - "AI_far", - "AI_toofar", - "AI_far_optic1" - }; + class hlc_acc_DBALPL_FL: ItemCore { + scope = 1; }; - class hlc_rifle_honeybase; + // Add linked suppressor. class hlc_rifle_honeybadger: hlc_rifle_honeybase { class LinkedItems { class LinkedItemsMuzzle { diff --git a/addons/hlc_tweaks/config.cpp b/addons/hlc_tweaks/config.cpp index 2adb2fc..052b59f 100644 --- a/addons/hlc_tweaks/config.cpp +++ b/addons/hlc_tweaks/config.cpp @@ -11,6 +11,7 @@ class CfgPatches { "tacgt_theseus", "hlcweapons_core", "niaweapons_226", + "hlcweapons_acr", "hlcweapons_AUG", "hlcweapons_ar15" }; diff --git a/addons/hlc_tweaks/hidden_attachments.hpp b/addons/hlc_tweaks/hidden_attachments.hpp new file mode 100644 index 0000000..45e5fe3 --- /dev/null +++ b/addons/hlc_tweaks/hidden_attachments.hpp @@ -0,0 +1,697 @@ +// Hides pointless, broken or stupid things. + +// Charms +class HLC_Charm_base: ItemCore { + scope = 1; +}; +class HLC_Charm_Eurojank: HLC_Charm_base { + scope = 1; +}; + +class HLC_Charm_NIArmsbacker: HLC_Charm_base { + scope = 1; +}; +class HLC_Charm_NIArmsbacker_dirty: HLC_Charm_base { + scope = 1; +}; +class HLC_Charm_Izhmash: HLC_Charm_base { + scope = 1; +}; +class HLC_Charm_Herstal: HLC_Charm_base { + scope = 1; +}; +class HLC_Charm_Teethgang: HLC_Charm_base { + scope = 1; +}; + +// Panels +class HLC_Panel_base: ItemCore { + scope = 1; +}; +class HLC_Panel_Side_FN5cm_Desert: HLC_Panel_base { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Side_2xFN5cm_Desert: HLC_Panel_base { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Side_FN10cm_Desert: HLC_Panel_base { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Side_FN15cm_Desert: HLC_Panel_base { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Side_Ladder_S_Desert: HLC_Panel_base { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Side_Ladder_M_Desert: HLC_Panel_base { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Side_Ladder_L_Desert: HLC_Panel_base { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Side_MagpulXT_Desert: HLC_Panel_base { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Side_XTME_Desert: HLC_Panel_base { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Side_2xXTME_Desert: HLC_Panel_base { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Side_4xXTME_Desert: HLC_Panel_base { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Side_6xXTME_Desert: HLC_Panel_base { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Side_FN5cm_Black: HLC_Panel_base { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Side_2xFN5cm_Black: HLC_Panel_base { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Side_FN10cm_Black: HLC_Panel_base { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Side_FN15cm_Black: HLC_Panel_base { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Side_Ladder_S_Black: HLC_Panel_base { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Side_Ladder_M_Black: HLC_Panel_base { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Side_Ladder_L_Black: HLC_Panel_base { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Side_MagpulXT_Black: HLC_Panel_base { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Side_XTME_Black: HLC_Panel_base { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Side_2xXTME_Black: HLC_Panel_base { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Side_4xXTME_Black: HLC_Panel_base { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Side_6xXTME_Black: HLC_Panel_base { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Side_FN5cm_OD: HLC_Panel_base { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Side_2xFN5cm_OD: HLC_Panel_base { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Side_FN10cm_OD: HLC_Panel_base { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Side_FN15cm_OD: HLC_Panel_base { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Side_Ladder_S_OD: HLC_Panel_base { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Side_Ladder_M_OD: HLC_Panel_base { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Side_Ladder_L_OD: HLC_Panel_base { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Side_MagpulXT_OD: HLC_Panel_base { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Side_XTME_OD: HLC_Panel_base { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Side_2xXTME_OD: HLC_Panel_base { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Side_4xXTME_OD: HLC_Panel_base { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Side_6xXTME_OD: HLC_Panel_base { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Side_Ladder_S_Pride2: HLC_Panel_base { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Side_Ladder_M_Pride2: HLC_Panel_base { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Side_Ladder_L_Pride2: HLC_Panel_base { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Side_MagpulXT_Pride2: HLC_Panel_base { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Side_FN5cm_RG: HLC_Panel_base { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Side_2xFN5cm_RG: HLC_Panel_base { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Side_FN10cm_RG: HLC_Panel_base { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Side_FN15cm_RG: HLC_Panel_base { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Side_Ladder_S_RG: HLC_Panel_base { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Side_Ladder_M_RG: HLC_Panel_base { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Side_Ladder_L_RG: HLC_Panel_base { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Side_MagpulXT_RG: HLC_Panel_base { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Side_XTME_RG: HLC_Panel_base { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Side_2xXTME_RG: HLC_Panel_base { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Side_4xXTME_RG: HLC_Panel_base { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Side_6xXTME_RG: HLC_Panel_base { + scope = 1; + scopeArsenal = 1; +}; + +class HLC_Panel_Side_ACR_FN5cm_Desert: HLC_Panel_Side_FN5cm_Desert { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Side_ACR_FN10cm_Desert: HLC_Panel_Side_FN10cm_Desert { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Side_ACR_FN15cm_Desert: HLC_Panel_Side_FN15cm_Desert { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Side_ACR_2xFN5cm_Desert: HLC_Panel_Side_2xFN5cm_Desert { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Side_ACR_Ladder_S_Desert: HLC_Panel_Side_Ladder_S_Desert { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Side_ACR_Ladder_M_Desert: HLC_Panel_Side_Ladder_M_Desert { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Side_ACR_Ladder_L_Desert: HLC_Panel_Side_Ladder_L_Desert { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Side_ACR_MagpulXT_Desert: HLC_Panel_Side_MagpulXT_Desert { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Side_ACR_XTME_Desert: HLC_Panel_Side_XTME_Desert { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Side_ACR_2xXTME_Desert: HLC_Panel_Side_2xXTME_Desert { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Side_ACR_4xXTME_Desert: HLC_Panel_Side_4xXTME_Desert { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Side_ACR_FN5cm_Black: HLC_Panel_Side_FN5cm_Black { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Side_ACR_FN10cm_Black: HLC_Panel_Side_FN10cm_Black { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Side_ACR_FN15cm_Black: HLC_Panel_Side_FN15cm_Black { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Side_ACR_2xFN5cm_Black: HLC_Panel_Side_2xFN5cm_Black { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Side_ACR_Ladder_S_Black: HLC_Panel_Side_Ladder_S_Black { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Side_ACR_Ladder_M_Black: HLC_Panel_Side_Ladder_M_Black { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Side_ACR_Ladder_L_Black: HLC_Panel_Side_Ladder_L_Black { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Side_ACR_MagpulXT_Black: HLC_Panel_Side_MagpulXT_Black { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Side_ACR_XTME_Black: HLC_Panel_Side_XTME_Black { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Side_ACR_2xXTME_Black: HLC_Panel_Side_2xXTME_Black { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Side_ACR_4xXTME_Black: HLC_Panel_Side_4xXTME_Black { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Side_ACR_FN5cm_OD: HLC_Panel_Side_FN5cm_OD { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Side_ACR_FN10cm_OD: HLC_Panel_Side_FN10cm_OD { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Side_ACR_FN15cm_OD: HLC_Panel_Side_FN15cm_OD { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Side_ACR_2xFN5cm_OD: HLC_Panel_Side_2xFN5cm_OD { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Side_ACR_Ladder_S_OD: HLC_Panel_Side_Ladder_S_OD { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Side_ACR_Ladder_M_OD: HLC_Panel_Side_Ladder_M_OD { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Side_ACR_Ladder_L_OD: HLC_Panel_Side_Ladder_L_OD { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Side_ACR_MagpulXT_OD: HLC_Panel_Side_MagpulXT_OD { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Side_ACR_XTME_OD: HLC_Panel_Side_XTME_OD { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Side_ACR_2xXTME_OD: HLC_Panel_Side_2xXTME_OD { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Side_ACR_4xXTME_OD: HLC_Panel_Side_4xXTME_OD { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Side_ACR_FN5cm_RG: HLC_Panel_Side_FN5cm_RG { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Side_ACR_FN10cm_RG: HLC_Panel_Side_FN10cm_RG { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Side_ACR_FN15cm_RG: HLC_Panel_Side_FN15cm_RG { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Side_ACR_2xFN5cm_RG: HLC_Panel_Side_2xFN5cm_RG { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Side_ACR_Ladder_S_RG: HLC_Panel_Side_Ladder_S_RG { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Side_ACR_Ladder_M_RG: HLC_Panel_Side_Ladder_M_RG { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Side_ACR_Ladder_L_RG: HLC_Panel_Side_Ladder_L_RG { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Side_ACR_MagpulXT_RG: HLC_Panel_Side_MagpulXT_RG { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Side_ACR_XTME_RG: HLC_Panel_Side_XTME_RG { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Side_ACR_2xXTME_RG: HLC_Panel_Side_2xXTME_RG { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Side_ACR_4xXTME_RG: HLC_Panel_Side_4xXTME_RG { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Side_ACR_Ladder_S_Pride: HLC_Panel_Side_Ladder_S_Pride2 { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Side_ACR_Ladder_M_Pride: HLC_Panel_Side_Ladder_M_Pride2 { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Side_ACR_Ladder_L_Pride: HLC_Panel_Side_Ladder_L_Pride2 { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Side_ACR_MagpulXT_Pride: HLC_Panel_Side_MagpulXT_Pride2 { + scope = 1; + scopeArsenal = 1; +}; + +// Bipods +class HLC_bipod_UTGShooters: bipod_01_F_snd { + scope = 1; + scopeArsenal = 1; +}; +class HLC_ISOPOD: HLC_bipod_UTGShooters { + scope = 1; + scopeArsenal = 1; +}; +class hlc_grip_AFG2: HLC_bipod_UTGShooters { + scope = 1; + scopeArsenal = 1; +}; +class hlc_grip_AFG: HLC_bipod_UTGShooters { + scope = 1; + scopeArsenal = 1; +}; +class hlc_grip_PMVFG: HLC_bipod_UTGShooters { + scope = 1; + scopeArsenal = 1; +}; +class hlc_grip_PMVFG_Black: hlc_grip_PMVFG { + scope = 1; + scopeArsenal = 1; +}; +class hlc_grip_PMVFG_Tan: hlc_grip_PMVFG { + scope = 1; + scopeArsenal = 1; +}; + +// Bipod "Panels" +class HLC_Panel_Under_base: HLC_bipod_UTGShooters { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Under_FN5cm_Desert: HLC_Panel_Under_base { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Under_2xFN5cm_Desert: HLC_Panel_Under_base { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Under_FN10cm_Desert: HLC_Panel_Under_base { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Under_FN15cm_Desert: HLC_Panel_Under_base { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Under_Ladder_S_Desert: HLC_Panel_Under_base { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Under_Ladder_M_Desert: HLC_Panel_Under_base { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Under_Ladder_L_Desert: HLC_Panel_Under_base { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Under_MagpulXT_Desert: HLC_Panel_Under_base { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Under_XTME_Desert: HLC_Panel_Under_base { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Under_2xXTME_Desert: HLC_Panel_Under_base { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Under_4xXTME_Desert: HLC_Panel_Under_base { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Under_6xXTME_Desert: HLC_Panel_Under_base { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Under_FN5cm_Black: HLC_Panel_Under_base { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Under_2xFN5cm_Black: HLC_Panel_Under_base { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Under_FN10cm_Black: HLC_Panel_Under_base { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Under_FN15cm_Black: HLC_Panel_Under_base { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Under_Ladder_S_Black: HLC_Panel_Under_base { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Under_Ladder_M_Black: HLC_Panel_Under_base { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Under_Ladder_L_Black: HLC_Panel_Under_base { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Under_MagpulXT_Black: HLC_Panel_Under_base { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Under_XTME_Black: HLC_Panel_Under_base { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Under_2xXTME_Black: HLC_Panel_Under_base { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Under_4xXTME_Black: HLC_Panel_Under_base { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Under_6xXTME_Black: HLC_Panel_Under_base { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Under_FN5cm_OD: HLC_Panel_Under_base { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Under_2xFN5cm_OD: HLC_Panel_Under_base { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Under_FN10cm_OD: HLC_Panel_Under_base { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Under_FN15cm_OD: HLC_Panel_Under_base { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Under_Ladder_S_OD: HLC_Panel_Under_base { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Under_Ladder_M_OD: HLC_Panel_Under_base { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Under_Ladder_L_OD: HLC_Panel_Under_base { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Under_MagpulXT_OD: HLC_Panel_Under_base { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Under_XTME_OD: HLC_Panel_Under_base { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Under_2xXTME_OD: HLC_Panel_Under_base { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Under_4xXTME_OD: HLC_Panel_Under_base { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Under_6xXTME_OD: HLC_Panel_Under_base { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Under_FN5cm_RG: HLC_Panel_Under_base { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Under_2xFN5cm_RG: HLC_Panel_Under_base { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Under_FN10cm_RG: HLC_Panel_Under_base { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Under_FN15cm_RG: HLC_Panel_Under_base { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Under_Ladder_S_RG: HLC_Panel_Under_base { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Under_Ladder_M_RG: HLC_Panel_Under_base { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Under_Ladder_L_RG: HLC_Panel_Under_base { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Under_MagpulXT_RG: HLC_Panel_Under_base { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Under_XTME_RG: HLC_Panel_Under_base { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Under_2xXTME_RG: HLC_Panel_Under_base { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Under_4xXTME_RG: HLC_Panel_Under_base { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Under_6xXTME_RG: HLC_Panel_Under_base { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Under_Ladder_S_Pride: HLC_Panel_Under_base { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Under_Ladder_M_Pride: HLC_Panel_Under_base { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Under_Ladder_L_Pride: HLC_Panel_Under_base { + scope = 1; + scopeArsenal = 1; +}; +class HLC_Panel_Under_MagpulXT_Pride: HLC_Panel_Under_base { + scope = 1; + scopeArsenal = 1; +}; + +// Muzzle Devices +class hlc_muzzle_SF3P_556: muzzle_snds_H { + scope = 1; + scopeArsenal = 1; +}; +class hlc_muzzle_SF3P_68: muzzle_snds_H { + scope = 1; + scopeArsenal = 1; +}; +class hlc_muzzle_SF3P_762: muzzle_snds_H { + scope = 1; + scopeArsenal = 1; +}; +class hlc_muzzle_SF3P_762R: hlc_muzzle_SF3P_762 { + scope = 1; + scopeArsenal = 1; +}; +class hlc_muzzle_Tundra: muzzle_snds_M { + scope = 1; + scopeArsenal = 1; +}; diff --git a/addons/hlc_tweaks/hidden_augRifles.hpp b/addons/hlc_tweaks/hidden_augRifles.hpp new file mode 100644 index 0000000..772ea5a --- /dev/null +++ b/addons/hlc_tweaks/hidden_augRifles.hpp @@ -0,0 +1,91 @@ +// Some cause pop-up errors. +class hlc_rifle_aug: hlc_aug_base { + scope = 1; + scopeArsenal = 1; +}; +class hlc_rifle_auga1_t: hlc_rifle_aug { + scope = 1; + scopeArsenal = 1; +}; +class hlc_rifle_auga1_b: hlc_rifle_aug { + scope = 1; + scopeArsenal = 1; +}; + +class hlc_rifle_auga1carb: hlc_rifle_aug { + scope = 1; + scopeArsenal = 1; +}; +class hlc_rifle_auga1carb_B: hlc_rifle_auga1carb { + scope = 1; + scopeArsenal = 1; +}; +class hlc_rifle_auga1carb_t: hlc_rifle_auga1carb { + scope = 1; + scopeArsenal = 1; +}; + +class hlc_rifle_augsr: hlc_rifle_auga2 { + scope = 1; + scopeArsenal = 1; +}; +class hlc_rifle_augsr_t: hlc_rifle_augsr { + scope = 1; + scopeArsenal = 1; +}; +class hlc_rifle_augsr_b: hlc_rifle_augsr { + scope = 1; + scopeArsenal = 1; +}; + +class hlc_rifle_augsrcarb: hlc_rifle_auga2carb { + scope = 1; + scopeArsenal = 1; +}; +class hlc_rifle_augsrcarb_t: hlc_rifle_augsrcarb { + scope = 1; + scopeArsenal = 1; +}; +class hlc_rifle_augsrcarb_b: hlc_rifle_augsrcarb { + scope = 1; + scopeArsenal = 1; +}; + +class hlc_rifle_augsrhbar: hlc_rifle_auga2lsw { + scope = 1; + scopeArsenal = 1; +}; +class hlc_rifle_augsrhbar_t: hlc_rifle_augsrhbar { + scope = 1; + scopeArsenal = 1; +}; +class hlc_rifle_augsrhbar_b: hlc_rifle_augsrhbar { + scope = 1; + scopeArsenal = 1; +}; + +class hlc_rifle_augpara: hlc_aug_base { + scope = 1; + scopeArsenal = 1; +}; +class hlc_rifle_augpara_b: hlc_rifle_augpara { + scope = 1; + scopeArsenal = 1; +}; +class hlc_rifle_augpara_t: hlc_rifle_augpara { + scope = 1; + scopeArsenal = 1; +}; + +class hlc_rifle_auga2para: hlc_aug_base { + scope = 1; + scopeArsenal = 1; +}; +class hlc_rifle_auga2para_t: hlc_rifle_auga2para { + scope = 1; + scopeArsenal = 1; +}; +class hlc_rifle_auga2para_b: hlc_rifle_auga2para { + scope = 1; + scopeArsenal = 1; +}; diff --git a/addons/hlc_tweaks/singleFire_AUG.hpp b/addons/hlc_tweaks/singleFire_AUG.hpp new file mode 100644 index 0000000..dee669e --- /dev/null +++ b/addons/hlc_tweaks/singleFire_AUG.hpp @@ -0,0 +1,88 @@ +// Enable Semi-Auto for AUGs +class hlc_rifle_aug: hlc_aug_base { + class Single: Single { + showToPlayer = 1; + }; +}; + +class hlc_rifle_auga2: hlc_rifle_aug { + class Single: Single { + showToPlayer = 1; + }; +}; + +class hlc_rifle_auga3: hlc_rifle_aug { + scope = 2; + scopeArsenal = 2; + class Single: Single { + showToPlayer = 1; + }; + class LinkedItems { + delete LinkedItemsMuzzle; + }; +}; +class hlc_rifle_auga3_b: hlc_rifle_auga3 { + class LinkedItems { + delete LinkedItemsMuzzle; + }; +}; + +class hlc_rifle_auga3_bl: hlc_rifle_auga3 { + class LinkedItems { + delete LinkedItemsMuzzle; + }; +}; + +// HBAR semi-auto, isn't not using inheritance fun guys? +class hlc_rifle_aughbar: hlc_rifle_aug { + scope = 2; + scopeArsenal = 2; + modes[] = { + "Single", + "FullAuto", + "50", + "AI_long", + "AI_close", + "AI_short", + "AI_far", + "AI_toofar", + "AI_far_optic1" + }; + class Single: Single { + showToPlayer = 1; + }; +}; + +class hlc_rifle_aughbar_b: hlc_rifle_aughbar { + modes[] = { + "Single", + "FullAuto", + "fullauto_medium", + "single_medium_optics1", + "single_far_optics2" + }; +}; + +class hlc_rifle_aughbar_t: hlc_rifle_aughbar { + modes[] = { + "Single", + "FullAuto", + "fullauto_medium", + "single_medium_optics1", + "single_far_optics2" + }; +}; + +class hlc_rifle_auga2lsw: hlc_rifle_aughbar { + modes[] = { + "Single", + "FullAuto", + "50", + "AI_long", + "AI_close", + "AI_short", + "AI_far", + "AI_toofar", + "AI_far_optic1" + }; +};