From 3b01da696253bfa8f08a3017022be395b7a6b1ce Mon Sep 17 00:00:00 2001 From: AKALegman Date: Sat, 30 May 2015 16:57:50 +0100 Subject: [PATCH 1/6] IED Class Inheritance Fixes --- addons/explosives/CfgAmmo.hpp | 65 ++++++++++++++++++++---------- addons/explosives/CfgMagazines.hpp | 36 ++++++++++------- 2 files changed, 66 insertions(+), 35 deletions(-) diff --git a/addons/explosives/CfgAmmo.hpp b/addons/explosives/CfgAmmo.hpp index c6d70bc64a..ace7d5ef02 100644 --- a/addons/explosives/CfgAmmo.hpp +++ b/addons/explosives/CfgAmmo.hpp @@ -69,25 +69,48 @@ class CfgAmmo { /*class DemoCharge_Remote_Ammo_Scripted: DemoCharge_Remote_Ammo; class SatchelCharge_Remote_Ammo_Scripted: SatchelCharge_Remote_Ammo;*/ - - class IEDUrbanBig_Remote_Ammo: PipeBombBase { - mineTrigger = "RangeTrigger"; - triggerWhenDestroyed = 1; - soundTrigger[] = {"A3\Sounds_F\weapons\mines\mech_trigger_1", 0.562341, 1, 40}; - }; - class IEDLandBig_Remote_Ammo: PipeBombBase { - mineTrigger = "RangeTrigger"; - triggerWhenDestroyed = 1; - soundTrigger[] = {"A3\Sounds_F\weapons\mines\mech_trigger_1", 0.562341, 1, 40}; - }; - class IEDUrbanSmall_Remote_Ammo: PipeBombBase { - mineTrigger = "RangeTrigger"; - triggerWhenDestroyed = 1; - soundTrigger[] = {"A3\Sounds_F\weapons\mines\mech_trigger_1", 0.562341, 1, 40}; - }; - class IEDLandSmall_Remote_Ammo: PipeBombBase { - mineTrigger = "RangeTrigger"; - triggerWhenDestroyed = 1; - soundTrigger[] = {"A3\Sounds_F\weapons\mines\mech_trigger_1", 0.562341, 1, 40}; - }; + + class IEDUrbanBig_Remote_Ammo: PipeBombBase { + triggerWhenDestroyed = 1; + soundTrigger[] = {"A3\Sounds_F\weapons\mines\mech_trigger_1", 0.8, 1, 40}; + }; + class IEDUrbanBig_Command_Ammo: IEDUrbanBig_Remote_Ammo { + mineTrigger = "RemoteTrigger"; + }; + class IEDUrbanBig_Range_Ammo: IEDUrbanBig_Remote_Ammo { + mineTrigger = "RangeTrigger"; + }; + + class IEDUrbanSmall_Remote_Ammo: PipeBombBase { + triggerWhenDestroyed = 1; + soundTrigger[] = {"A3\Sounds_F\weapons\mines\mech_trigger_1", 0.8, 1, 40}; + }; + class IEDUrbanSmall_Command_Ammo: IEDUrbanSmall_Remote_Ammo { + mineTrigger = "RemoteTrigger"; + }; + class IEDUrbanSmall_Range_Ammo: IEDUrbanSmall_Remote_Ammo { + mineTrigger = "RangeTrigger"; + }; + + class IEDLandBig_Remote_Ammo: PipeBombBase { + triggerWhenDestroyed = 1; + soundTrigger[] = {"A3\Sounds_F\weapons\mines\mech_trigger_1", 0.8, 1, 40}; + }; + class IEDLandBig_Command_Ammo: IEDLandBig_Remote_Ammo { + mineTrigger = "RemoteTrigger"; + }; + class IEDLandBig_Range_Ammo: IEDLandBig_Remote_Ammo { + mineTrigger = "RangeTrigger"; + }; + + class IEDLandSmall_Remote_Ammo: PipeBombBase { + triggerWhenDestroyed = 1; + soundTrigger[] = {"A3\Sounds_F\weapons\mines\mech_trigger_1", 0.8, 1, 40}; + }; + class IEDLandSmall_Command_Ammo: IEDLandSmall_Remote_Ammo { + mineTrigger = "RemoteTrigger"; + }; + class IEDLandSmall_Range_Ammo: IEDLandSmall_Remote_Ammo { + mineTrigger = "RangeTrigger"; + }; }; diff --git a/addons/explosives/CfgMagazines.hpp b/addons/explosives/CfgMagazines.hpp index 248ee12640..bb8b0080bb 100644 --- a/addons/explosives/CfgMagazines.hpp +++ b/addons/explosives/CfgMagazines.hpp @@ -95,29 +95,33 @@ class CfgMagazines { }; }; }; - - class IEDUrbanBig_Remote_Mag: DemoCharge_Remote_Mag { - ACE_SetupObject = "ACE_Explosives_Place_IEDUrbanBig"; - class ACE_Triggers { - SupportedTriggers[] = {"Command","DeadmanSwitch", "Cellphone", "PressurePlate"}; + + class IEDUrbanBig_Remote_Mag: DemoCharge_Remote_Mag { + class ACE_Triggers { + SupportedTriggers[] = {"Command", "DeadmanSwitch", "Cellphone", "PressurePlate"}; class Command { FuseTime = 0.5; + ammo = "IEDUrbanBig_Command_Ammo"; }; - class DeadmanSwitch:Command {}; - class Cellphone:Command {}; - class PressurePlate { + class DeadmanSwitch: Command{}; + class Cellphone: Command{}; + class PressurePlate{ displayName = $STR_ACE_Explosives_SLAME_Magnetic; digDistance = 0; - ammo = "IEDUrbanBig_Remote_Ammo"; + ammo = "IEDUrbanBig_Range_Ammo"; pitch = 0; }; - }; - }; + }; + }; + class IEDLandBig_Remote_Mag: IEDUrbanBig_Remote_Mag { ACE_SetupObject = "ACE_Explosives_Place_IEDLandBig"; class ACE_Triggers: ACE_Triggers { + class Command: Command { + ammo = "IEDLandBig_Command_Ammo"; + }; class PressurePlate: PressurePlate { - ammo = "IEDLandBig_Remote_Ammo"; + ammo = "IEDLandBig_Range_Ammo"; }; }; }; @@ -127,13 +131,14 @@ class CfgMagazines { SupportedTriggers[] = {"Command","DeadmanSwitch", "Cellphone", "PressurePlate"}; class Command { FuseTime = 0.5; + ammo = "IEDUrbanSmall_Command_Ammo"; }; class DeadmanSwitch: Command {}; class Cellphone: Command {}; class PressurePlate { displayName = $STR_ACE_Explosives_SLAME_Magnetic; digDistance = 0; - ammo = "IEDUrbanSmall_Remote_Ammo"; + ammo = "IEDUrbanSmall_Range_Ammo"; pitch = 0; }; }; @@ -141,8 +146,11 @@ class CfgMagazines { class IEDLandSmall_Remote_Mag: IEDUrbanSmall_Remote_Mag { ACE_SetupObject = "ACE_Explosives_Place_IEDLandSmall"; class ACE_Triggers: ACE_Triggers { + class Command: Command { + ammo = "IEDLandSmall_Command_Ammo"; + }; class PressurePlate: PressurePlate { - ammo = "IEDLandSmall_Remote_Ammo"; + ammo = "IEDLandSmall_Range_Ammo"; }; }; }; From f9a7ab5ae05ea17ae83199ce3418b9352a7cb7d0 Mon Sep 17 00:00:00 2001 From: AKALegman Date: Sat, 6 Jun 2015 10:11:00 +0100 Subject: [PATCH 2/6] improved explosives --- addons/explosives/ACE_Settings.hpp | 4 ++++ addons/explosives/CfgAmmo.hpp | 6 +++++- addons/explosives/CfgMagazines.hpp | 4 ++-- addons/explosives/CfgModule.hpp | 6 ++++++ addons/explosives/functions/fnc_defuseExplosive.sqf | 4 +++- addons/explosives/functions/fnc_module.sqf | 2 ++ addons/explosives/stringtable.xml | 6 ++++++ 7 files changed, 28 insertions(+), 4 deletions(-) diff --git a/addons/explosives/ACE_Settings.hpp b/addons/explosives/ACE_Settings.hpp index 038f06291d..6f48e739cf 100644 --- a/addons/explosives/ACE_Settings.hpp +++ b/addons/explosives/ACE_Settings.hpp @@ -7,4 +7,8 @@ class ACE_Settings { value = 1; typeName = "BOOL"; }; + class GVAR(ExplodeOnDefuseChance) { + value = 0.02; + typeName = "SCALAR"; + }; }; diff --git a/addons/explosives/CfgAmmo.hpp b/addons/explosives/CfgAmmo.hpp index ace7d5ef02..15e742af31 100644 --- a/addons/explosives/CfgAmmo.hpp +++ b/addons/explosives/CfgAmmo.hpp @@ -72,7 +72,8 @@ class CfgAmmo { class IEDUrbanBig_Remote_Ammo: PipeBombBase { triggerWhenDestroyed = 1; - soundTrigger[] = {"A3\Sounds_F\weapons\mines\mech_trigger_1", 0.8, 1, 40}; + ACE_ExplodeOnDefuse = 1; + soundTrigger[] = {"A3\Sounds_F\weapons\mines\mech_trigger_1", 0.8, 1, 40}; }; class IEDUrbanBig_Command_Ammo: IEDUrbanBig_Remote_Ammo { mineTrigger = "RemoteTrigger"; @@ -83,6 +84,7 @@ class CfgAmmo { class IEDUrbanSmall_Remote_Ammo: PipeBombBase { triggerWhenDestroyed = 1; + ACE_ExplodeOnDefuse = 1; soundTrigger[] = {"A3\Sounds_F\weapons\mines\mech_trigger_1", 0.8, 1, 40}; }; class IEDUrbanSmall_Command_Ammo: IEDUrbanSmall_Remote_Ammo { @@ -94,6 +96,7 @@ class CfgAmmo { class IEDLandBig_Remote_Ammo: PipeBombBase { triggerWhenDestroyed = 1; + ACE_ExplodeOnDefuse = 1; soundTrigger[] = {"A3\Sounds_F\weapons\mines\mech_trigger_1", 0.8, 1, 40}; }; class IEDLandBig_Command_Ammo: IEDLandBig_Remote_Ammo { @@ -105,6 +108,7 @@ class CfgAmmo { class IEDLandSmall_Remote_Ammo: PipeBombBase { triggerWhenDestroyed = 1; + ACE_ExplodeOnDefuse = 1; soundTrigger[] = {"A3\Sounds_F\weapons\mines\mech_trigger_1", 0.8, 1, 40}; }; class IEDLandSmall_Command_Ammo: IEDLandSmall_Remote_Ammo { diff --git a/addons/explosives/CfgMagazines.hpp b/addons/explosives/CfgMagazines.hpp index bb8b0080bb..68563d8b13 100644 --- a/addons/explosives/CfgMagazines.hpp +++ b/addons/explosives/CfgMagazines.hpp @@ -106,7 +106,7 @@ class CfgMagazines { class DeadmanSwitch: Command{}; class Cellphone: Command{}; class PressurePlate{ - displayName = $STR_ACE_Explosives_SLAME_Magnetic; + displayName = $STR_ACE_Explosives_PressurePlate; digDistance = 0; ammo = "IEDUrbanBig_Range_Ammo"; pitch = 0; @@ -136,7 +136,7 @@ class CfgMagazines { class DeadmanSwitch: Command {}; class Cellphone: Command {}; class PressurePlate { - displayName = $STR_ACE_Explosives_SLAME_Magnetic; + displayName = $STR_ACE_Explosives_PressurePlate; digDistance = 0; ammo = "IEDUrbanSmall_Range_Ammo"; pitch = 0; diff --git a/addons/explosives/CfgModule.hpp b/addons/explosives/CfgModule.hpp index 52f70ea3af..e614400191 100644 --- a/addons/explosives/CfgModule.hpp +++ b/addons/explosives/CfgModule.hpp @@ -22,6 +22,12 @@ class ACE_ModuleExplosive: Module_F { description = "$STR_ACE_Explosive_PunishNonSpecialists_Description"; typeName = "BOOL"; defaultValue = 1; + }; + class ExplodeOnDefuseChance { + displayName = "$STR_ACE_Explosive_ExplodeOnDefuseChance_DisplayName"; + description = "$STR_ACE_Explosive_ExplodeOnDefuseChance_Description"; + typeName = "NUMBER"; + defaultValue = 0.02; }; }; class ModuleDescription: ModuleDescription { diff --git a/addons/explosives/functions/fnc_defuseExplosive.sqf b/addons/explosives/functions/fnc_defuseExplosive.sqf index 5abfabe60f..e16a485fe7 100644 --- a/addons/explosives/functions/fnc_defuseExplosive.sqf +++ b/addons/explosives/functions/fnc_defuseExplosive.sqf @@ -17,7 +17,9 @@ #include "script_component.hpp" EXPLODE_2_PVT(_this,_unit,_explosive); -if (getNumber (ConfigFile >> "CfgAmmo" >> typeof _explosive >> "ACE_explodeOnDefuse") == 1) exitWith { +_explode = random 1.0; +if (getNumber (ConfigFile >> "CfgAmmo" >> typeOf _explosive >> "ACE_explodeOnDefuse") == 1 && + _explode < GVAR(ExplodeOnDefuseChance)) exitWith { [_unit, -1, [_explosive, 1], true] call FUNC(detonateExplosive); }; diff --git a/addons/explosives/functions/fnc_module.sqf b/addons/explosives/functions/fnc_module.sqf index 4080b41bde..67de88410d 100644 --- a/addons/explosives/functions/fnc_module.sqf +++ b/addons/explosives/functions/fnc_module.sqf @@ -27,5 +27,7 @@ if !(_activated) exitWith {}; call EFUNC(Common,readSettingFromModule); [_logic, QGVAR(PunishNonSpecialists),"PunishNonSpecialists"] call EFUNC(Common,readSettingFromModule); +[_logic, QGVAR(ExplodeOnDefuseChance),"ExplodeOnDefuseChance"] + call EFUNC(Common,readSettingFromModule); diag_log text "[ACE]: Explosive Module Initialized."; diff --git a/addons/explosives/stringtable.xml b/addons/explosives/stringtable.xml index 5f5076175d..6ac5e09620 100644 --- a/addons/explosives/stringtable.xml +++ b/addons/explosives/stringtable.xml @@ -524,6 +524,12 @@ Increase the time it takes to complete actions for non-specialists? Default: Yes Zwiększyć ilość wymaganego czasu do ukończenia akcji dla nie-specjalistów? Domyślnie: Tak + + + Explode chance? + + + Chance for special explosives to explode on defuse? Default: 0.02 (2%) From 46ed9416ed308b77cf7abf2960e7037a82c28978 Mon Sep 17 00:00:00 2001 From: AKALegman Date: Sat, 6 Jun 2015 18:58:42 +0100 Subject: [PATCH 3/6] improved explosives v2 --- addons/explosives/ACE_Settings.hpp | 6 +++--- addons/explosives/CfgAmmo.hpp | 8 ++++---- addons/explosives/CfgModule.hpp | 10 +++++----- addons/explosives/functions/fnc_defuseExplosive.sqf | 3 +-- addons/explosives/functions/fnc_module.sqf | 2 +- addons/explosives/stringtable.xml | 8 ++++---- 6 files changed, 18 insertions(+), 19 deletions(-) diff --git a/addons/explosives/ACE_Settings.hpp b/addons/explosives/ACE_Settings.hpp index 6f48e739cf..e2e987f560 100644 --- a/addons/explosives/ACE_Settings.hpp +++ b/addons/explosives/ACE_Settings.hpp @@ -7,8 +7,8 @@ class ACE_Settings { value = 1; typeName = "BOOL"; }; - class GVAR(ExplodeOnDefuseChance) { - value = 0.02; - typeName = "SCALAR"; + class GVAR(ExplodeOnDefuse) { + value = 1; + typeName = "BOOL"; }; }; diff --git a/addons/explosives/CfgAmmo.hpp b/addons/explosives/CfgAmmo.hpp index 15e742af31..f456476f8f 100644 --- a/addons/explosives/CfgAmmo.hpp +++ b/addons/explosives/CfgAmmo.hpp @@ -72,7 +72,7 @@ class CfgAmmo { class IEDUrbanBig_Remote_Ammo: PipeBombBase { triggerWhenDestroyed = 1; - ACE_ExplodeOnDefuse = 1; + ACE_explodeOnDefuse = 0.02; soundTrigger[] = {"A3\Sounds_F\weapons\mines\mech_trigger_1", 0.8, 1, 40}; }; class IEDUrbanBig_Command_Ammo: IEDUrbanBig_Remote_Ammo { @@ -84,7 +84,7 @@ class CfgAmmo { class IEDUrbanSmall_Remote_Ammo: PipeBombBase { triggerWhenDestroyed = 1; - ACE_ExplodeOnDefuse = 1; + ACE_explodeOnDefuse = 0.02; soundTrigger[] = {"A3\Sounds_F\weapons\mines\mech_trigger_1", 0.8, 1, 40}; }; class IEDUrbanSmall_Command_Ammo: IEDUrbanSmall_Remote_Ammo { @@ -96,7 +96,7 @@ class CfgAmmo { class IEDLandBig_Remote_Ammo: PipeBombBase { triggerWhenDestroyed = 1; - ACE_ExplodeOnDefuse = 1; + ACE_explodeOnDefuse = 0.02; soundTrigger[] = {"A3\Sounds_F\weapons\mines\mech_trigger_1", 0.8, 1, 40}; }; class IEDLandBig_Command_Ammo: IEDLandBig_Remote_Ammo { @@ -108,7 +108,7 @@ class CfgAmmo { class IEDLandSmall_Remote_Ammo: PipeBombBase { triggerWhenDestroyed = 1; - ACE_ExplodeOnDefuse = 1; + ACE_explodeOnDefuse = 0.02; soundTrigger[] = {"A3\Sounds_F\weapons\mines\mech_trigger_1", 0.8, 1, 40}; }; class IEDLandSmall_Command_Ammo: IEDLandSmall_Remote_Ammo { diff --git a/addons/explosives/CfgModule.hpp b/addons/explosives/CfgModule.hpp index e614400191..ff6a8bc01d 100644 --- a/addons/explosives/CfgModule.hpp +++ b/addons/explosives/CfgModule.hpp @@ -23,11 +23,11 @@ class ACE_ModuleExplosive: Module_F { typeName = "BOOL"; defaultValue = 1; }; - class ExplodeOnDefuseChance { - displayName = "$STR_ACE_Explosive_ExplodeOnDefuseChance_DisplayName"; - description = "$STR_ACE_Explosive_ExplodeOnDefuseChance_Description"; - typeName = "NUMBER"; - defaultValue = 0.02; + class ExplodeOnDefuse { + displayName = "$STR_ACE_Explosive_ExplodeOnDefuse_DisplayName"; + description = "$STR_ACE_Explosive_ExplodeOnDefuse_Description"; + typeName = "BOOL"; + defaultValue = 1; }; }; class ModuleDescription: ModuleDescription { diff --git a/addons/explosives/functions/fnc_defuseExplosive.sqf b/addons/explosives/functions/fnc_defuseExplosive.sqf index e16a485fe7..628b343aeb 100644 --- a/addons/explosives/functions/fnc_defuseExplosive.sqf +++ b/addons/explosives/functions/fnc_defuseExplosive.sqf @@ -18,8 +18,7 @@ EXPLODE_2_PVT(_this,_unit,_explosive); _explode = random 1.0; -if (getNumber (ConfigFile >> "CfgAmmo" >> typeOf _explosive >> "ACE_explodeOnDefuse") == 1 && - _explode < GVAR(ExplodeOnDefuseChance)) exitWith { +if (GVAR(ExplodeOnDefuse) && _explode < getNumber(ConfigFile >> "CfgAmmo" >> typeOf _explosive >> "ACE_explodeOnDefuse")) exitWith { [_unit, -1, [_explosive, 1], true] call FUNC(detonateExplosive); }; diff --git a/addons/explosives/functions/fnc_module.sqf b/addons/explosives/functions/fnc_module.sqf index 67de88410d..56225d8ca8 100644 --- a/addons/explosives/functions/fnc_module.sqf +++ b/addons/explosives/functions/fnc_module.sqf @@ -27,7 +27,7 @@ if !(_activated) exitWith {}; call EFUNC(Common,readSettingFromModule); [_logic, QGVAR(PunishNonSpecialists),"PunishNonSpecialists"] call EFUNC(Common,readSettingFromModule); -[_logic, QGVAR(ExplodeOnDefuseChance),"ExplodeOnDefuseChance"] +[_logic, QGVAR(ExplodeOnDefuse),"ExplodeOnDefuse"] call EFUNC(Common,readSettingFromModule); diag_log text "[ACE]: Explosive Module Initialized."; diff --git a/addons/explosives/stringtable.xml b/addons/explosives/stringtable.xml index 6ac5e09620..d13d0c87f7 100644 --- a/addons/explosives/stringtable.xml +++ b/addons/explosives/stringtable.xml @@ -525,11 +525,11 @@ Increase the time it takes to complete actions for non-specialists? Default: Yes Zwiększyć ilość wymaganego czasu do ukończenia akcji dla nie-specjalistów? Domyślnie: Tak - - Explode chance? + + Explode on defusal? - - Chance for special explosives to explode on defuse? Default: 0.02 (2%) + + Enable certain explosives to explode on defusal? Default: Yes From 0e375075ea3a51606d255b5396f901ce1b5cb740 Mon Sep 17 00:00:00 2001 From: AKALegman Date: Sat, 6 Jun 2015 19:04:58 +0100 Subject: [PATCH 4/6] improved explosives v2.1 --- addons/explosives/ACE_Settings.hpp | 2 +- addons/explosives/CfgAmmo.hpp | 96 +++++++++++++++--------------- addons/explosives/CfgModule.hpp | 2 +- addons/explosives/stringtable.xml | 2 +- 4 files changed, 51 insertions(+), 51 deletions(-) diff --git a/addons/explosives/ACE_Settings.hpp b/addons/explosives/ACE_Settings.hpp index e2e987f560..c91c94464d 100644 --- a/addons/explosives/ACE_Settings.hpp +++ b/addons/explosives/ACE_Settings.hpp @@ -7,7 +7,7 @@ class ACE_Settings { value = 1; typeName = "BOOL"; }; - class GVAR(ExplodeOnDefuse) { + class GVAR(ExplodeOnDefuse) { value = 1; typeName = "BOOL"; }; diff --git a/addons/explosives/CfgAmmo.hpp b/addons/explosives/CfgAmmo.hpp index f456476f8f..8299a979b3 100644 --- a/addons/explosives/CfgAmmo.hpp +++ b/addons/explosives/CfgAmmo.hpp @@ -69,52 +69,52 @@ class CfgAmmo { /*class DemoCharge_Remote_Ammo_Scripted: DemoCharge_Remote_Ammo; class SatchelCharge_Remote_Ammo_Scripted: SatchelCharge_Remote_Ammo;*/ - - class IEDUrbanBig_Remote_Ammo: PipeBombBase { - triggerWhenDestroyed = 1; - ACE_explodeOnDefuse = 0.02; - soundTrigger[] = {"A3\Sounds_F\weapons\mines\mech_trigger_1", 0.8, 1, 40}; - }; - class IEDUrbanBig_Command_Ammo: IEDUrbanBig_Remote_Ammo { - mineTrigger = "RemoteTrigger"; - }; - class IEDUrbanBig_Range_Ammo: IEDUrbanBig_Remote_Ammo { - mineTrigger = "RangeTrigger"; - }; - - class IEDUrbanSmall_Remote_Ammo: PipeBombBase { - triggerWhenDestroyed = 1; - ACE_explodeOnDefuse = 0.02; - soundTrigger[] = {"A3\Sounds_F\weapons\mines\mech_trigger_1", 0.8, 1, 40}; - }; - class IEDUrbanSmall_Command_Ammo: IEDUrbanSmall_Remote_Ammo { - mineTrigger = "RemoteTrigger"; - }; - class IEDUrbanSmall_Range_Ammo: IEDUrbanSmall_Remote_Ammo { - mineTrigger = "RangeTrigger"; - }; - - class IEDLandBig_Remote_Ammo: PipeBombBase { - triggerWhenDestroyed = 1; - ACE_explodeOnDefuse = 0.02; - soundTrigger[] = {"A3\Sounds_F\weapons\mines\mech_trigger_1", 0.8, 1, 40}; - }; - class IEDLandBig_Command_Ammo: IEDLandBig_Remote_Ammo { - mineTrigger = "RemoteTrigger"; - }; - class IEDLandBig_Range_Ammo: IEDLandBig_Remote_Ammo { - mineTrigger = "RangeTrigger"; - }; - - class IEDLandSmall_Remote_Ammo: PipeBombBase { - triggerWhenDestroyed = 1; - ACE_explodeOnDefuse = 0.02; - soundTrigger[] = {"A3\Sounds_F\weapons\mines\mech_trigger_1", 0.8, 1, 40}; - }; - class IEDLandSmall_Command_Ammo: IEDLandSmall_Remote_Ammo { - mineTrigger = "RemoteTrigger"; - }; - class IEDLandSmall_Range_Ammo: IEDLandSmall_Remote_Ammo { - mineTrigger = "RangeTrigger"; - }; + + class IEDUrbanBig_Remote_Ammo: PipeBombBase { + triggerWhenDestroyed = 1; + ACE_explodeOnDefuse = 0.02; + soundTrigger[] = {"A3\Sounds_F\weapons\mines\mech_trigger_1", 0.8, 1, 40}; + }; + class IEDUrbanBig_Command_Ammo: IEDUrbanBig_Remote_Ammo { + mineTrigger = "RemoteTrigger"; + }; + class IEDUrbanBig_Range_Ammo: IEDUrbanBig_Remote_Ammo { + mineTrigger = "RangeTrigger"; + }; + + class IEDUrbanSmall_Remote_Ammo: PipeBombBase { + triggerWhenDestroyed = 1; + ACE_explodeOnDefuse = 0.02; + soundTrigger[] = {"A3\Sounds_F\weapons\mines\mech_trigger_1", 0.8, 1, 40}; + }; + class IEDUrbanSmall_Command_Ammo: IEDUrbanSmall_Remote_Ammo { + mineTrigger = "RemoteTrigger"; + }; + class IEDUrbanSmall_Range_Ammo: IEDUrbanSmall_Remote_Ammo { + mineTrigger = "RangeTrigger"; + }; + + class IEDLandBig_Remote_Ammo: PipeBombBase { + triggerWhenDestroyed = 1; + ACE_explodeOnDefuse = 0.02; + soundTrigger[] = {"A3\Sounds_F\weapons\mines\mech_trigger_1", 0.8, 1, 40}; + }; + class IEDLandBig_Command_Ammo: IEDLandBig_Remote_Ammo { + mineTrigger = "RemoteTrigger"; + }; + class IEDLandBig_Range_Ammo: IEDLandBig_Remote_Ammo { + mineTrigger = "RangeTrigger"; + }; + + class IEDLandSmall_Remote_Ammo: PipeBombBase { + triggerWhenDestroyed = 1; + ACE_explodeOnDefuse = 0.02; + soundTrigger[] = {"A3\Sounds_F\weapons\mines\mech_trigger_1", 0.8, 1, 40}; + }; + class IEDLandSmall_Command_Ammo: IEDLandSmall_Remote_Ammo { + mineTrigger = "RemoteTrigger"; + }; + class IEDLandSmall_Range_Ammo: IEDLandSmall_Remote_Ammo { + mineTrigger = "RangeTrigger"; + }; }; diff --git a/addons/explosives/CfgModule.hpp b/addons/explosives/CfgModule.hpp index ff6a8bc01d..217048d200 100644 --- a/addons/explosives/CfgModule.hpp +++ b/addons/explosives/CfgModule.hpp @@ -23,7 +23,7 @@ class ACE_ModuleExplosive: Module_F { typeName = "BOOL"; defaultValue = 1; }; - class ExplodeOnDefuse { + class ExplodeOnDefuse { displayName = "$STR_ACE_Explosive_ExplodeOnDefuse_DisplayName"; description = "$STR_ACE_Explosive_ExplodeOnDefuse_Description"; typeName = "BOOL"; diff --git a/addons/explosives/stringtable.xml b/addons/explosives/stringtable.xml index d13d0c87f7..c8b537a515 100644 --- a/addons/explosives/stringtable.xml +++ b/addons/explosives/stringtable.xml @@ -525,7 +525,7 @@ Increase the time it takes to complete actions for non-specialists? Default: Yes Zwiększyć ilość wymaganego czasu do ukończenia akcji dla nie-specjalistów? Domyślnie: Tak - + Explode on defusal? From 5915e24f5d2e853a8179f9d654f1e01f7e680276 Mon Sep 17 00:00:00 2001 From: AKALegman Date: Sun, 14 Jun 2015 16:09:01 +0100 Subject: [PATCH 5/6] some fixes --- addons/explosives/CfgMagazines.hpp | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/addons/explosives/CfgMagazines.hpp b/addons/explosives/CfgMagazines.hpp index ee16c1ded6..39d08917c3 100644 --- a/addons/explosives/CfgMagazines.hpp +++ b/addons/explosives/CfgMagazines.hpp @@ -97,12 +97,13 @@ class CfgMagazines { }; }; - class IEDUrbanBig_Remote_Mag: DemoCharge_Remote_Mag { - class ACE_Triggers { + class IEDUrbanBig_Remote_Mag: DemoCharge_Remote_Mag { + ACE_SetupObject = "ACE_Explosives_Place_IEDUrbanBig"; + class ACE_Triggers { SupportedTriggers[] = {"Command", "DeadmanSwitch", "Cellphone", "PressurePlate"}; class Command { FuseTime = 0.5; - ammo = "IEDUrbanBig_Command_Ammo"; + ammo = "IEDUrbanBig_Command_Ammo"; }; class DeadmanSwitch:Command {}; class Cellphone:Command {}; @@ -113,14 +114,14 @@ class CfgMagazines { pitch = 0; }; }; - }; + }; class IEDLandBig_Remote_Mag: IEDUrbanBig_Remote_Mag { ACE_SetupObject = "ACE_Explosives_Place_IEDLandBig"; class ACE_Triggers: ACE_Triggers { - class Command: Command { - ammo = "IEDLandBig_Command_Ammo"; - }; + class Command: Command { + ammo = "IEDLandBig_Command_Ammo"; + }; class PressurePlate: PressurePlate { ammo = "IEDLandBig_Range_Ammo"; }; @@ -132,7 +133,7 @@ class CfgMagazines { SupportedTriggers[] = {"Command", "DeadmanSwitch", "Cellphone", "PressurePlate"}; class Command { FuseTime = 0.5; - ammo = "IEDUrbanSmall_Command_Ammo"; + ammo = "IEDUrbanSmall_Command_Ammo"; }; class DeadmanSwitch: Command {}; class Cellphone: Command {}; @@ -147,9 +148,9 @@ class CfgMagazines { class IEDLandSmall_Remote_Mag: IEDUrbanSmall_Remote_Mag { ACE_SetupObject = "ACE_Explosives_Place_IEDLandSmall"; class ACE_Triggers: ACE_Triggers { - class Command: Command { - ammo = "IEDLandSmall_Command_Ammo"; - }; + class Command: Command { + ammo = "IEDLandSmall_Command_Ammo"; + }; class PressurePlate: PressurePlate { ammo = "IEDLandSmall_Range_Ammo"; }; From c027db2e0ea39e8b6433d402937cfcc0449cca14 Mon Sep 17 00:00:00 2001 From: AKALegman Date: Mon, 15 Jun 2015 20:55:49 +0100 Subject: [PATCH 6/6] final fixes --- addons/explosives/ACE_Settings.hpp | 2 ++ addons/explosives/functions/fnc_defuseExplosive.sqf | 3 +-- addons/explosives/stringtable.xml | 8 -------- 3 files changed, 3 insertions(+), 10 deletions(-) diff --git a/addons/explosives/ACE_Settings.hpp b/addons/explosives/ACE_Settings.hpp index c91c94464d..ef6a723d5b 100644 --- a/addons/explosives/ACE_Settings.hpp +++ b/addons/explosives/ACE_Settings.hpp @@ -8,6 +8,8 @@ class ACE_Settings { typeName = "BOOL"; }; class GVAR(ExplodeOnDefuse) { + displayName = CSTRING(ExplodeOnDefuse_DisplayName); + description = CSTRING(ExplodeOnDefuse_Description); value = 1; typeName = "BOOL"; }; diff --git a/addons/explosives/functions/fnc_defuseExplosive.sqf b/addons/explosives/functions/fnc_defuseExplosive.sqf index cb60e556e9..e0c7f7c85d 100644 --- a/addons/explosives/functions/fnc_defuseExplosive.sqf +++ b/addons/explosives/functions/fnc_defuseExplosive.sqf @@ -17,8 +17,7 @@ #include "script_component.hpp" EXPLODE_2_PVT(_this,_unit,_explosive); -_explode = random 1.0; -if (GVAR(ExplodeOnDefuse) && _explode < getNumber(ConfigFile >> "CfgAmmo" >> typeOf _explosive >> "ACE_explodeOnDefuse")) exitWith { +if (GVAR(ExplodeOnDefuse) && (random 1.0) < getNumber(ConfigFile >> "CfgAmmo" >> typeOf _explosive >> "ACE_explodeOnDefuse")) exitWith { [_unit, -1, [_explosive, 1], true] call FUNC(detonateExplosive); }; diff --git a/addons/explosives/stringtable.xml b/addons/explosives/stringtable.xml index 2098016530..abd6d83e26 100644 --- a/addons/explosives/stringtable.xml +++ b/addons/explosives/stringtable.xml @@ -542,17 +542,9 @@ Explode on defusal? - - - - Enable certain explosives to explode on defusal? Default: Yes - - - -