change root level folder name to framework, update resupply+vehicleflags
tested locally
This commit is contained in:
81
framework/ambience/fn_flakInitVehicle.sqf
Normal file
81
framework/ambience/fn_flakInitVehicle.sqf
Normal file
@@ -0,0 +1,81 @@
|
||||
params [
|
||||
["_unit", objNull, [objNull]],
|
||||
["_maximumDistance", 2000, [0]],
|
||||
["_minimumAltitude", 0, [0]],
|
||||
["_flakRoundsEvery", 2, [0]],
|
||||
["_speedDispersion", 20, [0]],
|
||||
["_distanceDispersion", 30, [0]],
|
||||
["_removeMissiles", true, [true]]
|
||||
];
|
||||
|
||||
diag_log text "[MILSIM] (ambience) initializing flak v18";
|
||||
|
||||
_primaryTurret = objNull;
|
||||
|
||||
if (_removeMissiles) then {
|
||||
|
||||
diag_log text "[MILSIM] (ambience) removing missiles";
|
||||
|
||||
_magazines = magazinesAllTurrets _unit;
|
||||
|
||||
{
|
||||
_magazine = _x select 0;
|
||||
diag_log text format["[MILSIM] (ambience) checking: %1", _magazine];
|
||||
|
||||
_ammo = gettext( configfile >> "CfgMagazines" >> _magazine >> "ammo");
|
||||
diag_log text format["[MILSIM] (ambience) ammo: %1", _ammo];
|
||||
|
||||
_type = gettext(configFile >> "CfgAmmo" >> _ammo >> "simulation");
|
||||
diag_log text format["[MILSIM] (ambience) ammo type: %1", _type];
|
||||
|
||||
if (_type == "shotMissile") then {
|
||||
_unit removeMagazinesTurret [_magazine, [0]];
|
||||
diag_log text format["[MILSIM] (ambience) removing ammo: %1", _ammo];
|
||||
};
|
||||
|
||||
if ((_type == "shotBullet") && (_primaryTurret isEqualTo objNull)) then {
|
||||
_primaryTurret = _forEachIndex;
|
||||
diag_log text format["[MILSIM] (ambience) found primary turret: %1", _unit weaponsTurret [0] select _primaryTurret];
|
||||
};
|
||||
|
||||
} foreach _magazines;
|
||||
|
||||
};
|
||||
|
||||
_weapon = _unit weaponsTurret [0] select _primaryTurret;
|
||||
|
||||
_fullAmmoCount = _unit ammo _weapon;
|
||||
|
||||
|
||||
_unit setVariable["feh_maximumDistance", _maximumDistance];
|
||||
_unit setVariable["feh_minimumAltitude", _minimumAltitude];
|
||||
_unit setVariable["feh_primaryTurret", _primaryTurret];
|
||||
_unit setVariable["feh_fullAmmoCount", _fullAmmoCount];
|
||||
_unit setVariable["feh_flakRoundsEvery", _flakRoundsEvery];
|
||||
_unit setVariable["feh_speedDispersion", _speedDispersion];
|
||||
_unit setVariable["feh_distanceDispersion", _distanceDispersion];
|
||||
|
||||
diag_log text format [
|
||||
"[MILSIM] (ambience) {[_this, maximumDistance: %1, minimumAltitude: %2, primaryTurret: %3, fullAmmoCount: %4, flakRoundsEvery: %5, speedDispersion: %6, distanceDispersion: %7] call milsim_fnc_flakEH;}",
|
||||
_maximumDistance,
|
||||
_minimumAltitude,
|
||||
_primaryTurret,
|
||||
_fullAmmoCount,
|
||||
_flakRoundsEvery,
|
||||
_speedDispersion,
|
||||
_distanceDispersion
|
||||
];
|
||||
|
||||
|
||||
_unit addEventHandler ["Fired",
|
||||
format[
|
||||
"[_this, %1, %2, %3, %4, %5, %6, %7] call milsim_fnc_flakEH",
|
||||
_maximumDistance,
|
||||
_minimumAltitude,
|
||||
_primaryTurret,
|
||||
_fullAmmoCount,
|
||||
_flakRoundsEvery,
|
||||
_speedDispersion,
|
||||
_distanceDispersion
|
||||
]
|
||||
];
|
||||
Reference in New Issue
Block a user