2023-09-12 18:58:10 +00:00
|
|
|
#include "..\script_component.hpp"
|
2015-03-26 05:53:02 +00:00
|
|
|
/*
|
|
|
|
* Author: commy2 PabstMirror
|
|
|
|
* Fix, because captiveNum doesn't reset properly on respawn
|
|
|
|
*
|
|
|
|
* Arguments:
|
|
|
|
* 0: Unit <OBJECT>
|
|
|
|
* 1: Corpse <OBJECT>
|
|
|
|
*
|
|
|
|
* Return Value:
|
2017-06-08 13:31:51 +00:00
|
|
|
* None
|
2015-03-26 05:53:02 +00:00
|
|
|
*
|
|
|
|
* Example:
|
|
|
|
* [alive, body] call ACE_captives_fnc_handleRespawn;
|
|
|
|
*
|
|
|
|
* Public: No
|
|
|
|
*/
|
|
|
|
|
2015-08-04 23:15:20 +00:00
|
|
|
params ["_unit","_dead"];
|
2017-09-27 20:41:05 +00:00
|
|
|
TRACE_2("handleRespawn",_unit,_dead);
|
2015-03-26 05:53:02 +00:00
|
|
|
|
|
|
|
if (!local _unit) exitWith {};
|
|
|
|
|
2015-09-12 12:36:55 +00:00
|
|
|
// Group and side respawn can potentially respawn you as a captive unit
|
|
|
|
// Base and instant respawn cannot, so captive should be entirely reset
|
|
|
|
// So we explicity account for the respawn type
|
2016-09-04 14:44:22 +00:00
|
|
|
private _respawn = [0] call BIS_fnc_missionRespawnType;
|
2015-03-26 19:21:26 +00:00
|
|
|
|
2015-09-12 12:36:55 +00:00
|
|
|
if (_respawn > 3) then {
|
|
|
|
if (_unit getVariable [QGVAR(isHandcuffed), false]) then {
|
|
|
|
_unit setVariable [QGVAR(isHandcuffed), false];
|
|
|
|
[_unit, true] call FUNC(setHandcuffed);
|
|
|
|
};
|
|
|
|
|
|
|
|
if (_unit getVariable [QGVAR(isSurrendering), false]) then {
|
|
|
|
_unit setVariable [QGVAR(isSurrendering), false];
|
|
|
|
[_unit, true] call FUNC(setSurrendered);
|
|
|
|
};
|
2015-03-26 19:21:26 +00:00
|
|
|
} else {
|
2015-09-12 12:36:55 +00:00
|
|
|
if (_unit getVariable [QGVAR(isHandcuffed), false]) then {
|
|
|
|
[_unit, false] call FUNC(setHandcuffed);
|
|
|
|
};
|
2024-08-12 13:15:09 +00:00
|
|
|
[_unit, "setCaptive", QGVAR(handcuffed), false] call EFUNC(common,statusEffect_set);
|
2015-03-26 19:21:26 +00:00
|
|
|
|
2015-09-12 12:36:55 +00:00
|
|
|
if (_unit getVariable [QGVAR(isSurrendering), false]) then {
|
|
|
|
[_unit, false] call FUNC(setSurrendered);
|
|
|
|
};
|
2024-08-12 13:15:09 +00:00
|
|
|
[_unit, "setCaptive", QGVAR(surrendered), false] call EFUNC(common,statusEffect_set);
|
2015-09-12 12:36:55 +00:00
|
|
|
|
2017-05-14 19:48:05 +00:00
|
|
|
if (_unit getVariable [QGVAR(isEscorting), false]) then {
|
|
|
|
_unit setVariable [QGVAR(isEscorting), false, true];
|
2015-09-12 12:36:55 +00:00
|
|
|
};
|
2015-03-26 19:21:26 +00:00
|
|
|
};
|