2015-12-07 16:24:52 +00:00
|
|
|
/*
|
|
|
|
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:
|
2016-06-13 16:54:19 +00:00
|
|
|
https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_code/compile/building/EPOCH_checkBuild.sqf
|
2015-12-07 16:24:52 +00:00
|
|
|
|
|
|
|
Example:
|
|
|
|
cursorTarget call EPOCH_checkBuild;
|
|
|
|
|
|
|
|
Parameter(s):
|
|
|
|
_this select 0: OBJECT - Base building object
|
|
|
|
|
|
|
|
Returns:
|
|
|
|
ARRAY of BOOLs
|
|
|
|
*/
|
2016-09-01 00:29:08 +00:00
|
|
|
//[[[cog import generate_private_arrays ]]]
|
|
|
|
private ["_config","_objType","_out"];
|
|
|
|
//[[[end]]]
|
2015-10-28 15:16:00 +00:00
|
|
|
_out = [false, false, false];
|
|
|
|
|
|
|
|
if !(isNil "EPOCH_simulSwap_Lock") exitWith{ _out };
|
|
|
|
if !(isNull EPOCH_Target) exitWith{ _out };
|
|
|
|
|
2016-04-08 20:21:46 +00:00
|
|
|
params [["_object",objNull]];
|
2015-10-28 15:16:00 +00:00
|
|
|
|
|
|
|
if (isNull _object) exitWith{ _out };
|
|
|
|
if ((player distance _object) > 9) exitWith { _out };
|
|
|
|
|
|
|
|
if !(EPOCH_buildMode > 0) exitWith {_out};
|
2016-06-18 01:22:29 +00:00
|
|
|
if (EPOCH_playerEnergy <= 0) exitWith{ ["Need energy", 5] call Epoch_message; _out };
|
2015-10-28 15:16:00 +00:00
|
|
|
|
|
|
|
_objType = typeOf _object;
|
|
|
|
_config = 'CfgBaseBuilding' call EPOCH_returnConfig;
|
|
|
|
|
2015-12-07 16:24:52 +00:00
|
|
|
_out =
|
2015-10-28 15:16:00 +00:00
|
|
|
[
|
|
|
|
!(getArray(_config >> _objType >> "upgradeBuilding") isEqualTo []),
|
|
|
|
!(getArray(_config >> _objType >> "removeParts") isEqualTo []),
|
|
|
|
(_object isKindOf "ThingX")
|
|
|
|
];
|
|
|
|
_out
|