ACE3/addons/zeus/functions/fnc_moduleGroupSide.sqf
mharis001 bca8b01860 Various additions to ace_zeus (#6036)
* Add search to teleport players UI

* Change group side icons to look better

* Improve teleport UI and add stringtable entries

* Add Assign Repair Vehicle module

* Add Assign Repair Facility module

* Add Assign Engineer module

* Add Full Heal module

* Add Suicide Bomber module

* Make heal module work without ace_medical

* Add suicide bomber module translations

* Improve attribute cargo to use displayName

* Improve set engineer ui

* ACE_Curator for repair modules + author array

* Add angle param to getModuleDestination

* Prevent multiple suicide bomber modules on same target

* Heal module: support BI scripted revive system

* Requested changes
2018-02-24 11:44:57 -06:00

45 lines
1.2 KiB
Plaintext

/*
* Author: SilentSpike
* Zeus module function to change side of a group on dialog confirmation
*
* Arguments:
* 0: Unit to target <OBJECT>
* 1: Chosen side <SIDE>
*
* Return Value:
* None
*
* Example:
* [this, west] call ace_zeus_fnc_moduleGroupSide
*
* Public: No
*/
#include "script_component.hpp"
params ["_unit", "_newSide"];
private _side = side _unit;
// Nothing to do here
if (_side == _newSide) exitWith {};
private _oldGroup = group _unit;
private _newGroup = createGroup _newSide;
// Pretty hacky, will replace units return group with this new group if unconcious
if (GETVAR(_unit,ACE_isUnconscious,false) && {GETMVAR(EGVAR(medical,moveUnitsFromGroupOnUnconscious),false)}) then {
private _previousGroupsList = _unit getVariable [QEGVAR(common,previousGroupSwitchTo), []];
{
if ("ACE_isUnconscious" == (_x select 2)) exitWith {
_x set [0,_newGroup];
_x set [1,_newSide];
_previousGroupsList set [_forEachIndex, _x];
};
} forEach _previousGroupsList;
_unit setVariable [QEGVAR(common,previousGroupSwitchTo), _previousGroupsList, true];
} else {
(units _unit) joinSilent _newGroup;
deleteGroup _oldGroup;
};