Skip to content

Commit

Permalink
Some Refactoring (#6607)
Browse files Browse the repository at this point in the history
* SwitchUnits

* tacticalLadder

* vehiclelock

* vector

* Typo, thanks circleCI

* Fix stuff

* Fix animate loop
  • Loading branch information
dedmen authored and PabstMirror committed Oct 10, 2018
1 parent f2f5a94 commit 0633b80
Show file tree
Hide file tree
Showing 21 changed files with 53 additions and 94 deletions.
13 changes: 4 additions & 9 deletions addons/switchunits/functions/fnc_handleMapClick.sqf
Original file line number Diff line number Diff line change
Expand Up @@ -21,16 +21,11 @@
params ["_faction", "_pos"];
_faction params ["", "_sides"];

private _sideNearest = [];
private _nearestObjects = nearestObjects [_pos, ["Man"], 15];

{
if ([_x] call FUNC(isValidAi) && (side group _x in _sides)) then {
_sideNearest pushBack _x;
};
nil
} count (nearestObjects [_pos, ["Man"], 15]);
private _nearestValidUnitIndex = _nearestObjects findIf {(side group _x in _sides) && {[_x] call FUNC(isValidAi)}};

if (count _sideNearest > 0) then {
[_sideNearest select 0] call FUNC(switchUnit);
if (_nearestValidUnitIndex != -1) then {
[_nearestObjects select _nearestValidUnitIndex] call FUNC(switchUnit);
openMap false;
};
5 changes: 1 addition & 4 deletions addons/switchunits/functions/fnc_initPlayer.sqf
Original file line number Diff line number Diff line change
Expand Up @@ -32,12 +32,9 @@ if (vehicle _playerUnit == _playerUnit) then {
removeAllWeapons _playerUnit;
removeGoggles _playerUnit;
removeHeadgear _playerUnit;
removeVest _playerUnit;
removeAllAssignedItems _playerUnit;
clearAllItemsFromBackpack _playerUnit;
removeBackpack _playerUnit;
removeAllContainers _playerUnit;
_playerUnit linkItem "ItemMap";
removeUniform _playerUnit;

[_playerUnit, "forceWalk", "ACE_SwitchUnits", true] call EFUNC(common,statusEffect_set);

Expand Down
2 changes: 1 addition & 1 deletion addons/switchunits/functions/fnc_markAiOnMap.sqf
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ GVAR(AllMarkerNames) = [];

// create markers
{
if (([_x] call FUNC(isValidAi) && (side group _x in _sides)) || (_x getVariable [QGVAR(IsPlayerControlled), false])) then {
if ((_x getVariable [QGVAR(IsPlayerControlled), false]) || {(side group _x in _sides) && {[_x] call FUNC(isValidAi)}}) then {

private _markerName = str _x;

Expand Down
10 changes: 1 addition & 9 deletions addons/switchunits/functions/fnc_nearestPlayers.sqf
Original file line number Diff line number Diff line change
Expand Up @@ -18,12 +18,4 @@

params ["_position", "_radius"];

private _nearestPlayers = [];

{
if ([_x] call EFUNC(common,isPlayer) && {alive _x}) then {
_nearestPlayers pushBack _x;
};
} forEach (nearestObjects [_position, ["Man"], _radius]);

_nearestPlayers
(nearestObjects [_position, ["Man"], _radius]) select {alive _x && {[_x] call EFUNC(common,isPlayer)}};
8 changes: 4 additions & 4 deletions addons/switchunits/functions/fnc_startSwitchUnits.sqf
Original file line number Diff line number Diff line change
Expand Up @@ -20,10 +20,10 @@ params ["_player"];
if (GVAR(EnableSwitchUnits)) then {
private _sides = [];

if(GVAR(SwitchToWest)) then {_sides pushBack west;};
if(GVAR(SwitchToEast)) then {_sides pushBack east;};
if(GVAR(SwitchToIndependent)) then {_sides pushBack independent;};
if(GVAR(SwitchToCivilian)) then {_sides pushBack civilian;};
if (GVAR(SwitchToWest)) then {_sides pushBack west;};
if (GVAR(SwitchToEast)) then {_sides pushBack east;};
if (GVAR(SwitchToIndependent)) then {_sides pushBack independent;};
if (GVAR(SwitchToCivilian)) then {_sides pushBack civilian;};

if (_player getVariable ["ACE_CanSwitchUnits", false]) then {
[_player, _sides] call FUNC(initPlayer);
Expand Down
3 changes: 1 addition & 2 deletions addons/tacticalladder/functions/fnc_cancelTLdeploy.sqf
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,7 @@ GVAR(ladder) animate ["rotate", 0];

{
GVAR(ladder) animate [_x, 0];
true
} count __ANIMS;
} forEach __ANIMS; //Don't "optimize" this to a count. See #6607

// remove mouse buttons and hint
call EFUNC(interaction,hideMouseHint);
Expand Down
10 changes: 2 additions & 8 deletions addons/tacticalladder/functions/fnc_isLadderEmpty.sqf
Original file line number Diff line number Diff line change
Expand Up @@ -20,12 +20,6 @@ params ["_ladder"];
private _unitsNearLadder = nearestObjects [_ladder, ["CAManBase"], 4];
TRACE_1("Near Ladder",_unitsNearLadder);

private _ladderEmpty = true;
{
if (getNumber (configFile >> "CfgMovesMaleSdr" >> "States" >> animationState _x >> "ACE_isLadder") == 1) exitWith {
_ladderEmpty = false;
TRACE_1("On Ladder",_x);
};
} forEach _unitsNearLadder;
private _CfgAnimationStates = configFile >> "CfgMovesMaleSdr" >> "States";

_ladderEmpty
(_unitsNearLadder findIf {getNumber (_CfgAnimationStates >> animationState _x >> "ACE_isLadder") == 1}) == -1
4 changes: 2 additions & 2 deletions addons/vector/functions/fnc_clearDisplay.sqf
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,13 @@
* Clears the vectors control items.
*
* Arguments:
* 0: String <STRING>
* 0: "azimuth" or "distance" <STRING>
*
* Return Value:
* None
*
* Example:
* [5] call ace_vector_fnc_clearDisplay
* ["azimuth"] call ace_vector_fnc_clearDisplay
*
* Public: No
*/
Expand Down
4 changes: 2 additions & 2 deletions addons/vector/functions/fnc_dataTransfer.sqf
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@

private _distance = call FUNC(getDistance);
private _direction = call FUNC(getDirection);
private _azimuth = _direction select 0;
private _inclination = _direction select 1;
_direction params ["_azimuth", "_inclination"];

//Send Data to connected GPS
[QGVAR(rangefinderData), [_distance, _azimuth, _inclination]] call CBA_fnc_localEvent;
10 changes: 4 additions & 6 deletions addons/vector/functions/fnc_getFallOfShot.sqf
Original file line number Diff line number Diff line change
Expand Up @@ -15,14 +15,12 @@
* Public: No
*/

private _distanceP1 = GVAR(pData) select 0;
private _directionP1 = GVAR(pData) select 1;
private _azimuthP1 = _directionP1 select 0;
private _inclinationP1 = _directionP1 select 1;

GVAR(pData) params ["_distanceP1", "_directionP1"];
_directionP1 params ["_azimuthP1", "_inclinationP1"];
private _distanceP2 = call FUNC(getDistance);
private _directionP2 = call FUNC(getDirection);
private _azimuthP2 = _directionP2 select 0;
private _inclinationP2 = _directionP2 select 1;
_directionP2 params ["_azimuthP2", "_inclinationP2"];

private _abscissa = _distanceP1 * sin (_azimuthP1 - _azimuthP2);
private _ordinate = _distanceP1 * cos (_inclinationP1 - _inclinationP2) - _distanceP2 * cos (_azimuthP1 - _azimuthP2);
Expand Down
3 changes: 1 addition & 2 deletions addons/vector/functions/fnc_getHeightDistance.sqf
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,7 @@
private _distance = call FUNC(getDistance);
private _direction = call FUNC(getDirection);

private _azimuth = _direction select 0;
private _inclination = _direction select 1;
_direction params ["_azimuth", "_inclination"];

if (_distance < -999) exitWith {
[-1000, -1000] // return
Expand Down
9 changes: 3 additions & 6 deletions addons/vector/functions/fnc_getRelativeAzimuthDistance.sqf
Original file line number Diff line number Diff line change
Expand Up @@ -15,15 +15,12 @@
* Public: No
*/

private _distanceP1 = GVAR(pData) select 0;
private _directionP1 = GVAR(pData) select 1;
private _azimuthP1 = _directionP1 select 0;
private _inclinationP1 = _directionP1 select 1;
GVAR(pData) params ["_distanceP1", "_directionP1"];
_directionP1 params ["_azimuthP1", "_inclinationP1"];

private _distanceP2 = call FUNC(getDistance);
private _directionP2 = call FUNC(getDirection);
private _azimuthP2 = _directionP2 select 0;
private _inclinationP2 = _directionP2 select 1;
_directionP2 params ["_azimuthP2", "_inclinationP2"];

private _relDirection = sqrt ((_azimuthP1 - _azimuthP2) ^ 2 + (_inclinationP1 - _inclinationP2) ^ 2);
private _relDistance = sqrt (_distanceP1 ^ 2 + _distanceP2 ^ 2 - 2 * _distanceP1 * _distanceP2 * cos _relDirection);
Expand Down
10 changes: 3 additions & 7 deletions addons/vector/functions/fnc_getRelativeDistance.sqf
Original file line number Diff line number Diff line change
Expand Up @@ -15,15 +15,11 @@
* Public: No
*/

private _distanceP1 = GVAR(pData) select 0;
private _directionP1 = GVAR(pData) select 1;
private _azimuthP1 = _directionP1 select 0;
private _inclinationP1 = _directionP1 select 1;

GVAR(pData) params ["_distanceP1", "_directionP1"];
_directionP1 params ["_azimuthP1", "_inclinationP1"];
private _distanceP2 = call FUNC(getDistance);
private _directionP2 = call FUNC(getDirection);
private _azimuthP2 = _directionP2 select 0;
private _inclinationP2 = _directionP2 select 1;
_directionP2 params ["_azimuthP2", "_inclinationP2"];


private _relDirection = sqrt ((_azimuthP1 - _azimuthP2) ^ 2 + (_inclinationP1 - _inclinationP2) ^ 2);
Expand Down
4 changes: 2 additions & 2 deletions addons/vector/functions/fnc_illuminate.sqf
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,13 @@
*
*
* Arguments:
* 0: String <STRING>
* 0: Enable illumination <BOOL>
*
* Return Value:
* None
*
* Example:
* ["5"] call ace_vector_fnc_illuminate
* [true] call ace_vector_fnc_illuminate
*
* Public: No
*/
Expand Down
4 changes: 2 additions & 2 deletions addons/vector/functions/fnc_nextMode.sqf
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,13 @@
*
*
* Arguments:
* 0: String<STRING>
* 0: Name of mode ("settings", "config") <STRING>
*
* Return Value:
* Array <ARRAY>
*
* Example:
* ["5"] call ace_vector_fnc_nextMode
* ["settings"] call ace_vector_fnc_nextMode
*
* Public: No
*/
Expand Down
2 changes: 1 addition & 1 deletion addons/vector/functions/fnc_onKeyDown.sqf
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
* None
*
* Example:
* ["5"] call ace_vector_fnc_onKeyDown
* ["azimuth"] call ace_vector_fnc_onKeyDown
*
* Public: No
*/
Expand Down
2 changes: 1 addition & 1 deletion addons/vehiclelock/XEH_postInit.sqf
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,6 @@ if (!hasInterface) exitwith {};
TRACE_1("SettingsInitialized eh",GVAR(LockVehicleInventory));

if (GVAR(LockVehicleInventory)) then {
["CAManBase", "InventoryOpened", {_this call FUNC(onOpenInventory);}] call CBA_fnc_addClassEventHandler;
["CAManBase", "InventoryOpened", {_this call FUNC(onOpenInventory)}] call CBA_fnc_addClassEventHandler;
};
}] call CBA_fnc_addEventHandler;
12 changes: 4 additions & 8 deletions addons/vehiclelock/functions/fnc_hasKeyForVehicle.sqf
Original file line number Diff line number Diff line change
Expand Up @@ -22,20 +22,16 @@ TRACE_2("params",_unit,_veh);
if (isNull _unit) exitWith {ERROR("null unit"); false};
if (isNull _veh) exitWith {ERROR("null vehicle"); false};

private _returnValue = false;

//Master can open anything "no matter what"
private _items = _unit call EFUNC(common,uniqueItems);
if ("ACE_key_master" in _items) then {_returnValue = true};
if ("ACE_key_master" in _items) exitWith {true};

//Check side key
private _sideKeyName = [_veh] call FUNC(getVehicleSideKey);
if (_sideKeyName in _items) then {_returnValue = true};
if (_sideKeyName in _items) exitWith {true};

//Check custom keys
private _customKeys = _veh getVariable [QGVAR(customKeys), []];
{
if (_x in (magazinesDetail _unit)) then {_returnValue = true;};
} forEach _customKeys;
private _magazines = magazinesDetail _unit;

_returnValue
(_customKeys findIf {_x in _magazines}) != -1
8 changes: 4 additions & 4 deletions addons/vehiclelock/functions/fnc_lockpick.sqf
Original file line number Diff line number Diff line change
Expand Up @@ -32,11 +32,11 @@ if ((locked _veh) == 0) exitWith {false};
//need lockpick item
if !("ACE_key_lockpick" in (_unit call EFUNC(common,uniqueItems))) exitWith {false};

private _vehLockpickStrenth = _veh getVariable[QGVAR(lockpickStrength), GVAR(DefaultLockpickStrength)];
if (!(_vehLockpickStrenth isEqualType 0)) exitWith {ERROR("ACE_vehicleLock_LockpickStrength invalid"); false};
private _vehLockpickStrength = _veh getVariable[QGVAR(lockpickStrength), GVAR(DefaultLockpickStrength)];
if (!(_vehLockpickStrength isEqualType 0)) exitWith {ERROR("ACE_vehicleLock_LockpickStrength invalid"); false};

//-1 indicates unpickable lock
if (_vehLockpickStrenth < 0) exitWith {false};
if (_vehLockpickStrength < 0) exitWith {false};

//Condition check for progressBar
private _condition = {
Expand All @@ -53,7 +53,7 @@ switch (_funcType) do {
_returnValue = !([_unit, _veh] call FUNC(hasKeyForVehicle)) && {(locked _veh) in [2, 3]};
};
case "startLockpick": {
[_vehLockpickStrenth, [_unit, _veh, "finishLockpick"], {(_this select 0) call FUNC(lockpick)}, {}, (localize LSTRING(Action_LockpickInUse)), _condition, ["isNotInside", "isNotSwimming"]] call EFUNC(common,progressBar);
[_vehLockpickStrength, [_unit, _veh, "finishLockpick"], {(_this select 0) call FUNC(lockpick)}, {}, (localize LSTRING(Action_LockpickInUse)), _condition, ["isNotInside", "isNotSwimming"]] call EFUNC(common,progressBar);
};
case "finishLockpick": {
[QGVAR(setVehicleLock), [_veh, false], [_veh]] call CBA_fnc_targetEvent;
Expand Down
11 changes: 4 additions & 7 deletions addons/vehiclelock/functions/fnc_moduleSync.sqf
Original file line number Diff line number Diff line change
Expand Up @@ -27,14 +27,11 @@ if !(_activated) exitWith {WARNING("Vehicle Lock Sync Module - placed but not ac
[{
params ["_syncedObjects"];

private _listOfVehicles = [];
{
if ((_x isKindOf "Car") || (_x isKindOf "Tank") || (_x isKindOf "Helicopter")) then {
_listOfVehicles pushBack _x;
};
} forEach _syncedObjects;
private _listOfVehicles = _syncedObjects select {
(_x isKindOf "Car") || {(_x isKindOf "Tank") || {_x isKindOf "Helicopter"}}
};

if ((count _listOfVehicles) == 0) exitWith { //Verbose error for mission makers (only shows on server)
if (_listOfVehicles isEqualTo []) exitWith { //Verbose error for mission makers (only shows on server)
["ACE_VehicleLock_fnc_moduleSync: no vehicles synced"] call BIS_fnc_error;
};

Expand Down
13 changes: 6 additions & 7 deletions addons/vehiclelock/functions/fnc_onOpenInventory.sqf
Original file line number Diff line number Diff line change
Expand Up @@ -20,13 +20,13 @@ params ["_unit", "_container"];
TRACE_2("params",_unit,_container);

//Only check for player:
if (_unit != ace_player) exitWith {};
if (_unit != ACE_player) exitWith {};

if (GVAR(LockVehicleInventory) && //if setting not enabled
{(vehicle ace_player) == ace_player} && //Player dismounted
{(_container isKindOf "Car") || (_container isKindOf "Tank") || (_container isKindOf "Helicopter")} && //container is a lockable veh
{(vehicle ACE_player) == ACE_player} && //Player dismounted
{(_container isKindOf "Car") || {(_container isKindOf "Tank") || {_container isKindOf "Helicopter"}}} && //container is a lockable veh
{(locked _container) in [2,3]} && //Vehicle is locked
{!([ace_player, _container] call FUNC(hasKeyForVehicle))} //player doesn't have key
{!([ACE_player, _container] call FUNC(hasKeyForVehicle))} //player doesn't have key
) then {
//Give feedback that vehicle is locked
playSound "ACE_Sound_Click";
Expand All @@ -41,8 +41,7 @@ if (GVAR(LockVehicleInventory) && //if setting not enabled
(findDisplay 602) closeDisplay 0;
[{
TRACE_1("Opening Player Inventory", _this);
ACE_player action ["Gear", objNull]
ACE_player action ["Gear", objNull];
}, []] call CBA_fnc_execNextFrame;
},
[]] call CBA_fnc_waitUntilAndExecute;
}, []] call CBA_fnc_waitUntilAndExecute;
};

0 comments on commit 0633b80

Please sign in to comment.