ACE3/addons/zeus/functions/fnc_bi_moduleMine.sqf

51 lines
1.6 KiB
Plaintext
Raw Normal View History

#include "..\script_component.hpp"
2015-05-10 16:32:01 +00:00
/*
* Author: Bohemia Interactive
* Module function for spawning mines
* Edited to remove forced map markers and mines being revealed to players
*
* Arguments:
2015-05-18 11:56:31 +00:00
* 0: The module logic <LOGIC>
* 1: units <ARRAY>
* 2: activated <BOOL>
2015-05-10 16:32:01 +00:00
*
* Return Value:
* None
2015-05-10 16:32:01 +00:00
*
* Example:
* [LOGIC, [bob, kevin], true] call ace_zeus_fnc_bi_moduleMine
*
2015-05-10 16:32:01 +00:00
* Public: No
*/
params ["_logic", "_units", "_activated"];
2015-05-10 16:17:17 +00:00
if (_activated) then {
_explosive = gettext (configOf _logic >> "explosive");
if (_explosive != "") then {
_explosive = createvehicle [_explosive,position _logic,[],0,"none"];
_explosive attachto [_logic];
2015-05-10 16:17:17 +00:00
// Added by ace_zeus to control if mines are revealed
if (GVAR(revealMines) > MINE_REVEAL_NONE) then {
//--- Reveal the mine to curator's side
{
_side = (getassignedcuratorunit _x) call bis_fnc_objectSide;
_side revealmine _explosive;
2015-11-30 16:23:48 +00:00
} forEach (objectcurators _logic);
2015-05-10 16:17:17 +00:00
if (GVAR(revealMines) == MINE_REVEAL_FULL) then {
//--- Mark minefields in the map
[] spawn bis_fnc_drawMinefields;
};
};
//--- Show hint to curator who placed the object
[[["Curator","PlaceMines"],nil,nil,nil,nil,nil,nil,true],"bis_fnc_advHint",_logic] call bis_fnc_mp;
waituntil {sleep 0.1; isnull _explosive || isnull _logic || !alive _logic};
if (isnull _logic) then {deletevehicle _explosive;} else {_explosive setdamage 1;};
deletevehicle _logic;
};
};