@@ -234,6 +234,7 @@ switch (_operation) do {
234234
235235 private _side = _type call ALIVE_fnc_classSide ;
236236 private _group = createGroup _side ;
237+ private _vehicles = [];
237238
238239 for " _i" from 0 to 2 do {
239240 // TODO: Spawn vehicles in proper fancy formation (see CfgFormations)
@@ -242,18 +243,49 @@ switch (_operation) do {
242243 _vehicle setDir (getDir _logic );
243244 _vehicle lock true ;
244245 [_vehicle , _group ] call BIS_fnc_spawnCrew ;
246+ _vehicles pushBack _vehicle ;
245247 };
246248
247249 _group setVariable [" logic" , _logic ];
248250 _logic setVariable [" group" , _group ];
249251
252+ // Set available rounds
253+ private _rounds = [
254+ [" HE" , parseNumber (_artyLogic getVariable [" artillery_he" , " 30" ])],
255+ [" ILLUM" , parseNumber (_artyLogic getVariable [" artillery_illum" , " 30" ])],
256+ [" SMOKE" , parseNumber (_artyLogic getVariable [" artillery_smoke" , " 30" ])],
257+ [" SADARM" , parseNumber (_artyLogic getVariable [" artillery_guided" , " 30" ])],
258+ [" CLUSTER" , parseNumber (_artyLogic getVariable [" artillery_cluster" , " 30" ])],
259+ [" LASER" , parseNumber (_artyLogic getVariable [" artillery_lg" , " 30" ])],
260+ [" MINE" , parseNumber (_artyLogic getVariable [" artillery_mine" , " 30" ])],
261+ [" AT MINE" , parseNumber (_artyLogic getVariable [" artillery_atmine" , " 30" ])],
262+ [" ROCKETS" , parseNumber (_artyLogic getVariable [" artillery_rockets" , " 16" ])]
263+ ];
264+
265+ private _roundsAvailable = [];
266+ private _roundsUnit = (typeOf (_vehicles select 0 )) call ALIVE_fnc_getArtyRounds ;
267+
268+ {
269+ if ((_x select 0 ) in _roundsUnit ) then {
270+ _roundsAvailable pushBack _x ;
271+ };
272+ } forEach _rounds ;
273+
274+ // Assign artillery group to the NEO_radio scripts
275+ leader _group setVariable [" NEO_radioArtyBatteryRounds" , _roundsAvailable , true ];
276+ private _a = NEO_radioLogic getVariable format [" NEO_radioArtyArray_%1" , _side ];
277+ _a set [count _a , [leader _group , _group , _callsign , _vehicles , _roundsAvailable ]];
278+ NEO_radioLogic setVariable [format [" NEO_radioArtyArray_%1" , _side ], _a , true ];
279+
280+ // Start state machine if it hasn't already
250281 if (isNil " ALIVE_sup_artillery_stateMachine" ) then {
251282 ALIVE_sup_artillery_stateMachine_list = [];
252283 ALIVE_sup_artillery_stateMachine = [
253284 configFile >> " ArtilleryStateMachine"
254285 ] call CBA_statemachine_fnc_createFromConfig ;
255286 };
256287
288+ // Add artillery group to state machine
257289 ALIVE_sup_artillery_stateMachine_list pushBack _logic ;
258290
259291 _result = _group ;
0 commit comments