2023-09-12 18:58:10 +00:00
#include "..\script_component.hpp"
2015-06-12 21:54:51 +00:00
/*
* Author: Rocko, Ruthberg
* Position tactical ladder
*
* Arguments:
2015-09-26 01:16:55 +00:00
* 0: unit <OBJECT>
* 1: ladder <OBJECT>
2015-06-12 21:54:51 +00:00
*
* Return Value:
* None
*
* Example:
2015-09-26 01:16:55 +00:00
* [_unit, _ladder] call ace_tacticalladder_fnc_positionTL
2015-06-12 21:54:51 +00:00
*
* Public: No
*/
2015-06-03 18:27:52 +00:00
#define __ANIMS ["extract_1","extract_2","extract_3","extract_4","extract_5","extract_6","extract_7","extract_8","extract_9","extract_10","extract_11"]
2015-09-26 01:16:55 +00:00
params ["_unit", "_ladder"];
// prevent the placing unit from running
2016-01-19 15:34:59 +00:00
[_unit, "forceWalk", "ACE_Ladder", true] call EFUNC(common,statusEffect_set);
2017-12-07 17:26:21 +00:00
[_unit, "blockThrow", "ACE_Ladder", true] call EFUNC(common,statusEffect_set);
2015-06-03 18:27:52 +00:00
2015-06-12 20:45:41 +00:00
{
_ladder animate [_x, 0];
2015-08-07 06:19:15 +00:00
} count __ANIMS;
2015-06-03 18:27:52 +00:00
2015-09-26 01:16:55 +00:00
[_unit, "amovpercmstpslowwrfldnon_player_idlesteady03", 2] call EFUNC(common,doAnimation);
2015-06-12 20:45:41 +00:00
_ladder attachTo [_unit, [0, 0.75, 0], ""]; // Position ladder in front of player
2015-06-03 18:27:52 +00:00
2015-06-12 20:45:41 +00:00
_ladder animate ["rotate", 0];
{
_ladder animate [_x, 1];
2015-08-07 06:19:15 +00:00
} count ["extract_1", "extract_2", "extract_3"]; // Extract ladder at head height (extract_3)
2015-06-03 18:27:52 +00:00
GVAR(ladder) = _ladder;
2016-03-02 10:01:39 +00:00
GVAR(cancelTime) = CBA_missionTime + 1; // Workaround to prevent accidental canceling
2015-06-03 18:27:52 +00:00
GVAR(currentStep) = 3;
GVAR(currentAngle) = 0;
2015-09-26 01:16:55 +00:00
// add mouse buttons and hints
2015-12-27 18:28:29 +00:00
//private _adjustText = format ["%1, +%2", localize LSTRING(Adjust), localize LSTRING(AdjustTilt)]; // Tilting disabled due to sinking, interaction point offset and unsuitable animation
[localize LSTRING(Deploy), localize LSTRING(Drop), /*_adjustText*/ localize LSTRING(Adjust)] call EFUNC(interaction,showMouseHint);
2015-06-03 18:27:52 +00:00
2015-09-26 01:16:55 +00:00
_unit setVariable [QGVAR(Deploy), [
_unit, "DefaultAction",
2015-06-12 21:54:51 +00:00
{!isNull GVAR(ladder)},
2015-09-26 01:16:55 +00:00
{[_this select 0, GVAR(ladder)] call FUNC(confirmTLdeploy)}
] call EFUNC(common,addActionEventHandler)];