diff --git a/TO_MERGE/cse/sys_ieds/CfgAddons.h b/TO_MERGE/cse/sys_ieds/CfgAddons.h
new file mode 100644
index 0000000000..8a11ab5c62
--- /dev/null
+++ b/TO_MERGE/cse/sys_ieds/CfgAddons.h
@@ -0,0 +1,7 @@
+class CfgAddons {
+ class PreloadAddons {
+ class cse_sys_ieds {
+ list[] = {"cse_sys_ieds"};
+ };
+ };
+};
diff --git a/TO_MERGE/cse/sys_ieds/CfgFunctions.h b/TO_MERGE/cse/sys_ieds/CfgFunctions.h
new file mode 100644
index 0000000000..b6c117dbfb
--- /dev/null
+++ b/TO_MERGE/cse/sys_ieds/CfgFunctions.h
@@ -0,0 +1,24 @@
+class CfgFunctions {
+ class CSE {
+ class IEDS {
+ file = "cse\cse_sys_ieds\functions";
+ class module_spawnIED { recompile = 1; };
+ class createIEDObject_IEDS { recompile = 1; };
+ class checkIEDActivated_IEDS { recompile = 1; };
+ class checkPressurePlateActivated_IEDS { recompile = 1; };
+ class checkRadioTriggered_IEDS { recompile = 1; };
+ class monitorIEDS_IEDS { recompile = 1; };
+ class onIEDActivated_IEDS { recompile = 1; };
+ class thor3_detection_IEDS { recompile = 1; };
+ class playThorIIISound_IEDS { recompile = 1; };
+ class triggerManGotVisual_IEDS { recompile = 1; };
+ class moduleTriggerMan_IEDS { recompile = 1; };
+ class placeDownIED_IEDS { recompile = 1; };
+ class monitorPlayerIEDs_IEDS { recompile = 1; };
+
+ class onCellPhoneOpened_IEDS { recompile = 1; };
+ class cellphone_detonateIED_IEDS { recompile = 1; };
+ class checkIfJammed_IEDS { recompile = 1; };
+ };
+ };
+};
\ No newline at end of file
diff --git a/TO_MERGE/cse/sys_ieds/CfgSounds.h b/TO_MERGE/cse/sys_ieds/CfgSounds.h
new file mode 100644
index 0000000000..46e89a6090
--- /dev/null
+++ b/TO_MERGE/cse/sys_ieds/CfgSounds.h
@@ -0,0 +1,9 @@
+class CfgSounds
+{
+ class cse_thor3_beep1
+ {
+ name = "cse_thor3_beep1";
+ sound[] = {"cse\cse_sys_ieds\sounds\beeps\03_Dull_Short_Mid.wav","db-1",1};
+ titles[] = {};
+ };
+};
\ No newline at end of file
diff --git a/TO_MERGE/cse/sys_ieds/CfgVehicles.h b/TO_MERGE/cse/sys_ieds/CfgVehicles.h
new file mode 100644
index 0000000000..2355fd40e3
--- /dev/null
+++ b/TO_MERGE/cse/sys_ieds/CfgVehicles.h
@@ -0,0 +1,203 @@
+class CfgVehicles {
+ class Logic;
+ class Module_F: Logic {
+ class ArgumentsBaseUnits {
+ };
+ };
+
+
+ class cse_playerSpawnedIED: Logic {
+ displayName = "Player placed IED";
+ };
+
+ class cseModule_spawnIEDs: Module_F {
+ scope = 2;
+ displayName = "Create IED [CSE]";
+ icon = "\cse\cse_main\data\cse_explosive_module.paa";
+ category = "cseMisc";
+ function = "cse_fnc_module_spawnIED";
+ functionPriority = 1;
+ isGlobal = 0;
+ isTriggerActivated = 0;
+ class Arguments {
+ class typeOfIED {
+ displayName = "Type";
+ description = "The Type of the IED";
+ typeName = "NUMBER";
+ class values {
+ class land {name="Normal"; value=0; default=1; };
+ class urban {name="Urban"; value=1; };
+ };
+ };
+
+ class sizeOfIED {
+ displayName = "Size";
+ description = "The size of the IED";
+ typeName = "NUMBER";
+ class values {
+ class small {name="Small"; value=1; default=1; };
+ class large {name="Large"; value=0; };
+ };
+ };
+
+ class heightOfIED {
+ displayName = "Height";
+ description = "The height that the IED is burried";
+ typeName = "NUMBER";
+ class values {
+ class Above {name="Above Ground"; value=0; default=1; };
+ class slightly {name="Slightly burried"; value=-0.015; };
+ class medium {name="Medium burried"; value=-0.025; };
+ class almost {name="Almost burried"; value=-0.05; };
+ class fully {name="Fully burried"; value=-0.1; };
+ };
+ };
+
+ class iedActivationType {
+ displayName = "Activation Type";
+ description = "How is the IED activated";
+ typeName = "NUMBER";
+ class values {
+ class None {name="None"; value=-1; };
+ class PressurePlate {name="Pressure Plate"; value=0; default=1;};
+ class Radio {name="Radio"; value=1; };
+ };
+ };
+
+ class activatedForTargets {
+ displayName = "Activated for";
+ description = "What types is the IED activated for";
+ typeName = "NUMBER";
+ class values {
+ class None {name="None"; value=-1; };
+ class All {name="Any type"; value=0; default=1;};
+ class Vehicles {name="Any Vehicle"; value=1; };
+ class Land {name="Ground Vehicles"; value=2; };
+ class Air {name="Airial Vehicles"; value=3; };
+ class Man {name="Man"; value=4; };
+ };
+ };
+
+ class activatedForSides {
+ displayName = "What sides activate this IED";
+ description = "What types is the IED activated for";
+ typeName = "NUMBER";
+ class values {
+ class None {name="None"; value=-1; };
+ class All {name="Any side"; value=0; default=1; };
+ class West {name="BLUFOR"; value=1; };
+ class East {name="OpFOR"; value=2; };
+ class Ind {name="Independant"; value=3; };
+ class Civ {name="Civilian"; value=4; };
+ };
+ };
+ };
+
+ class ModuleDescription {
+ description = "Create an IED on position."; // Short description, will be formatted as structured text
+ sync[] = {"cseModule_spawnIEDs"};
+ position = 1; // Position is taken into effect
+ direction = 0; // Direction is taken into effect
+ optional = 0; // Synced entity is optional
+ duplicate = 1; // Multiple entities of this type can be synced
+
+ class cseModule_spawnIEDs {
+ description[] = { // Multi-line descriptions are supported
+ "Synchronize ieds with other IEDs to create chain ieds.",
+ "When one of the synchronized ieds is triggered,",
+ "all other IEDs will explode as well."
+ };
+ position = 1; // Position is taken into effect
+ direction = 0; // Direction is taken into effect
+ optional = 1; // Synced entity is optional
+ duplicate = 1; // Multiple entities of this type can be synced
+ synced[] = {"cseModule_spawnIEDs"}; // Pre-define entities like "AnyBrain" can be used. See the list below
+ };
+
+ };
+ };
+ class cseModule_triggerManLinkIEDS: Module_F {
+ scope = 2;
+ displayName = "Triggerman [CSE]";
+ icon = "\cse\cse_main\data\cse_explosive_module.paa";
+ category = "cseMisc";
+ function = "cse_fnc_moduleTriggerMan_IEDS";
+ functionPriority = 1;
+ isGlobal = 0;
+ isTriggerActivated = 0;
+ class Arguments {
+ class EnableList {
+ displayName = "List";
+ description = "List of unit names that will be able to trigger the radio IED.";
+ defaultValue = "";
+ };
+ };
+
+ class ModuleDescription {
+ description = "Defines units as triggerman."; // Short description, will be formatted as structured text
+ sync[] = {"cseModule_spawnIEDs"};
+ position = 0; // Position is taken into effect
+ direction = 0; // Direction is taken into effect
+ optional = 0; // Synced entity is optional
+ duplicate = 1; // Multiple entities of this type can be synced
+
+ class cseModule_spawnIEDs {
+ description[] = { // Multi-line descriptions are supported
+ "Synchronize module with IEDs to define.",
+ "which ieds can be triggered by units listed in module,"
+ };
+ position = 0; // Position is taken into effect
+ direction = 0; // Direction is taken into effect
+ optional = 0; // Synced entity is optional
+ duplicate = 1; // Multiple entities of this type can be synced
+ synced[] = {"cseModule_spawnIEDs"}; // Pre-define entities like "AnyBrain" can be used. See the list below
+ };
+ };
+ };
+
+ class B_Kitbag_sgg;
+ class cse_thorIII_backpack: B_Kitbag_sgg {
+ scope = 1;
+ author = "Combat Space Enhancement";
+ displayName = "THOR III - Jammer";
+ };
+
+
+ // class Items_base_F;
+ // class cse_ied_pressureplate_small: Items_base_F {
+ // scope = 2;
+ // author = "Combat Space Enhancement";
+ // displayName = "Pressure Plate IED (Small)";
+ // picture = "\A3\Weapons_F\Data\UI\gear_c4_charge_small_CA.paa";
+ // descriptionShort = "Pressure Plate IED (Small)";
+ // descriptionUse = "Pressure Plate IED (Small)";
+ // model = "\A3\Weapons_F\Explosives\IED_land_small";
+ // };
+ // class cse_ied_pressureplate_large: cse_ied_pressureplate_small {
+ // scope = 2;
+ // author = "Combat Space Enhancement";
+ // displayName = "Pressure Plate IED (Large)";
+ // picture = "\A3\Weapons_F\Data\UI\gear_c4_charge_small_CA.paa";
+ // descriptionShort = "Pressure Plate IED (Large)";
+ // descriptionUse = "Pressure Plate IED (Large)";
+ // model = "\A3\Weapons_F\Explosives\IED_land_big";
+ // };
+ // class cse_ied_radio_small: cse_ied_pressureplate_small {
+ // scope = 2;
+ // author = "Combat Space Enhancement";
+ // displayName = "Radio Triggered IED (Small)";
+ // picture = "\A3\Weapons_F\Data\UI\gear_c4_charge_small_CA.paa";
+ // descriptionShort = "Radio Triggered IED (Small)";
+ // descriptionUse = "Radio Triggered IED (Small)";
+ // model = "\A3\Weapons_F\Explosives\IED_land_small";
+ // };
+ // class cse_ied_radio_large: cse_ied_radio_small {
+ // scope = 2;
+ // author = "Combat Space Enhancement";
+ // displayName = "Radio Triggered IED (Large)";
+ // picture = "\A3\Weapons_F\Data\UI\gear_c4_charge_small_CA.paa";
+ // descriptionShort = "Radio Triggered IED (Large)";
+ // descriptionUse = "Radio Triggered IED (Large)";
+ // model = "\A3\Weapons_F\Explosives\IED_land_big";
+ // };
+};
\ No newline at end of file
diff --git a/TO_MERGE/cse/sys_ieds/CfgWeapons.h b/TO_MERGE/cse/sys_ieds/CfgWeapons.h
new file mode 100644
index 0000000000..f5f8ab8adc
--- /dev/null
+++ b/TO_MERGE/cse/sys_ieds/CfgWeapons.h
@@ -0,0 +1,133 @@
+class CfgWeapons {
+ class ItemCore;
+ class InventoryItem_Base_F;
+ class cse_ied_wires: ItemCore {
+ author = "Combat Space Enhancement";
+ scope = 2;
+ displayName = "Wires (IED Material)";
+ picture = "\cse_sys_ballistics\basicBallistics\data\weatherMeter.paa";
+ descriptionShort = "Necessary material for creating an IED";
+ descriptionUse = "Used to connect the detonation device with the explosive";
+ model = "\A3\weapons_F\ammo\mag_univ.p3d";
+ class ItemInfo: InventoryItem_Base_F
+ {
+ mass=10;
+ type=201;
+ };
+ };
+ class cse_ied_explosive: ItemCore {
+ author = "Combat Space Enhancement";
+ scope = 2;
+ displayName = "Explosive Material (IED Material)";
+ picture = "\cse_sys_ballistics\basicBallistics\data\weatherMeter.paa";
+ descriptionShort = "Provides the boom.";
+ descriptionUse = "Makes the IED.";
+ model = "\A3\weapons_F\ammo\mag_univ.p3d";
+ class ItemInfo: InventoryItem_Base_F
+ {
+ mass=10;
+ type=201;
+ };
+ };
+ class cse_ied_detonator: ItemCore {
+ author = "Combat Space Enhancement";
+ scope = 2;
+ displayName = "Detonator (IED Material)";
+ picture = "\cse_sys_ballistics\basicBallistics\data\weatherMeter.paa";
+ descriptionShort = "Used to detonate the explosive.";
+ descriptionUse = "Ensures the explosives goes off when activated.";
+ model = "\A3\weapons_F\ammo\mag_univ.p3d";
+ class ItemInfo: InventoryItem_Base_F
+ {
+ mass=10;
+ type=201;
+ };
+ };
+ class cse_ied_pressure_plate: ItemCore {
+ author = "Combat Space Enhancement";
+ scope = 2;
+ displayName = "Pressure Plate (IED Material)";
+ picture = "\cse_sys_ballistics\basicBallistics\data\weatherMeter.paa";
+ descriptionShort = "Pressure plate for creating IEDs";
+ descriptionUse = "Pressure plate for creating IEDs";
+ model = "\A3\weapons_F\ammo\mag_univ.p3d";
+ class ItemInfo: InventoryItem_Base_F
+ {
+ mass=10;
+ type=201;
+ };
+ };
+ class cse_ied_reciever: ItemCore {
+ author = "Combat Space Enhancement";
+ scope = 2;
+ displayName = "Reciever (IED Material)";
+ picture = "\cse_sys_ballistics\basicBallistics\data\weatherMeter.paa";
+ descriptionShort = "Radio Reciever for creating Radio activated IEDs";
+ descriptionUse = "Radio Reciever for creating Radio activated IEDs";
+ model = "\A3\weapons_F\ammo\mag_univ.p3d";
+ class ItemInfo: InventoryItem_Base_F
+ {
+ mass=10;
+ type=201;
+ };
+ };
+
+
+ class cse_ied_pressureplate_small: ItemCore {
+ author = "Combat Space Enhancement";
+ scope = 2;
+ displayName = "Pressure Plate IED (Small)";
+ picture = "\A3\Weapons_F\Data\UI\gear_c4_charge_small_CA.paa";
+ descriptionShort = "Pressure Plate IED (Small)";
+ descriptionUse = "Pressure Plate IED (Small)";
+ model = "\A3\Weapons_F\Explosives\IED_land_small";
+ class ItemInfo: InventoryItem_Base_F
+ {
+ mass=10;
+ type=201;
+ };
+ };
+ class cse_ied_pressureplate_large: ItemCore {
+ author = "Combat Space Enhancement";
+ scope = 2;
+ displayName = "Pressure Plate IED (Large)";
+ picture = "\A3\Weapons_F\Data\UI\gear_c4_charge_small_CA.paa";
+ descriptionShort = "Pressure Plate IED (Large)";
+ descriptionUse = "Pressure Plate IED (Large)";
+ model = "\A3\Weapons_F\Explosives\IED_land_big";
+ class ItemInfo: InventoryItem_Base_F
+ {
+ mass=10;
+ type=201;
+ };
+ };
+ class cse_ied_radio_small: ItemCore {
+ author = "Combat Space Enhancement";
+ scope = 2;
+ displayName = "Radio Triggered IED (Small)";
+ picture = "\A3\Weapons_F\Data\UI\gear_c4_charge_small_CA.paa";
+ descriptionShort = "Radio Triggered IED (Small)";
+ descriptionUse = "Radio Triggered IED (Small)";
+ model = "\A3\Weapons_F\Explosives\IED_land_small";
+ class ItemInfo: InventoryItem_Base_F
+ {
+ mass=10;
+ type=201;
+ };
+ };
+ class cse_ied_radio_large: ItemCore {
+ author = "Combat Space Enhancement";
+ scope = 2;
+ displayName = "Radio Triggered IED (Large)";
+ picture = "\A3\Weapons_F\Data\UI\gear_c4_charge_small_CA.paa";
+ descriptionShort = "Radio Triggered IED (Large)";
+ descriptionUse = "Radio Triggered IED (Large)";
+ model = "\A3\Weapons_F\Explosives\IED_land_big";
+ class ItemInfo: InventoryItem_Base_F
+ {
+ mass=10;
+ type=201;
+ };
+ };
+
+};
\ No newline at end of file
diff --git a/TO_MERGE/cse/sys_ieds/Combat_Space_Enhancement.h b/TO_MERGE/cse/sys_ieds/Combat_Space_Enhancement.h
new file mode 100644
index 0000000000..1056858eaa
--- /dev/null
+++ b/TO_MERGE/cse/sys_ieds/Combat_Space_Enhancement.h
@@ -0,0 +1,8 @@
+class Combat_Space_Enhancement {
+ class cfgModules {
+ class cse_sys_ieds {
+ init = "call compile preprocessFile 'cse\cse_sys_ieds\init_sys_ieds.sqf';";
+ name = "IEDs";
+ };
+ };
+};
diff --git a/TO_MERGE/cse/sys_ieds/GUI.h b/TO_MERGE/cse/sys_ieds/GUI.h
new file mode 100644
index 0000000000..ccb85e5924
--- /dev/null
+++ b/TO_MERGE/cse/sys_ieds/GUI.h
@@ -0,0 +1,2 @@
+#include "ui\define.hpp"
+#include "ui\cellphone.hpp"
\ No newline at end of file
diff --git a/TO_MERGE/cse/sys_ieds/config.cpp b/TO_MERGE/cse/sys_ieds/config.cpp
new file mode 100644
index 0000000000..ed79dc9966
--- /dev/null
+++ b/TO_MERGE/cse/sys_ieds/config.cpp
@@ -0,0 +1,22 @@
+#define _ARMA_
+class CfgPatches
+{
+ class cse_sys_ieds
+ {
+ units[] = {"cse_thorIII_backpack" /*, "cse_ied_pressureplate_small", "cse_ied_pressureplate_large", "cse_ied_radio_small", "cse_ied_radio_large"*/};
+ weapons[] = {};
+ requiredVersion = 0.1;
+ requiredAddons[] = {"cse_f_eh","cse_main"};
+ version = "0.10.0_rc";
+ author[] = {"Combat Space Enhancement"};
+ authorUrl = "http://csemod.com";
+ };
+};
+
+#include "CfgFunctions.h"
+#include "CfgVehicles.h"
+#include "CfgWeapons.h"
+#include "CfgSounds.h"
+#include "Combat_Space_Enhancement.h"
+#include "CfgAddOns.h"
+#include "GUI.h"
\ No newline at end of file
diff --git a/TO_MERGE/cse/sys_ieds/data/cellphone_background.paa b/TO_MERGE/cse/sys_ieds/data/cellphone_background.paa
new file mode 100644
index 0000000000..0570c7d228
Binary files /dev/null and b/TO_MERGE/cse/sys_ieds/data/cellphone_background.paa differ
diff --git a/TO_MERGE/cse/sys_ieds/data/icon_cellphone.paa b/TO_MERGE/cse/sys_ieds/data/icon_cellphone.paa
new file mode 100644
index 0000000000..01ec6c683a
Binary files /dev/null and b/TO_MERGE/cse/sys_ieds/data/icon_cellphone.paa differ
diff --git a/TO_MERGE/cse/sys_ieds/functions.sqf b/TO_MERGE/cse/sys_ieds/functions.sqf
new file mode 100644
index 0000000000..0ede0250b9
--- /dev/null
+++ b/TO_MERGE/cse/sys_ieds/functions.sqf
@@ -0,0 +1,23 @@
+
+cse_fnc_spawn_ieds_IED = compile preprocessFile "cse\cse_sys_ieds\fnc_spawn_ieds.sqf";
+cse_fnc_spawn_chain_IED = compile preprocessFile "cse\cse_sys_ieds\fnc_spawn_chain.sqf";
+cse_fnc_link_chain_IED = compile preprocessFile "cse\cse_sys_ieds\fnc_link_chain.sqf";
+cse_fnc_thor3_detection_IED = compile preprocessFile "cse\cse_sys_ieds\fnc_thor3_detection.sqf";
+cse_fnc_triggerManGotVisual_IED = compile preprocessFile "cse\cse_sys_ieds\fnc_triggerManGotVisual.sqf";
+
+
+cse_fnc_checkIEDActivated_IED = compile preprocessFile "cse\cse_sys_ieds\fnc_checkIEDActivated.sqf";
+cse_fnc_checkPressurePlateActivated_IED = compile preprocessFile "cse\cse_sys_ieds\fnc_checkPressurePlateActivated.sqf";
+cse_fnc_checkRadioTriggered_IED = compile preprocessFile "cse\cse_sys_ieds\fnc_checkRadioTriggered.sqf";
+
+
+
+cse_fnc_spotterFlee_IED = compile preprocessFile "cse\cse_sys_ieds\spotter\fnc_spotterFlee.sqf";
+cse_fnc_spotterBehaviour_IED = compile preprocessFile "cse\cse_sys_ieds\spotter\fnc_spotterBehaviour.sqf";
+
+
+cse_fnc_searchGround_IED = compile preprocessFile "cse\cse_sys_ieds\fnc_searchGround.sqf";
+
+cse_fnc_broadcastTHOR3Sound = {
+ (_this select 0) say3D "beep";
+};
\ No newline at end of file
diff --git a/TO_MERGE/cse/sys_ieds/functions/fn_cellphone_detonateIED_IEDS.sqf b/TO_MERGE/cse/sys_ieds/functions/fn_cellphone_detonateIED_IEDS.sqf
new file mode 100644
index 0000000000..98a322443f
--- /dev/null
+++ b/TO_MERGE/cse/sys_ieds/functions/fn_cellphone_detonateIED_IEDS.sqf
@@ -0,0 +1,46 @@
+/**
+ * fn_cellphone_detonateIED_IEDS.sqf
+ * @Descr: N/A
+ * @Author: Glowbal
+ *
+ * @Arguments: []
+ * @Return:
+ * @PublicAPI: false
+ */
+
+private ["_display", "_iedInfo"];
+_display = uiNamespace getVariable 'cse_ied_cellphone';
+
+
+if (isnil "CSE_PLAYER_PLACED_RADIO_IEDS_IEDS") then {
+ CSE_PLAYER_PLACED_RADIO_IEDS_IEDS = [];
+};
+
+if (isnil "CSE_CELLPHONE_ADRESSBOOK_POINTER_IEDS") then {
+ CSE_CELLPHONE_ADRESSBOOK_POINTER_IEDS = 0;
+};
+
+
+if (CSE_CELLPHONE_ADRESSBOOK_POINTER_IEDS > count CSE_PLAYER_PLACED_RADIO_IEDS_IEDS) then {
+ CSE_CELLPHONE_ADRESSBOOK_POINTER_IEDS = 0;
+};
+
+if (CSE_CELLPHONE_ADRESSBOOK_POINTER_IEDS < 0) then {
+ CSE_CELLPHONE_ADRESSBOOK_POINTER_IEDS = (count CSE_PLAYER_PLACED_RADIO_IEDS_IEDS) - 1;
+};
+
+if !(CSE_PLAYER_PLACED_RADIO_IEDS_IEDS isEqualTo []) then {
+ _iedInfo = CSE_PLAYER_PLACED_RADIO_IEDS_IEDS select CSE_CELLPHONE_ADRESSBOOK_POINTER_IEDS;
+ _iedLogic = _iedInfo select 0;
+
+ if !([_iedLogic] call cse_fnc_checkIfJammed_IEDS) then {
+ if (_iedLogic distance player < 3000) then {
+ [_iedLogic] call cse_fnc_onIEDActivated_IEDS;
+ CSE_PLAYER_PLACED_RADIO_IEDS_IEDS set [CSE_CELLPHONE_ADRESSBOOK_POINTER_IEDS, objNull];
+ CSE_PLAYER_PLACED_RADIO_IEDS_IEDS = CSE_PLAYER_PLACED_RADIO_IEDS_IEDS - [objNull];
+ CSE_CELLPHONE_ADRESSBOOK_POINTER_IEDS = CSE_CELLPHONE_ADRESSBOOK_POINTER_IEDS - 1;
+ };
+ };
+};
+
+[_display] call cse_fnc_onCellPhoneOpened_IEDS;
\ No newline at end of file
diff --git a/TO_MERGE/cse/sys_ieds/functions/fn_checkIEDActivated_IEDS.sqf b/TO_MERGE/cse/sys_ieds/functions/fn_checkIEDActivated_IEDS.sqf
new file mode 100644
index 0000000000..87cee1ec8d
--- /dev/null
+++ b/TO_MERGE/cse/sys_ieds/functions/fn_checkIEDActivated_IEDS.sqf
@@ -0,0 +1,39 @@
+/**
+ * fn_checkIEDActivated_IEDS.sqf
+ * @Descr: N/A
+ * @Author: Glowbal
+ *
+ * @Arguments: []
+ * @Return:
+ * @PublicAPI: false
+ */
+
+private ["_logic","_triggered"];
+_logic = _this select 0;
+_triggered = false;
+
+switch (true) do {
+ case (_logic getvariable ["iedActivationType",0] == 0): {
+ if ([_logic] call cse_fnc_checkPressurePlateActivated_IEDS) then {
+ _triggered = true;
+ };
+ };
+ case (_logic getvariable ["iedActivationType",0] == 1): {
+ if ([_logic] call cse_fnc_checkRadioTriggered_IEDS) then {
+ _triggered = true;
+ };
+ };
+ case (_logic getvariable ["iedActivationType",0] == 2): {
+ if ([_logic] call cse_fnc_checkPressurePlateActivated_IEDS) then {
+ _triggered = true;
+ };
+ };
+ default {
+ };
+};
+
+if (_triggered) then {
+ [_logic] call cse_fnc_onIEDActivated_IEDS;
+};
+
+_triggered
\ No newline at end of file
diff --git a/TO_MERGE/cse/sys_ieds/functions/fn_checkIfJammed_IEDS.sqf b/TO_MERGE/cse/sys_ieds/functions/fn_checkIfJammed_IEDS.sqf
new file mode 100644
index 0000000000..b458572ce3
--- /dev/null
+++ b/TO_MERGE/cse/sys_ieds/functions/fn_checkIfJammed_IEDS.sqf
@@ -0,0 +1,22 @@
+/**
+ * fn_checkIfJammed_IEDS.sqf
+ * @Descr: N/A
+ * @Author: Glowbal
+ *
+ * @Arguments: []
+ * @Return:
+ * @PublicAPI: false
+ */
+
+private ["_ied", "_radioBlock", "_personsAround"];
+_ied = _this select 0;
+_radioBlock = false;
+_personsAround = (position _ied) nearEntities [["CaManBase"], 50];
+{
+ if ((backpack _x == "cse_thorIII_backpack") && {(_x getvariable ["CSE_THOR_III_PACK_ENABLED_IEDS",false])}) exitwith {
+ _radioBlock = true;
+ };
+ false;
+}count _personsAround;
+
+_radioBlock
\ No newline at end of file
diff --git a/TO_MERGE/cse/sys_ieds/functions/fn_checkPressurePlateActivated_IEDS.sqf b/TO_MERGE/cse/sys_ieds/functions/fn_checkPressurePlateActivated_IEDS.sqf
new file mode 100644
index 0000000000..cdca9dc727
--- /dev/null
+++ b/TO_MERGE/cse/sys_ieds/functions/fn_checkPressurePlateActivated_IEDS.sqf
@@ -0,0 +1,34 @@
+/**
+ * fn_checkPressurePlateActivated_IEDS.sqf
+ * @Descr: N/A
+ * @Author: Glowbal
+ *
+ * @Arguments: []
+ * @Return:
+ * @PublicAPI: false
+ */
+
+private ["_pressurePlate","_return","_list","_pos"];
+_pressurePlate = _this select 0;
+_return = false;
+
+ _pos = ASLToATL (getPosASL _pressurePlate);
+ _list = _pos nearEntities [(_pressurePlate getvariable ["activatedForTargets",["Man", "Air", "Car", "Motorcycle", "Tank"]]),3];
+ {
+ if (side _x in (_pressurePlate getvariable ["activatedForSides",[WEST]])) then {
+ if (_x isKindOf "CaManBase") then {
+ if (_x distance _pressurePlate < random(1)) then {
+ _return = true;
+ };
+ } else {
+ if (_x distance _pressurePlate < (0.5+random(3))) then {
+ _return = true;
+ };
+ };
+ };
+ if (_return) exitwith {};
+ false;
+ }count _list;
+
+_return
+
diff --git a/TO_MERGE/cse/sys_ieds/functions/fn_checkRadioTriggered_IEDS.sqf b/TO_MERGE/cse/sys_ieds/functions/fn_checkRadioTriggered_IEDS.sqf
new file mode 100644
index 0000000000..c056088b1d
--- /dev/null
+++ b/TO_MERGE/cse/sys_ieds/functions/fn_checkRadioTriggered_IEDS.sqf
@@ -0,0 +1,54 @@
+/**
+ * fn_checkRadioTriggered_IEDS.sqf
+ * @Descr: N/A
+ * @Author: Glowbal
+ *
+ * @Arguments: []
+ * @Return:
+ * @PublicAPI: false
+ */
+
+private ["_ied","_return","_list","_radioBlock","_personsAround","_targetDetected","_triggerMan"];
+_ied = _this select 0;
+_return = false;
+_targetDetected = false;
+_triggerManUnits = _ied getvariable ["cse_ieds_triggerManUnits",[]];
+if ((_triggerManUnits isEqualTo [])) exitwith{false;};
+_list = (position _ied) nearEntities [(_ied getvariable ["activatedForTargets",["CaManBase", "Air", "Car", "Motorcycle", "Tank"]]),5];
+{
+ _target = _x;
+ {
+ if ([_x, _target] call cse_fnc_triggerManGotVisual_IEDS) then {
+ if (side _target in (_ied getvariable ["activatedForSides",[WEST]])) then {
+ _targetDetected = true;
+ };
+ };
+ if (_targetDetected) exitwith {};
+ }count _triggerManUnits;
+ if (_targetDetected) exitwith {};
+}count _list;
+
+if (!(_list isEqualTo []) && _targetDetected) then {
+ _radioBlock = [_ied] call cse_fnc_checkifJammed_IEDS;
+ _nearestPerson = _list select 0;
+ _vehicleNear = false;
+ {
+ if (_ied distance _x < (_ied distance _nearestPerson)) then {
+ _nearestPerson = _x;
+ };
+ if (!(_x iskindof "CaManBase")) then {
+ _vehicleNear = true;
+ };
+ }foreach _list;
+
+ if (!_radioBlock) then {
+ if (count _list > 5) then {
+ _return = true;
+ } else {
+ if (((_nearestPerson distance _ied < 1) || _vehicleNear) && random(1) >0.985) then {
+ _return = true;
+ };
+ };
+ };
+};
+_return
diff --git a/TO_MERGE/cse/sys_ieds/functions/fn_createIEDObject_IEDS.sqf b/TO_MERGE/cse/sys_ieds/functions/fn_createIEDObject_IEDS.sqf
new file mode 100644
index 0000000000..bb4b8d5179
--- /dev/null
+++ b/TO_MERGE/cse/sys_ieds/functions/fn_createIEDObject_IEDS.sqf
@@ -0,0 +1,31 @@
+/**
+ * fn_createIEDObject_IEDS.sqf
+ * @Descr: N/A
+ * @Author: Glowbal
+ *
+ * @Arguments: []
+ * @Return:
+ * @PublicAPI: false
+ */
+
+#define LAND_IEDS ["IEDLandBig_Remote_Ammo", "IEDLandSmall_Remote_Ammo"]
+#define URBAN_IEDS ["IEDUrbanBig_Remote_Ammo", "IEDUrbanSmall_Remote_Ammo"]
+
+private ["_logic","_typeOfIED", "_sizeOfIED", "_heightOfIED", "_iedClass", "_iedCreated"];
+_logic = [_this,0,objNull,[objNull]] call BIS_fnc_param;
+
+if (isNull _logic) exitwith {
+
+};
+_typeOfIED = _logic getvariable ["typeOfIED", 0];
+_sizeOfIED = _logic getvariable ["sizeOfIED", 0];
+_heightOfIED = _logic getvariable ["heightOfIED", 0];
+
+_iedClass = switch (_typeOfIED) do {
+ case 0: { LAND_IEDS select _sizeOfIED};
+ case 1: { URBAN_IEDS select _sizeOfIED };
+};
+_iedCreated = _iedClass createVehicle (getPos _logic);
+_logic setvariable ["cse_linkedIED_IEDS",_iedCreated, true];
+_iedCreated setPos [getPos _Logic select 0, getPos _Logic select 1, (getPos _Logic select 2) + _heightOfIED];
+[format["CREATED IED: %1", _iedCreated]] call cse_fnc_debug;
\ No newline at end of file
diff --git a/TO_MERGE/cse/sys_ieds/functions/fn_moduleTriggerMan_IEDS.sqf b/TO_MERGE/cse/sys_ieds/functions/fn_moduleTriggerMan_IEDS.sqf
new file mode 100644
index 0000000000..97b9f7c3f7
--- /dev/null
+++ b/TO_MERGE/cse/sys_ieds/functions/fn_moduleTriggerMan_IEDS.sqf
@@ -0,0 +1,16 @@
+/**
+ * fn_moduleTriggerMan_IEDS.sqf
+ * @Descr: N/A
+ * @Author: Glowbal
+ *
+ * @Arguments: []
+ * @Return:
+ * @PublicAPI: false
+ */
+
+private ["_logic", "_units", "_activated", "_totalCollection", "_collection", "_collectObjects"];
+_logic = [_this,0,objNull,[objNull]] call BIS_fnc_param;
+_units = [_this,1,[],[[]]] call BIS_fnc_param;
+_activated = [_this,2,true,[true]] call BIS_fnc_param;
+
+if (!local _logic) exitwith {};
diff --git a/TO_MERGE/cse/sys_ieds/functions/fn_module_spawnIED.sqf b/TO_MERGE/cse/sys_ieds/functions/fn_module_spawnIED.sqf
new file mode 100644
index 0000000000..be7fa94fdf
--- /dev/null
+++ b/TO_MERGE/cse/sys_ieds/functions/fn_module_spawnIED.sqf
@@ -0,0 +1,84 @@
+/**
+ * fn_module_spawnIED.sqf
+ * @Descr: N/A
+ * @Author: Glowbal
+ *
+ * @Arguments: []
+ * @Return:
+ * @PublicAPI: false
+ */
+
+private ["_logic", "_units", "_activated", "_totalCollection", "_collection", "_collectObjects"];
+_logic = [_this,0,objNull,[objNull]] call BIS_fnc_param;
+_units = [_this,1,[],[[]]] call BIS_fnc_param;
+_activated = [_this,2,true,[true]] call BIS_fnc_param;
+
+if (!local _logic) exitwith {};
+
+_totalCollection = [];
+_collectObjects = {
+ private ["_logic", "_collection"];
+ _logic = _this select 0;
+ _collection = synchronizedObjects _logic;
+ {
+ if !(_x in _totalCollection) then {
+ if (typeOf _x == "cseModule_spawnIEDs") then {
+ if !(_x getvariable ["cse_master_IED", false]) then {
+ _x setvariable ["cse_subclass_IED", true];
+ _x setvariable ["cse_controlledBy_IED",_logic];
+ _totalCollection pushback _x;
+ [_x] call _collectObjects;
+ };
+ } else {
+ if (typeOf _x == "cseModule_triggerManLinkIEDS") then {
+ _list = _x getvariable ["EnableList",""];
+ _list = "[" + _list + "]";
+ _parsedList = [] call compile _list;
+ _triggerManList = (_logic getvariable ["cse_ieds_triggerManUnits", []]) + _parsedList;
+ _logic setvariable ["cse_ieds_triggerManUnits", _triggerManList];
+ [format["_triggerManList %1",_triggerManList]] call cse_fnc_debug;
+ };
+ };
+ };
+ }foreach _collection;
+};
+
+if !(_logic getvariable ["cse_subclass_IED",false]) then {
+ _logic setvariable ["cse_master_IED", true];
+ [_logic] call _collectObjects;
+ if (_logic getvariable ["cse_master_IED", false]) then {
+ _logic setvariable ["cse_iedCollection", (_logic getvariable ["cse_iedCollection",[]]) + _totalCollection];
+ [format["%1 I am a master IED. Collection is: %2", _logic, (_logic getvariable ["cse_iedCollection",[]])]] call cse_fnc_debug;
+ if (isnil "CSE_MASTER_IED_COLLECTION") then {
+ CSE_MASTER_IED_COLLECTION = [];
+ };
+ CSE_MASTER_IED_COLLECTION pushback _logic;
+ };
+};
+
+[_logic] call cse_fnc_createIEDObject_IEDS;
+
+_activatedSides = _logic getvariable ["activatedForSides", -1];
+_activatedTargets = _logic getvariable ["activatedForTargets", -1];
+
+_activatedTargets = switch (_activatedTargets) do {
+ case 0: {["CaManBase", "Air", "Car", "Motorcycle", "Tank"]};
+ case 1: {["Air", "Car", "Motorcycle", "Tank"]};
+ case 2: {["Car", "Motorcycle", "Tank"]};
+ case 3: {["Air"]};
+ case 4: {["CaManBase"]};
+ default {[]};
+};
+_logic setvariable ["activatedForTargets", _activatedTargets];
+
+_activatedSides = switch (_activatedSides) do {
+ case 0: {[west, east, independent, civilian, sideEnemy, sideFriendly]};
+ case 1: {[west, sideEnemy]};
+ case 2: {[east, sideEnemy]};
+ case 3: {[independent, sideEnemy]};
+ case 4: {[civilian, sideEnemy]};
+ default {[]};
+};
+
+_logic setvariable ["activatedForSides", _activatedSides, true];
+_logic setvariable ["iedActivationType", _logic getvariable ["iedActivationType",0], true];
\ No newline at end of file
diff --git a/TO_MERGE/cse/sys_ieds/functions/fn_monitorIEDs_IEDS.sqf b/TO_MERGE/cse/sys_ieds/functions/fn_monitorIEDs_IEDS.sqf
new file mode 100644
index 0000000000..3b9d63333c
--- /dev/null
+++ b/TO_MERGE/cse/sys_ieds/functions/fn_monitorIEDs_IEDS.sqf
@@ -0,0 +1,40 @@
+/**
+ * fn_monitorIEDs_IEDS.sqf
+ * @Descr: N/A
+ * @Author: Glowbal
+ *
+ * @Arguments: []
+ * @Return:
+ * @PublicAPI: false
+ */
+
+private ["_activated"];
+if !(isnil "CSE_MONITORING_IEDS") exitwith {};
+CSE_MONITORING_IEDS = true;
+sleep 1;
+if (isnil "CSE_MASTER_IED_COLLECTION") then {
+ CSE_MASTER_IED_COLLECTION = [];
+};
+_code = '
+ {
+ _activated = false;
+ if !([_x] call cse_fnc_checkIEDActivated_IEDS) then {
+ {
+ if ([_x] call cse_fnc_checkIEDActivated_IEDS) exitwith { _activated = true;};
+ }foreach (_x getvariable ["cse_iedCollection", []]);
+ } else {
+ _activated = true;
+ };
+ if (_activated) exitwith {
+ CSE_MASTER_IED_COLLECTION deleteAt _foreachIndex;
+ };
+ false;
+ }count CSE_MASTER_IED_COLLECTION;
+
+ false;';
+
+cse_sys_ieds_monitorIEDs_Trigger = createTrigger["EmptyDetector", [0,0,0]];
+cse_sys_ieds_monitorIEDs_Trigger setTriggerActivation ["NONE", "PRESENT", true];
+cse_sys_ieds_monitorIEDs_Trigger setTriggerTimeout [0, 0, 0, false];
+cse_sys_ieds_monitorIEDs_Trigger setTriggerStatements[_code, "", ""];
+
diff --git a/TO_MERGE/cse/sys_ieds/functions/fn_monitorPlayerIEDs_IEDS.sqf b/TO_MERGE/cse/sys_ieds/functions/fn_monitorPlayerIEDs_IEDS.sqf
new file mode 100644
index 0000000000..aa55d1203a
--- /dev/null
+++ b/TO_MERGE/cse/sys_ieds/functions/fn_monitorPlayerIEDs_IEDS.sqf
@@ -0,0 +1,40 @@
+/**
+ * fn_monitorPlayerIEDs_IEDS.sqf
+ * @Descr: Checks player placed pressure plate IEDs
+ * @Author: Glowbal
+ *
+ * @Arguments: []
+ * @Return:
+ * @PublicAPI: false
+ */
+
+
+private ["_activated"];
+if !(isnil "CSE_MONITORING_PLAYER_IEDS") exitwith {};
+CSE_MONITORING_PLAYER_IEDS = true;
+sleep 1;
+if (isnil "CSE_PLAYER_PLACED_PRESSURE_IEDS_IEDS") then {
+ CSE_PLAYER_PLACED_PRESSURE_IEDS_IEDS = [];
+};
+
+[format["CSE_MONITORING_PLAYER_IEDS"]] call cse_fnc_debug;
+_code = '
+ {
+ _activated = false;
+ if ([_X] call cse_fnc_checkPressurePlateActivated_IEDS) then {
+ _activated = true;
+ [_x] call cse_fnc_onIEDActivated_IEDS;
+ };
+ if (_activated || isNull _x) exitwith {
+ CSE_PLAYER_PLACED_PRESSURE_IEDS_IEDS deleteAt _foreachIndex;
+ };
+ false;
+ }count CSE_PLAYER_PLACED_PRESSURE_IEDS_IEDS;
+';
+
+
+cse_sys_ieds_monitorPlayerIEDs_Trigger = createTrigger["EmptyDetector", [0,0,0]];
+cse_sys_ieds_monitorPlayerIEDs_Trigger setTriggerActivation ["NONE", "PRESENT", true];
+cse_sys_ieds_monitorPlayerIEDs_Trigger setTriggerTimeout [0, 0, 0, false];
+cse_sys_ieds_monitorPlayerIEDs_Trigger setTriggerStatements[_code, "", ""];
+
diff --git a/TO_MERGE/cse/sys_ieds/functions/fn_onCellPhoneOpened_IEDS.sqf b/TO_MERGE/cse/sys_ieds/functions/fn_onCellPhoneOpened_IEDS.sqf
new file mode 100644
index 0000000000..fbd83c30f2
--- /dev/null
+++ b/TO_MERGE/cse/sys_ieds/functions/fn_onCellPhoneOpened_IEDS.sqf
@@ -0,0 +1,53 @@
+/**
+ * fn_onCellPhoneOpened_IEDS.sqf
+ * @Descr: N/A
+ * @Author: Glowbal
+ *
+ * @Arguments: []
+ * @Return:
+ * @PublicAPI: false
+ */
+
+
+private ["_display"];
+_display = uiNamespace getVariable 'cse_ied_cellphone';
+
+
+if (isnil "CSE_PLAYER_PLACED_RADIO_IEDS_IEDS") then {
+ CSE_PLAYER_PLACED_RADIO_IEDS_IEDS = [];
+};
+
+(_display displayCtrl 10) ctrlSetText "Adres book";
+
+if (isnil "CSE_CELLPHONE_ADRESSBOOK_POINTER_IEDS") then {
+ CSE_CELLPHONE_ADRESSBOOK_POINTER_IEDS = 0;
+};
+
+if (CSE_CELLPHONE_ADRESSBOOK_POINTER_IEDS > count CSE_PLAYER_PLACED_RADIO_IEDS_IEDS) then {
+ CSE_CELLPHONE_ADRESSBOOK_POINTER_IEDS = 0;
+};
+
+if (CSE_CELLPHONE_ADRESSBOOK_POINTER_IEDS < 0) then {
+ CSE_CELLPHONE_ADRESSBOOK_POINTER_IEDS = (count CSE_PLAYER_PLACED_RADIO_IEDS_IEDS) - 1;
+};
+(_display displayCtrl 12) ctrlSetText "";
+(_display displayCtrl 13) ctrlSetText "";
+(_display displayCtrl 14) ctrlSetText "";
+
+_ctrlIDC = 12;
+_cellphoneBookPointer = CSE_CELLPHONE_ADRESSBOOK_POINTER_IEDS;
+for [{_EHiterator=0}, {(_EHiterator< 3)}, {_EHiterator=_EHiterator+1}] do {
+ if (_cellphoneBookPointer >= count CSE_PLAYER_PLACED_RADIO_IEDS_IEDS) then {
+ _cellphoneBookPointer = 0;
+ };
+ if (_cellphoneBookPointer < 0) then {
+ _cellphoneBookPointer = (count CSE_PLAYER_PLACED_RADIO_IEDS_IEDS) - 1;
+ };
+ if (_EHiterator < count CSE_PLAYER_PLACED_RADIO_IEDS_IEDS) then {
+ (_display displayCtrl _ctrlIDC) ctrlSetText format["#%1", ((CSE_PLAYER_PLACED_RADIO_IEDS_IEDS select _cellphoneBookPointer) select 1)];
+ _cellphoneBookPointer = _cellphoneBookPointer + 1;
+ _ctrlIDC = _ctrlIDC + 1;
+ };
+};
+
+(_display displayCtrl 12) ctrlSetbackgroundColor [0,0,0,0.1];
diff --git a/TO_MERGE/cse/sys_ieds/functions/fn_onIEDActivated_IEDS.sqf b/TO_MERGE/cse/sys_ieds/functions/fn_onIEDActivated_IEDS.sqf
new file mode 100644
index 0000000000..2059f50f27
--- /dev/null
+++ b/TO_MERGE/cse/sys_ieds/functions/fn_onIEDActivated_IEDS.sqf
@@ -0,0 +1,46 @@
+/**
+ * fn_onIEDActivated_IEDS.sqf
+ * @Descr: N/A
+ * @Author: Glowbal
+ *
+ * @Arguments: []
+ * @Return:
+ * @PublicAPI: false
+ */
+
+private ["_logic","_chain","_iedLogic", "_trigger", "_getMasterIED"];
+_logic = [_this,0,objNull,[objNull]] call BIS_fnc_param;
+
+
+_getMasterIED = {
+ if (_logic getvariable ["cse_subclass_IED",false]) then {
+ _logic = _logic getvariable ["cse_controlledBy_IED",_logic];
+ if (_logic getvariable ["cse_subclass_IED",false]) then {
+ call _getMasterIED;
+ };
+ };
+};
+call _getMasterIED;
+
+_chain = _logic getvariable ["cse_iedCollection",[]];
+_chain pushback _logic;
+{
+ private ["_ied", "_trigger"];
+ _iedLogic = _x;
+ _trigger = _iedLogic getvariable ["cse_linkedIED_IEDS", objNull];
+ [_iedLogic,_trigger, _logic] spawn {
+ _iedLogic = _this select 0;
+ _trigger = _this select 1;
+ _master = _this select 2;
+ if (!isNull _trigger) then {
+ if (random(1)>0.5 && (_iedLogic != _master)) then {
+ uisleep (random(2));
+ };
+ //(_iedLogic getvariable ["explosiveType","R_60mm_HE"]) createVehicle (getPos _iedLogic);
+ deleteVehicle _iedLogic;
+ _trigger setDamage 1;
+ };
+ };
+}foreach _chain;
+
+[format["%1 is triggering ied chain: %1",_logic, _chain]] call cse_fnc_debug;
\ No newline at end of file
diff --git a/TO_MERGE/cse/sys_ieds/functions/fn_placeDownIED_IEDS.sqf b/TO_MERGE/cse/sys_ieds/functions/fn_placeDownIED_IEDS.sqf
new file mode 100644
index 0000000000..67021314d1
--- /dev/null
+++ b/TO_MERGE/cse/sys_ieds/functions/fn_placeDownIED_IEDS.sqf
@@ -0,0 +1,53 @@
+/**
+ * fn_placeDownIED_IEDS.sqf
+ * @Descr: Places down an IED (Player side)
+ * @Author: Glowbal
+ *
+ * @Arguments: [type NUMBER (The type of IED.), size NUMBER, activationType NUMBER (1 = radio, 0 = pressure plate)]
+ * @Return: logic LOGIC Returns the created IED logic
+ * @PublicAPI: true
+ */
+
+private ["_position", "_logic"];
+_typeOfIED = _this select 0;
+_sizeOfIED = _this select 1;
+_activationType = _this select 2;
+//_position = _this select 3;
+
+
+_position = getPos player;
+_logic = (createGroup sideLogic) createUnit ["cse_playerSpawnedIED", _position, [], 0, "FORM"];
+_logic setPos _position;
+
+_logic setvariable ["typeOfIED", _typeOfIED, true];
+_logic setvariable ["sizeOfIED", _sizeOfIED, true];
+_logic setvariable ["heightOfIED", 0, true];
+_logic setvariable ["iedActivationType", _activationType, true];
+
+[_logic] call cse_fnc_createIEDObject_IEDS;
+
+if (isnil "CSE_PLAYER_PLACED_PRESSURE_IEDS_IEDS") then {
+ CSE_PLAYER_PLACED_PRESSURE_IEDS_IEDS = [];
+};
+
+if (isnil "CSE_PLAYER_PLACED_RADIO_IEDS_IEDS") then {
+ CSE_PLAYER_PLACED_RADIO_IEDS_IEDS = [];
+};
+if (isnil "CSE_PLAYER_PLACED_RADIO_IEDS_COUNTER_IEDS") then {
+ CSE_PLAYER_PLACED_RADIO_IEDS_COUNTER_IEDS = 0;
+};
+
+if (_activationType != 1) then {
+ _logic spawn {
+ hintSilent parseText "You placed down an IED. IED will be activate in 5 seconds.";
+ uisleep 5;
+ CSE_PLAYER_PLACED_PRESSURE_IEDS_IEDS pushback _this;
+ };
+} else {
+ CSE_PLAYER_PLACED_RADIO_IEDS_COUNTER_IEDS = CSE_PLAYER_PLACED_RADIO_IEDS_COUNTER_IEDS + 1;
+ CSE_PLAYER_PLACED_RADIO_IEDS_IEDS pushback [_logic, format["IED %1",CSE_PLAYER_PLACED_RADIO_IEDS_COUNTER_IEDS]];
+};
+
+[format["fn_placeDownIED_IEDS %1", _logic]] call cse_fnc_debug;
+
+_logic
\ No newline at end of file
diff --git a/TO_MERGE/cse/sys_ieds/functions/fn_playThorIIISound_IEDS.sqf b/TO_MERGE/cse/sys_ieds/functions/fn_playThorIIISound_IEDS.sqf
new file mode 100644
index 0000000000..b736c95d9e
--- /dev/null
+++ b/TO_MERGE/cse/sys_ieds/functions/fn_playThorIIISound_IEDS.sqf
@@ -0,0 +1,11 @@
+/**
+ * fn_playThorIIISound_IEDS.sqf
+ * @Descr: N/A
+ * @Author: Glowbal
+ *
+ * @Arguments: []
+ * @Return:
+ * @PublicAPI: false
+ */
+
+(_this select 0) say3D "cse_thor3_beep1";
\ No newline at end of file
diff --git a/TO_MERGE/cse/sys_ieds/functions/fn_searchGround_IEDS.sqf b/TO_MERGE/cse/sys_ieds/functions/fn_searchGround_IEDS.sqf
new file mode 100644
index 0000000000..3564f522af
--- /dev/null
+++ b/TO_MERGE/cse/sys_ieds/functions/fn_searchGround_IEDS.sqf
@@ -0,0 +1,46 @@
+/**
+ * fn_searchGround_IEDS.sqf
+ * @Descr: N/A
+ * @Author: Glowbal
+ *
+ * @Arguments: []
+ * @Return:
+ * @PublicAPI: false
+ */
+
+#define AVAILABLE_IEDS ["cseModule_spawnIEDs", "cse_playerSpawnedIED"]
+#define MAX_SEARCH_DISTANCE 2.5
+
+private ["_unit", "_foundIEDS", "_diggedUp", "_pos", "_height"];
+_unit = [_this, 0, objNull, [objNull]] call BIS_fnc_Param;
+
+_foundIEDS = nearestObjects [_unit, AVAILABLE_IEDS, MAX_SEARCH_DISTANCE];
+_diggedUp = false;
+{
+ _ied = _x getvariable ["cse_linkedIED_IEDS", objNull];
+ if (((getPos _ied) select 2) < 0) then {
+ if (random(1)>0.1) then {
+ _diggedUp = true;
+ };
+ };
+ if (_diggedUp) exitwith{
+ _pos = getPos _ied;
+ _height = (_pos select 2) + 0.09;
+ if (_height > 0) then {
+ _height = 0;
+ };
+ _pos set[2,_height];
+ _ied setPos _pos;
+ };
+}foreach _foundIEDs;
+
+if (_unit == player) then {
+ if (_diggedUp) then {
+ _unit sidechat "You uncover some of an IED";
+ _unit sidechat format["Pos: %1",_pos];
+ } else {
+ _unit sidechat "You didn't find anything";
+ };
+};
+
+true;
\ No newline at end of file
diff --git a/TO_MERGE/cse/sys_ieds/functions/fn_thor3_detection_IEDS.sqf b/TO_MERGE/cse/sys_ieds/functions/fn_thor3_detection_IEDS.sqf
new file mode 100644
index 0000000000..d13c08809c
--- /dev/null
+++ b/TO_MERGE/cse/sys_ieds/functions/fn_thor3_detection_IEDS.sqf
@@ -0,0 +1,28 @@
+if (!isnil "CSE_LAST_TRACKER_THORBEEP_MOMENT") exitwith {};
+
+CSE_PLAY_THOR_III_SOUND_IEDS = false;
+CSE_THOR_III_PACK_ENABLED_IEDS = true;
+player setvariable ["CSE_THOR_III_PACK_ENABLED_IEDS",true,true];
+CSE_LAST_TRACKER_THORBEEP_MOMENT = time;
+_code = {
+ if ((backpack player) == "cse_thorIII_backpack" && {(player getvariable ["CSE_THOR_III_PACK_ENABLED_IEDS", false])}) then {
+ _foundIEDS = nearestObjects [player, ["cseModule_spawnIEDs", "cse_playerSpawnedIED"], 50];
+ {
+ _distanceToIED = player distance _x;
+ if (_distanceToIED < 50) exitwith {
+ if (_X getvariable ["iedActivationType",0] == 1) exitwith {
+ _timeDifference = (_distanceToIED/50) * 10 * MODIFIER_LOOP_DELAY;
+ if (time - CSE_LAST_TRACKER_THORBEEP_MOMENT >= (_timeDifference*accTime)) then {
+ CSE_LAST_TRACKER_THORBEEP_MOMENT = time;
+ playSound3D ["cse\cse_sys_ieds\sounds\beeps\03_Dull_Short_Mid.wav", player, false, getPos player, 35, 1, 10];
+ };
+ };
+ };
+ CSE_LAST_TRACKER_THORBEEP_MOMENT = time;
+ }count _foundIEDS;
+ };
+};
+
+["cse_thor3TrackerBeeping", [], _code] call cse_fnc_addTaskToPool_f;
+
+true;
\ No newline at end of file
diff --git a/TO_MERGE/cse/sys_ieds/functions/fn_triggerManGotVisual_IEDS.sqf b/TO_MERGE/cse/sys_ieds/functions/fn_triggerManGotVisual_IEDS.sqf
new file mode 100644
index 0000000000..fd400be10b
--- /dev/null
+++ b/TO_MERGE/cse/sys_ieds/functions/fn_triggerManGotVisual_IEDS.sqf
@@ -0,0 +1,22 @@
+/**
+ * fn_triggerManGotVisual_IEDS.sqf
+ * @Descr: N/A
+ * @Author: Glowbal
+ *
+ * @Arguments: []
+ * @Return:
+ * @PublicAPI: false
+ */
+
+private ["_triggerMan","_obj","_return"];
+_triggerMan = _this select 0;
+_obj = _this select 1;
+_return = false;
+
+if (!(_triggerMan getvariable ["cse_ieds_SpotterFleeing_IEDS",false]) && _triggerMan != _obj && alive _triggerMan) then {
+ if (_obj distance _triggerMan <350) then {
+ _triggerMan doWatch _obj;
+ _return = !(lineIntersects [eyePos _triggerMan, getPos _obj,_triggerMan]);
+ };
+};
+_return
\ No newline at end of file
diff --git a/TO_MERGE/cse/sys_ieds/icon.paa b/TO_MERGE/cse/sys_ieds/icon.paa
new file mode 100644
index 0000000000..976f316c8e
Binary files /dev/null and b/TO_MERGE/cse/sys_ieds/icon.paa differ
diff --git a/TO_MERGE/cse/sys_ieds/init_sys_ieds.sqf b/TO_MERGE/cse/sys_ieds/init_sys_ieds.sqf
new file mode 100644
index 0000000000..a123a5ca36
--- /dev/null
+++ b/TO_MERGE/cse/sys_ieds/init_sys_ieds.sqf
@@ -0,0 +1,37 @@
+/**
+ * init_sys_ieds.sqf
+ * @Descr: N/A
+ * @Author: Glowbal
+ *
+ * @Arguments: []
+ * @Return:
+ * @PublicAPI: false
+ */
+
+#define IED_ICON "\A3\Weapons_F\Data\UI\gear_c4_charge_small_CA.paa"
+
+if (isServer) then {
+ call cse_fnc_monitorIEDS_IEDS;
+};
+
+if (hasInterface) then {
+ CSE_THOR_III_PACK_ENABLED_IEDS = true;
+ call cse_fnc_thor3_detection_IEDS;
+ call cse_fnc_monitorPlayerIEDS_IEDS;
+};
+
+waituntil{!isnil "cse_gui"};
+
+_entries = [
+ ["Pressure Plate (S)", {([player,"cse_ied_pressureplate_small"] call cse_fnc_hasItem)}, IED_ICON, {closeDialog 0; [0, 1, 0] call cse_fnc_placeDownIED_IEDS; player removeItem "cse_ied_pressureplate_small";}, "Place Pressure plate IED (Small)"],
+
+ ["Pressure Plate (M)", {([player,"cse_ied_pressureplate_large"] call cse_fnc_hasItem)}, IED_ICON, {closeDialog 0; [0, 0, 0] call cse_fnc_placeDownIED_IEDS; player removeItem "cse_ied_pressureplate_large";}, "Place Pressure plate IED (Large)"],
+
+ ["Radio (S)", {([player,"cse_ied_radio_small"] call cse_fnc_hasItem)}, IED_ICON, {closeDialog 0; [0, 1, 1] call cse_fnc_placeDownIED_IEDS; player removeItem "cse_ied_radio_small";}, "Place Radio IED (Small)"],
+ ["Radio (M)", {([player,"cse_ied_radio_large"] call cse_fnc_hasItem)}, IED_ICON, {closeDialog 0; [0, 0, 1] call cse_fnc_placeDownIED_IEDS; player removeItem "cse_ied_radio_large";}, "Place Radio IED (Large)"],
+ ["Cell Phone", {([player,"cse_oldphone"] call cse_fnc_hasItem)}, "cse\cse_sys_ieds\data\icon_cellphone.paa", {closeDialog 0; createDialog "cse_ied_cellphone";}, "Use Cell Phone Trigger"]
+];
+
+["ActionMenu","equipment", _entries ] call cse_fnc_addMultipleEntriesToRadialCategory_F;
+
+true;
\ No newline at end of file
diff --git a/TO_MERGE/cse/sys_ieds/sounds/beeps/03_Dull_Short_Mid.wav b/TO_MERGE/cse/sys_ieds/sounds/beeps/03_Dull_Short_Mid.wav
new file mode 100644
index 0000000000..b8ad2067ba
Binary files /dev/null and b/TO_MERGE/cse/sys_ieds/sounds/beeps/03_Dull_Short_Mid.wav differ
diff --git a/TO_MERGE/cse/sys_ieds/stringtable.xml b/TO_MERGE/cse/sys_ieds/stringtable.xml
new file mode 100644
index 0000000000..0eb106e300
--- /dev/null
+++ b/TO_MERGE/cse/sys_ieds/stringtable.xml
@@ -0,0 +1,28 @@
+
+
+
+
+
+
+ Pressure Plate IED (Small)
+ IED z zapalnikiem naciskowym (mały)
+ IED Placa de Presión (Pequeño)
+
+
+ Pressure Plate IED (Large)
+ IED z zapalnikiem naciskowym (duży)
+ IED Placa de Presión (Grande)
+
+
+ Radio IED (Small)
+ IED z zapalnikiem radiowym (mały)
+ IED Activación remota (Pequeño)
+
+
+ Radio IED (Large)
+ IED z zapalnikiem radiowym (duży)
+ IED Activación remota (Grande)
+
+
+
+
diff --git a/TO_MERGE/cse/sys_ieds/ui/cellphone.hpp b/TO_MERGE/cse/sys_ieds/ui/cellphone.hpp
new file mode 100644
index 0000000000..72126be1ca
--- /dev/null
+++ b/TO_MERGE/cse/sys_ieds/ui/cellphone.hpp
@@ -0,0 +1,111 @@
+class cse_ied_cellphone {
+ idd = 754321;
+ movingEnable = true;
+ onLoad = "uiNamespace setVariable ['cse_ied_cellphone', _this select 0]; [_this] call cse_fnc_onCellPhoneOpened_IEDS; ['CSE_RADIAL_MENU', false] call cse_fnc_gui_blurScreen;";
+ onUnload = "";
+
+ class controlsBackground {
+ class cse_background : cse_gui_backgroundBase {
+ idc = -1;
+ x = "0 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
+ y = "5 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
+ w = "15 * (((safezoneW / safezoneH) min 1.2) / 40)";
+ h = "30 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
+ text = "cse\cse_sys_ieds\data\cellphone_background.paa";
+ };
+ };
+ class controls {
+ class labelTextMenu : cse_gui_staticBase {
+ idc = 10;
+ x = "5 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
+ y = "18.5 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
+ w = "5.5 * (((safezoneW / safezoneH) min 1.2) / 40)";
+ h = "1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
+ SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.7)";
+ text = "SERVICE";
+ colorBackground[] = {0,0,0,0.0};
+ colorText[] = {0.0, 0.0, 0.0, 1.0};
+ style = ST_CENTER;
+ };
+ class labelTextLineOne : labelTextMenu {
+ idc = 11;
+ x = "5 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
+ y = "19.5 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
+ w = "5.5 * (((safezoneW / safezoneH) min 1.2) / 40)";
+ h = "0.6 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
+ SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.6)";
+ text = "";
+ style = ST_LEFT;
+ };
+ class labelTextLineTwo : labelTextLineOne {
+ idc = 12;
+ y = "20.3 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
+ text = "";
+ };
+ class labelTextLineThree : labelTextLineOne {
+ idc = 13;
+ y = "21 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
+ text = "";
+ };
+ class labelTextLineFour : labelTextLineOne {
+ idc = 14;
+ y = "21.7 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
+ text = "";
+ };
+
+
+ class actionCenter : cse_gui_buttonBase {
+ idc = 30;
+ text = "";
+ x = "6.5 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
+ y = "23 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
+ w = "2.5 * (((safezoneW / safezoneH) min 1.2) / 40)";
+ h = "1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
+ animTextureNormal = "#(argb,8,8,3)color(0,0,0,0.0)";
+ animTextureDisabled = "#(argb,8,8,3)color(0,0,0,0.0)";
+ animTextureOver = "#(argb,8,8,3)color(1,1,1,0.0)";
+ animTextureFocused = "#(argb,8,8,3)color(1,1,1,0.0)";
+ animTexturePressed = "#(argb,8,8,3)color(1,1,1,0.0)";
+ animTextureDefault = "#(argb,8,8,3)color(1,1,1,0.0)";
+ color[] = {1, 1, 1, 1};
+ color2[] = {0,0,0, 1};
+ colorBackgroundFocused[] = {1,1,1,1};
+ colorBackground[] = {1,1,1,1};
+ colorbackground2[] = {1,1,1,1};
+ colorDisabled[] = {0.5,0.5,0.5,0.8};
+ colorFocused[] = {0,0,0,1};
+ periodFocus = 1;
+ periodOver = 1;
+ action = "[] call cse_fnc_cellphone_detonateIED_IEDS;";
+ };
+
+ class actionButtonLeft : actionCenter {
+ idc = 31;
+ text = "";
+ x = "5 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
+ y = "24 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
+ w = "0.9 * (((safezoneW / safezoneH) min 1.2) / 40)";
+ h = "0.9 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
+ action = "";
+ };
+ class actionButtonRight_downwards : actionButtonLeft {
+ idc = 32;
+ text = "";
+ x = "8.3 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
+ y = "24.5 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
+ w = "0.9 * (((safezoneW / safezoneH) min 1.2) / 40)";
+ h = "0.9 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
+ action = "CSE_CELLPHONE_ADRESSBOOK_POINTER_IEDS = CSE_CELLPHONE_ADRESSBOOK_POINTER_IEDS - 1; [_this] call cse_fnc_onCellPhoneOpened_IEDS;";
+ };
+ class actionButtonRight_up : actionButtonRight_downwards {
+ idc = 32;
+ text = "";
+ x = "9.3 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
+ y = "23.75 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
+ w = "0.9 * (((safezoneW / safezoneH) min 1.2) / 40)";
+ h = "0.9 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
+ action = "CSE_CELLPHONE_ADRESSBOOK_POINTER_IEDS = CSE_CELLPHONE_ADRESSBOOK_POINTER_IEDS + 1; [_this] call cse_fnc_onCellPhoneOpened_IEDS;";
+ };
+
+ };
+};
diff --git a/TO_MERGE/cse/sys_ieds/ui/createIED.hpp b/TO_MERGE/cse/sys_ieds/ui/createIED.hpp
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/TO_MERGE/cse/sys_ieds/ui/define.hpp b/TO_MERGE/cse/sys_ieds/ui/define.hpp
new file mode 100644
index 0000000000..c521de470f
--- /dev/null
+++ b/TO_MERGE/cse/sys_ieds/ui/define.hpp
@@ -0,0 +1,797 @@
+
+#ifndef CSE_DEFINE_H
+#define CSE_DEFINE_H
+// define.hpp
+
+#define true 1
+#define false 0
+
+#define CT_STATIC 0
+#define CT_BUTTON 1
+#define CT_EDIT 2
+#define CT_SLIDER 3
+#define CT_COMBO 4
+#define CT_LISTBOX 5
+#define CT_TOOLBOX 6
+#define CT_CHECKBOXES 7
+#define CT_PROGRESS 8
+#define CT_HTML 9
+#define CT_STATIC_SKEW 10
+#define CT_ACTIVETEXT 11
+#define CT_TREE 12
+#define CT_STRUCTURED_TEXT 13
+#define CT_CONTEXT_MENU 14
+#define CT_CONTROLS_GROUP 15
+#define CT_SHORTCUTBUTTON 16
+#define CT_XKEYDESC 40
+#define CT_XBUTTON 41
+#define CT_XLISTBOX 42
+#define CT_XSLIDER 43
+#define CT_XCOMBO 44
+#define CT_ANIMATED_TEXTURE 45
+#define CT_OBJECT 80
+#define CT_OBJECT_ZOOM 81
+#define CT_OBJECT_CONTAINER 82
+#define CT_OBJECT_CONT_ANIM 83
+#define CT_LINEBREAK 98
+#define CT_ANIMATED_USER 99
+#define CT_MAP 100
+#define CT_MAP_MAIN 101
+#define CT_LISTNBOX 102
+
+// Static styles
+#define ST_POS 0x0F
+#define ST_HPOS 0x03
+#define ST_VPOS 0x0C
+#define ST_LEFT 0x00
+#define ST_RIGHT 0x01
+#define ST_CENTER 0x02
+#define ST_DOWN 0x04
+#define ST_UP 0x08
+#define ST_VCENTER 0x0c
+
+#define ST_TYPE 0xF0
+#define ST_SINGLE 0
+#define ST_MULTI 16
+#define ST_TITLE_BAR 32
+#define ST_PICTURE 48
+#define ST_FRAME 64
+#define ST_BACKGROUND 80
+#define ST_GROUP_BOX 96
+#define ST_GROUP_BOX2 112
+#define ST_HUD_BACKGROUND 128
+#define ST_TILE_PICTURE 144
+#define ST_WITH_RECT 160
+#define ST_LINE 176
+
+#define ST_SHADOW 0x100
+#define ST_NO_RECT 0x200 // this style works for CT_STATIC in conjunction with ST_MULTI
+#define ST_KEEP_ASPECT_RATIO 0x800
+
+#define ST_TITLE ST_TITLE_BAR + ST_CENTER
+
+// Slider styles
+#define SL_DIR 0x400
+#define SL_VERT 0
+#define SL_HORZ 0x400
+
+#define SL_TEXTURES 0x10
+
+// Listbox styles
+#define LB_TEXTURES 0x10
+#define LB_MULTI 0x20
+#define FontCSE "PuristaMedium"
+
+class cse_gui_backgroundBase {
+ type = CT_STATIC;
+ idc = -1;
+ style = ST_PICTURE;
+ colorBackground[] = {0,0,0,0};
+ colorText[] = {1, 1, 1, 1};
+ font = FontCSE;
+ text = "";
+ sizeEx = 0.032;
+};
+class cse_gui_editBase
+{
+ access = 0;
+ type = 2;
+ x = 0;
+ y = 0;
+ h = 0.04;
+ w = 0.2;
+ colorBackground[] =
+ {
+ 0,
+ 0,
+ 0,
+ 1
+ };
+ colorText[] =
+ {
+ 0.95,
+ 0.95,
+ 0.95,
+ 1
+ };
+ colorSelection[] =
+ {
+ "(profilenamespace getvariable ['GUI_BCG_RGB_R',0.3843])",
+ "(profilenamespace getvariable ['GUI_BCG_RGB_G',0.7019])",
+ "(profilenamespace getvariable ['GUI_BCG_RGB_B',0.8862])",
+ 1
+ };
+ autocomplete = "";
+ text = "";
+ size = 0.2;
+ style = "0x00 + 0x40";
+ font = "PuristaMedium";
+ shadow = 2;
+ sizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";
+ colorDisabled[] =
+ {
+ 1,
+ 1,
+ 1,
+ 0.25
+ };
+};
+
+
+
+class cse_gui_buttonBase {
+ idc = -1;
+ type = 16;
+ style = ST_LEFT;
+ text = "";
+ action = "";
+ x = 0.0;
+ y = 0.0;
+ w = 0.25;
+ h = 0.04;
+ size = 0.03921;
+ sizeEx = 0.03921;
+ color[] = {1.0, 1.0, 1.0, 1};
+ color2[] = {1.0, 1.0, 1.0, 1};
+ /*colorBackground[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.69])","(profilenamespace getvariable ['GUI_BCG_RGB_G',0.75])","(profilenamespace getvariable ['GUI_BCG_RGB_B',0.5])", "(profilenamespace getvariable ['GUI_BCG_RGB_A',0.5])"};
+ colorbackground2[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.69])","(profilenamespace getvariable ['GUI_BCG_RGB_G',0.75])","(profilenamespace getvariable ['GUI_BCG_RGB_B',0.5])", 0.4};
+ colorDisabled[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.69])","(profilenamespace getvariable ['GUI_BCG_RGB_G',0.75])","(profilenamespace getvariable ['GUI_BCG_RGB_B',0.5])", 0.25};
+ colorFocused[] = {"(profilenamespace getvariable ['IGUI_TEXT_RGB_R',0])","(profilenamespace getvariable ['IGUI_TEXT_RGB_G',1])","(profilenamespace getvariable ['IGUI_TEXT_RGB_B',1])","(profilenamespace getvariable ['IGUI_TEXT_RGB_A',0.8])", 0.8};
+ colorBackgroundFocused[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.69])","(profilenamespace getvariable ['GUI_BCG_RGB_G',0.75])","(profilenamespace getvariable ['GUI_BCG_RGB_B',0.5])", 0.8};
+ */
+
+ colorBackground[] = {1,1,1,0.95};
+ colorbackground2[] = {1,1,1,0.95};
+ colorDisabled[] = {1,1,1,0.6};
+ colorFocused[] = {1,1,1,1};
+ colorBackgroundFocused[] = {1,1,1,1};
+ periodFocus = 1.2;
+ periodOver = 0.8;
+ default = false;
+ class HitZone {
+ left = 0.00;
+ top = 0.00;
+ right = 0.00;
+ bottom = 0.00;
+ };
+
+ class ShortcutPos {
+ left = 0.00;
+ top = 0.00;
+ w = 0.00;
+ h = 0.00;
+ };
+
+ class TextPos {
+ left = 0.002;
+ top = 0.0004;
+ right = 0.0;
+ bottom = 0.00;
+ };
+ textureNoShortcut = "";
+ animTextureNormal = "cse\cse_gui\data\buttonNormal_gradient_top.paa";
+ animTextureDisabled = "cse\cse_gui\data\buttonDisabled_gradient.paa";
+ animTextureOver = "cse\cse_gui\data\buttonNormal_gradient_top.paa";
+ animTextureFocused = "cse\cse_gui\data\buttonNormal_gradient_top.paa";
+ animTexturePressed = "cse\cse_gui\data\buttonNormal_gradient_top.paa";
+ animTextureDefault = "cse\cse_gui\data\buttonNormal_gradient_top.paa";
+ period = 0.5;
+ font = FontCSE;
+ soundClick[] = {"\A3\ui_f\data\sound\RscButton\soundClick",0.09,1};
+ soundPush[] = {"\A3\ui_f\data\sound\RscButton\soundPush",0.0,0};
+ soundEnter[] = {"\A3\ui_f\data\sound\RscButton\soundEnter",0.07,1};
+ soundEscape[] = {"\A3\ui_f\data\sound\RscButton\soundEscape",0.09,1};
+ class Attributes {
+ font = FontCSE;
+ color = "#E5E5E5";
+ align = "center";
+ shadow = "true";
+ };
+ class AttributesImage {
+ font = FontCSE;
+ color = "#E5E5E5";
+ align = "left";
+ shadow = "true";
+ };
+};
+
+class cse_gui_RscProgress {
+ type = 8;
+ style = 0;
+ colorFrame[] = {1,1,1,0.7};
+ colorBar[] = {1,1,1,0.7};
+ texture = "#(argb,8,8,3)color(1,1,1,0.7)";
+ x = "1 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
+ y = "10 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
+ w = "38 * (((safezoneW / safezoneH) min 1.2) / 40)";
+ h = "0.5 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
+};
+
+
+class cse_gui_staticBase {
+ idc = -1;
+ type = CT_STATIC;
+ x = 0.0;
+ y = 0.0;
+ w = 0.183825;
+ h = 0.104575;
+ style = ST_LEFT;
+ font = FontCSE;
+ sizeEx = 0.03921;
+ colorText[] = {0.95, 0.95, 0.95, 1.0};
+ colorBackground[] = {0, 0, 0, 0};
+ text = "";
+};
+
+class RscListBox;
+class cse_gui_listBoxBase : RscListBox{
+ type = CT_LISTBOX;
+ style = ST_MULTI;
+ font = FontCSE;
+ sizeEx = 0.03921;
+ color[] = {1, 1, 1, 1};
+ colorText[] = {0.543, 0.5742, 0.4102, 1.0};
+ colorScrollbar[] = {0.95, 0.95, 0.95, 1};
+ colorSelect[] = {0.95, 0.95, 0.95, 1};
+ colorSelect2[] = {0.95, 0.95, 0.95, 1};
+ colorSelectBackground[] = {0, 0, 0, 1};
+ colorSelectBackground2[] = {0.543, 0.5742, 0.4102, 1.0};
+ colorDisabled[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.69])","(profilenamespace getvariable ['GUI_BCG_RGB_G',0.75])","(profilenamespace getvariable ['GUI_BCG_RGB_B',0.5])", 0.25};
+ period = 1.2;
+ rowHeight = 0.03;
+ colorBackground[] = {0, 0, 0, 1};
+ maxHistoryDelay = 1.0;
+ autoScrollSpeed = -1;
+ autoScrollDelay = 5;
+ autoScrollRewind = 0;
+ soundSelect[] = {"",0.1,1};
+ soundExpand[] = {"",0.1,1};
+ soundCollapse[] = {"",0.1,1};
+ class ListScrollBar {
+ arrowEmpty = "\A3\ui_f\data\gui\cfg\scrollbar\arrowEmpty_ca.paa";
+ arrowFull = "\A3\ui_f\data\gui\cfg\scrollbar\arrowFull_ca.paa";
+ autoScrollDelay = 5;
+ autoScrollEnabled = 0;
+ autoScrollRewind = 0;
+ autoScrollSpeed = -1;
+ border = "\A3\ui_f\data\gui\cfg\scrollbar\border_ca.paa";
+ color[] = {1,1,1,0.6};
+ colorActive[] = {1,1,1,1};
+ colorDisabled[] = {1,1,1,0.3};
+ height = 0;
+ scrollSpeed = 0.06;
+ shadow = 0;
+ thumb = "\A3\ui_f\data\gui\cfg\scrollbar\thumb_ca.paa";
+ width = 0;
+ };
+ class ScrollBar {
+ color[] = {1, 1, 1, 0.6};
+ colorActive[] = {1, 1, 1, 1};
+ colorDisabled[] = {1, 1, 1, 0.3};
+ thumb = "";
+ arrowFull = "";
+ arrowEmpty = "";
+ border = "";
+ };
+};
+
+
+class cse_gui_listNBox {
+ access = 0;
+ type = CT_LISTNBOX;// 102;
+ style =ST_MULTI;
+ w = 0.4;
+ h = 0.4;
+ font = FontCSE;
+ sizeEx = 0.031;
+
+ autoScrollSpeed = -1;
+ autoScrollDelay = 5;
+ autoScrollRewind = 0;
+ arrowEmpty = "#(argb,8,8,3)color(1,1,1,1)";
+ arrowFull = "#(argb,8,8,3)color(1,1,1,1)";
+ columns[] = {0.0};
+ color[] = {1, 1, 1, 1};
+
+ rowHeight = 0.03;
+ colorBackground[] = {0, 0, 0, 0.2};
+ colorText[] = {1,1, 1, 1.0};
+ colorScrollbar[] = {0.95, 0.95, 0.95, 1};
+ colorSelect[] = {0.95, 0.95, 0.95, 1};
+ colorSelect2[] = {0.95, 0.95, 0.95, 1};
+ colorSelectBackground[] = {0, 0, 0, 0.0};
+ colorSelectBackground2[] = {0.0, 0.0, 0.0, 0.5};
+ colorActive[] = {0,0,0,1};
+ colorDisabled[] = {0,0,0,0.3};
+ rows = 1;
+
+ drawSideArrows = 0;
+ idcLeft = -1;
+ idcRight = -1;
+ maxHistoryDelay = 1;
+ soundSelect[] = {"", 0.1, 1};
+ period = 1;
+ shadow = 2;
+ class ScrollBar {
+ arrowEmpty = "#(argb,8,8,3)color(1,1,1,1)";
+ arrowFull = "#(argb,8,8,3)color(1,1,1,1)";
+ border = "#(argb,8,8,3)color(1,1,1,1)";
+ color[] = {1,1,1,0.6};
+ colorActive[] = {1,1,1,1};
+ colorDisabled[] = {1,1,1,0.3};
+ thumb = "#(argb,8,8,3)color(1,1,1,1)";
+ };
+ class ListScrollBar {
+ arrowEmpty = "\A3\ui_f\data\gui\cfg\scrollbar\arrowEmpty_ca.paa";
+ arrowFull = "\A3\ui_f\data\gui\cfg\scrollbar\arrowFull_ca.paa";
+ autoScrollDelay = 5;
+ autoScrollEnabled = 0;
+ autoScrollRewind = 0;
+ autoScrollSpeed = -1;
+ border = "\A3\ui_f\data\gui\cfg\scrollbar\border_ca.paa";
+ color[] = {1,1,1,0.6};
+ colorActive[] = {1,1,1,1};
+ colorDisabled[] = {1,1,1,0.3};
+ height = 0;
+ scrollSpeed = 0.06;
+ shadow = 0;
+ thumb = "\A3\ui_f\data\gui\cfg\scrollbar\thumb_ca.paa";
+ width = 0;
+ };
+};
+
+
+class RscCombo;
+class cse_gui_comboBoxBase: RscCombo {
+ idc = -1;
+ type = 4;
+ style = "0x10 + 0x200";
+ x = 0;
+ y = 0;
+ w = 0.3;
+ h = 0.035;
+ color[] = {0,0,0,0.6};
+ colorActive[] = {1,0,0,1};
+ colorBackground[] = {0,0,0,1};
+ colorDisabled[] = {1,1,1,0.25};
+ colorScrollbar[] = {1,0,0,1};
+ colorSelect[] = {0,0,0,1};
+ colorSelectBackground[] = {1,1,1,0.7};
+ colorText[] = {1,1,1,1};
+
+ arrowEmpty = "";
+ arrowFull = "";
+ wholeHeight = 0.45;
+ font = FontCSE;
+ sizeEx = 0.031;
+ soundSelect[] = {"\A3\ui_f\data\sound\RscCombo\soundSelect",0.1,1};
+ soundExpand[] = {"\A3\ui_f\data\sound\RscCombo\soundExpand",0.1,1};
+ soundCollapse[] = {"\A3\ui_f\data\sound\RscCombo\soundCollapse",0.1,1};
+ maxHistoryDelay = 1.0;
+ class ScrollBar
+ {
+ color[] = {0.3,0.3,0.3,0.6};
+ colorActive[] = {0.3,0.3,0.3,1};
+ colorDisabled[] = {0.3,0.3,0.3,0.3};
+ thumb = "\A3\ui_f\data\gui\cfg\scrollbar\thumb_ca.paa";
+ arrowEmpty = "\A3\ui_f\data\gui\cfg\scrollbar\arrowEmpty_ca.paa";
+ arrowFull = "\A3\ui_f\data\gui\cfg\scrollbar\arrowFull_ca.paa";
+ border = "";
+ };
+ class ComboScrollBar {
+ arrowEmpty = "\A3\ui_f\data\gui\cfg\scrollbar\arrowEmpty_ca.paa";
+ arrowFull = "\A3\ui_f\data\gui\cfg\scrollbar\arrowFull_ca.paa";
+ autoScrollDelay = 5;
+ autoScrollEnabled = 0;
+ autoScrollRewind = 0;
+ autoScrollSpeed = -1;
+ border = "\A3\ui_f\data\gui\cfg\scrollbar\border_ca.paa";
+ color[] = {0.3,0.3,0.3,0.6};
+ colorActive[] = {0.3,0.3,0.3,1};
+ colorDisabled[] = {0.3,0.3,0.3,0.3};
+ height = 0;
+ scrollSpeed = 0.06;
+ shadow = 0;
+ thumb = "\A3\ui_f\data\gui\cfg\scrollbar\thumb_ca.paa";
+ width = 0;
+ };
+};
+
+
+
+class cse_gui_mapBase {
+ moveOnEdges = 1;
+ x = "SafeZoneXAbs";
+ y = "SafeZoneY + 1.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
+ w = "SafeZoneWAbs";
+ h = "SafeZoneH - 1.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
+ type = 100; // Use 100 to hide markers
+ style = 48;
+ shadow = 0;
+
+ ptsPerSquareSea = 5;
+ ptsPerSquareTxt = 3;
+ ptsPerSquareCLn = 10;
+ ptsPerSquareExp = 10;
+ ptsPerSquareCost = 10;
+ ptsPerSquareFor = 9;
+ ptsPerSquareForEdge = 9;
+ ptsPerSquareRoad = 6;
+ ptsPerSquareObj = 9;
+ showCountourInterval = 0;
+ scaleMin = 0.001;
+ scaleMax = 1.0;
+ scaleDefault = 0.16;
+ maxSatelliteAlpha = 0.85;
+ alphaFadeStartScale = 0.35;
+ alphaFadeEndScale = 0.4;
+ colorBackground[] = {0.969,0.957,0.949,1.0};
+ colorSea[] = {0.467,0.631,0.851,0.5};
+ colorForest[] = {0.624,0.78,0.388,0.5};
+ colorForestBorder[] = {0.0,0.0,0.0,0.0};
+ colorRocks[] = {0.0,0.0,0.0,0.3};
+ colorRocksBorder[] = {0.0,0.0,0.0,0.0};
+ colorLevels[] = {0.286,0.177,0.094,0.5};
+ colorMainCountlines[] = {0.572,0.354,0.188,0.5};
+ colorCountlines[] = {0.572,0.354,0.188,0.25};
+ colorMainCountlinesWater[] = {0.491,0.577,0.702,0.6};
+ colorCountlinesWater[] = {0.491,0.577,0.702,0.3};
+ colorPowerLines[] = {0.1,0.1,0.1,1.0};
+ colorRailWay[] = {0.8,0.2,0.0,1.0};
+ colorNames[] = {0.1,0.1,0.1,0.9};
+ colorInactive[] = {1.0,1.0,1.0,0.5};
+ colorOutside[] = {0.0,0.0,0.0,1.0};
+ colorTracks[] = {0.84,0.76,0.65,0.15};
+ colorTracksFill[] = {0.84,0.76,0.65,1.0};
+ colorRoads[] = {0.7,0.7,0.7,1.0};
+ colorRoadsFill[] = {1.0,1.0,1.0,1.0};
+ colorMainRoads[] = {0.9,0.5,0.3,1.0};
+ colorMainRoadsFill[] = {1.0,0.6,0.4,1.0};
+ colorGrid[] = {0.1,0.1,0.1,0.6};
+ colorGridMap[] = {0.1,0.1,0.1,0.6};
+ colorText[] = {1, 1, 1, 0.85};
+font = "PuristaMedium";
+sizeEx = 0.0270000;
+stickX[] = {0.20, {"Gamma", 1.00, 1.50} };
+stickY[] = {0.20, {"Gamma", 1.00, 1.50} };
+onMouseButtonClick = "";
+onMouseButtonDblClick = "";
+
+ fontLabel = "PuristaMedium";
+ sizeExLabel = "( ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.8)";
+ fontGrid = "TahomaB";
+ sizeExGrid = 0.02;
+ fontUnits = "TahomaB";
+ sizeExUnits = "( ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.8)";
+ fontNames = "PuristaMedium";
+ sizeExNames = "( ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.8) * 2";
+ fontInfo = "PuristaMedium";
+ sizeExInfo = "( ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.8)";
+ fontLevel = "TahomaB";
+ sizeExLevel = 0.02;
+ text = "#(argb,8,8,3)color(1,1,1,1)";
+ class ActiveMarker {
+ color[] = {0.30, 0.10, 0.90, 1.00};
+ size = 50;
+ };
+ class Legend
+ {
+ x = "SafeZoneX + ( ((safezoneW / safezoneH) min 1.2) / 40)";
+ y = "SafeZoneY + safezoneH - 4.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
+ w = "10 * ( ((safezoneW / safezoneH) min 1.2) / 40)";
+ h = "3.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
+ font = "PuristaMedium";
+ sizeEx = "( ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.8)";
+ colorBackground[] = {1,1,1,0.5};
+ color[] = {0,0,0,1};
+ };
+ class Task
+ {
+ icon = "\A3\ui_f\data\map\mapcontrol\taskIcon_CA.paa";
+ iconCreated = "\A3\ui_f\data\map\mapcontrol\taskIconCreated_CA.paa";
+ iconCanceled = "\A3\ui_f\data\map\mapcontrol\taskIconCanceled_CA.paa";
+ iconDone = "\A3\ui_f\data\map\mapcontrol\taskIconDone_CA.paa";
+ iconFailed = "\A3\ui_f\data\map\mapcontrol\taskIconFailed_CA.paa";
+ color[] = {"(profilenamespace getvariable ['IGUI_TEXT_RGB_R',0])","(profilenamespace getvariable ['IGUI_TEXT_RGB_G',1])","(profilenamespace getvariable ['IGUI_TEXT_RGB_B',1])","(profilenamespace getvariable ['IGUI_TEXT_RGB_A',0.8])"};
+ colorCreated[] = {1,1,1,1};
+ colorCanceled[] = {0.7,0.7,0.7,1};
+ colorDone[] = {0.7,1,0.3,1};
+ colorFailed[] = {1,0.3,0.2,1};
+ size = 27;
+ importance = 1;
+ coefMin = 1;
+ coefMax = 1;
+ };
+ class Waypoint
+ {
+ icon = "\A3\ui_f\data\map\mapcontrol\waypoint_ca.paa";
+ color[] = {0,0,0,1};
+ size = 20;
+ importance = "1.2 * 16 * 0.05";
+ coefMin = 0.900000;
+ coefMax = 4;
+ };
+ class WaypointCompleted
+ {
+ icon = "\A3\ui_f\data\map\mapcontrol\waypointCompleted_ca.paa";
+ color[] = {0,0,0,1};
+ size = 20;
+ importance = "1.2 * 16 * 0.05";
+ coefMin = 0.900000;
+ coefMax = 4;
+ };
+ class CustomMark
+ {
+ icon = "\A3\ui_f\data\map\mapcontrol\custommark_ca.paa";
+ size = 24;
+ importance = 1;
+ coefMin = 1;
+ coefMax = 1;
+ color[] = {0,0,0,1};
+ };
+ class Command
+ {
+ icon = "\A3\ui_f\data\map\mapcontrol\waypoint_ca.paa";
+ size = 18;
+ importance = 1;
+ coefMin = 1;
+ coefMax = 1;
+ color[] = {1,1,1,1};
+ };
+ class Bush
+ {
+ icon = "\A3\ui_f\data\map\mapcontrol\bush_ca.paa";
+ color[] = {0.45,0.64,0.33,0.4};
+ size = "14/2";
+ importance = "0.2 * 14 * 0.05 * 0.05";
+ coefMin = 0.25;
+ coefMax = 4;
+ };
+ class Rock
+ {
+ icon = "\A3\ui_f\data\map\mapcontrol\rock_ca.paa";
+ color[] = {0.1,0.1,0.1,0.8};
+ size = 12;
+ importance = "0.5 * 12 * 0.05";
+ coefMin = 0.25;
+ coefMax = 4;
+ };
+ class SmallTree
+ {
+ icon = "\A3\ui_f\data\map\mapcontrol\bush_ca.paa";
+ color[] = {0.45,0.64,0.33,0.4};
+ size = 12;
+ importance = "0.6 * 12 * 0.05";
+ coefMin = 0.25;
+ coefMax = 4;
+ };
+ class Tree
+ {
+ icon = "\A3\ui_f\data\map\mapcontrol\bush_ca.paa";
+ color[] = {0.45,0.64,0.33,0.4};
+ size = 12;
+ importance = "0.9 * 16 * 0.05";
+ coefMin = 0.25;
+ coefMax = 4;
+ };
+ class busstop
+ {
+ icon = "\A3\ui_f\data\map\mapcontrol\busstop_CA.paa";
+ size = 24;
+ importance = 1;
+ coefMin = 0.85;
+ coefMax = 1.0;
+ color[] = {1,1,1,1};
+ };
+ class fuelstation
+ {
+ icon = "\A3\ui_f\data\map\mapcontrol\fuelstation_CA.paa";
+ size = 24;
+ importance = 1;
+ coefMin = 0.85;
+ coefMax = 1.0;
+ color[] = {1,1,1,1};
+ };
+ class hospital
+ {
+ icon = "\A3\ui_f\data\map\mapcontrol\hospital_CA.paa";
+ size = 24;
+ importance = 1;
+ coefMin = 0.85;
+ coefMax = 1.0;
+ color[] = {1,1,1,1};
+ };
+ class church
+ {
+ icon = "\A3\ui_f\data\map\mapcontrol\church_CA.paa";
+ size = 24;
+ importance = 1;
+ coefMin = 0.85;
+ coefMax = 1.0;
+ color[] = {1,1,1,1};
+ };
+ class lighthouse
+ {
+ icon = "\A3\ui_f\data\map\mapcontrol\lighthouse_CA.paa";
+ size = 24;
+ importance = 1;
+ coefMin = 0.85;
+ coefMax = 1.0;
+ color[] = {1,1,1,1};
+ };
+ class power
+ {
+ icon = "\A3\ui_f\data\map\mapcontrol\power_CA.paa";
+ size = 24;
+ importance = 1;
+ coefMin = 0.85;
+ coefMax = 1.0;
+ color[] = {1,1,1,1};
+ };
+ class powersolar
+ {
+ icon = "\A3\ui_f\data\map\mapcontrol\powersolar_CA.paa";
+ size = 24;
+ importance = 1;
+ coefMin = 0.85;
+ coefMax = 1.0;
+ color[] = {1,1,1,1};
+ };
+ class powerwave
+ {
+ icon = "\A3\ui_f\data\map\mapcontrol\powerwave_CA.paa";
+ size = 24;
+ importance = 1;
+ coefMin = 0.85;
+ coefMax = 1.0;
+ color[] = {1,1,1,1};
+ };
+ class powerwind
+ {
+ icon = "\A3\ui_f\data\map\mapcontrol\powerwind_CA.paa";
+ size = 24;
+ importance = 1;
+ coefMin = 0.85;
+ coefMax = 1.0;
+ color[] = {1,1,1,1};
+ };
+ class quay
+ {
+ icon = "\A3\ui_f\data\map\mapcontrol\quay_CA.paa";
+ size = 24;
+ importance = 1;
+ coefMin = 0.85;
+ coefMax = 1.0;
+ color[] = {1,1,1,1};
+ };
+ class shipwreck
+ {
+ icon = "\A3\ui_f\data\map\mapcontrol\shipwreck_CA.paa";
+ size = 24;
+ importance = 1;
+ coefMin = 0.85;
+ coefMax = 1.0;
+ color[] = {1,1,1,1};
+ };
+ class transmitter
+ {
+ icon = "\A3\ui_f\data\map\mapcontrol\transmitter_CA.paa";
+ size = 24;
+ importance = 1;
+ coefMin = 0.85;
+ coefMax = 1.0;
+ color[] = {1,1,1,1};
+ };
+ class watertower
+ {
+ icon = "\A3\ui_f\data\map\mapcontrol\watertower_CA.paa";
+ size = 24;
+ importance = 1;
+ coefMin = 0.85;
+ coefMax = 1.0;
+ color[] = {1,1,1,1};
+ };
+ class Cross
+ {
+ icon = "\A3\ui_f\data\map\mapcontrol\Cross_CA.paa";
+ size = 24;
+ importance = 1;
+ coefMin = 0.85;
+ coefMax = 1.0;
+ color[] = {0,0,0,1};
+ };
+ class Chapel
+ {
+ icon = "\A3\ui_f\data\map\mapcontrol\Chapel_CA.paa";
+ size = 24;
+ importance = 1;
+ coefMin = 0.85;
+ coefMax = 1.0;
+ color[] = {0,0,0,1};
+ };
+ class Bunker
+ {
+ icon = "\A3\ui_f\data\map\mapcontrol\bunker_ca.paa";
+ size = 14;
+ importance = "1.5 * 14 * 0.05";
+ coefMin = 0.25;
+ coefMax = 4;
+ color[] = {0,0,0,1};
+ };
+ class Fortress
+ {
+ icon = "\A3\ui_f\data\map\mapcontrol\bunker_ca.paa";
+ size = 16;
+ importance = "2 * 16 * 0.05";
+ coefMin = 0.25;
+ coefMax = 4;
+ color[] = {0,0,0,1};
+ };
+ class Fountain
+ {
+ icon = "\A3\ui_f\data\map\mapcontrol\fountain_ca.paa";
+ size = 11;
+ importance = "1 * 12 * 0.05";
+ coefMin = 0.25;
+ coefMax = 4;
+ color[] = {0,0,0,1};
+ };
+ class Ruin
+ {
+ icon = "\A3\ui_f\data\map\mapcontrol\ruin_ca.paa";
+ size = 16;
+ importance = "1.2 * 16 * 0.05";
+ coefMin = 1;
+ coefMax = 4;
+ color[] = {0,0,0,1};
+ };
+ class Stack
+ {
+ icon = "\A3\ui_f\data\map\mapcontrol\stack_ca.paa";
+ size = 20;
+ importance = "2 * 16 * 0.05";
+ coefMin = 0.9;
+ coefMax = 4;
+ color[] = {0,0,0,1};
+ };
+ class Tourism
+ {
+ icon = "\A3\ui_f\data\map\mapcontrol\tourism_ca.paa";
+ size = 16;
+ importance = "1 * 16 * 0.05";
+ coefMin = 0.7;
+ coefMax = 4;
+ color[] = {0,0,0,1};
+ };
+ class ViewTower
+ {
+ icon = "\A3\ui_f\data\map\mapcontrol\viewtower_ca.paa";
+ size = 16;
+ importance = "2.5 * 16 * 0.05";
+ coefMin = 0.5;
+ coefMax = 4;
+ color[] = {0,0,0,1};
+ };
+};
+
+#endif
\ No newline at end of file