mirror of
https://github.com/acemod/ACE3.git
synced 2024-08-30 18:23:18 +00:00
44 lines
1.2 KiB
Plaintext
44 lines
1.2 KiB
Plaintext
/*
|
|
* Author: Garth 'L-H' de Wet
|
|
* Sets the Dir and pitch of passed object
|
|
*
|
|
* Arguments:
|
|
* 0: Explosive <OBJECT>
|
|
* 1: Direction <NUMBER>
|
|
* 2: Pitch <NUMBER>
|
|
*
|
|
* Return Value:
|
|
* None
|
|
*
|
|
* Example:
|
|
* [_explosive, 150, 90] call ACE_Explosives_fnc_setPosition;
|
|
*
|
|
* Public: No
|
|
*/
|
|
#include "script_component.hpp"
|
|
|
|
params ["_explosive", "_direction", "_pitch"];
|
|
TRACE_3("params",_explosive,_direction,_pitch);
|
|
|
|
if (isNull (attachedTo _explosive)) then {
|
|
_explosive setDir _direction;
|
|
if (_pitch != 0) then {
|
|
[_explosive, _pitch, 0] call CALLSTACK(BIS_fnc_setPitchBank);
|
|
};
|
|
} else {
|
|
//Attaching to a vehicle (dirAndUp based on vehicle)
|
|
_explosive setVectorDirAndUp [[0,0,1],[(sin _direction),(cos _direction),0]];
|
|
};
|
|
|
|
if (isServer) then {
|
|
// Store the orientation to broadcast it later to JIP players
|
|
GVAR(explosivesOrientations) pushBack [_explosive, _direction, _pitch];
|
|
|
|
// This is a good time to filter the array and remove explosives that no longer exist
|
|
GVAR(explosivesOrientations) = GVAR(explosivesOrientations) select {
|
|
_x params ["_explosive"];
|
|
(!isNull _explosive && {alive _explosive})
|
|
};
|
|
TRACE_1("setPosition",GVAR(explosivesOrientations));
|
|
};
|