ACE3/addons/respawn/functions/fnc_moveRallypoint.sqf
jonpas 742626ff1a
General - Relative script_component.hpp includes (#9378)
Co-authored-by: PabstMirror <pabstmirror@gmail.com>
2023-09-12 20:58:10 +02:00

53 lines
1.4 KiB
Plaintext

#include "..\script_component.hpp"
/*
* Author: commy2
* Moves a rallypoint to the players location.
*
* Arguments:
* 0: Unit <OBJECT>
* 1: Side <SIDE>
*
* Return Value:
* None
*
* Example:
* [ACE_Player, side ACE_Player] call ace_respawn_fnc_moveRallypoint
*
* Public: No
*/
params ["_unit", "_side"];
private _rallypoint = [
objNull,
missionNamespace getVariable ["ACE_Rallypoint_West", objNull],
missionNamespace getVariable ["ACE_Rallypoint_East", objNull],
missionNamespace getVariable ["ACE_Rallypoint_Independent", objNull]
] select ([west, east, independent] find _side) + 1;
TRACE_3("moving rally",_unit,_rallypoint,typeOf _rallypoint);
if (isNull _rallypoint) exitWith {};
private _position = getPosATL _unit;
_position = _position findEmptyPosition [0, 2, typeOf _rallypoint];
if (_position isEqualTo []) then {_position = getPosATL _unit};
_position set [2, 0];
[localize LSTRING(Deploy)] call EFUNC(common,displayTextStructured);
[{
params ["_rallypoint", "_unit", "_position"];
_rallypoint setPosATL _position;
_unit reveal _rallypoint;
_rallypoint setVariable [QGVAR(markerDate), [dayTime, "HH:MM"] call BIS_fnc_timeToString, true];
["ace_rallypointMoved", [_rallypoint, _side, _position]] call CBA_fnc_globalEvent;
[localize LSTRING(Deployed)] call EFUNC(common,displayTextStructured);
}, [_rallypoint, _unit, _position], 5] call CBA_fnc_waitAndExecute;