Explosives, 2 spaces to 4 space tab.

This commit is contained in:
Garth L-H de Wet 2015-04-06 22:10:00 +02:00
parent 7c73f7479e
commit 44c597f7c5
17 changed files with 1510 additions and 1506 deletions

View File

@ -1,54 +1,54 @@
class CfgACE_Triggers { class CfgACE_Triggers {
/* onPlace parameters: /* onPlace parameters:
0: OBJECT - unit placing 0: OBJECT - unit placing
1: OBJECT - Placed explosive 1: OBJECT - Placed explosive
2: STRING - Magazine classname 2: STRING - Magazine classname
3: ARRAY - vars 3: ARRAY - vars
Last Index: CfgACE_Triggers config of trigger type. Last Index: CfgACE_Triggers config of trigger type.
onSetup parameters: onSetup parameters:
0: STRING - Magazine Classname 0: STRING - Magazine Classname
*/ */
class Command { class Command {
displayName = $STR_ACE_Explosives_clacker_displayName; displayName = $STR_ACE_Explosives_clacker_displayName;
picture = PATHTOF(Data\UI\Clacker.paa); picture = PATHTOF(Data\UI\Clacker.paa);
onPlace = QUOTE(_this call FUNC(AddClacker);false); onPlace = QUOTE(_this call FUNC(AddClacker);false);
requires[] = {"ACE_Clacker"}; requires[] = {"ACE_Clacker"};
}; };
class MK16_Transmitter:Command { class MK16_Transmitter:Command {
displayName = $STR_ACE_Explosives_MK16_displayName; displayName = $STR_ACE_Explosives_MK16_displayName;
picture = PATHTOF(Data\UI\MK16_Reciever_ca.paa); picture = PATHTOF(Data\UI\MK16_Reciever_ca.paa);
requires[] = {"ACE_M26_Clacker"}; requires[] = {"ACE_M26_Clacker"};
}; };
class DeadManSwitch:Command { class DeadManSwitch:Command {
displayName = $STR_ACE_Explosives_DeadManSwitch_displayName; displayName = $STR_ACE_Explosives_DeadManSwitch_displayName;
picture = PATHTOF(Data\UI\DeadmanSwitch.paa); picture = PATHTOF(Data\UI\DeadmanSwitch.paa);
requires[] = {"ACE_DeadManSwitch"}; requires[] = {"ACE_DeadManSwitch"};
}; };
class Cellphone:Command { class Cellphone:Command {
displayName = $STR_ACE_Explosives_cellphone_displayName; displayName = $STR_ACE_Explosives_cellphone_displayName;
picture = PATHTOF(Data\UI\Cellphone_UI.paa); picture = PATHTOF(Data\UI\Cellphone_UI.paa);
onPlace = QUOTE(_this call FUNC(addCellphoneIED);false); onPlace = QUOTE(_this call FUNC(addCellphoneIED);false);
requires[] = {"ACE_Cellphone"}; requires[] = {"ACE_Cellphone"};
}; };
class PressurePlate { class PressurePlate {
displayName = $STR_ACE_Explosives_PressurePlate; displayName = $STR_ACE_Explosives_PressurePlate;
picture = PATHTOF(Data\UI\PressurePlate.paa); picture = PATHTOF(Data\UI\PressurePlate.paa);
onPlace = "_dist=GetNumber(ConfigFile >> 'CfgMagazines' >> (_this select 2) >> 'ACE_Triggers' >> 'PressurePlate' >> 'digDistance');_ex=_this select 1;_ex setPosATL ((getPosATL _ex) vectorDiff ((VectorUp _ex) vectorCrossProduct [0,0,_dist]));false"; onPlace = "_dist=GetNumber(ConfigFile >> 'CfgMagazines' >> (_this select 2) >> 'ACE_Triggers' >> 'PressurePlate' >> 'digDistance');_ex=_this select 1;_ex setPosATL ((getPosATL _ex) vectorDiff ((VectorUp _ex) vectorCrossProduct [0,0,_dist]));false";
}; };
class IRSensor { class IRSensor {
displayName = $STR_ACE_Explosives_IRSensor; displayName = $STR_ACE_Explosives_IRSensor;
picture = PATHTOF(Data\UI\PressurePlate.paa); picture = PATHTOF(Data\UI\PressurePlate.paa);
onPlace = "false"; onPlace = "false";
}; };
class Timer { class Timer {
displayName = $STR_ACE_Explosives_timerName; displayName = $STR_ACE_Explosives_timerName;
picture = PATHTOF(data\UI\Timer.paa); picture = PATHTOF(data\UI\Timer.paa);
onPlace = QUOTE([ARR_2(_this select 1,(_this select 3) select 0)] call FUNC(startTimer);false); onPlace = QUOTE([ARR_2(_this select 1,(_this select 3) select 0)] call FUNC(startTimer);false);
onSetup = QUOTE(_this call FUNC(openTimerSetUI);true); onSetup = QUOTE(_this call FUNC(openTimerSetUI);true);
}; };
class Tripwire { class Tripwire {
displayName = $STR_ACE_Explosives_TripWire; displayName = $STR_ACE_Explosives_TripWire;
picture = PATHTOF(Data\UI\Tripwire.paa); picture = PATHTOF(Data\UI\Tripwire.paa);
onPlace = "false"; onPlace = "false";
}; };
}; };

View File

@ -1,78 +1,78 @@
class CfgAmmo { class CfgAmmo {
// All explosive based Ammo classes. These are all listed in case they become required. // All explosive based Ammo classes. These are all listed in case they become required.
class Default; class Default;
class TimeBombCore:Default { class TimeBombCore:Default {
ACE_DefuseTime = 5; ACE_DefuseTime = 5;
}; };
/* /*
class BoundingMineCore:TimeBombCore; class BoundingMineCore:TimeBombCore;
class BoundingMineBase:BoundingMineCore; class BoundingMineBase:BoundingMineCore;
class APERSBoundingMine_Range_Ammo:BoundingMineBase; class APERSBoundingMine_Range_Ammo:BoundingMineBase;
class MineCore: TimeBombCore; class MineCore: TimeBombCore;
class MineBase:MineCore; class MineBase:MineCore;
class APERSMine_Range_Ammo:MineBase; class APERSMine_Range_Ammo:MineBase;
class ATMine_Range_Ammo:MineBase; class ATMine_Range_Ammo:MineBase;
class UnderwaterMine_Range_Ammo:MineBase; class UnderwaterMine_Range_Ammo:MineBase;
class UnderwaterMineAB_Range_Ammo:UnderwaterMine_Range_Ammo; class UnderwaterMineAB_Range_Ammo:UnderwaterMine_Range_Ammo;
class UnderwaterMinePDM_Range_Ammo:UnderwaterMine_Range_Ammo; class UnderwaterMinePDM_Range_Ammo:UnderwaterMine_Range_Ammo;
class DirectionalBombCore:TimeBombCore; class DirectionalBombCore:TimeBombCore;
class DirectionalBombBase:DirectionalBombCore; class DirectionalBombBase:DirectionalBombCore;
class APERSTripMine_Wire_Ammo:DirectionalBombBase; class APERSTripMine_Wire_Ammo:DirectionalBombBase;
class SLAMDirectionalMine_Wire_Ammo:DirectionalBombBase; class SLAMDirectionalMine_Wire_Ammo:DirectionalBombBase;
class PipeBombCore: TimeBombCore; class PipeBombCore: TimeBombCore;
class PipeBombBase:PipeBombCore; class PipeBombBase:PipeBombCore;
*/ */
class DirectionalBombBase; class DirectionalBombBase;
class ClaymoreDirectionalMine_Remote_Ammo:DirectionalBombBase{ class ClaymoreDirectionalMine_Remote_Ammo:DirectionalBombBase{
ACE_Explosive = "ClaymoreDirectionalMine_Remote_Ammo_Scripted"; ACE_Explosive = "ClaymoreDirectionalMine_Remote_Ammo_Scripted";
soundActivation[] = {"",0,0,0}; soundActivation[] = {"",0,0,0};
soundDeactivation[] = {"",0,0,0}; soundDeactivation[] = {"",0,0,0};
}; };
//class ClaymoreDirectionalMine_Remote_Ammo_Scripted:ClaymoreDirectionalMine_Remote_Ammo; //class ClaymoreDirectionalMine_Remote_Ammo_Scripted:ClaymoreDirectionalMine_Remote_Ammo;
class SLAMDirectionalMine_Wire_Ammo:DirectionalBombBase{ class SLAMDirectionalMine_Wire_Ammo:DirectionalBombBase{
indirectHitRange = 20; indirectHitRange = 20;
ACE_explodeOnDefuse = 1; ACE_explodeOnDefuse = 1;
}; };
class SLAMDirectionalMine_Command_Ammo:SLAMDirectionalMine_Wire_Ammo { class SLAMDirectionalMine_Command_Ammo:SLAMDirectionalMine_Wire_Ammo {
mineTrigger = "RemoteTrigger"; mineTrigger = "RemoteTrigger";
ACE_explodeOnDefuse = 0; ACE_explodeOnDefuse = 0;
}; };
class SLAMDirectionalMine_Timer_Ammo:SLAMDirectionalMine_Wire_Ammo { class SLAMDirectionalMine_Timer_Ammo:SLAMDirectionalMine_Wire_Ammo {
mineTrigger = "TimeTrigger"; mineTrigger = "TimeTrigger";
ACE_explodeOnDefuse = 0; ACE_explodeOnDefuse = 0;
}; };
class SLAMDirectionalMine_Magnetic_Ammo:SLAMDirectionalMine_Wire_Ammo { class SLAMDirectionalMine_Magnetic_Ammo:SLAMDirectionalMine_Wire_Ammo {
mineTrigger = "MagneticTrigger"; mineTrigger = "MagneticTrigger";
}; };
class PipeBombBase; class PipeBombBase;
class DemoCharge_Remote_Ammo:PipeBombBase{ class DemoCharge_Remote_Ammo:PipeBombBase{
ACE_Explosive = "DemoCharge_Remote_Ammo_Scripted"; ACE_Explosive = "DemoCharge_Remote_Ammo_Scripted";
soundActivation[] = {"",0,0,0}; soundActivation[] = {"",0,0,0};
soundDeactivation[] = {"",0,0,0}; soundDeactivation[] = {"",0,0,0};
hit = 500; hit = 500;
indirectHit = 500; indirectHit = 500;
indirectHitRange = 7; indirectHitRange = 7;
}; };
class SatchelCharge_Remote_Ammo:PipeBombBase{ class SatchelCharge_Remote_Ammo:PipeBombBase{
ACE_Explosive = "SatchelCharge_Remote_Ammo_Scripted"; ACE_Explosive = "SatchelCharge_Remote_Ammo_Scripted";
soundActivation[] = {"",0,0,0}; soundActivation[] = {"",0,0,0};
soundDeactivation[] = {"",0,0,0}; soundDeactivation[] = {"",0,0,0};
}; };
/* /*
class DemoCharge_Remote_Ammo_Scripted:DemoCharge_Remote_Ammo; class DemoCharge_Remote_Ammo_Scripted:DemoCharge_Remote_Ammo;
class SatchelCharge_Remote_Ammo_Scripted:SatchelCharge_Remote_Ammo; class SatchelCharge_Remote_Ammo_Scripted:SatchelCharge_Remote_Ammo;
TODO: Configure IEDs to use the system. TODO: Configure IEDs to use the system.
class IEDLandBig_Remote_Ammo:PipeBombBase{ class IEDLandBig_Remote_Ammo:PipeBombBase{
triggerWhenDestroyed = 1; triggerWhenDestroyed = 1;
}; };
class IEDLandSmall_Remote_Ammo:PipeBombBase{ class IEDLandSmall_Remote_Ammo:PipeBombBase{
triggerWhenDestroyed = 1; triggerWhenDestroyed = 1;

View File

@ -1,20 +1,20 @@
class Extended_PreInit_EventHandlers { class Extended_PreInit_EventHandlers {
class ADDON { class ADDON {
init = QUOTE(call COMPILE_FILE(XEH_preInit)); init = QUOTE(call COMPILE_FILE(XEH_preInit));
}; };
}; };
class Extended_PostInit_EventHandlers { class Extended_PostInit_EventHandlers {
class ADDON { class ADDON {
init = QUOTE(call COMPILE_FILE(XEH_postInit)); init = QUOTE(call COMPILE_FILE(XEH_postInit));
}; };
}; };
/* /*
TODO: Move the addEventHandlers out of PostInit into here or separate eventHandlers, TODO: Move the addEventHandlers out of PostInit into here or separate eventHandlers,
to enable them on all units, so unit switching works for explosives properly. to enable them on all units, so unit switching works for explosives properly.
class Extended_Init_EventHandlers { class Extended_Init_EventHandlers {
class CAManBase { class CAManBase {
init = ""; init = "";
} }
} }
*/ */

View File

@ -1,127 +1,127 @@
class CfgMagazines { class CfgMagazines {
class CA_Magazine; class CA_Magazine;
class ATMine_Range_Mag:CA_Magazine{ class ATMine_Range_Mag:CA_Magazine{
ACE_Placeable = 1; ACE_Placeable = 1;
useAction = 0; useAction = 0;
ACE_SetupObject = "ACE_Explosives_Place_ATMine"; // CfgVehicle class for setup object. ACE_SetupObject = "ACE_Explosives_Place_ATMine"; // CfgVehicle class for setup object.
ACE_DelayTime = 2.5; ACE_DelayTime = 2.5;
class ACE_Triggers { class ACE_Triggers {
SupportedTriggers[] = {"PressurePlate"}; SupportedTriggers[] = {"PressurePlate"};
class PressurePlate { class PressurePlate {
digDistance = 0.1; digDistance = 0.1;
}; };
}; };
}; };
class APERSBoundingMine_Range_Mag:ATMine_Range_Mag{ class APERSBoundingMine_Range_Mag:ATMine_Range_Mag{
ACE_SetupObject = "ACE_Explosives_Place_APERSBoundingMine"; ACE_SetupObject = "ACE_Explosives_Place_APERSBoundingMine";
class ACE_Triggers { class ACE_Triggers {
SupportedTriggers[] = {"PressurePlate"}; SupportedTriggers[] = {"PressurePlate"};
class PressurePlate { class PressurePlate {
digDistance = 0.075; digDistance = 0.075;
}; };
}; };
}; };
class APERSMine_Range_Mag:ATMine_Range_Mag{ class APERSMine_Range_Mag:ATMine_Range_Mag{
ACE_SetupObject = "ACE_Explosives_Place_APERSMine"; ACE_SetupObject = "ACE_Explosives_Place_APERSMine";
class ACE_Triggers { class ACE_Triggers {
SupportedTriggers[] = {"PressurePlate"}; SupportedTriggers[] = {"PressurePlate"};
class PressurePlate { class PressurePlate {
digDistance = 0.05; digDistance = 0.05;
}; };
}; };
}; };
class APERSTripMine_Wire_Mag:ATMine_Range_Mag{ class APERSTripMine_Wire_Mag:ATMine_Range_Mag{
ACE_SetupObject = "ACE_Explosives_Place_APERSTripwireMine"; ACE_SetupObject = "ACE_Explosives_Place_APERSTripwireMine";
class ACE_Triggers { class ACE_Triggers {
SupportedTriggers[] = {"Tripwire"}; SupportedTriggers[] = {"Tripwire"};
class Tripwire; class Tripwire;
}; };
}; };
class ClaymoreDirectionalMine_Remote_Mag:CA_Magazine{ class ClaymoreDirectionalMine_Remote_Mag:CA_Magazine{
ACE_Placeable = 1; ACE_Placeable = 1;
useAction = 0; useAction = 0;
ACE_SetupObject = "ACE_Explosives_Place_Claymore"; ACE_SetupObject = "ACE_Explosives_Place_Claymore";
ACE_DelayTime = 1.5; ACE_DelayTime = 1.5;
class ACE_Triggers { class ACE_Triggers {
SupportedTriggers[] = {"Command"}; SupportedTriggers[] = {"Command"};
class Command { class Command {
FuseTime = 0.5; FuseTime = 0.5;
}; };
}; };
}; };
class SatchelCharge_Remote_Mag:CA_Magazine{ class SatchelCharge_Remote_Mag:CA_Magazine{
ACE_Placeable = 1; ACE_Placeable = 1;
useAction = 0; useAction = 0;
ACE_SetupObject = "ACE_Explosives_Place_SatchelCharge"; ACE_SetupObject = "ACE_Explosives_Place_SatchelCharge";
ACE_DelayTime = 1; ACE_DelayTime = 1;
class ACE_Triggers { class ACE_Triggers {
SupportedTriggers[] = {"Timer","Command", "MK16_Transmitter", "DeadmanSwitch"}; SupportedTriggers[] = {"Timer","Command", "MK16_Transmitter", "DeadmanSwitch"};
class Timer { class Timer {
FuseTime = 0.5; FuseTime = 0.5;
}; };
class Command { class Command {
FuseTime = 0.5; FuseTime = 0.5;
}; };
class MK16_Transmitter:Command{}; class MK16_Transmitter:Command{};
class DeadmanSwitch:Command{}; class DeadmanSwitch:Command{};
}; };
}; };
class DemoCharge_Remote_Mag:SatchelCharge_Remote_Mag{ class DemoCharge_Remote_Mag:SatchelCharge_Remote_Mag{
ACE_SetupObject = "ACE_Explosives_Place_DemoCharge"; ACE_SetupObject = "ACE_Explosives_Place_DemoCharge";
model = "\A3\Weapons_F\explosives\c4_charge_small_d"; model = "\A3\Weapons_F\explosives\c4_charge_small_d";
}; };
class SLAMDirectionalMine_Wire_Mag: ATMine_Range_Mag{ class SLAMDirectionalMine_Wire_Mag: ATMine_Range_Mag{
ACE_SetupObject = "ACE_Explosives_Place_SLAM"; ACE_SetupObject = "ACE_Explosives_Place_SLAM";
class ACE_Triggers { class ACE_Triggers {
SupportedTriggers[] = {"IRSensor","PressurePlate","Timer","Command"}; SupportedTriggers[] = {"IRSensor","PressurePlate","Timer","Command"};
class PressurePlate{ class PressurePlate{
displayName = $STR_ACE_Explosives_SLAME_Magnetic; displayName = $STR_ACE_Explosives_SLAME_Magnetic;
digDistance = 0; digDistance = 0;
ammo = "SLAMDirectionalMine_Magnetic_Ammo"; ammo = "SLAMDirectionalMine_Magnetic_Ammo";
pitch = 90; pitch = 90;
}; };
class IRSensor{ class IRSensor{
displayName = $STR_ACE_Explosives_SLAME_IRSensor; displayName = $STR_ACE_Explosives_SLAME_IRSensor;
}; };
class Timer { class Timer {
ammo = "SLAMDirectionalMine_Timer_Ammo"; ammo = "SLAMDirectionalMine_Timer_Ammo";
}; };
class Command { class Command {
ammo = "SLAMDirectionalMine_Command_Ammo"; ammo = "SLAMDirectionalMine_Command_Ammo";
fuseTime = 0.5; fuseTime = 0.5;
}; };
}; };
}; };
class IEDUrbanBig_Remote_Mag: DemoCharge_Remote_Mag { class IEDUrbanBig_Remote_Mag: DemoCharge_Remote_Mag {
ACE_SetupObject = "ACE_Explosives_Place_IEDUrbanBig"; ACE_SetupObject = "ACE_Explosives_Place_IEDUrbanBig";
class ACE_Triggers { class ACE_Triggers {
SupportedTriggers[] = {"Command","DeadmanSwitch", "Cellphone"}; SupportedTriggers[] = {"Command","DeadmanSwitch", "Cellphone"};
class Command { class Command {
FuseTime = 0.5; FuseTime = 0.5;
}; };
class DeadmanSwitch:Command{}; class DeadmanSwitch:Command{};
class Cellphone:Command{}; class Cellphone:Command{};
}; };
}; };
class IEDLandBig_Remote_Mag: IEDUrbanBig_Remote_Mag{ class IEDLandBig_Remote_Mag: IEDUrbanBig_Remote_Mag{
ACE_SetupObject = "ACE_Explosives_Place_IEDLandBig"; ACE_SetupObject = "ACE_Explosives_Place_IEDLandBig";
}; };
class IEDUrbanSmall_Remote_Mag: DemoCharge_Remote_Mag { class IEDUrbanSmall_Remote_Mag: DemoCharge_Remote_Mag {
ACE_SetupObject = "ACE_Explosives_Place_IEDUrbanSmall"; ACE_SetupObject = "ACE_Explosives_Place_IEDUrbanSmall";
class ACE_Triggers { class ACE_Triggers {
SupportedTriggers[] = {"Command","DeadmanSwitch", "Cellphone"}; SupportedTriggers[] = {"Command","DeadmanSwitch", "Cellphone"};
class Command { class Command {
FuseTime = 0.5; FuseTime = 0.5;
}; };
class DeadmanSwitch:Command{}; class DeadmanSwitch:Command{};
class Cellphone:Command{}; class Cellphone:Command{};
}; };
}; };
class IEDLandSmall_Remote_Mag: IEDUrbanSmall_Remote_Mag { class IEDLandSmall_Remote_Mag: IEDUrbanSmall_Remote_Mag {
ACE_SetupObject = "ACE_Explosives_Place_IEDLandSmall"; ACE_SetupObject = "ACE_Explosives_Place_IEDLandSmall";
}; };
}; };

View File

@ -1,44 +1,44 @@
class Module_F; class Module_F;
class ACE_ModuleExplosive: Module_F { class ACE_ModuleExplosive: Module_F {
author = "$STR_ACE_Common_ACETeam"; author = "$STR_ACE_Common_ACETeam";
category = "ACE"; category = "ACE";
displayName = "Explosive System"; displayName = "Explosive System";
function = QUOTE(FUNC(module)); function = QUOTE(FUNC(module));
scope = 2; scope = 2;
isGlobal = 1; isGlobal = 1;
icon = PATHTOF(UI\Icon_Module_Explosives_ca.paa); icon = PATHTOF(UI\Icon_Module_Explosives_ca.paa);
class Arguments { class Arguments {
class RequireSpecialist { class RequireSpecialist {
displayName = "Require specialists?"; displayName = "Require specialists?";
description = "Require explosive specialists to disable explosives? Default: No"; description = "Require explosive specialists to disable explosives? Default: No";
typeName = "BOOL"; typeName = "BOOL";
class values { class values {
class Yes { class Yes {
name = "Yes"; name = "Yes";
value = 1; value = 1;
}; };
class No { class No {
default = 1; default = 1;
name = "No"; name = "No";
value = 0; value = 0;
}; };
}; };
}; };
class PunishNonSpecialists { class PunishNonSpecialists {
displayName = "Punish non-specialists?"; displayName = "Punish non-specialists?";
description = "Increase the time it takes to complete actions for non-specialists? Default: Yes"; description = "Increase the time it takes to complete actions for non-specialists? Default: Yes";
typeName = "BOOL"; typeName = "BOOL";
class values { class values {
class Yes { class Yes {
default = 1; default = 1;
name = "Yes"; name = "Yes";
value = 1; value = 1;
}; };
class No { class No {
name = "No"; name = "No";
value = 0; value = 0;
}; };
}; };
}; };
}; };
}; };

View File

@ -1,327 +1,327 @@
class CfgVehicles { class CfgVehicles {
class Man; class Man;
class CAManBase: Man { class CAManBase: Man {
class ACE_SelfActions { class ACE_SelfActions {
class ACE_Explosives { class ACE_Explosives {
displayName = $STR_ACE_Explosives_Menu; displayName = $STR_ACE_Explosives_Menu;
condition = QUOTE(!(_player getVariable [ARR_2('ace_explosives_PlantingExplosive',false)])); condition = QUOTE(!(_player getVariable [ARR_2('ace_explosives_PlantingExplosive',false)]));
statement = ""; statement = "";
exceptions[] = {"isNotSwimming", "isNotInside"}; exceptions[] = {"isNotSwimming", "isNotInside"};
showDisabled = 1; showDisabled = 1;
priority = 4; priority = 4;
icon = PATHTOF(UI\Explosives_Menu_ca.paa); icon = PATHTOF(UI\Explosives_Menu_ca.paa);
hotkey = "X"; hotkey = "X";
//Sub-menu items //Sub-menu items
class ACE_Detonate { class ACE_Detonate {
displayName = $STR_ACE_Explosives_Detonate; displayName = $STR_ACE_Explosives_Detonate;
condition = QUOTE([_player] call FUNC(canDetonate)); condition = QUOTE([_player] call FUNC(canDetonate));
statement = ""; statement = "";
insertChildren = QUOTE([_player] call FUNC(addTransmitterActions);); insertChildren = QUOTE([_player] call FUNC(addTransmitterActions););
exceptions[] = {"isNotSwimming", "isNotInside"}; exceptions[] = {"isNotSwimming", "isNotInside"};
showDisabled = 1; showDisabled = 1;
icon = PATHTOF(UI\Explosives_Menu_ca.paa); icon = PATHTOF(UI\Explosives_Menu_ca.paa);
priority = 2; priority = 2;
hotkey = "T"; hotkey = "T";
}; };
class ACE_Place { class ACE_Place {
displayName = $STR_ACE_Explosives_Place; displayName = $STR_ACE_Explosives_Place;
condition = QUOTE((vehicle _player == _player) and {[_player] call FUNC(hasExplosives)}); condition = QUOTE((vehicle _player == _player) and {[_player] call FUNC(hasExplosives)});
statement = ""; statement = "";
insertChildren = QUOTE([_player] call FUNC(addExplosiveActions);); insertChildren = QUOTE([_player] call FUNC(addExplosiveActions););
exceptions[] = {"isNotSwimming"}; exceptions[] = {"isNotSwimming"};
showDisabled = 1; showDisabled = 1;
icon = PATHTOF(UI\Place_Explosive_ca.paa); icon = PATHTOF(UI\Place_Explosive_ca.paa);
priority = 1; priority = 1;
hotkey = "P"; hotkey = "P";
}; };
class ACE_Cellphone { class ACE_Cellphone {
displayName = $STR_ACE_Explosives_cellphone_displayName; displayName = $STR_ACE_Explosives_cellphone_displayName;
condition = "('ACE_Cellphone' in (items ace_player))"; condition = "('ACE_Cellphone' in (items ace_player))";
statement = "closeDialog 0;createDialog 'Rsc_ACE_PhoneInterface';"; statement = "closeDialog 0;createDialog 'Rsc_ACE_PhoneInterface';";
exceptions[] = {"isNotSwimming", "isNotInside"}; exceptions[] = {"isNotSwimming", "isNotInside"};
showDisabled = 0; showDisabled = 0;
icon = PATHTOF(Data\UI\Cellphone_UI.paa); icon = PATHTOF(Data\UI\Cellphone_UI.paa);
priority = 0.8; priority = 0.8;
}; };
}; };
}; };
}; };
class Items_base_F; class Items_base_F;
class ACE_DefuseObject: Items_base_F { class ACE_DefuseObject: Items_base_F {
XEH_ENABLED; XEH_ENABLED;
author = "ACE"; author = "ACE";
_generalMacro = "ACE_DefuseObject"; _generalMacro = "ACE_DefuseObject";
displayName = "ACE Defuse Helper"; displayName = "ACE Defuse Helper";
mapSize = 0.2; mapSize = 0.2;
icon = "iconObject_1x2"; icon = "iconObject_1x2";
model = "\A3\Weapons_f\dummyweapon.p3d"; model = "\A3\Weapons_f\dummyweapon.p3d";
scope = 2; scope = 2;
scopeCurator = 1; scopeCurator = 1;
vehicleClass = "Cargo"; vehicleClass = "Cargo";
class ACE_Actions { class ACE_Actions {
class ACE_MainActions { class ACE_MainActions {
selection = ""; selection = "";
distance = 5; distance = 5;
condition = "true"; condition = "true";
class ACE_Defuse { class ACE_Defuse {
displayName = $STR_ACE_Explosives_Defuse; displayName = $STR_ACE_Explosives_Defuse;
condition = QUOTE([ARR_2(_player,_target)] call FUNC(canDefuse)); condition = QUOTE([ARR_2(_player,_target)] call FUNC(canDefuse));
statement = QUOTE([ARR_2(_player,_target)] call FUNC(startDefuse);); statement = QUOTE([ARR_2(_player,_target)] call FUNC(startDefuse););
exceptions[] = {"isNotSwimming"}; exceptions[] = {"isNotSwimming"};
showDisabled = 0; showDisabled = 0;
icon = PATHTOF(UI\Defuse_ca.paa); icon = PATHTOF(UI\Defuse_ca.paa);
priority = 0.8; priority = 0.8;
hotkey = "F"; hotkey = "F";
distance = 5; distance = 5;
}; };
}; };
}; };
}; };
class ACE_Explosives_Place: Items_base_F { class ACE_Explosives_Place: Items_base_F {
XEH_ENABLED; XEH_ENABLED;
author = "ACE"; author = "ACE";
_generalMacro = "ACE_Explosives_Place"; _generalMacro = "ACE_Explosives_Place";
displayName = "Multi-meter"; displayName = "Multi-meter";
mapSize = 0.2; mapSize = 0.2;
icon = "iconObject_1x2"; icon = "iconObject_1x2";
model = "\A3\Structures_F\Items\Tools\MultiMeter_F.p3d"; model = "\A3\Structures_F\Items\Tools\MultiMeter_F.p3d";
scope = 2; scope = 2;
scopeCurator = 1; scopeCurator = 1;
vehicleClass = "Cargo"; vehicleClass = "Cargo";
ACE_offset[] = {0,0,0}; ACE_offset[] = {0,0,0};
class ACE_Actions { class ACE_Actions {
class ACE_MainActions { class ACE_MainActions {
selection = ""; selection = "";
distance = 5; distance = 5;
condition = "true"; condition = "true";
class ACE_SetTrigger { class ACE_SetTrigger {
selection = ""; selection = "";
displayName = "$STR_ACE_Explosives_TriggerMenu"; displayName = "$STR_ACE_Explosives_TriggerMenu";
distance = 4; distance = 4;
condition = "true"; condition = "true";
statement = ""; statement = "";
insertChildren = QUOTE([ARR_3(_target getVariable QUOTE(QGVAR(class)),_target,_player)] call FUNC(addTriggerActions);); insertChildren = QUOTE([ARR_3(_target getVariable QUOTE(QGVAR(class)),_target,_player)] call FUNC(addTriggerActions););
showDisabled = 0; showDisabled = 0;
exceptions[] = {}; exceptions[] = {};
priority = 5; priority = 5;
icon = QUOTE(PATHTOF(UI\Explosives_Menu_ca.paa)); icon = QUOTE(PATHTOF(UI\Explosives_Menu_ca.paa));
}; };
class ACE_PickUp { class ACE_PickUp {
selection = ""; selection = "";
displayName = "$STR_ACE_Explosives_Pickup"; displayName = "$STR_ACE_Explosives_Pickup";
distance = 4; distance = 4;
condition = "true"; condition = "true";
statement = QUOTE([ARR_2(_player,_target getVariable QUOTE(QGVAR(class)))] call EFUNC(common,addToInventory);deleteVehicle _target;); statement = QUOTE([ARR_2(_player,_target getVariable QUOTE(QGVAR(class)))] call EFUNC(common,addToInventory);deleteVehicle _target;);
showDisabled = 0; showDisabled = 0;
exceptions[] = {}; exceptions[] = {};
priority = 5; priority = 5;
icon = "\A3\ui_f\data\IGUI\Cfg\Actions\Obsolete\ui_action_takemine_ca.paa"; icon = "\A3\ui_f\data\IGUI\Cfg\Actions\Obsolete\ui_action_takemine_ca.paa";
}; };
}; };
}; };
}; };
class ACE_Explosives_Place_DemoCharge:ACE_Explosives_Place { class ACE_Explosives_Place_DemoCharge:ACE_Explosives_Place {
displayName = "Demo Charge"; displayName = "Demo Charge";
model = "\A3\Weapons_F\explosives\c4_charge_small_d"; model = "\A3\Weapons_F\explosives\c4_charge_small_d";
}; };
class ACE_Explosives_Place_APERSBoundingMine:ACE_Explosives_Place { class ACE_Explosives_Place_APERSBoundingMine:ACE_Explosives_Place {
displayName = "APERS Bounding Mine"; displayName = "APERS Bounding Mine";
model = "\A3\Weapons_F\explosives\mine_AP_bouncing"; model = "\A3\Weapons_F\explosives\mine_AP_bouncing";
}; };
class ACE_Explosives_Place_APERSMine:ACE_Explosives_Place { class ACE_Explosives_Place_APERSMine:ACE_Explosives_Place {
displayName = "APERS Mine"; displayName = "APERS Mine";
model = "\A3\Weapons_F\explosives\mine_ap"; model = "\A3\Weapons_F\explosives\mine_ap";
}; };
class ACE_Explosives_Place_APERSTripwireMine:ACE_Explosives_Place { class ACE_Explosives_Place_APERSTripwireMine:ACE_Explosives_Place {
displayName = "APERS Tripwire Mine"; displayName = "APERS Tripwire Mine";
model = "\A3\Weapons_F\explosives\mine_AP_tripwire"; model = "\A3\Weapons_F\explosives\mine_AP_tripwire";
ACE_offset[] = {1,0,0}; ACE_offset[] = {1,0,0};
}; };
class ACE_Explosives_Place_ATMine:ACE_Explosives_Place { class ACE_Explosives_Place_ATMine:ACE_Explosives_Place {
displayName = "AT Mine"; displayName = "AT Mine";
model = "\A3\Weapons_f\Explosives\mine_at"; model = "\A3\Weapons_f\Explosives\mine_at";
}; };
class ACE_Explosives_Place_Claymore:ACE_Explosives_Place { class ACE_Explosives_Place_Claymore:ACE_Explosives_Place {
displayName = "Claymore"; displayName = "Claymore";
model = "\A3\Weapons_F\explosives\mine_AP_miniclaymore"; model = "\A3\Weapons_F\explosives\mine_AP_miniclaymore";
}; };
class ACE_Explosives_Place_SatchelCharge:ACE_Explosives_Place { class ACE_Explosives_Place_SatchelCharge:ACE_Explosives_Place {
displayName = "Satchel Charge"; displayName = "Satchel Charge";
model = "\A3\Weapons_F\Explosives\satchel"; model = "\A3\Weapons_F\Explosives\satchel";
}; };
class ACE_Explosives_Place_SLAM:ACE_Explosives_Place { class ACE_Explosives_Place_SLAM:ACE_Explosives_Place {
displayName = "SLAM"; displayName = "SLAM";
model = "\A3\Weapons_F\Explosives\mine_SLAM_directional"; model = "\A3\Weapons_F\Explosives\mine_SLAM_directional";
}; };
// IEDs // IEDs
class ACE_Explosives_Place_IEDUrbanBig:ACE_Explosives_Place { class ACE_Explosives_Place_IEDUrbanBig:ACE_Explosives_Place {
displayName = "IED Urban Big"; displayName = "IED Urban Big";
model = "\A3\Weapons_F\Explosives\IED_urban_big"; model = "\A3\Weapons_F\Explosives\IED_urban_big";
}; };
class ACE_Explosives_Place_IEDLandBig:ACE_Explosives_Place { class ACE_Explosives_Place_IEDLandBig:ACE_Explosives_Place {
displayName = "IED Land Big"; displayName = "IED Land Big";
model = "\A3\Weapons_F\Explosives\IED_land_big"; model = "\A3\Weapons_F\Explosives\IED_land_big";
}; };
class ACE_Explosives_Place_IEDUrbanSmall:ACE_Explosives_Place { class ACE_Explosives_Place_IEDUrbanSmall:ACE_Explosives_Place {
displayName = "IED Urban Small"; displayName = "IED Urban Small";
model = "\A3\Weapons_F\Explosives\IED_urban_small"; model = "\A3\Weapons_F\Explosives\IED_urban_small";
}; };
class ACE_Explosives_Place_IEDLandSmall:ACE_Explosives_Place { class ACE_Explosives_Place_IEDLandSmall:ACE_Explosives_Place {
displayName = "IED Land Small"; displayName = "IED Land Small";
model = "\A3\Weapons_F\Explosives\IED_land_small"; model = "\A3\Weapons_F\Explosives\IED_land_small";
}; };
class NATO_Box_Base; class NATO_Box_Base;
class EAST_Box_Base; class EAST_Box_Base;
class IND_Box_Base; class IND_Box_Base;
class FIA_Box_Base_F; class FIA_Box_Base_F;
class Box_NATO_Support_F; class Box_NATO_Support_F;
class Box_NATO_AmmoOrd_F: NATO_Box_Base { class Box_NATO_AmmoOrd_F: NATO_Box_Base {
class TransportItems { class TransportItems {
MACRO_ADDITEM(ACE_Clacker,12); MACRO_ADDITEM(ACE_Clacker,12);
MACRO_ADDITEM(ACE_M26_Clacker,6); MACRO_ADDITEM(ACE_M26_Clacker,6);
MACRO_ADDITEM(ACE_DefusalKit,12); MACRO_ADDITEM(ACE_DefusalKit,12);
}; };
}; };
class Box_East_AmmoOrd_F: EAST_Box_Base { class Box_East_AmmoOrd_F: EAST_Box_Base {
class TransportItems { class TransportItems {
MACRO_ADDITEM(ACE_Clacker,12); MACRO_ADDITEM(ACE_Clacker,12);
MACRO_ADDITEM(ACE_M26_Clacker,6); MACRO_ADDITEM(ACE_M26_Clacker,6);
MACRO_ADDITEM(ACE_DefusalKit,12); MACRO_ADDITEM(ACE_DefusalKit,12);
}; };
}; };
class Box_IND_AmmoOrd_F: IND_Box_Base { class Box_IND_AmmoOrd_F: IND_Box_Base {
class TransportItems { class TransportItems {
MACRO_ADDITEM(ACE_Clacker,12); MACRO_ADDITEM(ACE_Clacker,12);
MACRO_ADDITEM(ACE_M26_Clacker,6); MACRO_ADDITEM(ACE_M26_Clacker,6);
MACRO_ADDITEM(ACE_DefusalKit,12); MACRO_ADDITEM(ACE_DefusalKit,12);
MACRO_ADDITEM(ACE_Deadmanswitch,2); MACRO_ADDITEM(ACE_Deadmanswitch,2);
MACRO_ADDITEM(ACE_Cellphone,3); MACRO_ADDITEM(ACE_Cellphone,3);
}; };
}; };
class Box_FIA_Ammo_F: FIA_Box_Base_F { class Box_FIA_Ammo_F: FIA_Box_Base_F {
class TransportItems { class TransportItems {
MACRO_ADDITEM(ACE_Clacker,2); MACRO_ADDITEM(ACE_Clacker,2);
MACRO_ADDITEM(ACE_M26_Clacker,2); MACRO_ADDITEM(ACE_M26_Clacker,2);
MACRO_ADDITEM(ACE_DefusalKit,2); MACRO_ADDITEM(ACE_DefusalKit,2);
MACRO_ADDITEM(ACE_Deadmanswitch,1); MACRO_ADDITEM(ACE_Deadmanswitch,1);
MACRO_ADDITEM(ACE_Cellphone,2); MACRO_ADDITEM(ACE_Cellphone,2);
}; };
}; };
class ACE_Box_Misc: Box_NATO_Support_F { class ACE_Box_Misc: Box_NATO_Support_F {
class TransportItems { class TransportItems {
MACRO_ADDITEM(ACE_Clacker,12); MACRO_ADDITEM(ACE_Clacker,12);
MACRO_ADDITEM(ACE_M26_Clacker,6); MACRO_ADDITEM(ACE_M26_Clacker,6);
MACRO_ADDITEM(ACE_DefusalKit,12); MACRO_ADDITEM(ACE_DefusalKit,12);
MACRO_ADDITEM(ACE_Deadmanswitch,6); MACRO_ADDITEM(ACE_Deadmanswitch,6);
MACRO_ADDITEM(ACE_Cellphone,10); MACRO_ADDITEM(ACE_Cellphone,10);
}; };
}; };
class B_Kitbag_rgr; class B_Kitbag_rgr;
class B_Kitbag_rgr_Exp: B_Kitbag_rgr { class B_Kitbag_rgr_Exp: B_Kitbag_rgr {
class TransportItems { class TransportItems {
class _xx_ToolKit { // xXToOlKiT420mLgXx class _xx_ToolKit { // xXToOlKiT420mLgXx
count = 0; count = 0;
}; };
}; };
}; };
class B_Carryall_ocamo; class B_Carryall_ocamo;
class B_Carryall_ocamo_Exp: B_Carryall_ocamo { class B_Carryall_ocamo_Exp: B_Carryall_ocamo {
class TransportItems { class TransportItems {
class _xx_ToolKit { class _xx_ToolKit {
count = 0; count = 0;
}; };
}; };
}; };
class B_Carryall_oucamo; class B_Carryall_oucamo;
class B_Carryall_oucamo_Exp: B_Carryall_oucamo { class B_Carryall_oucamo_Exp: B_Carryall_oucamo {
class TransportItems { class TransportItems {
class _xx_ToolKit { class _xx_ToolKit {
count = 0; count = 0;
}; };
}; };
}; };
class B_Carryall_oli; class B_Carryall_oli;
class G_Carryall_Exp: B_Carryall_oli { class G_Carryall_Exp: B_Carryall_oli {
class TransportItems { class TransportItems {
class _xx_ToolKit { class _xx_ToolKit {
count = 0; count = 0;
}; };
}; };
}; };
class I_Carryall_oli_Exp: B_Carryall_oli { class I_Carryall_oli_Exp: B_Carryall_oli {
class TransportItems { class TransportItems {
class _xx_ToolKit { class _xx_ToolKit {
count = 0; count = 0;
}; };
}; };
}; };
#include "CfgModule.hpp" #include "CfgModule.hpp"
// Add ACE_Clacker and ACE_DefusalKit to every explosive unit. // Add ACE_Clacker and ACE_DefusalKit to every explosive unit.
#define MACRO_ADDMINEKIT \ #define MACRO_ADDMINEKIT \
items[] = {"FirstAidKit", "ACE_Clacker", "ACE_DefusalKit"}; \ items[] = {"FirstAidKit", "ACE_Clacker", "ACE_DefusalKit"}; \
respawnitems[] = {"FirstAidKit", "ACE_Clacker", "ACE_DefusalKit"}; respawnitems[] = {"FirstAidKit", "ACE_Clacker", "ACE_DefusalKit"};
class B_Soldier_base_F; class B_soldier_exp_F:B_Soldier_base_F {MACRO_ADDMINEKIT}; class B_Soldier_base_F; class B_soldier_exp_F:B_Soldier_base_F {MACRO_ADDMINEKIT};
class B_Soldier_03_f; class B_engineer_F:B_Soldier_03_f {MACRO_ADDMINEKIT}; class B_Soldier_03_f; class B_engineer_F:B_Soldier_03_f {MACRO_ADDMINEKIT};
class B_Soldier_diver_base_F; class B_diver_exp_F:B_Soldier_diver_base_F {MACRO_ADDMINEKIT}; class B_Soldier_diver_base_F; class B_diver_exp_F:B_Soldier_diver_base_F {MACRO_ADDMINEKIT};
class B_Soldier_recon_base; class B_recon_exp_F:B_Soldier_recon_base {MACRO_ADDMINEKIT}; class B_Soldier_recon_base; class B_recon_exp_F:B_Soldier_recon_base {MACRO_ADDMINEKIT};
class B_CTRG_soldier_engineer_exp_F:B_Soldier_base_F {MACRO_ADDMINEKIT}; class B_CTRG_soldier_engineer_exp_F:B_Soldier_base_F {MACRO_ADDMINEKIT};
class I_G_Soldier_base_F; class I_G_engineer_F:I_G_Soldier_base_F {MACRO_ADDMINEKIT}; class I_G_Soldier_base_F; class I_G_engineer_F:I_G_Soldier_base_F {MACRO_ADDMINEKIT};
class I_G_Soldier_exp_F:I_G_Soldier_base_F {MACRO_ADDMINEKIT}; class I_G_Soldier_exp_F:I_G_Soldier_base_F {MACRO_ADDMINEKIT};
class B_G_engineer_F:I_G_engineer_F {MACRO_ADDMINEKIT}; class B_G_engineer_F:I_G_engineer_F {MACRO_ADDMINEKIT};
class O_G_engineer_F:I_G_engineer_F {MACRO_ADDMINEKIT}; class O_G_engineer_F:I_G_engineer_F {MACRO_ADDMINEKIT};
class B_G_Soldier_exp_F:I_G_Soldier_exp_F {MACRO_ADDMINEKIT}; class B_G_Soldier_exp_F:I_G_Soldier_exp_F {MACRO_ADDMINEKIT};
class O_G_Soldier_exp_F:I_G_Soldier_exp_F {MACRO_ADDMINEKIT}; class O_G_Soldier_exp_F:I_G_Soldier_exp_F {MACRO_ADDMINEKIT};
class I_Soldier_02_F; class I_Soldier_exp_F:I_Soldier_02_F {MACRO_ADDMINEKIT}; class I_Soldier_02_F; class I_Soldier_exp_F:I_Soldier_02_F {MACRO_ADDMINEKIT};
class I_Soldier_base_F; class I_engineer_F:I_Soldier_base_F {MACRO_ADDMINEKIT}; class I_Soldier_base_F; class I_engineer_F:I_Soldier_base_F {MACRO_ADDMINEKIT};
class I_Soldier_diver_base_F; class I_diver_exp_F:I_Soldier_diver_base_F {MACRO_ADDMINEKIT}; class I_Soldier_diver_base_F; class I_diver_exp_F:I_Soldier_diver_base_F {MACRO_ADDMINEKIT};
class O_Soldier_base_F; class O_soldier_exp_F:O_Soldier_base_F {MACRO_ADDMINEKIT}; class O_Soldier_base_F; class O_soldier_exp_F:O_Soldier_base_F {MACRO_ADDMINEKIT};
class O_engineer_F:O_Soldier_base_F {MACRO_ADDMINEKIT}; class O_engineer_F:O_Soldier_base_F {MACRO_ADDMINEKIT};
class O_Soldier_diver_base_F; class O_diver_exp_F:O_Soldier_diver_base_F {MACRO_ADDMINEKIT}; class O_Soldier_diver_base_F; class O_diver_exp_F:O_Soldier_diver_base_F {MACRO_ADDMINEKIT};
class O_Soldier_recon_base; class O_recon_exp_F:O_Soldier_recon_base {MACRO_ADDMINEKIT}; class O_Soldier_recon_base; class O_recon_exp_F:O_Soldier_recon_base {MACRO_ADDMINEKIT};
class O_Soldier_Urban_base; class O_soldierU_exp_F:O_Soldier_Urban_base {MACRO_ADDMINEKIT}; class O_Soldier_Urban_base; class O_soldierU_exp_F:O_Soldier_Urban_base {MACRO_ADDMINEKIT};
class O_engineer_U_F:O_Soldier_Urban_base {MACRO_ADDMINEKIT}; class O_engineer_U_F:O_Soldier_Urban_base {MACRO_ADDMINEKIT};
class B_Protagonist_VR_F:B_Soldier_base_F {MACRO_ADDMINEKIT}; class B_Protagonist_VR_F:B_Soldier_base_F {MACRO_ADDMINEKIT};
class O_Protagonist_VR_F:O_Soldier_base_F {MACRO_ADDMINEKIT}; class O_Protagonist_VR_F:O_Soldier_base_F {MACRO_ADDMINEKIT};
class I_Protagonist_VR_F:I_Soldier_base_F {MACRO_ADDMINEKIT}; class I_Protagonist_VR_F:I_Soldier_base_F {MACRO_ADDMINEKIT};
class B_Soldier_F; class b_soldier_universal_f:B_Soldier_F {MACRO_ADDMINEKIT}; class B_Soldier_F; class b_soldier_universal_f:B_Soldier_F {MACRO_ADDMINEKIT};
class B_G_Soldier_F; class b_g_soldier_universal_f:B_G_Soldier_F {MACRO_ADDMINEKIT}; class B_G_Soldier_F; class b_g_soldier_universal_f:B_G_Soldier_F {MACRO_ADDMINEKIT};
class O_Soldier_F; class o_soldier_universal_f:O_Soldier_F {MACRO_ADDMINEKIT}; class O_Soldier_F; class o_soldier_universal_f:O_Soldier_F {MACRO_ADDMINEKIT};
class O_G_Soldier_F; class o_g_soldier_universal_f:O_G_Soldier_F {MACRO_ADDMINEKIT}; class O_G_Soldier_F; class o_g_soldier_universal_f:O_G_Soldier_F {MACRO_ADDMINEKIT};
class I_soldier_F; class i_soldier_universal_f:I_soldier_F {MACRO_ADDMINEKIT}; class I_soldier_F; class i_soldier_universal_f:I_soldier_F {MACRO_ADDMINEKIT};
class I_G_Soldier_F; class i_g_soldier_universal_f:I_G_Soldier_F {MACRO_ADDMINEKIT}; class I_G_Soldier_F; class i_g_soldier_universal_f:I_G_Soldier_F {MACRO_ADDMINEKIT};
// Add ACE_Clacker to snipers and spotters for setting off Claymores // Add ACE_Clacker to snipers and spotters for setting off Claymores
#define MACRO_ADDCLAYMOREKIT \ #define MACRO_ADDCLAYMOREKIT \
items[] = {"FirstAidKit","ACE_Clacker"}; \ items[] = {"FirstAidKit","ACE_Clacker"}; \
respawnitems[] = {"FirstAidKit","ACE_Clacker"}; respawnitems[] = {"FirstAidKit","ACE_Clacker"};
class B_Soldier_sniper_base_F; class B_Soldier_sniper_base_F;
class B_sniper_F: B_Soldier_sniper_base_F {MACRO_ADDCLAYMOREKIT}; class B_sniper_F: B_Soldier_sniper_base_F {MACRO_ADDCLAYMOREKIT};
class B_spotter_F: B_Soldier_sniper_base_F {MACRO_ADDCLAYMOREKIT}; class B_spotter_F: B_Soldier_sniper_base_F {MACRO_ADDCLAYMOREKIT};
class I_Soldier_sniper_base_F; class I_Soldier_sniper_base_F;
class I_Sniper_F: I_Soldier_sniper_base_F {MACRO_ADDCLAYMOREKIT}; class I_Sniper_F: I_Soldier_sniper_base_F {MACRO_ADDCLAYMOREKIT};
class I_Spotter_F: I_Soldier_sniper_base_F {MACRO_ADDCLAYMOREKIT}; class I_Spotter_F: I_Soldier_sniper_base_F {MACRO_ADDCLAYMOREKIT};
class O_Soldier_sniper_base_F; class O_Soldier_sniper_base_F;
class O_sniper_F: O_Soldier_sniper_base_F {MACRO_ADDCLAYMOREKIT}; class O_sniper_F: O_Soldier_sniper_base_F {MACRO_ADDCLAYMOREKIT};
class O_spotter_F: O_Soldier_sniper_base_F {MACRO_ADDCLAYMOREKIT}; class O_spotter_F: O_Soldier_sniper_base_F {MACRO_ADDCLAYMOREKIT};
}; };

View File

@ -1,69 +1,69 @@
class CfgWeapons { class CfgWeapons {
class ACE_ItemCore; class ACE_ItemCore;
class InventoryItem_Base_f; class InventoryItem_Base_f;
class ACE_ExplosiveItem: InventoryItem_Base_f { class ACE_ExplosiveItem: InventoryItem_Base_f {
allowedSlots[] = {801,701,901}; allowedSlots[] = {801,701,901};
//type = 201; //type = 201;
}; };
class ACE_Clacker: ACE_ItemCore { class ACE_Clacker: ACE_ItemCore {
scope = 2; scope = 2;
displayName = $STR_ACE_Explosives_clacker_displayName; displayName = $STR_ACE_Explosives_clacker_displayName;
descriptionShort = $STR_ACE_Explosives_clacker_description; descriptionShort = $STR_ACE_Explosives_clacker_description;
picture = PATHTOF(Data\UI\Clacker.paa); picture = PATHTOF(Data\UI\Clacker.paa);
model = "\A3\weapons_F\ammo\mag_univ.p3d"; model = "\A3\weapons_F\ammo\mag_univ.p3d";
ACE_Range = 250; ACE_Range = 250;
ACE_Detonator = 1; ACE_Detonator = 1;
class ItemInfo: ACE_ExplosiveItem { class ItemInfo: ACE_ExplosiveItem {
mass = 3; mass = 3;
uniformModel = "\A3\weapons_F\ammo\mag_univ.p3d"; uniformModel = "\A3\weapons_F\ammo\mag_univ.p3d";
}; };
}; };
class ACE_M26_Clacker: ACE_Clacker { class ACE_M26_Clacker: ACE_Clacker {
displayName = $STR_ACE_Explosives_M26_displayName; displayName = $STR_ACE_Explosives_M26_displayName;
picture = PATHTOF(Data\UI\MK26_Transmitter_ca.paa); picture = PATHTOF(Data\UI\MK26_Transmitter_ca.paa);
ACE_Range = 5000; ACE_Range = 5000;
}; };
class ACE_DefusalKit: ACE_ItemCore { class ACE_DefusalKit: ACE_ItemCore {
scope = 2; scope = 2;
displayName = $STR_ACE_Explosives_DefusalKit_displayName; displayName = $STR_ACE_Explosives_DefusalKit_displayName;
descriptionShort = $STR_ACE_Explosives_DefusalKit_description; descriptionShort = $STR_ACE_Explosives_DefusalKit_description;
picture = PATHTOF(Data\UI\Pliers.paa); picture = PATHTOF(Data\UI\Pliers.paa);
model = "\A3\Structures_F\Items\Tools\Pliers_F.p3d"; model = "\A3\Structures_F\Items\Tools\Pliers_F.p3d";
class ItemInfo: ACE_ExplosiveItem { class ItemInfo: ACE_ExplosiveItem {
mass = 5; mass = 5;
uniformModel = "\A3\Structures_F\Items\Tools\Pliers_F.p3d"; uniformModel = "\A3\Structures_F\Items\Tools\Pliers_F.p3d";
}; };
}; };
class ACE_DeadManSwitch: ACE_ItemCore { class ACE_DeadManSwitch: ACE_ItemCore {
scope = 2; scope = 2;
displayName = $STR_ACE_Explosives_DeadManSwitch_displayName; displayName = $STR_ACE_Explosives_DeadManSwitch_displayName;
descriptionShort = $STR_ACE_Explosives_DeadManSwitch_description; descriptionShort = $STR_ACE_Explosives_DeadManSwitch_description;
picture = PATHTOF(Data\UI\DeadmanSwitch.paa); picture = PATHTOF(Data\UI\DeadmanSwitch.paa);
model = "\A3\weapons_F\ammo\mag_univ.p3d"; model = "\A3\weapons_F\ammo\mag_univ.p3d";
ACE_Range = 100; ACE_Range = 100;
ACE_Detonator = 1; ACE_Detonator = 1;
class ItemInfo: ACE_ExplosiveItem { class ItemInfo: ACE_ExplosiveItem {
mass = 2; mass = 2;
uniformModel = "\A3\weapons_F\ammo\mag_univ.p3d"; uniformModel = "\A3\weapons_F\ammo\mag_univ.p3d";
}; };
}; };
class ACE_Cellphone: ACE_ItemCore { class ACE_Cellphone: ACE_ItemCore {
scope = 2; scope = 2;
displayName = $STR_ACE_Explosives_cellphone_displayName; displayName = $STR_ACE_Explosives_cellphone_displayName;
descriptionShort = $STR_ACE_Explosives_cellphone_description; descriptionShort = $STR_ACE_Explosives_cellphone_description;
picture = PATHTOF(Data\UI\Cellphone_UI.paa); picture = PATHTOF(Data\UI\Cellphone_UI.paa);
model = "\A3\weapons_F\ammo\mag_univ.p3d"; model = "\A3\weapons_F\ammo\mag_univ.p3d";
ACE_Range = 15000; ACE_Range = 15000;
ACE_Detonator = 1; ACE_Detonator = 1;
class ItemInfo: ACE_ExplosiveItem { class ItemInfo: ACE_ExplosiveItem {
mass = 2; mass = 2;
uniformModel = "\A3\weapons_F\ammo\mag_univ.p3d"; uniformModel = "\A3\weapons_F\ammo\mag_univ.p3d";
}; };
}; };
}; };

View File

@ -14,275 +14,275 @@ class RscPicture;
class RscEdit; class RscEdit;
class Rsc_ACE_CallScreen_Edit:RscEdit { class Rsc_ACE_CallScreen_Edit:RscEdit {
canModify = 1; canModify = 1;
colorBackground[] = {0,0,0,1}; colorBackground[] = {0,0,0,1};
colorText[] = {0,0,0,1}; colorText[] = {0,0,0,1};
colorDisabled[] = {1,1,1,0.25}; colorDisabled[] = {1,1,1,0.25};
colorSelection[] = { colorSelection[] = {
"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.69])", "(profilenamespace getvariable ['GUI_BCG_RGB_R',0.69])",
"(profilenamespace getvariable ['GUI_BCG_RGB_G',0.75])", "(profilenamespace getvariable ['GUI_BCG_RGB_G',0.75])",
"(profilenamespace getvariable ['GUI_BCG_RGB_B',0.5])", "(profilenamespace getvariable ['GUI_BCG_RGB_B',0.5])",
1 1
}; };
text = ""; text = "";
style = "0x00 + 0x40 + 0x200"; style = "0x00 + 0x40 + 0x200";
shadow = 1; shadow = 1;
SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 20) * 1)"; SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 20) * 1)";
x = 0.288594 * safezoneW + safezoneX; x = 0.288594 * safezoneW + safezoneX;
w = 0.0825 * safezoneW; w = 0.0825 * safezoneW;
h = 0.044 * safezoneH; h = 0.044 * safezoneH;
}; };
class Rsc_ACE_HiddenButton:RscButton { class Rsc_ACE_HiddenButton:RscButton {
colorText[] = {0, 0, 0, 0}; colorText[] = {0, 0, 0, 0};
colorDisabled[] = {0, 0, 0, 0}; colorDisabled[] = {0, 0, 0, 0};
colorBackground[] = {0, 0, 0, 0}; colorBackground[] = {0, 0, 0, 0};
colorBackgroundDisabled[] = {0, 0, 0, 0}; colorBackgroundDisabled[] = {0, 0, 0, 0};
colorBackgroundActive[] = {0, 0, 0, 0}; colorBackgroundActive[] = {0, 0, 0, 0};
colorFocused[] = {0, 0, 0, 0}; colorFocused[] = {0, 0, 0, 0};
colorShadow[] = {0, 0, 0, 0}; colorShadow[] = {0, 0, 0, 0};
colorBorder[] = {0, 0, 0, 0}; colorBorder[] = {0, 0, 0, 0};
w = 0.095589; w = 0.095589;
h = 0.039216; h = 0.039216;
shadow = 0; shadow = 0;
}; };
class Rsc_ACE_Timer_Slider:RscXSliderH { class Rsc_ACE_Timer_Slider:RscXSliderH {
x = 0.4; x = 0.4;
y = 0.2; y = 0.2;
w = 0.3; w = 0.3;
h = "1*((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; h = "1*((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
colorBackground[] = {0,0,0,0.5}; colorBackground[] = {0,0,0,0.5};
}; };
class RscACE_SelectTimeUI { class RscACE_SelectTimeUI {
idd = 8854; idd = 8854;
movingEnable = 0; movingEnable = 0;
class controls { class controls {
class back:IGUIBack { class back:IGUIBack {
x = X_OFFSET; x = X_OFFSET;
y = 0; y = 0;
w = 0.5; w = 0.5;
h = 0.2; h = 0.2;
colorBackground[] = {0, 0, 0, 0.5}; colorBackground[] = {0, 0, 0, 0.5};
}; };
class header: RscText{ class header: RscText{
idc = 8870; idc = 8870;
x = X_OFFSET + 0.005; x = X_OFFSET + 0.005;
y = 0.005; y = 0.005;
w = 0.49; w = 0.49;
h = 0.05; h = 0.05;
style = ST_CENTER; style = ST_CENTER;
text = ""; text = "";
}; };
class slider: Rsc_ACE_Timer_Slider { class slider: Rsc_ACE_Timer_Slider {
idc = 8845; idc = 8845;
x = X_OFFSET + 0.005; x = X_OFFSET + 0.005;
y = 0.06; y = 0.06;
w = 0.49; w = 0.49;
h = 0.025; h = 0.025;
onSliderPosChanged = "private ['_mins', '_secs'];_mins = floor((_this select 1)/60);_secs=floor((_this select 1) - (_mins*60));ctrlSetText [8870, format[localize 'STR_ACE_Explosives_TimerMenu',_mins, _secs]];"; onSliderPosChanged = "private ['_mins', '_secs'];_mins = floor((_this select 1)/60);_secs=floor((_this select 1) - (_mins*60));ctrlSetText [8870, format[localize 'STR_ACE_Explosives_TimerMenu',_mins, _secs]];";
}; };
class cancelBtn: RscButton { class cancelBtn: RscButton {
idc = 8855; idc = 8855;
x = X_OFFSET + 0.005; x = X_OFFSET + 0.005;
w = 0.15; w = 0.15;
h = 0.1; h = 0.1;
y = 0.09; y = 0.09;
style = ST_CENTER; style = ST_CENTER;
text = $STR_ACE_Explosives_Cancel; text = $STR_ACE_Explosives_Cancel;
action = "closeDialog 0;"; action = "closeDialog 0;";
}; };
class approveBtn: RscButton { class approveBtn: RscButton {
idc = 8860; idc = 8860;
x = X_OFFSET + 0.345; x = X_OFFSET + 0.345;
y = 0.09; y = 0.09;
h = 0.1; h = 0.1;
w = 0.15; w = 0.15;
style = ST_CENTER; style = ST_CENTER;
text = $STR_ACE_Explosives_SetTime; text = $STR_ACE_Explosives_SetTime;
action = "closeDialog 0;"; action = "closeDialog 0;";
}; };
}; };
}; };
class Rsc_ACE_NumKeyButton: Rsc_ACE_HiddenButton{}; class Rsc_ACE_NumKeyButton: Rsc_ACE_HiddenButton{};
class Rsc_ACE_PhoneInterface { class Rsc_ACE_PhoneInterface {
idd = 8855; idd = 8855;
movingEnable = 1; movingEnable = 1;
onLoad = QUOTE(GVAR(IED_CurrentSpeedDial) = -1); onLoad = QUOTE(GVAR(IED_CurrentSpeedDial) = -1);
class controls { class controls {
class RscPicture_1200: RscPicture { class RscPicture_1200: RscPicture {
idc = 1200; idc = 1200;
text = PATHTOF(Data\UI\Cellphone_Background.paa); text = PATHTOF(Data\UI\Cellphone_Background.paa);
x = 0.231875 * safezoneW + safezoneX; x = 0.231875 * safezoneW + safezoneX;
y = 0.104 * safezoneH + safezoneY; y = 0.104 * safezoneH + safezoneY;
w = 0.195937 * safezoneW; w = 0.195937 * safezoneW;
h = 0.704 * safezoneH; h = 0.704 * safezoneH;
}; };
class numkey_1: Rsc_ACE_NumKeyButton { class numkey_1: Rsc_ACE_NumKeyButton {
idc = 1600; idc = 1600;
x = 0.278281 * safezoneW + safezoneX; x = 0.278281 * safezoneW + safezoneX;
y = 0.533 * safezoneH + safezoneY; y = 0.533 * safezoneH + safezoneY;
w = 0.0309375 * safezoneW; w = 0.0309375 * safezoneW;
h = 0.033 * safezoneH; h = 0.033 * safezoneH;
tooltip = "1"; tooltip = "1";
action = "ctrlSetText [1400,((ctrlText 1400) + '1')];"; action = "ctrlSetText [1400,((ctrlText 1400) + '1')];";
}; };
class numkey_2: Rsc_ACE_NumKeyButton { class numkey_2: Rsc_ACE_NumKeyButton {
idc = 1601; idc = 1601;
x = 0.314375 * safezoneW + safezoneX; x = 0.314375 * safezoneW + safezoneX;
y = 0.533 * safezoneH + safezoneY; y = 0.533 * safezoneH + safezoneY;
w = 0.0309375 * safezoneW; w = 0.0309375 * safezoneW;
h = 0.033 * safezoneH; h = 0.033 * safezoneH;
tooltip = "2"; tooltip = "2";
action = "ctrlSetText [1400,((ctrlText 1400) + '2')];"; action = "ctrlSetText [1400,((ctrlText 1400) + '2')];";
}; };
class numkey_3: Rsc_ACE_NumKeyButton { class numkey_3: Rsc_ACE_NumKeyButton {
idc = 1602; idc = 1602;
x = 0.350469 * safezoneW + safezoneX; x = 0.350469 * safezoneW + safezoneX;
y = 0.533 * safezoneH + safezoneY; y = 0.533 * safezoneH + safezoneY;
w = 0.0309375 * safezoneW; w = 0.0309375 * safezoneW;
h = 0.033 * safezoneH; h = 0.033 * safezoneH;
tooltip = "3"; tooltip = "3";
action = "ctrlSetText [1400,((ctrlText 1400) + '3')];"; action = "ctrlSetText [1400,((ctrlText 1400) + '3')];";
}; };
class numkey_4: Rsc_ACE_NumKeyButton { class numkey_4: Rsc_ACE_NumKeyButton {
idc = 1603; idc = 1603;
x = 0.278281 * safezoneW + safezoneX; x = 0.278281 * safezoneW + safezoneX;
y = 0.577 * safezoneH + safezoneY; y = 0.577 * safezoneH + safezoneY;
w = 0.0309375 * safezoneW; w = 0.0309375 * safezoneW;
h = 0.033 * safezoneH; h = 0.033 * safezoneH;
tooltip = "4"; tooltip = "4";
action = "ctrlSetText [1400,((ctrlText 1400) + '4')];"; action = "ctrlSetText [1400,((ctrlText 1400) + '4')];";
}; };
class numkey_5: Rsc_ACE_NumKeyButton { class numkey_5: Rsc_ACE_NumKeyButton {
idc = 1604; idc = 1604;
x = 0.314375 * safezoneW + safezoneX; x = 0.314375 * safezoneW + safezoneX;
y = 0.577 * safezoneH + safezoneY; y = 0.577 * safezoneH + safezoneY;
w = 0.0309375 * safezoneW; w = 0.0309375 * safezoneW;
h = 0.033 * safezoneH; h = 0.033 * safezoneH;
tooltip = "5"; tooltip = "5";
action = "ctrlSetText [1400,((ctrlText 1400) + '5')];"; action = "ctrlSetText [1400,((ctrlText 1400) + '5')];";
}; };
class numkey_6: Rsc_ACE_NumKeyButton { class numkey_6: Rsc_ACE_NumKeyButton {
idc = 1605; idc = 1605;
x = 0.350469 * safezoneW + safezoneX; x = 0.350469 * safezoneW + safezoneX;
y = 0.577 * safezoneH + safezoneY; y = 0.577 * safezoneH + safezoneY;
w = 0.0309375 * safezoneW; w = 0.0309375 * safezoneW;
h = 0.033 * safezoneH; h = 0.033 * safezoneH;
tooltip = "6"; tooltip = "6";
action = "ctrlSetText [1400,((ctrlText 1400) + '6')];"; action = "ctrlSetText [1400,((ctrlText 1400) + '6')];";
}; };
class numkey_7: Rsc_ACE_NumKeyButton { class numkey_7: Rsc_ACE_NumKeyButton {
idc = 1606; idc = 1606;
x = 0.278281 * safezoneW + safezoneX; x = 0.278281 * safezoneW + safezoneX;
y = 0.621 * safezoneH + safezoneY; y = 0.621 * safezoneH + safezoneY;
w = 0.0309375 * safezoneW; w = 0.0309375 * safezoneW;
h = 0.033 * safezoneH; h = 0.033 * safezoneH;
tooltip = "7"; tooltip = "7";
action = "ctrlSetText [1400,((ctrlText 1400) + '7')];"; action = "ctrlSetText [1400,((ctrlText 1400) + '7')];";
}; };
class numkey_8: Rsc_ACE_NumKeyButton { class numkey_8: Rsc_ACE_NumKeyButton {
idc = 1607; idc = 1607;
x = 0.314375 * safezoneW + safezoneX; x = 0.314375 * safezoneW + safezoneX;
y = 0.621 * safezoneH + safezoneY; y = 0.621 * safezoneH + safezoneY;
w = 0.0309375 * safezoneW; w = 0.0309375 * safezoneW;
h = 0.033 * safezoneH; h = 0.033 * safezoneH;
tooltip = "8"; tooltip = "8";
action = "ctrlSetText [1400,((ctrlText 1400) + '8')];"; action = "ctrlSetText [1400,((ctrlText 1400) + '8')];";
}; };
class numkey_9: Rsc_ACE_NumKeyButton { class numkey_9: Rsc_ACE_NumKeyButton {
idc = 1608; idc = 1608;
x = 0.350469 * safezoneW + safezoneX; x = 0.350469 * safezoneW + safezoneX;
y = 0.621 * safezoneH + safezoneY; y = 0.621 * safezoneH + safezoneY;
w = 0.0309375 * safezoneW; w = 0.0309375 * safezoneW;
h = 0.033 * safezoneH; h = 0.033 * safezoneH;
tooltip = "9"; tooltip = "9";
action = "ctrlSetText [1400,((ctrlText 1400) + '9')];"; action = "ctrlSetText [1400,((ctrlText 1400) + '9')];";
}; };
class numkey_0: Rsc_ACE_NumKeyButton { class numkey_0: Rsc_ACE_NumKeyButton {
idc = 1609; idc = 1609;
x = 0.314375 * safezoneW + safezoneX; x = 0.314375 * safezoneW + safezoneX;
y = 0.676 * safezoneH + safezoneY; y = 0.676 * safezoneH + safezoneY;
w = 0.0309375 * safezoneW; w = 0.0309375 * safezoneW;
h = 0.033 * safezoneH; h = 0.033 * safezoneH;
tooltip = "0"; tooltip = "0";
action = "ctrlSetText [1400,((ctrlText 1400) + '0')];"; action = "ctrlSetText [1400,((ctrlText 1400) + '0')];";
}; };
class speedDialAdd: Rsc_ACE_NumKeyButton { class speedDialAdd: Rsc_ACE_NumKeyButton {
idc = 1610; idc = 1610;
x = 0.278281 * safezoneW + safezoneX; x = 0.278281 * safezoneW + safezoneX;
y = 0.676 * safezoneH + safezoneY; y = 0.676 * safezoneH + safezoneY;
w = 0.0309375 * safezoneW; w = 0.0309375 * safezoneW;
h = 0.033 * safezoneH; h = 0.033 * safezoneH;
tooltip = "$STR_ACE_Explosives_Phone_AddToSpeedDial"; tooltip = "$STR_ACE_Explosives_Phone_AddToSpeedDial";
action = QUOTE([ARR_2(ctrlText 1401,ctrlText 1400)] call FUNC(addToSpeedDial);); action = QUOTE([ARR_2(ctrlText 1401,ctrlText 1400)] call FUNC(addToSpeedDial););
}; };
class clear: Rsc_ACE_HiddenButton { class clear: Rsc_ACE_HiddenButton {
idc = 1610; idc = 1610;
x = 0.278281 * safezoneW + safezoneX; x = 0.278281 * safezoneW + safezoneX;
y = 0.445 * safezoneH + safezoneY; y = 0.445 * safezoneH + safezoneY;
w = 0.020625 * safezoneW; w = 0.020625 * safezoneW;
h = 0.033 * safezoneH; h = 0.033 * safezoneH;
tooltip = "$STR_ACE_Explosives_Clear"; tooltip = "$STR_ACE_Explosives_Clear";
action = QUOTE(ctrlSetText [ARR_2(1400,'')];[ctrlText 1401] call FUNC(removeFromSpeedDial);ctrlSetText [ARR_2(1401,'')];); action = QUOTE(ctrlSetText [ARR_2(1400,'')];[ctrlText 1401] call FUNC(removeFromSpeedDial);ctrlSetText [ARR_2(1401,'')];);
}; };
class dial: Rsc_ACE_HiddenButton { class dial: Rsc_ACE_HiddenButton {
idc = 1611; idc = 1611;
x = 0.309219 * safezoneW + safezoneX; x = 0.309219 * safezoneW + safezoneX;
y = 0.445 * safezoneH + safezoneY; y = 0.445 * safezoneH + safezoneY;
w = 0.04125 * safezoneW; w = 0.04125 * safezoneW;
h = 0.033 * safezoneH; h = 0.033 * safezoneH;
tooltip = "$STR_ACE_Explosives_Phone_Dial"; tooltip = "$STR_ACE_Explosives_Phone_Dial";
action = QUOTE([ARR_2(ace_player,ctrlText 1400)] call FUNC(dialPhone);); action = QUOTE([ARR_2(ace_player,ctrlText 1400)] call FUNC(dialPhone););
}; };
class up: Rsc_ACE_HiddenButton { class up: Rsc_ACE_HiddenButton {
idc = 1612; idc = 1612;
x = 0.360781 * safezoneW + safezoneX; x = 0.360781 * safezoneW + safezoneX;
y = 0.445 * safezoneH + safezoneY; y = 0.445 * safezoneH + safezoneY;
w = 0.020625 * safezoneW; w = 0.020625 * safezoneW;
h = 0.033 * safezoneH; h = 0.033 * safezoneH;
tooltip = "$STR_ACE_Explosives_Phone_Up"; tooltip = "$STR_ACE_Explosives_Phone_Up";
action = QUOTE([true] call FUNC(setSpeedDial)); action = QUOTE([true] call FUNC(setSpeedDial));
}; };
class down: Rsc_ACE_HiddenButton { class down: Rsc_ACE_HiddenButton {
idc = 1613; idc = 1613;
x = 0.345312 * safezoneW + safezoneX; x = 0.345312 * safezoneW + safezoneX;
y = 0.485 * safezoneH + safezoneY; y = 0.485 * safezoneH + safezoneY;
w = 0.020625 * safezoneW; w = 0.020625 * safezoneW;
h = 0.033 * safezoneH; h = 0.033 * safezoneH;
tooltip = "$STR_ACE_Explosives_Phone_Down"; tooltip = "$STR_ACE_Explosives_Phone_Down";
action = QUOTE([false] call FUNC(setSpeedDial)); action = QUOTE([false] call FUNC(setSpeedDial));
}; };
class speedDial_Text: RscText { class speedDial_Text: RscText {
idc = 1405; idc = 1405;
y = 0.302 * safezoneH + safezoneY; y = 0.302 * safezoneH + safezoneY;
SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 22) * 1)"; SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 22) * 1)";
x = 0.288594 * safezoneW + safezoneX; x = 0.288594 * safezoneW + safezoneX;
w = 0.0825 * safezoneW; w = 0.0825 * safezoneW;
h = 0.044 * safezoneH; h = 0.044 * safezoneH;
text = "Name"; text = "Name";
}; };
class speedDial_edit: Rsc_ACE_CallScreen_Edit { class speedDial_edit: Rsc_ACE_CallScreen_Edit {
idc = 1401; idc = 1401;
y = 0.302 * safezoneH + safezoneY; y = 0.302 * safezoneH + safezoneY;
x = 0.318 * safezoneW + safezoneX; x = 0.318 * safezoneW + safezoneX;
w = 0.1; w = 0.1;
}; };
class numberEdit_Text: RscText { class numberEdit_Text: RscText {
idc = 1406; idc = 1406;
y = 0.348 * safezoneH + safezoneY; y = 0.348 * safezoneH + safezoneY;
SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 22) * 1)"; SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 22) * 1)";
x = 0.288594 * safezoneW + safezoneX; x = 0.288594 * safezoneW + safezoneX;
w = 0.0825 * safezoneW; w = 0.0825 * safezoneW;
h = 0.044 * safezoneH; h = 0.044 * safezoneH;
text = "#"; text = "#";
}; };
class number_edit: Rsc_ACE_CallScreen_Edit { class number_edit: Rsc_ACE_CallScreen_Edit {
canModify = 0; canModify = 0;
idc = 1400; idc = 1400;
y = 0.348 * safezoneH + safezoneY; y = 0.348 * safezoneH + safezoneY;
x = 0.3 * safezoneW + safezoneX; x = 0.3 * safezoneW + safezoneX;
}; };
}; };
}; };

View File

@ -1,15 +1,15 @@
#include "script_component.hpp" #include "script_component.hpp"
class CfgPatches { class CfgPatches {
class ADDON { class ADDON {
units[] = {}; units[] = {};
weapons[] = {"ACE_Clacker", "ACE_DefusalKit", "ACE_M26_Clacker", "ACE_DeadManSwitch", "ACE_Cellphone"}; weapons[] = {"ACE_Clacker", "ACE_DefusalKit", "ACE_M26_Clacker", "ACE_DeadManSwitch", "ACE_Cellphone"};
requiredVersion = REQUIRED_VERSION; requiredVersion = REQUIRED_VERSION;
requiredAddons[] = {"ace_interaction"}; requiredAddons[] = {"ace_interaction"};
author[] = {"Garth 'L-H' de Wet"}; author[] = {"Garth 'L-H' de Wet"};
authorUrl = "http://garth.snakebiteink.co.za/"; authorUrl = "http://garth.snakebiteink.co.za/";
VERSION_CONFIG; VERSION_CONFIG;
}; };
}; };
#include "CfgEventHandlers.hpp" #include "CfgEventHandlers.hpp"
@ -22,30 +22,30 @@ class CfgPatches {
#include "ExplosivesUI.hpp" #include "ExplosivesUI.hpp"
class CfgActions { class CfgActions {
class None; class None;
class Deactivate:None { class Deactivate:None {
show = 0; show = 0;
}; };
class DeactivateMine:None { class DeactivateMine:None {
show = 0; show = 0;
}; };
}; };
class CfgMineTriggers { class CfgMineTriggers {
class RangeTrigger; class RangeTrigger;
class MagneticTrigger: RangeTrigger { class MagneticTrigger: RangeTrigger {
mineMagnetic = 1; mineMagnetic = 1;
mineTriggerRange = 1; mineTriggerRange = 1;
}; };
}; };
class ACE_Settings { class ACE_Settings {
class GVAR(RequireSpecialist) { class GVAR(RequireSpecialist) {
value = 0; value = 0;
typeName = "BOOL"; typeName = "BOOL";
}; };
class GVAR(PunishNonSpecialists) { class GVAR(PunishNonSpecialists) {
value = 1; value = 1;
typeName = "BOOL"; typeName = "BOOL";
}; };
}; };

View File

@ -25,23 +25,23 @@ _requiredItems = getArray(_config >> "requires");
_hasRequired = true; _hasRequired = true;
_detonators = [_unit] call FUNC(getDetonators); _detonators = [_unit] call FUNC(getDetonators);
{ {
if !(_x in _detonators) exitWith{ if !(_x in _detonators) exitWith{
_hasRequired = false; _hasRequired = false;
}; };
} count _requiredItems; } count _requiredItems;
private ["_code", "_count", "_codeSet"]; private ["_code", "_count", "_codeSet"];
_codeSet = false; _codeSet = false;
while {!_codeSet} do { while {!_codeSet} do {
_code = str(round (random 9999)); _code = str(round (random 9999));
_count = 4 - count (toArray _code); _count = 4 - count (toArray _code);
while {_count > 0} do { while {_count > 0} do {
_code = "0" + _code; _code = "0" + _code;
_count = _count - 1; _count = _count - 1;
}; };
_codeSet = (count ([_code] call FUNC(getSpeedDialExplosive))) == 0; _codeSet = (count ([_code] call FUNC(getSpeedDialExplosive))) == 0;
}; };
if (isNil QGVAR(CellphoneIEDs)) then { if (isNil QGVAR(CellphoneIEDs)) then {
GVAR(CellphoneIEDs) = []; GVAR(CellphoneIEDs) = [];
}; };
_count = GVAR(CellphoneIEDs) pushBack [_explosive,_code,GetNumber(ConfigFile >> "CfgMagazines" >> _magazineClass >> "ACE_Triggers" >> "Cellphone" >> "FuseTime")]; _count = GVAR(CellphoneIEDs) pushBack [_explosive,_code,GetNumber(ConfigFile >> "CfgMagazines" >> _magazineClass >> "ACE_Triggers" >> "Cellphone" >> "FuseTime")];
_count = _count + 1; _count = _count + 1;

View File

@ -36,7 +36,9 @@ _config = ConfigFile >> "CfgMagazines" >> _magazineClass >> "ACE_Triggers" >> co
_clacker = _unit getVariable [QGVAR(Clackers), []]; _clacker = _unit getVariable [QGVAR(Clackers), []];
GVAR(PlacedCount) = GVAR(PlacedCount) + 1; GVAR(PlacedCount) = GVAR(PlacedCount) + 1;
_clacker pushBack [_explosive, getNumber(_config >> "FuseTime"), format [localize "STR_ACE_Explosives_DetonateCode", _clacker pushBack [_explosive, getNumber(_config >> "FuseTime"), format [localize "STR_ACE_Explosives_DetonateCode",
GVAR(PlacedCount)], _magazineClass, configName ((_this select 3) select (count (_this select 3) - 1))]; GVAR(PlacedCount)], _magazineClass, configName ((_this select 3) select (count (_this select 3) - 1))];
_unit setVariable [QGVAR(Clackers), _clacker, true]; _unit setVariable [QGVAR(Clackers), _clacker, true];
_unit sideChat format [localize "STR_ACE_Explosives_DetonateCode", GVAR(PlacedCount)]; _unit sideChat format [localize "STR_ACE_Explosives_DetonateCode", GVAR(PlacedCount)];

View File

@ -19,9 +19,9 @@ private ["_explosive"];
if (isNil QGVAR(CellphoneIEDs)) exitWith {[]}; if (isNil QGVAR(CellphoneIEDs)) exitWith {[]};
_explosive = []; _explosive = [];
{ {
if ((_x select 1) == _code) exitWith { if ((_x select 1) == _code) exitWith {
_explosive = _x; _explosive = _x;
}; };
false false
} count GVAR(CellphoneIEDs); } count GVAR(CellphoneIEDs);
_explosive _explosive

View File

@ -20,7 +20,9 @@ _activated = _this select 2;
if !(_activated) exitWith {}; if !(_activated) exitWith {};
[_logic, QGVAR(RequireSpecialist), "RequireSpecialist" ] call EFUNC(Common,readSettingFromModule); [_logic, QGVAR(RequireSpecialist), "RequireSpecialist"]
[_logic, QGVAR(PunishNonSpecialists), "PunishNonSpecialists" ] call EFUNC(Common,readSettingFromModule); call EFUNC(Common,readSettingFromModule);
[_logic, QGVAR(PunishNonSpecialists),"PunishNonSpecialists"]
call EFUNC(Common,readSettingFromModule);
diag_log text "[ACE]: Explosive Module Initialized."; diag_log text "[ACE]: Explosive Module Initialized.";

View File

@ -23,16 +23,16 @@ sliderSetPosition [8845, 30];
GVAR(explosive) = _explosive; GVAR(explosive) = _explosive;
DFUNC(SetTimer) = { DFUNC(SetTimer) = {
[ [
ACE_player, ACE_player,
getPosATL GVAR(explosive), getPosATL GVAR(explosive),
GVAR(explosive) getVariable QGVAR(Direction), GVAR(explosive) getVariable QGVAR(Direction),
GVAR(explosive) getVariable QGVAR(class), GVAR(explosive) getVariable QGVAR(class),
"Timer", "Timer",
[floor sliderPosition 8845], [floor sliderPosition 8845],
GVAR(explosive) GVAR(explosive)
] call FUNC(placeExplosive); ] call FUNC(placeExplosive);
closeDialog 0; closeDialog 0;
}; };
buttonSetAction [8860, QUOTE(call DFUNC(SetTimer);)]; buttonSetAction [8860, QUOTE(call DFUNC(SetTimer);)];

View File

@ -28,22 +28,22 @@ GVAR(Setup) setVariable [QGVAR(class), _class, true];
GVAR(TweakedAngle) = 180; GVAR(TweakedAngle) = 180;
[QGVAR(Placement),"OnEachFrame", { [QGVAR(Placement),"OnEachFrame", {
private "_player"; private "_player";
_player = ACE_player; _player = ACE_player;
if (GVAR(placer) != _player) exitWith { if (GVAR(placer) != _player) exitWith {
call FUNC(place_Cancel); call FUNC(place_Cancel);
}; };
GVAR(pfeh_running) = true; GVAR(pfeh_running) = true;
_pos = (ASLtoATL eyePos _player) vectorAdd (positionCameraToWorld [0,0,1] vectorDiff positionCameraToWorld [0,0,0]); _pos = (ASLtoATL eyePos _player) vectorAdd (positionCameraToWorld [0,0,1] vectorDiff positionCameraToWorld [0,0,0]);
GVAR(Setup) setPosATL _pos; GVAR(Setup) setPosATL _pos;
if (ACE_Modifier == 0) then { if (ACE_Modifier == 0) then {
GVAR(Setup) setDir (GVAR(TweakedAngle) + getDir _player); GVAR(Setup) setDir (GVAR(TweakedAngle) + getDir _player);
}; };
}] call CALLSTACK(BIS_fnc_addStackedEventHandler); }] call CALLSTACK(BIS_fnc_addStackedEventHandler);
[localize "STR_ACE_Explosives_PlaceAction", localize "STR_ACE_Explosives_CancelAction", [localize "STR_ACE_Explosives_PlaceAction", localize "STR_ACE_Explosives_CancelAction",
localize "STR_ACE_Explosives_ScrollAction"] call EFUNC(interaction,showMouseHint); localize "STR_ACE_Explosives_ScrollAction"] call EFUNC(interaction,showMouseHint);
_unit setVariable [QGVAR(Place), [_unit, "DefaultAction", _unit setVariable [QGVAR(Place), [_unit, "DefaultAction",
{GVAR(pfeh_running) AND !isNull (GVAR(Setup))}, {call FUNC(place_Approve);}] call EFUNC(common,AddActionEventHandler)]; {GVAR(pfeh_running) AND !isNull (GVAR(Setup))}, {call FUNC(place_Approve);}] call EFUNC(common,AddActionEventHandler)];
_unit setVariable [QGVAR(Cancel), [_unit, "zoomtemp", _unit setVariable [QGVAR(Cancel), [_unit, "zoomtemp",
{GVAR(pfeh_running) AND !isNull (GVAR(Setup))}, {call FUNC(place_Cancel);}] call EFUNC(common,AddActionEventHandler)]; {GVAR(pfeh_running) AND !isNull (GVAR(Setup))}, {call FUNC(place_Cancel);}] call EFUNC(common,AddActionEventHandler)];

View File

@ -19,44 +19,44 @@ EXPLODE_2_PVT(_this,_unit,_target);
_target = attachedTo (_target); _target = attachedTo (_target);
_fnc_DefuseTime = { _fnc_DefuseTime = {
EXPLODE_2_PVT(_this,_specialist,_target); EXPLODE_2_PVT(_this,_specialist,_target);
_defuseTime = 5; _defuseTime = 5;
if (isNumber(ConfigFile >> "CfgAmmo" >> typeOf (_target) >> "ACE_DefuseTime")) then { if (isNumber(ConfigFile >> "CfgAmmo" >> typeOf (_target) >> "ACE_DefuseTime")) then {
_defuseTime = getNumber(ConfigFile >> "CfgAmmo" >> typeOf (_target) >> "ACE_DefuseTime"); _defuseTime = getNumber(ConfigFile >> "CfgAmmo" >> typeOf (_target) >> "ACE_DefuseTime");
}; };
if (!_specialist && {GVAR(PunishNonSpecialists)}) then { if (!_specialist && {GVAR(PunishNonSpecialists)}) then {
_defuseTime = _defuseTime * 1.5; _defuseTime = _defuseTime * 1.5;
}; };
_defuseTime _defuseTime
}; };
_actionToPlay = "MedicOther"; _actionToPlay = "MedicOther";
if (STANCE _unit == "Prone") then { if (STANCE _unit == "Prone") then {
_actionToPlay = "PutDown"; _actionToPlay = "PutDown";
}; };
if (ACE_player != _unit) then { if (ACE_player != _unit) then {
// If the unit is a player, call the function on the player. // If the unit is a player, call the function on the player.
if (isPlayer _unit) then { if (isPlayer _unit) then {
[[_unit, _target], QFUNC(startDefuse), _unit] call EFUNC(common,execRemoteFnc); [[_unit, _target], QFUNC(startDefuse), _unit] call EFUNC(common,execRemoteFnc);
} else { } else {
// TODO: use scheduled delay execution // TODO: use scheduled delay execution
[_unit, _target, [[_unit] call EFUNC(Common,isEOD), _target] call _fnc_DefuseTime] spawn { [_unit, _target, [[_unit] call EFUNC(Common,isEOD), _target] call _fnc_DefuseTime] spawn {
(_this select 0) playActionNow _actionToPlay; (_this select 0) playActionNow _actionToPlay;
(_this select 0) disableAI "MOVE"; (_this select 0) disableAI "MOVE";
(_this select 0) disableAI "TARGET"; (_this select 0) disableAI "TARGET";
sleep (_this select 2); sleep (_this select 2);
[(_this select 0), (_this select 1)] call FUNC(defuseExplosive); [(_this select 0), (_this select 1)] call FUNC(defuseExplosive);
(_this select 0) enableAI "MOVE"; (_this select 0) enableAI "MOVE";
(_this select 0) enableAI "TARGET"; (_this select 0) enableAI "TARGET";
}; };
}; };
} else { } else {
_unit playActionNow _actionToPlay; _unit playActionNow _actionToPlay;
private ["_defuseSeconds", "_isEOD"]; private ["_defuseSeconds", "_isEOD"];
_isEOD = [_unit] call EFUNC(Common,isEOD); _isEOD = [_unit] call EFUNC(Common,isEOD);
_defuseSeconds = [_isEOD, _target] call _fnc_DefuseTime; _defuseSeconds = [_isEOD, _target] call _fnc_DefuseTime;
if (_isEOD || {!GVAR(RequireSpecialist)}) then { if (_isEOD || {!GVAR(RequireSpecialist)}) then {
[_defuseSeconds, [_unit,_target], {(_this select 0) call FUNC(defuseExplosive)}, {}, (localize "STR_ACE_Explosives_DefusingExplosive")] call EFUNC(common,progressBar); [_defuseSeconds, [_unit,_target], {(_this select 0) call FUNC(defuseExplosive)}, {}, (localize "STR_ACE_Explosives_DefusingExplosive")] call EFUNC(common,progressBar);
}; };
}; };

View File

@ -1,497 +1,497 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<!-- Edited with tabler - 2014-12-16 --> <!-- Edited with tabler - 2014-12-16 -->
<Project name="ACE"> <Project name="ACE">
<Package name="Explosives"> <Package name="Explosives">
<Key ID="STR_ACE_Explosives_Menu"> <Key ID="STR_ACE_Explosives_Menu">
<English>Explosives</English> <English>Explosives</English>
<German>Sprengstoffe</German> <German>Sprengstoffe</German>
<Spanish>Explosivos</Spanish> <Spanish>Explosivos</Spanish>
<Polish>Ładunki wybuchowe</Polish> <Polish>Ładunki wybuchowe</Polish>
<French>Explosifs</French> <French>Explosifs</French>
<Czech>Výbušniny</Czech> <Czech>Výbušniny</Czech>
<Italian>Esplosivi</Italian> <Italian>Esplosivi</Italian>
<Hungarian>Robbanóanyagok</Hungarian> <Hungarian>Robbanóanyagok</Hungarian>
<Portuguese>Explosivos</Portuguese> <Portuguese>Explosivos</Portuguese>
<Russian>Взрывчатка</Russian> <Russian>Взрывчатка</Russian>
</Key> </Key>
<Key ID="STR_ACE_Explosives_Place"> <Key ID="STR_ACE_Explosives_Place">
<English>Place &gt;&gt;</English> <English>Place &gt;&gt;</English>
<German>Platzieren &gt;&gt;</German> <German>Platzieren &gt;&gt;</German>
<Spanish>Colocar &gt;&gt;</Spanish> <Spanish>Colocar &gt;&gt;</Spanish>
<Polish>Umieść &gt;&gt;</Polish> <Polish>Umieść &gt;&gt;</Polish>
<French>Placer &gt;&gt;</French> <French>Placer &gt;&gt;</French>
<Czech>Položit &gt;&gt;</Czech> <Czech>Položit &gt;&gt;</Czech>
<Italian>Piazza &gt;&gt;</Italian> <Italian>Piazza &gt;&gt;</Italian>
<Hungarian>Lerakás &gt;&gt;</Hungarian> <Hungarian>Lerakás &gt;&gt;</Hungarian>
<Portuguese>Colocar &gt;&gt;</Portuguese> <Portuguese>Colocar &gt;&gt;</Portuguese>
<Russian>Установить &gt;&gt;</Russian> <Russian>Установить &gt;&gt;</Russian>
</Key> </Key>
<Key ID="STR_ACE_Explosives_Detonate"> <Key ID="STR_ACE_Explosives_Detonate">
<English>Detonate &gt;&gt;</English> <English>Detonate &gt;&gt;</English>
<German>Zünden &gt;&gt;</German> <German>Zünden &gt;&gt;</German>
<Spanish>Detonar &gt;&gt;</Spanish> <Spanish>Detonar &gt;&gt;</Spanish>
<Polish>Detonuj &gt;&gt;</Polish> <Polish>Detonuj &gt;&gt;</Polish>
<French>Mise à feu &gt;&gt;</French> <French>Mise à feu &gt;&gt;</French>
<Czech>Odpálit &gt;&gt;</Czech> <Czech>Odpálit &gt;&gt;</Czech>
<Italian>Detona &gt;&gt;</Italian> <Italian>Detona &gt;&gt;</Italian>
<Hungarian>Robbantás &gt;&gt;</Hungarian> <Hungarian>Robbantás &gt;&gt;</Hungarian>
<Portuguese>Detonar &gt;&gt;</Portuguese> <Portuguese>Detonar &gt;&gt;</Portuguese>
<Russian>Подрыв &gt;&gt;</Russian> <Russian>Подрыв &gt;&gt;</Russian>
</Key> </Key>
<Key ID="STR_ACE_Explosives_DetonateCode"> <Key ID="STR_ACE_Explosives_DetonateCode">
<English>Explosive code: %1</English> <English>Explosive code: %1</English>
<German>Sprengstoffcode: %1</German> <German>Sprengstoffcode: %1</German>
<Spanish>Código del explosivo: %1</Spanish> <Spanish>Código del explosivo: %1</Spanish>
<Polish>Kod ładunku: %1</Polish> <Polish>Kod ładunku: %1</Polish>
<French>Code explosif: %1</French> <French>Code explosif: %1</French>
<Czech>Kód výbušniny: %1</Czech> <Czech>Kód výbušniny: %1</Czech>
<Italian>Codice dell'esplosivo : %1</Italian> <Italian>Codice dell'esplosivo : %1</Italian>
<Hungarian>Robbanóanyag kódja: %1</Hungarian> <Hungarian>Robbanóanyag kódja: %1</Hungarian>
<Portuguese>Código do explosivo: %1</Portuguese> <Portuguese>Código do explosivo: %1</Portuguese>
<Russian>Взрывная код: %1</Russian> <Russian>Взрывная код: %1</Russian>
</Key> </Key>
<Key ID="STR_ACE_Explosives_PlaceAction"> <Key ID="STR_ACE_Explosives_PlaceAction">
<English>Place</English> <English>Place</English>
<German>Platzieren</German> <German>Platzieren</German>
<Spanish>Colocar</Spanish> <Spanish>Colocar</Spanish>
<Polish>Umieść</Polish> <Polish>Umieść</Polish>
<French>Placer</French> <French>Placer</French>
<Czech>Položit</Czech> <Czech>Položit</Czech>
<Italian>Piazza</Italian> <Italian>Piazza</Italian>
<Hungarian>Elhelyezés</Hungarian> <Hungarian>Elhelyezés</Hungarian>
<Portuguese>Colocar</Portuguese> <Portuguese>Colocar</Portuguese>
<Russian>Положить</Russian> <Russian>Положить</Russian>
</Key> </Key>
<Key ID="STR_ACE_Explosives_CancelAction"> <Key ID="STR_ACE_Explosives_CancelAction">
<English>Cancel</English> <English>Cancel</English>
<German>Abbrechen</German> <German>Abbrechen</German>
<Spanish>Cancelar</Spanish> <Spanish>Cancelar</Spanish>
<Polish>Anuluj</Polish> <Polish>Anuluj</Polish>
<French>Annuler</French> <French>Annuler</French>
<Czech>Zrušit</Czech> <Czech>Zrušit</Czech>
<Italian>Annulla</Italian> <Italian>Annulla</Italian>
<Hungarian>Mégsem</Hungarian> <Hungarian>Mégsem</Hungarian>
<Portuguese>Cancelar</Portuguese> <Portuguese>Cancelar</Portuguese>
<Russian>Отмена</Russian> <Russian>Отмена</Russian>
</Key> </Key>
<Key ID="STR_ACE_Explosives_ScrollAction"> <Key ID="STR_ACE_Explosives_ScrollAction">
<English>+ Modifier, rotates</English> <English>+ Modifier, rotates</English>
<German>+ Modifikator, drehen</German> <German>+ Modifikator, drehen</German>
<Spanish>+ Modificador, girar</Spanish> <Spanish>+ Modificador, girar</Spanish>
<French>+ Modificateur, tourner</French> <French>+ Modificateur, tourner</French>
<Italian>+ Modificatore, rotazione</Italian> <Italian>+ Modificatore, rotazione</Italian>
<Czech>+ Otočit</Czech> <Czech>+ Otočit</Czech>
<Hungarian>+ Változtatás, forgatás</Hungarian> <Hungarian>+ Változtatás, forgatás</Hungarian>
<Polish>+ modyfikator, obracanie</Polish> <Polish>+ modyfikator, obracanie</Polish>
<Portuguese>+ Modificador, rotaciona</Portuguese> <Portuguese>+ Modificador, rotaciona</Portuguese>
<Russian>+ Bращать</Russian> <Russian>+ Bращать</Russian>
</Key> </Key>
<Key ID="STR_ACE_Explosives_Jammer_TurnOn"> <Key ID="STR_ACE_Explosives_Jammer_TurnOn">
<English>Turn On Thor III</English> <English>Turn On Thor III</English>
<German>Thor III aktivieren</German> <German>Thor III aktivieren</German>
<Spanish>Encender Thor III</Spanish> <Spanish>Encender Thor III</Spanish>
<Polish>Włącz Thor III</Polish> <Polish>Włącz Thor III</Polish>
<French>Allumer Thor III</French> <French>Allumer Thor III</French>
<Czech>Zapnout Thor III</Czech> <Czech>Zapnout Thor III</Czech>
<Italian>Accendi Thor III</Italian> <Italian>Accendi Thor III</Italian>
<Hungarian>Thor III bekapcsolása</Hungarian> <Hungarian>Thor III bekapcsolása</Hungarian>
<Portuguese>Ativar Thor III</Portuguese> <Portuguese>Ativar Thor III</Portuguese>
<Russian>Активировать Thor III</Russian> <Russian>Активировать Thor III</Russian>
</Key> </Key>
<Key ID="STR_ACE_Explosives_Jammer_TurnOff"> <Key ID="STR_ACE_Explosives_Jammer_TurnOff">
<English>Turn Off Thor III</English> <English>Turn Off Thor III</English>
<German>Thor III deaktivieren</German> <German>Thor III deaktivieren</German>
<Spanish>Apagar Thor III</Spanish> <Spanish>Apagar Thor III</Spanish>
<Polish>Wyłącz Thor III</Polish> <Polish>Wyłącz Thor III</Polish>
<French>Éteindre Thor III</French> <French>Éteindre Thor III</French>
<Czech>Vypnout Thor III</Czech> <Czech>Vypnout Thor III</Czech>
<Italian>Spegni Thor III</Italian> <Italian>Spegni Thor III</Italian>
<Hungarian>Thor III kikapcsolása</Hungarian> <Hungarian>Thor III kikapcsolása</Hungarian>
<Portuguese>Desativar Thor III</Portuguese> <Portuguese>Desativar Thor III</Portuguese>
<Russian>Деактивировать Thor III</Russian> <Russian>Деактивировать Thor III</Russian>
</Key> </Key>
<Key ID="STR_ACE_Explosives_cellphone_displayName"> <Key ID="STR_ACE_Explosives_cellphone_displayName">
<English>Cellphone</English> <English>Cellphone</English>
<German>Mobiltelefon</German> <German>Mobiltelefon</German>
<Spanish>Télefono móvil</Spanish> <Spanish>Télefono móvil</Spanish>
<Polish>Telefon komórkowy</Polish> <Polish>Telefon komórkowy</Polish>
<French>Téléphone Portable</French> <French>Téléphone Portable</French>
<Czech>Telefon</Czech> <Czech>Telefon</Czech>
<Italian>Cellulare</Italian> <Italian>Cellulare</Italian>
<Hungarian>Mobil</Hungarian> <Hungarian>Mobil</Hungarian>
<Portuguese>Celular</Portuguese> <Portuguese>Celular</Portuguese>
<Russian>Сотовый телефон</Russian> <Russian>Сотовый телефон</Russian>
</Key> </Key>
<Key ID="STR_ACE_Explosives_cellphone_description"> <Key ID="STR_ACE_Explosives_cellphone_description">
<English>Used to remotely trigger explosives</English> <English>Used to remotely trigger explosives</English>
<German>Wird benutzt um Sprengstoffe fernzuzünden</German> <German>Wird benutzt um Sprengstoffe fernzuzünden</German>
<Spanish>Usado para detonar remotamente explosivos</Spanish> <Spanish>Usado para detonar remotamente explosivos</Spanish>
<Polish>Używany do zdalnego detonowania ładunków wybuchowych</Polish> <Polish>Używany do zdalnego detonowania ładunków wybuchowych</Polish>
<French>Utilisé pour déclencher des explosifs à distance</French> <French>Utilisé pour déclencher des explosifs à distance</French>
<Czech>Používaný ke vzdálenému odpalování výbušnin</Czech> <Czech>Používaný ke vzdálenému odpalování výbušnin</Czech>
<Italian>Usato per l'attivazione a distanza degli esplosivi</Italian> <Italian>Usato per l'attivazione a distanza degli esplosivi</Italian>
<Hungarian>Robbanóanyagok távoli robbantásához</Hungarian> <Hungarian>Robbanóanyagok távoli robbantásához</Hungarian>
<Portuguese>Usado para acionar explosivos remotamente</Portuguese> <Portuguese>Usado para acionar explosivos remotamente</Portuguese>
<Russian>Используется для удаленного запуска взрывчатку</Russian> <Russian>Используется для удаленного запуска взрывчатку</Russian>
</Key> </Key>
<Key ID="STR_ACE_Explosives_clacker_displayName"> <Key ID="STR_ACE_Explosives_clacker_displayName">
<English>M57 Firing Device</English> <English>M57 Firing Device</English>
<German>M57 Zündvorrichtung</German> <German>M57 Zündvorrichtung</German>
<Spanish>Dispositivo de detonación M57</Spanish> <Spanish>Dispositivo de detonación M57</Spanish>
<Polish>Zapalnik M57</Polish> <Polish>Zapalnik M57</Polish>
<French>M57 Dispositif de mise à feu</French> <French>M57 Dispositif de mise à feu</French>
<Czech>M57 Odpalovací Zařízení</Czech> <Czech>M57 Odpalovací Zařízení</Czech>
<Italian>Detonatore M57</Italian> <Italian>Detonatore M57</Italian>
<Hungarian>M57 Detonátor</Hungarian> <Hungarian>M57 Detonátor</Hungarian>
<Portuguese>M57 Dispositivo de Detonação</Portuguese> <Portuguese>M57 Dispositivo de Detonação</Portuguese>
<Russian>Взрыватель M57</Russian> <Russian>Взрыватель M57</Russian>
</Key> </Key>
<Key ID="STR_ACE_Explosives_clacker_description"> <Key ID="STR_ACE_Explosives_clacker_description">
<English>Used to remotely trigger explosives</English> <English>Used to remotely trigger explosives</English>
<German>Wird benutzt um Sprengstoffe fernzuzünden</German> <German>Wird benutzt um Sprengstoffe fernzuzünden</German>
<Spanish>Usado para detonar remotamente explosivos</Spanish> <Spanish>Usado para detonar remotamente explosivos</Spanish>
<Polish>Używany do zdalnego detonowania ładunków wybuchowych</Polish> <Polish>Używany do zdalnego detonowania ładunków wybuchowych</Polish>
<French>Utilisé pour déclencher des explosifs à distance</French> <French>Utilisé pour déclencher des explosifs à distance</French>
<Czech>Použévané ke vzdálenému odpalování výbušnin</Czech> <Czech>Použévané ke vzdálenému odpalování výbušnin</Czech>
<Italian>Usato per l'attivazione a distanza degli esplosivi</Italian> <Italian>Usato per l'attivazione a distanza degli esplosivi</Italian>
<Hungarian>Robbanóanyagok távoli robbantásához</Hungarian> <Hungarian>Robbanóanyagok távoli robbantásához</Hungarian>
<Portuguese>Usado para acionar explosivos remotamente</Portuguese> <Portuguese>Usado para acionar explosivos remotamente</Portuguese>
<Russian>Используется для удаленного запуска взрывчатку</Russian> <Russian>Используется для удаленного запуска взрывчатку</Russian>
</Key> </Key>
<Key ID="STR_ACE_Explosives_M26_displayName"> <Key ID="STR_ACE_Explosives_M26_displayName">
<English>M26 Firing Device</English> <English>M26 Firing Device</English>
<German>M26 Zündvorrichtung</German> <German>M26 Zündvorrichtung</German>
<Spanish>Dispositivo de detonación MK26</Spanish> <Spanish>Dispositivo de detonación MK26</Spanish>
<Polish>Zapalnik M26</Polish> <Polish>Zapalnik M26</Polish>
<French>M26 Dispositif de mise à feu</French> <French>M26 Dispositif de mise à feu</French>
<Czech>M26 Odpalovací Zařízení</Czech> <Czech>M26 Odpalovací Zařízení</Czech>
<Italian>Detonatore M26</Italian> <Italian>Detonatore M26</Italian>
<Hungarian>M26 Detonátor</Hungarian> <Hungarian>M26 Detonátor</Hungarian>
<Portuguese>M26 Dispositivo de Detonação</Portuguese> <Portuguese>M26 Dispositivo de Detonação</Portuguese>
<Russian>Взрыватель M26</Russian> <Russian>Взрыватель M26</Russian>
</Key> </Key>
<Key ID="STR_ACE_Explosives_MK16_displayName"> <Key ID="STR_ACE_Explosives_MK16_displayName">
<English>M152 RAMS</English> <English>M152 RAMS</English>
<German>M152 RAMS</German> <German>M152 RAMS</German>
<Czech>M152 RAMS</Czech> <Czech>M152 RAMS</Czech>
<French>M152 RAMS</French> <French>M152 RAMS</French>
<Hungarian>M152 RAMS</Hungarian> <Hungarian>M152 RAMS</Hungarian>
<Polish>M152 RAMS</Polish> <Polish>M152 RAMS</Polish>
<Portuguese>M152 RAMS</Portuguese> <Portuguese>M152 RAMS</Portuguese>
<Russian>M152 RAMS</Russian> <Russian>M152 RAMS</Russian>
<Spanish>M152 RAMS</Spanish> <Spanish>M152 RAMS</Spanish>
<Italian>M152 RAMS</Italian> <Italian>M152 RAMS</Italian>
</Key> </Key>
<Key ID="STR_ACE_Explosives_DefusalKit_displayName"> <Key ID="STR_ACE_Explosives_DefusalKit_displayName">
<English>Defusal Kit</English> <English>Defusal Kit</English>
<German>Entschärfungskit</German> <German>Entschärfungskit</German>
<Spanish>Kit de desactivación</Spanish> <Spanish>Kit de desactivación</Spanish>
<Polish>Zestaw do rozbrajania</Polish> <Polish>Zestaw do rozbrajania</Polish>
<French>Kit de désamorçage</French> <French>Kit de désamorçage</French>
<Czech>Zneškodňovací sada</Czech> <Czech>Zneškodňovací sada</Czech>
<Italian>Kit E.O.D.</Italian> <Italian>Kit E.O.D.</Italian>
<Hungarian>Hatástalanító felszerelés</Hungarian> <Hungarian>Hatástalanító felszerelés</Hungarian>
<Portuguese>Kit de desarme</Portuguese> <Portuguese>Kit de desarme</Portuguese>
<Russian>Разминирование комплект</Russian> <Russian>Разминирование комплект</Russian>
</Key> </Key>
<Key ID="STR_ACE_Explosives_DefusalKit_description"> <Key ID="STR_ACE_Explosives_DefusalKit_description">
<English>Allows defusing of explosives</English> <English>Allows defusing of explosives</English>
<German>Erlaubt die Entschärfung von Sprengstoffen</German> <German>Erlaubt die Entschärfung von Sprengstoffen</German>
<Spanish>Permite desactivar explosivos</Spanish> <Spanish>Permite desactivar explosivos</Spanish>
<Polish>Umożliwia rozbrajanie ładunków wybuchowych</Polish> <Polish>Umożliwia rozbrajanie ładunków wybuchowych</Polish>
<French>Permet de désamorçer des explosifs</French> <French>Permet de désamorçer des explosifs</French>
<Czech>Dovoluje zneškodňování výbušnin</Czech> <Czech>Dovoluje zneškodňování výbušnin</Czech>
<Italian>Consente la disattivazione degli ordigni esplosivi</Italian> <Italian>Consente la disattivazione degli ordigni esplosivi</Italian>
<Hungarian>Robbanóanyagok hatástalanításához</Hungarian> <Hungarian>Robbanóanyagok hatástalanításához</Hungarian>
<Portuguese>Permite o desarme de explosivos</Portuguese> <Portuguese>Permite o desarme de explosivos</Portuguese>
<Russian>Allows defusing of explosives</Russian> <Russian>Allows defusing of explosives</Russian>
</Key> </Key>
<Key ID="STR_ACE_Explosives_Phone_AddToSpeedDial"> <Key ID="STR_ACE_Explosives_Phone_AddToSpeedDial">
<English>Add to Speed Dial</English> <English>Add to Speed Dial</English>
<German>Zur Schnellauswahl hinzufügen</German> <German>Zur Schnellauswahl hinzufügen</German>
<Spanish>Agregar a marcado rápido</Spanish> <Spanish>Agregar a marcado rápido</Spanish>
<Polish>Dodaj do szybkiego wybierania</Polish> <Polish>Dodaj do szybkiego wybierania</Polish>
<French>Ajouter à la composition rapide</French> <French>Ajouter à la composition rapide</French>
<Czech>Přidat jako rychlou volbu</Czech> <Czech>Přidat jako rychlou volbu</Czech>
<Italian>Aggiungi alla selezione rapida</Italian> <Italian>Aggiungi alla selezione rapida</Italian>
<Hungarian>Hozzáadás gyorshíváshoz</Hungarian> <Hungarian>Hozzáadás gyorshíváshoz</Hungarian>
<Portuguese>Adicionar à ligação rápida</Portuguese> <Portuguese>Adicionar à ligação rápida</Portuguese>
<Russian>Добавить в ускоренный набор</Russian> <Russian>Добавить в ускоренный набор</Russian>
</Key> </Key>
<Key ID="STR_ACE_Explosives_Clear"> <Key ID="STR_ACE_Explosives_Clear">
<English>Clear</English> <English>Clear</English>
<German>Löschen</German> <German>Löschen</German>
<Spanish>Borrar</Spanish> <Spanish>Borrar</Spanish>
<Polish>Usuń</Polish> <Polish>Usuń</Polish>
<French>Désamorçé</French> <French>Désamorçé</French>
<Czech>Čistý</Czech> <Czech>Čistý</Czech>
<Italian>Libera</Italian> <Italian>Libera</Italian>
<Hungarian>Törlés</Hungarian> <Hungarian>Törlés</Hungarian>
<Portuguese>Limpar</Portuguese> <Portuguese>Limpar</Portuguese>
<Russian>Pассеиваться</Russian> <Russian>Pассеиваться</Russian>
</Key> </Key>
<Key ID="STR_ACE_Explosives_Phone_Dial"> <Key ID="STR_ACE_Explosives_Phone_Dial">
<English>Dial</English> <English>Dial</English>
<German>Wählen</German> <German>Wählen</German>
<Spanish>Marcar</Spanish> <Spanish>Marcar</Spanish>
<Polish>Wybierz mumer</Polish> <Polish>Wybierz mumer</Polish>
<French>Composer</French> <French>Composer</French>
<Czech>Vytočit</Czech> <Czech>Vytočit</Czech>
<Italian>Composizione numero</Italian> <Italian>Composizione numero</Italian>
<Hungarian>Tárcsázás</Hungarian> <Hungarian>Tárcsázás</Hungarian>
<Portuguese>Discar</Portuguese> <Portuguese>Discar</Portuguese>
<Russian>Hабрать</Russian> <Russian>Hабрать</Russian>
</Key> </Key>
<Key ID="STR_ACE_Explosives_Phone_Up"> <Key ID="STR_ACE_Explosives_Phone_Up">
<English>Up</English> <English>Up</English>
<German>Hoch</German> <German>Hoch</German>
<Spanish>Arriba</Spanish> <Spanish>Arriba</Spanish>
<Polish>W górę</Polish> <Polish>W górę</Polish>
<French>Haut</French> <French>Haut</French>
<Czech>Nahoru</Czech> <Czech>Nahoru</Czech>
<Italian>Sopra</Italian> <Italian>Sopra</Italian>
<Hungarian>Fel</Hungarian> <Hungarian>Fel</Hungarian>
<Portuguese>Cima</Portuguese> <Portuguese>Cima</Portuguese>
<Russian>Поднять</Russian> <Russian>Поднять</Russian>
</Key> </Key>
<Key ID="STR_ACE_Explosives_Phone_Down"> <Key ID="STR_ACE_Explosives_Phone_Down">
<English>Down</English> <English>Down</English>
<German>Runter</German> <German>Runter</German>
<Spanish>Abajo</Spanish> <Spanish>Abajo</Spanish>
<Polish>W dół</Polish> <Polish>W dół</Polish>
<French>Bas</French> <French>Bas</French>
<Czech>Dolu</Czech> <Czech>Dolu</Czech>
<Italian>Sotto</Italian> <Italian>Sotto</Italian>
<Hungarian>Le</Hungarian> <Hungarian>Le</Hungarian>
<Portuguese>Baixo</Portuguese> <Portuguese>Baixo</Portuguese>
<Russian>Опустить</Russian> <Russian>Опустить</Russian>
</Key> </Key>
<Key ID="STR_ACE_Explosives_Cancel"> <Key ID="STR_ACE_Explosives_Cancel">
<English>Cancel</English> <English>Cancel</English>
<German>Abbrechen</German> <German>Abbrechen</German>
<Spanish>Cancelar</Spanish> <Spanish>Cancelar</Spanish>
<Polish>Anuluj</Polish> <Polish>Anuluj</Polish>
<French>Annuler</French> <French>Annuler</French>
<Czech>Zrušit</Czech> <Czech>Zrušit</Czech>
<Italian>Annulla</Italian> <Italian>Annulla</Italian>
<Hungarian>Mégsem</Hungarian> <Hungarian>Mégsem</Hungarian>
<Portuguese>Cancelar</Portuguese> <Portuguese>Cancelar</Portuguese>
<Russian>Отмена</Russian> <Russian>Отмена</Russian>
</Key> </Key>
<Key ID="STR_ACE_Explosives_DetonateMenu"> <Key ID="STR_ACE_Explosives_DetonateMenu">
<English>Detonate Menu</English> <English>Detonate Menu</English>
<German>&quot;Zünden&quot;-Menü</German> <German>&quot;Zünden&quot;-Menü</German>
<Spanish>Menú de detonación</Spanish> <Spanish>Menú de detonación</Spanish>
<Polish>Menu detonowania</Polish> <Polish>Menu detonowania</Polish>
<French>Menu de mise à feu</French> <French>Menu de mise à feu</French>
<Czech>Menu Detonace</Czech> <Czech>Menu Detonace</Czech>
<Italian>Menù di detonazione</Italian> <Italian>Menù di detonazione</Italian>
<Hungarian>Robbantás menü</Hungarian> <Hungarian>Robbantás menü</Hungarian>
<Portuguese>Menu de detonação</Portuguese> <Portuguese>Menu de detonação</Portuguese>
<Russian>Меню Подрыв</Russian> <Russian>Меню Подрыв</Russian>
</Key> </Key>
<Key ID="STR_ACE_Explosives_PlaceMenu"> <Key ID="STR_ACE_Explosives_PlaceMenu">
<English>Place Menu</English> <English>Place Menu</English>
<German>&quot;Platzieren&quot;-Menü</German> <German>&quot;Platzieren&quot;-Menü</German>
<Spanish>Menú de colocación</Spanish> <Spanish>Menú de colocación</Spanish>
<Polish>Menu umieszczania</Polish> <Polish>Menu umieszczania</Polish>
<French>Menu Placement</French> <French>Menu Placement</French>
<Czech>Menu Umístění</Czech> <Czech>Menu Umístění</Czech>
<Italian>Menù di collocamento</Italian> <Italian>Menù di collocamento</Italian>
<Hungarian>Lerakás menü</Hungarian> <Hungarian>Lerakás menü</Hungarian>
<Portuguese>Menu de posicionamento</Portuguese> <Portuguese>Menu de posicionamento</Portuguese>
<Russian>Меню Установить</Russian> <Russian>Меню Установить</Russian>
</Key> </Key>
<Key ID="STR_ACE_Explosives_Defuse"> <Key ID="STR_ACE_Explosives_Defuse">
<English>Defuse</English> <English>Defuse</English>
<German>Entschärfen</German> <German>Entschärfen</German>
<Spanish>Desactivar</Spanish> <Spanish>Desactivar</Spanish>
<Polish>Rozbrój</Polish> <Polish>Rozbrój</Polish>
<French>Désamorçer</French> <French>Désamorçer</French>
<Czech>Zneškodnit</Czech> <Czech>Zneškodnit</Czech>
<Italian>Disinnesca</Italian> <Italian>Disinnesca</Italian>
<Hungarian>Hatástalanítás</Hungarian> <Hungarian>Hatástalanítás</Hungarian>
<Portuguese>Desarmar</Portuguese> <Portuguese>Desarmar</Portuguese>
<Russian>Обезвредить</Russian> <Russian>Обезвредить</Russian>
</Key> </Key>
<Key ID="STR_ACE_Explosives_DefusingExplosive"> <Key ID="STR_ACE_Explosives_DefusingExplosive">
<English>Defusing Explosive...</English> <English>Defusing Explosive...</English>
<German>Entschärfe Sprengstoff...</German> <German>Entschärfe Sprengstoff...</German>
<Spanish>Desactivando explosivo...</Spanish> <Spanish>Desactivando explosivo...</Spanish>
<Polish>Rozbrajanie ładunku...</Polish> <Polish>Rozbrajanie ładunku...</Polish>
<French>Désamorçage des explosifs...</French> <French>Désamorçage des explosifs...</French>
<Czech>Zneškodňuji Výbušninu...</Czech> <Czech>Zneškodňuji Výbušninu...</Czech>
<Italian>Esposivo in fase di disattivazione...</Italian> <Italian>Esposivo in fase di disattivazione...</Italian>
<Hungarian>Robbanóanyag hatástalaníása...</Hungarian> <Hungarian>Robbanóanyag hatástalaníása...</Hungarian>
<Portuguese>Desarmando Explosivo...</Portuguese> <Portuguese>Desarmando Explosivo...</Portuguese>
<Russian>Обезвреживание...</Russian> <Russian>Обезвреживание...</Russian>
</Key> </Key>
<Key ID="STR_ACE_Explosives_timerName"> <Key ID="STR_ACE_Explosives_timerName">
<English>Timer</English> <English>Timer</English>
<German>Zeitzünder</German> <German>Zeitzünder</German>
<Spanish>Temporizador</Spanish> <Spanish>Temporizador</Spanish>
<Polish>Czasomierz</Polish> <Polish>Czasomierz</Polish>
<French>Retard</French> <French>Retard</French>
<Czech>Časovač</Czech> <Czech>Časovač</Czech>
<Italian>Cronometro</Italian> <Italian>Cronometro</Italian>
<Hungarian>Időzített</Hungarian> <Hungarian>Időzített</Hungarian>
<Portuguese>Timer</Portuguese> <Portuguese>Timer</Portuguese>
<Russian>Временной</Russian> <Russian>Временной</Russian>
</Key> </Key>
<Key ID="STR_ACE_Explosives_TimerMenu"> <Key ID="STR_ACE_Explosives_TimerMenu">
<English>Time: %1m %2s</English> <English>Time: %1m %2s</English>
<German>Zeit: %1m %2s</German> <German>Zeit: %1m %2s</German>
<Spanish>Tiempo: %1m %2s</Spanish> <Spanish>Tiempo: %1m %2s</Spanish>
<Polish>Czas: %1m %2s</Polish> <Polish>Czas: %1m %2s</Polish>
<French>Temps : %1m %2s</French> <French>Temps : %1m %2s</French>
<Czech>Čas: %1m %2s</Czech> <Czech>Čas: %1m %2s</Czech>
<Italian>Tempo : %1m %2s</Italian> <Italian>Tempo : %1m %2s</Italian>
<Hungarian>Idő: %1m %2s</Hungarian> <Hungarian>Idő: %1m %2s</Hungarian>
<Portuguese>Tempo: %1m %2s</Portuguese> <Portuguese>Tempo: %1m %2s</Portuguese>
<Russian>Tемп: %1m %2c</Russian> <Russian>Tемп: %1m %2c</Russian>
</Key> </Key>
<Key ID="STR_ACE_Explosives_SetTime"> <Key ID="STR_ACE_Explosives_SetTime">
<English>Set Time</English> <English>Set Time</English>
<German>Zeit einstellen</German> <German>Zeit einstellen</German>
<Spanish>Configurar tiempo</Spanish> <Spanish>Configurar tiempo</Spanish>
<Polish>Ustaw czas</Polish> <Polish>Ustaw czas</Polish>
<French>Régler retard</French> <French>Régler retard</French>
<Czech>Nastavit Čas</Czech> <Czech>Nastavit Čas</Czech>
<Italian>Modifica il conto alla rovescia</Italian> <Italian>Modifica il conto alla rovescia</Italian>
<Hungarian>Idő állítása</Hungarian> <Hungarian>Idő állítása</Hungarian>
<Portuguese>Configurar Tempo</Portuguese> <Portuguese>Configurar Tempo</Portuguese>
<Russian>Xронометр</Russian> <Russian>Xронометр</Russian>
</Key> </Key>
<Key ID="STR_ACE_Explosives_TriggerMenu"> <Key ID="STR_ACE_Explosives_TriggerMenu">
<English>Select a Trigger</English> <English>Select a Trigger</English>
<German>Wähle einen Zünder</German> <German>Wähle einen Zünder</German>
<Spanish>Seleccionar un disparador</Spanish> <Spanish>Seleccionar un disparador</Spanish>
<Polish>Wybierz zapalnik</Polish> <Polish>Wybierz zapalnik</Polish>
<French>Sélectionner une mise à feu</French> <French>Sélectionner une mise à feu</French>
<Czech>Zvolit Detonátor</Czech> <Czech>Zvolit Detonátor</Czech>
<Italian>Seleziona un Attivatore</Italian> <Italian>Seleziona un Attivatore</Italian>
<Hungarian>Detonátor kiválasztása</Hungarian> <Hungarian>Detonátor kiválasztása</Hungarian>
<Portuguese>Selecionar um Gatilho</Portuguese> <Portuguese>Selecionar um Gatilho</Portuguese>
<Russian>Выберите</Russian> <Russian>Выберите</Russian>
</Key> </Key>
<Key ID="STR_ACE_Explosives_SelectTrigger"> <Key ID="STR_ACE_Explosives_SelectTrigger">
<English>Select</English> <English>Select</English>
<German>Wählen</German> <German>Wählen</German>
<Spanish>Seleccionar</Spanish> <Spanish>Seleccionar</Spanish>
<Polish>Wybierz</Polish> <Polish>Wybierz</Polish>
<French>Sélectionner</French> <French>Sélectionner</French>
<Czech>Zvolit</Czech> <Czech>Zvolit</Czech>
<Italian>Seleziona</Italian> <Italian>Seleziona</Italian>
<Hungarian>Kiválasztás</Hungarian> <Hungarian>Kiválasztás</Hungarian>
<Portuguese>Selecionar</Portuguese> <Portuguese>Selecionar</Portuguese>
<Russian>Выбрать защелка</Russian> <Russian>Выбрать защелка</Russian>
</Key> </Key>
<Key ID="STR_ACE_Explosives_PressurePlate"> <Key ID="STR_ACE_Explosives_PressurePlate">
<English>Pressure Plate</English> <English>Pressure Plate</English>
<Polish>Płyta naciskowa</Polish> <Polish>Płyta naciskowa</Polish>
<Spanish>Placa de presión</Spanish> <Spanish>Placa de presión</Spanish>
<German>Druckplatte</German> <German>Druckplatte</German>
<French>Plaque de pression</French> <French>Plaque de pression</French>
<Czech>Nášlapná nástraha</Czech> <Czech>Nášlapná nástraha</Czech>
<Italian>Piastra a Pressione</Italian> <Italian>Piastra a Pressione</Italian>
<Hungarian>Nyomólap</Hungarian> <Hungarian>Nyomólap</Hungarian>
<Portuguese>Placa de pressão</Portuguese> <Portuguese>Placa de pressão</Portuguese>
<Russian>Давление</Russian> <Russian>Давление</Russian>
</Key> </Key>
<Key ID="STR_ACE_Explosives_TripWire"> <Key ID="STR_ACE_Explosives_TripWire">
<English>Tripwire</English> <English>Tripwire</English>
<Polish>Linka naciągu</Polish> <Polish>Linka naciągu</Polish>
<Spanish>Cable trampa</Spanish> <Spanish>Cable trampa</Spanish>
<German>Stolperdraht</German> <German>Stolperdraht</German>
<French>Fil de butée</French> <French>Fil de butée</French>
<Czech>Nástražný drát</Czech> <Czech>Nástražný drát</Czech>
<Italian>Filo a Inciampo</Italian> <Italian>Filo a Inciampo</Italian>
<Hungarian>Botlódrót</Hungarian> <Hungarian>Botlódrót</Hungarian>
<Portuguese>Linha de tração</Portuguese> <Portuguese>Linha de tração</Portuguese>
<Russian>Натяжной</Russian> <Russian>Натяжной</Russian>
</Key> </Key>
<Key ID="STR_ACE_Explosives_IRSensor"> <Key ID="STR_ACE_Explosives_IRSensor">
<English>IR Sensor</English> <English>IR Sensor</English>
<Polish>Czujnik podczerwieni</Polish> <Polish>Czujnik podczerwieni</Polish>
<Spanish>Sensor IR</Spanish> <Spanish>Sensor IR</Spanish>
<German>Infrarotsensor</German> <German>Infrarotsensor</German>
<French>Capteur IR</French> <French>Capteur IR</French>
<Czech>IR Značkovač</Czech> <Czech>IR Značkovač</Czech>
<Italian>Sensore IR</Italian> <Italian>Sensore IR</Italian>
<Hungarian>IR szenzor</Hungarian> <Hungarian>IR szenzor</Hungarian>
<Portuguese>Sensor IV</Portuguese> <Portuguese>Sensor IV</Portuguese>
<Russian>ИК</Russian> <Russian>ИК</Russian>
</Key> </Key>
<Key ID="STR_ACE_Explosives_NoTriggersAvailable"> <Key ID="STR_ACE_Explosives_NoTriggersAvailable">
<English>No triggers available for %1</English> <English>No triggers available for %1</English>
<Polish>Brak dostępnych zapalników dla %1</Polish> <Polish>Brak dostępnych zapalników dla %1</Polish>
<Spanish>No hay detonadores disponibles para %1</Spanish> <Spanish>No hay detonadores disponibles para %1</Spanish>
<German>Keine Auslöser vorhanden für %1</German> <German>Keine Auslöser vorhanden für %1</German>
<French>Pas de mise à feu disponible pour %1</French> <French>Pas de mise à feu disponible pour %1</French>
<Czech>Žádný detonátor k dispozici pro %1</Czech> <Czech>Žádný detonátor k dispozici pro %1</Czech>
<Italian>Nessun attivatore disponibile per %1</Italian> <Italian>Nessun attivatore disponibile per %1</Italian>
<Hungarian>Nincs detonátor a %1</Hungarian> <Hungarian>Nincs detonátor a %1</Hungarian>
<Portuguese>Nenhum gatilho disponível para %1</Portuguese> <Portuguese>Nenhum gatilho disponível para %1</Portuguese>
<Russian>Нет защелка доступны для %1</Russian> <Russian>Нет защелка доступны для %1</Russian>
</Key> </Key>
<Key ID="STR_ACE_Explosives_SLAME_IRSensor"> <Key ID="STR_ACE_Explosives_SLAME_IRSensor">
<English>IR Sensor (Side Attack)</English> <English>IR Sensor (Side Attack)</English>
<Polish>Czujnik podczerwieni (wybuch na bok)</Polish> <Polish>Czujnik podczerwieni (wybuch na bok)</Polish>
<Spanish>Sensor IR (ataque lateral)</Spanish> <Spanish>Sensor IR (ataque lateral)</Spanish>
<German>Infrarotsensor (Seitenangriff)</German> <German>Infrarotsensor (Seitenangriff)</German>
<French>Capteur IR (de flanc)</French> <French>Capteur IR (de flanc)</French>
<Czech>IR Značkovač (Výbuch stranou)</Czech> <Czech>IR Značkovač (Výbuch stranou)</Czech>
<Italian>Sensore IR (Attacco laterale)</Italian> <Italian>Sensore IR (Attacco laterale)</Italian>
<Hungarian>IR Sensor (Side Attack)</Hungarian> <Hungarian>IR Sensor (Side Attack)</Hungarian>
<Portuguese>Sensor infravermelho (ataque lateral)</Portuguese> <Portuguese>Sensor infravermelho (ataque lateral)</Portuguese>
<Russian>ИК (боковая атака)</Russian> <Russian>ИК (боковая атака)</Russian>
</Key> </Key>
<Key ID="STR_ACE_Explosives_SLAME_Magnetic"> <Key ID="STR_ACE_Explosives_SLAME_Magnetic">
<English>Magnetic Influence Sensor (Bottom Attack)</English> <English>Magnetic Influence Sensor (Bottom Attack)</English>
<Polish>Czujnik magnetyczny (wybuch w górę)</Polish> <Polish>Czujnik magnetyczny (wybuch w górę)</Polish>
<Spanish>Sensor IM (ataque inferior)</Spanish> <Spanish>Sensor IM (ataque inferior)</Spanish>
<German>Magnetfeldsensor (Bodenangriff)</German> <German>Magnetfeldsensor (Bodenangriff)</German>
<French>Capteur Magnétique (par le bas)</French> <French>Capteur Magnétique (par le bas)</French>
<Czech>Magnetický Senzor (Výbuch ze spoda)</Czech> <Czech>Magnetický Senzor (Výbuch ze spoda)</Czech>
<Italian>Sensore Magnetico di Prossimità (Attacco inferiore)</Italian> <Italian>Sensore Magnetico di Prossimità (Attacco inferiore)</Italian>
<Hungarian>Mágneses (Bottom Attack)</Hungarian> <Hungarian>Mágneses (Bottom Attack)</Hungarian>
<Portuguese>Influência magnética (ataque inferior)</Portuguese> <Portuguese>Influência magnética (ataque inferior)</Portuguese>
<Russian>Магнитный (дно атака)</Russian> <Russian>Магнитный (дно атака)</Russian>
</Key> </Key>
<Key ID="STR_ACE_Explosives_NoExplosivesAvailable"> <Key ID="STR_ACE_Explosives_NoExplosivesAvailable">
<English>No explosives on trigger.</English> <English>No explosives on trigger.</English>
<German>Keine Sprengladungen auf diesem Auslöser.</German> <German>Keine Sprengladungen auf diesem Auslöser.</German>
<Spanish>Ningún explosivo en el detonador.</Spanish> <Spanish>Ningún explosivo en el detonador.</Spanish>
<French>Pas d'explosif à mettre à feu.</French> <French>Pas d'explosif à mettre à feu.</French>
<Italian>Nessun esplosivo sul sensore.</Italian> <Italian>Nessun esplosivo sul sensore.</Italian>
<Czech>Žádná výbušnina k odpálení.</Czech> <Czech>Žádná výbušnina k odpálení.</Czech>
<Hungarian>Nincs robbanóanyag a detonátorhoz.</Hungarian> <Hungarian>Nincs robbanóanyag a detonátorhoz.</Hungarian>
<Polish>Brak ładunków na zapalnik.</Polish> <Polish>Brak ładunków na zapalnik.</Polish>
<Portuguese>Nenhum explosivo no gatilho.</Portuguese> <Portuguese>Nenhum explosivo no gatilho.</Portuguese>
<Russian>Нет взрывчатки на курок.</Russian> <Russian>Нет взрывчатки на курок.</Russian>
</Key> </Key>
<Key ID="STR_ACE_Explosives_DeadManSwitch_displayName"> <Key ID="STR_ACE_Explosives_DeadManSwitch_displayName">
<English>Dead Man's Switch</English> <English>Dead Man's Switch</English>
<German>Totmannschalter</German> <German>Totmannschalter</German>
<French>Mise à feu par relâchement de pression</French> <French>Mise à feu par relâchement de pression</French>
<Czech>Spínač mrtvého muže</Czech> <Czech>Spínač mrtvého muže</Czech>
<Polish>Czuwak</Polish> <Polish>Czuwak</Polish>
<Spanish>Detonador de hombre muerto</Spanish> <Spanish>Detonador de hombre muerto</Spanish>
<Hungarian>Dead Man's Switch</Hungarian> <Hungarian>Dead Man's Switch</Hungarian>
<Russian>Кнопка мертвеца</Russian> <Russian>Кнопка мертвеца</Russian>
</Key> </Key>
<Key ID="STR_ACE_Explosives_DeadManSwitch_description"> <Key ID="STR_ACE_Explosives_DeadManSwitch_description">
<English>Used to remotely trigger explosives when released.</English> <English>Used to remotely trigger explosives when released.</English>
<German>Zündet Sprengladungen wenn losgelassen.</German> <German>Zündet Sprengladungen wenn losgelassen.</German>
<French>Déclenche la mise à feu d'un explosif lorsqu'il est libéré.</French> <French>Déclenche la mise à feu d'un explosif lorsqu'il est libéré.</French>
<Czech>Používaný k vzdálenému odpálení, při uvolnění odpálí výbušniny</Czech> <Czech>Používaný k vzdálenému odpálení, při uvolnění odpálí výbušniny</Czech>
<Polish>Używany w celu zdalnej detonacji ładunków kiedy jego operator zostanie zabity.</Polish> <Polish>Używany w celu zdalnej detonacji ładunków kiedy jego operator zostanie zabity.</Polish>
<Spanish>Utilizado para detonar explosivos remotamente al soltarlo.</Spanish> <Spanish>Utilizado para detonar explosivos remotamente al soltarlo.</Spanish>
<Hungarian>Robbanóanyagok távoli robbantásához</Hungarian> <Hungarian>Robbanóanyagok távoli robbantásához</Hungarian>
<Russian>Используется для дистанционного подрыва, после смерти оператора.</Russian> <Russian>Используется для дистанционного подрыва, после смерти оператора.</Russian>
</Key> </Key>
<Key ID="STR_ACE_Explosives_Pickup"> <Key ID="STR_ACE_Explosives_Pickup">
<English>Pick up</English> <English>Pick up</English>
</Key> </Key>
</Package> </Package>
</Project> </Project>