mirror of
https://github.com/acemod/ACE3.git
synced 2024-08-30 18:23:18 +00:00
Implemented a proper magazine lookup routine
This commit is contained in:
parent
38dca2bb9e
commit
b6a710d282
@ -12,7 +12,7 @@ class CfgSounds {
|
|||||||
titles[] = {};
|
titles[] = {};
|
||||||
};
|
};
|
||||||
class ACE_Combat_Deafness {
|
class ACE_Combat_Deafness {
|
||||||
sound[] = {QUOTE(PATHTOF(sounds\deafness.ogg)),2,1};
|
sound[] = {QUOTE(PATHTOF(sounds\deafness.ogg)),3,1};
|
||||||
titles[] = {};
|
titles[] = {};
|
||||||
};
|
};
|
||||||
class ACE_Ring_Backblast {
|
class ACE_Ring_Backblast {
|
||||||
|
@ -21,7 +21,7 @@
|
|||||||
*/
|
*/
|
||||||
#include "script_component.hpp"
|
#include "script_component.hpp"
|
||||||
|
|
||||||
private ["_silencer", "_audibleFireCoef", "_loudness", "_strength", "_vehAttenuation", "_magazine", "_initSpeed", "_ammoConfig", "_caliber", "_parentClasses"];
|
private ["_silencer", "_audibleFireCoef", "_loudness", "_strength", "_vehAttenuation", "_magazine", "_muzzles", "_weaponMagazines", "_ammoType", "_initSpeed", "_ammoConfig", "_caliber", "_parentClasses"];
|
||||||
|
|
||||||
PARAMS_7(_object,_firer,_distance,_weapon,_muzzle,_mode,_ammo);
|
PARAMS_7(_object,_firer,_distance,_weapon,_muzzle,_mode,_ammo);
|
||||||
|
|
||||||
@ -47,7 +47,24 @@ if (_silencer != "") then {
|
|||||||
_audibleFireCoef = getNumber (configFile >> "CfgWeapons" >> _silencer >> "ItemInfo" >> "AmmoCoef" >> "audibleFire");
|
_audibleFireCoef = getNumber (configFile >> "CfgWeapons" >> _silencer >> "ItemInfo" >> "AmmoCoef" >> "audibleFire");
|
||||||
};
|
};
|
||||||
|
|
||||||
_magazine = (getArray(configFile >> "CfgWeapons" >> _weapon >> "magazines")) select 0;
|
_magazine = "";
|
||||||
|
_muzzles = getArray (configFile >> "CfgWeapons" >> _weapon >> "muzzles");
|
||||||
|
_weaponMagazines = getArray (configFile >> "CfgWeapons" >> _weapon >> "magazines");
|
||||||
|
{
|
||||||
|
if (_x != "this") then {
|
||||||
|
_muzzleMagazines = getArray (configFile >> "CfgWeapons" >> _weapon >> _x >> "magazines");
|
||||||
|
_weaponMagazines append _muzzleMagazines;
|
||||||
|
};
|
||||||
|
} forEach _muzzles;
|
||||||
|
{
|
||||||
|
_ammoType = getText(configFile >> "CfgMagazines" >> _x >> "ammo");
|
||||||
|
if (_ammoType == _ammo) exitWith {
|
||||||
|
_magazine = _x;
|
||||||
|
};
|
||||||
|
} forEach _weaponMagazines;
|
||||||
|
|
||||||
|
if (_magazine == "") exitWith {};
|
||||||
|
|
||||||
_initSpeed = getNumber(configFile >> "CfgMagazines" >> _magazine >> "initSpeed");
|
_initSpeed = getNumber(configFile >> "CfgMagazines" >> _magazine >> "initSpeed");
|
||||||
_ammoConfig = (configFile >> "CfgAmmo" >> _ammo);
|
_ammoConfig = (configFile >> "CfgAmmo" >> _ammo);
|
||||||
_parentClasses = [_ammoConfig, true] call BIS_fnc_returnParents;
|
_parentClasses = [_ammoConfig, true] call BIS_fnc_returnParents;
|
||||||
@ -65,6 +82,7 @@ _loudness = (_caliber ^ 1.25 / 10) * (_initspeed / 1000) * _audibleFireCoef / 5;
|
|||||||
_strength = _vehAttenuation * (_loudness - (_loudness / 50 * _distance)); // linear drop off
|
_strength = _vehAttenuation * (_loudness - (_loudness / 50 * _distance)); // linear drop off
|
||||||
|
|
||||||
//systemChat format["%1 : %2 : %3", _strength, _initSpeed, _parentClasses];
|
//systemChat format["%1 : %2 : %3", _strength, _initSpeed, _parentClasses];
|
||||||
|
//systemChat format["%1 : %2 : %3", _weapon, _magazine, _initSpeed];
|
||||||
|
|
||||||
if (_strength < 0.01) exitWith {};
|
if (_strength < 0.01) exitWith {};
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user