getting started on 0.3.6

This commit is contained in:
vbawol 2015-12-07 10:24:52 -06:00
parent c8cbf8347c
commit 64f815aae4
152 changed files with 4678 additions and 2125 deletions

View File

@ -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

View File

@ -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

View File

@ -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";
};
};

View File

@ -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 {
};
};
};
};
};

View File

@ -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];
};
};
};

View File

@ -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;

View File

@ -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;

View File

@ -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";
};

View File

@ -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;

View File

@ -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]]; };
*/
*/

View File

@ -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;
};
};

View File

@ -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";
};
};
};

View File

@ -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;

View File

@ -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"}]
];

View File

@ -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];

View File

@ -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];

View File

@ -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["<t size = ""0.8"" shadow = ""0"" color = ""#99ffffff"">%1</t>", format[localize (_this select 0), _this select 1]], 0, 1, 5, 2, 0, 1] spawn bis_fnc_dynamictext;
};

View File

@ -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 {

View File

@ -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;

View File

@ -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 {

View File

@ -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
true

View File

@ -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;

View File

@ -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);
toString(_STRING);

View File

@ -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;

View File

@ -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": {

View File

@ -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];

View File

@ -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)];

View File

@ -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 {

View File

@ -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

View File

@ -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;

View File

@ -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,""];

View File

@ -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 = ["<t size='0.8' shadow='0' color='#
_objType = typeOf _object;
_config = 'CfgBaseBuilding' call EPOCH_returnConfig;
_out =
_out =
[
!(getArray(_config >> _objType >> "upgradeBuilding") isEqualTo []),
!(getArray(_config >> _objType >> "removeParts") isEqualTo []),

View File

@ -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 {

View File

@ -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 = ["<t size='0.8' shadow='0' color='#99ffffff'>Need energy</t>", 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];

View File

@ -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 = ["<t size = '0.8' shadow = '0' color = '#99ffffff'>Building Disallowed: Frequency Jammer Needed</t>", 0, 1, 5, 2, 0, 1] spawn bis_fnc_dynamictext;
@ -103,4 +130,4 @@ _myPosATL = getPosATL player;
};
} forEach(getArray(_config >> worldname >> "blockedArea"));
_buildingAllowed
_buildingAllowed

View File

@ -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

View File

@ -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];

View File

@ -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));

View File

@ -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 {

View File

@ -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 {

View File

@ -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 };

View File

@ -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
_ret

View File

@ -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};

View File

@ -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

View File

@ -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
_outPos

View File

@ -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]
lineIntersects[_playerPosASL, _abovePlayerPosASL, player]

View File

@ -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;

View File

@ -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;

View File

@ -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

View File

@ -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"],[[]]];

View File

@ -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 = "";

View File

@ -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 = "";

View File

@ -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}];

View File

@ -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);

View File

@ -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
_sorted

View File

@ -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;

View File

@ -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};

View File

@ -1,5 +1,5 @@
call EPOCH_clientInit;
[] spawn EPOCH_masterLoop_v2;
[] spawn EPOCH_masterLoop;
[5,100] call EPOCH_niteLight;
Epoch_canBeRevived = true;

View File

@ -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;
};

View File

@ -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 };
};
};
");
");

View File

@ -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";
};
};

View File

@ -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 = ["<t size = '0.8' shadow = '0' color = '#99ffffff'>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;

View File

@ -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;

View File

@ -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
//

View File

@ -65,4 +65,4 @@ if (_items) then {
_array set [_array find _x,nil];
};
} forEach items player;
};
};

View File

@ -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;
};
};

View File

@ -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];
};
};
};

View File

@ -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;
};
};

View File

@ -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];
};
};

View File

@ -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 {};

View File

@ -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 {

View File

@ -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 = [];

View File

@ -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;
_handle ppEffectCommit _animSpeed;

View File

@ -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 = [];

View File

@ -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 = [];

View File

@ -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;

View File

@ -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";
};

View File

@ -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

View File

@ -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";

View File

@ -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
{

View File

@ -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
};
};
};
*/
*/

View File

@ -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;
};
};

View File

@ -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
{

View File

@ -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[] = {};

View File

@ -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 } };
};
};
};

View File

@ -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;

View File

@ -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";

View File

@ -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[] = {

View File

@ -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"
};
};
};

View File

@ -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[] = {

View File

@ -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[] = {

View File

@ -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

View File

@ -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"
};
};
};

View File

@ -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[] = {

View File

@ -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[] = {

View File

@ -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"
};
};
};

View File

@ -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[] = {

View File

@ -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"
};
};
};

View File

@ -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[] = {

View File

@ -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";
};
};
};

Some files were not shown because too many files have changed in this diff Show More