diff --git a/Sources/epoch_code/README.TXT b/Sources/epoch_code/README.TXT
deleted file mode 100644
index b155c614..00000000
--- a/Sources/epoch_code/README.TXT
+++ /dev/null
@@ -1,3 +0,0 @@
-All content in this PBO was made exclusively for A3 Epoch mod.
-
-To use/edit/distribute any of the content in this mod please contact vbawol@veteranbastards.com or ptomany@gmail.com
\ No newline at end of file
diff --git a/Sources/epoch_code/System/player_login.fsm b/Sources/epoch_code/System/player_login.fsm
index aad55b99..222a0409 100644
--- a/Sources/epoch_code/System/player_login.fsm
+++ b/Sources/epoch_code/System/player_login.fsm
@@ -931,7 +931,7 @@ class FSM
" }forEach EPOCH_playerHitPoints;" \n
"};" \n
"" \n
- "[] spawn EPOCH_masterLoop_v2;" \n
+ "[] spawn EPOCH_masterLoop;" \n
"true call EPOCH_fnc_Weather;" \n
"[5,100] spawn EPOCH_niteLight;" \n
"" \n
diff --git a/Sources/epoch_code/compile/EPOCH_EnterBuilding.sqf b/Sources/epoch_code/compile/EPOCH_EnterBuilding.sqf
index d6f9185a..a853cdd2 100644
--- a/Sources/epoch_code/compile/EPOCH_EnterBuilding.sqf
+++ b/Sources/epoch_code/compile/EPOCH_EnterBuilding.sqf
@@ -1,4 +1,18 @@
+/*
+ Author: Aaron Clark - EpochMod.com
+
+ Contributors:
+
+ Description:
+ Epoch request teleport
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_code/compile/EPOCH_EnterBuilding.sqf
+*/
if !(isNull _this) then{
EPOCH_oneWayTP = [player,_this,Epoch_personalToken];
publicVariableServer "EPOCH_oneWayTP";
-};
\ No newline at end of file
+};
diff --git a/Sources/epoch_code/compile/EPOCH_LootIT.sqf b/Sources/epoch_code/compile/EPOCH_LootIT.sqf
index fc89c7d5..7430979c 100644
--- a/Sources/epoch_code/compile/EPOCH_LootIT.sqf
+++ b/Sources/epoch_code/compile/EPOCH_LootIT.sqf
@@ -1,3 +1,17 @@
+/*
+ Author: Aaron Clark - EpochMod.com
+
+ Contributors:
+
+ Description:
+ Request loot event and setup mirror
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_code/compile/EPOCH_LootIT.sqf
+*/
if (!isNull _this) then {
EPOCH_lootContainer = [_this,player,Epoch_personalToken];
publicVariableServer "EPOCH_lootContainer";
@@ -6,12 +20,12 @@ if (!isNull _this) then {
if !(_this getVariable["MIRROR_SETUP", false]) then {
_this spawn {
_this setVariable ["MIRROR_SETUP", true];
- _cam = "camera" camCreate (_this modelToWorld [0,0.25,1.5]);
- _cam camSetTarget (_this modelToWorld [0,-30,1]);
- _cam camSetFov 0.3;
- _cam camCommit 0;
- "rendertargetwardrobe0" setPiPEffect [0];
- _cam cameraEffect ["Internal", "FRONT","rendertargetwardrobe0"];
+ _cam = "camera" camCreate (_this modelToWorld [0,0.25,1.5]);
+ _cam camSetTarget (_this modelToWorld [0,-30,1]);
+ _cam camSetFov 0.3;
+ _cam camCommit 0;
+ "rendertargetwardrobe0" setPiPEffect [0];
+ _cam cameraEffect ["Internal", "FRONT","rendertargetwardrobe0"];
_this setObjectTexture [0,"#(argb,512,512,1)r2t(rendertargetwardrobe0,1.0)"];
waitUntil {
@@ -26,4 +40,4 @@ if (!isNull _this) then {
};
};
};
-};
\ No newline at end of file
+};
diff --git a/Sources/epoch_code/compile/EPOCH_PutHandler.sqf b/Sources/epoch_code/compile/EPOCH_PutHandler.sqf
index f1ea0ded..f265dc1e 100644
--- a/Sources/epoch_code/compile/EPOCH_PutHandler.sqf
+++ b/Sources/epoch_code/compile/EPOCH_PutHandler.sqf
@@ -1,3 +1,17 @@
+/*
+ Author: Aaron Clark - EpochMod.com
+
+ Contributors:
+
+ Description:
+ Tells server when a radio is equpped for use with custom radio channels
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_code/compile/EPOCH_PutHandler.sqf
+*/
private ["_femaleVariant","_vest","_class","_config","_woman","_maleVariant"];
_class = _this select 2;
//Radio Check
@@ -7,4 +21,4 @@ if (configName(inheritsFrom(configFile >> "CfgWeapons" >> _class)) == "ItemRadio
EPOCH_equippedItem_PVS = [_class,false,player];
};
-};
\ No newline at end of file
+};
diff --git a/Sources/epoch_code/compile/EPOCH_QuickTakeAll.sqf b/Sources/epoch_code/compile/EPOCH_QuickTakeAll.sqf
index 9c295c76..2b7cc7cb 100644
--- a/Sources/epoch_code/compile/EPOCH_QuickTakeAll.sqf
+++ b/Sources/epoch_code/compile/EPOCH_QuickTakeAll.sqf
@@ -1,3 +1,17 @@
+/*
+ Author: Aaron Clark - EpochMod.com
+
+ Contributors:
+
+ Description:
+ Quick take concept for underwater looting
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_code/compile/EPOCH_QuickTakeAll.sqf
+*/
closeDialog 0;
{
_magazines = magazinesAmmoCargo _x;
diff --git a/Sources/epoch_code/compile/EPOCH_QuickTakeLoad.sqf b/Sources/epoch_code/compile/EPOCH_QuickTakeLoad.sqf
index a36e980f..9006ac87 100644
--- a/Sources/epoch_code/compile/EPOCH_QuickTakeLoad.sqf
+++ b/Sources/epoch_code/compile/EPOCH_QuickTakeLoad.sqf
@@ -1,3 +1,17 @@
+/*
+ Author: Aaron Clark - EpochMod.com
+
+ Contributors:
+
+ Description:
+ Quick take load function concept for underwater looting
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_code/compile/EPOCH_QuickTakeLoad.sqf
+*/
createDialog "QuickTake";
{
_magazines = magazinesAmmoCargo _x;
diff --git a/Sources/epoch_code/compile/EPOCH_SpawnTraderMiltia.sqf b/Sources/epoch_code/compile/EPOCH_SpawnTraderMiltia.sqf
index b397cffb..be2a0c16 100644
--- a/Sources/epoch_code/compile/EPOCH_SpawnTraderMiltia.sqf
+++ b/Sources/epoch_code/compile/EPOCH_SpawnTraderMiltia.sqf
@@ -1,3 +1,18 @@
+/*
+ Author: Andrew Gregory - EpochMod.com
+
+ Contributors:
+
+ Description:
+ test code to spawn trader milita (unused)
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_code/compile/EPOCH_SpawnTraderMiltia.sqf
+*/
+
//Make _trgt = trader and join militia to traders group
_trgt = player;
_nrBuilds = nearestObjects [getPosATL _trgt,["house"],50];
@@ -20,7 +35,7 @@ for "_i" from 1 to 3 step 1 do
};
_unit = _grp createUnit["B_G_Soldier_F", _startPos, [], 0, "CAN_COLLIDE"];
- _unit addEventHandler ["FiredNear", "group (_this select 0) setVariable[""shotsFired"",[(_this select 1),(_this select 2)]]"];
+ _unit addEventHandler ["FiredNear", "group (_this select 0) setVariable[""shotsFired"",[(_this select 1),(_this select 2)]]"];
_unit addEventHandler ["Killed", "group (_this select 0) setVariable[""killer"",_this select 1]"];
[_unit] execFSM "\x\addons\a3_epoch_code\System\Trader_Militia.fsm";
};
diff --git a/Sources/epoch_code/compile/EPOCH_UnisexCheck.sqf b/Sources/epoch_code/compile/EPOCH_UnisexCheck.sqf
index 9518347b..a5b397a5 100644
--- a/Sources/epoch_code/compile/EPOCH_UnisexCheck.sqf
+++ b/Sources/epoch_code/compile/EPOCH_UnisexCheck.sqf
@@ -1,3 +1,17 @@
+/*
+ Author: Aaron Clark - EpochMod.com
+
+ Contributors:
+
+ Description:
+ Unisex check for vests, gives swing ammo and performs radio changed check
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_code/compile/EPOCH_UnisexCheck.sqf
+*/
private ["_femaleVariant","_vest","_class","_config","_woman","_maleVariant"];
_woman = getNumber(configFile >> "CfgVehicles" >> (typeOf player) >> "woman");
_class = _this select 2;
diff --git a/Sources/epoch_code/compile/EPOCH_antiWall.sqf b/Sources/epoch_code/compile/EPOCH_antiWall.sqf
index 9515c712..5e3f86c5 100644
--- a/Sources/epoch_code/compile/EPOCH_antiWall.sqf
+++ b/Sources/epoch_code/compile/EPOCH_antiWall.sqf
@@ -1,5 +1,16 @@
/*
+ Author: Aaron Clark - EpochMod.com
+
+ Contributors:
+
+ Description:
A3 Epoch Anti-Vehicle Wall glitch
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_code/compile/EPOCH_antiWall.sqf
*/
_vehicle = _this select 0;
_position = _this select 1;
@@ -36,7 +47,7 @@ onEachFrame{ drawLine3D[EP_front, EP_front2, [1, 0, 0, 1]]; };
if (vehicle player != player) then {
if (isNull EPOCH_currentVehicle) then {
EPOCH_currentVehicle = (vehicle player);
- EPOCH_currentVehicle addEventHandler ["GetOut", "_this call EPOCH_antiWall"];
+ EPOCH_currentVehicle addEventHandler ["GetOut", "_this call EPOCH_antiWall"];
hint format ['selected %1',EPOCH_currentVehicle];
};
};
@@ -45,13 +56,13 @@ onEachFrame{ drawLine3D[EP_front, EP_front2, [1, 0, 0, 1]]; };
};
// older stuff
-EP = getText (configFile >> "cfgVehicles" >> typeOf cursortarget >> "memoryPointsGetInDriver");
-EP_modelPos = cursortarget selectionPosition EP;
+EP = getText (configFile >> "cfgVehicles" >> typeOf cursortarget >> "memoryPointsGetInDriver");
+EP_modelPos = cursortarget selectionPosition EP;
EP_worldPos = cursorTarget modelToWorld EP_modelPos;
-EP1 = getText (configFile >> "cfgVehicles" >> typeOf cursortarget >> "memoryPointsGetInDriverDir");
+EP1 = getText (configFile >> "cfgVehicles" >> typeOf cursortarget >> "memoryPointsGetInDriverDir");
-EP1_modelPos = cursortarget selectionPosition EP1;
-EP1_worldPos = cursorTarget modelToWorld EP1_modelPos;
+EP1_modelPos = cursortarget selectionPosition EP1;
+EP1_worldPos = cursorTarget modelToWorld EP1_modelPos;
EP_worldPos set [2, 1];
EP1_worldPos set [2, 1];
@@ -59,13 +70,13 @@ EP1_worldPos set [2, 1];
onEachFrame { drawLine3D [EP_worldPos, EP1_worldPos, [1,0,0,1]]; };
-EP = getText (configFile >> "cfgVehicles" >> typeOf cursortarget >> "memoryPointsGetInCargo");
-EP_modelPos = cursortarget selectionPosition EP;
+EP = getText (configFile >> "cfgVehicles" >> typeOf cursortarget >> "memoryPointsGetInCargo");
+EP_modelPos = cursortarget selectionPosition EP;
EP_worldPos = cursorTarget modelToWorld EP_modelPos;
-EP1 = getText (configFile >> "cfgVehicles" >> typeOf cursortarget >> "memoryPointsGetInCargoDir");
+EP1 = getText (configFile >> "cfgVehicles" >> typeOf cursortarget >> "memoryPointsGetInCargoDir");
-EP1_modelPos = cursortarget selectionPosition EP1;
-EP1_worldPos = cursorTarget modelToWorld EP1_modelPos;
+EP1_modelPos = cursortarget selectionPosition EP1;
+EP1_worldPos = cursorTarget modelToWorld EP1_modelPos;
EP_worldPos set [2, 1];
EP1_worldPos set [2, 1];
@@ -73,4 +84,4 @@ EP1_worldPos set [2, 1];
onEachFrame { drawLine3D [EP_worldPos, EP1_worldPos, [1,0,0,1]]; };
-*/
\ No newline at end of file
+*/
diff --git a/Sources/epoch_code/compile/EPOCH_callSapperMigration.sqf b/Sources/epoch_code/compile/EPOCH_callSapperMigration.sqf
index 043b221f..552ea402 100644
--- a/Sources/epoch_code/compile/EPOCH_callSapperMigration.sqf
+++ b/Sources/epoch_code/compile/EPOCH_callSapperMigration.sqf
@@ -1,3 +1,17 @@
+/*
+ Author: Andrew Gregory - EpochMod.com
+
+ Contributors:
+
+ Description:
+ A3 Epoch call sapper migration
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_code/compile/EPOCH_callSapperMigration.sqf
+*/
private["_notReady","_abortAfter","_start","_finish","_dirTo","_nrPlyrs","_i","_pos","_trgt","_sapperCount"];
_disableAI = {
{_this disableAI _x}forEach["TARGET","AUTOTARGET","FSM"];
@@ -36,4 +50,4 @@ if(_abortAfter < 42)then{
uiSleep 0.75;
};
Epoch_axeMigrationRunning = true;
-};
\ No newline at end of file
+};
diff --git a/Sources/epoch_code/compile/EPOCH_chopWood.sqf b/Sources/epoch_code/compile/EPOCH_chopWood.sqf
index bf4847b2..93513101 100644
--- a/Sources/epoch_code/compile/EPOCH_chopWood.sqf
+++ b/Sources/epoch_code/compile/EPOCH_chopWood.sqf
@@ -1,4 +1,19 @@
-private["_currentPos", "_object", "_type", "_objects", "_sel_object"];
+/*
+ Author: Aaron Clark - EpochMod.com
+
+ Contributors:
+
+ Description:
+ Epoch Chopwood function
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_code/compile/EPOCH_chopWood.sqf
+*/
+
+private["_currentPos", "_object", "_type", "_objects", "_sel_object"];
_currentPos = player modelToWorld[0, 5, 0];
if !(surfaceIsWater _currentPos) then {
@@ -15,7 +30,7 @@ _bushesLootList = getArray(_config >> worldname >> "Bushes");
{
_strObj = str _x;
- _sel_object = _x;
+ _sel_object = _x;
_findStart = _strObj find ": ";
if (_findStart != -1) then{
_p3dName = _strObj select[_findStart + 2, 999];
@@ -35,4 +50,4 @@ if (!isNull _object) then {
EPOCH_knockDownTree = [_object,_type,player,EPOCH_personalToken];
publicVariableServer "EPOCH_knockDownTree";
};
-};
\ No newline at end of file
+};
diff --git a/Sources/epoch_code/compile/EPOCH_consumeItem.sqf b/Sources/epoch_code/compile/EPOCH_consumeItem.sqf
index 03ad6568..2eb2d719 100644
--- a/Sources/epoch_code/compile/EPOCH_consumeItem.sqf
+++ b/Sources/epoch_code/compile/EPOCH_consumeItem.sqf
@@ -1,3 +1,17 @@
+/*
+ Author: Aaron Clark - EpochMod.com
+
+ Contributors:
+
+ Description:
+ Epoch consume item function
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_code/compile/EPOCH_consumeItem.sqf
+*/
private ["_type","_interactOption","_previewClass","_object","_isStorage","_isOk","_buildClass","_vehicle","_currentFuel","_canCapacity","_fuelCapacity","_newFuel","_vehicles","_highestDMG","_currentHIT","_currentDMG","_newDMG","_paintCanIndex","_paintCanColor","_msg","_color","_text","_item","_pic","_removeItem"];
_text = EPOCH_InteractedItem select 0;
diff --git a/Sources/epoch_code/compile/EPOCH_debugMonitor.sqf b/Sources/epoch_code/compile/EPOCH_debugMonitor.sqf
index 46d15026..f00c2b8c 100644
--- a/Sources/epoch_code/compile/EPOCH_debugMonitor.sqf
+++ b/Sources/epoch_code/compile/EPOCH_debugMonitor.sqf
@@ -1,3 +1,17 @@
+/*
+ Author: Aaron Clark - EpochMod.com
+
+ Contributors:
+
+ Description:
+ Epoch debug monitor
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_code/compile/EPOCH_debugMonitor.sqf
+*/
private["_hours"];
_hours = floor(servertime/60/60);
@@ -57,4 +71,3 @@ hintSilent parseText format ["
round((serverTime/60)-(_hours*60)),
if (typeName EPOCH_diag_fps == "SCALAR") then [{EPOCH_diag_fps},{"MANIPULATED"}]
];
-
diff --git a/Sources/epoch_code/compile/EPOCH_effectCrypto.sqf b/Sources/epoch_code/compile/EPOCH_effectCrypto.sqf
index 0dba1d8a..42e55915 100644
--- a/Sources/epoch_code/compile/EPOCH_effectCrypto.sqf
+++ b/Sources/epoch_code/compile/EPOCH_effectCrypto.sqf
@@ -1,3 +1,17 @@
+/*
+ Author: Aaron Clark - EpochMod.com
+
+ Contributors:
+
+ Description:
+ Epoch display kyrpto changes
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_code/compile/EPOCH_effectCrypto.sqf
+*/
if (typeName _this == "SCALAR") then {
EPOCH_playerCrypto = _this;
9992 cutRsc["EpochGameUI2", "PLAIN", 2, false];
diff --git a/Sources/epoch_code/compile/EPOCH_fish.sqf b/Sources/epoch_code/compile/EPOCH_fish.sqf
index 5469dffd..8a13d3c1 100644
--- a/Sources/epoch_code/compile/EPOCH_fish.sqf
+++ b/Sources/epoch_code/compile/EPOCH_fish.sqf
@@ -1,4 +1,17 @@
-// EPOCH fishing
+/*
+ Author: Aaron Clark - EpochMod.com
+
+ Contributors:
+
+ Description:
+ Epoch fishing function
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_code/compile/EPOCH_fish.sqf
+*/
private ["_bob","_fishes","_fish","_randomChance","_bobber","_nearByBobbers","_objects","_currentPos"];
_currentPos = player modelToWorld[0, 5 + (random 5), 0];
diff --git a/Sources/epoch_code/compile/EPOCH_handleServerMessage.sqf b/Sources/epoch_code/compile/EPOCH_handleServerMessage.sqf
index f8d03297..bc24a610 100644
--- a/Sources/epoch_code/compile/EPOCH_handleServerMessage.sqf
+++ b/Sources/epoch_code/compile/EPOCH_handleServerMessage.sqf
@@ -1,3 +1,17 @@
+/*
+ Author: Aaron Clark - EpochMod.com
+
+ Contributors:
+
+ Description:
+ Epoch handle localized message function
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_code/compile/EPOCH_handleServerMessage.sqf
+*/
if (isLocalized (_this select 0)) then{
_dt = [format["%1", format[localize (_this select 0), _this select 1]], 0, 1, 5, 2, 0, 1] spawn bis_fnc_dynamictext;
};
diff --git a/Sources/epoch_code/compile/EPOCH_interact.sqf b/Sources/epoch_code/compile/EPOCH_interact.sqf
index 0b731416..8af5caa0 100644
--- a/Sources/epoch_code/compile/EPOCH_interact.sqf
+++ b/Sources/epoch_code/compile/EPOCH_interact.sqf
@@ -1,4 +1,17 @@
-// store all interacted vehicles for update
+/*
+ Author: Aaron Clark - EpochMod.com
+
+ Contributors:
+
+ Description:
+ store all interacted vehicles for update
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_code/compile/EPOCH_interact.sqf
+*/
private ["_vehSlot"];
0 call EPOCH_refeshUI;
if (!isNull _this) then {
diff --git a/Sources/epoch_code/compile/EPOCH_lootTrash.sqf b/Sources/epoch_code/compile/EPOCH_lootTrash.sqf
index 0940dff6..25fddda4 100644
--- a/Sources/epoch_code/compile/EPOCH_lootTrash.sqf
+++ b/Sources/epoch_code/compile/EPOCH_lootTrash.sqf
@@ -1,3 +1,17 @@
+/*
+ Author: Aaron Clark - EpochMod.com
+
+ Contributors:
+
+ Description:
+ Request trash loot event
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_code/compile/EPOCH_lootTrash.sqf
+*/
private["_found", "_return", "_foundLocalAnimal", "_str", "_blood", "_foundTerminal", "_index"];
_return = false;
diff --git a/Sources/epoch_code/compile/EPOCH_mineRocks.sqf b/Sources/epoch_code/compile/EPOCH_mineRocks.sqf
index eea1fa49..3e9318ef 100644
--- a/Sources/epoch_code/compile/EPOCH_mineRocks.sqf
+++ b/Sources/epoch_code/compile/EPOCH_mineRocks.sqf
@@ -1,3 +1,17 @@
+/*
+ Author: Aaron Clark - EpochMod.com
+
+ Contributors:
+
+ Description:
+ Request mine rocks and scrap metal
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_code/compile/EPOCH_mineRocks.sqf
+*/
private ["_object","_foundIndex","_found","_str","_objects","_lootables","_currentPos","_p3dName","_findStart","_config","_cinderList","_rocksList"];
if ((diag_tickTime - EPOCH_lastMineRocks) >= 2) then {
diff --git a/Sources/epoch_code/compile/EPOCH_niteLight.sqf b/Sources/epoch_code/compile/EPOCH_niteLight.sqf
index 5d81289e..0659d75a 100644
--- a/Sources/epoch_code/compile/EPOCH_niteLight.sqf
+++ b/Sources/epoch_code/compile/EPOCH_niteLight.sqf
@@ -1,3 +1,17 @@
+/*
+ Author: Aaron Clark - EpochMod.com
+
+ Contributors:
+
+ Description:
+ setup nightlight to provide improved night vision
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_code/compile/EPOCH_niteLight.sqf
+*/
private ["_pos"];
if (!isNull EP_light) then {
@@ -15,4 +29,4 @@ EP_light setLightBrightness (_this select 0);
EP_light setLightAmbient[0.05, 0.05, 0.05];
EP_light setlightcolor[0.05, 0.05, 0.05];
-true
\ No newline at end of file
+true
diff --git a/Sources/epoch_code/compile/EPOCH_onEachFrame.sqf b/Sources/epoch_code/compile/EPOCH_onEachFrame.sqf
index 481e7616..cffeecfd 100644
--- a/Sources/epoch_code/compile/EPOCH_onEachFrame.sqf
+++ b/Sources/epoch_code/compile/EPOCH_onEachFrame.sqf
@@ -1,3 +1,17 @@
+/*
+ Author: Aaron Clark - EpochMod.com
+
+ Contributors:
+
+ Description:
+ code that executes onEachFrame is used for 3d movment, ESP, and 3d icons.
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_code/compile/EPOCH_onEachFrame.sqf
+*/
if (EPOCH_velTransform) then {
if (EPOCH_playerEnergy > 0) then {
_pos1 = getPosASL EPOCH_target;
diff --git a/Sources/epoch_code/compile/EPOCH_replaceWord.sqf b/Sources/epoch_code/compile/EPOCH_replaceWord.sqf
index 7b9dceb1..b655fbaa 100644
--- a/Sources/epoch_code/compile/EPOCH_replaceWord.sqf
+++ b/Sources/epoch_code/compile/EPOCH_replaceWord.sqf
@@ -1,3 +1,17 @@
+/*
+ Author: Aaron Clark - EpochMod.com
+
+ Contributors:
+
+ Description:
+ test code to replace string in word (old)
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_code/compile/EPOCH_replaceWord.sqf
+*/
private["_nextChar2", "_nextChar1", "_nextChar", "_replaceArray", "_STRING", "_needle", "_replace"];
_replaceArray = [];
@@ -35,4 +49,4 @@ _replace = toArray(_this select 2);
}
}forEach _replaceArray;
-toString(_STRING);
\ No newline at end of file
+toString(_STRING);
diff --git a/Sources/epoch_code/compile/EPOCH_supportCopter.sqf b/Sources/epoch_code/compile/EPOCH_supportCopter.sqf
index 4d0b7d26..f9e145bf 100644
--- a/Sources/epoch_code/compile/EPOCH_supportCopter.sqf
+++ b/Sources/epoch_code/compile/EPOCH_supportCopter.sqf
@@ -1,3 +1,17 @@
+/*
+ Author: Andrew Gregory - EpochMod.com
+
+ Contributors: Aaron Clark
+
+ Description:
+ Spawn drone function
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_code/compile/EPOCH_supportCopter.sqf
+*/
private["_pos","_copter","_plyr","_unit","_copterSupportGrp","_arrUnits","_arrSkills","_aiskill"];
_pos = _this select 0;
_copter = _this select 1;
diff --git a/Sources/epoch_code/compile/EPOCH_unitSpawn.sqf b/Sources/epoch_code/compile/EPOCH_unitSpawn.sqf
index c95b8a0d..19fe886e 100644
--- a/Sources/epoch_code/compile/EPOCH_unitSpawn.sqf
+++ b/Sources/epoch_code/compile/EPOCH_unitSpawn.sqf
@@ -1,3 +1,17 @@
+/*
+ Author: Aaron Clark - EpochMod.com
+
+ Contributors:
+
+ Description:
+ Antagonist spawn function
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_code/compile/EPOCH_unitSpawn.sqf
+*/
private ["_unit","_group","_bomb","_unitClass","_targetPos","_disableAI","_nonJammer","_nonTrader","_jammerRange","_jammers","_restricted","_sapperNum"];
_unitClass = _this;
@@ -49,7 +63,7 @@ switch _unitClass do {
_unit = createAgent[_unitClass, _targetPos, [], 120, "FORM"];
_unit call _disableAI;
[_unit] execFSM "\x\addons\a3_epoch_code\System\Shark_Brain.fsm";
- };
+ };
};
};
case "Epoch_Sapper_F": {
diff --git a/Sources/epoch_code/compile/EPOCH_unitSpawnDecrease.sqf b/Sources/epoch_code/compile/EPOCH_unitSpawnDecrease.sqf
index 15e4f703..81678e94 100644
--- a/Sources/epoch_code/compile/EPOCH_unitSpawnDecrease.sqf
+++ b/Sources/epoch_code/compile/EPOCH_unitSpawnDecrease.sqf
@@ -1,3 +1,17 @@
+/*
+ Author: Aaron Clark - EpochMod.com
+
+ Contributors:
+
+ Description:
+ Antagonist spawn chance decrease function
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_code/compile/EPOCH_unitSpawnDecrease.sqf
+*/
_index = EPOCH_spawnIndex find _this;
if (_index != -1) then{
EPOCH_playerSpawnArray set[_index, ((EPOCH_playerSpawnArray select _index) - 1) max 0];
diff --git a/Sources/epoch_code/compile/EPOCH_unitSpawnIncrease.sqf b/Sources/epoch_code/compile/EPOCH_unitSpawnIncrease.sqf
index ea84356f..ef89921f 100644
--- a/Sources/epoch_code/compile/EPOCH_unitSpawnIncrease.sqf
+++ b/Sources/epoch_code/compile/EPOCH_unitSpawnIncrease.sqf
@@ -1,3 +1,17 @@
+/*
+ Author: Aaron Clark - EpochMod.com
+
+ Contributors:
+
+ Description:
+ Antagonist spawn chance increase function
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_code/compile/EPOCH_unitSpawnIncrease.sqf
+*/
_index = EPOCH_spawnIndex find _this;
if (_index != -1) then{
EPOCH_playerSpawnArray set[_index, ((EPOCH_playerSpawnArray select _index) + 1) min (EPOCH_spawnLimits select _index)];
diff --git a/Sources/epoch_code/compile/EPOCH_updateLoadingScreen.sqf b/Sources/epoch_code/compile/EPOCH_updateLoadingScreen.sqf
index d77a7e63..77886f32 100644
--- a/Sources/epoch_code/compile/EPOCH_updateLoadingScreen.sqf
+++ b/Sources/epoch_code/compile/EPOCH_updateLoadingScreen.sqf
@@ -1,3 +1,17 @@
+/*
+ Author: Niklas Wagner - EpochMod.com
+
+ Contributors:
+
+ Description:
+ Update loading screen message
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_code/compile/EPOCH_updateLoadingScreen.sqf
+*/
disableSerialization;
_display = uiNameSpace getVariable ["EPOCH_loadingScreen",displayNull];
if (!isNull _display) then {
diff --git a/Sources/epoch_code/compile/both/EPOCH_getHitpoints.sqf b/Sources/epoch_code/compile/both/EPOCH_getHitpoints.sqf
deleted file mode 100644
index 33c977fb..00000000
--- a/Sources/epoch_code/compile/both/EPOCH_getHitpoints.sqf
+++ /dev/null
@@ -1,12 +0,0 @@
-private["_hitpoints", "_type", "_cachekey", "_na"];
-_hitpoints = [];
-if (!isNull _this) then {
- _type = typeOf _this;
- _cachekey = format["%1_HP", _type];
- _hitpoints = missionNamespace getVariable[_cachekey, []];
- if (_hitpoints isEqualTo []) then {
- _na = configProperties[configFile >> "CfgVehicles" >> _type >> "HitPoints", "_hitpoints pushBack configName _x; true", true];
- missionNamespace setVariable[_cachekey, _hitpoints];
- };
-};
-_hitpoints
\ No newline at end of file
diff --git a/Sources/epoch_code/compile/both/EPOCH_isAny.sqf b/Sources/epoch_code/compile/both/EPOCH_isAny.sqf
index 2a4b7045..415f7a08 100644
--- a/Sources/epoch_code/compile/both/EPOCH_isAny.sqf
+++ b/Sources/epoch_code/compile/both/EPOCH_isAny.sqf
@@ -1,3 +1,27 @@
+/*
+ Author: Aaron Clark - EpochMod.com
+
+ Contributors:
+
+ Description:
+ Unisex check for vests, gives swing ammo and performs radio changed check
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_code/compile/both/EPOCH_isAny.sqf
+
+ Example:
+ _return = [_item, "CfgVehicles"] call EPOCH_fnc_isAny;
+
+ Parameter(s):
+ _this select 0: STRING - Parent Class
+ _this select 0: STRING - Child Class
+
+ Returns:
+ BOOL
+*/
private ["_item","_return"];
_item = _this select 0;
_type = _this select 1;
diff --git a/Sources/epoch_code/compile/building/EPOCH_changeWallState.sqf b/Sources/epoch_code/compile/building/EPOCH_changeWallState.sqf
index 73cc6478..461a23f3 100644
--- a/Sources/epoch_code/compile/building/EPOCH_changeWallState.sqf
+++ b/Sources/epoch_code/compile/building/EPOCH_changeWallState.sqf
@@ -1,6 +1,29 @@
/*
- Epoch Change wall state
- By Aaron Clark
+ Author: Aaron Clark - EpochMod.com
+
+ Contributors:
+
+ Description:
+ Epoch Change wall state
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_code/compile/building/EPOCH_changeWallState.sqf
+
+ Example:
+ [_this,"NWall",1] call EPOCH_changeWallState;
+
+ Parameter(s):
+ _this select 0: OBJECT - Base building object
+ _this select 1: STRING - Name of animation
+ _this select 1: SCALAR - state
+ 0: true = add wall
+ 1: false = remove wall
+
+ Returns:
+ NOTHING
*/
_object = param [0,objNull];
_anim = param [1,""];
diff --git a/Sources/epoch_code/compile/building/EPOCH_checkBuild.sqf b/Sources/epoch_code/compile/building/EPOCH_checkBuild.sqf
index 27bea990..f9b33bcf 100644
--- a/Sources/epoch_code/compile/building/EPOCH_checkBuild.sqf
+++ b/Sources/epoch_code/compile/building/EPOCH_checkBuild.sqf
@@ -1,3 +1,26 @@
+/*
+ Author: Aaron Clark - EpochMod.com
+
+ Contributors: Raimonds Virtoss
+
+ Description:
+ Epoch Check build
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_code/compile/building/EPOCH_checkBuild.sqf
+
+ Example:
+ cursorTarget call EPOCH_checkBuild;
+
+ Parameter(s):
+ _this select 0: OBJECT - Base building object
+
+ Returns:
+ ARRAY of BOOLs
+*/
_out = [false, false, false];
if !(isNil "EPOCH_simulSwap_Lock") exitWith{ _out };
@@ -14,7 +37,7 @@ if (EPOCH_playerEnergy <= 0) exitWith{ _dt = ["> _objType >> "upgradeBuilding") isEqualTo []),
!(getArray(_config >> _objType >> "removeParts") isEqualTo []),
diff --git a/Sources/epoch_code/compile/building/EPOCH_countdown.sqf b/Sources/epoch_code/compile/building/EPOCH_countdown.sqf
index 6d5a8aa0..704a09eb 100644
--- a/Sources/epoch_code/compile/building/EPOCH_countdown.sqf
+++ b/Sources/epoch_code/compile/building/EPOCH_countdown.sqf
@@ -1,3 +1,26 @@
+/*
+ Author: Aaron Clark - EpochMod.com
+
+ Contributors: Raimonds Virtoss
+
+ Description:
+ Epoch build countdown
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_code/compile/building/EPOCH_countdown.sqf
+
+ Example:
+ _currentTarget spawn EPOCH_countdown;
+
+ Parameter(s):
+ _this select 0: OBJECT - Base building object
+
+ Returns:
+ NOTHING
+*/
private["_color", "_distance", "_previous"];
if (!isNull _this) then {
diff --git a/Sources/epoch_code/compile/building/EPOCH_fnc_SelectTargetBuild.sqf b/Sources/epoch_code/compile/building/EPOCH_fnc_SelectTargetBuild.sqf
index 4c2d4821..61d81221 100644
--- a/Sources/epoch_code/compile/building/EPOCH_fnc_SelectTargetBuild.sqf
+++ b/Sources/epoch_code/compile/building/EPOCH_fnc_SelectTargetBuild.sqf
@@ -1,20 +1,40 @@
-private [];
+/*
+ Author: Aaron Clark - EpochMod.com
+
+ Contributors: Raimonds Virtoss
+
+ Description:
+ Epoch build select target
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_code/compile/building/EPOCH_fnc_SelectTargetBuild.sqf
+
+ Example:
+ cursorTarget call EPOCH_fnc_SelectTargetBuild;
+
+ Parameter(s):
+ _this select 0: OBJECT - Base building object
+
+ Returns:
+ BOOL
+*/
+private ["_targeter","_stability"];
+
if !(isNil "EPOCH_simulSwap_Lock") exitWith{ false };
-
if !(isNull EPOCH_Target) exitWith{ false };
-
if (EPOCH_playerEnergy <= 0) exitWith{ _dt = ["Need energy", 0, 1, 5, 2, 0, 1] spawn bis_fnc_dynamictext; false };
-_object = _this;
+params ["_object"];
EPOCH_buildOption = 2;
if (isNull _object) exitWith{ false };
if ((player distance _object) > 9) exitWith { false };
-
if (!(_object isKindOf "ThingX") && !(_object isKindOf "Constructions_static_F") && !(_object isKindOf "Constructions_foundation_F")) exitWith{ false };
-
// check if another player has target
_targeter = _object getVariable["last_targeter", objNull];
diff --git a/Sources/epoch_code/compile/building/EPOCH_isBuildAllowed.sqf b/Sources/epoch_code/compile/building/EPOCH_isBuildAllowed.sqf
index d9c43ece..10ffdb1d 100644
--- a/Sources/epoch_code/compile/building/EPOCH_isBuildAllowed.sqf
+++ b/Sources/epoch_code/compile/building/EPOCH_isBuildAllowed.sqf
@@ -1,6 +1,30 @@
+/*
+ Author: Aaron Clark - EpochMod.com
+
+ Contributors: Raimonds Virtoss
+
+ Description:
+ Epoch build select target
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_code/compile/building/EPOCH_isBuildAllowed.sqf
+
+ Example:
+ _isAllowed = "" call EPOCH_isBuildAllowed;
+ _isAllowed = _objType call EPOCH_isBuildAllowed;
+
+ Parameter(s):
+ _this select 0: OBJECT - Base building object
+
+ Returns:
+ BOOL
+*/
private ["_buildingAllowed","_jammer","_restricted","_restrictedLocations","_myPosATL"];
_buildingAllowed = true;
-_ownedJammerExists = false;
+_ownedJammerExists = false;
_nearestJammer = objNull;
// defaults
@@ -10,14 +34,17 @@ _buildingCountLimit = getNumber(_config >> "buildingCountLimit");
if (_buildingJammerRange == 0) then { _buildingJammerRange = 75; };
if (_buildingCountLimit == 0) then { _buildingCountLimit = 200; };
-_staticClass = getText(configfile >> "CfgVehicles" >> _this >> "staticClass");
-_simulClass = getText(configfile >> "CfgVehicles" >> _this >> "simulClass");
+// input
+params ["_objType"];
+
+_staticClass = getText(configfile >> "CfgVehicles" >> _objType >> "staticClass");
+_simulClass = getText(configfile >> "CfgVehicles" >> _objType >> "simulClass");
_bypassJammer = getNumber(configfile >> "CfgVehicles" >> _staticClass >> "bypassJammer");
// Jammer
_jammer = nearestObjects[player, ["PlotPole_EPOCH"], _buildingJammerRange*3];
if !(_jammer isEqualTo []) then {
- if (_this in ["PlotPole_EPOCH", "PlotPole_SIM_EPOCH"]) then {
+ if (_objType in ["PlotPole_EPOCH", "PlotPole_SIM_EPOCH"]) then {
{
if (alive _x) exitWith{
_buildingAllowed = false;
@@ -25,7 +52,7 @@ if !(_jammer isEqualTo []) then {
};
} foreach _jammer;
} else {
-
+
{
if (alive _x && (_x distance player) <= _buildingJammerRange) exitWith{
_nearestJammer = _x;
@@ -64,7 +91,7 @@ if !(_buildingAllowed)exitWith{ false };
// require jammer check if not found as owner of jammer
if (getNumber(_config >> "buildingRequireJammer") == 0 && _bypassJammer == 0) then{
- if !(_this in ["PlotPole_EPOCH", "PlotPole_SIM_EPOCH"]) then {
+ if !(_objType in ["PlotPole_EPOCH", "PlotPole_SIM_EPOCH"]) then {
_buildingAllowed = _ownedJammerExists;
if !(_buildingAllowed) then {
_dt = ["Building Disallowed: Frequency Jammer Needed", 0, 1, 5, 2, 0, 1] spawn bis_fnc_dynamictext;
@@ -103,4 +130,4 @@ _myPosATL = getPosATL player;
};
} forEach(getArray(_config >> worldname >> "blockedArea"));
-_buildingAllowed
\ No newline at end of file
+_buildingAllowed
diff --git a/Sources/epoch_code/compile/building/EPOCH_removeBUILD.sqf b/Sources/epoch_code/compile/building/EPOCH_removeBUILD.sqf
index 6285ba9b..11db357e 100644
--- a/Sources/epoch_code/compile/building/EPOCH_removeBUILD.sqf
+++ b/Sources/epoch_code/compile/building/EPOCH_removeBUILD.sqf
@@ -12,7 +12,7 @@ if (_buildingCountLimit == 0) then { _buildingCountLimit = 200; };
EPOCH_buildOption = 0;
-_object = _this;
+params ["_object"];
_objType = typeOf _object;
// check if another player has target
diff --git a/Sources/epoch_code/compile/building/EPOCH_upgradeBUILD.sqf b/Sources/epoch_code/compile/building/EPOCH_upgradeBUILD.sqf
index 96a2408c..feca2b01 100644
--- a/Sources/epoch_code/compile/building/EPOCH_upgradeBUILD.sqf
+++ b/Sources/epoch_code/compile/building/EPOCH_upgradeBUILD.sqf
@@ -14,7 +14,7 @@ if (_buildingCountLimit == 0) then { _buildingCountLimit = 200; };
EPOCH_buildOption = 1;
-_object = _this;
+params ["_object"];
// check if another player has target
_targeter = _object getVariable["last_targeter", objNull];
diff --git a/Sources/epoch_code/compile/functions/EPOCH_fn_returnConfigEntryV2.sqf b/Sources/epoch_code/compile/functions/EPOCH_fn_returnConfigEntryV2.sqf
index c2bb720d..2b7eafbb 100644
--- a/Sources/epoch_code/compile/functions/EPOCH_fn_returnConfigEntryV2.sqf
+++ b/Sources/epoch_code/compile/functions/EPOCH_fn_returnConfigEntryV2.sqf
@@ -1,3 +1,28 @@
+/*
+ Author: Aaron Clark - EpochMod.com
+
+ Contributors:
+
+ Description:
+ Return configFile or missionConfigFile data if exists else return default variable
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_code/compile/functions/EPOCH_fn_returnConfigEntryV2.sqf
+
+ Example:
+ _sapperRndChance = ["CfgEpochClient", "sapperRngChance", 100] call EPOCH_fnc_returnConfigEntryV2;
+
+ Parameter(s):
+ _this select 0: STRING - Config Class
+ _this select 1: STRING - Variable Name
+ _this select 2: STRING - Default Variable
+
+ Returns:
+ MIXED
+*/
private["_defaultData", "_config", "_varData","_missionconfig","_finalconfig"];
_defaultData = _this select 2;
_config = (configfile >> (_this select 0));
diff --git a/Sources/epoch_code/compile/functions/EPOCH_fnc_Weather.sqf b/Sources/epoch_code/compile/functions/EPOCH_fnc_Weather.sqf
index 4a9676ca..fad52ca9 100644
--- a/Sources/epoch_code/compile/functions/EPOCH_fnc_Weather.sqf
+++ b/Sources/epoch_code/compile/functions/EPOCH_fnc_Weather.sqf
@@ -1,3 +1,26 @@
+/*
+ Author: Aaron Clark - EpochMod.com
+
+ Contributors:
+
+ Description:
+ Calculates weather related player stats
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_code/compile/functions/EPOCH_fnc_Weather.sqf
+
+ Example:
+ call EPOCH_fnc_Weather;
+
+ Parameter(s):
+ NONE
+
+ Returns:
+ NOTHING
+*/
private ["_warming","_isNearFire","_airTemp","_waterTemp","_playerPosATL"];
if (isNil "EPOCH_CURRENT_WEATHER") then {
diff --git a/Sources/epoch_code/compile/functions/EPOCH_fnc_addItemOverflow.sqf b/Sources/epoch_code/compile/functions/EPOCH_fnc_addItemOverflow.sqf
index b6549404..f44f0601 100644
--- a/Sources/epoch_code/compile/functions/EPOCH_fnc_addItemOverflow.sqf
+++ b/Sources/epoch_code/compile/functions/EPOCH_fnc_addItemOverflow.sqf
@@ -1,4 +1,26 @@
-// Epoch add item with overflow
+/*
+ Author: Aaron Clark - EpochMod.com
+
+ Contributors:
+
+ Description:
+ Epoch add item with overflow
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_code/compile/functions/EPOCH_fnc_addItemOverflow.sqf
+
+ Example:
+ _fish call EPOCH_fnc_addItemOverflow;
+
+ Parameter(s):
+ _this: STRING - Item Class
+
+ Returns:
+ NOTHING
+*/
private ["_wHPos","_wH","_nearByHolder","_item"];
_item = _this;
if (player canAdd _item) then {
diff --git a/Sources/epoch_code/compile/functions/EPOCH_fnc_cursorTarget.sqf b/Sources/epoch_code/compile/functions/EPOCH_fnc_cursorTarget.sqf
index 441fa355..1d9b7d9e 100644
--- a/Sources/epoch_code/compile/functions/EPOCH_fnc_cursorTarget.sqf
+++ b/Sources/epoch_code/compile/functions/EPOCH_fnc_cursorTarget.sqf
@@ -1,3 +1,29 @@
+/*
+ Author: Aaron Clark - EpochMod.com
+
+ Contributors:
+
+ Description:
+ Epoch cursorTarget anywhere
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_code/compile/functions/EPOCH_fnc_addItemOverflow.sqf
+
+ Example:
+ _target = [10] call EPOCH_fnc_cursorTarget;
+
+ Parameter(s):
+ _this select 0: SCALAR - Distance in meters
+ _this select 1: STRING - lod1
+ _this select 3: STRING - lod2
+ _this select 4: BOOL - sort
+
+ Returns:
+ (OBJECT or objNull)
+*/
params [["_distance",10], ["_lod1", "VIEW"], ["_lod2","FIRE"], ["_sort",true]];
_ins = lineIntersectsSurfaces [AGLToASL positionCameraToWorld [0,0,0],AGLToASL positionCameraToWorld [0,0,_distance],player,objNull,_sort,1,_lod1,_lod2];
if (_ins isEqualTo []) exitWith { objNull };
diff --git a/Sources/epoch_code/compile/functions/EPOCH_fnc_dirToFuzzy.sqf b/Sources/epoch_code/compile/functions/EPOCH_fnc_dirToFuzzy.sqf
index d398a94b..e0deb301 100644
--- a/Sources/epoch_code/compile/functions/EPOCH_fnc_dirToFuzzy.sqf
+++ b/Sources/epoch_code/compile/functions/EPOCH_fnc_dirToFuzzy.sqf
@@ -1,10 +1,36 @@
+/*
+ Author: Andrew Gregory - EpochMod.com
+
+ Contributors:
+
+ Description:
+ Epoch cursorTarget anywhere
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_code/compile/functions/EPOCH_fnc_dirToFuzzy.sqf
+
+ Example:
+ _dirToF = [_pos,_destination,44] call EPOCH_fnc_dirToFuzzy;
+
+ Parameter(s):
+ _this select 0: (ARRAY or OBJECT) - position1
+ _this select 1: (ARRAY or OBJECT) - position2
+ _this select 2: NUMBER - random spread [optional: default 32]
+
+ Returns:
+ SCALAR - (direction 0-360)
+*/
+
private ["_pos1","_pos2","_ret"];
_pos1 = _this select 0;
_pos2 = _this select 1;
_spread = 32;
if(count _this > 2)then{
-_spread = _this select 2;
+ _spread = _this select 2;
};
//if objects, not positions, were passed in, then get their positions
@@ -16,4 +42,4 @@ _ret = ((_pos2 select 0) - (_pos1 select 0)) atan2 ((_pos2 select 1) - (_pos1 se
_ret = _ret + ((random _spread) - (_spread / 2));
if (_ret < 0) then {_ret = _ret + 360}; //remove negative value
_ret = _ret % 360; //ensure return is 0-360
-_ret
\ No newline at end of file
+_ret
diff --git a/Sources/epoch_code/compile/functions/EPOCH_fnc_findRandomPosBehind.sqf b/Sources/epoch_code/compile/functions/EPOCH_fnc_findRandomPosBehind.sqf
index 75c9e5a0..2d177982 100644
--- a/Sources/epoch_code/compile/functions/EPOCH_fnc_findRandomPosBehind.sqf
+++ b/Sources/epoch_code/compile/functions/EPOCH_fnc_findRandomPosBehind.sqf
@@ -1,11 +1,30 @@
-//Picks a random spot behind the player
-//usage: [200,50,60] call EPOCH_fnc_findRandomPosBehind
-//_maxIn - Maximum distance to choose point
-//_minIn - Minimum distance to choose point
-//_arcIn - Spread of arc in degrees behind player
-//_unitIn - Unit, player, vehicle etc.
-//_offset - offset initial angle, allows to pick position to the side with -90 or 90 (right or left)
+/*
+ Author: Andrew Gregory - EpochMod.com
+ Contributors:
+
+ Description:
+ Picks a random spot behind the player
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_code/compile/functions/EPOCH_fnc_findRandomPosBehind.sqf
+
+ Example:
+ _moveTo = [24,4,142,_trgt] call EPOCH_fnc_findRandomPosBehind;
+
+ Parameter(s):
+ _this select 0: SCALAR - Maximum distance to choose point
+ _this select 1: SCALAR - Minimum distance to choose point
+ _this select 2: SCALAR - Spread of arc in degrees behind player
+ _this select 3: OBJECT - Unit, player, vehicle etc.
+ _this select 4: SCALAR - offset initial angle, allows to pick position to the side with -90 or 90 (right or left) [optional: default 0]
+
+ Returns:
+ ARRAY
+*/
_maxIn = _this select 0;
_minIn = _this select 1;
_arcIn = _this select 2;
@@ -16,7 +35,7 @@ if ((count _this) > 4) then {
};
_rnd = ((180 +_offset) - (_arcIn / 2)) + (random _arcIn);
-_pos = getPosATL _unitIn;
+_pos = getPosATL _unitIn;
_dist = ((random (_maxIn - _minIn)) + _minIn) max _minIn;
_dir = (getDir _unitIn) - _rnd;
if (_dir<0) then {_dir = _dir + 360};
diff --git a/Sources/epoch_code/compile/functions/EPOCH_fnc_findSafePos.sqf b/Sources/epoch_code/compile/functions/EPOCH_fnc_findSafePos.sqf
index dfad5d63..8a592e8b 100644
--- a/Sources/epoch_code/compile/functions/EPOCH_fnc_findSafePos.sqf
+++ b/Sources/epoch_code/compile/functions/EPOCH_fnc_findSafePos.sqf
@@ -1,12 +1,31 @@
-//Currently only used to find random position
-//TODO: Expand upon to find spot on road || in field for unit spawn.
-//Usage: [centre, min distance, max distance, height, onRoad] call EPOCH_fnc_findSafePos;
-//centre - centre position (array)
-//min distance - minimum distance away from centre to choose a location
-//max distance - maximum distance away from centre to choose a location
-//height - is passed through
-//onRoad - (boolean) - will select a point on the nearest road (within 250m) from the randomly found position.
-//
+/*
+ Author: Andrew Gregory - EpochMod.com
+
+ Contributors:
+
+ Description:
+ Currently only used to find random position (Unused)
+ //TODO: Expand upon to find spot on road || in field for unit spawn.
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_code/compile/functions/EPOCH_fnc_findSafePos.sqf
+
+ Example:
+ _moveTo = [_centre, _min_distance, _max_distance, _height, _onRoad] call EPOCH_fnc_findSafePos;
+
+ Parameter(s):
+ _this select 0: SCALAR - center position
+ _this select 1: SCALAR - minimum distance away from centre to choose a location
+ _this select 2: SCALAR - minimum distance away from centre to choose a location
+ _this select 3: SCALAR - height - is passed through. [optional: default 0]
+ _this select 4: BOOL - will select a point on the nearest road (within 250m) from the randomly found position. [optional: default false]
+
+ Returns:
+ ARRAY
+*/
private["_MinDist","_MaxDist","_outHeight","_inPos","_rDist","_rDir","_outPos","_nrRoad","_nrRoads","_onRoad"];
_inPos = _this select 0;
_MinDist = _this select 1;
@@ -28,10 +47,10 @@ _rDir = random 360;
_outPos = [(_inPos select 0) + (sin _rDir) * _rDist, (_inPos select 1) + (cos _rDir) * _rDist, _outHeight];
if (_onRoad) then {
-_nrRoads = _outPos nearRoads 250;
+ _nrRoads = _outPos nearRoads 250;
if (count _nrRoads > 0) then {
- _nrRoad = _nrRoads select (floor(random (count _nrRoads)));
- _outPos = getPosATL _nrRoad;
+ _nrRoad = _nrRoads select (floor(random (count _nrRoads)));
+ _outPos = getPosATL _nrRoad;
};
};
_outPos
diff --git a/Sources/epoch_code/compile/functions/EPOCH_fnc_findSapperStalkLocation.sqf b/Sources/epoch_code/compile/functions/EPOCH_fnc_findSapperStalkLocation.sqf
index e4186aae..bb55770d 100644
--- a/Sources/epoch_code/compile/functions/EPOCH_fnc_findSapperStalkLocation.sqf
+++ b/Sources/epoch_code/compile/functions/EPOCH_fnc_findSapperStalkLocation.sqf
@@ -1,11 +1,31 @@
-//Picks a random spot relative to the target with some randomness.
-//usage: [200,50,60] call EPOCH_fnc_findRandomPosBehind
-//_maxIn - Maximum distance to choose point
-//_minIn - Minimum distance to choose point
-//_arcIn - Spread of arc in degrees relative to _unitIn. Is randomised to add fuzziness to final location.
-//_unitIn - Unit, player, vehicle etc.
-//_offset - Offset initial angle, allows to pick position to the side of _unitIn with -90 or 90.
-//_trgtIn = Target to use for relative position from _unitIn. Allows to pick a position left of _trgtin for example.
+/*
+ Author: Andrew Gregory - EpochMod.com
+
+ Contributors:
+
+ Description:
+ Picks a random spot relative to the target with some randomness. (Unused)
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_code/compile/functions/EPOCH_fnc_findSapperStalkLocation.sqf
+
+ Example:
+ _moveTo = [_centre, _min_distance, _max_distance, _height, _onRoad] call EPOCH_fnc_findSafePos;
+
+ Parameter(s):
+ _this select 0: SCALAR - Maximum distance to choose point
+ _this select 1: SCALAR - Minimum distance to choose point
+ _this select 2: SCALAR - Spread of arc in degrees relative to _unitIn. Is randomised to add fuzziness to final location.
+ _this select 3: OBJECT - Unit, player, vehicle etc.
+ _this select 4: SCALAR - Offset initial angle, allows to pick position to the side of _unitIn with -90 or 90.
+ _this select 5: OBJECT - Target to use for relative position from _unitIn. Allows to pick a position left of _trgtin for example. [optional: default false]
+
+ Returns:
+ ARRAY
+*/
_maxIn = _this select 0;
_minIn = _this select 1;
_arcIn = _this select 2;
@@ -14,9 +34,9 @@ _offset = _this select 4;
_trgtIn = _this select 5;
_dirTo = [position _unitIn, position _trgtIn] call BIS_fnc_dirTo;
_rnd = _offset - (random _arcIn);
-_pos = getPosATL _trgtIn;
+_pos = getPosATL _trgtIn;
_dist = ((random (_maxIn - _minIn)) + _minIn) max _minIn;
_dir = _dirTo - _rnd;
if (_dir<0) then {_dir = _dir + 360};
_outPos = [(_pos select 0) + (_dist*(sin _dir)), (_pos select 1) + (_dist*(cos _dir)), _pos select 2];
-_outPos
\ No newline at end of file
+_outPos
diff --git a/Sources/epoch_code/compile/functions/EPOCH_fnc_isInsideBuilding.sqf b/Sources/epoch_code/compile/functions/EPOCH_fnc_isInsideBuilding.sqf
index 36bfb4d0..f2f2c842 100644
--- a/Sources/epoch_code/compile/functions/EPOCH_fnc_isInsideBuilding.sqf
+++ b/Sources/epoch_code/compile/functions/EPOCH_fnc_isInsideBuilding.sqf
@@ -1,5 +1,28 @@
+/*
+ Author: Aaron Clark - EpochMod.com
+
+ Contributors:
+
+ Description:
+ Function to check if player is in a building.
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_code/compile/functions/EPOCH_fnc_isInsideBuilding.sqf
+
+ Example:
+ _inBuilding = call EPOCH_fnc_isInsideBuilding;
+
+ Parameter(s):
+ NONE
+
+ Returns:
+ BOOL
+*/
private ["_playerPosASL","_abovePlayerPosASL"];
_playerPosASL = visiblePositionASL player;
_abovePlayerPosASL = [_playerPosASL select 0,_playerPosASL select 1,(_playerPosASL select 2) + 10];
//Return:
-lineIntersects[_playerPosASL, _abovePlayerPosASL, player]
\ No newline at end of file
+lineIntersects[_playerPosASL, _abovePlayerPosASL, player]
diff --git a/Sources/epoch_code/compile/functions/EPOCH_fnc_playerDeath.sqf b/Sources/epoch_code/compile/functions/EPOCH_fnc_playerDeath.sqf
index 213354ff..cc05edfb 100644
--- a/Sources/epoch_code/compile/functions/EPOCH_fnc_playerDeath.sqf
+++ b/Sources/epoch_code/compile/functions/EPOCH_fnc_playerDeath.sqf
@@ -1,3 +1,28 @@
+/*
+ Author: Aaron Clark - EpochMod.com
+
+ Contributors:
+
+ Description:
+ Player death handler
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_code/compile/functions/EPOCH_fnc_playerDeath.sqf
+
+ Example:
+ player addEventHandler ["Killed", {_this call EPOCH_fnc_playerDeath}];
+
+ Parameter(s):
+ _this select 0: OBJECT - player
+ _this select 1: OBJECT - killer
+
+ Returns:
+ BOOL
+*/
+
private["_unit", "_killer"];
_unit = _this select 0;
_killer = _this select 1;
diff --git a/Sources/epoch_code/compile/functions/EPOCH_fnc_playerFired.sqf b/Sources/epoch_code/compile/functions/EPOCH_fnc_playerFired.sqf
index 778bed70..1708ce82 100644
--- a/Sources/epoch_code/compile/functions/EPOCH_fnc_playerFired.sqf
+++ b/Sources/epoch_code/compile/functions/EPOCH_fnc_playerFired.sqf
@@ -1,3 +1,33 @@
+/*
+ Author: Aaron Clark - EpochMod.com
+
+ Contributors:
+
+ Description:
+ Weapon fired handler
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_code/compile/functions/EPOCH_fnc_playerFired.sqf
+
+ Example:
+ player addEventHandler ["Fired", {_this call EPOCH_fnc_playerFired}];
+
+ Parameter(s):
+ _this select 0: unit: Object - Object the event handler is assigned to
+ _this select 1: weapon: String - Fired weapon
+ _this select 2: muzzle: String - Muzzle that was used
+ _this select 3: mode: String - Current mode of the fired weapon
+ _this select 4: ammo: String - Ammo used
+ _this select 5: magazine: String - magazine name which was used
+ _this select 6: projectile: Object - Object of the projectile that was shot (Arma 2: OA and onwards)
+
+ Returns:
+ NOTHING
+*/
+
private ["_highestDMG","_currentHIT","_currentDMG","_attachments","_newDMG","_cursorTarget","_repaired","_unit","_weapon","_ammo","_projectile"];
_unit = _this select 0;
_weapon = _this select 1;
diff --git a/Sources/epoch_code/compile/functions/EPOCH_fnc_stringLeft.sqf b/Sources/epoch_code/compile/functions/EPOCH_fnc_stringLeft.sqf
index 5855e66e..f2a89cb8 100644
--- a/Sources/epoch_code/compile/functions/EPOCH_fnc_stringLeft.sqf
+++ b/Sources/epoch_code/compile/functions/EPOCH_fnc_stringLeft.sqf
@@ -1,3 +1,27 @@
+/*
+ Author: Andrew Gregory - EpochMod.com
+
+ Contributors:
+
+ Description:
+ Picks a random spot relative to the target with some randomness. (Unused)
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_code/compile/functions/EPOCH_fnc_stringLeft.sqf
+
+ Example:
+ _trimmedStr = ["String In",3] call EPOCH_fnc_stringLeft;
+
+ Parameter(s):
+ _this select 0: STRING or anything - String to be trimmed
+ _this select 1: SCALAR - number of chars to remove
+
+ Returns:
+ STRING
+*/
private["_strIn","_strOut","_count","_return","_arrFull","_arrOut"];
_arrOut = [];
_strIn = _this select 0;
@@ -6,9 +30,9 @@ _count = _this select 1;
if (typename _strIn != "STRING") then {_strIn = str(_this select 0)};
_arrFull = toArray _strIn;
{
-if (_forEachIndex < _count) then {
-_arrOut pushBack _x;
-};
+ if (_forEachIndex < _count) then {
+ _arrOut pushBack _x;
+ };
}forEach _arrFull;
_return = toString _arrOut;
_return
diff --git a/Sources/epoch_code/compile/functions/EPOCH_itemData.sqf b/Sources/epoch_code/compile/functions/EPOCH_itemData.sqf
index 422b4049..c91b2b29 100644
--- a/Sources/epoch_code/compile/functions/EPOCH_itemData.sqf
+++ b/Sources/epoch_code/compile/functions/EPOCH_itemData.sqf
@@ -1,11 +1,29 @@
/*
-Returns string if only one element in second param, otherwise returns array
+ Author: Raimonds Virtoss - EpochMod.com
- _displayName = _item call epoch_itemData; // string
- _pic = [_item,["Picture"]] call epoch_itemData; //string
- _data = [_item,["picture","model","displayName"]] call epoch_itemData; //array
+ Contributors:
+
+ Description:
+ Sorts an array based on distance to input array. (unused)
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_code/compile/functions/Epoch_SortArrayByDistance.sqf
+
+ Example(s):
+ _displayName = _item call epoch_itemData; // string
+ _pic = [_item,["Picture"]] call epoch_itemData; //string
+ _data = [_item,["picture","model","displayName"]] call epoch_itemData; //array
+
+ Parameter(s):
+ _this select 0: STRING - Vehicle, Weapon, or Magazine config class name
+ _this select 1: STRING or ARRAY of config variables
+
+ Returns:
+ Returns STRING if only one element in second param, otherwise returns ARRAY
*/
-
private ["_item","_entries","_single","_arr","_return"];
_item = param [0,""];
_entries = param [1,["DisplayName"],[[]]];
diff --git a/Sources/epoch_code/compile/functions/EPOCH_itemDisplayName.sqf b/Sources/epoch_code/compile/functions/EPOCH_itemDisplayName.sqf
index 19ae673b..89dc86cc 100644
--- a/Sources/epoch_code/compile/functions/EPOCH_itemDisplayName.sqf
+++ b/Sources/epoch_code/compile/functions/EPOCH_itemDisplayName.sqf
@@ -1,4 +1,26 @@
+/*
+ Author: Aaron Clark - EpochMod.com
+ Contributors:
+
+ Description:
+ Returns the DisplayName of a Vehicle, Weapon, or Magazine.
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_code/compile/functions/EPOCH_itemDisplayName.sqf
+
+ Example:
+ _displayName = _part call EPOCH_itemDisplayName;
+
+ Parameter(s):
+ _this: STRING - Vehicle, Weapon, or Magazine config class name
+
+ Returns:
+ STRING
+*/
private ["_item"];
_item = _this;
_return = "";
diff --git a/Sources/epoch_code/compile/functions/EPOCH_itemPicture.sqf b/Sources/epoch_code/compile/functions/EPOCH_itemPicture.sqf
index b4f22ea3..c2c7909e 100644
--- a/Sources/epoch_code/compile/functions/EPOCH_itemPicture.sqf
+++ b/Sources/epoch_code/compile/functions/EPOCH_itemPicture.sqf
@@ -1,3 +1,26 @@
+/*
+ Author: Aaron Clark - EpochMod.com
+
+ Contributors:
+
+ Description:
+ Returns the picture variable of a Vehicle, Weapon, or Magazine.
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_code/compile/functions/EPOCH_itemPicture.sqf
+
+ Example:
+ _picture = _part call EPOCH_itemPicture;
+
+ Parameter(s):
+ _this: STRING - Vehicle, Weapon, or Magazine config class name
+
+ Returns:
+ STRING
+*/
private ["_item"];
_item = _this;
_return = "";
diff --git a/Sources/epoch_code/compile/functions/EPOCH_pushCustomVar.sqf b/Sources/epoch_code/compile/functions/EPOCH_pushCustomVar.sqf
index 188bc59e..7812790f 100644
--- a/Sources/epoch_code/compile/functions/EPOCH_pushCustomVar.sqf
+++ b/Sources/epoch_code/compile/functions/EPOCH_pushCustomVar.sqf
@@ -1,3 +1,26 @@
+/*
+ Author: Aaron Clark - EpochMod.com
+
+ Contributors:
+
+ Description:
+ Sends message server to save custom variables from player
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_code/compile/functions/EPOCH_pushCustomVar.sqf
+
+ Example:
+ true call EPOCH_pushCustomVar;
+
+ Parameter(s):
+ _this: BOOL - true = fast save, false = slow save window
+
+ Returns:
+ NOTHING
+*/
private ["_tempVars","_tempVal","_tempIndex","_time"];
_time = if (_this) then [{15},{80}];
diff --git a/Sources/epoch_code/compile/functions/EPOCH_returnConfig.sqf b/Sources/epoch_code/compile/functions/EPOCH_returnConfig.sqf
index a1d8d31b..41ebc6b2 100644
--- a/Sources/epoch_code/compile/functions/EPOCH_returnConfig.sqf
+++ b/Sources/epoch_code/compile/functions/EPOCH_returnConfig.sqf
@@ -1,3 +1,26 @@
+/*
+ Author: Aaron Clark - EpochMod.com
+
+ Contributors:
+
+ Description:
+ Returns missionConfigFile if exists otherwise uses configFile
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_code/compile/functions/EPOCH_returnConfig.sqf
+
+ Example:
+ _config = 'CfgCrafting' call EPOCH_returnConfig;
+
+ Parameter(s):
+ _this: STRING - Config class name
+
+ Returns:
+ CONFIG
+*/
private["_return", "_config"];
_return = (configfile >> _this);
_config = (missionConfigFile >> _this);
diff --git a/Sources/epoch_code/compile/functions/Epoch_SortArrayByDistance.sqf b/Sources/epoch_code/compile/functions/Epoch_SortArrayByDistance.sqf
index 11be6f22..642e2dfc 100644
--- a/Sources/epoch_code/compile/functions/Epoch_SortArrayByDistance.sqf
+++ b/Sources/epoch_code/compile/functions/Epoch_SortArrayByDistance.sqf
@@ -1,3 +1,27 @@
+/*
+ Author: Aaron Clark - EpochMod.com
+
+ Contributors:
+
+ Description:
+ Sorts an array based on distance to input array. (unused)
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_code/compile/functions/Epoch_SortArrayByDistance.sqf
+
+ Example:
+ _sorted = [_unsorted, _inPosition] call Epoch_SortArrayByDistance;
+
+ Parameter(s):
+ _this select 0: ARRAY - of unsorted positions
+ _this select 1: ARRAY - position
+
+ Returns:
+ ARRAY of ARRAYS
+*/
private ["_sorted","_closest","_unsorted","_pos","_testPos","_closestPos"];
_sorted = [];
_closest = [];
@@ -8,13 +32,13 @@ _sorted = [];
_testPos = [0,0,0];
_closestPos = [0,0,0];
{
- _closest = _unsorted select count _unsorted -1;
- {
- if (typename _x == "OBJECT") then {_testPos = position _x}else{_testPos = _x};
- if (typename _closest == "OBJECT") then {_closestPos = position _closest}else{_closestPos = _closest};
- if ((_testPos distance _pos) < (_closestPos distance _pos)) then {_closest = _x};
- } forEach _unsorted;
- _sorted pushBack _closest;
- _unsorted = _unsorted - [_closest];
+ _closest = _unsorted select count _unsorted -1;
+ {
+ if (typename _x == "OBJECT") then {_testPos = position _x}else{_testPos = _x};
+ if (typename _closest == "OBJECT") then {_closestPos = position _closest}else{_closestPos = _closest};
+ if ((_testPos distance _pos) < (_closestPos distance _pos)) then {_closest = _x};
+ } forEach _unsorted;
+ _sorted pushBack _closest;
+ _unsorted = _unsorted - [_closest];
} forEach _unsorted;
-_sorted
\ No newline at end of file
+_sorted
diff --git a/Sources/epoch_code/compile/setup/EPOCH_clientInit.sqf b/Sources/epoch_code/compile/setup/EPOCH_clientInit.sqf
index 32bae9b7..b9855422 100644
--- a/Sources/epoch_code/compile/setup/EPOCH_clientInit.sqf
+++ b/Sources/epoch_code/compile/setup/EPOCH_clientInit.sqf
@@ -1,3 +1,26 @@
+/*
+ Author: Aaron Clark - EpochMod.com
+
+ Contributors:
+
+ Description:
+ Initalize player variables
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_code/compile/setup/EPOCH_clientInit.sqf
+
+ Example:
+ call EPOCH_clientInit;
+
+ Parameter(s):
+ NONE
+
+ Returns:
+ NOTHING
+*/
EPOCH_buildMode = 0;
EPOCH_buildDirection = 0;
EPOCH_debugMode = false;
diff --git a/Sources/epoch_code/compile/setup/EPOCH_clientKeyMap.sqf b/Sources/epoch_code/compile/setup/EPOCH_clientKeyMap.sqf
index e28f67d2..d8d6fbba 100644
--- a/Sources/epoch_code/compile/setup/EPOCH_clientKeyMap.sqf
+++ b/Sources/epoch_code/compile/setup/EPOCH_clientKeyMap.sqf
@@ -1,3 +1,27 @@
+/*
+ Author: Raimonds Virtoss - EpochMod.com
+
+ Contributors:
+
+ Description:
+ Custom Epoch keymap
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_code/compile/setup/EPOCH_clientKeyMap.sqf
+
+ Example:
+ _arr = 2 call EPOCH_clientKeyMap;
+
+ Parameter(s):
+ TBA
+
+ Returns:
+ Mixed
+*/
+
private ["_keyMap","_args","_input","_return"];
params [["_args",0],["_input",0]];
@@ -8,7 +32,7 @@ _keyMap =
["Holster Weapon", "EPOCH_keysHolster", 35],
["Debug Monitor", "EPOCH_keysDebugMon", 41],
["Trade", "EPOCH_keysAcceptTrade", 0x14],
-
+
["Volume + (ctrl)","EPOCH_keysVolumeUp",0x0D],
["Volume - (ctrl)","EPOCH_keysVolumeDown",0x0C],
["Build: Mode 1", "EPOCH_keysBuildMode1", 2],
@@ -31,27 +55,27 @@ switch (_args) do {
{
call compile format ["%1 = profileNamespace getVariable ['%1', %2]",_x select 1, _x select 2];
} forEach _keyMap;
-
+
_return = true;
};
-
+
case 1: //delete all profile namespace variables
{
{
profileNamespace setVariable [_x select 1, nil];
} forEach _keyMap;
-
+
_return = true;
};
-
+
case 2: //returns keymap to a caller for processing
{
_return = _keyMap;
};
-
+
case 3: //search by variable name and return element if exists (not tested)
{
- _return =
+ _return =
{
_s = toLower(_x select 1) find toLower _input;
if (_s > -1) exitWith {_x};
diff --git a/Sources/epoch_code/compile/setup/EPOCH_clientRespawn.sqf b/Sources/epoch_code/compile/setup/EPOCH_clientRespawn.sqf
index 4969200d..fd4d004b 100644
--- a/Sources/epoch_code/compile/setup/EPOCH_clientRespawn.sqf
+++ b/Sources/epoch_code/compile/setup/EPOCH_clientRespawn.sqf
@@ -1,5 +1,5 @@
call EPOCH_clientInit;
-[] spawn EPOCH_masterLoop_v2;
+[] spawn EPOCH_masterLoop;
[5,100] call EPOCH_niteLight;
Epoch_canBeRevived = true;
diff --git a/Sources/epoch_code/compile/setup/EPOCH_clientRevive.sqf b/Sources/epoch_code/compile/setup/EPOCH_clientRevive.sqf
index 52010850..d9af566f 100644
--- a/Sources/epoch_code/compile/setup/EPOCH_clientRevive.sqf
+++ b/Sources/epoch_code/compile/setup/EPOCH_clientRevive.sqf
@@ -1,4 +1,27 @@
-//
+/*
+ Author: Aaron Clark - EpochMod.com
+
+ Contributors:
+
+ Description:
+ Unisex check for vests, gives swing ammo and performs radio changed check
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_code/compile/setup/EPOCH_clientRevive.sqf
+
+ Example:
+ _data call EPOCH_clientRevive;
+
+ Parameter(s):
+ _this select 0: OBJECT - player object
+ _this select 1: STRING - personal token
+
+ Returns:
+ NOTHING
+*/
_playerObject = _this select 0;
if !(alive player && alive _playerObject && !isPlayer _playerObject) then {
_ply = player;
@@ -12,7 +35,7 @@ if !(alive player && alive _playerObject && !isPlayer _playerObject) then {
Epoch_personalToken = _this select 1;
// call EPOCH_clientInit;
- [] spawn EPOCH_masterLoop_v2;
+ [] spawn EPOCH_masterLoop;
[5, 100] call EPOCH_niteLight;
closeDialog 0;
@@ -20,11 +43,11 @@ if !(alive player && alive _playerObject && !isPlayer _playerObject) then {
player addEventHandler ["Respawn", {(_this select 0) call EPOCH_clientRespawn}];
player addEventHandler ["Put", {(_this select 1) call EPOCH_interact;_this call EPOCH_PutHandler}];
- player addEventHandler ["Take", {(_this select 1) call EPOCH_interact;_this call EPOCH_UnisexCheck}];
+ player addEventHandler ["Take", {(_this select 1) call EPOCH_interact;_this call EPOCH_UnisexCheck}];
player addEventHandler ["InventoryClosed", { if !(EPOCH_arr_interactedObjs isEqualTo[]) then{EPOCH_arr_interactedObjs remoteExec["EPOCH_server_save_vehicles", 2]; EPOCH_arr_interactedObjs = []; }; }];
player addEventHandler ["InventoryOpened", {_this spawn EPOCH_initUI; (locked (_this select 1) in [2, 3] || (_this select 1) getVariable["EPOCH_Locked", false]) }];
- player addEventHandler ["Fired", {_this call EPOCH_fnc_playerFired}];
- player addEventHandler ["Killed", {_this call EPOCH_fnc_playerDeath}];
+ player addEventHandler ["Fired", {_this call EPOCH_fnc_playerFired}];
+ player addEventHandler ["Killed", {_this call EPOCH_fnc_playerDeath}];
} else {
deleteVehicle _playerObject;
};
diff --git a/Sources/epoch_code/compile/setup/EPOCH_client_publicEH.sqf b/Sources/epoch_code/compile/setup/EPOCH_client_publicEH.sqf
index 0e88f9e3..7ff33a5e 100644
--- a/Sources/epoch_code/compile/setup/EPOCH_client_publicEH.sqf
+++ b/Sources/epoch_code/compile/setup/EPOCH_client_publicEH.sqf
@@ -1,3 +1,31 @@
+/*
+ Author: Aaron Clark - EpochMod.com
+
+ Contributors:
+
+ Description:
+ Custom addPublicVariableEventHandler with random variables
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_code/compile/setup/EPOCH_client_publicEH.sqf
+
+ Example:
+ call EPOCH_clientInit;
+
+ Parameter(s):
+ _this select 0: STRING - main random string to listen for events
+ _this select 1+: random strings
+ Returns:
+ NOTHING
+*/
+if (_this) then {
+ PLAYER_BADHIVE = true;
+ publicVariableServer "PLAYER_BADHIVE";
+};
+
call compile ("
'"+(_this select 0)+"' addPublicVariableEventHandler {
"+(_this select 0)+" = nil;
@@ -25,4 +53,4 @@ call compile ("
case "+str(_this select 20)+": { _data call EPOCH_mission_returnObj };
};
};
-");
\ No newline at end of file
+");
diff --git a/Sources/epoch_code/compile/setup/EPOCH_client_rejectPlayer.sqf b/Sources/epoch_code/compile/setup/EPOCH_client_rejectPlayer.sqf
index fdc68c7e..4c2ede88 100644
--- a/Sources/epoch_code/compile/setup/EPOCH_client_rejectPlayer.sqf
+++ b/Sources/epoch_code/compile/setup/EPOCH_client_rejectPlayer.sqf
@@ -1,4 +1,27 @@
+/*
+ Author: Aaron Clark - EpochMod.com
+
+ Contributors:
+
+ Description:
+ Reject players own connection
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_code/compile/setup/EPOCH_client_rejectPlayer.sqf
+
+ Example:
+ call EPOCH_clientInit;
+
+ Parameter(s):
+ _this: BOOL - true = set bad publicVariable to server forces kick
+
+ Returns:
+ NOTHING
+*/
if (_this) then {
PLAYER_BADHIVE = true;
publicVariableServer "PLAYER_BADHIVE";
-};
\ No newline at end of file
+};
diff --git a/Sources/epoch_code/compile/setup/EPOCH_masterLoop.sqf b/Sources/epoch_code/compile/setup/EPOCH_masterLoop.sqf
index a3961057..bd00dd6d 100644
--- a/Sources/epoch_code/compile/setup/EPOCH_masterLoop.sqf
+++ b/Sources/epoch_code/compile/setup/EPOCH_masterLoop.sqf
@@ -1,583 +1,62 @@
+/*
+ Author: Aaron Clark - EpochMod.com
+
+ Contributors:
+
+ Description:
+ Unisex check for vests, gives swing ammo and performs radio changed check
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_code/compile/setup/EPOCH_masterLoop.sqf
+
+ Example:
+ [] spawn EPOCH_masterLoop;
+
+ Parameter(s):
+ NONE
+
+ Returns:
+ NOTHING
+*/
disableSerialization;
-
-_EPOCH_1 = diag_tickTime;
-_EPOCH_10 = diag_tickTime;
-_EPOCH_15 = diag_tickTime;
-_EPOCH_30 = diag_tickTime;
-_EPOCH_60 = diag_tickTime;
-_EPOCH_300 = diag_tickTime;
-_EPOCH_600 = diag_tickTime;
-
-_prevEquippedItem = [];
-_damagePlayer = damage player;
-_panic = false;
-_prevEnergy = EPOCH_playerEnergy;
-
-// init config data
-_sapperRndChance = ["CfgEpochClient", "sapperRngChance", 100] call EPOCH_fnc_returnConfigEntryV2;
-EPOCH_droneRndChance = ["CfgEpochClient", "droneRngChance", 100] call EPOCH_fnc_returnConfigEntryV2;
-_baseHTLoss = ["CfgEpochClient", "baseHTLoss", 8] call EPOCH_fnc_returnConfigEntryV2;
-_energyCostNV = ["CfgEpochClient", "energyCostNV", 3] call EPOCH_fnc_returnConfigEntryV2;
-_energyRegenMax = ["CfgEpochClient", "energyRegenMax", 5] call EPOCH_fnc_returnConfigEntryV2;
-_energyRange = ["CfgEpochClient", "energyRange", 75] call EPOCH_fnc_returnConfigEntryV2;
-
-EPOCH_chargeRate = 0;
-
-// default data if mismatch
-if (count EPOCH_playerSpawnArray != count EPOCH_spawnIndex) then{
- { EPOCH_playerSpawnArray pushBack 0 } forEach EPOCH_spawnIndex;
-};
-
-9990 cutRsc ["EpochGameUI","PLAIN",2,false];
-_display = uiNamespace getVariable "EPOCH_EpochGameUI";
-
-_thirst = _display displayCtrl 21201;
-_hunger = _display displayCtrl 21202;
-_broken = _display displayCtrl 21203;
-_oxygen = _display displayCtrl 21204;
-_hazzard = _display displayCtrl 21205;
-_emergency = _display displayCtrl 21206;
-
+_config = 'CfgMasterLoop' call EPOCH_returnConfig;
+_build_sqf = preprocessFile getText (_config >> "Init" >> "file");
+_configs = "true" configClasses (_config >> "Events");
+_condition = getText (_config >> "Events" >> "condition");
+_file = getText (_config >> "Events" >> "file");
{
- _x ctrlShow false;
-}forEach[_thirst,_hunger,_broken,_oxygen,_hazzard,_emergency];
-
-// find radio
-{
- if (configName(inheritsFrom(configFile >> "CfgWeapons" >> _x)) == "ItemRadio") exitWith{
- EPOCH_equippedItem_PVS = [_x, true, player];
- };
-} forEach assignedItems player;
-
-// lootBubble Init
-_loots = ["CfgEpochClient", "lootClasses", EPOCH_lootClasses] call EPOCH_fnc_returnConfigEntryV2;
-
-_lootClasses = ('CfgBuildingLootPos' call EPOCH_returnConfig) call Bis_fnc_getCfgSubClasses;
-_lootClasses = _lootClasses - ["Default"];
-
-_lootBubble = {
- private["_pos", "_others", "_objects", "_nearObjects", "_building", "_travelDir", "_lootDist", "_xPos", "_yPos", "_lootLoc", "_playerPos", "_distanceTraveled", "_class", "_dir", "_color", "_colors", "_item", "_randomColor", "_positions", "_lootBiasPos", "_lootType", "_config"];
- _playerPos = getPosATL vehicle player;
- _distanceTraveled = EPOCH_lastPlayerPos distance _playerPos;
- if (_distanceTraveled > 10 && _distanceTraveled < 200) then {
- _travelDir = [EPOCH_lastPlayerPos, _playerPos] call BIS_fnc_dirTo;
- _lootDist = 30 + _distanceTraveled;
- _xPos = (_playerPos select 0) + (_lootDist * sin(_travelDir));
- _yPos = (_playerPos select 1) + (_lootDist * cos(_travelDir));
- _lootLoc = [_xPos, _yPos, 0];
-
- _objects = nearestObjects[_lootLoc, _lootClasses, 30];
- _config = 'CfgEpochClient' call EPOCH_returnConfig;
- _buildingJammerRange = getNumber(_config >> "buildingJammerRange");
- if (_buildingJammerRange == 0) then { _buildingJammerRange = 75; };
-
- _jammer = nearestObjects [_lootLoc, ["PlotPole_EPOCH"], _buildingJammerRange];
-
- if (!(_objects isEqualTo[]) && (_jammer isEqualTo[])) then {
-
- _building = _objects select(floor(random(count _objects)));
-
- if !(_building in EPOCH_LootedBlds) then {
-
- _pos = getPosATL _building;
- _others = _building nearEntities[["Epoch_Male_F", "Epoch_Female_F"], 15];
- if (_others isEqualTo[]) then {
-
- _nearObjects = nearestObjects[_pos, ["WH_Loot", "Animated_Loot"], 35];
- if (_nearObjects isEqualTo[]) then {
-
- _config = ('CfgBuildingLootPos' call EPOCH_returnConfig) >> (typeOf _building);
-
- if (isClass(_config)) then {
-
- _lootBiasPos = getNumber(_config >> "lootBiasPos");
- _lootType = getText(_config >> "lootType");
-
- EPOCH_LootedBlds pushBack _building;
- if (count EPOCH_LootedBlds >= 20) then {
- EPOCH_LootedBlds deleteAt 0;
- };
-
- {
- _positions = [] + getArray(_config >> (_x select 0));
- if !(_positions isEqualTo[]) then {
- _class = _x select 1;
- _randomColor = _x select 2;
- {
-
- if ((random 100) < _lootBiasPos) then {
-
- _pos = _building modelToWorld(_x select 0);
-
- if (nearestObjects[_pos, ["WH_Loot", "Animated_Loot"], 2] isEqualTo[]) then {
-
- if ((typeName _class) == "ARRAY") then {
- _class = _class select(floor(random(count _class)));
- };
-
- _dir = (_x select 1) + (getDir _building);
- if (_dir > 360) then {
- _dir = _dir - 360;
- };
-
- // Temp for now till we get more
- if (_lootType == "mil" && _class == "Bed_EPOCH") then {
- _class = "Bunk_EPOCH";
- };
-
- _item = createVehicle[_class, _pos, [], 0.0, "CAN_COLLIDE"];
- _item setDir _dir;
-
- // force item to ground level is resulting z pos is below ground.
- if (_pos select 2 < 0) then {
- _pos set[2, 0];
- };
-
- if (surfaceIsWater _pos) then {
- _item setPosASL _pos;
- } else {
- _item setPosATL _pos;
- };
-
- if (typeName _randomColor isEqualTo "STRING") then {
- _randomColor = _randomColor isEqualTo "true";
- };
-
- if (_randomColor) then {
- _colors = [] + getArray(configFile >> "CfgVehicles" >> _class >> "availableTextures");
- if !(_colors isEqualTo[]) then {
- _color = _colors select floor(random(count _colors));
- _item setObjectTextureGlobal[0, _color];
- };
- };
- };
- };
- }forEach _positions;
- };
- }forEach _loots;
- };
- };
- };
- };
- };
- };
- EPOCH_lastPlayerPos = _playerPos;
-};
-
-// [control,bool] call _fadeUI;
-_fadeUI = {
- private ["_ctrl"];
- _ctrl = _this select 0;
- if (_this select 1) then {
- if (ctrlFade _ctrl == 0) then {
- _ctrl ctrlSetFade 1;
- _ctrl ctrlCommit 0.5;
- };
- if (ctrlFade _ctrl == 1) then {
- _ctrl ctrlSetFade 0;
- _ctrl ctrlCommit 0.5;
- };
- } else {
- if (ctrlFade _ctrl != 1) then {
- _ctrl ctrlSetFade 0;
- _ctrl ctrlCommit 0;
- };
- };
-};
-
-_cursorTarget = objNull;
-
-// Master Loop Start
-while {alive player} do {
-
+ _configName = configName _x;
+ _varName = format["_EPOCH_%1",_configName];
+ _build_sqf = _build_sqf + '
+ '+_varName+' = diag_tickTime;
+ ';
+}forEach _configs;
+_build_sqf = _build_sqf + '
+while {'+_condition+'} do {
_tickTime = diag_tickTime;
-
- // 1 second
- if ((_tickTime - _EPOCH_1) > 1) then {
-
- _EPOCH_1 = _tickTime;
-
- // current target
-
- _currentTarget = objNull;
- _cursorTarget = ([10] call EPOCH_fnc_cursorTarget);
- if (!isNull _cursorTarget && {!(EPOCH_target isEqualTo _cursorTarget)}) then {
- if (_cursorTarget isKindOf "ThingX" || _cursorTarget isKindOf "Constructions_static_F" || _cursorTarget isKindOf "Constructions_foundation_F" || _cursorTarget isKindOf "WeaponHolder" || _cursorTarget isKindOf "AllVehicles" || _cursorTarget isKindOf "PlotPole_EPOCH") then{
- if (_cursorTarget isKindOf "Animal_Base_F") then {
- if !(alive _cursorTarget) then {
- _currentTarget = _cursorTarget;
- };
- } else {
- _currentTarget = _cursorTarget;
- };
- };
- };
- EPOCH_currentTarget = _currentTarget;
-
- _increaseStamina = false;
- _vehicle = vehicle player;
- if (_vehicle == player) then {
- _val = log(abs(speed player));
- _staminaThreshold = 0.7;
- if (EPOCH_playerIsSwimming) then {_staminaThreshold = 0.3};
- if (_val>_staminaThreshold) then {
- EPOCH_playerStamina = (EPOCH_playerStamina - (_val/4)) max 0;
- } else {
- _increaseStamina = true;
- };
- } else {
- if (EPOCH_buildMode > 0) then {
- EPOCH_buildMode = 0;
- EPOCH_snapDirection = 0;
- hintsilent "BUILD MODE: DISABLED";
- EPOCH_Target = objNull;
- // EPOCH_SURVEY = [];
- };
- _increaseStamina = true;
-
- switch (typeOf _vehicle) do {
- case "jetski_epoch": {
- _clock_hour10 = floor ((date select 3)/10);
- _clock_minute10 = floor ((date select 4)/10);
- {
- _vehicle setObjectTexture [_forEachIndex,_x];
- }forEach[
- format["\x\addons\a3_epoch_vehicles\data\num%1_ca.paa",_clock_hour10],
- format["\x\addons\a3_epoch_vehicles\data\num%1_ca.paa",(date select 3)-(_clock_hour10*10)],
- format["\x\addons\a3_epoch_vehicles\data\num%1_ca.paa",_clock_minute10],
- format["\x\addons\a3_epoch_vehicles\data\num%1_ca.paa",(date select 4)-(_clock_minute10*10)],
- format["\x\addons\a3_epoch_vehicles\data\fuel%1_ca.paa",floor(fuel _vehicle*10)]
- ];
- };
- case "ebike_epoch": {
- {
- _vehicle setObjectTexture [_forEachIndex,_x];
- }forEach[
- format["\x\addons\a3_epoch_vehicles\data\speed%1_ca.paa",floor(speed _vehicle/9) max 0],
- format["\x\addons\a3_epoch_vehicles\data\energ%1_ca.paa",floor(fuel _vehicle*14)]
- ];
- };
- };
- };
-
- _envCold = EPOCH_playerTemp <= 95.0;
- _envHot = EPOCH_playerTemp >= 106.7;
- _hungry = EPOCH_playerHunger <= 0;
- _thirsty = EPOCH_playerThirst <= 0;
- _warnbloodPressure = EPOCH_playerBloodP > 120;
-
- _thirst ctrlShow (EPOCH_playerThirst <= 625);
- if (ctrlShown _thirst) then {
- [_thirst,_thirsty] call _fadeUI;
- _thirstScale = linearConversion [0,EPOCH_playerThirst,2500,0.01,1];
- _thirst ctrlSetTextColor [_thirstScale, _thirstScale, 0.9, 1];
- };
-
- _hunger ctrlShow (EPOCH_playerHunger <= 1250);
- if (ctrlShown _hunger) then {
- [_hunger,_hungry] call _fadeUI;
- _hungerScale = linearConversion [0,EPOCH_playerHunger,5000,0.01,1];
- _hunger ctrlSetTextColor [1, _hungerScale, _hungerScale, 1];
- };
-
- _playerOxygen = getOxygenRemaining player;
- _oxygen ctrlShow (_playerOxygen < 1);
- if (ctrlShown _oxygen) then {
- [_oxygen,(_playerOxygen <= 0.55)] call _fadeUI;
- _oxygen ctrlSetTextColor [1, _playerOxygen, _playerOxygen, 1];
- };
-
- _hazzard ctrlShow (EPOCH_playerToxicity > 1);
- if (ctrlShown _hazzard) then {
- [_hazzard,(EPOCH_playerToxicity >= 55)] call _fadeUI;
- _toxicScale = 1-linearConversion [0,EPOCH_playerToxicity,100,0.01,1];
- _hazzard ctrlSetTextColor [_toxicScale, 1, _toxicScale, 1];
- };
-
- _broken ctrlShow ((player getHitPointDamage "HitLegs") >= 0.5);
- if (ctrlShown _broken) then {
- [_broken,true] call _fadeUI;
- };
-
- if (_envCold || _envHot || _hungry || _thirsty) then {
- if (_envHot || _envCold) then {
- player setFatigue 1;
- };
- EPOCH_playerBloodP = (EPOCH_playerBloodP + 0.05) min 190;
- _increaseStamina = false;
- } else {
- if (EPOCH_playerStamina > 0) then {
- if !(_panic) then {
- if (!_warnbloodPressure) then {
- player setFatigue 0;
- };
- EPOCH_playerBloodP = EPOCH_playerBloodP - 1 max 100;
- };
- };
- };
-
- _critical = (damage player >= 0.7 || _warnbloodPressure);
- _emergency ctrlShow _critical;
- if (ctrlShown _emergency) then {
- [_emergency,(EPOCH_playerBloodP > 140)] call _fadeUI;
- _emergencyScale = 1-linearConversion [0,EPOCH_playerBloodP,180,0.01,1];
- _emergency ctrlSetTextColor [1, _emergencyScale, _emergencyScale, 1];
- };
-
- if (EPOCH_playerBloodP >= 180) then {
- true call EPOCH_pushCustomVar;
- };
- if (_increaseStamina && (getFatigue player) == 0) then {
- EPOCH_playerStamina = (EPOCH_playerStamina + 0.5) min EPOCH_playerStaminaMax;
- };
- if (EPOCH_debugMode) then {
- call EPOCH_debugMonitor;
- };
-
- call EPOCH_TradeLoop;
-
- //Good bye onEachFrame hacks ;)
- onEachFrame EPOCH_onEachFrame;
+';
+{
+ _delay = getNumber(_x >> "delay");
+ _configName = configName _x;
+ _varName = format["_EPOCH_%1",_configName];
+ _code = preprocessFile format ["%1\%2.sqf",_file,_configName];
+ _build_sqf = _build_sqf + '
+ if ((_tickTime - '+_varName+') > '+str(_delay)+') then {
+ '+_varName+' = _tickTime;
+ '+_code+'
};
-
- // 10 seconds
- if ((_tickTime - _EPOCH_10) > 10) then {
-
- _EPOCH_10 = _tickTime;
-
- if !(EPOCH_arr_interactedObjs isEqualTo[]) then {
- EPOCH_arr_interactedObjs remoteExec["EPOCH_server_save_vehicles", 2];
- EPOCH_arr_interactedObjs = [];
- };
-
- if (damage player != _damagePlayer) then {
- if (alive player) then {
- true call EPOCH_pushCustomVar;
- _damagePlayer = damage player;
- };
- };
-
- if ((rating player) < 0) then {
- player addRating abs(rating player);
- };
-
- // calculate total available power
- // 1. number of power production devices within range 75m
-
- // find share of power based on factors
- // 1. number of players
- // 2. Other sources of drain (Lights)
-
- _energyValue = EPOCH_chargeRate min _energyRegenMax;
- _vehicle = vehicle player;
- if (_vehicle != player && isEngineOn _vehicle) then {
- _energyValue = _energyValue + 5;
- };
-
- if (currentVisionMode player == 1) then { //NV enabled
- _energyValue = _energyValue - _energyCostNV;
- if (EPOCH_playerEnergy == 0) then {
- player action["nvGogglesOff", player];
- };
- };
-
- EPOCH_playerEnergy = ((EPOCH_playerEnergy + _energyValue) min EPOCH_playerEnergyMax) max 0;
-
- if !(EPOCH_playerEnergy isEqualTo _prevEnergy) then {
- 9993 cutRsc["EpochGameUI3", "PLAIN", 0, false];
- _display3 = uiNamespace getVariable "EPOCH_EpochGameUI3";
- _energyDiff = round(EPOCH_playerEnergy - _prevEnergy);
- _diffText = if (_energyDiff > 0) then {format["+%1",_energyDiff]} else {format["%1",_energyDiff]};
- // hint str [_energyValue,_prevEnergy,EPOCH_playerEnergy];
- (_display3 displayCtrl 21210) ctrlSetText format["%1/%2 %3", round(EPOCH_playerEnergy), EPOCH_playerEnergyMax, _diffText];
- _prevEnergy = EPOCH_playerEnergy;
- };
-
- if (EPOCH_playerEnergy == 0) then {
- if (EPOCH_buildMode > 0) then {
- EPOCH_buildMode = 0;
- EPOCH_snapDirection = 0;
- _dt = ["Build Mode Disabled: Need Energy< / t>", 0, 1, 5, 2, 0, 1] spawn bis_fnc_dynamictext;
- EPOCH_Target = objNull;
- EPOCH_Z_OFFSET = 0;
- EPOCH_X_OFFSET = 0;
- EPOCH_Y_OFFSET = 5;
- };
- };
-
- _attackers = player nearEntities[["Snake_random_EPOCH", "GreatWhite_F", "Epoch_Cloak_F"], 30];
- if !(_attackers isEqualTo[]) then {
- (_attackers select 0) call EPOCH_client_bitePlayer;
- _panic = true;
- } else {
- // custom poision
- _toxicObjs = player nearobjects["SmokeShellCustom", 6];
- if!(_toxicObjs IsEqualTo[]) then {
- (_toxicObjs select 0) call EPOCH_client_bitePlayer;
- _panic = true;
- } else {
- _panic = false;
- };
- };
-
- call EPOCH_fnc_Weather;
-
- // Hunger / Thirst
- _HTlossRate = _baseHTLoss;
- if (EPOCH_playerStamina < 100) then {
- if ((getFatigue player) > 0) then {
- _HTlossRate = _HTlossRate + (_HTlossRate*(getFatigue player));
- };
- } else {
- _HTlossRate = (_HTlossRate / 2);
- };
-
- EPOCH_playerHunger = (EPOCH_playerHunger - _HTlossRate) max 0;
- EPOCH_playerThirst = (EPOCH_playerThirst - _HTlossRate) max 0;
-
- call _lootBubble;
-
- EPOCH_playerStaminaMax = (100 * (round(EPOCH_playerAliveTime/360)/10)) min 2500;
- };
-
- if ((_tickTime - _EPOCH_15) > 15) then {
- _EPOCH_15 = _tickTime-10;
-
- if !(_prevEquippedItem isEqualTo EPOCH_equippedItem_PVS) then {
- _EPOCH_15 = _tickTime;
- _prevEquippedItem = EPOCH_equippedItem_PVS;
- publicVariableServer "EPOCH_equippedItem_PVS";
- };
- };
-
- if ((_tickTime - _EPOCH_30) > 30) then {
- _EPOCH_30 = _tickTime;
-
- _nearByBobbersLocal = [];
- _nearByBobbers = player nearEntities[["Bobber_EPOCH"], 12];
- {
- if (local _x) then {
- _nearByBobbersLocal pushBack _x
- }
- } forEach _nearByBobbers;
-
- if !(_nearByBobbersLocal isEqualTo []) then {
- if ((random 100) < 50) then {
- _bobber = _nearByBobbersLocal select floor(random(count _nearByBobbers));
- _bobber setVelocity [0,-1,-1];
- _bobber setVariable ["EPOCH_fishOnLine" , diag_tickTime];
- };
-
- };
-
- };
-
-
-
- if ((_tickTime - _EPOCH_60) > 60) then {
-
- _EPOCH_60 = _tickTime;
- _position = getPosATL player;
-
- EPOCH_nearestLocations = nearestLocations[player, ["NameCityCapital", "NameCity", "Airport"], 300];
- EPOCH_playerIsSwimming = false;
-
- if !(surfaceIsWater _position) then {
- if (EPOCH_nearestLocations isEqualTo []) then{
- if (count(_position nearEntities["Animal_Base_F", 800]) < 2) then {
- // diag_log "DEBUG: Attempt to spawn animal";
- call EPOCH_client_loadAnimalBrain;
- };
- };
- } else {
- // spawn shark if player is deep water and not in vehicle
- if (vehicle player == player) then{
- _offsetZ = ((_position vectorDiff getPosASL player) select 2);
- if (_offsetZ > 1.7) then {
- EPOCH_playerIsSwimming = true;
- };
- if (_offsetZ > 50) then {
- "GreatWhite_F" call EPOCH_unitSpawn;
- };
- };
- };
-
- // default power state
- EPOCH_nearPower = false;
- EPOCH_chargeRate = 0;
-
- // energy Charge from nearby power plants
- _powerSources = nearestObjects[player, ["Land_spp_Tower_F","Land_wpp_Turbine_V2_F","Land_wpp_Turbine_V1_F","SolarGen_EPOCH"], _energyRange];
- if !(_powerSources isEqualTo[]) then {
- _totalCapacity = 0;
- {
- _powerClass = typeOf _x;
- _powerCap = getNumber(configFile >> "CfgVehicles" >> _powerClass >> "powerCapacity");
- _powerType = getNumber(configFile >> "CfgVehicles" >> _powerClass >> "powerType");
- if (_powerCap == 0) then {
- _powerCap = 100;
- };
- if (_powerType == 1) then {
- if (sunOrMoon < 1) then {
- _powerCap = _powerCap/2;
- };
- };
- _totalCapacity = _totalCapacity + _powerCap;
- } forEach _powerSources;
- if (_totalCapacity > 0) then {
- _players = player nearEntities[["Epoch_Male_F", "Epoch_Female_F"], _energyRange];
- if (_players isEqualTo []) then {
- EPOCH_chargeRate = ceil _totalCapacity;
- } else {
- EPOCH_chargeRate = ceil (_totalCapacity / (count _players));
- };
- EPOCH_nearPower = true;
- };
- };
-
- EPOCH_playerAliveTime = round(EPOCH_playerAliveTime + (_tickTime - EPOCH_clientAliveTimer));
- EPOCH_clientAliveTimer = _tickTime;
- };
-
- if ((_tickTime - _EPOCH_300) > 300) then {
- _EPOCH_300 = _tickTime;
- false call EPOCH_pushCustomVar;
- };
-
- if ((_tickTime - _EPOCH_600) > 600) then{
- _EPOCH_600 = _tickTime;
-
- if ((EPOCH_playerSpawnArray select(EPOCH_spawnIndex find "Epoch_Sapper_F")) <= 0) then{
- _sapperChance = 1 + (EPOCH_playerSoiled / 2);
- if !(EPOCH_nearestLocations isEqualTo[]) then{
- _sapperChance = _sapperChance + 2;
- };
- // 1% - 55% if soiled (+ 2% if in city) chance to spawn sapper every 10 minutes
- if (random _sapperRndChance < _sapperChance) then{
- "Epoch_Sapper_F" call EPOCH_unitSpawnIncrease;
- };
- };
-
- _spawnUnits = [];
- {
- if (_x > 0) then{
- _spawnUnits pushBack(EPOCH_spawnIndex select _forEachIndex);
- };
- } forEach EPOCH_playerSpawnArray;
-
- // test spawning one antagonist every 10 minutes select one unit at random to spawn
- if !(_spawnUnits isEqualTo[]) then{
- (_spawnUnits select(floor random(count _spawnUnits))) call EPOCH_unitSpawn;
- };
- };
-
-
+ ';
+}forEach _configs;
+_build_sqf = _build_sqf + '
if (vehicle player != player) then {
if (isNull EPOCH_currentVehicle) then {
EPOCH_currentVehicle = vehicle player;
EPOCH_currentVehicle addEventHandler["GetOut", "_this call EPOCH_antiWall"];
};
};
-
uiSleep 0.1;
-};
+};';
+call compile _build_sqf;
diff --git a/Sources/epoch_code/compile/setup/EPOCH_masterLoop_v2.sqf b/Sources/epoch_code/compile/setup/EPOCH_masterLoop_v2.sqf
deleted file mode 100644
index 5afeef29..00000000
--- a/Sources/epoch_code/compile/setup/EPOCH_masterLoop_v2.sqf
+++ /dev/null
@@ -1,40 +0,0 @@
-// EPOCHMOD.com
-disableSerialization;
-_config = 'CfgMasterLoop' call EPOCH_returnConfig;
-_build_sqf = preprocessFile getText (_config >> "Init" >> "file");
-_configs = "true" configClasses (_config >> "Events");
-_condition = getText (_config >> "Events" >> "condition");
-_file = getText (_config >> "Events" >> "file");
-{
- _configName = configName _x;
- _varName = format["_EPOCH_%1",_configName];
- _build_sqf = _build_sqf + '
- '+_varName+' = diag_tickTime;
- ';
-}forEach _configs;
-_build_sqf = _build_sqf + '
-while {'+_condition+'} do {
- _tickTime = diag_tickTime;
-';
-{
- _delay = getNumber(_x >> "delay");
- _configName = configName _x;
- _varName = format["_EPOCH_%1",_configName];
- _code = preprocessFile format ["%1\%2.sqf",_file,_configName];
- _build_sqf = _build_sqf + '
- if ((_tickTime - '+_varName+') > '+str(_delay)+') then {
- '+_varName+' = _tickTime;
- '+_code+'
- };
- ';
-}forEach _configs;
-_build_sqf = _build_sqf + '
- if (vehicle player != player) then {
- if (isNull EPOCH_currentVehicle) then {
- EPOCH_currentVehicle = vehicle player;
- EPOCH_currentVehicle addEventHandler["GetOut", "_this call EPOCH_antiWall"];
- };
- };
- uiSleep 0.1;
-};';
-call compile _build_sqf;
diff --git a/Sources/epoch_code/compile/startFlock.sqf b/Sources/epoch_code/compile/startFlock.sqf
index cfd9fc9c..959e04d3 100644
--- a/Sources/epoch_code/compile/startFlock.sqf
+++ b/Sources/epoch_code/compile/startFlock.sqf
@@ -1,3 +1,18 @@
+/*
+ Author: Andrew Gregory - EpochMod.com
+
+ Contributors:
+
+ Description:
+ test code to spawn flocks (unused)
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_code/compile/startFlock.sqf
+*/
+
//
//Flocking (Emergent) Behaviour AI Test / Demo
//
diff --git a/Sources/epoch_code/compile/traders/EPOCH_tradeFilter.sqf b/Sources/epoch_code/compile/traders/EPOCH_tradeFilter.sqf
index 200a0f7e..2d7d7ab1 100644
--- a/Sources/epoch_code/compile/traders/EPOCH_tradeFilter.sqf
+++ b/Sources/epoch_code/compile/traders/EPOCH_tradeFilter.sqf
@@ -65,4 +65,4 @@ if (_items) then {
_array set [_array find _x,nil];
};
} forEach items player;
-};
\ No newline at end of file
+};
diff --git a/Sources/epoch_code/compile/vehicles/EPOCH_client_fillVehicle.sqf b/Sources/epoch_code/compile/vehicles/EPOCH_client_fillVehicle.sqf
index 79ed92e2..39631fa5 100644
--- a/Sources/epoch_code/compile/vehicles/EPOCH_client_fillVehicle.sqf
+++ b/Sources/epoch_code/compile/vehicles/EPOCH_client_fillVehicle.sqf
@@ -1,7 +1,21 @@
+/*
+ Author: Aaron Clark - EpochMod.com
+
+ Contributors:
+
+ Description:
+ sets Fuel on local vehicle
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_code/compile/vehicles/EPOCH_client_fillVehicle.sqf
+*/
private["_vehicle","_value"];
_vehicle = _this select 0;
_value = _this select 1;
if (local _vehicle) then {
_vehicle setFuel _value;
-};
\ No newline at end of file
+};
diff --git a/Sources/epoch_code/compile/vehicles/EPOCH_client_gearVehicle.sqf b/Sources/epoch_code/compile/vehicles/EPOCH_client_gearVehicle.sqf
index db0eec9b..3c40354b 100644
--- a/Sources/epoch_code/compile/vehicles/EPOCH_client_gearVehicle.sqf
+++ b/Sources/epoch_code/compile/vehicles/EPOCH_client_gearVehicle.sqf
@@ -1,7 +1,21 @@
+/*
+ Author: Aaron Clark - EpochMod.com
+
+ Contributors:
+
+ Description:
+ Open gear on cursorTarget function
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_code/compile/vehicles/EPOCH_client_gearVehicle.sqf
+*/
closeDialog 0;
if (!isNull cursorTarget) then {
_vehicles = player nearEntities[["LandVehicle", "Ship", "Air", "Tank"], 6];
if (cursorTarget in _vehicles) then {
player action["Gear", cursorTarget];
};
-};
\ No newline at end of file
+};
diff --git a/Sources/epoch_code/compile/vehicles/EPOCH_client_lockVehicle.sqf b/Sources/epoch_code/compile/vehicles/EPOCH_client_lockVehicle.sqf
index 488b5568..1825fcbc 100644
--- a/Sources/epoch_code/compile/vehicles/EPOCH_client_lockVehicle.sqf
+++ b/Sources/epoch_code/compile/vehicles/EPOCH_client_lockVehicle.sqf
@@ -1,7 +1,21 @@
+/*
+ Author: Aaron Clark - EpochMod.com
+
+ Contributors:
+
+ Description:
+ lock local object
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_code/compile/vehicles/EPOCH_client_lockVehicle.sqf
+*/
private["_vehicle","_value"];
_vehicle = _this select 0;
_value = _this select 1;
if (local _vehicle) then {
_vehicle lock _value;
-};
\ No newline at end of file
+};
diff --git a/Sources/epoch_code/compile/vehicles/EPOCH_client_repairVehicle.sqf b/Sources/epoch_code/compile/vehicles/EPOCH_client_repairVehicle.sqf
index 30ceedc6..a0c00ef3 100644
--- a/Sources/epoch_code/compile/vehicles/EPOCH_client_repairVehicle.sqf
+++ b/Sources/epoch_code/compile/vehicles/EPOCH_client_repairVehicle.sqf
@@ -1,7 +1,21 @@
+/*
+ Author: Aaron Clark - EpochMod.com
+
+ Contributors:
+
+ Description:
+ repair object via hit index
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_code/compile/vehicles/EPOCH_client_repairVehicle.sqf
+*/
private ["_vehicle","_value"];
_vehicle = _this select 0;
_value = _this select 1;
if (local _vehicle) then {
_currentDMG = _vehicle getHitIndex (_value select 0);
_vehicle setHitIndex[_value select 0, (_currentDMG - 0.5) max 0];
-};
\ No newline at end of file
+};
diff --git a/Sources/epoch_code/config.cpp b/Sources/epoch_code/config.cpp
index c9e36112..7600a908 100644
--- a/Sources/epoch_code/config.cpp
+++ b/Sources/epoch_code/config.cpp
@@ -1,3 +1,17 @@
+/*
+ Author: Aaron Clark - EpochMod.com
+
+ Contributors:
+
+ Description:
+ Epoch Code Config
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_code/config.cpp
+*/
class CfgPatches {
class A3_epoch_code {
units[] = {};
@@ -95,9 +109,6 @@ class cfgFunctions
class returnConfigEntryV2 {
file = "\x\addons\a3_epoch_code\compile\functions\EPOCH_fn_returnConfigEntryV2.sqf";
};
- class getHitpoints {
- file = "\x\addons\a3_epoch_code\compile\both\EPOCH_getHitpoints.sqf"
- };
class isAny {
file = "\x\addons\a3_epoch_code\compile\both\EPOCH_isAny.sqf"
};
@@ -185,7 +196,6 @@ class CfgClientFunctions
{
class client_publicEH {};
class masterLoop {};
- class masterLoop_v2 {};
class clientInit {};
class clientRespawn {};
class clientRevive {};
diff --git a/Sources/epoch_code/gui/scripts/Epoch_getIDC.sqf b/Sources/epoch_code/gui/scripts/Epoch_getIDC.sqf
index 12d1932f..1f6f3ba1 100644
--- a/Sources/epoch_code/gui/scripts/Epoch_getIDC.sqf
+++ b/Sources/epoch_code/gui/scripts/Epoch_getIDC.sqf
@@ -3,7 +3,9 @@
Pass the control to unregister or just call fnc to get a unique IDC
*/
private ["_in","_list","_out","_find"];
-_in = param [0,controlNull,[controlNull]];
+//_in = _this param [0,controlNull,[controlNull]];
+_in = [_this, 0, controlNull, [controlNull]] call BIS_fnc_param;
+
_list = missionNamespace getVariable ["rmx_var_uniqueIDC",[]];
if (ctrlIDC _in isEqualTo -1) then {
diff --git a/Sources/epoch_code/gui/scripts/dynamenu/Epoch_dynamicMenu.sqf b/Sources/epoch_code/gui/scripts/dynamenu/Epoch_dynamicMenu.sqf
index 79eb2ae1..295499b2 100644
--- a/Sources/epoch_code/gui/scripts/dynamenu/Epoch_dynamicMenu.sqf
+++ b/Sources/epoch_code/gui/scripts/dynamenu/Epoch_dynamicMenu.sqf
@@ -1,5 +1,7 @@
disableSerialization;
-_in = param [0, "", [""]];
+//_in = _this param [0, "", [""]];
+_in = [_this, 0, "", [""]] call BIS_fnc_param;
+
_display = findDisplay 66600;
_cfg = "CfgActionMenu" call EPOCH_returnConfig;
_arr = [];
diff --git a/Sources/epoch_code/gui/scripts/post_process/EPOCH_postprocessAdjust.sqf b/Sources/epoch_code/gui/scripts/post_process/EPOCH_postprocessAdjust.sqf
index 4a8e9c26..cc56d58d 100644
--- a/Sources/epoch_code/gui/scripts/post_process/EPOCH_postprocessAdjust.sqf
+++ b/Sources/epoch_code/gui/scripts/post_process/EPOCH_postprocessAdjust.sqf
@@ -1,11 +1,11 @@
/*
Adjusts PP created elsewhere (or by epoch_postprocessCreate)
-
+
Params: [Handle, speed integer, Effect array]
-
+
Usage: [_handle, 2, [1]] call epoch_postprocessAdjust; //apply dynamic blur with animation of 2 seconds
[_handle, _speed, _effect] call epoch_postprocessAdjust;
-
+
Default Engine values:
colorCorrections >> [1,1,0,0,0,0,0,0,0,0,1,0,0,0,0]
chromAberration >> [0,0,false]
@@ -25,4 +25,4 @@ if ((_handle isEqualTo 666) || (_animSpeed isEqualTo 666) || (_effect isEqualTo
_handle ppEffectEnable true;
_handle ppEffectAdjust _effect;
-_handle ppEffectCommit _animSpeed;
\ No newline at end of file
+_handle ppEffectCommit _animSpeed;
diff --git a/Sources/epoch_code/init/both_init.sqf b/Sources/epoch_code/init/both_init.sqf
index 53f618f1..8498e565 100644
--- a/Sources/epoch_code/init/both_init.sqf
+++ b/Sources/epoch_code/init/both_init.sqf
@@ -1,3 +1,18 @@
+/*
+ Author: Aaron Clark - EpochMod.com
+
+ Contributors:
+
+ Description:
+ Initalize variables used client side and server side
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_code/init/both_init.sqf
+*/
+
// Init Custom vars
EPOCH_customVars = [];
EPOCH_defaultVars = [];
diff --git a/Sources/epoch_code/init/client_init.sqf b/Sources/epoch_code/init/client_init.sqf
index 4ec06a4a..ab6e27e4 100644
--- a/Sources/epoch_code/init/client_init.sqf
+++ b/Sources/epoch_code/init/client_init.sqf
@@ -1,3 +1,17 @@
+/*
+ Author: Aaron Clark - EpochMod.com
+
+ Contributors:
+
+ Description:
+ Initalize variables used client side and start login FSM
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_code/init/client_init.sqf
+*/
//Variables
EPOCH_CraftingItem = "";
EPOCH_ESP_TARGETS = [];
diff --git a/Sources/epoch_code/init/fn_init.sqf b/Sources/epoch_code/init/fn_init.sqf
index 3516078a..6f22586a 100644
--- a/Sources/epoch_code/init/fn_init.sqf
+++ b/Sources/epoch_code/init/fn_init.sqf
@@ -1,3 +1,18 @@
+/*
+ Author: Aaron Clark - EpochMod.com
+
+ Contributors:
+
+ Description:
+ Initalize both init and run custom client function compiler
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_code/init/fn_init.sqf
+*/
+
if !(isNil "Epoch_CStart") exitWith { false };
Epoch_CStart = true;
diff --git a/Sources/epoch_code/init/fn_postinit.sqf b/Sources/epoch_code/init/fn_postinit.sqf
index 05d4f6d5..d1d3b7c6 100644
--- a/Sources/epoch_code/init/fn_postinit.sqf
+++ b/Sources/epoch_code/init/fn_postinit.sqf
@@ -1,3 +1,17 @@
+/*
+ Author: Aaron Clark - EpochMod.com
+
+ Contributors:
+
+ Description:
+ Initalize Player
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_code/init/fn_postinit.sqf
+*/
if (!isDedicated && isMultiplayer && hasInterface) then {
call compile preprocessFileLineNumbers "\x\addons\a3_epoch_code\init\client_init.sqf";
};
diff --git a/Sources/epoch_config/Configs/CfgActionMenu/CfgActionMenu_core.hpp b/Sources/epoch_config/Configs/CfgActionMenu/CfgActionMenu_core.hpp
index 38a40f82..22b90038 100644
--- a/Sources/epoch_config/Configs/CfgActionMenu/CfgActionMenu_core.hpp
+++ b/Sources/epoch_config/Configs/CfgActionMenu/CfgActionMenu_core.hpp
@@ -1,3 +1,18 @@
+/*
+ Author: Raimonds Virtoss - EpochMod.com
+
+ Contributors: Aaron Clark
+
+ Description:
+ Action Menu Core Config
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_config/Configs/CfgActionMenu/CfgActionMenu_core.hpp
+*/
+
class CfgActionMenu
{
class variableDefines //must be global, nil when menu closes
diff --git a/Sources/epoch_config/Configs/CfgActionMenu/CfgActionMenu_self.hpp b/Sources/epoch_config/Configs/CfgActionMenu/CfgActionMenu_self.hpp
index 4a0a83e4..c716f527 100644
--- a/Sources/epoch_config/Configs/CfgActionMenu/CfgActionMenu_self.hpp
+++ b/Sources/epoch_config/Configs/CfgActionMenu/CfgActionMenu_self.hpp
@@ -1,3 +1,18 @@
+/*
+ Author: Raimonds Virtoss - EpochMod.com
+
+ Contributors: Aaron Clark
+
+ Description:
+ Action Menu Self Config
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_config/Configs/CfgActionMenu/CfgActionMenu_self.hpp
+*/
+
class veh_lock
{
condition = "dyna_inVehicle && !dyna_lockedInVehicle";
diff --git a/Sources/epoch_config/Configs/CfgActionMenu/CfgActionMenu_target.hpp b/Sources/epoch_config/Configs/CfgActionMenu/CfgActionMenu_target.hpp
index 230575d5..71e02204 100644
--- a/Sources/epoch_config/Configs/CfgActionMenu/CfgActionMenu_target.hpp
+++ b/Sources/epoch_config/Configs/CfgActionMenu/CfgActionMenu_target.hpp
@@ -1,3 +1,18 @@
+/*
+ Author: Raimonds Virtoss - EpochMod.com
+
+ Contributors: Aaron Clark
+
+ Description:
+ Action Menu Target Config
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_config/Configs/CfgActionMenu/CfgActionMenu_target.hpp
+*/
+
//Build mode enabled
class build_upgrade
{
diff --git a/Sources/epoch_config/Configs/CfgActionMenu/EXAMPLE.hpp b/Sources/epoch_config/Configs/CfgActionMenu/EXAMPLE.hpp
index 799f7381..a94a3af5 100644
--- a/Sources/epoch_config/Configs/CfgActionMenu/EXAMPLE.hpp
+++ b/Sources/epoch_config/Configs/CfgActionMenu/EXAMPLE.hpp
@@ -5,7 +5,7 @@ class CfgActionMenu
{
dyna_cursorTarget = "cursorTarget";
dyna_typeOfCursorTarget = "typeOf cursorTarget";
-
+
dyna_player = "vehicle player";
dyna_itemsPlayer = "items player";
};
@@ -21,7 +21,7 @@ class CfgActionMenu
tooltip = "Crafting V2";
};
};
-
+
/** Has cursor target **/
class CfgActionMenu_target
{
@@ -37,34 +37,34 @@ class CfgActionMenu
/** Sub-category example **/
/*
-class CAT_pad
+class CAT_pad
{
condition = "true"; //must be value
action = ""; //can be empty for categories
icon = "#(rgb,8,8,3)color(1,0,1,0.5)";
tooltip = "Main cat";
-
+
class SUB_CAT_test1
{
condition = "true"; //must be value
action = ""; //can be empty for categories
icon = "#(rgb,8,8,3)color(1,1,1,0.5)";
tooltip = "Subcat1";
-
+
class SUB_CAT_test2
{
condition = "true"; //must be value
action = ""; //can be empty for categories
icon = "#(rgb,8,8,3)color(1,0,0,0.5)";
tooltip = "Subcat2";
-
+
class SUB_CAT_test3
{
condition = "true"; //must be value
action = ""; //can be empty for categories
icon = "#(rgb,8,8,3)color(0,1,1,0.5)";
tooltip = "Subcat3";
-
+
class SUB_CAT_test4
{
condition = "true"; //must be value
@@ -76,4 +76,4 @@ class CAT_pad
};
};
};
-*/
\ No newline at end of file
+*/
diff --git a/Sources/epoch_config/Configs/CfgActions.hpp b/Sources/epoch_config/Configs/CfgActions.hpp
index cc2deb5e..43588f32 100644
--- a/Sources/epoch_config/Configs/CfgActions.hpp
+++ b/Sources/epoch_config/Configs/CfgActions.hpp
@@ -1,3 +1,18 @@
+/*
+ Author: Aaron Clark - EpochMod.com
+
+ Contributors:
+
+ Description:
+ Disable some default actions on Arma 3.
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_config/Configs/CfgActions.hpp
+*/
+
class CfgActions
{
class None;
@@ -16,7 +31,7 @@ class CfgActions
class Rearm : None
{
show = 0;
- };
+ };
class TakeMagazine : None
{
show = 0;
@@ -53,7 +68,7 @@ class CfgActions
{
show = 0;
};
-
+
};
diff --git a/Sources/epoch_config/Configs/CfgAmmo.hpp b/Sources/epoch_config/Configs/CfgAmmo.hpp
index 770d10f3..116118a4 100644
--- a/Sources/epoch_config/Configs/CfgAmmo.hpp
+++ b/Sources/epoch_config/Configs/CfgAmmo.hpp
@@ -1,3 +1,18 @@
+/*
+ Author: Aaron Clark - EpochMod.com
+
+ Contributors:
+
+ Description:
+ Custom ammo and effects
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_config/Configs/CfgAmmo.hpp
+*/
+
class CraterSpike {
class CraterSmokeCustom1
{
diff --git a/Sources/epoch_config/Configs/CfgBaseBuilding.hpp b/Sources/epoch_config/Configs/CfgBaseBuilding.hpp
index 4de1ff66..7cfec555 100644
--- a/Sources/epoch_config/Configs/CfgBaseBuilding.hpp
+++ b/Sources/epoch_config/Configs/CfgBaseBuilding.hpp
@@ -1,3 +1,18 @@
+/*
+ Author: Aaron Clark - EpochMod.com
+
+ Contributors:
+
+ Description:
+ Configs for base building upgrades and removal
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_config/Configs/CfgBaseBuilding.hpp
+*/
+
class CfgBaseBuilding {
class Default {
upgradeBuilding[] = {};
diff --git a/Sources/epoch_config/Configs/CfgBuildingLootPos.hpp b/Sources/epoch_config/Configs/CfgBuildingLootPos.hpp
index 36186198..24dbaf40 100644
--- a/Sources/epoch_config/Configs/CfgBuildingLootPos.hpp
+++ b/Sources/epoch_config/Configs/CfgBuildingLootPos.hpp
@@ -1,3 +1,18 @@
+/*
+ Author: Aaron Clark - EpochMod.com
+
+ Contributors: Kenneth Bente
+
+ Description:
+ Loot container offsets for Epoch loot system
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_config/Configs/CfgBuildingLootPos.hpp
+*/
+
class CfgBuildingLootPos
{
class Default
@@ -6095,4 +6110,4 @@ class CfgBuildingLootPos
shoeboxPos[] = { { { 0, 1, -10 }, 106.559 } };
palletPos[] = { { { 1, 0, -10 }, 322.16 } };
};
-};
\ No newline at end of file
+};
diff --git a/Sources/epoch_config/Configs/CfgCloudlets.hpp b/Sources/epoch_config/Configs/CfgCloudlets.hpp
index b81d2aa2..80c01b10 100644
--- a/Sources/epoch_config/Configs/CfgCloudlets.hpp
+++ b/Sources/epoch_config/Configs/CfgCloudlets.hpp
@@ -1,3 +1,18 @@
+/*
+ Author: Aaron Clark - EpochMod.com
+
+ Contributors:
+
+ Description:
+ Custom paricle effects
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_config/Configs/CfgCloudlets.hpp
+*/
+
class CfgCloudlets
{
class Default;
diff --git a/Sources/epoch_config/Configs/CfgEpochClient.hpp b/Sources/epoch_config/Configs/CfgEpochClient.hpp
index 10d07860..d420c6e5 100644
--- a/Sources/epoch_config/Configs/CfgEpochClient.hpp
+++ b/Sources/epoch_config/Configs/CfgEpochClient.hpp
@@ -1,3 +1,18 @@
+/*
+ Author: Aaron Clark - EpochMod.com
+
+ Contributors:
+
+ Description:
+ Main Client side configs for the Epoch gamemode
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_config/Configs/CfgEpochClient.hpp
+*/
+
class CfgEpochClient
{
epochVersion = "0.3.6.0";
diff --git a/Sources/epoch_config/Configs/CfgEpochClient/Altis.hpp b/Sources/epoch_config/Configs/CfgEpochClient/Altis.hpp
index 5d4bd4b3..fae57323 100644
--- a/Sources/epoch_config/Configs/CfgEpochClient/Altis.hpp
+++ b/Sources/epoch_config/Configs/CfgEpochClient/Altis.hpp
@@ -1,3 +1,18 @@
+/*
+ Author: Aaron Clark - EpochMod.com
+
+ Contributors:
+
+ Description:
+ Epoch gamemode config for Altis
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_config/Configs/CfgEpochClient/Altis.hpp
+*/
+
class Altis {
blockedArea[] = { //[POS],radius
{ { 16085, 16997, 0 }, 250 }, //South Telos
@@ -55,7 +70,7 @@ class Altis {
"canisterplastic_f.p3d",
"watertank_f.p3d"
};
- // main config
+ // main config
TrashClasses[] = { "Trash", "TrashSmall", "TrashVehicle", "PumpkinPatch", "TrashFood" };
TrashSmall[] = {
diff --git a/Sources/epoch_config/Configs/CfgEpochClient/Bornholm.hpp b/Sources/epoch_config/Configs/CfgEpochClient/Bornholm.hpp
index 064209ca..44f88146 100644
--- a/Sources/epoch_config/Configs/CfgEpochClient/Bornholm.hpp
+++ b/Sources/epoch_config/Configs/CfgEpochClient/Bornholm.hpp
@@ -1,3 +1,17 @@
+/*
+ Author: Aaron Clark - EpochMod.com
+
+ Contributors: uro1, Robio
+
+ Description:
+ Epoch gamemode config for Bornholm
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_config/Configs/CfgEpochClient/Bornholm.hpp
+*/
class Bornholm {
blockedArea[] = {
{ { 1433, 8071, 0 }, 250 }, //Roenne NorthEast
@@ -40,9 +54,9 @@ class Bornholm {
"misc_well.p3d",
"misc_wellpump.p3d",
"kasna_new.p3d"
- };
+ };
- // main config
+ // main config
TrashClasses[] = {"Trash","TrashSmall","TrashVehicle","PumpkinPatch","TrashFood"};
TrashSmall[] = {
@@ -153,4 +167,4 @@ class Bornholm {
"uaz_wrecked.p3d",
"ural_wrecked.p3d"
};
-};
\ No newline at end of file
+};
diff --git a/Sources/epoch_config/Configs/CfgEpochClient/Chernarus.hpp b/Sources/epoch_config/Configs/CfgEpochClient/Chernarus.hpp
index 9465a14d..98c6f083 100644
--- a/Sources/epoch_config/Configs/CfgEpochClient/Chernarus.hpp
+++ b/Sources/epoch_config/Configs/CfgEpochClient/Chernarus.hpp
@@ -1,3 +1,17 @@
+/*
+ Author: Aaron Clark - EpochMod.com
+
+ Contributors:
+
+ Description:
+ Epoch gamemode config for Chernarus
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_config/Configs/CfgEpochClient/Chernarus.hpp
+*/
class Chernarus {
blockedArea[] = {
{ { 10203, 1886, 0 }, 430 }, //South Electro
@@ -31,7 +45,7 @@ class Chernarus {
"misc_wellpump.p3d",
"kasna_new.p3d"
};
- // main config
+ // main config
TrashClasses[] = { "Trash", "TrashSmall", "TrashVehicle", "PumpkinPatch", "TrashFood" };
TrashSmall[] = {
diff --git a/Sources/epoch_config/Configs/CfgEpochClient/Chernarus_Summer.hpp b/Sources/epoch_config/Configs/CfgEpochClient/Chernarus_Summer.hpp
index 82d1bed7..7441ee84 100644
--- a/Sources/epoch_config/Configs/CfgEpochClient/Chernarus_Summer.hpp
+++ b/Sources/epoch_config/Configs/CfgEpochClient/Chernarus_Summer.hpp
@@ -1,3 +1,17 @@
+/*
+ Author: Aaron Clark - EpochMod.com
+
+ Contributors:
+
+ Description:
+ Epoch gamemode config for Chernarus_Summer
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_config/Configs/CfgEpochClient/Chernarus_Summer.hpp
+*/
class Chernarus_Summer {
blockedArea[] = {
{ { 10203, 1886, 0 }, 430 }, //South Electro
@@ -30,7 +44,7 @@ class Chernarus_Summer {
"misc_well.p3d",
"misc_wellpump.p3d"
};
- // main config
+ // main config
TrashClasses[] = { "Trash", "TrashSmall", "TrashVehicle", "PumpkinPatch", "TrashFood" };
TrashSmall[] = {
diff --git a/Sources/epoch_config/Configs/CfgEpochClient/Esseker.hpp b/Sources/epoch_config/Configs/CfgEpochClient/Esseker.hpp
index 3814ecbd..c9783ac7 100644
--- a/Sources/epoch_config/Configs/CfgEpochClient/Esseker.hpp
+++ b/Sources/epoch_config/Configs/CfgEpochClient/Esseker.hpp
@@ -1,3 +1,17 @@
+/*
+ Author: Aaron Clark - EpochMod.com
+
+ Contributors: Richie
+
+ Description:
+ Epoch gamemode config for Esseker
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_config/Configs/CfgEpochClient/Esseker.hpp
+*/
class Esseker {
blockedArea[] = {
{ { 208.778, 353.779, 0 }, 300 }, //Cave
diff --git a/Sources/epoch_config/Configs/CfgEpochClient/ProvingGrounds_PMC.hpp b/Sources/epoch_config/Configs/CfgEpochClient/ProvingGrounds_PMC.hpp
index aded97c3..34d777a7 100644
--- a/Sources/epoch_config/Configs/CfgEpochClient/ProvingGrounds_PMC.hpp
+++ b/Sources/epoch_config/Configs/CfgEpochClient/ProvingGrounds_PMC.hpp
@@ -1,3 +1,17 @@
+/*
+ Author: Aaron Clark - EpochMod.com
+
+ Contributors:
+
+ Description:
+ Epoch gamemode config for ProvingGrounds_PMC
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_config/Configs/CfgEpochClient/ProvingGrounds_PMC.hpp
+*/
class ProvingGrounds_PMC {
blockedArea[] = {};
Rocks[] = {
@@ -8,7 +22,7 @@ class ProvingGrounds_PMC {
};
Water[] = {
};
- // main config
+ // main config
TrashClasses[] = { "Trash", "TrashSmall", "TrashVehicle", "PumpkinPatch", "TrashFood" };
TrashSmall[] = {
@@ -48,4 +62,4 @@ class ProvingGrounds_PMC {
"uaz_wrecked.p3d",
"ural_wrecked.p3d"
};
-};
\ No newline at end of file
+};
diff --git a/Sources/epoch_config/Configs/CfgEpochClient/Sara.hpp b/Sources/epoch_config/Configs/CfgEpochClient/Sara.hpp
index 30799352..3d257885 100644
--- a/Sources/epoch_config/Configs/CfgEpochClient/Sara.hpp
+++ b/Sources/epoch_config/Configs/CfgEpochClient/Sara.hpp
@@ -1,3 +1,17 @@
+/*
+ Author: Aaron Clark - EpochMod.com
+
+ Contributors:
+
+ Description:
+ Epoch gamemode config for Sahrani
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_config/Configs/CfgEpochClient/Sara.hpp
+*/
class Sara {
Rocks[] = {
"stone4.p3d",
@@ -16,7 +30,7 @@ class Sara {
Water[] = {
"pumpa.p3d"
};
- // main config
+ // main config
TrashClasses[] = { "Trash", "TrashSmall", "TrashVehicle", "PumpkinPatch", "TrashFood" };
TrashSmall[] = {
diff --git a/Sources/epoch_config/Configs/CfgEpochClient/Stratis.hpp b/Sources/epoch_config/Configs/CfgEpochClient/Stratis.hpp
index a13d75f8..c2560492 100644
--- a/Sources/epoch_config/Configs/CfgEpochClient/Stratis.hpp
+++ b/Sources/epoch_config/Configs/CfgEpochClient/Stratis.hpp
@@ -1,5 +1,19 @@
+/*
+ Author: Aaron Clark - EpochMod.com
+
+ Contributors:
+
+ Description:
+ Epoch gamemode config for Stratis
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_config/Configs/CfgEpochClient/Stratis.hpp
+*/
class Stratis {
- blockedArea[] = {};
+ blockedArea[] = {};
Rocks[] = {
"sharpstone_03_lc.p3d",
"sharpstone_02_lc.p3d",
@@ -47,7 +61,7 @@ class Stratis {
"canisterplastic_f.p3d",
"watertank_f.p3d"
};
- // main config
+ // main config
TrashClasses[] = { "Trash", "TrashSmall", "TrashVehicle", "PumpkinPatch", "TrashFood" };
TrashSmall[] = {
diff --git a/Sources/epoch_config/Configs/CfgEpochClient/australia.hpp b/Sources/epoch_config/Configs/CfgEpochClient/australia.hpp
index e5cd816f..b83d8882 100644
--- a/Sources/epoch_config/Configs/CfgEpochClient/australia.hpp
+++ b/Sources/epoch_config/Configs/CfgEpochClient/australia.hpp
@@ -1,3 +1,18 @@
+/*
+ Author: Aaron Clark - EpochMod.com
+
+ Contributors:
+
+ Description:
+ Epoch gamemode config for australia
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_config/Configs/CfgEpochClient/australia.hpp
+*/
+
class australia {
blockedArea[] = {
{ { 16286.1, 33578.6, 0 }, 650 }, //Darwin
@@ -47,7 +62,7 @@ class australia {
};
Water[] = {
};
- // main config
+ // main config
TrashClasses[] = { "Trash", "TrashSmall", "TrashVehicle", "PumpkinPatch", "TrashFood" };
TrashSmall[] = {
@@ -220,4 +235,4 @@ class australia {
"uaz_wrecked.p3d",
"ural_wrecked.p3d"
};
-};
\ No newline at end of file
+};
diff --git a/Sources/epoch_config/Configs/CfgEpochClient/takistan.hpp b/Sources/epoch_config/Configs/CfgEpochClient/takistan.hpp
index 5704b02c..6fc5a1a0 100644
--- a/Sources/epoch_config/Configs/CfgEpochClient/takistan.hpp
+++ b/Sources/epoch_config/Configs/CfgEpochClient/takistan.hpp
@@ -1,3 +1,17 @@
+/*
+ Author: Aaron Clark - EpochMod.com
+
+ Contributors:
+
+ Description:
+ Epoch gamemode config for Takistan
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_config/Configs/CfgEpochClient/Takistan.hpp
+*/
class Takistan {
blockedArea[] = {};
Rocks[] = {
@@ -18,7 +32,7 @@ class Takistan {
"stand_water_ep1.p3d",
"misc_concbox_ep1.p3d"
};
- // main config
+ // main config
TrashClasses[] = { "Trash", "TrashSmall", "TrashVehicle", "PumpkinPatch", "TrashFood" };
TrashSmall[] = {
diff --git a/Sources/epoch_config/Configs/CfgEpochClient/utes.hpp b/Sources/epoch_config/Configs/CfgEpochClient/utes.hpp
index d3b54140..0ba89eae 100644
--- a/Sources/epoch_config/Configs/CfgEpochClient/utes.hpp
+++ b/Sources/epoch_config/Configs/CfgEpochClient/utes.hpp
@@ -1,3 +1,17 @@
+/*
+ Author: Aaron Clark - EpochMod.com
+
+ Contributors:
+
+ Description:
+ Epoch gamemode config for utes
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_config/Configs/CfgEpochClient/utes.hpp
+*/
class utes {
Rocks[] = {
"r2_rock1.p3d",
@@ -11,7 +25,7 @@ class utes {
Water[] = {
"misc_wellpump.p3d"
};
- // main config
+ // main config
TrashClasses[] = { "Trash", "TrashSmall", "TrashVehicle", "PumpkinPatch", "TrashFood" };
TrashSmall[] = {
@@ -43,4 +57,4 @@ class utes {
Wrecks[] = {
"wall_indfnc_9.p3d"
};
-};
\ No newline at end of file
+};
diff --git a/Sources/epoch_config/Configs/CfgEpochClient/vr.hpp b/Sources/epoch_config/Configs/CfgEpochClient/vr.hpp
index 8254aed9..ceb83d71 100644
--- a/Sources/epoch_config/Configs/CfgEpochClient/vr.hpp
+++ b/Sources/epoch_config/Configs/CfgEpochClient/vr.hpp
@@ -1,3 +1,17 @@
+/*
+ Author: Aaron Clark - EpochMod.com
+
+ Contributors:
+
+ Description:
+ Epoch gamemode config for VR
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_config/Configs/CfgEpochClient/vr.hpp
+*/
class vr {
Rocks[] = {
};
@@ -5,7 +19,7 @@ class vr {
};
Water[] = {
};
- // main config
+ // main config
TrashClasses[] = { "Trash", "TrashSmall", "TrashVehicle", "PumpkinPatch", "TrashFood" };
TrashSmall[] = {
diff --git a/Sources/epoch_config/Configs/CfgEpochConfiguration.hpp b/Sources/epoch_config/Configs/CfgEpochConfiguration.hpp
index 5eac400e..bb8a6720 100644
--- a/Sources/epoch_config/Configs/CfgEpochConfiguration.hpp
+++ b/Sources/epoch_config/Configs/CfgEpochConfiguration.hpp
@@ -1,3 +1,18 @@
+/*
+ Author: Raimonds Virtoss - EpochMod.com
+
+ Contributors:
+
+ Description:
+ Config for Epoch Configuration system
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_config/Configs/CfgEpochConfiguration.hpp
+*/
+
class CfgEpochConfiguration
{
/** class order here decides order of buttons on gui **/
@@ -15,4 +30,4 @@ class CfgEpochConfiguration
icon = "\x\addons\a3_epoch_code\Data\owner.paa";
controlGroup = "Epoch_main_config_changelog";
};
-};
\ No newline at end of file
+};
diff --git a/Sources/epoch_config/Configs/CfgGesturesMale.hpp b/Sources/epoch_config/Configs/CfgGesturesMale.hpp
index 33c6c2ab..35d76dd0 100644
--- a/Sources/epoch_config/Configs/CfgGesturesMale.hpp
+++ b/Sources/epoch_config/Configs/CfgGesturesMale.hpp
@@ -1,3 +1,18 @@
+/*
+ Author: Aaron Clark - EpochMod.com
+
+ Contributors: Paul Tomany (rtm animations)
+
+ Description:
+ Custom hatchet and sledge swing sesture animations as well as a one finger salute.
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_config/Configs/CfgGesturesMale.hpp
+*/
+
class CfgGesturesMale
{
skeletonName = "OFP2_ManSkeleton";
@@ -124,7 +139,7 @@ class CfgGesturesMale
leftHandIKBeg = 0;
leftHandIKEnd = 0;
};
-
+
};
class BlendAnims
{
@@ -132,7 +147,7 @@ class CfgGesturesMale
};
};
-class CfgGesturesSapper : CfgGesturesMale
+class CfgGesturesSapper : CfgGesturesMale
{
skeletonName = "SapperSkeleton";
-};
\ No newline at end of file
+};
diff --git a/Sources/epoch_config/Configs/CfgInGameUI.hpp b/Sources/epoch_config/Configs/CfgInGameUI.hpp
index 31c1ddde..f3a426ca 100644
--- a/Sources/epoch_config/Configs/CfgInGameUI.hpp
+++ b/Sources/epoch_config/Configs/CfgInGameUI.hpp
@@ -1,3 +1,18 @@
+/*
+ Author: Niklas Wagner - EpochMod.com
+
+ Contributors:
+
+ Description:
+ Removes termal from nightstalker UI
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_config/Configs/CfgInGameUI.hpp
+*/
+
class RscUnitInfo;
class RscText;
class RscControlsGroup;
@@ -85,4 +100,4 @@ class RscInGameUI
};
};
};
-};
\ No newline at end of file
+};
diff --git a/Sources/epoch_config/Configs/CfgMagazines.hpp b/Sources/epoch_config/Configs/CfgMagazines.hpp
index 40687cbd..957c1bf0 100644
--- a/Sources/epoch_config/Configs/CfgMagazines.hpp
+++ b/Sources/epoch_config/Configs/CfgMagazines.hpp
@@ -1,3 +1,18 @@
+/*
+ Author: Aaron Clark - EpochMod.com
+
+ Contributors:
+
+ Description:
+ All CfgMagazines configs
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_config/Configs/CfgMagazines.hpp
+*/
+
class CfgMagazines
{
class Default;
diff --git a/Sources/epoch_config/Configs/CfgMasterLoop.hpp b/Sources/epoch_config/Configs/CfgMasterLoop.hpp
index 5b8a54c8..cbe4cf5f 100644
--- a/Sources/epoch_config/Configs/CfgMasterLoop.hpp
+++ b/Sources/epoch_config/Configs/CfgMasterLoop.hpp
@@ -1,3 +1,18 @@
+/*
+ Author: Aaron Clark - EpochMod.com
+
+ Contributors:
+
+ Description:
+ Master loop is a simple config based event scheduler that handles all time based player related tasks.
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_config/Configs/CfgMasterLoop.hpp
+*/
+
class CfgMasterLoop
{
class Init
diff --git a/Sources/epoch_config/Configs/CfgMissions.hpp b/Sources/epoch_config/Configs/CfgMissions.hpp
index 5eecb7ef..a78b1974 100644
--- a/Sources/epoch_config/Configs/CfgMissions.hpp
+++ b/Sources/epoch_config/Configs/CfgMissions.hpp
@@ -1,3 +1,18 @@
+/*
+ Author: Niklas Wagner - EpochMod.com
+
+ Contributors:
+
+ Description:
+ Epoch Inrto config
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_config/Configs/CfgMissions.hpp
+*/
+
class CfgMissions
{
class Cutscenes
diff --git a/Sources/epoch_config/Configs/CfgMovesAnimal.hpp b/Sources/epoch_config/Configs/CfgMovesAnimal.hpp
index 9ea7e61f..5965f856 100644
--- a/Sources/epoch_config/Configs/CfgMovesAnimal.hpp
+++ b/Sources/epoch_config/Configs/CfgMovesAnimal.hpp
@@ -1,4 +1,17 @@
+/*
+ Author: Aaron Clark - EpochMod.com
+ Contributors: Paul Tomany (.rtm Animation)
+
+ Description:
+ Custom Epoch animal animations configs Sharks,(Bear,Constuct)TBA
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_config/Configs/CfgMovesAnimal.hpp
+*/
class CfgMovesAnimal_Base_F
{
access = 1;
@@ -635,4 +648,4 @@ class CfgMovesGreatWhite_F : CfgMovesAnimal_Base_F
aimingDefault[] = { "fish_head", 1 };
headDefault[] = { "fish_head", 1 };
};
-};
\ No newline at end of file
+};
diff --git a/Sources/epoch_config/Configs/CfgMovesBasic.hpp b/Sources/epoch_config/Configs/CfgMovesBasic.hpp
index d7d57e5a..e6ad4aa3 100644
--- a/Sources/epoch_config/Configs/CfgMovesBasic.hpp
+++ b/Sources/epoch_config/Configs/CfgMovesBasic.hpp
@@ -1,3 +1,18 @@
+/*
+ Author: BI
+
+ Contributors:
+
+ Description:
+ Stock CfgMovesBasic from 1.54
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_config/Configs/CfgMovesBasic.hpp
+*/
+
class CfgMovesBasic
{
access = 0;
diff --git a/Sources/epoch_config/Configs/CfgMovesMaleSdr.hpp b/Sources/epoch_config/Configs/CfgMovesMaleSdr.hpp
index a3fc44e8..2eb39105 100644
--- a/Sources/epoch_config/Configs/CfgMovesMaleSdr.hpp
+++ b/Sources/epoch_config/Configs/CfgMovesMaleSdr.hpp
@@ -1,9 +1,24 @@
+/*
+ Author: Aaron Clark - EpochMod.com
+
+ Contributors: Paul Tomany (.rtm Animation)
+
+ Description:
+ Adds custom animation "epoch_unarmed_jump"
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_config/Configs/CfgMovesMaleSdr.hpp
+*/
+
class CfgMovesMaleSdr : CfgMovesBasic
{
skeletonName = "OFP2_ManSkeleton";
gestures = "CfgGesturesMale";
class States {
-
+
class AovrPercMstpSnonWnonDf;
class epoch_unarmed_jump : AovrPercMstpSnonWnonDf
{
@@ -21,4 +36,4 @@ class CfgMovesMaleSdr : CfgMovesBasic
InterpolateTo[] = { "AmovPercMsprSnonWnonDf_AmovPpneMstpSnonWnonDnon", 0.02, "AmovPercMrunSnonWnonDf", 0.02, "AmovPercMstpSnonWnonDnon", 0.06, "AmovPercMwlkSnonWnonDfl", 0.025, "AmovPercMrunSnonWnonDl", 0.025, "AmovPercMrunSnonWnonDfr", 0.025, "AmovPknlMrunSnonWnonDfl", 0.03, "AmovPercMevaSnonWnonDfl", 0.02, "Unconscious", 0.1 };
};
};
-};
\ No newline at end of file
+};
diff --git a/Sources/epoch_config/Configs/CfgMovesMaleSdr2.hpp b/Sources/epoch_config/Configs/CfgMovesMaleSdr2.hpp
index ecefbcdc..0c0afaaa 100644
--- a/Sources/epoch_config/Configs/CfgMovesMaleSdr2.hpp
+++ b/Sources/epoch_config/Configs/CfgMovesMaleSdr2.hpp
@@ -1,3 +1,18 @@
+/*
+ Author: Aaron Clark - EpochMod.com
+
+ Contributors:
+
+ Description:
+ Adds Sapper custom animations
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_config/Configs/CfgMovesMaleSdr2.hpp
+*/
+
class CfgMovesMaleSdr2: CfgMovesBasic
{
skeletonName = "SapperSkeleton";
diff --git a/Sources/epoch_config/Configs/CfgPricing.hpp b/Sources/epoch_config/Configs/CfgPricing.hpp
index 1a746f38..4c548af5 100644
--- a/Sources/epoch_config/Configs/CfgPricing.hpp
+++ b/Sources/epoch_config/Configs/CfgPricing.hpp
@@ -1,3 +1,18 @@
+/*
+ Author: Aaron Clark - EpochMod.com
+
+ Contributors:
+
+ Description:
+ Snap check offsets
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_config/Configs/CfgPricing.hpp
+*/
+
class CfgPricing
{
class ChainSaw {price = 125;};
diff --git a/Sources/epoch_config/Configs/CfgSnapChecks.hpp b/Sources/epoch_config/Configs/CfgSnapChecks.hpp
index d6d89148..d699191d 100644
--- a/Sources/epoch_config/Configs/CfgSnapChecks.hpp
+++ b/Sources/epoch_config/Configs/CfgSnapChecks.hpp
@@ -1,4 +1,18 @@
-// Snap Checks - EpochMod.com
+/*
+ Author: Aaron Clark - EpochMod.com
+
+ Contributors:
+
+ Description:
+ Snap check offsets
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_config/Configs/CfgSnapChecks.hpp
+*/
+
class CfgSnapChecks {
class Hesco3_EPOCH {
nails[] = {
diff --git a/Sources/epoch_config/Configs/CfgSounds.hpp b/Sources/epoch_config/Configs/CfgSounds.hpp
index cb52d75f..5897270f 100644
--- a/Sources/epoch_config/Configs/CfgSounds.hpp
+++ b/Sources/epoch_config/Configs/CfgSounds.hpp
@@ -1,3 +1,18 @@
+/*
+ Author: Aaron Clark - EpochMod.com
+
+ Contributors:
+
+ Description:
+ CfgSounds config and CfgSay3Dhandler
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_config/Configs/CfgSounds.hpp
+*/
+
class CfgSounds
{
class dog_bark
@@ -52,6 +67,7 @@ class CfgSounds
};
};
+// Custom Epoch config for say3d broadcsting
class CfgSay3Dhandler {
class snake_bite0 {
distance = 100;
diff --git a/Sources/epoch_config/Configs/CfgTraderMissions.hpp b/Sources/epoch_config/Configs/CfgTraderMissions.hpp
index 041ff1be..b227048f 100644
--- a/Sources/epoch_config/Configs/CfgTraderMissions.hpp
+++ b/Sources/epoch_config/Configs/CfgTraderMissions.hpp
@@ -1,3 +1,18 @@
+/*
+ Author: Andrew Gregory - EpochMod.com
+
+ Contributors:
+
+ Description:
+ Mission configs and dialogs
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_config/Configs/CfgTraderMissions.hpp
+*/
+
class MissionList{
traderMissionNames[] = {"Mission - Pikes Peak Express","Mission - Animal Control","Mission - Track a Raider","Mission - VIP Chauffeur","What's the time ?","Who is near by ?","What's New ?","What is your name ?"};
traderMissionDisabled[] = {};
@@ -84,11 +99,11 @@ class MissionSelect
};
};
class traderMissions {
-
+
class MissionDelivery{
author = "axeman";
missionName = "Pikes Peak Express.";//Not used
-
+
class welcome{
condition = "(false)";//no longer used - button triggers mission
dialogue[] = {"Hi, Can you take this item to another trader town. You will be paid well.","I have an important message to get out, take it to any other trader camp for a reward ?"};
@@ -96,7 +111,7 @@ class traderMissions {
item[] = {"ItemDocumentMission","ItemDocumentMission"};
action = "";
};
-
+
class accept{
condition = "(false)";//Decided in code - change to true to default accept mission.
dialogue[] = {"Great, now get out of here.. I will keep an eye on you through a drone.","Head toward one of the traders further away. I have a UAV to monitor your progress. Don't let me down !"};
@@ -108,7 +123,7 @@ class traderMissions {
item[] = {"",""};
action = "";
};
-
+
class inmission1{
condition = "(count (player nearEntities [[""Epoch_Male_F"",""Epoch_Female_F"",""C_man_hunter_1_F"",""Epoch_Female_Camo_F""], 150]) > 1)";
dialogue[] = {"Look out, you have other survivors in the area.","Find a place to hide, UAV reports other survivors in your area."};
@@ -116,7 +131,7 @@ class traderMissions {
action = "";
frequency = 560;
};
-
+
class inmission2{
condition = "(count (player nearEntities [[""Epoch_Sapper_F"",""Alsatian_Random_EPOCH"",""Epoch_cloak_F"",""Fin_random_EPOCH""], 150]) > 0)";
dialogue[] = {"You have something following you, watch your back..","Keep moving, you have something nearby."};
@@ -124,7 +139,7 @@ class traderMissions {
action = "";
frequency = 560;
};
-
+
class inmission3{
condition = "(false)";
dialogue[] = {"",""};
@@ -132,7 +147,7 @@ class traderMissions {
action = "";
frequency = 1024;
};
-
+
class completed{
condition = "";//handled in code
dialogue[] = {"Well Done, you made it. Let me see the document.", "So, you made it then, congratulations. Now for the message ?"};
@@ -143,48 +158,48 @@ class traderMissions {
magazine[] = {"100Rnd_65x39_caseless_mag_Tracer","hatchet_swing"};
item[] = {"RabbitCarcass_EPOCH","ChickenCarcass_EPOCH"};
};
-
+
class missioncheck{
-
+
class health{
dialogue[] = {"You look hurt, I am going to inject some adrenaline using your implant.","Hang in there buddy.. Your implant is about to give you a boost."};
dialogue2[] = {"",""};
action = "";
frequency = 60;
};
-
+
class characters{
dialogue[] = {"The drone picks up a mild heat signature nearby, could be a body to loot","Have spotted a prone player near your location, might be worth investigating."};
};
-
+
class itemlost{
dialogue[] = {"Looks like you've lost the message, are you giving up on me ?","Don't leave that message lying around, it's essential that it arrives."};
dialogue2[] = {"If you are thinking about taking the goods and running I would have a re-think.","I wouldn't run out on me now, the last person who tried didn't get very far !"};
action = "";
};
-
+
class passed{
dialogue[] = {"So you're taking over this mission. Deliver this message to another trader for a reward.","New blood eh. This document needs delivering to a trader as soon as possible."};
dialogue2[] = {"",""};
action = "hint ""Mission Passed Action..""";
};
-
+
class abandoned{
condition = "(player distance _trader > 150)";
- dialogue[] = {"You running out with my gear..Not good, not good at all.","Take the gear and run eh ? You were supposed to be delivering a message !"};
+ dialogue[] = {"You running out with my gear..Not good, not good at all.","Take the gear and run eh ? You were supposed to be delivering a message !"};
dialogue2[] = {"There's a price to pay for letting me down. Here it comes.","That's the last time you will cheat a trader. We don't take kindly to traitors."};
delay = 60;
action = "";
};
-
+
};
-
-
+
+
};
class MissionSapper{
author = "axeman";
missionName = "Animal Control.";//Not used
-
+
class welcome{
condition = "(false)";//no longer used - button triggers mission
dialogue[] = {"I need a loose animal in the area capturing. He is known to be a bit wild","A brave survivor I see.. You need to find me a Sapper."};
@@ -192,7 +207,7 @@ class traderMissions {
item[] = {"",""};
action = "";
};
-
+
class accept{
condition = "(true)";//Decided in code - change to true to default accept mission. i.e. Doesn't require the player to be holding welcome item above e.g.
dialogue[] = {"Get out there and try and attract a sapper.","On your way then."};
@@ -204,7 +219,7 @@ class traderMissions {
item[] = {"",""};
action = "";
};
-
+
class inmission1{
condition = "((player distance _trader) < 60 && (_sapper distance _trader < 150))";
dialogue[] = {"You need to get him close to me. I need to see the stitchings of his eyes.","I need him closer if I am to catch him. Come on you are nearly there !"};
@@ -212,7 +227,7 @@ class traderMissions {
action = "";
frequency = 240;
};
-
+
class inmission2{
condition = "(count (player nearEntities [[""Alsatian_Random_EPOCH"",""Epoch_cloak_F"",""Fin_random_EPOCH"",""Epoch_Male_F"",""Epoch_Female_F""], 250]) > 0)";
dialogue[] = {"The UAV picked up a heat signature. Could be a person..","There is some.. thing in your area. Watch your back."};
@@ -220,7 +235,7 @@ class traderMissions {
action = "";
frequency = 560;
};
-
+
class inmission3{
condition = "(count (player nearEntities [[""Epoch_Sapper_F""], 250]) > 0)";
dialogue[] = {"I think we have a target. The UAV picked up an unusual profile in your area.","Well done, you've found one. Now just lure him back to my location."};
@@ -228,7 +243,7 @@ class traderMissions {
action = "";
frequency = 360;
};
-
+
class completed{
condition = "";//handled in code
dialogue[] = {"Well Done, you made it. Get out of the way. I need to cage this animal.", "Great work, let me deal with this guy first."};
@@ -239,49 +254,49 @@ class traderMissions {
magazine[] = {"hatchet_swing","16Rnd_9x21_Mag"};
item[] = {"RabbitCarcass_EPOCH","ChickenCarcass_EPOCH"};
};
-
+
class missioncheck{
-
+
class health{
dialogue[] = {"You look hurt, I am going to inject some adrenaline using your implant.","Hang in there buddy.. Your implant is about to give you a boost."};
dialogue2[] = {"",""};
action = "";
frequency = 60;
};
-
+
class characters{
dialogue[] = {"The drone picks up a mild heat signature nearby, could be a body to loot","Have spotted a prone player near your location, might be worth investigating."};
};
-
+
class itemlost{
dialogue[] = {"Looks like you've lost the message, are you giving up on me ?","Don't leave that message lying around, it's essential that it arrives."};
dialogue2[] = {"If you are thinking about taking the goods and running I would have a re-think.","I wouldn't run out on me now, the last person who tried didn't get very far !"};
action = "";
};
-
+
class passed{
dialogue[] = {"So you're taking over this mission. Deliver this message to another trader for a reward.","New blood eh. This document needs delivering to a trader as soon as possible."};
dialogue2[] = {"",""};
action = "";
};
-
+
class abandoned{
condition = "(player distance _trader > 150)";
- dialogue[] = {"You running out with my gear..Not good, not good at all.","Take the gear and run eh ? You were supposed to be delivering a message !"};
+ dialogue[] = {"You running out with my gear..Not good, not good at all.","Take the gear and run eh ? You were supposed to be delivering a message !"};
dialogue2[] = {"There's a price to pay for letting me down. Here it comes.","That's the last time you will cheat a trader. We don't take kindly to traitors."};
delay = 60;
action = "";
};
-
+
};
-
-
+
+
};
-
+
class MissionUav{
author = "axeman";
missionName = "Bounty Hunter.";//Not used
-
+
class welcome{
condition = "(false)";//no longer used - button triggers mission
dialogue[] = {"I need to top up my coffers with some bounty. You are going to take control of a UAV and find a target for me.","How are your flying skills ? I need you to fly over nearby towns looking for a bounty."};
@@ -289,7 +304,7 @@ class traderMissions {
item[] = {"B_UavTerminal","B_UavTerminal"};
action = "";
};
-
+
class accept{
condition = "(false)";//Decided in code - change to true to default accept mission. i.e. Doesn't require the player to be holding welcome item above e.g.
dialogue[] = {"Great, you are ready.I am preparing the UAV, it is outside. Once it is ready you can connect to it.","Splendid, you are a natural. Next, you will then need to connect to my UAV. Go look for it, I am preparing it for flight."};
@@ -301,7 +316,7 @@ class traderMissions {
item[] = {"",""};
action = "";
};
-
+
class inmission1{
condition = "(count (getPos Epoch_mission_uav nearObjects[""Man"",250]) > 1)";
dialogue[] = {"I think you have a target in the area. Keep looking !","The UAV is pinging back heat signatures. You are close, keep looking."};
@@ -309,7 +324,7 @@ class traderMissions {
action = "";
frequency = 240;
};
-
+
class inmission2{
condition = "(false)";
dialogue[] = {"",""};
@@ -317,7 +332,7 @@ class traderMissions {
action = "";
frequency = 560;
};
-
+
class inmission3{
condition = "(false)";
dialogue[] = {"",""};
@@ -325,7 +340,7 @@ class traderMissions {
action = "";
frequency = 360;
};
-
+
class completed{
condition = "";//handled in code
dialogue[] = {"That was some nice flying kid. Come back soon.", "Great work, was a pleasure working with you."};
@@ -336,50 +351,50 @@ class traderMissions {
magazine[] = {"",""};
item[] = {"",""};
};
-
+
class missioncheck{
-
+
class health{
dialogue[] = {"You look hurt, I am going to inject some adrenaline using your implant.","Hang in there buddy.. Your implant is about to give you a boost."};
dialogue2[] = {"",""};
action = "";
frequency = 60;
};
-
+
class characters{
dialogue[] = {"The drone picks up a mild heat signature nearby, could be a body to loot","Have spotted a prone player near your location, might be worth investigating."};
};
-
+
class itemlost{
dialogue[] = {"Looks like you've lost the message, are you giving up on me ?","Don't leave that message lying around, it's essential that it arrives."};
dialogue2[] = {"If you are thinking about taking the goods and running I would have a re-think.","I wouldn't run out on me now, the last person who tried didn't get very far !"};
action = "";
};
-
+
class passed{
dialogue[] = {"So you're taking over this mission. Deliver this message to another trader for a reward.","New blood eh. This document needs delivering to a trader as soon as possible."};
dialogue2[] = {"",""};
action = "";
};
-
+
class abandoned{
condition = "";
- dialogue[] = {"Oh dear, smashing up my gear. Not good at all..","Hmm, do you think those UAVs grown on trees ?"};
+ dialogue[] = {"Oh dear, smashing up my gear. Not good at all..","Hmm, do you think those UAVs grown on trees ?"};
dialogue2[] = {"That's going to cost you, watch your back !","I am not happy about that ! Be more careful next time."};
delay = 10;
action = "";
};
-
+
};
-
-
+
+
};
-
-
+
+
class MissionDriver{
author = "axeman";
missionName = "The Generals Daughter.";
-
+
class welcome{
condition = "(false)";
dialogue[] = {"I have an important delivery for you to make. She needs to arrive safely. Let me see if you need a GPS.","Can you drive ? My friend here needs a lift. Drop this person off to the general. I will make sure you have some equipment"};
@@ -387,7 +402,7 @@ class traderMissions {
item[] = {"itemGPS","itemGPS"};
action = "";
};
-
+
class accept{
condition = "(true)";//Decided in code - change to true to default accept mission. i.e. Doesn't require the player to be holding welcome item above e.g.
dialogue[] = {"",""};
@@ -399,28 +414,28 @@ class traderMissions {
item[] = {"",""};
action = "";
};
-
+
class inmission1{
condition = "(count (player nearEntities [[""Epoch_Male_F"",""Epoch_Female_F"",""C_man_hunter_1_F"",""Epoch_Female_Camo_F""], 150]) > 1)";
dialogue[] = {"I think I saw someone.. Over there !","Was that a person ? I think there are survivors here."};
dialogue2[] = {"",""};
action = "";
};
-
+
class inmission2{
condition = "(count (player nearEntities [[""Epoch_Sapper_F"",""Alsatian_Random_EPOCH"",""Epoch_cloak_F"",""Fin_random_EPOCH""], 150]) > 0)";
dialogue[] = {"I just spotted.. something. It could have been a dog ?","We need to keep moving ! I am sure I just saw some.. thing."};
dialogue2[] = {"",""};
action = "";
};
-
+
class inmission3{
condition = "(diag_tickTime - _missionTimer > 1200)";
dialogue[] = {"Are we there yet ? If we take too long the boat will be gone.","Are you lost ? Daddy is not a patient man, can we hurry it up please."};
dialogue2[] = {"",""};
action = "_missionTimer = diag_tickTime";
};
-
+
class completed{
condition = "";
dialogue[] = {"The General has sent us to collect his Daughter. Luckily for you she looks in good health.", "Nice work, you delivered her safely. Thankfully, or the General would not be happy."};
@@ -431,43 +446,43 @@ class traderMissions {
magazine[] = {"100Rnd_65x39_caseless_mag_Tracer","spear_magazine"};
item[] = {{"KitTiPi","ItemJade","wolf_mask_epoch","lighter_epoch"},{"KitPlotPole","KitShelf","pkin_mask_epoch","ItemGoldBar"}};
};
-
+
class missioncheck{
-
+
class health{
dialogue[] = {"You look hurt, I am not driving myself there.","You are bleeding ! Yuk, don't get blood on my seat."};
dialogue2[] = {"Stop and find some medical supplies ?","Do you want to try and find a bandage or something ?"};
action = "";
frequency = 60;
};
-
+
class characters{
dialogue[] = {"",""};
};
-
+
class gotout{
dialogue[] = {"Where are you going ?","Are you leaving me here ?"};
dialogue2[] = {"Don't be long, I will wait here.","The heating is on, I am staying here and keeping warm !"};
action = "";
};
-
+
class passed{
dialogue[] = {"",""};
dialogue2[] = {"",""};
action = "";
};
-
+
class vehlost{
condition = "";
- dialogue[] = {"Oh dear, that didn't go well. Maybe stop before driving into something next time ?","Nice driving, now what are going to do ?"};
+ dialogue[] = {"Oh dear, that didn't go well. Maybe stop before driving into something next time ?","Nice driving, now what are going to do ?"};
dialogue2[] = {"You need to find us another vehicle. I am not walking all the way there.","How are we going to get there now? You had best find another vehicle !"};
delay = 10;
action = "";
};
-
+
};
-
-
+
+
};
-
+
};
diff --git a/Sources/epoch_config/Configs/CfgVehicles.hpp b/Sources/epoch_config/Configs/CfgVehicles.hpp
index 5204f69e..5409fbb8 100644
--- a/Sources/epoch_config/Configs/CfgVehicles.hpp
+++ b/Sources/epoch_config/Configs/CfgVehicles.hpp
@@ -1,3 +1,18 @@
+/*
+ Author: Aaron Clark - EpochMod.com
+
+ Contributors:
+
+ Description:
+ Main CfgVehicles config file
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_config/Configs/CfgVehicles.hpp
+*/
+
class UniformSlotInfo;
class CfgVehicles
{
@@ -19,6 +34,145 @@ class CfgVehicles
class HitLegs;
};
};
+
+
+ class EPOCH_CAManBase: CAManBase
+ {
+ class HitPoints: HitPoints
+ {
+ class HitFace: HitHead
+ {
+ armor = 1; // Keep constant so that the hit point armor remains on the same scale
+ material = -1;
+ name = "face_hub"; // Selection name
+ passThrough = 0.1; // Damage resistance
+ radius = 0.08;
+ explosionShielding = 0.1; // Protection against explosive damage
+ minimalHit = 0.01; // Minimal damage value that can be applied
+ }
+ class HitNeck: HitFace
+ {
+ armor = 1;
+ material = -1;
+ name = "neck";
+ passThrough = 0.1;
+ radius = 0.1;
+ explosionShielding = 0.5;
+ minimalHit = 0.01;
+ }
+ class HitHead: HitNeck
+ {
+ armor = 1;
+ material = -1;
+ name = "head";
+ passThrough = 0.1;
+ radius = 0.2;
+ explosionShielding = 0.5;
+ minimalHit = 0.01;
+ depends = "HitFace max HitNeck"; // Returns the greater of HitFace and HitNeck.
+ };
+ class HitPelvis: HitBody
+ {
+ armor = 1;
+ material = -1;
+ name = "pelvis";
+ passThrough = 0.1;
+ radius = 0.2;
+ explosionShielding = 1;
+ visual = "injury_body";
+ minimalHit = 0.01;
+ };
+ class HitAbdomen: HitPelvis
+ {
+ armor = 1;
+ material = -1;
+ name = "spine1";
+ passThrough = 0.1;
+ radius = 0.15;
+ explosionShielding = 1;
+ visual = "injury_body";
+ minimalHit = 0.01;
+ };
+ class HitDiaphragm: HitAbdomen
+ {
+ armor = 1;
+ material = -1;
+ name = "spine2";
+ passThrough = 0.1;
+ radius = 0.15;
+ explosionShielding = 6;
+ visual = "injury_body";
+ minimalHit = 0.01;
+ }
+ class HitChest: HitDiaphragm
+ {
+ armor = 1;
+ material = -1;
+ name = "spine3";
+ passThrough = 0.1;
+ radius = 0.15;
+ explosionShielding = 6;
+ visual = "injury_body";
+ minimalHit = 0.01;
+ };
+ class HitBody: HitChest
+ {
+ armor = 1000; //not supposed to take damage directly
+ material = -1;
+ name = "body";
+ passThrough = 0.1;
+ radius = 0.16;
+ explosionShielding = 6;
+ visual = "injury_body";
+ minimalHit = 0.01;
+ depends = "HitPelvis max HitAbdomen max HitDiaphragm max HitChest";
+ };
+ class HitArms: HitHands
+ {
+ armor = 1;
+ material = -1;
+ name = "arms";
+ passThrough = 1;
+ radius = 0.1;
+ explosionShielding = 1;
+ visual = "injury_hands";
+ minimalHit = 0.01;
+ };
+ class HitHands: HitArms
+ {
+ armor = 1;
+ material = -1;
+ name = "hands";
+ passThrough = 1;
+ radius = 0.1;
+ explosionShielding = 1;
+ visual = "injury_hands";
+ minimalHit = 0.01;
+ depends = "HitArms";
+ };
+ class HitLegs: HitLegs
+ {
+ armor = 1;
+ material = -1;
+ name = "legs";
+ passThrough = 1;
+ radius = 0.12;
+ explosionShielding = 1;
+ visual = "injury_legs";
+ minimalHit = 0.01;
+ };
+ };
+
+ armor= 2;//keep constant so that the hit point armor remains on the same scale
+ armorStructural= 0.4;// [*] must be adjusted for each model to achieve consistent total damage results
+ explosionShielding = 0.04;// [*] for consistent explosive damage after adjusting = ( armorStructural / 10 )
+ minTotalDamageThreshold = 0.001;//minimalHit for total damage
+ impactDamageMultiplier= 0.5;//multiplier for falling damage
+ // * adjusted for each model
+ };
+
+
+
class CAManBase2: CAManBase
{
author = "$STR_A3_Bohemia_Interactive";
@@ -75,37 +229,115 @@ class CfgVehicles
ISanimMod[] = {0.03,0.06,0.04};
class HitPoints
{
- class HitHead
+ class HitFace
+ {
+ armor = 1;
+ material = -1;
+ name = "face_hub";
+ passThrough = 0.1;
+ radius = 0.08;
+ explosionShielding = 0.1;
+ minimalHit = 0.01;
+ };
+ class HitNeck: HitFace
+ {
+ armor = 1;
+ material = -1;
+ name = "neck";
+ passThrough = 0.1;
+ radius = 0.1;
+ explosionShielding = 0.5;
+ minimalHit = 0.01;
+ };
+ class HitHead: HitNeck
{
armor = 1;
material = -1;
name = "head";
- passThrough = 1;
- radius = 0.1;
+ passThrough = 0.1;
+ radius = 0.2;
explosionShielding = 0.5;
- minimalHit = 0;
+ minimalHit = 0.01;
+ depends = "HitFace max HitNeck";
};
- class HitBody
+ class HitPelvis
{
armor = 1;
material = -1;
- name = "body";
- passThrough = 1;
+ name = "pelvis";
+ passThrough = 0.1;
+ radius = 0.2;
+ explosionShielding = 1;
+ visual = "injury_body";
+ minimalHit = 0.01;
+ };
+ class HitAbdomen: HitPelvis
+ {
+ armor = 1;
+ material = -1;
+ name = "spine1";
+ passThrough = 0.1;
+ radius = 0.15;
+ explosionShielding = 1;
+ visual = "injury_body";
+ minimalHit = 0.01;
+ };
+ class HitDiaphragm: HitAbdomen
+ {
+ armor = 1;
+ material = -1;
+ name = "spine2";
+ passThrough = 0.1;
radius = 0.15;
explosionShielding = 6;
visual = "injury_body";
- minimalHit = 0;
+ minimalHit = 0.01;
};
- class HitHands
+ class HitChest: HitDiaphragm
+ {
+ armor = 1;
+ material = -1;
+ name = "spine3";
+ passThrough = 0.1;
+ radius = 0.15;
+ explosionShielding = 6;
+ visual = "injury_body";
+ minimalHit = 0.01;
+ };
+ class HitBody: HitChest
+ {
+ armor = 1000;
+ material = -1;
+ name = "body";
+ passThrough = 0.1;
+ radius = 0.16;
+ explosionShielding = 6;
+ visual = "injury_body";
+ minimalHit = 0.01;
+ depends = "HitPelvis max HitAbdomen max HitDiaphragm max HitChest";
+ };
+ class HitArms
+ {
+ armor = 1;
+ material = -1;
+ name = "arms";
+ passThrough = 1;
+ radius = 0.1;
+ explosionShielding = 1;
+ visual = "injury_hands";
+ minimalHit = 0.01;
+ };
+ class HitHands: HitArms
{
armor = 1;
material = -1;
name = "hands";
passThrough = 1;
- radius = 0.08;
+ radius = 0.1;
explosionShielding = 1;
visual = "injury_hands";
- minimalHit = 0;
+ minimalHit = 0.01;
+ depends = "HitArms";
};
class HitLegs
{
@@ -113,10 +345,10 @@ class CfgVehicles
material = -1;
name = "legs";
passThrough = 1;
- radius = 0.1;
+ radius = 0.12;
explosionShielding = 1;
visual = "injury_legs";
- minimalHit = 0;
+ minimalHit = 0.01;
};
};
armor = 2;
@@ -398,6 +630,14 @@ class CfgVehicles
{
armor = 2;
};
+ class HitFace : HitFace {};
+ class HitNeck : HitNeck {};
+ class HitPelvis : HitPelvis {};
+ class HitAbdomen : HitAbdomen {};
+ class HitDiaphragm : HitDiaphragm {};
+ class HitChest : HitChest {};
+ class HitArms : HitArms {};
+
};
accuracy = 1.6;
camouflage = 1.2;
@@ -418,6 +658,8 @@ class CfgVehicles
secondaryAmmoCoef = 0.0;
handgunAmmoCoef = 0.0;
};
+
+
class Civilian: CAManBase
{
class SpeechVariants
@@ -436,23 +678,128 @@ class CfgVehicles
side = 3;
scope = 0;
displayName = "$STR_DN_CIVILIAN";
- class HitPoints: HitPoints
+ class HitPoints
{
- class HitHead: HitHead
+ class HitFace
{
armor = 1;
+ material = -1;
+ name = "face_hub";
+ passThrough = 0.1;
+ radius = 0.08;
+ explosionShielding = 0.1;
+ minimalHit = 0.01;
};
- class HitBody: HitBody
+ class HitNeck: HitFace
{
- armor = 2;
+ armor = 1;
+ material = -1;
+ name = "neck";
+ passThrough = 0.1;
+ radius = 0.1;
+ explosionShielding = 0.5;
+ minimalHit = 0.01;
};
- class HitHands: HitHands
+ class HitHead: HitNeck
{
- armor = 2;
+ armor = 1;
+ material = -1;
+ name = "head";
+ passThrough = 0.1;
+ radius = 0.2;
+ explosionShielding = 0.5;
+ minimalHit = 0.01;
+ depends = "HitFace max HitNeck";
};
- class HitLegs: HitLegs
+ class HitPelvis
{
- armor = 2;
+ armor = 1;
+ material = -1;
+ name = "pelvis";
+ passThrough = 0.1;
+ radius = 0.2;
+ explosionShielding = 1;
+ visual = "injury_body";
+ minimalHit = 0.01;
+ };
+ class HitAbdomen: HitPelvis
+ {
+ armor = 1;
+ material = -1;
+ name = "spine1";
+ passThrough = 0.1;
+ radius = 0.15;
+ explosionShielding = 1;
+ visual = "injury_body";
+ minimalHit = 0.01;
+ };
+ class HitDiaphragm: HitAbdomen
+ {
+ armor = 1;
+ material = -1;
+ name = "spine2";
+ passThrough = 0.1;
+ radius = 0.15;
+ explosionShielding = 6;
+ visual = "injury_body";
+ minimalHit = 0.01;
+ };
+ class HitChest: HitDiaphragm
+ {
+ armor = 1;
+ material = -1;
+ name = "spine3";
+ passThrough = 0.1;
+ radius = 0.15;
+ explosionShielding = 6;
+ visual = "injury_body";
+ minimalHit = 0.01;
+ };
+ class HitBody: HitChest
+ {
+ armor = 1000;
+ material = -1;
+ name = "body";
+ passThrough = 0.1;
+ radius = 0.16;
+ explosionShielding = 6;
+ visual = "injury_body";
+ minimalHit = 0.01;
+ depends = "HitPelvis max HitAbdomen max HitDiaphragm max HitChest";
+ };
+ class HitArms
+ {
+ armor = 1;
+ material = -1;
+ name = "arms";
+ passThrough = 1;
+ radius = 0.1;
+ explosionShielding = 1;
+ visual = "injury_hands";
+ minimalHit = 0.01;
+ };
+ class HitHands: HitArms
+ {
+ armor = 1;
+ material = -1;
+ name = "hands";
+ passThrough = 1;
+ radius = 0.1;
+ explosionShielding = 1;
+ visual = "injury_hands";
+ minimalHit = 0.01;
+ depends = "HitArms";
+ };
+ class HitLegs
+ {
+ armor = 1;
+ material = -1;
+ name = "legs";
+ passThrough = 1;
+ radius = 0.12;
+ explosionShielding = 1;
+ visual = "injury_legs";
+ minimalHit = 0.01;
};
};
accuracy = 1.6;
@@ -587,892 +934,11 @@ class CfgVehicles
respawnLinkedItems[] = { "V_24_EPOCH", "H_89_EPOCH", "ItemMap", "ItemCompass", "ItemWatch", "EpochRadio0" };
};
- class B_Soldier_base_F;
- class Epoch_Female_base_F : B_Soldier_base_F
- {
- identityTypes[] = { "Woman", "NoGlasses" };
+ #include "CfgVehicles\Players.hpp"
+ #include "CfgVehicles\Antagonists.hpp"
- faceType = "Man_A3";
- woman = 1;
- side = 1;
- engineer = 1;
- vehicleClass = "Women";
- scope = 0;
+ #include "CfgVehicles\Fixes.hpp"
- // fix and normalize base classes
- cost = 40000;
- headgearProbability = 100;
- allowedHeadgear[] = {};
- class HitPoints
- {
- class HitHead
- {
- armor = 1;
- material = -1;
- name = "head";
- passThrough = 1;
- radius = 0.1;
- explosionShielding = 0.5;
- minimalHit = 0;
- };
- class HitBody
- {
- armor = 1;
- material = -1;
- name = "body";
- passThrough = 1;
- radius = 0.15;
- explosionShielding = 10;
- visual = "injury_body";
- minimalHit = 0;
- };
- class HitHands
- {
- armor = 1;
- material = -1;
- name = "hands";
- passThrough = 1;
- radius = 0.08;
- explosionShielding = 1;
- visual = "injury_hands";
- minimalHit = 0;
- };
- class HitLegs
- {
- armor = 1;
- material = -1;
- name = "legs";
- passThrough = 1;
- radius = 0.1;
- explosionShielding = 1;
- visual = "injury_legs";
- minimalHit = 0;
- };
- };
- armor = 2;
- armorStructural = 5;
-
- class Wounds
- {
- tex[] = {};
- mat[] = { "x\addons\a3_epoch_assets\textures\camo\female_camoDark.rvmat", "x\addons\a3_epoch_assets\textures\camo\female_camoinjury.rvmat", "x\addons\a3_epoch_assets\textures\camo\female_camoinjury.rvmat" };
- };
- model = "\x\addons\a3_epoch_assets_3\CfgVehicles\Characters\Keesha_character.p3d";
- modelSides[] = {1};
- nakedUniform = "U_BasicBodyFemale";
- uniformClass = "U_Test_uniform";
- weapons[] = {"Throw","Put"};
- respawnWeapons[] = {"Throw","Put"};
- Items[] = {};
- RespawnItems[] = {};
- magazines[] = {};
- respawnMagazines[] = {};
- linkedItems[] = { "V_F41_EPOCH", "ItemMap"};
- respawnLinkedItems[] = { "V_F41_EPOCH", "ItemMap" };
- };
-
-
-
- class Underwear_F;
- class FemaleUnderwear_F: Underwear_F
- {
- author = "Epoch";
- _generalMacro = "FemaleUnderwear_F";
- scope = 1;
- scopeCurator = 0;
- displayName = "TEST: Underwear";
- model = "\x\addons\a3_epoch_assets_3\CfgVehicles\Characters\Keesha_character.p3d";
- uniformClass = "U_BasicBodyFemale";
- weapons[] = {};
- magazines[] = {};
- respawnWeapons[] = {};
- respawnMagazines[] = {};
- };
-
-
- class Epoch_Female_wetsuit_F : Epoch_Female_base_F
- {
- faceType = "Man_A3";
- woman = 1;
- side = 1;
- engineer = 1;
- vehicleClass = "Women";
- displayName = "Female Wetsuit";
- scope = 2;
-
- hiddenSelections[] = { "Camo" };
- hiddenSelectionsTextures[] = { "\x\addons\a3_epoch_assets\textures\wetsuit\wetsuit_co.paa" };
-
- class Wounds
- {
- tex[] = {};
- mat[] = { "x\addons\a3_epoch_assets\textures\wetsuit\wetsuit.rvmat", "x\addons\a3_epoch_assets\textures\wetsuit\wetsuit_Injury.rvmat", "x\addons\a3_epoch_assets\textures\wetsuit\wetsuit_Injury.rvmat" };
- };
- model = "\x\addons\a3_epoch_assets_3\CfgVehicles\Characters\Female_WetSuit.p3d";
-
- hiddenUnderwaterSelections[] = { "hide" };
- shownUnderwaterSelections[] = { "unhide", "unhide2" };
-
- hiddenUnderwaterSelectionsTextures[] = { "\x\addons\a3_epoch_assets\textures\wetsuit\wetsuit_co.paa", "\x\addons\a3_epoch_assets\textures\wetsuit\wetsuit_co.paa", "\A3\characters_f\data\visors_ca.paa" };
-
- modelSides[] = {1};
- nakedUniform = "U_BasicBodyFemale";
- uniformClass = "U_Wetsuit_uniform";
- weapons[] = {"Throw","Put"};
- respawnWeapons[] = {"Throw","Put"};
- Items[] = {};
- RespawnItems[] = {};
- magazines[] = {};
- respawnMagazines[] = {};
-
- primaryAmmoCoef = 0.4;
- secondaryAmmoCoef = 0.1;
- handgunAmmoCoef = 0.2;
-
- // O_Soldier_diver_base_F
- class HitPoints: HitPoints
- {
- class HitHead: HitHead
- {
- armor = 2;
- };
- class HitBody: HitBody
- {
- armor = 2;
- };
- class HitHands: HitHands
- {
- armor = 2;
- };
- class HitLegs: HitLegs
- {
- armor = 2;
- };
- };
- armor = 2;
- armorStructural = 5;
-
- // O_Soldier_base_F
- sensitivity = 3;
- threat[] = {1,0.1,0.1};
- camouflage = 1.4;
-
- };
- class Epoch_Female_wetsuitW_F : Epoch_Female_wetsuit_F
- {
- displayName = "Female Wetsuit (white)";
- scope = 2;
- hiddenSelections[] = { "Camo" };
- hiddenSelectionsTextures[] = { "\x\addons\a3_epoch_assets\textures\wetsuit\wetsuitWhite_co.paa" };
- hiddenSelectionsMaterials[] = { "\x\addons\a3_epoch_assets\textures\wetsuit\wetsuitWhite.rvmat" };
-
- class Wounds
- {
- tex[] = {};
- mat[] = { "x\addons\a3_epoch_assets\textures\wetsuit\wetsuitWhite.rvmat", "x\addons\a3_epoch_assets\textures\wetsuit\wetsuit_Injury.rvmat", "x\addons\a3_epoch_assets\textures\wetsuit\wetsuit_Injury.rvmat" };
- };
-
- modelSides[] = { 1 };
- uniformClass = "U_Wetsuit_White";
- hiddenUnderwaterSelectionsTextures[] = { "\x\addons\a3_epoch_assets\textures\wetsuit\wetsuitWhite_co.paa", "\x\addons\a3_epoch_assets\textures\wetsuit\wetsuitWhite_co.paa", "\A3\characters_f\data\visors_ca.paa" };
-
- };
- class Epoch_Female_wetsuitB_F : Epoch_Female_wetsuit_F
- {
- displayName = "Female Wetsuit (blue)";
- scope = 2;
- hiddenSelections[] = { "Camo" };
- hiddenSelectionsTextures[] = { "\x\addons\a3_epoch_assets\textures\wetsuit\wetsuitBlue_co.paa" };
- modelSides[] = { 1 };
- uniformClass = "U_Wetsuit_Blue";
- hiddenUnderwaterSelectionsTextures[] = { "\x\addons\a3_epoch_assets\textures\wetsuit\wetsuitBlue_co.paa", "\x\addons\a3_epoch_assets\textures\wetsuit\wetsuitBlue_co.paa", "\A3\characters_f\data\visors_ca.paa" };
- };
- class Epoch_Female_wetsuitP_F : Epoch_Female_wetsuit_F
- {
- displayName = "Female Wetsuit (purple)";
- scope = 2;
- hiddenSelections[] = { "Camo" };
- hiddenSelectionsTextures[] = { "\x\addons\a3_epoch_assets\textures\wetsuit\wetsuitPurp_co.paa" };
- modelSides[] = { 1 };
- uniformClass = "U_Wetsuit_Purp";
- hiddenUnderwaterSelectionsTextures[] = { "\x\addons\a3_epoch_assets\textures\wetsuit\wetsuitPurp_co.paa", "\x\addons\a3_epoch_assets\textures\wetsuit\wetsuitPurp_co.paa", "\A3\characters_f\data\visors_ca.paa" };
- };
- class Epoch_Female_wetsuitC_F : Epoch_Female_wetsuit_F
- {
- displayName = "Female Wetsuit (camo)";
- scope = 2;
- hiddenSelections[] = { "Camo" };
- hiddenSelectionsTextures[] = { "\x\addons\a3_epoch_assets\textures\wetsuit\wetsuitCamo_co.paa" };
- modelSides[] = { 1 };
- uniformClass = "U_Wetsuit_Camo";
- hiddenUnderwaterSelectionsTextures[] = { "\x\addons\a3_epoch_assets\textures\wetsuit\wetsuitCamo_co.paa", "\x\addons\a3_epoch_assets\textures\wetsuit\wetsuitCamo_co.paa", "\A3\characters_f\data\visors_ca.paa" };
-
- camouflage = 1.0;
- };
-
- class Epoch_Female_Ghillie1_F : Epoch_Female_base_F
- {
- displayName = "Female Ghillie (tan)";
- scope = 2;
- model = "\x\addons\a3_epoch_assets_3\CfgVehicles\Characters\female_ghillie.p3d";
-
- hiddenSelections[] = { "Camo" };
- hiddenSelectionsTextures[] = { "\a3\characters_f\common\data\ghillie_3_ca.paa" };
- // hiddenSelectionsMaterials[] = { "\x\addons\a3_epoch_assets\textures\camo\female_camoDark.rvmat" };
-
- modelSides[] = { 1 };
- uniformClass = "U_ghillie1_uniform";
-
- // O_Soldier_sniper_base_F
- primaryAmmoCoef = 0.2;
- secondaryAmmoCoef = 0.05;
- handgunAmmoCoef = 0.1;
-
- // O_Soldier_base_F
- class HitPoints: HitPoints
- {
- class HitHead: HitHead
- {
- armor = 1;
- passThrough = 1;
- explosionShielding = 0.5;
- };
- class HitBody: HitBody
- {
- armor = 6;
- passThrough = 0.5;
- explosionShielding = 1.5;
- };
- class HitHands: HitHands
- {
- armor = 8;
- passThrough = 0.5;
- explosionShielding = 0.8;
- };
- class HitLegs: HitLegs
- {
- armor = 8;
- passThrough = 0.5;
- explosionShielding = 0.8;
- };
- };
- armor = 2;
- armorStructural = 5;
-
- // O_sniper_F
- threat[] = {1,0.6,0.6};
- camouflage = 0.4;
- sensitivity = 3.3;
- };
- class Epoch_Female_Ghillie2_F : Epoch_Female_Ghillie1_F
- {
- displayName = "Female Ghillie (light green)";
- scope = 2;
- model = "\x\addons\a3_epoch_assets_3\CfgVehicles\Characters\female_ghillie.p3d";
-
- hiddenSelections[] = { "Camo" };
- hiddenSelectionsTextures[] = { "\a3\characters_f\common\data\ghillie_2_ca.paa" };
- // hiddenSelectionsMaterials[] = { "\x\addons\a3_epoch_assets\textures\camo\female_camoDark.rvmat" };
-
- modelSides[] = { 1 };
- uniformClass = "U_ghillie2_uniform";
- };
- class Epoch_Female_Ghillie3_F : Epoch_Female_Ghillie1_F
- {
- displayName = "Female Ghillie (green)";
- scope = 2;
- model = "\x\addons\a3_epoch_assets_3\CfgVehicles\Characters\female_ghillie.p3d";
-
- hiddenSelections[] = { "Camo" };
- hiddenSelectionsTextures[] = { "\a3\characters_f\common\data\ghillie_1_ca.paa" };
- // hiddenSelectionsMaterials[] = { "\x\addons\a3_epoch_assets\textures\camo\female_camoDark.rvmat" };
-
- modelSides[] = { 1 };
- uniformClass = "U_ghillie3_uniform";
- };
-
- class Epoch_Female_Camo_F : Epoch_Female_base_F
- {
- displayName = "Female Camo";
- scope = 2;
- model = "\x\addons\a3_epoch_assets_3\CfgVehicles\Characters\female_camo.p3d";
- hiddenSelections[] = { "Camo" };
- hiddenSelectionsTextures[] = { "\x\addons\a3_epoch_assets\textures\camo\camoDark_co.paa" };
- hiddenSelectionsMaterials[] = { "\x\addons\a3_epoch_assets\textures\camo\female_camoDark.rvmat" };
-
- class Wounds
- {
- tex[] = {};
- mat[] = { "x\addons\a3_epoch_assets\textures\camo\female_camoDark.rvmat", "x\addons\a3_epoch_assets\textures\camo\female_camoinjury.rvmat", "x\addons\a3_epoch_assets\textures\camo\female_camoinjury.rvmat" };
- };
-
- modelSides[] = { 1 };
- uniformClass = "U_Camo_uniform";
-
- };
- class Epoch_Female_CamoBlue_F : Epoch_Female_Camo_F
- {
- displayName = "Female Camo (Blue)";
- scope = 2;
- model = "\x\addons\a3_epoch_assets_3\CfgVehicles\Characters\female_camo.p3d";
- hiddenSelections[] = { "Camo" };
- hiddenSelectionsTextures[] = { "\x\addons\a3_epoch_assets\textures\camo\camoBlue_co.paa" };
- hiddenSelectionsMaterials[] = { "\x\addons\a3_epoch_assets\textures\camo\female_camoBlue.rvmat" };
-
- class Wounds
- {
- tex[] = {};
- mat[] = { "x\addons\a3_epoch_assets\textures\camo\female_camoBlue.rvmat", "x\addons\a3_epoch_assets\textures\camo\female_camoinjury.rvmat", "x\addons\a3_epoch_assets\textures\camo\female_camoinjury.rvmat" };
- };
-
- modelSides[] = { 1 };
- uniformClass = "U_CamoBlue_uniform";
- };
- class Epoch_Female_CamoBrn_F : Epoch_Female_Camo_F
- {
- displayName = "Female Camo (Brown)";
- scope = 2;
- model = "\x\addons\a3_epoch_assets_3\CfgVehicles\Characters\female_camo.p3d";
- hiddenSelections[] = { "Camo" };
- hiddenSelectionsTextures[] = { "\x\addons\a3_epoch_assets\textures\camo\camoBrown_co.paa" };
- hiddenSelectionsMaterials[] = { "\x\addons\a3_epoch_assets\textures\camo\female_camoBrown.rvmat" };
-
- class Wounds
- {
- tex[] = {};
- mat[] = { "x\addons\a3_epoch_assets\textures\camo\female_camoBrown.rvmat", "x\addons\a3_epoch_assets\textures\camo\female_camoinjury.rvmat", "x\addons\a3_epoch_assets\textures\camo\female_camoinjury.rvmat" };
- };
-
- modelSides[] = { 1 };
- uniformClass = "U_CamoBrn_uniform";
- };
- class Epoch_Female_CamoRed_F : Epoch_Female_Camo_F
- {
- displayName = "Female Camo (Red)";
- scope = 2;
- model = "\x\addons\a3_epoch_assets_3\CfgVehicles\Characters\female_camo.p3d";
- hiddenSelections[] = { "Camo" };
- hiddenSelectionsTextures[] = { "\x\addons\a3_epoch_assets\textures\camo\camoRed_co.paa" };
- hiddenSelectionsMaterials[] = { "\x\addons\a3_epoch_assets\textures\camo\female_camoRed.rvmat" };
-
- class Wounds
- {
- tex[] = {};
- mat[] = { "x\addons\a3_epoch_assets\textures\camo\female_camoRed.rvmat", "x\addons\a3_epoch_assets\textures\camo\female_camoinjury.rvmat", "x\addons\a3_epoch_assets\textures\camo\female_camoinjury.rvmat" };
- };
-
- modelSides[] = { 1 };
- uniformClass = "U_CamoRed_uniform";
- };
-
- class O_Soldier_base_F;
- class Epoch_Man_base_F : O_Soldier_base_F
- {
- identityTypes[] = { "Kerry", "NoGlasses" };
-
- faceType = "Man_A3";
- side = 0;
- vehicleClass = "Men";
- engineer = 1;
- scope = 0;
- class Wounds
- {
- tex[] = {};
- mat[] = {"A3\Characters_F\Common\Data\basicbody.rvmat","A3\Characters_F\Common\Data\basicbody_injury.rvmat","A3\Characters_F\Common\Data\basicbody_injury.rvmat","A3\Characters_F\Heads\Data\hl_white_bald_muscular.rvmat","A3\Characters_F\Heads\Data\hl_white_bald_muscular_injury.rvmat","A3\Characters_F\Heads\Data\hl_white_bald_muscular_injury.rvmat","A3\Characters_F\Heads\Data\hl_black_bald_muscular.rvmat","A3\Characters_F\Heads\Data\hl_black_bald_muscular_injury.rvmat","A3\Characters_F\Heads\Data\hl_black_bald_muscular_injury.rvmat","A3\Characters_F\Heads\Data\hl_white_hairy_muscular.rvmat","A3\Characters_F\Heads\Data\hl_white_hairy_muscular_injury.rvmat","A3\Characters_F\Heads\Data\hl_white_hairy_muscular_injury.rvmat","A3\Characters_F\Heads\Data\hl_white_old.rvmat","A3\Characters_F\Heads\Data\hl_white_old_injury.rvmat","A3\Characters_F\Heads\Data\hl_white_old_injury.rvmat","A3\Characters_F\Heads\Data\hl_asian_bald_muscular.rvmat","A3\Characters_F\Heads\Data\hl_asian_bald_muscular_injury.rvmat","A3\Characters_F\Heads\Data\hl_asian_bald_muscular_injury.rvmat"};
- };
- model = "\A3\Characters_F\Common\basicbody";
- modelSides[] = {0};
- nakedUniform = "U_BasicBody";
- uniformClass = "U_Test1_uniform";
- weapons[] = {"Throw","Put"};
- respawnWeapons[] = {"Throw","Put"};
- Items[] = {};
- RespawnItems[] = {};
- magazines[] = {};
- respawnMagazines[] = {};
- linkedItems[] = { "V_41_EPOCH", "ItemMap" };
- respawnLinkedItems[] = { "V_41_EPOCH", "ItemMap" };
-
- // fix and normalize base classes
- cost = 40000;
- headgearProbability = 100;
- allowedHeadgear[] = {};
- class HitPoints
- {
- class HitHead
- {
- armor = 1;
- material = -1;
- name = "head";
- passThrough = 1;
- radius = 0.1;
- explosionShielding = 0.5;
- minimalHit = 0;
- };
- class HitBody
- {
- armor = 1;
- material = -1;
- name = "body";
- passThrough = 1;
- radius = 0.15;
- explosionShielding = 10;
- visual = "injury_body";
- minimalHit = 0;
- };
- class HitHands
- {
- armor = 1;
- material = -1;
- name = "hands";
- passThrough = 1;
- radius = 0.08;
- explosionShielding = 1;
- visual = "injury_hands";
- minimalHit = 0;
- };
- class HitLegs
- {
- armor = 1;
- material = -1;
- name = "legs";
- passThrough = 1;
- radius = 0.1;
- explosionShielding = 1;
- visual = "injury_legs";
- minimalHit = 0;
- };
- };
- armor = 2;
- armorStructural = 5;
-
-
- };
- class Epoch_Char_base_F : Civilian
- {
- faceType = "Man_A3";
- side = 4;
- faction = "CIV_F";
- genericNames = "GreekMen";
- vehicleClass = "Men";
- scope = 0;
- class Wounds
- {
- tex[] = {};
- mat[] = { "A3\Characters_F\Common\Data\basicbody.rvmat", "A3\Characters_F\Common\Data\basicbody_injury.rvmat", "A3\Characters_F\Common\Data\basicbody_injury.rvmat", "A3\Characters_F\Heads\Data\hl_white_bald_muscular.rvmat", "A3\Characters_F\Heads\Data\hl_white_bald_muscular_injury.rvmat", "A3\Characters_F\Heads\Data\hl_white_bald_muscular_injury.rvmat", "A3\Characters_F\Heads\Data\hl_black_bald_muscular.rvmat", "A3\Characters_F\Heads\Data\hl_black_bald_muscular_injury.rvmat", "A3\Characters_F\Heads\Data\hl_black_bald_muscular_injury.rvmat", "A3\Characters_F\Heads\Data\hl_white_hairy_muscular.rvmat", "A3\Characters_F\Heads\Data\hl_white_hairy_muscular_injury.rvmat", "A3\Characters_F\Heads\Data\hl_white_hairy_muscular_injury.rvmat", "A3\Characters_F\Heads\Data\hl_white_old.rvmat", "A3\Characters_F\Heads\Data\hl_white_old_injury.rvmat", "A3\Characters_F\Heads\Data\hl_white_old_injury.rvmat", "A3\Characters_F\Heads\Data\hl_asian_bald_muscular.rvmat", "A3\Characters_F\Heads\Data\hl_asian_bald_muscular_injury.rvmat", "A3\Characters_F\Heads\Data\hl_asian_bald_muscular_injury.rvmat" };
- };
- model = "\A3\Characters_F\Common\basicbody";
- modelSides[] = {4};
- //nakedUniform = "U_Char_uniform";
- //uniformClass = "U_Char_uniform";
- class UniformInfo
- {
- class SlotsInfo
- {
- class NVG : UniformSlotInfo
- {
- slotType = 602;
- };
- class Scuba : UniformSlotInfo
- {
- slotType = "SCUBA_SLOT";
- };
- class Googles : UniformSlotInfo
- {
- slotType = 603;
- };
- class Headgear : UniformSlotInfo
- {
- slotType = 605;
- };
- };
- };
- class HitPoints : HitPoints
- {
- class HitHead : HitHead
- {
- armor = "0.3*2.5";
- };
- class HitBody : HitBody
- {
- armor = "0.5*10";
- };
- class HitHands : HitHands
- {
- armor = "0.8*5";
- };
- class HitLegs : HitLegs
- {
- armor = "0.8*5";
- };
- };
- weapons[] = { "Throw", "Put" };
- respawnWeapons[] = { "Throw", "Put" };
- Items[] = {};
- RespawnItems[] = {};
- magazines[] = {};
- respawnMagazines[] = {};
- linkedItems[] = {};
- respawnLinkedItems[] = {};
- };
- class Epoch_Sapper_base_F: Civilian2
- {
- faceType = "Default";
- side = 4;
- faction = "CIV_F";
- genericNames = "GreekMen";
- vehicleClass = "Men";
- scope = 0;
- class Wounds
- {
- tex[] = {};
- mat[] = {"A3\Characters_F\Common\Data\basicbody.rvmat","A3\Characters_F\Common\Data\basicbody_injury.rvmat","A3\Characters_F\Common\Data\basicbody_injury.rvmat","A3\Characters_F\Heads\Data\hl_white_bald_muscular.rvmat","A3\Characters_F\Heads\Data\hl_white_bald_muscular_injury.rvmat","A3\Characters_F\Heads\Data\hl_white_bald_muscular_injury.rvmat","A3\Characters_F\Heads\Data\hl_black_bald_muscular.rvmat","A3\Characters_F\Heads\Data\hl_black_bald_muscular_injury.rvmat","A3\Characters_F\Heads\Data\hl_black_bald_muscular_injury.rvmat","A3\Characters_F\Heads\Data\hl_white_hairy_muscular.rvmat","A3\Characters_F\Heads\Data\hl_white_hairy_muscular_injury.rvmat","A3\Characters_F\Heads\Data\hl_white_hairy_muscular_injury.rvmat","A3\Characters_F\Heads\Data\hl_white_old.rvmat","A3\Characters_F\Heads\Data\hl_white_old_injury.rvmat","A3\Characters_F\Heads\Data\hl_white_old_injury.rvmat","A3\Characters_F\Heads\Data\hl_asian_bald_muscular.rvmat","A3\Characters_F\Heads\Data\hl_asian_bald_muscular_injury.rvmat","A3\Characters_F\Heads\Data\hl_asian_bald_muscular_injury.rvmat"};
- };
- model = "\A3\Characters_F\Common\basicbody";
- modelSides[] = {4};
- //nakedUniform = "U_Sapper_uniform";
- //uniformClass = "U_Sapper_uniform";
- class UniformInfo
- {
- class SlotsInfo
- {
- class NVG: UniformSlotInfo
- {
- slotType = 602;
- };
- class Scuba: UniformSlotInfo
- {
- slotType = "SCUBA_SLOT";
- };
- class Googles: UniformSlotInfo
- {
- slotType = 603;
- };
- class Headgear: UniformSlotInfo
- {
- slotType = 605;
- };
- };
- };
- class HitPoints: HitPoints
- {
- class HitHead: HitHead
- {
- armor = "0.3*2.5";
- };
- class HitBody: HitBody
- {
- armor = "0.5*10";
- };
- class HitHands: HitHands
- {
- armor = "0.8*5";
- };
- class HitLegs: HitLegs
- {
- armor = "0.8*5";
- };
- };
- weapons[] = {"Throw","Put"};
- respawnWeapons[] = {"Throw","Put"};
- Items[] = {};
- RespawnItems[] = {};
- magazines[] = {};
- respawnMagazines[] = {};
- linkedItems[] = {};
- respawnLinkedItems[] = {};
- };
- class Epoch_Female_F: Epoch_Female_base_F
- {
- woman = 1;
- scope = 2;
- displayName = "Female";
- interactMode = 2;
- };
- class Epoch_Male_F: Epoch_Man_base_F
- {
- scope = 2;
- displayName = "Male";
- interactMode = 2;
- };
- class Epoch_Cloak_F : Epoch_Char_base_F
- {
- scope = 2;
- faceType = "Default";
- displayName = "Cloak";
- model = "\x\addons\a3_epoch_assets_3\CfgVehicles\Characters\Cloak_Character.p3d";
- glassesEnabled = 0;
- modelSides[] = {6};
- armor = 10;
- armorStructural = 20;
- class HitPoints : HitPoints
- {
- class HitHead : HitHead
- {
- armor = 10;
- };
- class HitBody : HitBody
- {
- armor = 10;
- };
- class HitHands : HitHands
- {
- armor = 10;
- };
- class HitLegs : HitLegs
- {
- armor = 10;
- };
- };
- };
- class Epoch_Sapper_F: Epoch_Sapper_base_F
- {
- scope = 2;
- faceType = "Default";
- displayName = "Sapper";
- model = "\x\addons\a3_epoch_assets_3\CfgVehicles\Characters\Sapper_Character.p3d";
- hiddenSelections[] = {"sapper","remains"};
- hiddenSelectionsTextures[] = {"x\addons\a3_epoch_assets\textures\sapper\sapper_eco.paa",""};
- glassesEnabled = 0;
- modelSides[] = {6};
- armor = 6;
- armorStructural = 13;
-
- magazines[] = {};
- respawnMagazines[] = {};
-
- class HitPoints : HitPoints
- {
- class HitHead : HitHead
- {
- armor = 4;
- };
- class HitBody : HitBody
- {
- armor = 7;
- };
- class HitHands : HitHands
- {
- armor = 1000;
- };
- class HitLegs : HitLegs
- {
- armor = 9;
- };
- };
- };
- class Epoch_SapperB_F : Epoch_Sapper_base_F
- {
- scope = 2;
- faceType = "Default";
- displayName = "Sapper (Bloated)";
- model = "\x\addons\a3_epoch_assets_3\CfgVehicles\Characters\Sapper_Bloated.p3d";
- //hiddenSelections[] = { "sapper", "remains" };
- //hiddenSelectionsTextures[] = { "x\addons\a3_epoch_assets\textures\sapper\sapper_eco.paa", "" };
- glassesEnabled = 0;
- modelSides[] = { 6 };
- armor = 9;
- armorStructural = 13;
-
- magazines[] = {};
- respawnMagazines[] = {};
-
- class HitPoints : HitPoints
- {
- class HitHead : HitHead
- {
- armor = 4;
- };
- class HitBody : HitBody
- {
- armor = 7;
- };
- class HitHands : HitHands
- {
- armor = 1000;
- };
- class HitLegs : HitLegs
- {
- armor = 9;
- };
- };
- };
-
- /*
- class Epoch_Ent_Small_F : Epoch_Char_base_F
- {
- scope = 2;
- faceType = "Default";
- model = "\x\addons\a3_epoch_assets_3\CfgVehicles\Characters\Elemental_Small.p3d";
- displayName = "Ent (small)";
- glassesEnabled = 0;
- modelSides[] = {6};
- class HitPoints: HitPoints
- {
- class HitHead: HitHead
- {
- armor = 100;
- };
- class HitBody: HitBody
- {
- armor = 200;
- };
- class HitHands: HitHands
- {
- armor = 200;
- };
- class HitLegs: HitLegs
- {
- armor = 200;
- };
- };
- };
- class Epoch_Ent_Med_F : Epoch_Char_base_F
- {
- scope = 2;
- faceType = "Default";
- model = "\x\addons\a3_epoch_assets_3\CfgVehicles\Characters\Elemental_Med.p3d";
- displayName = "Ent (medium)";
- extCameraPosition[] = {0,1.5,-9};
- glassesEnabled = 0;
- modelSides[] = {6};
- class HitPoints: HitPoints
- {
- class HitHead: HitHead
- {
- armor = 200;
- };
- class HitBody: HitBody
- {
- armor = 300;
- };
- class HitHands: HitHands
- {
- armor = 300;
- };
- class HitLegs: HitLegs
- {
- armor = 300;
- };
- };
- };
- class Epoch_Ent_Large_F : Epoch_Char_base_F
- {
- scope = 2;
- faceType = "Default";
- model = "\x\addons\a3_epoch_assets_3\CfgVehicles\Characters\Elemental_Large.p3d";
- displayName = "Ent (large)";
- extCameraPosition[] = {0,1.5,-18};
- glassesEnabled = 0;
- modelSides[] = {6};
- class HitPoints: HitPoints
- {
- class HitHead: HitHead
- {
- armor = 250;
- };
- class HitBody: HitBody
- {
- armor = 500;
- };
- class HitHands: HitHands
- {
- armor = 500;
- };
- class HitLegs: HitLegs
- {
- armor = 500;
- };
- };
- };
- */
- class House;
- class House_F: House
- {
- class DestructionEffects;
- };
- class House_Small_F;
- class Ruins_F;
-
- class PowerLines_base_F : House_F
- {
- mapSize = 2.35;
- author = "$STR_A3_Bohemia_Interactive";
- _generalMacro = "PowerLines_base_F";
- scope = 0;
- scopeCurator = 0;
- displayName = "";
- model = "\A3\Weapons_F\empty.p3d";
- vehicleClass = "Structures_Infrastructure";
- cost = 100;
- compatibleWires[] = {};
- class EventHandlers
- {
- killed = "if (isServer) then {this call compile preprocessFileLineNumbers ""\A3\Structures_F\Ind\PowerLines\Scripts\column_ruins.sqf""};";
- };
- };
-
- class PowerLines_Small_base_F : House_Small_F
- {
- mapSize = 2.79;
- author = "$STR_A3_Bohemia_Interactive";
- _generalMacro = "PowerLines_Small_base_F";
- scope = 0;
- scopeCurator = 0;
- displayName = "";
- model = "\A3\Weapons_F\empty.p3d";
- vehicleClass = "Structures_Infrastructure";
- compatibleWires[] = {};
- cost = 100;
- class EventHandlers
- {
- killed = "if (isServer) then {this call compile preprocessFileLineNumbers ""\A3\Structures_F\Ind\PowerLines\Scripts\column_ruins.sqf""};";
- };
- };
-
- class Land_Communication_anchor_F : House_F
- {
- mapSize = 9.73;
- author = "$STR_A3_Bohemia_Interactive";
- _generalMacro = "Land_Communication_anchor_F";
- scope = 1;
- scopeCurator = 2;
- displayName = "$STR_A3_CfgVehicles_Land_Communication_anchor_F0";
- model = "\A3\Structures_F\Ind\Transmitter_Tower\Communication_anchor_F.p3d";
- vehicleClass = "Structures_Infrastructure";
- class DestructionEffects
- {
- class DestroyPhase1
- {
- simulation = "destroy";
- type = "DelayedDestruction";
- lifeTime = 1;
- position = "";
- intensity = 1;
- interval = 1;
- };
- };
- class EventHandlers
- {
- killed = "if (isServer) then {this call compile preprocessFileLineNumbers ""\A3\Structures_F\Ind\Transmitter_Tower\Scripts\anchor_ruins.sqf""};";
- };
- };
- class Land_Communication_F : House_F
- {
- mapSize = 4.53;
- author = "$STR_A3_Bohemia_Interactive";
- _generalMacro = "Land_Communication_F";
- scope = 1;
- scopeCurator = 2;
- displayName = "$STR_A3_CfgVehicles_Land_Communication_F0";
- model = "\A3\Structures_F\Ind\Transmitter_Tower\Communication_F.p3d";
- vehicleClass = "Structures_Infrastructure";
- cost = 40000;
- class EventHandlers
- {
- killed = "if (isServer) then {this call compile preprocessFileLineNumbers ""\A3\Structures_F\Ind\Transmitter_Tower\Scripts\tower_ruins.sqf""};";
- };
- };
class Car;
class Car_F: Car
diff --git a/Sources/epoch_config/Configs/CfgVehicles/Antagonists.hpp b/Sources/epoch_config/Configs/CfgVehicles/Antagonists.hpp
new file mode 100644
index 00000000..e7af8825
--- /dev/null
+++ b/Sources/epoch_config/Configs/CfgVehicles/Antagonists.hpp
@@ -0,0 +1,382 @@
+/*
+ Author: Aaron Clark - EpochMod.com
+
+ Contributors:
+
+ Description:
+ Antagonist Configs
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_config/Configs/CfgVehicles/Antagonists.hpp
+*/
+
+
+class Epoch_Char_base_F : Civilian
+{
+ faceType = "Man_A3";
+ side = 4;
+ faction = "CIV_F";
+ genericNames = "GreekMen";
+ vehicleClass = "Men";
+ scope = 0;
+ class Wounds
+ {
+ tex[] = {};
+ mat[] = { "A3\Characters_F\Common\Data\basicbody.rvmat", "A3\Characters_F\Common\Data\basicbody_injury.rvmat", "A3\Characters_F\Common\Data\basicbody_injury.rvmat", "A3\Characters_F\Heads\Data\hl_white_bald_muscular.rvmat", "A3\Characters_F\Heads\Data\hl_white_bald_muscular_injury.rvmat", "A3\Characters_F\Heads\Data\hl_white_bald_muscular_injury.rvmat", "A3\Characters_F\Heads\Data\hl_black_bald_muscular.rvmat", "A3\Characters_F\Heads\Data\hl_black_bald_muscular_injury.rvmat", "A3\Characters_F\Heads\Data\hl_black_bald_muscular_injury.rvmat", "A3\Characters_F\Heads\Data\hl_white_hairy_muscular.rvmat", "A3\Characters_F\Heads\Data\hl_white_hairy_muscular_injury.rvmat", "A3\Characters_F\Heads\Data\hl_white_hairy_muscular_injury.rvmat", "A3\Characters_F\Heads\Data\hl_white_old.rvmat", "A3\Characters_F\Heads\Data\hl_white_old_injury.rvmat", "A3\Characters_F\Heads\Data\hl_white_old_injury.rvmat", "A3\Characters_F\Heads\Data\hl_asian_bald_muscular.rvmat", "A3\Characters_F\Heads\Data\hl_asian_bald_muscular_injury.rvmat", "A3\Characters_F\Heads\Data\hl_asian_bald_muscular_injury.rvmat" };
+ };
+ model = "\A3\Characters_F\Common\basicbody";
+ modelSides[] = {4};
+ //nakedUniform = "U_Char_uniform";
+ //uniformClass = "U_Char_uniform";
+ class UniformInfo
+ {
+ class SlotsInfo
+ {
+ class NVG : UniformSlotInfo
+ {
+ slotType = 602;
+ };
+ class Scuba : UniformSlotInfo
+ {
+ slotType = "SCUBA_SLOT";
+ };
+ class Googles : UniformSlotInfo
+ {
+ slotType = 603;
+ };
+ class Headgear : UniformSlotInfo
+ {
+ slotType = 605;
+ };
+ };
+ };
+ class HitPoints : HitPoints
+ {
+ class HitHead : HitHead
+ {
+ armor = "0.3*2.5";
+ };
+ class HitBody : HitBody
+ {
+ armor = "0.5*10";
+ };
+ class HitHands : HitHands
+ {
+ armor = "0.8*5";
+ };
+ class HitLegs : HitLegs
+ {
+ armor = "0.8*5";
+ };
+ class HitFace : HitFace {};
+ class HitNeck : HitNeck {};
+ class HitPelvis : HitPelvis {};
+ class HitAbdomen : HitAbdomen {};
+ class HitDiaphragm : HitDiaphragm {};
+ class HitChest : HitChest {};
+ class HitArms : HitArms {};
+
+ };
+ weapons[] = { "Throw", "Put" };
+ respawnWeapons[] = { "Throw", "Put" };
+ Items[] = {};
+ RespawnItems[] = {};
+ magazines[] = {};
+ respawnMagazines[] = {};
+ linkedItems[] = {};
+ respawnLinkedItems[] = {};
+};
+class Epoch_Sapper_base_F: Civilian2
+{
+ faceType = "Default";
+ side = 4;
+ faction = "CIV_F";
+ genericNames = "GreekMen";
+ vehicleClass = "Men";
+ scope = 0;
+ class Wounds
+ {
+ tex[] = {};
+ mat[] = {"A3\Characters_F\Common\Data\basicbody.rvmat","A3\Characters_F\Common\Data\basicbody_injury.rvmat","A3\Characters_F\Common\Data\basicbody_injury.rvmat","A3\Characters_F\Heads\Data\hl_white_bald_muscular.rvmat","A3\Characters_F\Heads\Data\hl_white_bald_muscular_injury.rvmat","A3\Characters_F\Heads\Data\hl_white_bald_muscular_injury.rvmat","A3\Characters_F\Heads\Data\hl_black_bald_muscular.rvmat","A3\Characters_F\Heads\Data\hl_black_bald_muscular_injury.rvmat","A3\Characters_F\Heads\Data\hl_black_bald_muscular_injury.rvmat","A3\Characters_F\Heads\Data\hl_white_hairy_muscular.rvmat","A3\Characters_F\Heads\Data\hl_white_hairy_muscular_injury.rvmat","A3\Characters_F\Heads\Data\hl_white_hairy_muscular_injury.rvmat","A3\Characters_F\Heads\Data\hl_white_old.rvmat","A3\Characters_F\Heads\Data\hl_white_old_injury.rvmat","A3\Characters_F\Heads\Data\hl_white_old_injury.rvmat","A3\Characters_F\Heads\Data\hl_asian_bald_muscular.rvmat","A3\Characters_F\Heads\Data\hl_asian_bald_muscular_injury.rvmat","A3\Characters_F\Heads\Data\hl_asian_bald_muscular_injury.rvmat"};
+ };
+ model = "\A3\Characters_F\Common\basicbody";
+ modelSides[] = {4};
+ //nakedUniform = "U_Sapper_uniform";
+ //uniformClass = "U_Sapper_uniform";
+ class UniformInfo
+ {
+ class SlotsInfo
+ {
+ class NVG: UniformSlotInfo
+ {
+ slotType = 602;
+ };
+ class Scuba: UniformSlotInfo
+ {
+ slotType = "SCUBA_SLOT";
+ };
+ class Googles: UniformSlotInfo
+ {
+ slotType = 603;
+ };
+ class Headgear: UniformSlotInfo
+ {
+ slotType = 605;
+ };
+ };
+ };
+ class HitPoints: HitPoints
+ {
+ class HitHead: HitHead
+ {
+ armor = "0.3*2.5";
+ };
+ class HitBody: HitBody
+ {
+ armor = "0.5*10";
+ };
+ class HitHands: HitHands
+ {
+ armor = "0.8*5";
+ };
+ class HitLegs: HitLegs
+ {
+ armor = "0.8*5";
+ };
+ class HitFace : HitFace {};
+ class HitNeck : HitNeck {};
+ class HitPelvis : HitPelvis {};
+ class HitAbdomen : HitAbdomen {};
+ class HitDiaphragm : HitDiaphragm {};
+ class HitChest : HitChest {};
+ class HitArms : HitArms {};
+
+ };
+ weapons[] = {"Throw","Put"};
+ respawnWeapons[] = {"Throw","Put"};
+ Items[] = {};
+ RespawnItems[] = {};
+ magazines[] = {};
+ respawnMagazines[] = {};
+ linkedItems[] = {};
+ respawnLinkedItems[] = {};
+};
+
+class Epoch_Cloak_F : Epoch_Char_base_F
+{
+ scope = 2;
+ faceType = "Default";
+ displayName = "Cloak";
+ model = "\x\addons\a3_epoch_assets_3\CfgVehicles\Characters\Cloak_Character.p3d";
+ glassesEnabled = 0;
+ modelSides[] = {6};
+ armor = 10;
+ armorStructural = 20;
+ class HitPoints : HitPoints
+ {
+ class HitHead : HitHead
+ {
+ armor = 10;
+ };
+ class HitBody : HitBody
+ {
+ armor = 10;
+ };
+ class HitHands : HitHands
+ {
+ armor = 10;
+ };
+ class HitLegs : HitLegs
+ {
+ armor = 10;
+ };
+ class HitFace : HitFace {};
+ class HitNeck : HitNeck {};
+ class HitPelvis : HitPelvis {};
+ class HitAbdomen : HitAbdomen {};
+ class HitDiaphragm : HitDiaphragm {};
+ class HitChest : HitChest {};
+ class HitArms : HitArms {};
+
+ };
+};
+class Epoch_Sapper_F: Epoch_Sapper_base_F
+{
+ scope = 2;
+ faceType = "Default";
+ displayName = "Sapper";
+ model = "\x\addons\a3_epoch_assets_3\CfgVehicles\Characters\Sapper_Character.p3d";
+ hiddenSelections[] = {"sapper","remains"};
+ hiddenSelectionsTextures[] = {"x\addons\a3_epoch_assets\textures\sapper\sapper_eco.paa",""};
+ glassesEnabled = 0;
+ modelSides[] = {6};
+ armor = 6;
+ armorStructural = 13;
+
+ magazines[] = {};
+ respawnMagazines[] = {};
+
+ class HitPoints : HitPoints
+ {
+ class HitHead : HitHead
+ {
+ armor = 4;
+ };
+ class HitBody : HitBody
+ {
+ armor = 7;
+ };
+ class HitHands : HitHands
+ {
+ armor = 1000;
+ };
+ class HitLegs : HitLegs
+ {
+ armor = 9;
+ };
+ class HitFace : HitFace {};
+ class HitNeck : HitNeck {};
+ class HitPelvis : HitPelvis {};
+ class HitAbdomen : HitAbdomen {};
+ class HitDiaphragm : HitDiaphragm {};
+ class HitChest : HitChest {};
+ class HitArms : HitArms {};
+
+ };
+};
+class Epoch_SapperB_F : Epoch_Sapper_base_F
+{
+ scope = 2;
+ faceType = "Default";
+ displayName = "Sapper (Bloated)";
+ model = "\x\addons\a3_epoch_assets_3\CfgVehicles\Characters\Sapper_Bloated.p3d";
+ //hiddenSelections[] = { "sapper", "remains" };
+ //hiddenSelectionsTextures[] = { "x\addons\a3_epoch_assets\textures\sapper\sapper_eco.paa", "" };
+ glassesEnabled = 0;
+ modelSides[] = { 6 };
+ armor = 9;
+ armorStructural = 13;
+
+ magazines[] = {};
+ respawnMagazines[] = {};
+
+ class HitPoints : HitPoints
+ {
+ class HitHead : HitHead
+ {
+ armor = 4;
+ };
+ class HitBody : HitBody
+ {
+ armor = 7;
+ };
+ class HitHands : HitHands
+ {
+ armor = 1000;
+ };
+ class HitLegs : HitLegs
+ {
+ armor = 9;
+ };
+ class HitFace : HitFace {};
+ class HitNeck : HitNeck {};
+ class HitPelvis : HitPelvis {};
+ class HitAbdomen : HitAbdomen {};
+ class HitDiaphragm : HitDiaphragm {};
+ class HitChest : HitChest {};
+ class HitArms : HitArms {};
+
+ };
+};
+
+/*
+class Epoch_Ent_Small_F : Epoch_Char_base_F
+{
+ scope = 2;
+ faceType = "Default";
+ model = "\x\addons\a3_epoch_assets_3\CfgVehicles\Characters\Elemental_Small.p3d";
+ displayName = "Ent (small)";
+ glassesEnabled = 0;
+ modelSides[] = {6};
+ class HitPoints: HitPoints
+ {
+ class HitHead: HitHead
+ {
+ armor = 100;
+ };
+ class HitBody: HitBody
+ {
+ armor = 200;
+ };
+ class HitHands: HitHands
+ {
+ armor = 200;
+ };
+ class HitLegs: HitLegs
+ {
+ armor = 200;
+ };
+ };
+};
+class Epoch_Ent_Med_F : Epoch_Char_base_F
+{
+ scope = 2;
+ faceType = "Default";
+ model = "\x\addons\a3_epoch_assets_3\CfgVehicles\Characters\Elemental_Med.p3d";
+ displayName = "Ent (medium)";
+ extCameraPosition[] = {0,1.5,-9};
+ glassesEnabled = 0;
+ modelSides[] = {6};
+ class HitPoints: HitPoints
+ {
+ class HitHead: HitHead
+ {
+ armor = 200;
+ };
+ class HitBody: HitBody
+ {
+ armor = 300;
+ };
+ class HitHands: HitHands
+ {
+ armor = 300;
+ };
+ class HitLegs: HitLegs
+ {
+ armor = 300;
+ };
+ };
+};
+class Epoch_Ent_Large_F : Epoch_Char_base_F
+{
+ scope = 2;
+ faceType = "Default";
+ model = "\x\addons\a3_epoch_assets_3\CfgVehicles\Characters\Elemental_Large.p3d";
+ displayName = "Ent (large)";
+ extCameraPosition[] = {0,1.5,-18};
+ glassesEnabled = 0;
+ modelSides[] = {6};
+ class HitPoints: HitPoints
+ {
+ class HitHead: HitHead
+ {
+ armor = 250;
+ };
+ class HitBody: HitBody
+ {
+ armor = 500;
+ };
+ class HitHands: HitHands
+ {
+ armor = 500;
+ };
+ class HitLegs: HitLegs
+ {
+ armor = 500;
+ };
+ };
+};
+*/
diff --git a/Sources/epoch_config/Configs/CfgVehicles/Fixes.hpp b/Sources/epoch_config/Configs/CfgVehicles/Fixes.hpp
new file mode 100644
index 00000000..eeff60c6
--- /dev/null
+++ b/Sources/epoch_config/Configs/CfgVehicles/Fixes.hpp
@@ -0,0 +1,102 @@
+/*
+ Author: Aaron Clark - EpochMod.com
+
+ Contributors:
+
+ Description:
+ Fixes to remove global exec of killed eh payload on map objects. Update: 12/4/2015 still needed as of 1.54
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_config/Configs/CfgVehicles/Fixes.hpp
+*/
+
+class House;
+class House_F: House
+{
+ class DestructionEffects;
+};
+class House_Small_F;
+class Ruins_F;
+
+class PowerLines_base_F : House_F
+{
+ mapSize = 2.35;
+ author = "$STR_A3_Bohemia_Interactive";
+ _generalMacro = "PowerLines_base_F";
+ scope = 0;
+ scopeCurator = 0;
+ displayName = "";
+ model = "\A3\Weapons_F\empty.p3d";
+ vehicleClass = "Structures_Infrastructure";
+ cost = 100;
+ compatibleWires[] = {};
+ class EventHandlers
+ {
+ killed = "if (isServer) then {this call compile preprocessFileLineNumbers ""\A3\Structures_F\Ind\PowerLines\Scripts\column_ruins.sqf""};";
+ };
+};
+
+class PowerLines_Small_base_F : House_Small_F
+{
+ mapSize = 2.79;
+ author = "$STR_A3_Bohemia_Interactive";
+ _generalMacro = "PowerLines_Small_base_F";
+ scope = 0;
+ scopeCurator = 0;
+ displayName = "";
+ model = "\A3\Weapons_F\empty.p3d";
+ vehicleClass = "Structures_Infrastructure";
+ compatibleWires[] = {};
+ cost = 100;
+ class EventHandlers
+ {
+ killed = "if (isServer) then {this call compile preprocessFileLineNumbers ""\A3\Structures_F\Ind\PowerLines\Scripts\column_ruins.sqf""};";
+ };
+};
+
+class Land_Communication_anchor_F : House_F
+{
+ mapSize = 9.73;
+ author = "$STR_A3_Bohemia_Interactive";
+ _generalMacro = "Land_Communication_anchor_F";
+ scope = 1;
+ scopeCurator = 2;
+ displayName = "$STR_A3_CfgVehicles_Land_Communication_anchor_F0";
+ model = "\A3\Structures_F\Ind\Transmitter_Tower\Communication_anchor_F.p3d";
+ vehicleClass = "Structures_Infrastructure";
+ class DestructionEffects
+ {
+ class DestroyPhase1
+ {
+ simulation = "destroy";
+ type = "DelayedDestruction";
+ lifeTime = 1;
+ position = "";
+ intensity = 1;
+ interval = 1;
+ };
+ };
+ class EventHandlers
+ {
+ killed = "if (isServer) then {this call compile preprocessFileLineNumbers ""\A3\Structures_F\Ind\Transmitter_Tower\Scripts\anchor_ruins.sqf""};";
+ };
+};
+class Land_Communication_F : House_F
+{
+ mapSize = 4.53;
+ author = "$STR_A3_Bohemia_Interactive";
+ _generalMacro = "Land_Communication_F";
+ scope = 1;
+ scopeCurator = 2;
+ displayName = "$STR_A3_CfgVehicles_Land_Communication_F0";
+ model = "\A3\Structures_F\Ind\Transmitter_Tower\Communication_F.p3d";
+ vehicleClass = "Structures_Infrastructure";
+ cost = 40000;
+ class EventHandlers
+ {
+ killed = "if (isServer) then {this call compile preprocessFileLineNumbers ""\A3\Structures_F\Ind\Transmitter_Tower\Scripts\tower_ruins.sqf""};";
+ };
+};
diff --git a/Sources/epoch_config/Configs/CfgVehicles/Players.hpp b/Sources/epoch_config/Configs/CfgVehicles/Players.hpp
new file mode 100644
index 00000000..b1e66d5f
--- /dev/null
+++ b/Sources/epoch_config/Configs/CfgVehicles/Players.hpp
@@ -0,0 +1,674 @@
+/*
+ Author: Aaron Clark - EpochMod.com
+
+ Contributors:
+
+ Description:
+ Player Configs
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_config/Configs/CfgVehicles/Players.hpp
+*/
+
+class B_Soldier_base_F;
+class Epoch_Female_base_F : B_Soldier_base_F
+{
+ identityTypes[] = { "Woman", "NoGlasses" };
+
+ faceType = "Man_A3";
+ woman = 1;
+ side = 1;
+ engineer = 1;
+ vehicleClass = "Women";
+ scope = 0;
+
+ // fix and normalize base classes
+ cost = 40000;
+ headgearProbability = 100;
+ allowedHeadgear[] = {};
+ class HitPoints
+ {
+ class HitFace
+ {
+ armor = 1;
+ material = -1;
+ name = "face_hub";
+ passThrough = 0.1;
+ radius = 0.08;
+ explosionShielding = 0.1;
+ minimalHit = 0.01;
+ };
+ class HitNeck: HitFace
+ {
+ armor = 1;
+ material = -1;
+ name = "neck";
+ passThrough = 0.1;
+ radius = 0.1;
+ explosionShielding = 0.5;
+ minimalHit = 0.01;
+ };
+ class HitHead: HitNeck
+ {
+ armor = 1;
+ material = -1;
+ name = "head";
+ passThrough = 0.1;
+ radius = 0.2;
+ explosionShielding = 0.5;
+ minimalHit = 0.01;
+ depends = "HitFace max HitNeck";
+ };
+ class HitPelvis
+ {
+ armor = 1;
+ material = -1;
+ name = "pelvis";
+ passThrough = 0.1;
+ radius = 0.2;
+ explosionShielding = 1;
+ visual = "injury_body";
+ minimalHit = 0.01;
+ };
+ class HitAbdomen: HitPelvis
+ {
+ armor = 1;
+ material = -1;
+ name = "spine1";
+ passThrough = 0.1;
+ radius = 0.15;
+ explosionShielding = 1;
+ visual = "injury_body";
+ minimalHit = 0.01;
+ };
+ class HitDiaphragm: HitAbdomen
+ {
+ armor = 1;
+ material = -1;
+ name = "spine2";
+ passThrough = 0.1;
+ radius = 0.15;
+ explosionShielding = 6;
+ visual = "injury_body";
+ minimalHit = 0.01;
+ };
+ class HitChest: HitDiaphragm
+ {
+ armor = 1;
+ material = -1;
+ name = "spine3";
+ passThrough = 0.1;
+ radius = 0.15;
+ explosionShielding = 6;
+ visual = "injury_body";
+ minimalHit = 0.01;
+ };
+ class HitBody: HitChest
+ {
+ armor = 1000;
+ material = -1;
+ name = "body";
+ passThrough = 0.1;
+ radius = 0.16;
+ explosionShielding = 6;
+ visual = "injury_body";
+ minimalHit = 0.01;
+ depends = "HitPelvis max HitAbdomen max HitDiaphragm max HitChest";
+ };
+ class HitArms
+ {
+ armor = 1;
+ material = -1;
+ name = "arms";
+ passThrough = 1;
+ radius = 0.1;
+ explosionShielding = 1;
+ visual = "injury_hands";
+ minimalHit = 0.01;
+ };
+ class HitHands: HitArms
+ {
+ armor = 1;
+ material = -1;
+ name = "hands";
+ passThrough = 1;
+ radius = 0.1;
+ explosionShielding = 1;
+ visual = "injury_hands";
+ minimalHit = 0.01;
+ depends = "HitArms";
+ };
+ class HitLegs
+ {
+ armor = 1;
+ material = -1;
+ name = "legs";
+ passThrough = 1;
+ radius = 0.12;
+ explosionShielding = 1;
+ visual = "injury_legs";
+ minimalHit = 0.01;
+ };
+ };
+
+ armor = 2;
+ armorStructural = 5;
+
+ class Wounds
+ {
+ tex[] = {};
+ mat[] = { "x\addons\a3_epoch_assets\textures\camo\female_camoDark.rvmat", "x\addons\a3_epoch_assets\textures\camo\female_camoinjury.rvmat", "x\addons\a3_epoch_assets\textures\camo\female_camoinjury.rvmat" };
+ };
+ model = "\x\addons\a3_epoch_assets_3\CfgVehicles\Characters\Keesha_character.p3d";
+ modelSides[] = {1};
+ nakedUniform = "U_BasicBodyFemale";
+ uniformClass = "U_Test_uniform";
+ weapons[] = {"Throw","Put"};
+ respawnWeapons[] = {"Throw","Put"};
+ Items[] = {};
+ RespawnItems[] = {};
+ magazines[] = {};
+ respawnMagazines[] = {};
+ linkedItems[] = { "V_F41_EPOCH", "ItemMap"};
+ respawnLinkedItems[] = { "V_F41_EPOCH", "ItemMap" };
+};
+
+class Underwear_F;
+class FemaleUnderwear_F: Underwear_F
+{
+ author = "Epoch";
+ _generalMacro = "FemaleUnderwear_F";
+ scope = 1;
+ scopeCurator = 0;
+ displayName = "TEST: Underwear";
+ model = "\x\addons\a3_epoch_assets_3\CfgVehicles\Characters\Keesha_character.p3d";
+ uniformClass = "U_BasicBodyFemale";
+ weapons[] = {};
+ magazines[] = {};
+ respawnWeapons[] = {};
+ respawnMagazines[] = {};
+};
+
+
+class Epoch_Female_wetsuit_F : Epoch_Female_base_F
+{
+ faceType = "Man_A3";
+ woman = 1;
+ side = 1;
+ engineer = 1;
+ vehicleClass = "Women";
+ displayName = "Female Wetsuit";
+ scope = 2;
+
+ hiddenSelections[] = { "Camo" };
+ hiddenSelectionsTextures[] = { "\x\addons\a3_epoch_assets\textures\wetsuit\wetsuit_co.paa" };
+
+ class Wounds
+ {
+ tex[] = {};
+ mat[] = { "x\addons\a3_epoch_assets\textures\wetsuit\wetsuit.rvmat", "x\addons\a3_epoch_assets\textures\wetsuit\wetsuit_Injury.rvmat", "x\addons\a3_epoch_assets\textures\wetsuit\wetsuit_Injury.rvmat" };
+ };
+ model = "\x\addons\a3_epoch_assets_3\CfgVehicles\Characters\Female_WetSuit.p3d";
+
+ hiddenUnderwaterSelections[] = { "hide" };
+ shownUnderwaterSelections[] = { "unhide", "unhide2" };
+
+ hiddenUnderwaterSelectionsTextures[] = { "\x\addons\a3_epoch_assets\textures\wetsuit\wetsuit_co.paa", "\x\addons\a3_epoch_assets\textures\wetsuit\wetsuit_co.paa", "\A3\characters_f\data\visors_ca.paa" };
+
+ modelSides[] = {1};
+ nakedUniform = "U_BasicBodyFemale";
+ uniformClass = "U_Wetsuit_uniform";
+ weapons[] = {"Throw","Put"};
+ respawnWeapons[] = {"Throw","Put"};
+ Items[] = {};
+ RespawnItems[] = {};
+ magazines[] = {};
+ respawnMagazines[] = {};
+
+ primaryAmmoCoef = 0.4;
+ secondaryAmmoCoef = 0.1;
+ handgunAmmoCoef = 0.2;
+
+ // O_Soldier_diver_base_F
+ class HitPoints: HitPoints
+ {
+ class HitHead: HitHead
+ {
+ armor = 2;
+ };
+ class HitBody: HitBody
+ {
+ armor = 2;
+ };
+ class HitHands: HitHands
+ {
+ armor = 2;
+ };
+ class HitLegs: HitLegs
+ {
+ armor = 2;
+ };
+ class HitFace : HitFace {};
+ class HitNeck : HitNeck {};
+ class HitPelvis : HitPelvis {};
+ class HitAbdomen : HitAbdomen {};
+ class HitDiaphragm : HitDiaphragm {};
+ class HitChest : HitChest {};
+ class HitArms : HitArms {};
+
+ };
+ armor = 2;
+ armorStructural = 5;
+
+ // O_Soldier_base_F
+ sensitivity = 3;
+ threat[] = {1,0.1,0.1};
+ camouflage = 1.4;
+
+};
+class Epoch_Female_wetsuitW_F : Epoch_Female_wetsuit_F
+{
+ displayName = "Female Wetsuit (white)";
+ scope = 2;
+ hiddenSelections[] = { "Camo" };
+ hiddenSelectionsTextures[] = { "\x\addons\a3_epoch_assets\textures\wetsuit\wetsuitWhite_co.paa" };
+ hiddenSelectionsMaterials[] = { "\x\addons\a3_epoch_assets\textures\wetsuit\wetsuitWhite.rvmat" };
+
+ class Wounds
+ {
+ tex[] = {};
+ mat[] = { "x\addons\a3_epoch_assets\textures\wetsuit\wetsuitWhite.rvmat", "x\addons\a3_epoch_assets\textures\wetsuit\wetsuit_Injury.rvmat", "x\addons\a3_epoch_assets\textures\wetsuit\wetsuit_Injury.rvmat" };
+ };
+
+ modelSides[] = { 1 };
+ uniformClass = "U_Wetsuit_White";
+ hiddenUnderwaterSelectionsTextures[] = { "\x\addons\a3_epoch_assets\textures\wetsuit\wetsuitWhite_co.paa", "\x\addons\a3_epoch_assets\textures\wetsuit\wetsuitWhite_co.paa", "\A3\characters_f\data\visors_ca.paa" };
+
+};
+class Epoch_Female_wetsuitB_F : Epoch_Female_wetsuit_F
+{
+ displayName = "Female Wetsuit (blue)";
+ scope = 2;
+ hiddenSelections[] = { "Camo" };
+ hiddenSelectionsTextures[] = { "\x\addons\a3_epoch_assets\textures\wetsuit\wetsuitBlue_co.paa" };
+ modelSides[] = { 1 };
+ uniformClass = "U_Wetsuit_Blue";
+ hiddenUnderwaterSelectionsTextures[] = { "\x\addons\a3_epoch_assets\textures\wetsuit\wetsuitBlue_co.paa", "\x\addons\a3_epoch_assets\textures\wetsuit\wetsuitBlue_co.paa", "\A3\characters_f\data\visors_ca.paa" };
+};
+class Epoch_Female_wetsuitP_F : Epoch_Female_wetsuit_F
+{
+ displayName = "Female Wetsuit (purple)";
+ scope = 2;
+ hiddenSelections[] = { "Camo" };
+ hiddenSelectionsTextures[] = { "\x\addons\a3_epoch_assets\textures\wetsuit\wetsuitPurp_co.paa" };
+ modelSides[] = { 1 };
+ uniformClass = "U_Wetsuit_Purp";
+ hiddenUnderwaterSelectionsTextures[] = { "\x\addons\a3_epoch_assets\textures\wetsuit\wetsuitPurp_co.paa", "\x\addons\a3_epoch_assets\textures\wetsuit\wetsuitPurp_co.paa", "\A3\characters_f\data\visors_ca.paa" };
+};
+class Epoch_Female_wetsuitC_F : Epoch_Female_wetsuit_F
+{
+ displayName = "Female Wetsuit (camo)";
+ scope = 2;
+ hiddenSelections[] = { "Camo" };
+ hiddenSelectionsTextures[] = { "\x\addons\a3_epoch_assets\textures\wetsuit\wetsuitCamo_co.paa" };
+ modelSides[] = { 1 };
+ uniformClass = "U_Wetsuit_Camo";
+ hiddenUnderwaterSelectionsTextures[] = { "\x\addons\a3_epoch_assets\textures\wetsuit\wetsuitCamo_co.paa", "\x\addons\a3_epoch_assets\textures\wetsuit\wetsuitCamo_co.paa", "\A3\characters_f\data\visors_ca.paa" };
+
+ camouflage = 1.0;
+};
+
+class Epoch_Female_Ghillie1_F : Epoch_Female_base_F
+{
+ displayName = "Female Ghillie (tan)";
+ scope = 2;
+ model = "\x\addons\a3_epoch_assets_3\CfgVehicles\Characters\female_ghillie.p3d";
+
+ hiddenSelections[] = { "Camo" };
+ hiddenSelectionsTextures[] = { "\a3\characters_f\common\data\ghillie_3_ca.paa" };
+ // hiddenSelectionsMaterials[] = { "\x\addons\a3_epoch_assets\textures\camo\female_camoDark.rvmat" };
+
+ modelSides[] = { 1 };
+ uniformClass = "U_ghillie1_uniform";
+
+ // O_Soldier_sniper_base_F
+ primaryAmmoCoef = 0.2;
+ secondaryAmmoCoef = 0.05;
+ handgunAmmoCoef = 0.1;
+
+ // O_Soldier_base_F
+ class HitPoints: HitPoints
+ {
+ class HitHead: HitHead
+ {
+ armor = 1;
+ passThrough = 1;
+ explosionShielding = 0.5;
+ };
+ class HitBody: HitBody
+ {
+ armor = 6;
+ passThrough = 0.5;
+ explosionShielding = 1.5;
+ };
+ class HitHands: HitHands
+ {
+ armor = 8;
+ passThrough = 0.5;
+ explosionShielding = 0.8;
+ };
+ class HitLegs: HitLegs
+ {
+ armor = 8;
+ passThrough = 0.5;
+ explosionShielding = 0.8;
+ };
+ class HitFace : HitFace {};
+ class HitNeck : HitNeck {};
+ class HitPelvis : HitPelvis {};
+ class HitAbdomen : HitAbdomen {};
+ class HitDiaphragm : HitDiaphragm {};
+ class HitChest : HitChest {};
+ class HitArms : HitArms {};
+
+ };
+ armor = 2;
+ armorStructural = 5;
+
+ // O_sniper_F
+ threat[] = {1,0.6,0.6};
+ camouflage = 0.4;
+ sensitivity = 3.3;
+};
+class Epoch_Female_Ghillie2_F : Epoch_Female_Ghillie1_F
+{
+ displayName = "Female Ghillie (light green)";
+ scope = 2;
+ model = "\x\addons\a3_epoch_assets_3\CfgVehicles\Characters\female_ghillie.p3d";
+
+ hiddenSelections[] = { "Camo" };
+ hiddenSelectionsTextures[] = { "\a3\characters_f\common\data\ghillie_2_ca.paa" };
+ // hiddenSelectionsMaterials[] = { "\x\addons\a3_epoch_assets\textures\camo\female_camoDark.rvmat" };
+
+ modelSides[] = { 1 };
+ uniformClass = "U_ghillie2_uniform";
+};
+class Epoch_Female_Ghillie3_F : Epoch_Female_Ghillie1_F
+{
+ displayName = "Female Ghillie (green)";
+ scope = 2;
+ model = "\x\addons\a3_epoch_assets_3\CfgVehicles\Characters\female_ghillie.p3d";
+
+ hiddenSelections[] = { "Camo" };
+ hiddenSelectionsTextures[] = { "\a3\characters_f\common\data\ghillie_1_ca.paa" };
+ // hiddenSelectionsMaterials[] = { "\x\addons\a3_epoch_assets\textures\camo\female_camoDark.rvmat" };
+
+ modelSides[] = { 1 };
+ uniformClass = "U_ghillie3_uniform";
+};
+
+class Epoch_Female_Camo_F : Epoch_Female_base_F
+{
+ displayName = "Female Camo";
+ scope = 2;
+ model = "\x\addons\a3_epoch_assets_3\CfgVehicles\Characters\female_camo.p3d";
+ hiddenSelections[] = { "Camo" };
+ hiddenSelectionsTextures[] = { "\x\addons\a3_epoch_assets\textures\camo\camoDark_co.paa" };
+ hiddenSelectionsMaterials[] = { "\x\addons\a3_epoch_assets\textures\camo\female_camoDark.rvmat" };
+
+ class Wounds
+ {
+ tex[] = {};
+ mat[] = { "x\addons\a3_epoch_assets\textures\camo\female_camoDark.rvmat", "x\addons\a3_epoch_assets\textures\camo\female_camoinjury.rvmat", "x\addons\a3_epoch_assets\textures\camo\female_camoinjury.rvmat" };
+ };
+
+ modelSides[] = { 1 };
+ uniformClass = "U_Camo_uniform";
+
+};
+class Epoch_Female_CamoBlue_F : Epoch_Female_Camo_F
+{
+ displayName = "Female Camo (Blue)";
+ scope = 2;
+ model = "\x\addons\a3_epoch_assets_3\CfgVehicles\Characters\female_camo.p3d";
+ hiddenSelections[] = { "Camo" };
+ hiddenSelectionsTextures[] = { "\x\addons\a3_epoch_assets\textures\camo\camoBlue_co.paa" };
+ hiddenSelectionsMaterials[] = { "\x\addons\a3_epoch_assets\textures\camo\female_camoBlue.rvmat" };
+
+ class Wounds
+ {
+ tex[] = {};
+ mat[] = { "x\addons\a3_epoch_assets\textures\camo\female_camoBlue.rvmat", "x\addons\a3_epoch_assets\textures\camo\female_camoinjury.rvmat", "x\addons\a3_epoch_assets\textures\camo\female_camoinjury.rvmat" };
+ };
+
+ modelSides[] = { 1 };
+ uniformClass = "U_CamoBlue_uniform";
+};
+class Epoch_Female_CamoBrn_F : Epoch_Female_Camo_F
+{
+ displayName = "Female Camo (Brown)";
+ scope = 2;
+ model = "\x\addons\a3_epoch_assets_3\CfgVehicles\Characters\female_camo.p3d";
+ hiddenSelections[] = { "Camo" };
+ hiddenSelectionsTextures[] = { "\x\addons\a3_epoch_assets\textures\camo\camoBrown_co.paa" };
+ hiddenSelectionsMaterials[] = { "\x\addons\a3_epoch_assets\textures\camo\female_camoBrown.rvmat" };
+
+ class Wounds
+ {
+ tex[] = {};
+ mat[] = { "x\addons\a3_epoch_assets\textures\camo\female_camoBrown.rvmat", "x\addons\a3_epoch_assets\textures\camo\female_camoinjury.rvmat", "x\addons\a3_epoch_assets\textures\camo\female_camoinjury.rvmat" };
+ };
+
+ modelSides[] = { 1 };
+ uniformClass = "U_CamoBrn_uniform";
+};
+class Epoch_Female_CamoRed_F : Epoch_Female_Camo_F
+{
+ displayName = "Female Camo (Red)";
+ scope = 2;
+ model = "\x\addons\a3_epoch_assets_3\CfgVehicles\Characters\female_camo.p3d";
+ hiddenSelections[] = { "Camo" };
+ hiddenSelectionsTextures[] = { "\x\addons\a3_epoch_assets\textures\camo\camoRed_co.paa" };
+ hiddenSelectionsMaterials[] = { "\x\addons\a3_epoch_assets\textures\camo\female_camoRed.rvmat" };
+
+ class Wounds
+ {
+ tex[] = {};
+ mat[] = { "x\addons\a3_epoch_assets\textures\camo\female_camoRed.rvmat", "x\addons\a3_epoch_assets\textures\camo\female_camoinjury.rvmat", "x\addons\a3_epoch_assets\textures\camo\female_camoinjury.rvmat" };
+ };
+
+ modelSides[] = { 1 };
+ uniformClass = "U_CamoRed_uniform";
+};
+
+class Epoch_Female_F: Epoch_Female_base_F
+{
+ woman = 1;
+ scope = 2;
+ displayName = "Female";
+ interactMode = 2;
+};
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+class O_Soldier_base_F;
+class Epoch_Man_base_F : O_Soldier_base_F
+{
+ identityTypes[] = { "Kerry", "NoGlasses" };
+
+ faceType = "Man_A3";
+ side = 0;
+ vehicleClass = "Men";
+ engineer = 1;
+ scope = 0;
+ class Wounds
+ {
+ tex[] = {};
+ mat[] = {"A3\Characters_F\Common\Data\basicbody.rvmat","A3\Characters_F\Common\Data\basicbody_injury.rvmat","A3\Characters_F\Common\Data\basicbody_injury.rvmat","A3\Characters_F\Heads\Data\hl_white_bald_muscular.rvmat","A3\Characters_F\Heads\Data\hl_white_bald_muscular_injury.rvmat","A3\Characters_F\Heads\Data\hl_white_bald_muscular_injury.rvmat","A3\Characters_F\Heads\Data\hl_black_bald_muscular.rvmat","A3\Characters_F\Heads\Data\hl_black_bald_muscular_injury.rvmat","A3\Characters_F\Heads\Data\hl_black_bald_muscular_injury.rvmat","A3\Characters_F\Heads\Data\hl_white_hairy_muscular.rvmat","A3\Characters_F\Heads\Data\hl_white_hairy_muscular_injury.rvmat","A3\Characters_F\Heads\Data\hl_white_hairy_muscular_injury.rvmat","A3\Characters_F\Heads\Data\hl_white_old.rvmat","A3\Characters_F\Heads\Data\hl_white_old_injury.rvmat","A3\Characters_F\Heads\Data\hl_white_old_injury.rvmat","A3\Characters_F\Heads\Data\hl_asian_bald_muscular.rvmat","A3\Characters_F\Heads\Data\hl_asian_bald_muscular_injury.rvmat","A3\Characters_F\Heads\Data\hl_asian_bald_muscular_injury.rvmat"};
+ };
+ model = "\A3\Characters_F\Common\basicbody";
+ modelSides[] = {0};
+ nakedUniform = "U_BasicBody";
+ uniformClass = "U_Test1_uniform";
+ weapons[] = {"Throw","Put"};
+ respawnWeapons[] = {"Throw","Put"};
+ Items[] = {};
+ RespawnItems[] = {};
+ magazines[] = {};
+ respawnMagazines[] = {};
+ linkedItems[] = { "V_41_EPOCH", "ItemMap" };
+ respawnLinkedItems[] = { "V_41_EPOCH", "ItemMap" };
+
+ // fix and normalize base classes
+ cost = 40000;
+ headgearProbability = 100;
+ allowedHeadgear[] = {};
+ class HitPoints
+ {
+ class HitFace
+ {
+ armor = 1;
+ material = -1;
+ name = "face_hub";
+ passThrough = 0.1;
+ radius = 0.08;
+ explosionShielding = 0.1;
+ minimalHit = 0.01;
+ };
+ class HitNeck: HitFace
+ {
+ armor = 1;
+ material = -1;
+ name = "neck";
+ passThrough = 0.1;
+ radius = 0.1;
+ explosionShielding = 0.5;
+ minimalHit = 0.01;
+ };
+ class HitHead: HitNeck
+ {
+ armor = 1;
+ material = -1;
+ name = "head";
+ passThrough = 0.1;
+ radius = 0.2;
+ explosionShielding = 0.5;
+ minimalHit = 0.01;
+ depends = "HitFace max HitNeck";
+ };
+ class HitPelvis
+ {
+ armor = 1;
+ material = -1;
+ name = "pelvis";
+ passThrough = 0.1;
+ radius = 0.2;
+ explosionShielding = 1;
+ visual = "injury_body";
+ minimalHit = 0.01;
+ };
+ class HitAbdomen: HitPelvis
+ {
+ armor = 1;
+ material = -1;
+ name = "spine1";
+ passThrough = 0.1;
+ radius = 0.15;
+ explosionShielding = 1;
+ visual = "injury_body";
+ minimalHit = 0.01;
+ };
+ class HitDiaphragm: HitAbdomen
+ {
+ armor = 1;
+ material = -1;
+ name = "spine2";
+ passThrough = 0.1;
+ radius = 0.15;
+ explosionShielding = 6;
+ visual = "injury_body";
+ minimalHit = 0.01;
+ };
+ class HitChest: HitDiaphragm
+ {
+ armor = 1;
+ material = -1;
+ name = "spine3";
+ passThrough = 0.1;
+ radius = 0.15;
+ explosionShielding = 6;
+ visual = "injury_body";
+ minimalHit = 0.01;
+ };
+ class HitBody: HitChest
+ {
+ armor = 1000;
+ material = -1;
+ name = "body";
+ passThrough = 0.1;
+ radius = 0.16;
+ explosionShielding = 6;
+ visual = "injury_body";
+ minimalHit = 0.01;
+ depends = "HitPelvis max HitAbdomen max HitDiaphragm max HitChest";
+ };
+ class HitArms
+ {
+ armor = 1;
+ material = -1;
+ name = "arms";
+ passThrough = 1;
+ radius = 0.1;
+ explosionShielding = 1;
+ visual = "injury_hands";
+ minimalHit = 0.01;
+ };
+ class HitHands: HitArms
+ {
+ armor = 1;
+ material = -1;
+ name = "hands";
+ passThrough = 1;
+ radius = 0.1;
+ explosionShielding = 1;
+ visual = "injury_hands";
+ minimalHit = 0.01;
+ depends = "HitArms";
+ };
+ class HitLegs
+ {
+ armor = 1;
+ material = -1;
+ name = "legs";
+ passThrough = 1;
+ radius = 0.12;
+ explosionShielding = 1;
+ visual = "injury_legs";
+ minimalHit = 0.01;
+ };
+ };
+ armor = 2;
+ armorStructural = 5;
+
+
+};
+class Epoch_Male_F: Epoch_Man_base_F
+{
+ scope = 2;
+ displayName = "Male";
+ interactMode = 2;
+};
diff --git a/Sources/epoch_config/Configs/CfgWeapons.hpp b/Sources/epoch_config/Configs/CfgWeapons.hpp
index ba193972..555fe72b 100644
--- a/Sources/epoch_config/Configs/CfgWeapons.hpp
+++ b/Sources/epoch_config/Configs/CfgWeapons.hpp
@@ -1,3 +1,18 @@
+/*
+ Author: Aaron Clark - EpochMod.com
+
+ Contributors:
+
+ Description:
+ Main CfgWeapons config file
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_config/Configs/CfgWeapons.hpp
+*/
+
class CfgWeapons
{
class InventoryItem_Base_F;
@@ -284,61 +299,66 @@ class CfgWeapons
- class VestItem : InventoryItem_Base_F
+
+
+ class VestItem: InventoryItem_Base_F
{
author = "$STR_A3_Bohemia_Interactive";
_generalMacro = "VestItem";
type = 701;
uniformType = "Default";
hiddenSelections[] = {};
- armor = 0;
- passThrough = 1;
- hitpointName = "HitBody";
- overlaySelectionsInfo[] = { "Ghillie_hide" };
+ class HitpointsProtectionInfo
+ {
+ class Body
+ {
+ hitpointName = "HitBody";
+ armor = 0;
+ passThrough = 1;
+ };
+ };
+ overlaySelectionsInfo[] = {"Ghillie_hide"};
showHolsteredPistol = 0;
};
- class Vest_Camo_Base : ItemCore
+ class Vest_Camo_Base: ItemCore
{
author = "$STR_A3_Bohemia_Interactive";
_generalMacro = "Vest_Camo_Base";
scope = 0;
weaponPoolAvailable = 1;
- allowedSlots[] = { 901 };
+ allowedSlots[] = {901};
picture = "\A3\characters_f\Data\UI\icon_V_BandollierB_CA.paa";
model = "\x\addons\a3_epoch_assets\models\parcel.p3d";
- hiddenSelections[] = { "camo" };
- class ItemInfo : VestItem
+ hiddenSelections[] = {"camo"};
+ descriptionShort = "$STR_A3_SP_NOARMOR";
+ class ItemInfo: VestItem
{
uniformModel = "\A3\Characters_F\BLUFOR\equip_b_bandolier";
- hiddenSelections[] = { "camo" };
+ hiddenSelections[] = {"camo"};
containerClass = "Supply0";
mass = 0;
- armor = 0;
- passThrough = 1;
};
};
- class Vest_NoCamo_Base : ItemCore
+ class Vest_NoCamo_Base: ItemCore
{
author = "$STR_A3_Bohemia_Interactive";
_generalMacro = "Vest_NoCamo_Base";
scope = 0;
weaponPoolAvailable = 1;
- allowedSlots[] = { 901 };
+ allowedSlots[] = {901};
picture = "\A3\characters_f\Data\UI\icon_V_BandollierB_CA.paa";
model = "\x\addons\a3_epoch_assets\models\parcel.p3d";
hiddenSelections[] = {};
- class ItemInfo : VestItem
+ descriptionShort = "$STR_A3_SP_NOARMOR";
+ class ItemInfo: VestItem
{
uniformModel = "\A3\Characters_F\BLUFOR\equip_b_bandolier";
hiddenSelections[] = {};
containerClass = "Supply0";
mass = 0;
- armor = 0;
- passThrough = 1;
};
};
-
class V_F0_EPOCH: Vest_Camo_Base
{
maleVest = "V_16_EPOCH";
@@ -347,13 +367,38 @@ class CfgWeapons
picture = "\A3\characters_f\Data\UI\icon_V_TacVest_blk_CA.paa";
model = "\x\addons\a3_epoch_assets\models\parcel.p3d";
hiddenSelectionsTextures[] = {"\a3\characters_f\common\data\tacticalvest_black_co.paa"};
+ descriptionShort = "$STR_A3_SP_AL_I";
class ItemInfo: ItemInfo
{
uniformModel = "\x\addons\a3_epoch_assets_3\CfgVehicles\Characters\female_tactVest.p3d";
containerClass = "Supply100";
mass = 40;
- armor = 20;
- passThrough = 1;
+ class HitpointsProtectionInfo
+ {
+ class Chest
+ {
+ hitpointName = "HitChest";
+ armor = 8;
+ passThrough = 0.5;
+ };
+ class Diaphragm
+ {
+ hitpointName = "HitDiaphragm";
+ armor = 8;
+ passThrough = 0.5;
+ };
+ class Abdomen
+ {
+ hitpointName = "HitAbdomen";
+ armor = 8;
+ passThrough = 0.5;
+ };
+ class Body
+ {
+ hitpointName = "HitBody";
+ passThrough = 0.5;
+ };
+ };
};
};
class V_F1_EPOCH: V_F0_EPOCH
@@ -391,13 +436,38 @@ class CfgWeapons
picture = "\A3\Characters_F\data\ui\icon_V_TacVest_camo_CA.paa";
hiddenSelectionsTextures[] = {"\A3\Characters_F\Common\Data\tacticalvest_camo_co.paa"};
model = "\x\addons\a3_epoch_assets\models\parcel.p3d";
+ descriptionShort = "$STR_A3_SP_AL_I";
class ItemInfo: ItemInfo
{
- uniformModel = "\x\addons\a3_epoch_assets_3\CfgVehicles\Characters\female_tactVest.p3d";
+ uniformModel = "A3\Characters_F\Common\equip_tacticalvest";
containerClass = "Supply100";
mass = 40;
- armor = 20;
- passThrough = 1;
+ class HitpointsProtectionInfo
+ {
+ class Chest
+ {
+ hitpointName = "HitChest";
+ armor = 8;
+ passThrough = 0.5;
+ };
+ class Diaphragm
+ {
+ hitpointName = "HitDiaphragm";
+ armor = 8;
+ passThrough = 0.5;
+ };
+ class Abdomen
+ {
+ hitpointName = "HitAbdomen";
+ armor = 8;
+ passThrough = 0.5;
+ };
+ class Body
+ {
+ hitpointName = "HitBody";
+ passThrough = 0.5;
+ };
+ };
};
};
class V_F5_EPOCH: Vest_Camo_Base
@@ -408,13 +478,38 @@ class CfgWeapons
picture = "\A3\characters_f\Data\UI\icon_V_TacVest_blk_police_CA.paa";
hiddenSelectionsTextures[] = {"\A3\Characters_F\Common\Data\tacticalvest_police_co.paa"};
model = "\x\addons\a3_epoch_assets\models\parcel.p3d";
+ descriptionShort = "$STR_A3_SP_AL_II";
class ItemInfo: ItemInfo
{
- uniformModel = "\x\addons\a3_epoch_assets_3\CfgVehicles\Characters\female_tactVest.p3d";
+ uniformModel = "A3\Characters_F\Common\equip_tacticalvest";
containerClass = "Supply100";
- mass = 60;
- armor = 100;
- passThrough = 0.7;
+ mass = 50;
+ class HitpointsProtectionInfo
+ {
+ class Chest
+ {
+ hitpointName = "HitChest";
+ armor = 12;
+ passThrough = 0.4;
+ };
+ class Diaphragm
+ {
+ hitpointName = "HitDiaphragm";
+ armor = 12;
+ passThrough = 0.4;
+ };
+ class Abdomen
+ {
+ hitpointName = "HitAbdomen";
+ armor = 12;
+ passThrough = 0.4;
+ };
+ class Body
+ {
+ hitpointName = "HitBody";
+ passThrough = 0.4;
+ };
+ };
};
};
@@ -431,7 +526,7 @@ class CfgWeapons
{
uniformModel = "\A3\Characters_F\BLUFOR\equip_b_belt";
containerClass = "Supply40";
- mass = 10;
+ mass = 5;
armor = 0;
passThrough = 1;
};
@@ -450,7 +545,7 @@ class CfgWeapons
{
uniformModel = "\A3\Characters_F\BLUFOR\equip_b_bandolier";
containerClass = "Supply80";
- mass = 15;
+ mass = 10;
armor = 0;
passThrough = 1;
};
@@ -503,8 +598,32 @@ class CfgWeapons
uniformModel = "\A3\Characters_F\BLUFOR\equip_b_vest02";
containerClass = "Supply140";
mass = 80;
- armor = 20;
- passThrough = 0.5;
+ class HitpointsProtectionInfo
+ {
+ class Chest
+ {
+ HitpointName = "HitChest";
+ armor = 16;
+ PassThrough = 0.3;
+ };
+ class Diaphragm
+ {
+ HitpointName = "HitDiaphragm";
+ armor = 16;
+ PassThrough = 0.3;
+ };
+ class Abdomen
+ {
+ hitpointName = "HitAbdomen";
+ armor = 16;
+ passThrough = 0.3;
+ };
+ class Body
+ {
+ hitpointName = "HitBody";
+ passThrough = 0.3;
+ };
+ };
};
};
class V_7_EPOCH : V_6_EPOCH // V_PlateCarrier2_rgr
@@ -520,8 +639,32 @@ class CfgWeapons
uniformModel = "\A3\Characters_F\BLUFOR\equip_b_vest01";
containerClass = "Supply140";
mass = 100;
- armor = 30;
- passThrough = 0.5;
+ class HitpointsProtectionInfo
+ {
+ class Chest
+ {
+ HitpointName = "HitChest";
+ armor = 20;
+ PassThrough = 0.2;
+ };
+ class Diaphragm
+ {
+ HitpointName = "HitDiaphragm";
+ armor = 20;
+ PassThrough = 0.2;
+ };
+ class Abdomen
+ {
+ hitpointName = "HitAbdomen";
+ armor = 20;
+ passThrough = 0.2;
+ };
+ class Body
+ {
+ hitpointName = "HitBody";
+ passThrough = 0.2;
+ };
+ };
};
};
class V_8_EPOCH : Vest_NoCamo_Base // V_PlateCarrier3_rgr
@@ -537,8 +680,32 @@ class CfgWeapons
uniformModel = "\A3\Characters_F\BLUFOR\equip_b_vest01.p3d";
containerClass = "Supply140";
mass = 100;
- armor = 30;
- passThrough = 0.5;
+ class HitpointsProtectionInfo
+ {
+ class Chest
+ {
+ HitpointName = "HitChest";
+ armor = 20;
+ PassThrough = 0.2;
+ };
+ class Diaphragm
+ {
+ HitpointName = "HitDiaphragm";
+ armor = 20;
+ PassThrough = 0.2;
+ };
+ class Abdomen
+ {
+ hitpointName = "HitAbdomen";
+ armor = 20;
+ passThrough = 0.2;
+ };
+ class Body
+ {
+ hitpointName = "HitBody";
+ passThrough = 0.2;
+ };
+ };
};
};
class V_9_EPOCH : Vest_NoCamo_Base // V_PlateCarrierGL_rgr
@@ -556,9 +723,51 @@ class CfgWeapons
uniformModel = "\A3\Characters_F\BLUFOR\equip_b_carrier_gl_rig.p3d";
containerClass = "Supply140";
mass = 100;
- armor = 100;
- passThrough = 0.7;
- hiddenSelections[] = { "camo" };
+ hiddenSelections[] = {"camo"};
+ class HitpointsProtectionInfo
+ {
+ class Neck
+ {
+ hitpointName = "HitNeck";
+ armor = 8;
+ passThrough = 0.5;
+ };
+ class Arms
+ {
+ hitpointName = "HitArms";
+ armor = 8;
+ passThrough = 0.5;
+ };
+ class Chest
+ {
+ hitpointName = "HitChest";
+ armor = 78;
+ passThrough = 0.6;
+ };
+ class Diaphragm
+ {
+ hitpointName = "HitDiaphragm";
+ armor = 78;
+ passThrough = 0.6;
+ };
+ class Abdomen
+ {
+ hitpointName = "HitAbdomen";
+ armor = 16;
+ passThrough = 0.3;
+ };
+ class Pelvis
+ {
+ hitpointName = "HitPelvis";
+ armor = 16;
+ passThrough = 0.3;
+ };
+ class Body
+ {
+ hitpointName = "HitBody";
+ passThrough = 0.6;
+ };
+ };
};
};
class V_10_EPOCH : Vest_Camo_Base // V_Chestrig_khk
@@ -571,14 +780,12 @@ class CfgWeapons
model = "\x\addons\a3_epoch_assets\models\parcel.p3d";
hiddenSelections[] = { "Camo1", "Camo2" };
hiddenSelectionsTextures[] = { "\A3\Characters_F\Common\Data\equip_chestrig_khk_co.paa", "\A3\Characters_F\BLUFOR\Data\vests_khk_co.paa" };
- class ItemInfo : ItemInfo
+ class ItemInfo: ItemInfo
{
uniformModel = "\A3\Characters_F\Common\equip_chestrig.p3d";
containerClass = "Supply140";
mass = 20;
- armor = 0;
- passThrough = 1;
- hiddenSelections[] = { "camo1", "camo2" };
+ hiddenSelections[] = {"camo1","camo2"};
};
};
class V_11_EPOCH : V_10_EPOCH // V_Chestrig_rgr
@@ -611,13 +818,38 @@ class CfgWeapons
picture = "\A3\characters_f\Data\UI\icon_V_TacVest_khk_CA.paa";
model = "\x\addons\a3_epoch_assets\models\parcel.p3d";
hiddenSelectionsTextures[] = { "\A3\Characters_F\Common\Data\tacticalvest_khaki_co.paa" };
- class ItemInfo : ItemInfo
+ descriptionShort = "$STR_A3_SP_AL_I";
+ class ItemInfo: ItemInfo
{
uniformModel = "A3\Characters_F\Common\equip_tacticalvest";
containerClass = "Supply100";
mass = 40;
- armor = 20;
- passThrough = 1;
+ class HitpointsProtectionInfo
+ {
+ class Chest
+ {
+ hitpointName = "HitChest";
+ armor = 8;
+ passThrough = 0.5;
+ };
+ class Diaphragm
+ {
+ hitpointName = "HitDiaphragm";
+ armor = 8;
+ passThrough = 0.5;
+ };
+ class Abdomen
+ {
+ hitpointName = "HitAbdomen";
+ armor = 8;
+ passThrough = 0.5;
+ };
+ class Body
+ {
+ hitpointName = "HitBody";
+ passThrough = 0.5;
+ };
+ };
};
};
class V_14_EPOCH : V_13_EPOCH //V_TacVest_brn
@@ -660,8 +892,6 @@ class CfgWeapons
uniformModel = "\A3\Characters_F\OPFOR\equip_o_vest01";
containerClass = "Supply160";
mass = 30;
- armor = 0;
- passThrough = 0.5;
};
};
class V_18_EPOCH : Vest_NoCamo_Base // V_HarnessOGL_brn
@@ -672,13 +902,11 @@ class CfgWeapons
displayName = "$STR_A3_V_HarnessOGL_brn0";
picture = "\A3\characters_f\Data\UI\icon_V_HarnessOGL_brn_CA.paa";
model = "\x\addons\a3_epoch_assets\models\parcel.p3d";
- class ItemInfo : ItemInfo
+ class ItemInfo: ItemInfo
{
uniformModel = "\A3\Characters_F\OPFOR\equip_o_vest_gl";
containerClass = "Supply120";
- mass = 20;
- armor = 0;
- passThrough = 0.5;
+ mass = 15;
};
};
class V_19_EPOCH : Vest_Camo_Base // V_RebreatherB
@@ -693,17 +921,42 @@ class CfgWeapons
shownUnderwaterSelections[] = { "unhide", "unhide2" };
hiddenUnderwaterSelectionsTextures[] = { "\A3\characters_f\common\data\diver_equip_nato_co.paa", "\A3\characters_f\common\data\diver_equip_nato_co.paa", "\A3\characters_f\data\visors_ca.paa" };
hiddenSelectionsTextures[] = { "\A3\characters_f\common\data\diver_equip_nato_co.paa" };
+ descriptionShort = "$STR_A3_SP_AL_I";
class ItemInfo : ItemInfo
{
uniformModel = "\A3\Characters_F\Common\equip_rebreather";
containerClass = "Supply80";
mass = 80;
vestType = "Rebreather";
- hiddenUnderwaterSelections[] = { "hide" };
- shownUnderwaterSelections[] = { "unhide", "unhide2" };
- hiddenUnderwaterSelectionsTextures[] = { "\A3\characters_f\common\data\diver_equip_nato_co.paa", "\A3\characters_f\common\data\diver_equip_nato_co.paa", "\A3\characters_f\data\visors_ca.paa" };
- armor = 20;
- passThrough = 1;
+ hiddenUnderwaterSelections[] = {"hide"};
+ shownUnderwaterSelections[] = {"unhide","unhide2"};
+ hiddenUnderwaterSelectionsTextures[] = {"\A3\characters_f\common\data\diver_equip_nato_co.paa","\A3\characters_f\common\data\diver_equip_nato_co.paa","\A3\characters_f\data\visors_ca.paa"};
+ class HitpointsProtectionInfo
+ {
+ class Diaphragm
+ {
+ hitpointName = "HitDiaphragm";
+ armor = 8;
+ passThrough = 0.5;
+ };
+ class Abdomen
+ {
+ hitpointName = "HitAbdomen";
+ armor = 8;
+ passThrough = 0.5;
+ };
+ class Pelvis
+ {
+ hitpointName = "HitPelvis";
+ armor = 8;
+ passThrough = 0.5;
+ };
+ class Body
+ {
+ hitpointName = "HitBody";
+ passThrough = 0.5;
+ };
+ };
};
};
class V_20_EPOCH : V_19_EPOCH // V_RebreatherIR
@@ -738,13 +991,38 @@ class CfgWeapons
displayName = "$STR_A3_V_PlateCarrier1_blk0";
hiddenSelectionsTextures[] = { "\A3\Characters_F\BLUFOR\Data\vests_blk_co.paa" };
model = "\x\addons\a3_epoch_assets\models\parcel.p3d";
- class ItemInfo : ItemInfo
+ descriptionShort = "$STR_A3_SP_AL_III";
+ class ItemInfo: ItemInfo
{
uniformModel = "\A3\Characters_F\BLUFOR\equip_b_vest02.p3d";
containerClass = "Supply140";
mass = 80;
- armor = 20;
- passThrough = 0.5;
+ class HitpointsProtectionInfo
+ {
+ class Chest
+ {
+ HitpointName = "HitChest";
+ armor = 16;
+ PassThrough = 0.3;
+ };
+ class Diaphragm
+ {
+ HitpointName = "HitDiaphragm";
+ armor = 16;
+ PassThrough = 0.3;
+ };
+ class Abdomen
+ {
+ hitpointName = "HitAbdomen";
+ armor = 16;
+ passThrough = 0.3;
+ };
+ class Body
+ {
+ hitpointName = "HitBody";
+ passThrough = 0.3;
+ };
+ };
};
};
class V_23_EPOCH : Vest_NoCamo_Base // V_PlateCarrierSpec_rgr
@@ -755,16 +1033,54 @@ class CfgWeapons
displayName = "$STR_A3_V_PlateCarrierSpec_rgr0";
picture = "\A3\characters_f\Data\UI\icon_V_plate_carrier_1_CA.paa";
model = "\x\addons\a3_epoch_assets\models\parcel.p3d";
+ DLC = "Mark";
+ descriptionShort = "$STR_A3_SP_AL_V";
hiddenSelections[] = {"camo"};
hiddenSelectionsTextures[] = {"\A3\Characters_F_Mark\BLUFOR\Data\carrier_gl_rig_grn_co.paa"};
- class ItemInfo : ItemInfo
+ class ItemInfo: ItemInfo
{
uniformModel = "\A3\Characters_F\BLUFOR\equip_b_carrier_spec_rig.p3d";
containerClass = "Supply100";
mass = 120;
- armor = 40;
- passThrough = 0.1;
- hiddenSelections[] = { "camo" };
+ hiddenSelections[] = {"camo"};
+ class HitpointsProtectionInfo
+ {
+ class Neck
+ {
+ hitpointName = "HitNeck";
+ armor = 8;
+ passThrough = 0.5;
+ };
+ class Arms
+ {
+ hitpointName = "HitArms";
+ armor = 8;
+ passThrough = 0.5;
+ };
+ class Chest
+ {
+ hitpointName = "HitChest";
+ armor = 24;
+ passThrough = 0.1;
+ };
+ class Diaphragm
+ {
+ hitpointName = "HitDiaphragm";
+ armor = 24;
+ passThrough = 0.1;
+ };
+ class Abdomen
+ {
+ hitpointName = "HitAbdomen";
+ armor = 24;
+ passThrough = 0.1;
+ };
+ class Body
+ {
+ hitpointName = "HitBody";
+ passThrough = 0.1;
+ };
+ };
};
};
class V_24_EPOCH : Vest_Camo_Base // V_Chestrig_oli
@@ -782,9 +1098,7 @@ class CfgWeapons
uniformModel = "\A3\Characters_F\Common\equip_chestrig.p3d";
containerClass = "Supply140";
mass = 20;
- armor = 0;
- passThrough = 1;
- hiddenSelections[] = { "Camo1", "Camo2" };
+ hiddenSelections[] = {"Camo1","Camo2"};
};
};
class V_25_EPOCH : Vest_Camo_Base // V_TacVest_camo
@@ -797,13 +1111,38 @@ class CfgWeapons
model = "\x\addons\a3_epoch_assets\models\parcel.p3d";
picture = "\A3\Characters_F\data\ui\icon_V_TacVest_camo_CA.paa";
hiddenSelectionsTextures[] = { "\A3\Characters_F_Bootcamp\Common\Data\tacticalvest_camo_co.paa" };
- class ItemInfo : ItemInfo
+ descriptionShort = "$STR_A3_SP_AL_I";
+ class ItemInfo: ItemInfo
{
uniformModel = "A3\Characters_F\Common\equip_tacticalvest";
containerClass = "Supply100";
mass = 40;
- armor = 20;
- passThrough = 1;
+ class HitpointsProtectionInfo
+ {
+ class Chest
+ {
+ hitpointName = "HitChest";
+ armor = 8;
+ passThrough = 0.5;
+ };
+ class Diaphragm
+ {
+ hitpointName = "HitDiaphragm";
+ armor = 8;
+ passThrough = 0.5;
+ };
+ class Abdomen
+ {
+ hitpointName = "HitAbdomen";
+ armor = 8;
+ passThrough = 0.5;
+ };
+ class Body
+ {
+ hitpointName = "HitBody";
+ passThrough = 0.5;
+ };
+ };
};
};
class V_26_EPOCH : Vest_Camo_Base // V_TacVest_blk_POLICE
@@ -816,13 +1155,38 @@ class CfgWeapons
picture = "\A3\characters_f\Data\UI\icon_V_TacVest_blk_police_CA.paa";
hiddenSelectionsTextures[] = { "\A3\Characters_F\Common\Data\tacticalvest_police_co.paa" };
model = "\x\addons\a3_epoch_assets\models\parcel.p3d";
- class ItemInfo : ItemInfo
+ descriptionShort = "$STR_A3_SP_AL_II";
+ class ItemInfo: ItemInfo
{
uniformModel = "A3\Characters_F\Common\equip_tacticalvest";
containerClass = "Supply100";
- mass = 60;
- armor = 100;
- passThrough = 0.7;
+ mass = 50;
+ class HitpointsProtectionInfo
+ {
+ class Chest
+ {
+ hitpointName = "HitChest";
+ armor = 12;
+ passThrough = 0.4;
+ };
+ class Diaphragm
+ {
+ hitpointName = "HitDiaphragm";
+ armor = 12;
+ passThrough = 0.4;
+ };
+ class Abdomen
+ {
+ hitpointName = "HitAbdomen";
+ armor = 12;
+ passThrough = 0.4;
+ };
+ class Body
+ {
+ hitpointName = "HitBody";
+ passThrough = 0.4;
+ };
+ };
};
};
class V_27_EPOCH : Vest_NoCamo_Base // V_TacVestIR_blk
@@ -833,13 +1197,38 @@ class CfgWeapons
displayName = "$STR_A3_V_TacVestIR_blk0";
picture = "\A3\characters_f\Data\UI\icon_V_TacVestIR_blk_CA.paa";
model = "\x\addons\a3_epoch_assets\models\parcel.p3d";
- class ItemInfo : VestItem
+ descriptionShort = "$STR_A3_SP_AL_I";
+ class ItemInfo: VestItem
{
uniformModel = "\A3\Characters_F_Beta\INDEP\equip_ir_vest01";
- containerClass = "Supply100";
+ containerClass = "Supply140";
mass = 50;
- armor = 20;
- passThrough = 0.5;
+ class HitpointsProtectionInfo
+ {
+ class Chest
+ {
+ hitpointName = "HitChest";
+ armor = 8;
+ passThrough = 0.5;
+ };
+ class Diaphragm
+ {
+ hitpointName = "HitDiaphragm";
+ armor = 8;
+ passThrough = 0.5;
+ };
+ class Abdomen
+ {
+ hitpointName = "HitAbdomen";
+ armor = 8;
+ passThrough = 0.5;
+ };
+ class Body
+ {
+ hitpointName = "HitBody";
+ passThrough = 0.5;
+ };
+ };
};
};
class V_28_EPOCH : Vest_Camo_Base // V_TacVestCamo_khk
@@ -852,15 +1241,40 @@ class CfgWeapons
picture = "\A3\characters_f\Data\UI\icon_V_TacVest_Camo_CA.paa";
hiddenSelectionsTextures[] = { "\A3\Characters_F_Bootcamp\Common\Data\tacticalvest_camo_co.paa" };
model = "\x\addons\a3_epoch_assets\models\parcel.p3d";
- class ItemInfo : VestItem
+ descriptionShort = "$STR_A3_SP_AL_I";
+ class ItemInfo: VestItem
{
uniformModel = "A3\Characters_F\Common\equip_tacticalvest";
- hiddenSelections[] = { "camo" };
- hiddenSelectionsTextures[] = { "\A3\Characters_F_Bootcamp\Common\Data\tacticalvest_camo_co.paa" };
+ hiddenSelections[] = {"camo"};
+ hiddenSelectionsTextures[] = {"\A3\Characters_F_Bootcamp\Common\Data\tacticalvest_camo_co.paa"};
containerClass = "Supply100";
mass = 40;
- armor = 20;
- passThrough = 1;
+ class HitpointsProtectionInfo
+ {
+ class Chest
+ {
+ hitpointName = "HitChest";
+ armor = 8;
+ passThrough = 0.5;
+ };
+ class Diaphragm
+ {
+ hitpointName = "HitDiaphragm";
+ armor = 8;
+ passThrough = 0.5;
+ };
+ class Abdomen
+ {
+ hitpointName = "HitAbdomen";
+ armor = 8;
+ passThrough = 0.5;
+ };
+ class Body
+ {
+ hitpointName = "HitBody";
+ passThrough = 0.5;
+ };
+ };
};
};
class V_29_EPOCH : V_17_EPOCH // V_HarnessO_gry
@@ -877,9 +1291,7 @@ class CfgWeapons
uniformModel = "\A3\Characters_F\OPFOR\equip_o_vest01";
containerClass = "Supply160";
mass = 30;
- armor = 0;
- passThrough = 0.5;
- hiddenSelections[] = { "Camo1", "Camo2" };
+ hiddenSelections[] = {"Camo1","Camo2"};
};
};
class V_30_EPOCH : V_29_EPOCH // V_HarnessOGL_gry
@@ -888,15 +1300,13 @@ class CfgWeapons
_generalMacro = "V_HarnessOGL_gry";
picture = "\A3\characters_f_beta\Data\UI\icon_V_HarnessOUGL_gry_CA.paa";
displayName = "$STR_A3_V_HarnessOGL_gry0";
- class ItemInfo : ItemInfo
+ class ItemInfo: ItemInfo
{
uniformModel = "\A3\Characters_F\OPFOR\equip_o_vest_gl";
containerClass = "Supply120";
- mass = 20;
- armor = 0;
- passThrough = 0.5;
- hiddenSelections[] = { "Camo1", "Camo2" };
- };
+ mass = 15;
+ hiddenSelections[] = {"Camo1","Camo2"};
+ };;
};
class V_31_EPOCH : V_17_EPOCH // V_HarnessOSpec_brn
{
@@ -906,13 +1316,11 @@ class CfgWeapons
displayName = "$STR_A3_V_HarnessOSpec_brn0";
picture = "\A3\characters_f\Data\UI\icon_V_HarnessO_brn_CA.paa";
model = "\x\addons\a3_epoch_assets\models\parcel.p3d";
- class ItemInfo : VestItem
+ class ItemInfo: VestItem
{
uniformModel = "\A3\Characters_F\OPFOR\equip_o_vest01";
containerClass = "Supply160";
mass = 30;
- armor = 0;
- passThrough = 0.5;
};
};
class V_32_EPOCH : V_29_EPOCH // V_HarnessOSpec_gry
@@ -921,14 +1329,12 @@ class CfgWeapons
_generalMacro = "V_HarnessOSpec_gry";
picture = "\A3\characters_f_beta\Data\UI\icon_V_HarnessOU_gry_CA.paa";
displayName = "$STR_A3_V_HarnessOSpec_gry0";
- class ItemInfo : ItemInfo
+ class ItemInfo: ItemInfo
{
uniformModel = "\A3\Characters_F\OPFOR\equip_o_vest01";
containerClass = "Supply160";
mass = 30;
- armor = 0;
- passThrough = 0.5;
- hiddenSelections[] = { "Camo1", "Camo2" };
+ hiddenSelections[] = {"Camo1","Camo2"};
};
};
class V_33_EPOCH : Vest_NoCamo_Base // V_PlateCarrierIA1_dgtl
@@ -939,13 +1345,38 @@ class CfgWeapons
displayName = "$STR_A3_V_PlateCarrierIA1_dgtl0";
picture = "\A3\characters_f_Beta\Data\UI\icon_V_I_Vest_01_ca.paa";
model = "\x\addons\a3_epoch_assets\models\parcel.p3d";
- class ItemInfo : VestItem
+ descriptionShort = "$STR_A3_SP_AL_III";
+ class ItemInfo: VestItem
{
uniformModel = "A3\Characters_F_Beta\INDEP\equip_ia_vest01";
containerClass = "Supply120";
mass = 60;
- armor = 20;
- passThrough = 0.5;
+ class HitpointsProtectionInfo
+ {
+ class Chest
+ {
+ hitpointName = "HitChest";
+ armor = 16;
+ passThrough = 0.3;
+ };
+ class Diaphragm
+ {
+ hitpointName = "HitDiaphragm";
+ armor = 16;
+ passThrough = 0.3;
+ };
+ class Abdomen
+ {
+ hitpointName = "HitAbdomen";
+ armor = 16;
+ passThrough = 0.3;
+ };
+ class Body
+ {
+ hitpointName = "HitBody";
+ passThrough = 0.3;
+ };
+ };
};
};
class V_34_EPOCH : V_33_EPOCH // V_PlateCarrierIA2_dgtl
@@ -955,13 +1386,44 @@ class CfgWeapons
displayName = "$STR_A3_V_PlateCarrierIA2_dgtl0";
picture = "\A3\characters_f_Beta\Data\UI\icon_V_I_Vest_02_ca.paa";
model = "\x\addons\a3_epoch_assets\models\parcel.p3d";
- class ItemInfo : VestItem
+ descriptionShort = "$STR_A3_SP_AL_III";
+ class ItemInfo: VestItem
{
uniformModel = "A3\Characters_F_Beta\INDEP\equip_ia_vest02";
- containerClass = "Supply180";
- mass = 60;
- armor = 15;
- passThrough = 0.5;
+ containerClass = "Supply120";
+ mass = 80;
+ class HitpointsProtectionInfo
+ {
+ class Chest
+ {
+ hitpointName = "HitChest";
+ armor = 16;
+ passThrough = 0.3;
+ };
+ class Diaphragm
+ {
+ hitpointName = "HitDiaphragm";
+ armor = 16;
+ passThrough = 0.3;
+ };
+ class Abdomen
+ {
+ hitpointName = "HitAbdomen";
+ armor = 16;
+ passThrough = 0.3;
+ };
+ class Pelvis
+ {
+ hitpointName = "HitPelvis";
+ armor = 16;
+ passThrough = 0.3;
+ };
+ class Body
+ {
+ hitpointName = "HitBody";
+ passThrough = 0.3;
+ };
+ };
};
};
class V_35_EPOCH : V_34_EPOCH // V_PlateCarrierIAGL_dgtl
@@ -970,19 +1432,62 @@ class CfgWeapons
_generalMacro = "V_PlateCarrierIAGL_dgtl";
scope = 2;
displayName = "$STR_A3_V_PlateCarrierIAGL_dgtl0";
- picture = "\A3\Characters_F_Beta\Data\UI\icon_V_I_Vest_02_ca.paa";
+ picture = "\A3\Characters_F_Mark\Data\UI\icon_ga_carrier_gl_rig_digi.paa";
model = "\x\addons\a3_epoch_assets\models\parcel.p3d";
DLC = "Mark";
hiddenSelections[] = {"camo1","camo2"};
hiddenSelectionsTextures[] = {"\A3\Characters_F_Beta\INDEP\Data\equip_ia_vest01_co.paa","\A3\Characters_F_Mark\INDEP\Data\ga_carrier_gl_rig_digi_co.paa"};
- class ItemInfo : VestItem
+ descriptionShort = "$STR_A3_SP_ER";
+ class ItemInfo: VestItem
{
uniformModel = "\A3\Characters_F_beta\INDEP\equip_ia_ga_carrier_gl_rig.p3d";
containerClass = "Supply120";
mass = 80;
- armor = 100;
- passThrough = 0.7;
- hiddenSelections[] = { "camo1", "camo2" };
+ hiddenSelections[] = {"camo1","camo2"};
+ class HitpointsProtectionInfo
+ {
+ class Neck
+ {
+ hitpointName = "HitNeck";
+ armor = 8;
+ passThrough = 0.5;
+ };
+ class Arms
+ {
+ hitpointName = "HitArms";
+ armor = 8;
+ passThrough = 0.5;
+ };
+ class Chest
+ {
+ hitpointName = "HitChest";
+ armor = 78;
+ passThrough = 0.6;
+ };
+ class Diaphragm
+ {
+ hitpointName = "HitDiaphragm";
+ armor = 78;
+ passThrough = 0.6;
+ };
+ class Abdomen
+ {
+ hitpointName = "HitAbdomen";
+ armor = 16;
+ passThrough = 0.3;
+ };
+ class Pelvis
+ {
+ hitpointName = "HitPelvis";
+ armor = 16;
+ passThrough = 0.3;
+ };
+ class Body
+ {
+ hitpointName = "HitBody";
+ passThrough = 0.6;
+ };
+ };
};
};
class V_36_EPOCH : V_19_EPOCH // V_RebreatherIA
@@ -1005,10 +1510,6 @@ class CfgWeapons
class ItemInfo : ItemInfo
{
uniformModel = "\A3\Characters_F_EPA\BLUFOR\equip_b_vest_kerry.p3d";
- containerClass = "Supply140";
- mass = 80;
- armor = 30;
- passThrough = 0.5;
};
};
class V_38_EPOCH : V_6_EPOCH // V_PlateCarrierL_CTRG
@@ -1019,14 +1520,10 @@ class CfgWeapons
displayName = "$STR_A3_V_PlateCarrierL_CTRG0";
hiddenSelections[] = { "camo" };
hiddenSelectionsTextures[] = { "\A3\Characters_F_EPA\BLUFOR\Data\vests_snake_co.paa" };
- class ItemInfo : ItemInfo
+ class ItemInfo: ItemInfo
{
uniformModel = "\A3\Characters_F\BLUFOR\equip_b_vest02.p3d";
- containerClass = "Supply140";
- mass = 80;
- armor = 20;
- passThrough = 0.5;
- hiddenSelections[] = { "camo" };
+ hiddenSelections[] = {"camo"};
};
};
class V_39_EPOCH : V_7_EPOCH // V_PlateCarrierH_CTRG
@@ -1037,14 +1534,10 @@ class CfgWeapons
displayName = "$STR_A3_V_PlateCarrierH_CTRG0";
hiddenSelections[] = { "camo" };
hiddenSelectionsTextures[] = { "\A3\Characters_F_EPA\BLUFOR\Data\vests_snake_co.paa" };
- class ItemInfo : ItemInfo
+ class ItemInfo: ItemInfo
{
uniformModel = "\A3\Characters_F\BLUFOR\equip_b_vest01.p3d";
- containerClass = "Supply140";
- mass = 100;
- armor = 30;
- passThrough = 0.5;
- hiddenSelections[] = { "camo" };
+ hiddenSelections[] = {"camo"};
};
};
class V_40_EPOCH : V_25_EPOCH // V_I_G_resistanceLeader_F
@@ -1105,14 +1598,15 @@ class CfgWeapons
class HeadgearItem: InventoryItem_Base_F
{
+ _generalMacro = "HeadgearItem";
allowedSlots[] = {901,605};
type = 605;
hiddenSelections[] = {};
- hitpointName = "HitHead";
};
class clown_mask_epoch : ItemCore
{
+ author = "Aaron Clark";
scope = 2;
weaponPoolAvailable = 1;
displayName = "Clown Mask";
@@ -1133,6 +1627,7 @@ class CfgWeapons
{
scope = 2;
displayName = "Red Beret";
+ author = "Paul Tomany";
picture = "\A3\characters_f\Data\UI\icon_H_Cap_blk_CA.paa";
model = "\x\addons\a3_epoch_assets\models\parcel.p3d";
hiddenSelections[] = {"camo"};
@@ -1712,7 +2207,7 @@ class CfgWeapons
class GunParticles;
};
class UGL_F;
- class Test_weapon_01_Base_F: Rifle_Base_F
+ class Epoch_weapon_01_Base_F: Rifle_Base_F
{
magazines[] = {"30Rnd_test_mag_Tracer","30Rnd_test_mag"};
reloadAction = "GestureReloadMX";
@@ -1847,7 +2342,7 @@ class CfgWeapons
drySound[] = {"A3\sounds_f\weapons\Other\dry_1","db-5",1,10};
reloadMagazineSound[] = {"A3\sounds_f\weapons\reloads\new_MX","db-8",1,30};
};
- class Rollins_F: Test_weapon_01_Base_F
+ class Rollins_F: Epoch_weapon_01_Base_F
{
scope = 2;
displayName = "Rollins Rifle";
@@ -1905,7 +2400,7 @@ class CfgWeapons
drySound[] = {"A3\sounds_f\weapons\Other\dry_1","db-5",1,10};
reloadMagazineSound[] = {"A3\sounds_f\weapons\reloads\new_MX","db-8",1,30};
};
- class ChainSaw: Test_weapon_01_Base_F
+ class ChainSaw: Epoch_weapon_01_Base_F
{
scope = 2;
model = "\x\addons\a3_epoch_assets_1\models\chainsaw.p3d";
diff --git a/Sources/epoch_config/Configs/CfgWorlds.hpp b/Sources/epoch_config/Configs/CfgWorlds.hpp
index d9dd48ea..a4afe9bf 100644
--- a/Sources/epoch_config/Configs/CfgWorlds.hpp
+++ b/Sources/epoch_config/Configs/CfgWorlds.hpp
@@ -1,3 +1,18 @@
+/*
+ Author: Aaron Clark - EpochMod.com
+
+ Contributors:
+
+ Description:
+ Disable snakes and rabbits on Altis and Stratis
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_config/Configs/CfgWorlds.hpp
+*/
+
class CfgWorlds
{
class CAWorld;
@@ -157,7 +172,7 @@ class CfgWorlds
};
};
};
-
+
};
};
class Stratis : CAWorld
@@ -301,4 +316,4 @@ class CfgWorlds
initWorld = "Altis";
demoWorld = "Altis";
-};
\ No newline at end of file
+};
diff --git a/Sources/epoch_config/Configs/cfgCrafting.hpp b/Sources/epoch_config/Configs/cfgCrafting.hpp
index 35afc435..df1c2604 100644
--- a/Sources/epoch_config/Configs/cfgCrafting.hpp
+++ b/Sources/epoch_config/Configs/cfgCrafting.hpp
@@ -1,24 +1,38 @@
/*
-nearby[] =
-{
- {
- "Fire", //Name of field, anything
- "", //image folder path (ie "\x\addons\a3_epoch_code\Data\UI\crafting\"), empty for Epoch default
- "fire", //image prefix, suffix will be added by code. 2 possible suffixes: [_true.paa, _false.paa]
- {1,{"ALL"}}, //ARRAY of p3D {0,{"filename.p3d","filename.p3d"}} or ARRAY of logic classes {1,{"AIR","LAND","className"}}. Integer to switch array mode
- 3, //distance to check in meters
- 1, //count
- 1, //BOOL: object has to be on fire
- 0 //BOOL: object has to be alive (not destroyed)
- };
-};
+ Author: Aaron Clark - EpochMod.com
-//Can be multiple requirements like this, example requires both fire and water (unlimited, but requires mouse scroll if more than 8 elements):
-nearby[] =
-{
- {"Fire", "", "fire", {1,{"ALL"}}, 3, 1, 1, 0},
- {"Water source","","water",{0,{"barrelwater_f.p3d", "water_source_f.p3d", "pumpa.p3d", "misc_wellpump.p3d"}},3,1,0,0}
-};
+ Contributors: Raimonds Virtoss (v2 Crafting)
+
+ Description:
+ Main Crafting configs
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_config/Configs/CfgCrafting.hpp
+
+ USAGE:
+ nearby[] =
+ {
+ {
+ "Fire", //Name of field, anything
+ "", //image folder path (ie "\x\addons\a3_epoch_code\Data\UI\crafting\"), empty for Epoch default
+ "fire", //image prefix, suffix will be added by code. 2 possible suffixes: [_true.paa, _false.paa]
+ {1,{"ALL"}}, //ARRAY of p3D {0,{"filename.p3d","filename.p3d"}} or ARRAY of logic classes {1,{"AIR","LAND","className"}}. Integer to switch array mode
+ 3, //distance to check in meters
+ 1, //count
+ 1, //BOOL: object has to be on fire
+ 0 //BOOL: object has to be alive (not destroyed)
+ };
+ };
+
+ //Can be multiple requirements like this, example requires both fire and water (unlimited, but requires mouse scroll if more than 8 elements):
+ nearby[] =
+ {
+ {"Fire", "", "fire", {1,{"ALL"}}, 3, 1, 1, 0},
+ {"Water source","","water",{0,{"barrelwater_f.p3d", "water_source_f.p3d", "pumpa.p3d", "misc_wellpump.p3d"}},3,1,0,0}
+ };
*/
class CfgCrafting
diff --git a/Sources/epoch_config/Configs/cfgRecoils.hpp b/Sources/epoch_config/Configs/cfgRecoils.hpp
index 9e60e7f0..43a32b83 100644
--- a/Sources/epoch_config/Configs/cfgRecoils.hpp
+++ b/Sources/epoch_config/Configs/cfgRecoils.hpp
@@ -1,7 +1,22 @@
+/*
+ Author: Aaron Clark - EpochMod.com
+
+ Contributors: Paul Tomany
+
+ Description:
+ Custom recoils for Rollins rifle
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_config/Configs/CfgWorlds.hpp
+*/
+
class cfgRecoils
{
recoil_single_Test_rifle_01[] = {0,0,0,0.03,"36.943*((0.001))*(0.3)","3.587*((0.004))*(3)",0.03,"31.817*((0.001))*(0.5)","1.251*((0.004))*(3.4)",0.03,"19.755*((0.001))*(0.7)","0.764*((0.004))*(3.8)",0.06,"7.388*((0.001))*(0.9)","0.285*((0.004))*(4.2)",0.06,"-2.402*((0.001))*(0.3)","-0.096*((0.004))*(7)",0.06,"-3.53*((0.001))*(0.5)","-0.141*((0.004))*(5)",0.06,"-3.677*((0.001))*(0.5)","-0.147*((0.004))*(3)",0.06,"-3.138*((0.001))*(0.3)","-0.125*((0.004))*(1)",0.06,0,0};
recoil_single_prone_Test_rifle_01[] = {0,0,0,0.03,"36.943*((0.001))*(0.3)","3.587*((0.004))*(0.7)",0.03,"31.817*((0.001))*(0.5)","1.251*((0.004))*(1.1)",0.03,"19.755*((0.001))*(0.7)","0.764*((0.004))*(1.5)",0.06,"7.388*((0.001))*(0.9)","0.285*((0.004))*(1.9)",0.06,"-2.402*((0.001))*(0.3)","-0.096*((0.004))*(2)",0.06,"-3.53*((0.001))*(0.5)","-0.141*((0.004))*(1)",0.06,"-3.677*((0.001))*(0.5)","-0.147*((0.004))*(0.5)",0.06,"-3.138*((0.001))*(0.3)","-0.125*((0.004))*(0.3)",0.06,0,0};
recoil_auto_Test_rifle_01[] = {0,0,0,0.06,"36.943*((0.001))*(1.2)","3.587*((0.004))*(1.7)",0.06,"31.817*((0.001))*(1.5)","1.251*((0.004))*(2.1)",0.06,"19.755*((0.001))*(1.7)","0.764*((0.004))*(2.4)",0.06,"7.388*((0.001))*(1.9)","0.285*((0.004))*(2.8)",0.03,"-2.402*((0.001))*(0.3)","-0.096*((0.004))*(7)",0.03,"-3.53*((0.001))*(0.5)","-0.141*((0.004))*(5)",0.03,"-3.677*((0.001))*(0.5)","-0.147*((0.004))*(3)",0.06,0,0};
recoil_auto_prone_Test_rifle_01[] = {0,0,0,0.06,"36.943*((0.001))*(1.2)","3.587*((0.004))*(0.3)",0.06,"31.817*((0.001))*(1.5)","1.251*((0.004))*(0.7)",0.06,"19.755*((0.001))*(1.7)","0.764*((0.004))*(1.1)",0.06,"7.388*((0.001))*(1.9)","0.285*((0.004))*(1.5)",0.03,"-2.402*((0.001))*(0.3)","-0.096*((0.004))*(4)",0.03,"-3.53*((0.001))*(0.5)","-0.141*((0.004))*(2)",0.03,"-3.677*((0.001))*(0.5)","-0.147*((0.004))*(1)",0.06,0,0};
-};
\ No newline at end of file
+};
diff --git a/Sources/epoch_config/README.TXT b/Sources/epoch_config/README.TXT
deleted file mode 100644
index b155c614..00000000
--- a/Sources/epoch_config/README.TXT
+++ /dev/null
@@ -1,3 +0,0 @@
-All content in this PBO was made exclusively for A3 Epoch mod.
-
-To use/edit/distribute any of the content in this mod please contact vbawol@veteranbastards.com or ptomany@gmail.com
\ No newline at end of file
diff --git a/Sources/epoch_config/config.cpp b/Sources/epoch_config/config.cpp
index a5523724..30787236 100644
--- a/Sources/epoch_config/config.cpp
+++ b/Sources/epoch_config/config.cpp
@@ -1,3 +1,18 @@
+/*
+ Author: Aaron Clark - EpochMod.com
+
+ Contributors: Raimonds Virtoss
+
+ Description:
+ Epoch Config
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_config/config.cpp
+*/
+
#define _ARMA_
enum {
diff --git a/Sources/epoch_config/scenes/Epoch_Intro.Altis/initIntro.sqf b/Sources/epoch_config/scenes/Epoch_Intro.Altis/initIntro.sqf
index b129f8b9..9215d1b9 100644
--- a/Sources/epoch_config/scenes/Epoch_Intro.Altis/initIntro.sqf
+++ b/Sources/epoch_config/scenes/Epoch_Intro.Altis/initIntro.sqf
@@ -1,3 +1,18 @@
+/*
+ Author: Niklas Wagner - EpochMod.com
+
+ Contributors: Aaron Clark
+
+ Description:
+ Epoch Intro
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_config/scenes/Epoch_Intro.Altis/initIntro.sqf
+*/
+
titleCut ["", "BLACK FADED", 10e10];
0 fadeMusic 0.5;
@@ -172,4 +187,3 @@ if (true) then {
_camera camCommit 10;
};
*/
-
diff --git a/Sources/epoch_config/scripts/Bite.sqf b/Sources/epoch_config/scripts/Bite.sqf
index ec4529fd..321e3e90 100644
--- a/Sources/epoch_config/scripts/Bite.sqf
+++ b/Sources/epoch_config/scripts/Bite.sqf
@@ -1,5 +1,5 @@
/*
-_object = _this;
+params ["_object"];
_pos01 = getPosATL _object;
diff --git a/Sources/epoch_config/scripts/fireB.sqf b/Sources/epoch_config/scripts/fireB.sqf
index 3944c1ba..c434296f 100644
--- a/Sources/epoch_config/scripts/fireB.sqf
+++ b/Sources/epoch_config/scripts/fireB.sqf
@@ -1,4 +1,19 @@
-_object = _this;
+/*
+ Author: Aaron Clark - EpochMod.com
+
+ Contributors:
+
+ Description:
+ Custom Fire Effect emitter (not in use)
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_config/scripts/fireB.sqf
+*/
+
+params ["_object"];
_pos01 = getPos _object;
/*
@@ -25,4 +40,4 @@ uiSleep 5;
deleteVehicle _x;
} foreach [_source01,_source03,_li];
-deleteVehicle _object;
\ No newline at end of file
+deleteVehicle _object;
diff --git a/Sources/epoch_config/scripts/fireG.sqf b/Sources/epoch_config/scripts/fireG.sqf
index c55ca2b9..c89292b3 100644
--- a/Sources/epoch_config/scripts/fireG.sqf
+++ b/Sources/epoch_config/scripts/fireG.sqf
@@ -1,4 +1,19 @@
-_object = _this;
+/*
+ Author: Aaron Clark - EpochMod.com
+
+ Contributors:
+
+ Description:
+ Custom Fire Effect emitter (not in use)
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_config/scripts/fireG.sqf
+*/
+
+params ["_object"];
_pos01 = getPos _object;
/*
@@ -26,4 +41,4 @@ uiSleep 5;
deleteVehicle _x;
} foreach [_source01,_source03,_li];
-deleteVehicle _object;
\ No newline at end of file
+deleteVehicle _object;
diff --git a/Sources/epoch_config/scripts/fireR.sqf b/Sources/epoch_config/scripts/fireR.sqf
index fd669ce0..ccc83636 100644
--- a/Sources/epoch_config/scripts/fireR.sqf
+++ b/Sources/epoch_config/scripts/fireR.sqf
@@ -1,4 +1,19 @@
-_object = _this;
+/*
+ Author: Aaron Clark - EpochMod.com
+
+ Contributors:
+
+ Description:
+ Custom Fire Effect emitter (not in use)
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_config/scripts/fireR.sqf
+*/
+
+params ["_object"];
_pos01 = getPos _object;
/*
@@ -26,4 +41,4 @@ uiSleep 5;
deleteVehicle _x;
} foreach [_source01,_source03,_li];
-deleteVehicle _object;
\ No newline at end of file
+deleteVehicle _object;
diff --git a/Sources/epoch_server/compile/epoch_bases/EPOCH_server_loadBuildings.sqf b/Sources/epoch_server/compile/epoch_bases/EPOCH_server_loadBuildings.sqf
index 0da78b0c..5bc16e70 100644
--- a/Sources/epoch_server/compile/epoch_bases/EPOCH_server_loadBuildings.sqf
+++ b/Sources/epoch_server/compile/epoch_bases/EPOCH_server_loadBuildings.sqf
@@ -1,15 +1,18 @@
/*
- Load Buildings
- by Aaron Clark - EpochMod.com
+ Author: Aaron Clark - EpochMod.com
- This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.
- http://creativecommons.org/licenses/by-nc-nd/4.0/
+ Contributors:
- Improvements and or bugfixes and other contributions are welcome via the github:
+ Description:
+ Load Buildings from Epoch Hive
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_server/compile/epoch_bases/EPOCH_server_loadBuildings.sqf
*/
-
_maxTTL = parseNumber EPOCH_expiresBuilding;
_config = 'CfgEpochClient' call EPOCH_returnConfig;
_buildingJammerRange = getNumber(_config >> "buildingJammerRange");
diff --git a/Sources/epoch_server_core/compile/epoch_hive/fn_server_hiveDEL.sqf b/Sources/epoch_server_core/compile/epoch_hive/fn_server_hiveDEL.sqf
index 8209cc70..c47db9ee 100644
--- a/Sources/epoch_server_core/compile/epoch_hive/fn_server_hiveDEL.sqf
+++ b/Sources/epoch_server_core/compile/epoch_hive/fn_server_hiveDEL.sqf
@@ -1,11 +1,15 @@
/*
- Hive Delete by Key
- by Aaron Clark - EpochMod.com
+ Author: Aaron Clark - EpochMod.com
- This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.
- http://creativecommons.org/licenses/by-nc-nd/4.0/
+ Contributors:
- Improvements and or bugfixes and other contributions are welcome via the github:
+ Description:
+ Hive Delete by Key
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_server_core/compile/epoch_hive/fn_server_hiveDEL.sqf
*/
//_PREFIX = _this select 0;
diff --git a/Sources/epoch_server_core/compile/epoch_hive/fn_server_hiveEXPIRE.sqf b/Sources/epoch_server_core/compile/epoch_hive/fn_server_hiveEXPIRE.sqf
index d83b7c21..bc84e249 100644
--- a/Sources/epoch_server_core/compile/epoch_hive/fn_server_hiveEXPIRE.sqf
+++ b/Sources/epoch_server_core/compile/epoch_hive/fn_server_hiveEXPIRE.sqf
@@ -1,11 +1,15 @@
/*
- Hive Expire
- by Aaron Clark - EpochMod.com
+ Author: Aaron Clark - EpochMod.com
- This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.
- http://creativecommons.org/licenses/by-nc-nd/4.0/
+ Contributors:
- Improvements and or bugfixes and other contributions are welcome via the github:
+ Description:
+ Hive Expire
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_server_core/compile/epoch_hive/fn_server_hiveEXPIRE.sqf
*/
private ["_prefix","_key","_expires","_call"];
diff --git a/Sources/epoch_server_core/compile/epoch_hive/fn_server_hiveGET.sqf b/Sources/epoch_server_core/compile/epoch_hive/fn_server_hiveGET.sqf
index 6dcc9ebe..8764374d 100644
--- a/Sources/epoch_server_core/compile/epoch_hive/fn_server_hiveGET.sqf
+++ b/Sources/epoch_server_core/compile/epoch_hive/fn_server_hiveGET.sqf
@@ -1,11 +1,15 @@
/*
- Hive Expire
- by Aaron Clark - EpochMod.com
+ Author: Aaron Clark - EpochMod.com
- This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.
- http://creativecommons.org/licenses/by-nc-nd/4.0/
+ Contributors:
- Improvements and or bugfixes and other contributions are welcome via the github:
+ Description:
+ Hive Get Data
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_server_core/compile/epoch_hive/fn_server_hiveGET.sqf
*/
diff --git a/Sources/epoch_server_core/compile/epoch_hive/fn_server_hiveGETBIT.sqf b/Sources/epoch_server_core/compile/epoch_hive/fn_server_hiveGETBIT.sqf
index 3a16a4bd..38329602 100644
--- a/Sources/epoch_server_core/compile/epoch_hive/fn_server_hiveGETBIT.sqf
+++ b/Sources/epoch_server_core/compile/epoch_hive/fn_server_hiveGETBIT.sqf
@@ -1,11 +1,15 @@
/*
- Hive Getbit
- by Aaron Clark - EpochMod.com
+ Author: Aaron Clark - EpochMod.com
- This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.
- http://creativecommons.org/licenses/by-nc-nd/4.0/
+ Contributors:
- Improvements and or bugfixes and other contributions are welcome via the github:
+ Description:
+ Hive Get Getbit
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_server_core/compile/epoch_hive/fn_server_hiveGETBIT.sqf
*/
diff --git a/Sources/epoch_server_core/compile/epoch_hive/fn_server_hiveGETRANGE.sqf b/Sources/epoch_server_core/compile/epoch_hive/fn_server_hiveGETRANGE.sqf
index c8cd6edc..15772781 100644
--- a/Sources/epoch_server_core/compile/epoch_hive/fn_server_hiveGETRANGE.sqf
+++ b/Sources/epoch_server_core/compile/epoch_hive/fn_server_hiveGETRANGE.sqf
@@ -1,14 +1,17 @@
/*
- Hive Getrange
- by Aaron Clark - EpochMod.com
+ Author: Aaron Clark - EpochMod.com
- This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.
- http://creativecommons.org/licenses/by-nc-nd/4.0/
+ Contributors:
- Improvements and or bugfixes and other contributions are welcome via the github:
+ Description:
+ Hive Get Getrange
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_server_core/compile/epoch_hive/fn_server_hiveGETRANGE.sqf
*/
-
private["_hiveResponse", "_hiveStatus", "_hiveMessage", "_currentIndex", "_hiveMakeCall", "_data"];
// GetRange
//_PREFIX = _this select 0;
diff --git a/Sources/epoch_server_core/compile/epoch_hive/fn_server_hiveGETTTL.sqf b/Sources/epoch_server_core/compile/epoch_hive/fn_server_hiveGETTTL.sqf
index e3479eca..711a945a 100644
--- a/Sources/epoch_server_core/compile/epoch_hive/fn_server_hiveGETTTL.sqf
+++ b/Sources/epoch_server_core/compile/epoch_hive/fn_server_hiveGETTTL.sqf
@@ -1,14 +1,17 @@
/*
- Hive Get w/ TTL
- by Aaron Clark - EpochMod.com
+ Author: Aaron Clark - EpochMod.com
- This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.
- http://creativecommons.org/licenses/by-nc-nd/4.0/
+ Contributors: Florian Kinder
- Improvements and or bugfixes and other contributions are welcome via the github:
+ Description:
+ Hive Get w/ TTL
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_server_core/compile/epoch_hive/fn_server_hiveGETTTL.sqf
*/
-
private ["_hiveResponse","_hiveStatus","_hiveMessage","_whileCount"];
//_PREFIX = _this select 0;
//_KEY = _this select 1;
diff --git a/Sources/epoch_server_core/compile/epoch_hive/fn_server_hiveLog.sqf b/Sources/epoch_server_core/compile/epoch_hive/fn_server_hiveLog.sqf
index d055d67b..4bcb173a 100644
--- a/Sources/epoch_server_core/compile/epoch_hive/fn_server_hiveLog.sqf
+++ b/Sources/epoch_server_core/compile/epoch_hive/fn_server_hiveLog.sqf
@@ -1,11 +1,15 @@
/*
- Hive Log
- by Aaron Clark - EpochMod.com
+ Author: Aaron Clark - EpochMod.com
- This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.
- http://creativecommons.org/licenses/by-nc-nd/4.0/
+ Contributors:
- Improvements and or bugfixes and other contributions are welcome via the github:
+ Description:
+ Hive Log
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_server_core/compile/epoch_hive/fn_server_hiveLog.sqf
*/
diff --git a/Sources/epoch_server_core/compile/epoch_hive/fn_server_hiveSET.sqf b/Sources/epoch_server_core/compile/epoch_hive/fn_server_hiveSET.sqf
index 40607473..3c25668f 100644
--- a/Sources/epoch_server_core/compile/epoch_hive/fn_server_hiveSET.sqf
+++ b/Sources/epoch_server_core/compile/epoch_hive/fn_server_hiveSET.sqf
@@ -1,14 +1,17 @@
/*
- Hive SET
- by Aaron Clark - EpochMod.com
+ Author: Aaron Clark - EpochMod.com
- This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.
- http://creativecommons.org/licenses/by-nc-nd/4.0/
+ Contributors: Florian Kinder
- Improvements and or bugfixes and other contributions are welcome via the github:
+ Description:
+ Hive SET
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_server_core/compile/epoch_hive/fn_server_hiveSET.sqf
*/
-
private ["_prefix","_key","_value","_valueLength","_callStack","_call","_setterCall","_index","_charLimit"];
_prefix = _this select 0;
diff --git a/Sources/epoch_server_core/compile/epoch_hive/fn_server_hiveSETBIT.sqf b/Sources/epoch_server_core/compile/epoch_hive/fn_server_hiveSETBIT.sqf
index cbda2d42..8f0743d6 100644
--- a/Sources/epoch_server_core/compile/epoch_hive/fn_server_hiveSETBIT.sqf
+++ b/Sources/epoch_server_core/compile/epoch_hive/fn_server_hiveSETBIT.sqf
@@ -1,14 +1,17 @@
/*
- Hive SETBit
- by Aaron Clark - EpochMod.com
+ Author: Aaron Clark - EpochMod.com
- This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.
- http://creativecommons.org/licenses/by-nc-nd/4.0/
+ Contributors:
- Improvements and or bugfixes and other contributions are welcome via the github:
+ Description:
+ Hive SETBit
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_server_core/compile/epoch_hive/fn_server_hiveSETBIT.sqf
*/
-
private ["_prefix","_key","_value","_bitIndex"];
_prefix = _this select 0;
diff --git a/Sources/epoch_server_core/compile/epoch_hive/fn_server_hiveSETEX.sqf b/Sources/epoch_server_core/compile/epoch_hive/fn_server_hiveSETEX.sqf
index 84ff405a..3c8a0421 100644
--- a/Sources/epoch_server_core/compile/epoch_hive/fn_server_hiveSETEX.sqf
+++ b/Sources/epoch_server_core/compile/epoch_hive/fn_server_hiveSETEX.sqf
@@ -1,11 +1,15 @@
/*
+ Author: Aaron Clark - EpochMod.com
+
+ Contributors: Florian Kinder
+
+ Description:
Hive SETEX
- by Aaron Clark - EpochMod.com
- This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.
- http://creativecommons.org/licenses/by-nc-nd/4.0/
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
- Improvements and or bugfixes and other contributions are welcome via the github:
+ Github:
https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_server_core/compile/epoch_hive/fn_server_hiveSETEX.sqf
*/
diff --git a/Sources/epoch_server_core/config.cpp b/Sources/epoch_server_core/config.cpp
index 11d81de2..d0138a0a 100644
--- a/Sources/epoch_server_core/config.cpp
+++ b/Sources/epoch_server_core/config.cpp
@@ -1,6 +1,18 @@
-/****************************************************************************
-Copyright (C) 2015 - ARMA 3 EPOCH MOD [EpochMod.com] (v0.3.6.0)
-*****************************************************************************/
+/*
+ Author: Aaron Clark - EpochMod.com
+
+ Contributors:
+
+ Description:
+ Epoch Server Core Config
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_server_core/config.hpp
+*/
+
#define _ARMA_
class CfgPatches {
class A3_epoch_server_core {
diff --git a/Sources/epoch_server_settings/config.cpp b/Sources/epoch_server_settings/config.cpp
index 0b7b3d43..37c4fa70 100644
--- a/Sources/epoch_server_settings/config.cpp
+++ b/Sources/epoch_server_settings/config.cpp
@@ -1,6 +1,17 @@
-/****************************************************************************
-Copyright (C) 2015 - ARMA 3 EPOCH MOD [EpochMod.com] (v0.3.6.0)
-*****************************************************************************/
+/*
+ Author: Aaron Clark - EpochMod.com
+
+ Contributors:
+
+ Description:
+ Epoch Server Settings Config
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_server_settngs/config.cpp
+*/
#define _ARMA_
diff --git a/Sources/epoch_server_settings/configs/loots.h b/Sources/epoch_server_settings/configs/loots.h
index d839f45b..8c287589 100644
--- a/Sources/epoch_server_settings/configs/loots.h
+++ b/Sources/epoch_server_settings/configs/loots.h
@@ -1,4 +1,17 @@
+/*
+ Author: Aaron Clark - EpochMod.com
+ Contributors:
+
+ Description:
+ Epoch Server side loot table configs
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_server_settngs/configs/loots.h
+*/
class CfgMainTable
{
class Default
@@ -1276,7 +1289,7 @@ class CfgLootTable
{ { "muzzle_snds_338_black", "item" }, 1 },
{ { "muzzle_snds_338_green", "item" }, 1 },
{ { "muzzle_snds_338_sand", "item" }, 1 }
-
+
};
};
class Muzzles_93mmgMarkDLC
diff --git a/Sources/epoch_server_settings/configs/maps/altis.h b/Sources/epoch_server_settings/configs/maps/altis.h
index 087b5c4d..b6baf9d3 100644
--- a/Sources/epoch_server_settings/configs/maps/altis.h
+++ b/Sources/epoch_server_settings/configs/maps/altis.h
@@ -1,3 +1,17 @@
+/*
+ Author: Aaron Clark - EpochMod.com
+
+ Contributors:
+
+ Description:
+ Epoch gamemode server Side map specific configs for altis.
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_server_settngs/configs/maps/altis.h
+*/
class Altis : Default
{
worldSize = 20000;
diff --git a/Sources/epoch_server_settings/configs/maps/australia.h b/Sources/epoch_server_settings/configs/maps/australia.h
index 7eda973f..53bfacc7 100644
--- a/Sources/epoch_server_settings/configs/maps/australia.h
+++ b/Sources/epoch_server_settings/configs/maps/australia.h
@@ -1,3 +1,17 @@
+/*
+ Author: Aaron Clark - EpochMod.com
+
+ Contributors:
+
+ Description:
+ Epoch gamemode server Side map specific configs for australia.
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_server_settngs/configs/maps/australia.h
+*/
class Australia : Default
{
worldSize = 55000;
diff --git a/Sources/epoch_server_settings/configs/maps/bornholm.h b/Sources/epoch_server_settings/configs/maps/bornholm.h
index 7312d422..518445aa 100644
--- a/Sources/epoch_server_settings/configs/maps/bornholm.h
+++ b/Sources/epoch_server_settings/configs/maps/bornholm.h
@@ -1,8 +1,17 @@
-// Bornholm config created by Uro [www.UroGaming.co.uk] for ARMA 3 EPOCH MOD [EpochMod.com]
-//
-// Updated with some minor tweaks 20/01/2015
-// Updated for new telepos positions 7/22/2015
+/*
+ Author: Aaron Clark - EpochMod.com
+ Contributors: Uro1, Robio
+
+ Description:
+ Epoch gamemode server Side map specific configs for bornholm.
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_server_settngs/configs/maps/bornholm.h
+*/
class Bornholm : Default
{
worldSize = 25000;
diff --git a/Sources/epoch_server_settings/configs/maps/chernarus.h b/Sources/epoch_server_settings/configs/maps/chernarus.h
index c6cb1015..d1336ad3 100644
--- a/Sources/epoch_server_settings/configs/maps/chernarus.h
+++ b/Sources/epoch_server_settings/configs/maps/chernarus.h
@@ -1,3 +1,17 @@
+/*
+ Author: Aaron Clark - EpochMod.com
+
+ Contributors: Uro1, Robio
+
+ Description:
+ Epoch gamemode server Side map specific configs for chernarus.
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_server_settngs/configs/maps/chernarus.h
+*/
class Chernarus : Default
{
worldSize = 12000;
diff --git a/Sources/epoch_server_settings/configs/maps/esseker.h b/Sources/epoch_server_settings/configs/maps/esseker.h
index 6a447a56..74596837 100644
--- a/Sources/epoch_server_settings/configs/maps/esseker.h
+++ b/Sources/epoch_server_settings/configs/maps/esseker.h
@@ -1,3 +1,17 @@
+/*
+ Author: Aaron Clark - EpochMod.com
+
+ Contributors: Riche
+
+ Description:
+ Epoch gamemode server Side map specific configs for esseker.
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_server_settngs/configs/maps/esseker.h
+*/
class Esseker : Default
{
worldSize = 12000;
@@ -19,131 +33,128 @@ class Esseker : Default
containerPos[] = {};
telePos[] = {
-
// N [-0.286865,8.17383,-10.3098]
// S [-0.415527,-7.05298,-10.3098]
// E [13.5127,0.410156,-10.3098]
// W [-14.4316,0.112793,-10.3098]
-
-
- { "Transport_N_EPOCH", { -0.286865, 8.17383, -10.3098 }, "", { 5073.31, 8903.09, 0 } },
- { "Transport_W_EPOCH", { -14.4316, 0.112793, -10.3098 }, "", { 4407.77, 6054.78, 0 } },
- { "Transport_E_EPOCH", { 13.5127,0.410156,-10.3098 }, "", { 8692.93, 3854.72, 0 } }
+ { "Transport_N_EPOCH", { -0.286865, 8.17383, -10.3098 }, "", { 5073.31, 8903.09, 0 } },
+ { "Transport_W_EPOCH", { -14.4316, 0.112793, -10.3098 }, "", { 4407.77, 6054.78, 0 } },
+ { "Transport_E_EPOCH", { 13.5127,0.410156,-10.3098 }, "", { 8692.93, 3854.72, 0 } }
};
propsPos[] = {
- //Banking
- {"Land_PhoneBooth_02_F", {2676.67, 4481.42, 0.971237}, 251.364},
- {"Land_PhoneBooth_02_F", {4780.24, 5036.36, 0}, 61.8182},
- {"Land_PhoneBooth_02_F", {8375, 5886.44, 0.874567}, 260},
- {"Land_PhoneBooth_02_F", {9066.22, 5711.39, 1.01706}, 92.2728},
- {"Land_PhoneBooth_02_F", {10274, 5426.17, 0.389097}, 5.90916},
- {"Land_PhoneBooth_02_F", {11867.5, 7928.89, 0}, 0},
- {"Land_PhoneBooth_02_F", {1954.29, 7823.96, 0}, 19.5454},
- {"Land_PhoneBooth_02_F", {7229.75, 9369.1, 0}, 2.72723},
- // Turbines
- {"Land_wpp_Turbine_V2_F", {660.226, 10060.1, 0}, 0},
- {"Land_wpp_Turbine_V2_F", {638.57, 10022.9, 0}, 0},
- {"Land_wpp_Turbine_V2_F", {619.792, 9992.28, 0}, 0},
- {"Land_wpp_Turbine_V2_F", {8460.08, 10413.9, 0}, 0},
- {"Land_wpp_Turbine_V2_F", {8454.32, 10389.2, 0}, 0},
- {"Land_wpp_Turbine_V2_F", {9049.06, 7300.92, 0}, 0},
- {"Land_wpp_Turbine_V2_F", {9076.69, 7307.17, 0}, 0},
- {"Land_wpp_Turbine_V2_F", {9106.83, 7312.57, 0}, 0},
- {"Land_wpp_Turbine_V2_F", {10366.2, 4436.95, 0}, 0},
- {"Land_wpp_Turbine_V2_F", {10388.1, 4432.72, 0}, 0},
- {"Land_wpp_Turbine_V2_F", {10409.6, 4431.36, 0}, 0},
- {"Land_wpp_Turbine_V2_F", {10477.8, 1711.21, 0}, 0},
- {"Land_wpp_Turbine_V2_F", {10450.9, 1722.47, 0}, 0},
- {"Land_wpp_Turbine_V2_F", {10427.2, 1732.72, 0}, 0},
- {"Land_wpp_Turbine_V2_F", {6786.74, 1593.55, 0}, 0},
- {"Land_wpp_Turbine_V2_F", {6815.66, 1599.61, 0}, 0},
- {"Land_wpp_Turbine_V2_F", {5271.16, 701.119, 0}, 0},
- {"Land_wpp_Turbine_V2_F", {5299.02, 686.961, 0}, 0},
- {"Land_wpp_Turbine_V2_F", {5333.93, 680.457, 0}, 0},
- {"Land_wpp_Turbine_V2_F", {1004.79, 995.512, 0}, 0},
- {"Land_wpp_Turbine_V2_F", {1013.99, 964.396, 0}, 0},
- {"Land_wpp_Turbine_V2_F", {1781.4, 4202.1, 0}, 0},
- {"Land_wpp_Turbine_V2_F", {1809.62, 4202.09, 0}, 0},
- {"Land_wpp_Turbine_V2_F", {3322.47, 6256.38, 0}, 0},
- {"Land_wpp_Turbine_V2_F", {3354.45, 6249.63, 0}, 0},
- {"Land_wpp_Turbine_V2_F", {3380.16, 6244.95, 0}, 0},
- {"Land_wpp_Turbine_V2_F", {1185.73, 7709.4, 0}, 0},
- {"Land_wpp_Turbine_V2_F", {1223.07, 7716, 0}, 0},
- {"Land_wpp_Turbine_V2_F", {5535.8, 8959.03, 0}, 0},
- {"Land_wpp_Turbine_V2_F", {5507.72, 8966.35, 0}, 0},
- // Esseker South Trader
- {"ClutterCutter_EP1", {8694.08, 3853.14, 0}, 0},
- {"ClutterCutter_EP1", {8691.68, 3859.46, 0}, 0},
- {"land_Objects11", {8699.23, 3858.52, 0}, 319.546},
- {"RU_WarfareBVehicleServicePoint", {8693.92, 3864.09, -0.126221}, 149.545},
- {"CDF_WarfareBBarrier10x", {8692.13, 3865.79, -0.315292}, 329.545},
- {"CDF_WarfareBBarrier10x", {8705.19, 3862.98, -0.226089}, 60.4545},
- {"CDF_WarfareBBarrier10x", {8700.07, 3851.64, 0}, 329.545},
- {"CDF_WarfareBBarrier10x", {8687.66, 3853.77, -0.350647}, 59.5454},
- {"Land_Fire_barrel_burning", {8700.64, 3856.44, 0}, 60.9091},
- {"Land_Ind_BoardsPack2", {8689.38, 3853.65, 0}, 327.273},
- {"Paleta2", {8691.03, 3851.63, 0}, 0},
- {"Land_cages_EP1", {8696.63, 3851.24, 0}, 240},
- {"Land_transport_kiosk_EP1", {8689.07, 3861.7, 0}, 60.4545},
- {"Land_stand_waterl_EP1", {8698.58, 3852.75, 0}, 149.545},
- {"Land_tires_EP1", {8690.3, 3854.55, 0}, 0},
- {"Misc_TyreHeapEP1", {8688.46, 3856.11, 0}, 0},
- {"Land_transport_crates_EP1", {8693.05, 3859.05, 0}, 0},
- {"Campfire_burning_F", {8696.22, 3857.09, 0}, 0},
- {"Land_bags_EP1", {8687.38, 3861.25, 0}, 0},
- // West Trader
- {"ClutterCutter_EP1", {4403.29, 6054.46, 0}, 0},
- {"CDF_WarfareBBarrier10x", {4399.01, 6060.29, -0.514542}, 307.273},
- {"CDF_WarfareBBarrier10x", {4411.15, 6059.94, 0}, 217.273},
- {"CDF_WarfareBBarrier10x", {4414.62, 6048.48, -0.14389}, 306.818},
- {"CDF_WarfareBBarrier10x", {4402.54, 6048.84, -0.160172}, 37.7273},
- {"USMC_WarfareBVehicleServicePoint", {4405.97, 6049.83, 0}, 127.727},
- {"Misc_cargo_cont_net2", {4400.11, 6053.7, 0}, 304.545},
- {"Land_StallWater_F", {4399.67, 6058.44, 0}, 307.273},
- {"Land_Sacks_heap_F", {4405.97, 6061.98, 0}, 0},
- {"Land_Sacks_goods_F", {4407.62, 6060.97, 0}, 35.4546},
- {"Land_CratesShabby_F", {4401.47, 6061.99, 0}, 40},
- {"Land_CratesPlastic_F", {4412.85, 6049.18, 0}, 0},
- {"Land_WoodenCart_F", {4412.07, 6047.53, 0}, 34.091},
- {"Land_Cages_F", {4401.22, 6060.5, 0}, 0},
- {"Land_fort_bagfence_corner", {4410.22, 6059.21, 0}, 36.3637},
- {"Land_fort_bagfence_corner", {4412.56, 6057.64, 0}, 305.455},
- {"Land_Campfire_burning", {4403.67, 6057.8, 0.0157471}, 0},
- {"Land_stand_small_EP1", {4414.19, 6049.87, 0}, 126.818},
- {"Land_transport_kiosk_EP1", {4414.51, 6051.86, 0}, 215},
- {"Land_Fire_barrel_burning", {4413.8, 6056.01, 0}, 0},
- // North Trader
- {"ClutterCutter_EP1", {5068.43, 8897.88, 0}, 0},
- {"CDF_WarfareBBarrier10x", {5065.82, 8891.55, -0.294769}, 29.5455},
- {"CDF_WarfareBBarrier10x", {5064.97, 8903.57, -0.186707}, 302.727},
- {"CDF_WarfareBBarrier10x", {5077, 8896.71, -0.080307}, 299.545},
- {"CDF_WarfareBBarrier10x", {5076.48, 8908.56, -0.235596}, 29.5455},
- {"land_Objects70", {5067.69, 8903.17, 0}, 119.545},
- {"Land_bags_EP1", {5078.3, 8901.94, 0}, 29.5454},
- {"Land_Fire_barrel_burning", {5067.41, 8895.88, 0}, 0},
- {"Land_Ind_BoardsPack2", {5072.56, 8908.35, 0}, 208.182},
- {"Land_Campfire_burning", {5070.59, 8897.51, 0}, 0},
- {"Land_Carpet_rack_EP1", {5077.88, 8906.5, 0}, 30},
- {"Misc_palletsfoiled_heap", {5064.94, 8895.37, 0}, 29.5455},
- {"Land_bags_stack_EP1", {5077.46, 8899.98, 0}, 300},
- {"Land_Misc_IronPipes_EP1", {5075.13, 8898.29, 0}, 275.909},
- {"Land_cages_EP1", {5073.74, 8893.72, 0}, 314.545},
- {"Land_Reservoir_EP1", {5075.23, 8907.88, 0}, 146.364},
- {"Land_Crates_stack_EP1", {5064.93, 8901.7, 0}, 31.3636},
- {"ShedSmall", {5067.43, 8893.46, 0}, 28.6363},
- // Protection Domes
- { "ProtectionZone_Invisible_F", { 5073.31, 8903.09, 0 }, 0, true },
- { "ProtectionZone_Invisible_F", { 4407.77, 6054.78, 0 }, 0, true },
- { "ProtectionZone_Invisible_F", { 8692.93, 3854.72, 0 }, 0, true }
+ //Banking
+ {"Land_PhoneBooth_02_F", {2676.67, 4481.42, 0.971237}, 251.364},
+ {"Land_PhoneBooth_02_F", {4780.24, 5036.36, 0}, 61.8182},
+ {"Land_PhoneBooth_02_F", {8375, 5886.44, 0.874567}, 260},
+ {"Land_PhoneBooth_02_F", {9066.22, 5711.39, 1.01706}, 92.2728},
+ {"Land_PhoneBooth_02_F", {10274, 5426.17, 0.389097}, 5.90916},
+ {"Land_PhoneBooth_02_F", {11867.5, 7928.89, 0}, 0},
+ {"Land_PhoneBooth_02_F", {1954.29, 7823.96, 0}, 19.5454},
+ {"Land_PhoneBooth_02_F", {7229.75, 9369.1, 0}, 2.72723},
+ // Turbines
+ {"Land_wpp_Turbine_V2_F", {660.226, 10060.1, 0}, 0},
+ {"Land_wpp_Turbine_V2_F", {638.57, 10022.9, 0}, 0},
+ {"Land_wpp_Turbine_V2_F", {619.792, 9992.28, 0}, 0},
+ {"Land_wpp_Turbine_V2_F", {8460.08, 10413.9, 0}, 0},
+ {"Land_wpp_Turbine_V2_F", {8454.32, 10389.2, 0}, 0},
+ {"Land_wpp_Turbine_V2_F", {9049.06, 7300.92, 0}, 0},
+ {"Land_wpp_Turbine_V2_F", {9076.69, 7307.17, 0}, 0},
+ {"Land_wpp_Turbine_V2_F", {9106.83, 7312.57, 0}, 0},
+ {"Land_wpp_Turbine_V2_F", {10366.2, 4436.95, 0}, 0},
+ {"Land_wpp_Turbine_V2_F", {10388.1, 4432.72, 0}, 0},
+ {"Land_wpp_Turbine_V2_F", {10409.6, 4431.36, 0}, 0},
+ {"Land_wpp_Turbine_V2_F", {10477.8, 1711.21, 0}, 0},
+ {"Land_wpp_Turbine_V2_F", {10450.9, 1722.47, 0}, 0},
+ {"Land_wpp_Turbine_V2_F", {10427.2, 1732.72, 0}, 0},
+ {"Land_wpp_Turbine_V2_F", {6786.74, 1593.55, 0}, 0},
+ {"Land_wpp_Turbine_V2_F", {6815.66, 1599.61, 0}, 0},
+ {"Land_wpp_Turbine_V2_F", {5271.16, 701.119, 0}, 0},
+ {"Land_wpp_Turbine_V2_F", {5299.02, 686.961, 0}, 0},
+ {"Land_wpp_Turbine_V2_F", {5333.93, 680.457, 0}, 0},
+ {"Land_wpp_Turbine_V2_F", {1004.79, 995.512, 0}, 0},
+ {"Land_wpp_Turbine_V2_F", {1013.99, 964.396, 0}, 0},
+ {"Land_wpp_Turbine_V2_F", {1781.4, 4202.1, 0}, 0},
+ {"Land_wpp_Turbine_V2_F", {1809.62, 4202.09, 0}, 0},
+ {"Land_wpp_Turbine_V2_F", {3322.47, 6256.38, 0}, 0},
+ {"Land_wpp_Turbine_V2_F", {3354.45, 6249.63, 0}, 0},
+ {"Land_wpp_Turbine_V2_F", {3380.16, 6244.95, 0}, 0},
+ {"Land_wpp_Turbine_V2_F", {1185.73, 7709.4, 0}, 0},
+ {"Land_wpp_Turbine_V2_F", {1223.07, 7716, 0}, 0},
+ {"Land_wpp_Turbine_V2_F", {5535.8, 8959.03, 0}, 0},
+ {"Land_wpp_Turbine_V2_F", {5507.72, 8966.35, 0}, 0},
+ // Esseker South Trader
+ {"ClutterCutter_EP1", {8694.08, 3853.14, 0}, 0},
+ {"ClutterCutter_EP1", {8691.68, 3859.46, 0}, 0},
+ {"land_Objects11", {8699.23, 3858.52, 0}, 319.546},
+ {"RU_WarfareBVehicleServicePoint", {8693.92, 3864.09, -0.126221}, 149.545},
+ {"CDF_WarfareBBarrier10x", {8692.13, 3865.79, -0.315292}, 329.545},
+ {"CDF_WarfareBBarrier10x", {8705.19, 3862.98, -0.226089}, 60.4545},
+ {"CDF_WarfareBBarrier10x", {8700.07, 3851.64, 0}, 329.545},
+ {"CDF_WarfareBBarrier10x", {8687.66, 3853.77, -0.350647}, 59.5454},
+ {"Land_Fire_barrel_burning", {8700.64, 3856.44, 0}, 60.9091},
+ {"Land_Ind_BoardsPack2", {8689.38, 3853.65, 0}, 327.273},
+ {"Paleta2", {8691.03, 3851.63, 0}, 0},
+ {"Land_cages_EP1", {8696.63, 3851.24, 0}, 240},
+ {"Land_transport_kiosk_EP1", {8689.07, 3861.7, 0}, 60.4545},
+ {"Land_stand_waterl_EP1", {8698.58, 3852.75, 0}, 149.545},
+ {"Land_tires_EP1", {8690.3, 3854.55, 0}, 0},
+ {"Misc_TyreHeapEP1", {8688.46, 3856.11, 0}, 0},
+ {"Land_transport_crates_EP1", {8693.05, 3859.05, 0}, 0},
+ {"Campfire_burning_F", {8696.22, 3857.09, 0}, 0},
+ {"Land_bags_EP1", {8687.38, 3861.25, 0}, 0},
+ // West Trader
+ {"ClutterCutter_EP1", {4403.29, 6054.46, 0}, 0},
+ {"CDF_WarfareBBarrier10x", {4399.01, 6060.29, -0.514542}, 307.273},
+ {"CDF_WarfareBBarrier10x", {4411.15, 6059.94, 0}, 217.273},
+ {"CDF_WarfareBBarrier10x", {4414.62, 6048.48, -0.14389}, 306.818},
+ {"CDF_WarfareBBarrier10x", {4402.54, 6048.84, -0.160172}, 37.7273},
+ {"USMC_WarfareBVehicleServicePoint", {4405.97, 6049.83, 0}, 127.727},
+ {"Misc_cargo_cont_net2", {4400.11, 6053.7, 0}, 304.545},
+ {"Land_StallWater_F", {4399.67, 6058.44, 0}, 307.273},
+ {"Land_Sacks_heap_F", {4405.97, 6061.98, 0}, 0},
+ {"Land_Sacks_goods_F", {4407.62, 6060.97, 0}, 35.4546},
+ {"Land_CratesShabby_F", {4401.47, 6061.99, 0}, 40},
+ {"Land_CratesPlastic_F", {4412.85, 6049.18, 0}, 0},
+ {"Land_WoodenCart_F", {4412.07, 6047.53, 0}, 34.091},
+ {"Land_Cages_F", {4401.22, 6060.5, 0}, 0},
+ {"Land_fort_bagfence_corner", {4410.22, 6059.21, 0}, 36.3637},
+ {"Land_fort_bagfence_corner", {4412.56, 6057.64, 0}, 305.455},
+ {"Land_Campfire_burning", {4403.67, 6057.8, 0.0157471}, 0},
+ {"Land_stand_small_EP1", {4414.19, 6049.87, 0}, 126.818},
+ {"Land_transport_kiosk_EP1", {4414.51, 6051.86, 0}, 215},
+ {"Land_Fire_barrel_burning", {4413.8, 6056.01, 0}, 0},
+ // North Trader
+ {"ClutterCutter_EP1", {5068.43, 8897.88, 0}, 0},
+ {"CDF_WarfareBBarrier10x", {5065.82, 8891.55, -0.294769}, 29.5455},
+ {"CDF_WarfareBBarrier10x", {5064.97, 8903.57, -0.186707}, 302.727},
+ {"CDF_WarfareBBarrier10x", {5077, 8896.71, -0.080307}, 299.545},
+ {"CDF_WarfareBBarrier10x", {5076.48, 8908.56, -0.235596}, 29.5455},
+ {"land_Objects70", {5067.69, 8903.17, 0}, 119.545},
+ {"Land_bags_EP1", {5078.3, 8901.94, 0}, 29.5454},
+ {"Land_Fire_barrel_burning", {5067.41, 8895.88, 0}, 0},
+ {"Land_Ind_BoardsPack2", {5072.56, 8908.35, 0}, 208.182},
+ {"Land_Campfire_burning", {5070.59, 8897.51, 0}, 0},
+ {"Land_Carpet_rack_EP1", {5077.88, 8906.5, 0}, 30},
+ {"Misc_palletsfoiled_heap", {5064.94, 8895.37, 0}, 29.5455},
+ {"Land_bags_stack_EP1", {5077.46, 8899.98, 0}, 300},
+ {"Land_Misc_IronPipes_EP1", {5075.13, 8898.29, 0}, 275.909},
+ {"Land_cages_EP1", {5073.74, 8893.72, 0}, 314.545},
+ {"Land_Reservoir_EP1", {5075.23, 8907.88, 0}, 146.364},
+ {"Land_Crates_stack_EP1", {5064.93, 8901.7, 0}, 31.3636},
+ {"ShedSmall", {5067.43, 8893.46, 0}, 28.6363},
+ // Protection Domes
+ { "ProtectionZone_Invisible_F", { 5073.31, 8903.09, 0 }, 0, true },
+ { "ProtectionZone_Invisible_F", { 4407.77, 6054.78, 0 }, 0, true },
+ { "ProtectionZone_Invisible_F", { 8692.93, 3854.72, 0 }, 0, true }
};
staticNpcPos[] = {
- //South
- { "C_man_hunter_1_F", {8700.09, 3859.75, -0.0334778}, 241},
- //West
- { "C_man_w_worker_F", {4411.08, 6058.25, 0}, 24.5455},
- //North
- { "C_man_shorts_4_F_asia", {5068.45, 8893.52, 0}, 30}
+ //South
+ { "C_man_hunter_1_F", {8700.09, 3859.75, -0.0334778}, 241},
+ //West
+ { "C_man_w_worker_F", {4411.08, 6058.25, 0}, 24.5455},
+ //North
+ { "C_man_shorts_4_F_asia", {5068.45, 8893.52, 0}, 30}
};
};
diff --git a/Sources/epoch_server_settings/configs/maps/stratis.h b/Sources/epoch_server_settings/configs/maps/stratis.h
index 5a2b5366..f5dd2d16 100644
--- a/Sources/epoch_server_settings/configs/maps/stratis.h
+++ b/Sources/epoch_server_settings/configs/maps/stratis.h
@@ -1,3 +1,17 @@
+/*
+ Author: Aaron Clark - EpochMod.com
+
+ Contributors:
+
+ Description:
+ Epoch gamemode server Side map specific configs for stratis.
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_server_settngs/configs/maps/stratis.h
+*/
class Stratis : Default
{
worldSize = 6000;
diff --git a/Sources/epoch_server_settings/configs/maps/takistan.h b/Sources/epoch_server_settings/configs/maps/takistan.h
index 2be8abc3..081757cd 100644
--- a/Sources/epoch_server_settings/configs/maps/takistan.h
+++ b/Sources/epoch_server_settings/configs/maps/takistan.h
@@ -1,3 +1,17 @@
+/*
+ Author: Aaron Clark - EpochMod.com
+
+ Contributors:
+
+ Description:
+ Epoch gamemode server Side map specific configs for takistan.
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_server_settngs/configs/maps/takistan.h
+*/
class Takistan : Default
{
worldSize = 12000;
diff --git a/Sources/epoch_server_settings/configs/maps/vr.h b/Sources/epoch_server_settings/configs/maps/vr.h
index 88ab1613..f9bb2a58 100644
--- a/Sources/epoch_server_settings/configs/maps/vr.h
+++ b/Sources/epoch_server_settings/configs/maps/vr.h
@@ -1,3 +1,17 @@
+/*
+ Author: Aaron Clark - EpochMod.com
+
+ Contributors:
+
+ Description:
+ Epoch gamemode server Side map specific configs for vr.
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_server_settngs/configs/maps/vr.h
+*/
class VR : Default
{
worldSize = 10000;
@@ -17,8 +31,7 @@ class VR : Default
// S [-0.415527,-7.05298,-10.3098]
// E [13.5127,0.410156,-10.3098]
// W [-14.4316,0.112793,-10.3098]
-
- { "Transport_C_EPOCH", { -0.286865, 8.17383, -10.3098 }, "", { 4089.82, 4597.71, 0.00143433 } }
+ { "Transport_C_EPOCH", { -0.286865, 8.17383, -10.3098 }, "", { 4089.82, 4597.71, 0.00143433 } }
};
propsPos[] = {};
staticNpcPos[] = {};
diff --git a/Sources/epoch_server_settings/configs/security/data/custom_vars.h b/Sources/epoch_server_settings/configs/security/data/custom_vars.h
index 27b7b1fd..9c27559c 100644
--- a/Sources/epoch_server_settings/configs/security/data/custom_vars.h
+++ b/Sources/epoch_server_settings/configs/security/data/custom_vars.h
@@ -1,3 +1,18 @@
+/*
+ Author: Aaron Clark - EpochMod.com
+
+ Contributors:
+
+ Description:
+ Epoch AH config for whistlisted gvars
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_server_settngs/configs/securty/data/custom_vars.h
+*/
+
// all var names must be lowercase
custom[] = {};
bis[] = {
@@ -117,4 +132,4 @@ epoch[] = {
"epoch_craftitempreview","epoch_craftitem","epoch_unitspawn","epoch_antiwall","epoch_enterbuilding","epoch_onpause","epoch_interactvehicle","epoch_showstats","epoch_group_btnmod","epoch_group_btninvite","epoch_group_onload","epoch_group_list","epoch_group_combo",
"epoch_group_btnleave","epoch_group_btnkick","epoch_cgroup_grouptext","epoch_cgroup_onload","epoch_cgroup_btncreate","epoch_igroup_acceptinvite","epoch_igroup_onload","epoch_igroup_refresh","epoch_group_update","epoch_inventory_group","epoch_inventory_igroup",
"epoch_mission_refresh","epoch_mission_description"
-};
\ No newline at end of file
+};
diff --git a/Sources/epoch_server_settings/configs/security/security_checks.h b/Sources/epoch_server_settings/configs/security/security_checks.h
index 0046a5b0..c3b44d88 100644
--- a/Sources/epoch_server_settings/configs/security/security_checks.h
+++ b/Sources/epoch_server_settings/configs/security/security_checks.h
@@ -1,7 +1,17 @@
/*
- EAH 2.0
-*/
+ Author: Aaron Clark - EpochMod.com
+ Contributors:
+
+ Description:
+ Epoch Server side securty checks config
+
+ Licence:
+ Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+
+ Github:
+ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_server_settngs/configs/securty/security_checks.h
+*/
class CfgSecConf
{
debug = false;