ACE3/optionals/compat_sog/CfgMagazines/explosives.hpp
BaerMitUmlaut 54c9cf6c61
S.O.G. Prairie Fire Compatibility (#8284)
* Added initial compat

* Added G-Forces compatibility

* Added Reload compatibility

* Add fuel capacities to planes and helicopters

* Add fuel capacities to wheeled and tracked vehicles, added fuel cargo config

* Add fuel capacities to OH-6

* Removed custom fuel capacities from Mi-2 with external tanks

* Fix config errors

* Add CSW compatibility for static guns

* Add ACE arsenal to EMM main menu

* Add CBA versioning check for SOG:PF

* Add vn_emm to requiredAddons

required for main menu patching

* Fix arsenal not being added to main menu

* Fix styling of ACE Arsenal button

* Add CSW compat for mortars

* Disable dragging of large statics

* Disable frag for molotov

* Set damage type of melee ammo

* Add custom damage handling for punji traps

* Add ACE Explosives compat to M18 Claymores

* Improve digDistance of Claymore x3

* Add ACE Explosives compat to M14 and M16 mines

* Add Explosives compat for M16 Trip Wire mines

* Add Explosives compat for F1 Trip Wire mines

* Add Explosives compat for Arty Shell Trip wire mine

* Improve interaction points for explosives

* Add Explosives compat for Satchel charge and AT mine

* Add Explosives compat for Punji traps, improve comments

* Add Explosives compat to M112 Breaching charge

* Rename mines.hpp to explosives.hpp

* Allow digging spiderholes with entrenching tool

* Fix minor config errors

* Add CSW pictures, models and stringtable entries

* Add missing stringtable entries

* Add CSW weapon pictures and stringtable entries

* Handle punji trap damage with disabled medical

* Disable cookoff for bicycles

* Remove custom digging tools (needs deeper changes)

* Improve spiderhole digging translation

* Fill CfgPatches units and weapons arrays for Zeus

* Add witty comment

* Use lowercase for external component names

* Fix indentation

* Fix missing base class

* Remove accidentally added files

* pboProject fixes for S.O.G. Prairie Fire Compatibility (#8311)

* Change macros to work with pboproject

* Add placeholders for VN p3d files

* Add ending newlines

Co-authored-by: jonpas <jonpas33@gmail.com>

* Fix UBC

Co-authored-by: mharis001 <34453221+mharis001@users.noreply.github.com>

Co-authored-by: Filip Maciejewski <veteran29@users.noreply.github.com>
Co-authored-by: Björn Dahlgren <bjorn@dahlgren.io>
Co-authored-by: jonpas <jonpas33@gmail.com>
Co-authored-by: mharis001 <34453221+mharis001@users.noreply.github.com>
2021-10-05 13:28:43 +02:00

195 lines
5.0 KiB
C++

class vn_magazine;
// Claymore (Remote)
class vn_mine_m18_mag: vn_magazine {
useAction = 0;
displayNameShort = ""; // Every explosive inherits this and it breaks naming in the placing menu
EGVAR(explosives,Placeable) = 1;
EGVAR(explosives,SetupObject) = QEXPLOSIVES_PLACE(m18);
class ACE_Triggers {
SupportedTriggers[] = {"Command", "MK16_Transmitter"};
class Command {
digDistance = -0.05;
fuseTime = 0.5;
};
class MK16_Transmitter: Command {};
};
};
// Claymore (Proximity)
class vn_mine_m18_range_mag: vn_mine_m18_mag {
class ACE_Triggers {
SupportedTriggers[] = {"PressurePlate"};
class PressurePlate {
digDistance = -0.05;
};
};
};
// Claymore x3 (Remote)
class vn_mine_m18_x3_mag: vn_mine_m18_mag {
EGVAR(explosives,SetupObject) = QEXPLOSIVES_PLACE(m18_x3);
class ACE_Triggers {
SupportedTriggers[] = {"Command", "MK16_Transmitter"};
class Command {
digDistance = 0.02;
fuseTime = 0.5;
};
class MK16_Transmitter: Command {};
};
};
// Claymore x3 (Proximity)
class vn_mine_m18_x3_range_mag: vn_mine_m18_x3_mag {
class ACE_Triggers {
SupportedTriggers[] = {"PressurePlate"};
class PressurePlate {
digDistance = 0.02;
};
};
};
// Toe-Popper
class vn_mine_m14_mag: vn_mine_m18_mag {
EGVAR(explosives,SetupObject) = QEXPLOSIVES_PLACE(m14);
class ACE_Triggers {
SupportedTriggers[] = {"PressurePlate"};
class PressurePlate {
digDistance = 0.001;
};
};
};
// Bounding Mine
class vn_mine_m16_mag: vn_mine_m18_mag {
EGVAR(explosives,SetupObject) = QEXPLOSIVES_PLACE(m16);
class ACE_Triggers {
SupportedTriggers[] = {"PressurePlate"};
class PressurePlate {
digDistance = 0.02;
};
};
};
// Bounding Mine (Trip Wire 2m)
class vn_mine_tripwire_m16_02_mag: vn_mine_m16_mag {
EGVAR(explosives,SetupObject) = QEXPLOSIVES_PLACE(m16_tripwire_2m);
class ACE_Triggers {
SupportedTriggers[] = {"Tripwire"};
class Tripwire {
digDistance = 0.02;
};
};
};
// Bounding Mine (Trip Wire 4m)
class vn_mine_tripwire_m16_04_mag: vn_mine_tripwire_m16_02_mag {
EGVAR(explosives,SetupObject) = QEXPLOSIVES_PLACE(m16_tripwire_4m);
class ACE_Triggers {
SupportedTriggers[] = {"Tripwire"};
class Tripwire {
digDistance = 0.02;
};
};
};
// F1 (Trip Wire 2m)
class vn_mine_tripwire_f1_02_mag: vn_mine_tripwire_m16_02_mag {
EGVAR(explosives,SetupObject) = QEXPLOSIVES_PLACE(f1_tripwire_2m);
};
// F1 (Trip Wire 4m)
class vn_mine_tripwire_f1_04_mag: vn_mine_tripwire_f1_02_mag {
EGVAR(explosives,SetupObject) = QEXPLOSIVES_PLACE(f1_tripwire_4m);
};
// Arty Shell (Trip Wire 4m)
class vn_mine_tripwire_arty_mag: vn_mine_tripwire_m16_02_mag {
EGVAR(explosives,SetupObject) = QEXPLOSIVES_PLACE(arty_tripwire_4m);
};
// Satchel Charge
class vn_mine_satchel_remote_02_mag: vn_mine_m18_mag {
useAction = 0;
EGVAR(explosives,SetupObject) = QEXPLOSIVES_PLACE(satchel_remote_02);
class ACE_Triggers {
SupportedTriggers[] = {"Timer", "Command", "MK16_Transmitter", "DeadmanSwitch"};
class Timer {
fuseTime = 0.5;
};
class Command {
fuseTime = 0.5;
};
class MK16_Transmitter: Command {};
class DeadmanSwitch: Command {};
};
};
// TM57 Anti-Tank Mine
class vn_mine_tm57_mag: vn_mine_m18_mag {
EGVAR(explosives,SetupObject) = QEXPLOSIVES_PLACE(tm57);
class ACE_Triggers {
SupportedTriggers[] = {"PressurePlate"};
class PressurePlate {};
};
};
// M15 Anti-Tank Mine
class vn_mine_m15_mag: vn_mine_tm57_mag {
EGVAR(explosives,SetupObject) = QEXPLOSIVES_PLACE(m15);
class ACE_Triggers {
SupportedTriggers[] = {"PressurePlate"};
class PressurePlate {
digDistance = 0.03;
};
};
};
// M112 Breaching charge
class vn_mine_m112_remote_mag: vn_mine_m18_mag {
EGVAR(explosives,SetupObject) = QEXPLOSIVES_PLACE(m112);
class ACE_Triggers {
SupportedTriggers[] = {"Timer", "Command", "MK16_Transmitter", "DeadmanSwitch"};
class Timer {
fuseTime = 0.5;
digDistance = 1;
};
class Command {
fuseTime = 0.5;
digDistance = 1;
};
class MK16_Transmitter: Command {};
class DeadmanSwitch: Command {};
};
};
// Punji large
class vn_mine_punji_01_mag: vn_mine_m18_mag {
EGVAR(explosives,SetupObject) = QEXPLOSIVES_PLACE(punji_01);
class ACE_Triggers {
SupportedTriggers[] = {"PressurePlate"};
class PressurePlate {
displayName = CSTRING(Action_DigIn);
};
};
};
// Punji small
class vn_mine_punji_02_mag: vn_mine_punji_01_mag {
EGVAR(explosives,SetupObject) = QEXPLOSIVES_PLACE(punji_02);
};
// Punji whip
class vn_mine_punji_03_mag: vn_mine_punji_01_mag {
EGVAR(explosives,SetupObject) = QEXPLOSIVES_PLACE(punji_03);
};