Skip to content

Commit db0b266

Browse files
committed
Move bits from fnc_combatSupport to fnc_artillery
1 parent 0c0725d commit db0b266

File tree

2 files changed

+34
-38
lines changed

2 files changed

+34
-38
lines changed

addons/sup_artillery/fnc_artillery.sqf

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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;

addons/sup_combatsupport/fnc_combatSupport.sqf

Lines changed: 2 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -673,48 +673,12 @@ switch(_operation) do {
673673
NEO_radioLogic setVariable [format ["NEO_radioArtyArray_%1", _side], _a, true];
674674

675675
//} forEach SUP_ARTYARRAYS;
676-
} forEach [];
676+
} forEach []; // TODO: Delete entire block once arty fixes are done :-)
677677

678-
// TODO: Move most of the code below to ALIVE_fnc_artillery
679678
for "_i" from 0 to ((count synchronizedObjects _logic)-1) do {
680679
if (typeOf ((synchronizedObjects _logic) select _i) == "ALiVE_sup_artillery") then {
681680
private _artyLogic = (synchronizedObjects _logic) select _i;
682-
private _group = [_artyLogic, "spawn"] call ALIVE_fnc_artillery;
683-
private _vehicles = [];
684-
685-
{
686-
if (vehicle _x != _x && {!(vehicle _x in _vehicles)}) then {
687-
_vehicles pushBack (vehicle _x);
688-
};
689-
} forEach (units _group);
690-
691-
private _callsign = _artyLogic getVariable ["artillery_callsign","FOX ONE"];
692-
693-
private _rounds = [
694-
["HE", parseNumber (_artyLogic getVariable ["artillery_he", "30"])],
695-
["ILLUM", parseNumber (_artyLogic getVariable ["artillery_illum", "30"])],
696-
["SMOKE", parseNumber (_artyLogic getVariable ["artillery_smoke", "30"])],
697-
["SADARM", parseNumber (_artyLogic getVariable ["artillery_guided", "30"])],
698-
["CLUSTER", parseNumber (_artyLogic getVariable ["artillery_cluster", "30"])],
699-
["LASER", parseNumber (_artyLogic getVariable ["artillery_lg", "30"])],
700-
["MINE", parseNumber (_artyLogic getVariable ["artillery_mine", "30"])],
701-
["AT MINE", parseNumber (_artyLogic getVariable ["artillery_atmine", "30"])],
702-
["ROCKETS", parseNumber (_artyLogic getVariable ["artillery_rockets", "16"])]
703-
];
704-
705-
private _roundsAvailable = [];
706-
private _roundsUnit = (typeOf (_vehicles select 0)) call ALIVE_fnc_getArtyRounds;
707-
708-
{
709-
if ((_x select 0) in _roundsUnit) then {
710-
_roundsAvailable pushBack _x;
711-
};
712-
} forEach _rounds;
713-
714-
leader _group setVariable ["NEO_radioArtyBatteryRounds", _roundsAvailable, true];
715-
private _a = NEO_radioLogic getVariable format ["NEO_radioArtyArray_%1", side _group];
716-
_a set [count _a, [leader _group, _group, _callsign, _vehicles, _roundsAvailable]];
717-
NEO_radioLogic setVariable [format ["NEO_radioArtyArray_%1", side _group], _a, true];
681+
[_artyLogic, "spawn"] call ALIVE_fnc_artillery;
718682
};
719683
};
720684

0 commit comments

Comments
 (0)