Skip to content

Commit

Permalink
Chemical - Improve various aspects (#597)
Browse files Browse the repository at this point in the history
**When merged this pull request will:**
- add removeGlobalEventJIP 
- change breathing and handleGasMaskDur to event based

More to come I guess

### IMPORTANT

- [Development Guidelines](https://ace3.acemod.org/wiki/development/)
are read, understood and applied.
- Title of this PR uses our standard template `Component -
Add|Fix|Improve|Change|Make|Remove {changes}`.

---------

Co-authored-by: mazinskihenry <[email protected]>
  • Loading branch information
MiszczuZPolski and mazinskihenry authored Dec 2, 2024
1 parent 0fff37f commit bbbfde3
Show file tree
Hide file tree
Showing 56 changed files with 662 additions and 1,033 deletions.
4 changes: 2 additions & 2 deletions .hemtt/launch.toml
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,5 @@
workshop = [
"450814997", # CBA_A3's Workshop ID
"463939057", # ACE3's Workshop ID
"2369477168", # Advanced Developer Tools's Workshop ID
]
"2369477168" # Advanced Developer Tools's Workshop ID
]
25 changes: 11 additions & 14 deletions addons/chemical/CfgAmmo.hpp
Original file line number Diff line number Diff line change
@@ -1,17 +1,16 @@
class CfgAmmo
{
class CfgAmmo {

class SmokeShellArty;
class KAT_SmokeShellArty: SmokeShellArty{
class KAT_SmokeShellArty: SmokeShellArty {
smokeColor[] = {0,0,0,0};
};

class Smoke_82mm_AMOS_White;
class Sh_82mm_AMOS_Type0: Smoke_82mm_AMOS_White
{
class Sh_82mm_AMOS_Type0: Smoke_82mm_AMOS_White {
KAT_projectile = 1;
KAT_lifetime = 90;
KAT_radius = 10;
KAT_toxicLvL = 0;
KAT_toxicLvL = 1;
soundFakeFall[] = {"soundFakeFall0",0.25,"soundFakeFall1",0.25,"soundFakeFall2",0.25,"soundFakeFall3",0.25};
soundFakeFall0[] = {"a3\Sounds_F\weapons\falling_bomb\fall_01",3.16228,1,1000};
soundFakeFall1[] = {"a3\Sounds_F\weapons\falling_bomb\fall_02",3.16228,1,1000};
Expand All @@ -21,17 +20,16 @@ class CfgAmmo
whistleOnFire = 2;
submunitionAmmo = "KAT_SmokeShellArty";
};
class Sh_82mm_AMOS_TypeCS: Sh_82mm_AMOS_Type0
{

class Sh_82mm_AMOS_TypeCS: Sh_82mm_AMOS_Type0 {
KAT_projectile = 1;
KAT_lifetime = 60;
KAT_radius = 10;
KAT_toxicLvL = 1; //cs
KAT_toxicLvL = 0; //cs
};

class SmokeShell;
class KAT_G_M7A3: SmokeShell
{
class KAT_G_M7A3: SmokeShell {
KAT_csGas = 1;
model = QPATHTOF(ui\m7a3_throw.p3d);
dangerRadiusHit = -1;
Expand All @@ -58,7 +56,7 @@ class CfgAmmo
indirectHit = 0;
indirectHitRange = 0;
soundHit[] = {"A3\Sounds_F\weapons\smokeshell\smoke_3",1.25893,1,100};
explosionEffects = "KAT_GASTripEffect";
explosionEffects = "KAT_TripWireGasEffect";
CraterEffects = "";
soundTrigger[] = {"",1,1};
class CamShakeExplode {
Expand Down Expand Up @@ -115,9 +113,8 @@ class CfgAmmo
frequency = 5;
distance = 250;
};


};

class Mo_cluster_Bomb_01_F;
class KAT_CAS_M43_Ammo_sub: Mo_cluster_Bomb_01_F {
hit = 0;
Expand Down
22 changes: 11 additions & 11 deletions addons/chemical/CfgCloudlets.hpp
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
class CfgCloudlets {
class Default;
class ACE_GasTrip: Default {
class KAT_TripWireGas: Default {
lifeTime = 0;
beforeDestroyScript = QPATHTOF(functions\fnc_GasTripEffect.sqf);
};

class CAS_GAS_Explosion_FX_Script: Default {
class KAT_CAS_GAS_Explosion_FX_Script: Default {
lifeTime = 0;
beforeDestroyScript = QPATHTOF(functions\fnc_CASCreateGas.sqf);
};

class CAS_GAS_Explosion_FX: Default {
class KAT_CAS_GAS_Explosion_FX: Default {
interval = 0.03;
circleRadius = 0;
circleVelocity[] = {0,0,0};
Expand Down Expand Up @@ -63,7 +63,7 @@ class CfgCloudlets {
position[] = {0,0,0};
};

class CAS_GAS_FX: Default {
class KAT_CAS_GAS_FX: Default {
interval = 0.03;
circleRadius = 0;
circleVelocity[] = {0,0,0};
Expand Down Expand Up @@ -113,47 +113,47 @@ class CfgCloudlets {
};
};

class KAT_GASTripEffect {
class KAT_TripWireGasEffect {
class spawnGAS {
simulation = "particles";
type = "ACE_GasTrip";
type = "KAT_TripWireGas";
position = "explosionPos";
};
};

class KAT_GAS_ClusterExplosion {
class ExplosionEffect {
simulation = "particles";
type = "CAS_GAS_Explosion_FX";
type = "KAT_CAS_GAS_Explosion_FX";
position = "explosionPos";
lifeTime = 2;
particleFSLoop = 1;
};
class CAS_GAS_Effect {
simulation = "particles";
type = "CAS_GAS_FX";
type = "KAT_CAS_GAS_FX";
position = "explosionPos";
lifeTime = 240;
particleFSLoop = 1;
};
class GAS_Script {
simulation = "particles";
type = "CAS_GAS_Explosion_FX_Script";
type = "KAT_CAS_GAS_Explosion_FX_Script";
position = "explosionPos";
};
};

class KAT_CAS_R_HYDRA_Explosion {
class CAS_R_GAS_Effect {
simulation = "particles";
type = "CAS_GAS_FX";
type = "KAT_CAS_GAS_FX";
position = "explosionPos";
lifeTime = 240;
particleFSLoop = 1;
};
class R_GAS_Script {
simulation = "particles";
type = "CAS_GAS_Explosion_FX_Script";
type = "KAT_CAS_GAS_Explosion_FX_Script";
position = "explosionPos";
};
};
Expand Down
6 changes: 3 additions & 3 deletions addons/chemical/CfgGlasses.hpp
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
class cfgGlasses
class CfgGlasses
{
class G_RegulatorMask_F;
class kat_mask_M50: G_RegulatorMask_F
Expand All @@ -11,12 +11,12 @@ class cfgGlasses
mass = 4;

};

class kat_mask_M04: kat_mask_M50
{
author = "Assaultboy";
displayname = "M04 Promask";
model = QPATHTOF(models\kat_mask_m04.p3d);
picture = QPATHTOF(ui\maskM04.paa);
};
};
};
14 changes: 7 additions & 7 deletions addons/chemical/CfgMagazines.hpp
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
class cfgMagazines
class CfgMagazines
{
class ACE_1Rnd_82mm_Mo_HE;
class KAT_1Rnd_82mm_Mo_Type0: ACE_1Rnd_82mm_Mo_HE
Expand All @@ -14,15 +14,15 @@ class cfgMagazines
scope = 1;
count = 5;
};
class KAT_1Rnd_82mm_Mo_TypeCS: ACE_1Rnd_82mm_Mo_HE
class KAT_1Rnd_82mm_Mo_TypeCS: ACE_1Rnd_82mm_Mo_HE
{
author="DiGii";
ammo="Sh_82mm_AMOS_TypeCS";
displayNameMFDFormat= CSTRING(CSGas_MFDNAME);
displayNameShort= CSTRING(CSGas_MFDNAME);
displayName= CSTRING(CSGas_DisplayName);
};
class KAT_3Rnd_82mm_Mo_TypeCS_AI: KAT_1Rnd_82mm_Mo_TypeCS
class KAT_3Rnd_82mm_Mo_TypeCS_AI: KAT_1Rnd_82mm_Mo_TypeCS
{
scope = 1;
count = 3;
Expand All @@ -36,7 +36,7 @@ class cfgMagazines
descriptionShort = CSTRING(M7A3_DcsShort);
displayNameShort = CSTRING(M7A3_CSGrenade_ShortName);
model = QPATHTOF(ui\m7a3.p3d);
picture = QPATHTOF(ui\KAT_m7a3_ca.paa);
picture = QPATHTOF(ui\KAT_m7a3_ca.paa);
ammo = "KAT_G_M7A3";
mass = 4;
};
Expand Down Expand Up @@ -69,7 +69,7 @@ class cfgMagazines
pylonWeapon = "KAT_CAS_M43_Bomb";
};

class KAT_CAS_M43_Mag_x2 : PylonRack_Bomb_GBU12_x2
class KAT_CAS_M43_Mag_x2 : PylonRack_Bomb_GBU12_x2
{
ammo = "KAT_CAS_M43_Ammo";
author = "DiGii";
Expand All @@ -82,7 +82,7 @@ class cfgMagazines
mass = 200;
pylonWeapon = "KAT_CAS_M43_Bomb";
};

class PylonRack_19Rnd_Rocket_Skyfire;
class KAT_CAS_R_80mm_GAS_MAG: PylonRack_19Rnd_Rocket_Skyfire {
ammo = "KAT_CAS_R_80mm_GAS_AMMO";
Expand All @@ -93,4 +93,4 @@ class cfgMagazines
pylonWeapon = "KAT_CAS_R_80mm_GAS_POD";
hardpoints[] = {"RHS_HP_UPK23_KA52","RHS_HP_9m120_Mi28","RHS_HP_KH55SM_INT","RHS_HP_TU95MS6_INT","RHS_HP_FFAR_ARMY","RHS_HP_MELB","O_MISSILE_PYLON","O_SKYFIRE","B_MISSILE_PYLON","DAGR","DAR","B_SHIEKER","CUP_PylonPod_19Rnd_Rocket_FFAR_plane_M","CUP_NATO_HELO_ROCKETS","CUP_19Rnd_FFAR","B_AH_99_PYLON","CUP_SUPER_PYLON","CUP_32Rnd_S5","pook_RPOD","RHS_HP_FFAR_USMC", "RHS_HP_INGWE", "RHS_HP_MELB_R", "RHS_HP_MELB","RHS_HP_UB32","pook_HELI_BMB","pook_HELI_MISSILERACK"};
};
};
};
47 changes: 25 additions & 22 deletions addons/chemical/CfgVehicles.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -19,19 +19,21 @@ class CfgVehicles {
showDisabled = 0;
icon = QPATHTOF(ui\gasmaskfilter_ca.paa);
};
class KAT_MuteChemDetector {
displayName = CSTRING(ChemDetector_Mute);
condition = QUOTE([ARR_2(_player,true)] call FUNC(getChemDetectorState));
statement = QUOTE(_player setVariable [ARR_3(QQGVAR(chemDetectorState),false,true)]);
class KAT_PutOnGasMask {
displayName = CSTRING(PutOnGasMask);
condition = QUOTE([_player] call FUNC(canPutOnGasMask));
exceptions[] = {"isNotSwimming", "isNotInside", "isNotSitting"};
statement = QUOTE([_player] call FUNC(putOnGasMask));
showDisabled = 0;
icon = QPATHTOF(ui\ChemDetectorIcon.paa);
icon = QPATHTOF(ui\Gasmask_icon.paa);
};
class KAT_UnmuteChemDetector {
displayName = CSTRING(ChemDetector_Unmute);
condition = QUOTE([ARR_2(_player,false)] call FUNC(getChemDetectorState));
statement = QUOTE(_player setVariable [ARR_3(QQGVAR(chemDetectorState),true,true)]);
class KAT_TakeOffGasMask {
displayName = CSTRING(TakeOffGasMask);
condition = QUOTE([_player] call FUNC(canTakeOffGasMask));
exceptions[] = {"isNotSwimming", "isNotInside", "isNotSitting"};
statement = QUOTE([_player] call FUNC(takeOffGasMask));
showDisabled = 0;
icon = QPATHTOF(ui\ChemDetectorIcon.paa);
icon = QPATHTOF(ui\Gasmask_icon.paa);
};
};
};
Expand Down Expand Up @@ -96,32 +98,25 @@ class CfgVehicles {
function = QFUNC(gasmodule);
isTriggerActivated = 0;
functionPriority = 1;
isGlobal = 1;
isGlobal = 0;

class Arguments: AttributesBase
{
class Radius_Max
class Radius
{
displayName = CSTRING(UI_max_range);
tooltip = CSTRING(GasModule_min_radius_dcs);
typeName = "NUMBER";
defaultValue = 20;
};
class Radius_Min
{
displayName = CSTRING(UI_min_range);
tooltip = CSTRING(GasModule_max_radius_dcs);
typeName = "NUMBER";
defaultValue = 10;
};
class GAS_Type
{
displayName = CSTRING(UI_gasType);
typeName = "NUMBER";
class values {
class toxicgas {
class ToxicGas {
name = CSTRING(LvL1_Gas);
value = 0;
value = 1;
default = 1;
};
/* class csgas {
Expand Down Expand Up @@ -160,10 +155,11 @@ class CfgVehicles {
curatorCanAttach = 1;
displayName = CSTRING(GasModule_Displayname);
category = QEGVAR(zeus,KAM);
function = QACEFUNC(common,dummy);
curatorInfoType = QGVAR(kat_RscGasModul);
isTriggerActivated = 0;
functionPriority = 1;
isGlobal = 1;
isGlobal = 0;
};


Expand Down Expand Up @@ -214,4 +210,11 @@ class CfgVehicles {
ammo = "KAT_Gas_TripWireMine_Ammo";
displayName = CSTRING(TriWire_Gas_Name);
};


class Static;
class GVAR(logic): Static {
scope = 1;
displayName = "";
};
};
15 changes: 6 additions & 9 deletions addons/chemical/XEH_PREP.hpp
Original file line number Diff line number Diff line change
@@ -1,29 +1,23 @@
PREP(afterWait);
PREP(AttributeRadius);
PREP(breathing);
PREP(canPutGasMask);
PREP(canPutOnGasMask);
PREP(canReplaceFilter);
PREP(canTakeOffGasMask);
PREP(CASCreateGas);
PREP(changeGasMaskFilter);
PREP(checkGasMaskDur);
PREP(chemDetector);
PREP(coughing);
PREP(createSealAction);
PREP(createZone);
PREP(csGrenade);
PREP(displayGasMaskDur);
PREP(fullHealLocal);
PREP(gasAI);
PREP(gasCheck);
PREP(gasCheckLocal);
PREP(gasManagerPFH);
PREP(gasmodule);
PREP(GasTripEffect);
PREP(getChemDetectorState);
PREP(getList);
PREP(giveUnitGasMask);
PREP(gui_updateBodyImage);
PREP(gui_updateInjuryListGeneral);
PREP(handleCSGas);
PREP(handleFired);
PREP(handleGasMaskDur);
PREP(handleRespawn);
Expand All @@ -32,8 +26,11 @@ PREP(hasGasMaskON);
PREP(hideChemDetector);
PREP(init);
PREP(initModule);
PREP(poison);
PREP(putOnGasMask);
PREP(showChemDetector);
PREP(spawnSmoke);
PREP(takeOffGasMask);
PREP(throwGrenade);
PREP(treatmentAdvanced_AtropineLocal);
PREP(ui_gasModule);
Loading

0 comments on commit bbbfde3

Please sign in to comment.