ACE3/addons/explosives/CfgAmmo.hpp

187 lines
6.7 KiB
C++
Raw Normal View History

class CfgAmmo {
// All explosive based Ammo classes. These are all listed in case they become required.
class Default;
class TimeBombCore: Default {
2016-01-14 22:05:56 +00:00
GVAR(DefuseTime) = 5;
};
/*
class BoundingMineCore: TimeBombCore;
class BoundingMineBase: BoundingMineCore;
class APERSBoundingMine_Range_Ammo: BoundingMineBase;
class MineCore: TimeBombCore;
class MineBase: MineCore;
class APERSMine_Range_Ammo: MineBase;
class ATMine_Range_Ammo: MineBase;
class UnderwaterMine_Range_Ammo: MineBase;
class UnderwaterMineAB_Range_Ammo: UnderwaterMine_Range_Ammo;
class UnderwaterMinePDM_Range_Ammo: UnderwaterMine_Range_Ammo;
class DirectionalBombCore: TimeBombCore;
class DirectionalBombBase: DirectionalBombCore;
class SLAMDirectionalMine_Wire_Ammo: DirectionalBombBase;
class PipeBombCore: TimeBombCore;
class PipeBombBase: PipeBombCore;
*/
// GVAR(size) = 0; is small size
// GVAR(size) = 1; is large size
class DirectionalBombBase;
class ClaymoreDirectionalMine_Remote_Ammo: DirectionalBombBase {
2016-01-14 23:25:02 +00:00
GVAR(magazine) = "ClaymoreDirectionalMine_Remote_Mag";
2016-01-14 22:05:56 +00:00
GVAR(Explosive) = "ClaymoreDirectionalMine_Remote_Ammo_Scripted";
GVAR(size) = 0;
GVAR(defuseObjectPosition)[] = {0, 0, 0.038};
soundActivation[] = {"", 0, 0, 0};
soundDeactivation[] = {"", 0, 0, 0};
};
// class ClaymoreDirectionalMine_Remote_Ammo_Scripted: ClaymoreDirectionalMine_Remote_Ammo {};
class APERSTripMine_Wire_Ammo: DirectionalBombBase {
GVAR(defuseObjectPosition)[] = {-1.415, 0, 0.12};
GVAR(size) = 0;
};
2016-08-13 09:29:01 +00:00
class ACE_FlareTripMine_Wire_Ammo: APERSTripMine_Wire_Ammo {
SoundSetExplosion[] = {};
defaultMagazine = "ACE_FlareTripMine_Mag"; //Mag that gets dropped after defuse
hit = 0;
indirectHit = 0;
indirectHitRange = 0;
soundHit[] = {"A3\Sounds_F\weapons\smokeshell\smoke_3",1.25893,1,100};
explosionEffects = "ACE_TripflareEffect";
CraterEffects = "";
soundTrigger[] = {"",1,1};
class CamShakeExplode {
power = 0;
duration = 0;
frequency = 0;
distance = 0;
};
};
2016-08-13 09:29:01 +00:00
class F_20mm_Red;
class ACE_TripFlare_FlareEffect: F_20mm_Red {
triggerTime = 0.1;
GVAR(size) = 0;
2016-08-13 09:29:01 +00:00
};
class SLAMDirectionalMine_Wire_Ammo: DirectionalBombBase {
indirectHitRange = 20;
2016-01-14 22:05:56 +00:00
GVAR(explodeOnDefuseChance) = 1;
2016-01-14 23:25:02 +00:00
GVAR(magazine) = "SLAMDirectionalMine_Wire_Mag";
GVAR(size) = 0;
};
2016-01-14 22:58:07 +00:00
class ACE_SLAMDirectionalMine_Command_Ammo: SLAMDirectionalMine_Wire_Ammo {
mineTrigger = "RemoteTrigger";
2016-01-14 22:05:56 +00:00
GVAR(explodeOnDefuseChance) = 0;
};
2016-01-14 22:58:07 +00:00
class ACE_SLAMDirectionalMine_Timer_Ammo: SLAMDirectionalMine_Wire_Ammo {
mineTrigger = "TimeTrigger";
2016-01-15 09:49:22 +00:00
};
class ACE_SLAMDirectionalMine_Magnetic_Ammo: SLAMDirectionalMine_Wire_Ammo {
mineTrigger = "ACE_MagneticTrigger";
2016-01-14 22:05:56 +00:00
GVAR(explodeOnDefuseChance) = 0;
2016-01-14 22:58:07 +00:00
explosionAngle = 360;
indirectHitRange = 1;
mineInconspicuousness = 25;
icon = "iconExplosiveGP";
};
class PipeBombBase;
class DemoCharge_Remote_Ammo: PipeBombBase {
2016-01-14 23:25:02 +00:00
GVAR(magazine) = "DemoCharge_Remote_Mag";
GVAR(Explosive) = "DemoCharge_Remote_Ammo_Scripted"; // can probably remove as base ammo now has triggerWhenDestroyed
GVAR(size) = 0;
GVAR(defuseObjectPosition)[] = {0.07, 0, 0.055};
soundActivation[] = {"", 0, 0, 0};
soundDeactivation[] = {"", 0, 0, 0};
hit = 500;
indirectHit = 500;
indirectHitRange = 7;
};
class SatchelCharge_Remote_Ammo: PipeBombBase {
2016-01-14 23:25:02 +00:00
GVAR(magazine) = "SatchelCharge_Remote_Mag";
GVAR(Explosive) = "SatchelCharge_Remote_Ammo_Scripted"; // can probably remove as base ammo now has triggerWhenDestroyed
GVAR(size) = 0;
GVAR(defuseObjectPosition)[] = {0.1, 0.1, 0.05};
soundActivation[] = {"", 0, 0, 0};
soundDeactivation[] = {"", 0, 0, 0};
};
// class DemoCharge_Remote_Ammo_Scripted: DemoCharge_Remote_Ammo {};
// class SatchelCharge_Remote_Ammo_Scripted: SatchelCharge_Remote_Ammo {};
2015-06-06 18:04:58 +00:00
class IEDUrbanBig_Remote_Ammo: PipeBombBase {
triggerWhenDestroyed = 1;
2016-01-14 22:05:56 +00:00
GVAR(explodeOnDefuseChance) = 0.02;
2016-01-14 23:25:02 +00:00
GVAR(magazine) = "IEDUrbanBig_Remote_Mag";
GVAR(size) = 1;
soundTrigger[] = {"A3\Sounds_F\weapons\mines\mech_trigger_1", 0.8, 1, 40};
2015-06-06 18:04:58 +00:00
};
2016-01-14 22:58:07 +00:00
class ACE_IEDUrbanBig_Command_Ammo: IEDUrbanBig_Remote_Ammo {
2015-06-06 18:04:58 +00:00
mineTrigger = "RemoteTrigger";
};
2016-01-14 22:58:07 +00:00
class ACE_IEDUrbanBig_Range_Ammo: IEDUrbanBig_Remote_Ammo {
2015-06-06 18:04:58 +00:00
mineTrigger = "RangeTrigger";
};
2015-06-06 18:04:58 +00:00
class IEDUrbanSmall_Remote_Ammo: PipeBombBase {
triggerWhenDestroyed = 1;
2016-01-14 22:05:56 +00:00
GVAR(explodeOnDefuseChance) = 0.02;
2016-01-14 23:25:02 +00:00
GVAR(magazine) = "IEDUrbanSmall_Remote_Mag";
GVAR(size) = 0;
2015-06-06 18:04:58 +00:00
soundTrigger[] = {"A3\Sounds_F\weapons\mines\mech_trigger_1", 0.8, 1, 40};
};
2016-01-14 22:58:07 +00:00
class ACE_IEDUrbanSmall_Command_Ammo: IEDUrbanSmall_Remote_Ammo {
2015-06-06 18:04:58 +00:00
mineTrigger = "RemoteTrigger";
};
2016-01-14 22:58:07 +00:00
class ACE_IEDUrbanSmall_Range_Ammo: IEDUrbanSmall_Remote_Ammo {
2016-01-14 23:04:12 +00:00
mineTrigger = "RangeTriggerShort";
2015-06-06 18:04:58 +00:00
};
2015-06-06 18:04:58 +00:00
class IEDLandBig_Remote_Ammo: PipeBombBase {
triggerWhenDestroyed = 1;
2016-01-14 22:05:56 +00:00
GVAR(explodeOnDefuseChance) = 0.02;
2016-01-14 23:25:02 +00:00
GVAR(magazine) = "IEDLandBig_Remote_Mag";
GVAR(size) = 1;
2015-06-06 18:04:58 +00:00
soundTrigger[] = {"A3\Sounds_F\weapons\mines\mech_trigger_1", 0.8, 1, 40};
};
2016-01-14 22:58:07 +00:00
class ACE_IEDLandBig_Command_Ammo: IEDLandBig_Remote_Ammo {
2015-06-06 18:04:58 +00:00
mineTrigger = "RemoteTrigger";
};
2016-01-14 22:58:07 +00:00
class ACE_IEDLandBig_Range_Ammo: IEDLandBig_Remote_Ammo {
2015-06-06 18:04:58 +00:00
mineTrigger = "RangeTrigger";
};
2015-06-06 18:04:58 +00:00
class IEDLandSmall_Remote_Ammo: PipeBombBase {
triggerWhenDestroyed = 1;
2016-01-14 22:05:56 +00:00
GVAR(explodeOnDefuseChance) = 0.02;
2016-01-14 23:25:02 +00:00
GVAR(magazine) = "IEDLandSmall_Remote_Mag";
GVAR(size) = 0;
2015-06-06 18:04:58 +00:00
soundTrigger[] = {"A3\Sounds_F\weapons\mines\mech_trigger_1", 0.8, 1, 40};
};
2016-01-14 22:58:07 +00:00
class ACE_IEDLandSmall_Command_Ammo: IEDLandSmall_Remote_Ammo {
2015-06-06 18:04:58 +00:00
mineTrigger = "RemoteTrigger";
};
2016-01-14 22:58:07 +00:00
class ACE_IEDLandSmall_Range_Ammo: IEDLandBig_Remote_Ammo {
mineTrigger = "RangeTriggerShort";
2015-06-06 18:04:58 +00:00
};
// Orange DLC:
class APERSMineDispenser_Ammo: PipeBombBase {
GVAR(magazine) = "APERSMineDispenser_Mag";
GVAR(Explosive) = "APERSMineDispenser_Ammo_Scripted"; // triggerWhenDestroyed = 1;
GVAR(size) = 0;
GVAR(defuseObjectPosition)[] = {0.0, -0.05, 0.15};
};
class APERSMine_Range_Ammo;
class TrainingMine_Ammo: APERSMine_Range_Ammo {
GVAR(magazine) = "TrainingMine_Mag";
GVAR(size) = 0;
GVAR(defuseObjectPosition)[] = {0, 0, 0.15};
};
};