Difference between revisions of "VN ms fnc waypoint doArtilleryFire"
Jump to navigation
Jump to search
vn>Unknown user m (Generated by LM_exportFunctionsToWiki.sqf) |
Lou Montana (talk | contribs) m (1 revision imported) |
(No difference)
|
Revision as of 18:23, 5 January 2021
← back to Functions | Introduced in S.O.G. Prairie Fire v1.00 |
|
Description
/* Author: Wyqer, veteran29 Date: 2019-10-23 Public: Yes Description: Tells the unit to do cone shaped artillery barrage. Parameter(s): _vehicle _pos _rounds _magazine _precision Returns: Artillery fired [BOOL] */ // more steps equals closer impact points #define OFFSET_STEPS 4 if (!canSuspend) exitWith { _this spawn (missionNamespace getVariable _fnc_scriptName); }; params [ "_vehicle", "_pos", ["_rounds", 5 + random 3], ["_magazine", ""], ["_precision", 55] ]; // determine used ammunition private _vehicleArtilleryAmmo = getArtilleryAmmo [_vehicle]; if (_magazine == "" && count _vehicleArtilleryAmmo > 0) then { _magazine = _vehicleArtilleryAmmo select 0; }; if (!(_pos inRangeOfArtillery [[_vehicle], _magazine])) exitWith { #ifdef VN_DEBUG systemChat format ["[VN_Artillery] %1 can not fire.", _vehicle]; #endif false }; #ifdef VN_DEBUG // systemChat format ["[VN_Artillery] Veh:%1, Rnds:%3, Mag:%4, Trgt:%2", _vehicle, _pos, _rounds, _magazine]; private _m = format ["vn_artillery_target%1", _vehicle]; deleteMarker _m; createMarker [_m, _pos]; _m setMarkerType "mil_dot"; _m setMarkerText "target"; _m setMarkerColor "ColorGREEN"; #endif // get direction to target private _dirTo = _vehicle getDir _pos; private _posOffset = 0; // offset initial positon closer to shooter _pos = _pos getPos [-1 * _precision, _dirTo]; for "_i" from 1 to _rounds do { // offseting position like this and shooting single should result in cone like shape private _target = _pos getPos [_posOffset + random _precision, _dirTo + (45 - random 90)]; // increase offset(Placeholder description extracted from the function header by LM_exportFunctionsToWiki.sqf)
Syntax
- Syntax
- [] call vn_ms_fnc_waypoint_doArtilleryFire;
- Return value
- Nothing
Examples
- Example 1
-