From 112c002b0bac700985309e68ffd1b0a547cfc88e Mon Sep 17 00:00:00 2001 From: bux <github@jonathandavid.de> Date: Tue, 29 Dec 2015 20:57:55 +0100 Subject: [PATCH 1/3] remove ace_offset entry Ported from AGM and simply renamed. It wasn't even used in AGM. --- addons/explosives/CfgVehicles.hpp | 2 -- 1 file changed, 2 deletions(-) diff --git a/addons/explosives/CfgVehicles.hpp b/addons/explosives/CfgVehicles.hpp index 7a51a7d765..de978e0d2b 100644 --- a/addons/explosives/CfgVehicles.hpp +++ b/addons/explosives/CfgVehicles.hpp @@ -89,7 +89,6 @@ class CfgVehicles { scope = 2; scopeCurator = 1; vehicleClass = "Cargo"; - ACE_offset[] = {0,0,0}; class ACE_Actions { class ACE_MainActions { selection = ""; @@ -137,7 +136,6 @@ class CfgVehicles { class ACE_Explosives_Place_APERSTripwireMine:ACE_Explosives_Place { displayName = "APERS Tripwire Mine"; model = "\A3\Weapons_F\explosives\mine_AP_tripwire"; - ACE_offset[] = {1,0,0}; }; class ACE_Explosives_Place_ATMine:ACE_Explosives_Place { From 2a6042bf619e75e0f9e3b50a18eb7ee4a79ca486 Mon Sep 17 00:00:00 2001 From: bux <github@jonathandavid.de> Date: Wed, 30 Dec 2015 09:11:57 +0100 Subject: [PATCH 2/3] add interaction position and defuse object position and reduce interaction distance --- addons/explosives/CfgAmmo.hpp | 24 +++++++++----- addons/explosives/CfgVehicles.hpp | 33 ++++++++++++++++--- .../explosives/functions/fnc_interactEH.sqf | 12 ++++++- 3 files changed, 54 insertions(+), 15 deletions(-) diff --git a/addons/explosives/CfgAmmo.hpp b/addons/explosives/CfgAmmo.hpp index 8299a979b3..e354e763e8 100644 --- a/addons/explosives/CfgAmmo.hpp +++ b/addons/explosives/CfgAmmo.hpp @@ -21,7 +21,6 @@ class CfgAmmo { class DirectionalBombCore: TimeBombCore; class DirectionalBombBase: DirectionalBombCore; - class APERSTripMine_Wire_Ammo: DirectionalBombBase; class SLAMDirectionalMine_Wire_Ammo: DirectionalBombBase; @@ -31,11 +30,16 @@ class CfgAmmo { class DirectionalBombBase; class ClaymoreDirectionalMine_Remote_Ammo: DirectionalBombBase { ACE_Explosive = "ClaymoreDirectionalMine_Remote_Ammo_Scripted"; + 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}; + }; + class SLAMDirectionalMine_Wire_Ammo: DirectionalBombBase { indirectHitRange = 20; ACE_explodeOnDefuse = 1; @@ -55,6 +59,7 @@ class CfgAmmo { class PipeBombBase; class DemoCharge_Remote_Ammo: PipeBombBase { ACE_Explosive = "DemoCharge_Remote_Ammo_Scripted"; + GVAR(defuseObjectPosition[]) = {0.07,0,0.055}; soundActivation[] = {"", 0, 0, 0}; soundDeactivation[] = {"", 0, 0, 0}; hit = 500; @@ -63,17 +68,18 @@ class CfgAmmo { }; class SatchelCharge_Remote_Ammo: PipeBombBase { ACE_Explosive = "SatchelCharge_Remote_Ammo_Scripted"; + 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;*/ - + class IEDUrbanBig_Remote_Ammo: PipeBombBase { triggerWhenDestroyed = 1; ACE_explodeOnDefuse = 0.02; - soundTrigger[] = {"A3\Sounds_F\weapons\mines\mech_trigger_1", 0.8, 1, 40}; + soundTrigger[] = {"A3\Sounds_F\weapons\mines\mech_trigger_1", 0.8, 1, 40}; }; class IEDUrbanBig_Command_Ammo: IEDUrbanBig_Remote_Ammo { mineTrigger = "RemoteTrigger"; @@ -81,19 +87,19 @@ class CfgAmmo { 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 { + }; + 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; @@ -105,7 +111,7 @@ class CfgAmmo { class IEDLandBig_Range_Ammo: IEDLandBig_Remote_Ammo { mineTrigger = "RangeTrigger"; }; - + class IEDLandSmall_Remote_Ammo: PipeBombBase { triggerWhenDestroyed = 1; ACE_explodeOnDefuse = 0.02; diff --git a/addons/explosives/CfgVehicles.hpp b/addons/explosives/CfgVehicles.hpp index de978e0d2b..62ef51a8f2 100644 --- a/addons/explosives/CfgVehicles.hpp +++ b/addons/explosives/CfgVehicles.hpp @@ -62,7 +62,7 @@ class CfgVehicles { class ACE_Actions { class ACE_MainActions { selection = ""; - distance = 5; + distance = 1; condition = "true"; class ACE_Defuse { displayName = CSTRING(Defuse); @@ -73,7 +73,7 @@ class CfgVehicles { icon = PATHTOF(UI\Defuse_ca.paa); priority = 0.8; hotkey = "F"; - distance = 5; + distance = 1; }; }; }; @@ -92,12 +92,12 @@ class CfgVehicles { class ACE_Actions { class ACE_MainActions { selection = ""; - distance = 5; + distance = 1; condition = "true"; class ACE_SetTrigger { selection = ""; displayName = CSTRING(TriggerMenu); - distance = 4; + distance = 1; condition = "true"; statement = ""; insertChildren = QUOTE([ARR_3(_target getVariable QUOTE(QGVAR(class)),_target,_player)] call FUNC(addTriggerActions);); @@ -109,7 +109,7 @@ class CfgVehicles { class ACE_PickUp { selection = ""; displayName = CSTRING(Pickup); - distance = 4; + distance = 1; condition = "true"; statement = QUOTE([ARR_2(_player,_target getVariable QUOTE(QGVAR(class)))] call EFUNC(common,addToInventory);deleteVehicle _target;); showDisabled = 0; @@ -124,6 +124,11 @@ class CfgVehicles { class ACE_Explosives_Place_DemoCharge:ACE_Explosives_Place { displayName = "Demo Charge"; model = "\A3\Weapons_F\explosives\c4_charge_small_d"; + class ACE_Actions: ACE_Actions { + class ACE_MainActions: ACE_MainActions { + position = "[-0.07,0,0.055]"; + }; + }; }; class ACE_Explosives_Place_APERSBoundingMine:ACE_Explosives_Place { displayName = "APERS Bounding Mine"; @@ -136,6 +141,14 @@ class CfgVehicles { class ACE_Explosives_Place_APERSTripwireMine:ACE_Explosives_Place { displayName = "APERS Tripwire Mine"; model = "\A3\Weapons_F\explosives\mine_AP_tripwire"; + + class ACE_Actions: ACE_Actions { + class ACE_MainActions: ACE_MainActions { + position = "[1.415,0,0.12]"; + }; + }; + + }; class ACE_Explosives_Place_ATMine:ACE_Explosives_Place { @@ -146,11 +159,21 @@ class CfgVehicles { class ACE_Explosives_Place_Claymore:ACE_Explosives_Place { displayName = "Claymore"; model = "\A3\Weapons_F\explosives\mine_AP_miniclaymore"; + class ACE_Actions: ACE_Actions { + class ACE_MainActions: ACE_MainActions { + position = "[0,0,0.038]"; + }; + }; }; class ACE_Explosives_Place_SatchelCharge:ACE_Explosives_Place { displayName = "Satchel Charge"; model = "\A3\Weapons_F\Explosives\satchel"; + class ACE_Actions: ACE_Actions { + class ACE_MainActions: ACE_MainActions { + position = "[-0.1,-0.1,0.05]"; + }; + }; }; class ACE_Explosives_Place_SLAM:ACE_Explosives_Place { diff --git a/addons/explosives/functions/fnc_interactEH.sqf b/addons/explosives/functions/fnc_interactEH.sqf index 9be7568530..da5e5ec149 100644 --- a/addons/explosives/functions/fnc_interactEH.sqf +++ b/addons/explosives/functions/fnc_interactEH.sqf @@ -45,7 +45,17 @@ if (!("ACE_DefusalKit" in (items ACE_player))) exitWith {}; if (((_x distance ACE_player) < 15) && {!(_x in _minesHelped)}) then { TRACE_2("Making Defuse Helper",(_x),(typeOf _x)); _defuseHelper = "ACE_DefuseObject" createVehicleLocal (getPos _x); - _defuseHelper attachTo [_x, [0,0,0]]; + + private _config = configFile >> "CfgAmmo" >> typeOf _x; + + private _defuseObjectPosition = getArray (_config >> QGVAR(defuseObjectPosition)); + if (_defuseObjectPosition isEqualTo []) then { + _defuseObjectPosition = [0,0,0]; + }; + + TRACE_1("DefuseObjectPosition",(_defuseObjectPosition)); + + _defuseHelper attachTo [_x, _defuseObjectPosition]; _defuseHelper setVariable [QGVAR(Explosive),_x]; _addedDefuseHelpers pushBack _defuseHelper; _minesHelped pushBack _x; From d6c5643790826d8918c1d4ae8344d2e3210fe8b2 Mon Sep 17 00:00:00 2001 From: bux <github@jonathandavid.de> Date: Wed, 30 Dec 2015 09:43:19 +0100 Subject: [PATCH 3/3] improve code style --- addons/explosives/CfgAmmo.hpp | 4 ++-- addons/explosives/CfgVehicles.hpp | 3 --- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/addons/explosives/CfgAmmo.hpp b/addons/explosives/CfgAmmo.hpp index e354e763e8..843ecdb8e3 100644 --- a/addons/explosives/CfgAmmo.hpp +++ b/addons/explosives/CfgAmmo.hpp @@ -59,7 +59,7 @@ class CfgAmmo { class PipeBombBase; class DemoCharge_Remote_Ammo: PipeBombBase { ACE_Explosive = "DemoCharge_Remote_Ammo_Scripted"; - GVAR(defuseObjectPosition[]) = {0.07,0,0.055}; + GVAR(defuseObjectPosition[]) = {0.07, 0, 0.055}; soundActivation[] = {"", 0, 0, 0}; soundDeactivation[] = {"", 0, 0, 0}; hit = 500; @@ -68,7 +68,7 @@ class CfgAmmo { }; class SatchelCharge_Remote_Ammo: PipeBombBase { ACE_Explosive = "SatchelCharge_Remote_Ammo_Scripted"; - GVAR(defuseObjectPosition[]) = {0.1,0.1,0.05}; + GVAR(defuseObjectPosition[]) = {0.1, 0.1, 0.05}; soundActivation[] = {"", 0, 0, 0}; soundDeactivation[] = {"", 0, 0, 0}; }; diff --git a/addons/explosives/CfgVehicles.hpp b/addons/explosives/CfgVehicles.hpp index 62ef51a8f2..ce90b9079b 100644 --- a/addons/explosives/CfgVehicles.hpp +++ b/addons/explosives/CfgVehicles.hpp @@ -141,14 +141,11 @@ class CfgVehicles { class ACE_Explosives_Place_APERSTripwireMine:ACE_Explosives_Place { displayName = "APERS Tripwire Mine"; model = "\A3\Weapons_F\explosives\mine_AP_tripwire"; - class ACE_Actions: ACE_Actions { class ACE_MainActions: ACE_MainActions { position = "[1.415,0,0.12]"; }; }; - - }; class ACE_Explosives_Place_ATMine:ACE_Explosives_Place {