From 3ad668605a503dbd7db4eea1e9e371eed0f5f671 Mon Sep 17 00:00:00 2001 From: ulteq Date: Fri, 1 May 2015 16:02:34 +0200 Subject: [PATCH 001/217] Fix for last fcs change --- addons/fcs/functions/fnc_keyUp.sqf | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/addons/fcs/functions/fnc_keyUp.sqf b/addons/fcs/functions/fnc_keyUp.sqf index 433053178b..4dd6f6c7d6 100644 --- a/addons/fcs/functions/fnc_keyUp.sqf +++ b/addons/fcs/functions/fnc_keyUp.sqf @@ -82,6 +82,11 @@ if (time - GVAR(time) > 1 and GVAR(time) != -1 and count _this < 3) then { _timeToLive = getNumber (configFile >> "CfgAmmo" >> _ammoType >> "timeToLive"); _simulationStep = getNumber (configFile >> "CfgAmmo" >> _ammoType >> "simulationStep"); + _initSpeedCoef = getNumber(configFile >> "CfgWeapons" >> (_vehicle currentWeaponTurret _turret) >> "initSpeed"); + if (_initSpeedCoef < 0) then { + _initSpeed = _initSpeed * -_initSpeedCoef; + }; + if (_simulationStep != 0) then { private ["_posX", "_velocityX", "_velocityY", "_timeToTarget"]; @@ -148,7 +153,12 @@ _FCSElevation = []; _maxElev = getNumber (_turretConfig >> "maxElev"); _initSpeed = getNumber (configFile >> "CfgMagazines" >> _x >> "initSpeed"); _airFriction = getNumber (configFile >> "CfgAmmo" >> _ammoType >> "airFriction"); - + + _initSpeedCoef = getNumber(configFile >> "CfgWeapons" >> (_vehicle currentWeaponTurret _turret) >> "initSpeed"); + if (_initSpeedCoef < 0) then { + _initSpeed = _initSpeed * -_initSpeedCoef; + }; + _offset = "ace_fcs" callExtension format ["%1,%2,%3,%4", _initSpeed, _airFriction, _angleTarget, _distance]; _offset = parseNumber _offset; From 800ccc07f39ff9ce00cc580194eed73e3b5133ef Mon Sep 17 00:00:00 2001 From: ulteq Date: Fri, 1 May 2015 16:24:16 +0200 Subject: [PATCH 002/217] Removed duplicate code --- addons/fcs/functions/fnc_keyUp.sqf | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/addons/fcs/functions/fnc_keyUp.sqf b/addons/fcs/functions/fnc_keyUp.sqf index 4dd6f6c7d6..44eb4e2e5f 100644 --- a/addons/fcs/functions/fnc_keyUp.sqf +++ b/addons/fcs/functions/fnc_keyUp.sqf @@ -31,9 +31,9 @@ if (_distance == 0) then { ] call EFUNC(common,getTargetDistance); // maximum distance: 5000m, 5m precision }; -private ["_weaponDirection", "_angleTarget"]; - -_weaponDirection = _vehicle weaponDirection (_vehicle currentWeaponTurret _turret); // @todo doesn't work for sub turrets +private ["_weapon", "_weaponDirection", "_angleTarget"]; +_weapon = _vehicle currentWeaponTurret _turret; +_weaponDirection = _vehicle weaponDirection _weapon; // @todo doesn't work for sub turrets if (_turret isEqualTo ([_vehicle] call EFUNC(common,getTurretCommander))) then { _weaponDirection = eyeDirection _vehicle; @@ -82,7 +82,7 @@ if (time - GVAR(time) > 1 and GVAR(time) != -1 and count _this < 3) then { _timeToLive = getNumber (configFile >> "CfgAmmo" >> _ammoType >> "timeToLive"); _simulationStep = getNumber (configFile >> "CfgAmmo" >> _ammoType >> "simulationStep"); - _initSpeedCoef = getNumber(configFile >> "CfgWeapons" >> (_vehicle currentWeaponTurret _turret) >> "initSpeed"); + _initSpeedCoef = getNumber(configFile >> "CfgWeapons" >> _weapon >> "initSpeed"); if (_initSpeedCoef < 0) then { _initSpeed = _initSpeed * -_initSpeedCoef; }; @@ -154,7 +154,7 @@ _FCSElevation = []; _initSpeed = getNumber (configFile >> "CfgMagazines" >> _x >> "initSpeed"); _airFriction = getNumber (configFile >> "CfgAmmo" >> _ammoType >> "airFriction"); - _initSpeedCoef = getNumber(configFile >> "CfgWeapons" >> (_vehicle currentWeaponTurret _turret) >> "initSpeed"); + _initSpeedCoef = getNumber(configFile >> "CfgWeapons" >> _weapon >> "initSpeed"); if (_initSpeedCoef < 0) then { _initSpeed = _initSpeed * -_initSpeedCoef; }; From 6dc28f026f620ec503e6358317d97a7aa0facdda Mon Sep 17 00:00:00 2001 From: ulteq Date: Fri, 1 May 2015 17:15:49 +0200 Subject: [PATCH 003/217] Added missing private --- addons/fcs/functions/fnc_firedEH.sqf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/fcs/functions/fnc_firedEH.sqf b/addons/fcs/functions/fnc_firedEH.sqf index e8f58298d3..43f6d25ef9 100644 --- a/addons/fcs/functions/fnc_firedEH.sqf +++ b/addons/fcs/functions/fnc_firedEH.sqf @@ -12,7 +12,7 @@ #include "script_component.hpp" -private ["_vehicle", "_weapon", "_ammo", "_magazine", "_projectile","_velocityCorrection"]; +private ["_vehicle", "_weapon", "_ammo", "_magazine", "_projectile", "_velocityCorrection", "_sumVelocity"]; _vehicle = _this select 0; _weapon = _this select 1; From 5dcb45bd33fbf44b4e5608bc7874ac2c53345fdf Mon Sep 17 00:00:00 2001 From: ulteq Date: Fri, 1 May 2015 17:39:38 +0200 Subject: [PATCH 004/217] Finds the corresponding weapon class for each magazine type. --- addons/fcs/functions/fnc_keyUp.sqf | 37 +++++++++++++++++++++--------- 1 file changed, 26 insertions(+), 11 deletions(-) diff --git a/addons/fcs/functions/fnc_keyUp.sqf b/addons/fcs/functions/fnc_keyUp.sqf index 44eb4e2e5f..afd2143970 100644 --- a/addons/fcs/functions/fnc_keyUp.sqf +++ b/addons/fcs/functions/fnc_keyUp.sqf @@ -12,7 +12,7 @@ #include "script_component.hpp" -private ["_vehicle", "_turret", "_turretConfig", "_distance", "_magazines", "_showHint", "_playSound"]; +private ["_vehicle", "_turret", "_turretConfig", "_distance", "_weapons", "_magazines", "_showHint", "_playSound"]; _vehicle = _this select 0; _turret = _this select 1; @@ -21,6 +21,7 @@ _turretConfig = [configFile >> "CfgVehicles" >> typeOf _vehicle, _turret] call E _distance = call FUNC(getRange); +_weapons = _vehicle weaponsTurret _turret; _magazines = _vehicle magazinesTurret _turret; if (_distance == 0) then { @@ -72,7 +73,7 @@ if (time - GVAR(time) > 1 and GVAR(time) != -1 and count _this < 3) then { ((_posTarget select 2) - (GVAR(position) select 2)) / (time - GVAR(time)) ]; - private ["_magazineType", "_ammoType", "_initSpeed", "_airFriction", "_timeToLive", "_simulationStep"]; + private ["_magazineType", "_ammoType", "_initSpeed", "_airFriction", "_timeToLive", "_simulationStep", "_initSpeedCoef"]; // estimate time to target _magazineType = _vehicle currentMagazineTurret _turret; @@ -143,26 +144,40 @@ _FCSMagazines = []; _FCSElevation = []; { - private "_ammoType"; - - _ammoType = getText (configFile >> "CfgMagazines" >> _x >> "ammo"); + private ["_magazine", "_ammoType"]; + _magazine = _x; + _ammoType = getText (configFile >> "CfgMagazines" >> _magazine >> "ammo"); if !(getText (configFile >> "CfgAmmo" >> _ammoType >> "simulation") == "shotMissile") then { private ["_maxElev", "_initSpeed", "_airFriction", "_offset"]; _maxElev = getNumber (_turretConfig >> "maxElev"); - _initSpeed = getNumber (configFile >> "CfgMagazines" >> _x >> "initSpeed"); + _initSpeed = getNumber (configFile >> "CfgMagazines" >> _magazine >> "initSpeed"); _airFriction = getNumber (configFile >> "CfgAmmo" >> _ammoType >> "airFriction"); - _initSpeedCoef = getNumber(configFile >> "CfgWeapons" >> _weapon >> "initSpeed"); - if (_initSpeedCoef < 0) then { - _initSpeed = _initSpeed * -_initSpeedCoef; - }; + { + private ["_weapon", "_muzzles", "_weaponMagazines", "_muzzleMagazines"]; + _weapon = _x; + _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; + if (_magazine in _weaponMagazines) exitWith { + _initSpeedCoef = getNumber(configFile >> "CfgWeapons" >> _weapon >> "initSpeed"); + if (_initSpeedCoef < 0) then { + _initSpeed = _initSpeed * -_initSpeedCoef; + }; + }; + } forEach _weapons; _offset = "ace_fcs" callExtension format ["%1,%2,%3,%4", _initSpeed, _airFriction, _angleTarget, _distance]; _offset = parseNumber _offset; - _FCSMagazines = _FCSMagazines + [_x]; + _FCSMagazines = _FCSMagazines + [_magazine]; _FCSElevation = _FCSElevation + [_offset]; }; } forEach _magazines; From a42dec676009153a8c5237ba5fb62f7559b32271 Mon Sep 17 00:00:00 2001 From: ulteq Date: Fri, 1 May 2015 17:40:30 +0200 Subject: [PATCH 005/217] Added more missing privates --- addons/fcs/functions/fnc_keyUp.sqf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/fcs/functions/fnc_keyUp.sqf b/addons/fcs/functions/fnc_keyUp.sqf index afd2143970..1bebd6c919 100644 --- a/addons/fcs/functions/fnc_keyUp.sqf +++ b/addons/fcs/functions/fnc_keyUp.sqf @@ -56,7 +56,7 @@ if (!(isNil QGVAR(backgroundCalculation)) and {!(scriptDone GVAR(backgroundCalcu terminate GVAR(backgroundCalculation); }; -private "_movingAzimuth"; +private ["_movingAzimuth", "_posTarget", "_velocityTarget"]; // MOVING TARGETS _movingAzimuth = 0; @@ -73,7 +73,7 @@ if (time - GVAR(time) > 1 and GVAR(time) != -1 and count _this < 3) then { ((_posTarget select 2) - (GVAR(position) select 2)) / (time - GVAR(time)) ]; - private ["_magazineType", "_ammoType", "_initSpeed", "_airFriction", "_timeToLive", "_simulationStep", "_initSpeedCoef"]; + private ["_magazineType", "_ammoType", "_initSpeed", "_airFriction", "_timeToLive", "_simulationStep", "_initSpeedCoef", "_velocityMagnitude"]; // estimate time to target _magazineType = _vehicle currentMagazineTurret _turret; From aa21962f8b58e2cf268fc7423e4b10688adf2382 Mon Sep 17 00:00:00 2001 From: ulteq Date: Fri, 1 May 2015 18:55:44 +0200 Subject: [PATCH 006/217] Allowed positive weapon initSpeed values --- addons/fcs/functions/fnc_firedEH.sqf | 10 ++-------- addons/fcs/functions/fnc_keyUp.sqf | 6 ++++++ 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/addons/fcs/functions/fnc_firedEH.sqf b/addons/fcs/functions/fnc_firedEH.sqf index 43f6d25ef9..31fe38335d 100644 --- a/addons/fcs/functions/fnc_firedEH.sqf +++ b/addons/fcs/functions/fnc_firedEH.sqf @@ -12,7 +12,7 @@ #include "script_component.hpp" -private ["_vehicle", "_weapon", "_ammo", "_magazine", "_projectile", "_velocityCorrection", "_sumVelocity"]; +private ["_vehicle", "_weapon", "_ammo", "_magazine", "_projectile", "_sumVelocity"]; _vehicle = _this select 0; _weapon = _this select 1; @@ -43,14 +43,8 @@ _offset = 0; }; } forEach _FCSMagazines; -// Correct velocity for weapons that have initVelocity -_velocityCorrection = if (getNumber(configFile >> "CfgWeapons" >> _weapon >> "initSpeed") > 0) then { - (vectorMagnitude velocity _projectile) - getNumber(configFile >> "CfgMagazines" >> _magazine >> "initSpeed") -} else { - 0 -}; -[_projectile, (_vehicle getVariable format ["%1_%2", QGVAR(Azimuth), _turret]), _offset, -_velocityCorrection] call EFUNC(common,changeProjectileDirection); +[_projectile, (_vehicle getVariable format ["%1_%2", QGVAR(Azimuth), _turret]), _offset, 0] call EFUNC(common,changeProjectileDirection); // Remove the platform velocity if( (vectorMagnitude velocity _vehicle) > 2) then { diff --git a/addons/fcs/functions/fnc_keyUp.sqf b/addons/fcs/functions/fnc_keyUp.sqf index 1bebd6c919..a7bf8defe5 100644 --- a/addons/fcs/functions/fnc_keyUp.sqf +++ b/addons/fcs/functions/fnc_keyUp.sqf @@ -87,6 +87,9 @@ if (time - GVAR(time) > 1 and GVAR(time) != -1 and count _this < 3) then { if (_initSpeedCoef < 0) then { _initSpeed = _initSpeed * -_initSpeedCoef; }; + if (_initSpeedCoef > 0) then { + _initSpeed = _initSpeedCoef; + }; if (_simulationStep != 0) then { private ["_posX", "_velocityX", "_velocityY", "_timeToTarget"]; @@ -171,6 +174,9 @@ _FCSElevation = []; if (_initSpeedCoef < 0) then { _initSpeed = _initSpeed * -_initSpeedCoef; }; + if (_initSpeedCoef > 0) then { + _initSpeed = _initSpeedCoef; + }; }; } forEach _weapons; From 8b53d5de332d33e05149c96af459bee91e6692cc Mon Sep 17 00:00:00 2001 From: esteldunedain Date: Sat, 2 May 2015 01:18:42 -0300 Subject: [PATCH 007/217] Replace dialog by display --- addons/interact_menu/CursorMenus.hpp | 45 ++----------------- addons/interact_menu/XEH_preInit.sqf | 15 +++++++ .../interact_menu/functions/fnc_keyDown.sqf | 35 ++++++++------- addons/interact_menu/functions/fnc_keyUp.sqf | 2 +- .../functions/fnc_renderIcon.sqf | 4 ++ .../functions/fnc_renderSelector.sqf | 4 ++ 6 files changed, 46 insertions(+), 59 deletions(-) diff --git a/addons/interact_menu/CursorMenus.hpp b/addons/interact_menu/CursorMenus.hpp index d13813b92e..16ced412ec 100644 --- a/addons/interact_menu/CursorMenus.hpp +++ b/addons/interact_menu/CursorMenus.hpp @@ -1,47 +1,8 @@ class GVAR(cursorMenu) { idd = 91919; - movingEnable = false; + access = 0; + movingEnable = 0; + enableSimulation = 1; onLoad = QUOTE(uiNamespace setVariable [ARR_2(QUOTE(QGVAR(dlgCursorMenu)),_this select 0)]; uiNamespace setVariable [ARR_2(QUOTE(QGVAR(cursorMenuOpened)),true)]); onUnload = QUOTE(uiNamespace setVariable [ARR_2(QUOTE(QGVAR(cursorMenuOpened)),false)]); - objects[] = {}; - /*class controlsBackground { - class Background { - idc = 91920; - moving = 0; - font = "TahomaB"; - text = ""; - sizeEx = 0; - lineSpacing = 0; - access = 0; - type = 0; - style = 0; - size = 1; - colorBackground[] = {0, 0, 0, 0.5}; - colorText[] = {0, 0, 0, 0}; - x = "safezoneX"; - y = "safezoneY"; - w = "safezoneW"; - h = "safezoneH"; - }; - };*/ - class controls { - class Canvas { - idc = 91921; - moving = 0; - font = "TahomaB"; - text = ""; - sizeEx = 0; - lineSpacing = 0; - access = 0; - type = 0; - style = 0; - size = 1; - colorBackground[] = {0, 0, 0, 0}; - colorText[] = {0, 0, 0, 0}; - x = "safezoneX"; - y = "safezoneY"; - w = "safezoneW"; - h = "safezoneH"; - }; - }; }; diff --git a/addons/interact_menu/XEH_preInit.sqf b/addons/interact_menu/XEH_preInit.sqf index 7e86646b79..3d67dab6a9 100644 --- a/addons/interact_menu/XEH_preInit.sqf +++ b/addons/interact_menu/XEH_preInit.sqf @@ -25,6 +25,21 @@ PREP(renderSelector); PREP(setupTextColors); PREP(splitPath); +// Event handlers for all interact menu controls +DFUNC(handleMouseMovement) = { + if (GVAR(cursorKeepCentered)) then { + GVAR(cursorPos) = GVAR(cursorPos) vectorAdd [_this select 1, _this select 2, 0] vectorDiff [0.5, 0.5, 0]; + setMousePosition [0.5, 0.5]; + } else { + GVAR(cursorPos) = [_this select 1, _this select 2, 0]; + }; +}; +DFUNC(handleMouseButtonDown) = { + if !(GVAR(actionOnKeyRelease)) then { + [GVAR(openedMenuType),true] call FUNC(keyUp); + }; +}; + GVAR(keyDown) = false; GVAR(keyDownSelfAction) = false; GVAR(keyDownTime) = 0; diff --git a/addons/interact_menu/functions/fnc_keyDown.sqf b/addons/interact_menu/functions/fnc_keyDown.sqf index d4e460c10f..5976b99223 100644 --- a/addons/interact_menu/functions/fnc_keyDown.sqf +++ b/addons/interact_menu/functions/fnc_keyDown.sqf @@ -37,27 +37,30 @@ GVAR(useCursorMenu) = (vehicle ACE_player != ACE_player) || {(_menuType == 1) && {(isWeaponDeployed ACE_player) || GVAR(AlwaysUseCursorSelfInteraction) || {cameraView == "GUNNER"}}} || {(_menuType == 0) && GVAR(AlwaysUseCursorInteraction)}; +// Delete existing controls in case there's any left +GVAR(iconCount) = 0; +for "_i" from 0 to (count GVAR(iconCtrls))-1 do { + ctrlDelete (GVAR(iconCtrls) select _i); + GVAR(ParsedTextCached) set [_i, ""]; +}; +GVAR(iconCtrls) resize GVAR(iconCount); + if (GVAR(useCursorMenu)) then { - createDialog QGVAR(cursorMenu); + (findDisplay 46) createDisplay QGVAR(cursorMenu); //"RscCinemaBorder";// + (finddisplay 91919) displayAddEventHandler ["KeyUp", {[_this,'keyup'] call CBA_events_fnc_keyHandler}]; + (finddisplay 91919) displayAddEventHandler ["KeyDown", {[_this,'keydown'] call CBA_events_fnc_keyHandler}]; // The dialog sets: // uiNamespace getVariable QGVAR(dlgCursorMenu); // uiNamespace getVariable QGVAR(cursorMenuOpened); - ctrlEnable [91921, true]; GVAR(cursorPos) = [0.5,0.5,0]; - ((finddisplay 91919) displayctrl 91921) ctrlAddEventHandler ["MouseMoving", { - if (GVAR(cursorKeepCentered)) then { - GVAR(cursorPos) = GVAR(cursorPos) vectorAdd [_this select 1, _this select 2, 0] vectorDiff [0.5, 0.5, 0]; - setMousePosition [0.5, 0.5]; - } else { - GVAR(cursorPos) = [_this select 1, _this select 2, 0]; - }; - }]; - // handles LMB in cursor mode when action on keyrelease is disabled - ((finddisplay 91919) displayctrl 91921) ctrlAddEventHandler ["MouseButtonDown", { - if !(GVAR(actionOnKeyRelease)) then { - [GVAR(openedMenuType),true] call FUNC(keyUp); - }; - }]; + + _ctrl = (findDisplay 91919) ctrlCreate ["RscStructuredText", 9922]; + _ctrl ctrlSetPosition [safeZoneX, safeZoneY, safeZoneW, safeZoneH]; + _ctrl ctrlCommit 0; + + // handles Mouse moving and LMB in cursor mode when action on keyrelease is disabled + ((finddisplay 91919) displayctrl 9922) ctrlAddEventHandler ["MouseMoving", DFUNC(handleMouseMovement)]; + ((finddisplay 91919) displayctrl 9922) ctrlAddEventHandler ["MouseButtonDown", DFUNC(handleMouseButtonDown)]; setMousePosition [0.5, 0.5]; }; diff --git a/addons/interact_menu/functions/fnc_keyUp.sqf b/addons/interact_menu/functions/fnc_keyUp.sqf index 7b24497802..6f1d00276f 100644 --- a/addons/interact_menu/functions/fnc_keyUp.sqf +++ b/addons/interact_menu/functions/fnc_keyUp.sqf @@ -19,7 +19,7 @@ _calledByClicking = _this select 1; if (GVAR(openedMenuType) < 0) exitWith {true}; if (uiNamespace getVariable [QGVAR(cursorMenuOpened),false]) then { - closeDialog 0; + (findDisplay 91919) closeDisplay 2; }; if(GVAR(actionSelected)) then { diff --git a/addons/interact_menu/functions/fnc_renderIcon.sqf b/addons/interact_menu/functions/fnc_renderIcon.sqf index 180b5a3c36..44a280a52e 100644 --- a/addons/interact_menu/functions/fnc_renderIcon.sqf +++ b/addons/interact_menu/functions/fnc_renderIcon.sqf @@ -23,6 +23,10 @@ PARAMS_4(_text,_icon,_sPos,_textSettings); if(GVAR(iconCount) > (count GVAR(iconCtrls))-1) then { _displayNum = [[46, 12] select visibleMap,91919] select (uiNamespace getVariable [QGVAR(cursorMenuOpened),false]); GVAR(iconCtrls) pushBack ((findDisplay _displayNum) ctrlCreate ["RscStructuredText", 54021+GVAR(iconCount)]); + if (GVAR(useCursorMenu)) then { + ((finddisplay _displayNum) displayctrl (54021+GVAR(iconCount))) ctrlAddEventHandler ["MouseMoving", DFUNC(handleMouseMovement)]; + ((finddisplay _displayNum) displayctrl (54021+GVAR(iconCount))) ctrlAddEventHandler ["MouseButtonDown", DFUNC(handleMouseButtonDown)]; + }; }; _ctrl = GVAR(iconCtrls) select GVAR(iconCount); diff --git a/addons/interact_menu/functions/fnc_renderSelector.sqf b/addons/interact_menu/functions/fnc_renderSelector.sqf index 7ac9559297..96a495c715 100644 --- a/addons/interact_menu/functions/fnc_renderSelector.sqf +++ b/addons/interact_menu/functions/fnc_renderSelector.sqf @@ -20,6 +20,10 @@ private ["_displayNum", "_ctrl", "_pos"]; if(GVAR(iconCount) > (count GVAR(iconCtrls))-1) then { _displayNum = [[46, 12] select visibleMap,91919] select (uiNamespace getVariable [QGVAR(cursorMenuOpened),false]); GVAR(iconCtrls) pushBack ((findDisplay _displayNum) ctrlCreate ["RscStructuredText", 54021+GVAR(iconCount)]); + if (GVAR(useCursorMenu)) then { + ((finddisplay _displayNum) displayctrl (54021+GVAR(iconCount))) ctrlAddEventHandler ["MouseMoving", DFUNC(handleMouseMovement)]; + ((finddisplay _displayNum) displayctrl (54021+GVAR(iconCount))) ctrlAddEventHandler ["MouseButtonDown", DFUNC(handleMouseButtonDown)]; + }; }; _ctrl = GVAR(iconCtrls) select GVAR(iconCount); From fae10aa7319258750ba4b972cc4ea43fc1010b57 Mon Sep 17 00:00:00 2001 From: esteldunedain Date: Sat, 2 May 2015 01:33:28 -0300 Subject: [PATCH 008/217] Replace dialog by display. --- addons/interact_menu/CursorMenus.hpp | 45 ++----------------- addons/interact_menu/XEH_preInit.sqf | 15 +++++++ .../interact_menu/functions/fnc_keyDown.sqf | 35 ++++++++------- addons/interact_menu/functions/fnc_keyUp.sqf | 2 +- .../functions/fnc_renderIcon.sqf | 4 ++ .../functions/fnc_renderSelector.sqf | 4 ++ 6 files changed, 46 insertions(+), 59 deletions(-) diff --git a/addons/interact_menu/CursorMenus.hpp b/addons/interact_menu/CursorMenus.hpp index d13813b92e..16ced412ec 100644 --- a/addons/interact_menu/CursorMenus.hpp +++ b/addons/interact_menu/CursorMenus.hpp @@ -1,47 +1,8 @@ class GVAR(cursorMenu) { idd = 91919; - movingEnable = false; + access = 0; + movingEnable = 0; + enableSimulation = 1; onLoad = QUOTE(uiNamespace setVariable [ARR_2(QUOTE(QGVAR(dlgCursorMenu)),_this select 0)]; uiNamespace setVariable [ARR_2(QUOTE(QGVAR(cursorMenuOpened)),true)]); onUnload = QUOTE(uiNamespace setVariable [ARR_2(QUOTE(QGVAR(cursorMenuOpened)),false)]); - objects[] = {}; - /*class controlsBackground { - class Background { - idc = 91920; - moving = 0; - font = "TahomaB"; - text = ""; - sizeEx = 0; - lineSpacing = 0; - access = 0; - type = 0; - style = 0; - size = 1; - colorBackground[] = {0, 0, 0, 0.5}; - colorText[] = {0, 0, 0, 0}; - x = "safezoneX"; - y = "safezoneY"; - w = "safezoneW"; - h = "safezoneH"; - }; - };*/ - class controls { - class Canvas { - idc = 91921; - moving = 0; - font = "TahomaB"; - text = ""; - sizeEx = 0; - lineSpacing = 0; - access = 0; - type = 0; - style = 0; - size = 1; - colorBackground[] = {0, 0, 0, 0}; - colorText[] = {0, 0, 0, 0}; - x = "safezoneX"; - y = "safezoneY"; - w = "safezoneW"; - h = "safezoneH"; - }; - }; }; diff --git a/addons/interact_menu/XEH_preInit.sqf b/addons/interact_menu/XEH_preInit.sqf index 7e86646b79..3d67dab6a9 100644 --- a/addons/interact_menu/XEH_preInit.sqf +++ b/addons/interact_menu/XEH_preInit.sqf @@ -25,6 +25,21 @@ PREP(renderSelector); PREP(setupTextColors); PREP(splitPath); +// Event handlers for all interact menu controls +DFUNC(handleMouseMovement) = { + if (GVAR(cursorKeepCentered)) then { + GVAR(cursorPos) = GVAR(cursorPos) vectorAdd [_this select 1, _this select 2, 0] vectorDiff [0.5, 0.5, 0]; + setMousePosition [0.5, 0.5]; + } else { + GVAR(cursorPos) = [_this select 1, _this select 2, 0]; + }; +}; +DFUNC(handleMouseButtonDown) = { + if !(GVAR(actionOnKeyRelease)) then { + [GVAR(openedMenuType),true] call FUNC(keyUp); + }; +}; + GVAR(keyDown) = false; GVAR(keyDownSelfAction) = false; GVAR(keyDownTime) = 0; diff --git a/addons/interact_menu/functions/fnc_keyDown.sqf b/addons/interact_menu/functions/fnc_keyDown.sqf index d4e460c10f..5976b99223 100644 --- a/addons/interact_menu/functions/fnc_keyDown.sqf +++ b/addons/interact_menu/functions/fnc_keyDown.sqf @@ -37,27 +37,30 @@ GVAR(useCursorMenu) = (vehicle ACE_player != ACE_player) || {(_menuType == 1) && {(isWeaponDeployed ACE_player) || GVAR(AlwaysUseCursorSelfInteraction) || {cameraView == "GUNNER"}}} || {(_menuType == 0) && GVAR(AlwaysUseCursorInteraction)}; +// Delete existing controls in case there's any left +GVAR(iconCount) = 0; +for "_i" from 0 to (count GVAR(iconCtrls))-1 do { + ctrlDelete (GVAR(iconCtrls) select _i); + GVAR(ParsedTextCached) set [_i, ""]; +}; +GVAR(iconCtrls) resize GVAR(iconCount); + if (GVAR(useCursorMenu)) then { - createDialog QGVAR(cursorMenu); + (findDisplay 46) createDisplay QGVAR(cursorMenu); //"RscCinemaBorder";// + (finddisplay 91919) displayAddEventHandler ["KeyUp", {[_this,'keyup'] call CBA_events_fnc_keyHandler}]; + (finddisplay 91919) displayAddEventHandler ["KeyDown", {[_this,'keydown'] call CBA_events_fnc_keyHandler}]; // The dialog sets: // uiNamespace getVariable QGVAR(dlgCursorMenu); // uiNamespace getVariable QGVAR(cursorMenuOpened); - ctrlEnable [91921, true]; GVAR(cursorPos) = [0.5,0.5,0]; - ((finddisplay 91919) displayctrl 91921) ctrlAddEventHandler ["MouseMoving", { - if (GVAR(cursorKeepCentered)) then { - GVAR(cursorPos) = GVAR(cursorPos) vectorAdd [_this select 1, _this select 2, 0] vectorDiff [0.5, 0.5, 0]; - setMousePosition [0.5, 0.5]; - } else { - GVAR(cursorPos) = [_this select 1, _this select 2, 0]; - }; - }]; - // handles LMB in cursor mode when action on keyrelease is disabled - ((finddisplay 91919) displayctrl 91921) ctrlAddEventHandler ["MouseButtonDown", { - if !(GVAR(actionOnKeyRelease)) then { - [GVAR(openedMenuType),true] call FUNC(keyUp); - }; - }]; + + _ctrl = (findDisplay 91919) ctrlCreate ["RscStructuredText", 9922]; + _ctrl ctrlSetPosition [safeZoneX, safeZoneY, safeZoneW, safeZoneH]; + _ctrl ctrlCommit 0; + + // handles Mouse moving and LMB in cursor mode when action on keyrelease is disabled + ((finddisplay 91919) displayctrl 9922) ctrlAddEventHandler ["MouseMoving", DFUNC(handleMouseMovement)]; + ((finddisplay 91919) displayctrl 9922) ctrlAddEventHandler ["MouseButtonDown", DFUNC(handleMouseButtonDown)]; setMousePosition [0.5, 0.5]; }; diff --git a/addons/interact_menu/functions/fnc_keyUp.sqf b/addons/interact_menu/functions/fnc_keyUp.sqf index 7b24497802..6f1d00276f 100644 --- a/addons/interact_menu/functions/fnc_keyUp.sqf +++ b/addons/interact_menu/functions/fnc_keyUp.sqf @@ -19,7 +19,7 @@ _calledByClicking = _this select 1; if (GVAR(openedMenuType) < 0) exitWith {true}; if (uiNamespace getVariable [QGVAR(cursorMenuOpened),false]) then { - closeDialog 0; + (findDisplay 91919) closeDisplay 2; }; if(GVAR(actionSelected)) then { diff --git a/addons/interact_menu/functions/fnc_renderIcon.sqf b/addons/interact_menu/functions/fnc_renderIcon.sqf index 180b5a3c36..44a280a52e 100644 --- a/addons/interact_menu/functions/fnc_renderIcon.sqf +++ b/addons/interact_menu/functions/fnc_renderIcon.sqf @@ -23,6 +23,10 @@ PARAMS_4(_text,_icon,_sPos,_textSettings); if(GVAR(iconCount) > (count GVAR(iconCtrls))-1) then { _displayNum = [[46, 12] select visibleMap,91919] select (uiNamespace getVariable [QGVAR(cursorMenuOpened),false]); GVAR(iconCtrls) pushBack ((findDisplay _displayNum) ctrlCreate ["RscStructuredText", 54021+GVAR(iconCount)]); + if (GVAR(useCursorMenu)) then { + ((finddisplay _displayNum) displayctrl (54021+GVAR(iconCount))) ctrlAddEventHandler ["MouseMoving", DFUNC(handleMouseMovement)]; + ((finddisplay _displayNum) displayctrl (54021+GVAR(iconCount))) ctrlAddEventHandler ["MouseButtonDown", DFUNC(handleMouseButtonDown)]; + }; }; _ctrl = GVAR(iconCtrls) select GVAR(iconCount); diff --git a/addons/interact_menu/functions/fnc_renderSelector.sqf b/addons/interact_menu/functions/fnc_renderSelector.sqf index 7ac9559297..96a495c715 100644 --- a/addons/interact_menu/functions/fnc_renderSelector.sqf +++ b/addons/interact_menu/functions/fnc_renderSelector.sqf @@ -20,6 +20,10 @@ private ["_displayNum", "_ctrl", "_pos"]; if(GVAR(iconCount) > (count GVAR(iconCtrls))-1) then { _displayNum = [[46, 12] select visibleMap,91919] select (uiNamespace getVariable [QGVAR(cursorMenuOpened),false]); GVAR(iconCtrls) pushBack ((findDisplay _displayNum) ctrlCreate ["RscStructuredText", 54021+GVAR(iconCount)]); + if (GVAR(useCursorMenu)) then { + ((finddisplay _displayNum) displayctrl (54021+GVAR(iconCount))) ctrlAddEventHandler ["MouseMoving", DFUNC(handleMouseMovement)]; + ((finddisplay _displayNum) displayctrl (54021+GVAR(iconCount))) ctrlAddEventHandler ["MouseButtonDown", DFUNC(handleMouseButtonDown)]; + }; }; _ctrl = GVAR(iconCtrls) select GVAR(iconCount); From 1735047e3c851a4bc5fc05d9cca6acc5ea0aa7cd Mon Sep 17 00:00:00 2001 From: esteldunedain Date: Sat, 2 May 2015 14:37:58 -0300 Subject: [PATCH 009/217] Make closer action points oclude farther ones. Improves the clutter of the interact menu when interating with a person from the side. Close #738 --- addons/interact_menu/XEH_preInit.sqf | 1 + .../functions/fnc_renderActionPoints.sqf | 36 +++++++++++++++++-- .../functions/fnc_renderBaseMenu.sqf | 8 +++-- 3 files changed, 39 insertions(+), 6 deletions(-) diff --git a/addons/interact_menu/XEH_preInit.sqf b/addons/interact_menu/XEH_preInit.sqf index 3d67dab6a9..ee0ffe9504 100644 --- a/addons/interact_menu/XEH_preInit.sqf +++ b/addons/interact_menu/XEH_preInit.sqf @@ -66,6 +66,7 @@ GVAR(expandedTime) = diag_tickTime; GVAR(iconCtrls) = []; GVAR(iconCount) = 0; +GVAR(collectedActionPoints) = []; GVAR(foundActions) = []; GVAR(lastTimeSearchedActions) = -1000; diff --git a/addons/interact_menu/functions/fnc_renderActionPoints.sqf b/addons/interact_menu/functions/fnc_renderActionPoints.sqf index 8e6cb7d390..c12cbe8c16 100644 --- a/addons/interact_menu/functions/fnc_renderActionPoints.sqf +++ b/addons/interact_menu/functions/fnc_renderActionPoints.sqf @@ -17,13 +17,13 @@ GVAR(currentOptions) = []; private ["_player","_numInteractObjects","_numInteractions","_actionsVarName","_classActions","_target","_player","_action","_cameraPos","_cameraDir", "_lambda", "_nearestObjects", "_pos"]; _player = ACE_player; +_cameraPos = (positionCameraToWorld [0, 0, 0]) call EFUNC(common,positionToASL); +_cameraDir = ((positionCameraToWorld [0, 0, 1]) call EFUNC(common,positionToASL)) vectorDiff _cameraPos; + _fnc_renderNearbyActions = { // Render all nearby interaction menus #define MAXINTERACTOBJECTS 3 - _cameraPos = (positionCameraToWorld [0, 0, 0]) call EFUNC(common,positionToASL); - _cameraDir = ((positionCameraToWorld [0, 0, 1]) call EFUNC(common,positionToASL)) vectorDiff _cameraPos; - GVAR(foundActions) = []; GVAR(lastTimeSearchedActions) = diag_tickTime; @@ -114,6 +114,8 @@ _fnc_renderSelfActions = { }; +GVAR(collectedActionPoints) resize 0; + // Render nearby actions, unit self actions or vehicle self actions as appropiate if (GVAR(openedMenuType) == 0) then { @@ -132,3 +134,31 @@ if (GVAR(openedMenuType) == 0) then { } else { ACE_player call _fnc_renderSelfActions; }; + +if (count GVAR(collectedActionPoints) > 1) then { + // Do the oclusion pass + + // Order action points according to z + // @todo: after 1.43 is released switch BIS_fnc_sortBy with sort + GVAR(collectedActionPoints) = [GVAR(collectedActionPoints),[],{_x select 0},"ASCEND"] call BIS_fnc_sortBy; + //GVAR(collectedActionPoints) sort true; + + private ["_i","_j","_delta"]; + for [{_i = count GVAR(collectedActionPoints) - 1}, {_i > 0}, {_i = _i - 1}] do { + for [{_j = _i - 1}, {_j >= 0}, {_j = _j - 1}] do { + // Check if action point _i is ocluded by _j + _delta = vectorNormalized ((GVAR(collectedActionPoints) select _i select 1) vectorDiff (GVAR(collectedActionPoints) select _j select 1)); + + // If _i is inside a cone with 20º half angle with origin on _j + if (_delta select 2 > 0.94) exitWith { + GVAR(collectedActionPoints) deleteAt _i; + }; + }; + }; +}; + +// Render the non-ocluded points +{ + EXPLODE_3_PVT(_x,_z,_sPos,_activeActionTree); + [[], _activeActionTree, _sPos, [180,360]] call FUNC(renderMenu); +} forEach GVAR(collectedActionPoints); diff --git a/addons/interact_menu/functions/fnc_renderBaseMenu.sqf b/addons/interact_menu/functions/fnc_renderBaseMenu.sqf index 4daa4a5c90..913a361941 100644 --- a/addons/interact_menu/functions/fnc_renderBaseMenu.sqf +++ b/addons/interact_menu/functions/fnc_renderBaseMenu.sqf @@ -93,11 +93,13 @@ _fnc_print = { // Check if there's something left for rendering if (count _activeActionTree == 0) exitWith {false}; -//EXPLODE_2_PVT(_activeActionTree,_actionData,_actionChildren); - BEGIN_COUNTER(fnc_renderMenus); -[[], _activeActionTree, _sPos, [180,360]] call FUNC(renderMenu); +// IGNORE_PRIVATE_WARNING(_cameraPos,_cameraDir); +_sPos pushBack (((_pos call EFUNC(common,positionToASL)) vectorDiff _cameraPos) vectorDotProduct _cameraDir); + +// Add action point for oclusion and rendering +GVAR(collectedActionPoints) pushBack [_sPos select 2, _sPos, _activeActionTree]; END_COUNTER(fnc_renderMenus); From e6c333bff4baeda7664be651d089d787829813e9 Mon Sep 17 00:00:00 2001 From: esteldunedain Date: Sat, 2 May 2015 14:54:57 -0300 Subject: [PATCH 010/217] Fix oclusion when self-interacting --- addons/interact_menu/functions/fnc_renderBaseMenu.sqf | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/addons/interact_menu/functions/fnc_renderBaseMenu.sqf b/addons/interact_menu/functions/fnc_renderBaseMenu.sqf index 913a361941..36685a72eb 100644 --- a/addons/interact_menu/functions/fnc_renderBaseMenu.sqf +++ b/addons/interact_menu/functions/fnc_renderBaseMenu.sqf @@ -96,7 +96,11 @@ if (count _activeActionTree == 0) exitWith {false}; BEGIN_COUNTER(fnc_renderMenus); // IGNORE_PRIVATE_WARNING(_cameraPos,_cameraDir); -_sPos pushBack (((_pos call EFUNC(common,positionToASL)) vectorDiff _cameraPos) vectorDotProduct _cameraDir); +if (count _pos > 2) then { + _sPos pushBack (((_pos call EFUNC(common,positionToASL)) vectorDiff _cameraPos) vectorDotProduct _cameraDir); +} else { + _sPos pushBack 0; +}; // Add action point for oclusion and rendering GVAR(collectedActionPoints) pushBack [_sPos select 2, _sPos, _activeActionTree]; From 87cd37ea2a91bb0526850749e6e26768dc16052d Mon Sep 17 00:00:00 2001 From: bux578 Date: Sat, 2 May 2015 22:06:47 +0200 Subject: [PATCH 011/217] first batch of module documentations --- documentation/missionmaker/modules.md | 62 +++++++++++++++++---------- 1 file changed, 40 insertions(+), 22 deletions(-) diff --git a/documentation/missionmaker/modules.md b/documentation/missionmaker/modules.md index 186e99ece4..97b4485610 100644 --- a/documentation/missionmaker/modules.md +++ b/documentation/missionmaker/modules.md @@ -45,22 +45,31 @@ Defines the interval between every calculation step.
Defines the radius around the player (in meters) at which advanced ballistics are applied to projectiles.
`Default value: 3000` -### 1.2 BlueForceTracking +### 1.2 Allow Config Export +*Part of: ace_optionsmenu* + +This modules allows to export all current ACE settings from the ACE options menu to the clipboard and RPT file. + +1. **Allow (Boolean)**
+Enables the "export" button in the ACE options menu
+`Default value: Yes` + +### 1.3 BlueForceTracking *Part of: ace_map* -When adding the "BlueForceTracking" module to your mission it adds map markers to every group on the players side and refreshes them in certain configurable interval (in seconds). The module takes the group type into account and uses the proper NATO icon for each marker. +When adding the "Blue Force Tracking" module to your mission it adds map markers to every group on the players side and refreshes them in certain configurable interval (in seconds). The module takes the group type into account and uses the proper NATO icon for each marker. **Settings:** 1. **Interval (Number)
** How often the markers should be refreshed (in seconds).
-`Default value: 5` +`Default value: 1` 2. **Hide AI Groups (Boolean)
** Hide markers for "AI only" groups.
`Default value: No` ### 1.3 Check PBOs -*Part of: ace_core* +*Part of: ace_common* If you are worried that players haven't updated ACE or other mods to the version you're using on the server, you can place the "Check PBOs" module on your map. You can choose one of three posible actions that are being executed when a player joins that has a wrong version of ACE or an other mod: @@ -83,15 +92,17 @@ You can make a whitelist of addons that don't have to be on the server. If you w The list must be in the following format: `["ADDON1","ADDON2",...]` where the addons are CfgPatches references to all PBOs of the optional mod. To figure these out, you can use the scripting command `activatedAddons` in the editor while those mods are enabled. Example 1: @Blastcore-A3:
-```sqf +```js ["warfxpe","blastcore_vep"] ``` + Example 2: @JSRS:
-```sqf +```js [TBD] -``` +``` + Example 3: @JSRS + @Blastcore-A3:
-```sqf +```js [TBD, "warfxpe","blastcore_vep"] ``` @@ -102,35 +113,42 @@ The "Explosive System" module lets you tweak the settings for the new explosive **Settings:** -1. **Require explosive specialists? (Boolean)
** +1. **Require specialists? (Boolean)
** Require explosive specialists to disable explosives.
`Default value: No` 2. **Punish non-specialists? (Boolean)
** Increase the time it takes to complete actions for non-specialists.
`Default value: Yes` -### 1.5 Fatigue System (deprecated) -**Warning:** -*This module is deprecated and only in there not to break older missions that have used this module. It will be removed in a future update. It serves no purpose.* - -### 1.6 Friendly Fire Messages +### 1.5 Friendly Fire Messages *Part of: ace_respawn* The "Friendly Fire Messages" module triggers a message when a player kills a friendly or civilian unit. This module isn't needed on servers with a low difficulty setting. -### 1.7 Interaction -*Part of: ace_interaction* +### 1.6 Hearing +*Part of: ace_hearing* -This module allows you to tweak the settings for player names tags. +Placing this modules allows you to disable combat deafness usually triggerd by loud explosions or heavy weapons in a players proximity. **Settings:** -1. **Player Names View Distance (Number)
** -Sets the distance (in meters) at which player name tags become visible.
-`Default value: 5` +1. **Enable combat deafness? (Boolean)***
+Enable combat deafness?
+`Default value: Yes` -### 1.8 Medical System -*Part of: ace_medical* +### 1.7 Interaction System +*Part of: ace_interaction* + +This module allows you to tweak if players should be able to use team management functions (e.g. "switch group", "become leader"). + +**Settings:** + +1. **Enable Team Management (Boolean)
** +Should players be allowed to use the Team Management Menu?.
+`Default value: Yes` + +### 1.8 Make Unit Surrender +*Part of: ace_captives* When using the medical system ACE offers you probably want to fine tune some aspects of the wounding, healing or gameplay mechanics and fit them to your needs. The "Medical System" module offers a lot of settings to do just that. From b5ec13b992eafff7b776924daa1fb37aae4ad629 Mon Sep 17 00:00:00 2001 From: ulteq Date: Sat, 2 May 2015 22:07:25 +0200 Subject: [PATCH 012/217] Fixed some inconsistencies in the stringtable --- addons/ballistics/stringtable.xml | 68 +++++++++++++++---------------- 1 file changed, 34 insertions(+), 34 deletions(-) diff --git a/addons/ballistics/stringtable.xml b/addons/ballistics/stringtable.xml index eb2db5b576..d24a3371b1 100644 --- a/addons/ballistics/stringtable.xml +++ b/addons/ballistics/stringtable.xml @@ -519,7 +519,7 @@ 9.3mm IR-DIM 9,3 мм ИК-трассирующие 9.3mm IR-DIM - 9.3mm Traçante IR-DIM + 9.3mm IR-DIM Caliber: 9.3x64mm Tracer IR-DIM<br />Rounds: 10<br />Used in: Cyrus @@ -715,10 +715,10 @@ 7.62mm 7.62mm 7,62 мм - 7,62x54mm - 7.62mm IR-DIM + 7,62mm + 7.62mm 7.62mm - 7.62mm Traçante + 7.62mm 7.62x54mm 10Rnd Tracer Mag @@ -911,7 +911,7 @@ 7.62mm M118LR 7,62mm M118LR 7.62mm M118LR - 7.62mm (M118LR) + 7.62mm M118LR 7,62 мм M118LR 7,62mm M118LR 7.62mm M118LR @@ -944,7 +944,7 @@ 7.62mm M118LR 7,62mm M118LR 7.62mm M118LR - 7.62mm (M118LR) + 7.62mm M118LR 7,62 мм M118LR 7,62mm M118LR 7.62mm M118LR @@ -1172,15 +1172,15 @@ Carregador 7.62mm com 20 cartuchos (Mk248 Mod 0) - 7.62mm (Mk248 Mod 0) - 7,62mm (Mk248 Mod 0) - 7.62mm (Mk248 Mod 0) - 7.62mm (Mk248 Mod 0) - 7,62 мм (Mk248 Mod 0) - 7,62mm (Mk248 Mod 0) - 7.62mm (Mk248 Mod 0) - 7.62mm (Mk248 Mod 0) - 7.62mm (Mk248 Mod 0) + 7.62mm Mk248 + 7,62mm Mk248 + 7.62mm Mk248 + 7.62mm Mk248 + 7,62 мм Mk248 + 7,62mm Mk248 + 7.62mm Mk248 + 7.62mm Mk248 + 7.62mm Mk248 Caliber: 7.62x67mm NATO (Mk248 Mod 0)<br />Rounds: 20 @@ -1205,15 +1205,15 @@ Carregador 7.62mm com 20 cartuchos (Mk248 Mod 1) - 7.62mm (Mk248 Mod 1) - 7,62mm (Mk248 Mod 1) - 7.62mm (Mk248 Mod 1) - 7.62mm (Mk248 Mod 1) - 7,62 мм (Mk248 Mod 1) - 7,62mm (Mk248 Mod 1) - 7.62mm (Mk248 Mod 1) - 7.62mm (Mk248 Mod 1) - 7.62mm (Mk248 Mod 1) + 7.62mm Mk248 + 7,62mm Mk248 + 7.62mm Mk248 + 7.62mm Mk248 + 7,62 мм Mk248 + 7,62mm Mk248 + 7.62mm Mk248 + 7.62mm Mk248 + 7.62mm Mk248 Caliber: 7.62x67mm NATO (Mk248 Mod 1)<br />Rounds: 20 @@ -1238,15 +1238,15 @@ Carregador 7.62mm com 20 cartuchos (Berger Hybrid OTM) - 7.62mm (OTM) - 7,62mm (OTM) - 7.62mm (OTM) - 7.62mm (OTM) - 7,62 мм (OTM) - 7,62mm (OTM) - 7.62mm (OTM) - 7.62mm (OTM) - 7.62mm (OTM) + 7.62mm OTM + 7,62mm OTM + 7.62mm OTM + 7.62mm OTM + 7,62 мм OTM + 7,62mm OTM + 7.62mm OTM + 7.62mm OTM + 7.62mm OTM Caliber: 7.62x67mm NATO (Berger Hybrid OTM)<br />Rounds: 20 @@ -1343,7 +1343,7 @@ .338 HPBT .338 экспансивные .338 HPBT - .338 (HPBT) + .338 HPBT .338 HPBT .338 HPBT From e6187adfc7c51e8047aa80787e2c5d96c008d041 Mon Sep 17 00:00:00 2001 From: ulteq Date: Sat, 2 May 2015 22:09:38 +0200 Subject: [PATCH 013/217] Removed a trailing space --- addons/ballistics/stringtable.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/ballistics/stringtable.xml b/addons/ballistics/stringtable.xml index d24a3371b1..1fa5c80d3e 100644 --- a/addons/ballistics/stringtable.xml +++ b/addons/ballistics/stringtable.xml @@ -715,7 +715,7 @@ 7.62mm 7.62mm 7,62 мм - 7,62mm + 7,62mm 7.62mm 7.62mm 7.62mm From 0fd783082dfdc11922f88ba0432ea828d5ac1533 Mon Sep 17 00:00:00 2001 From: commy2 Date: Sat, 2 May 2015 22:53:23 +0200 Subject: [PATCH 014/217] don't close menu when no action is selected --- addons/interact_menu/functions/fnc_handlePlayerChanged.sqf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/interact_menu/functions/fnc_handlePlayerChanged.sqf b/addons/interact_menu/functions/fnc_handlePlayerChanged.sqf index cff8bb1048..cb21d218db 100644 --- a/addons/interact_menu/functions/fnc_handlePlayerChanged.sqf +++ b/addons/interact_menu/functions/fnc_handlePlayerChanged.sqf @@ -16,7 +16,7 @@ EXPLODE_2_PVT(_this,_newUnit,_oldUnit); // add to new unit private "_ehid"; _ehid = [_newUnit, "DefaultAction", {GVAR(openedMenuType) >= 0}, { - if !(GVAR(actionOnKeyRelease)) then { + if (!GVAR(actionOnKeyRelease) && GVAR(actionSelected)) then { [GVAR(openedMenuType),true] call FUNC(keyUp); }; }] call EFUNC(common,addActionEventHandler); From f44aaee7c79cf8e44ce36f4f6ee4a7a7265d54fc Mon Sep 17 00:00:00 2001 From: commy2 Date: Sat, 2 May 2015 23:02:40 +0200 Subject: [PATCH 015/217] also in cursor mode --- addons/interact_menu/functions/fnc_keyDown.sqf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/interact_menu/functions/fnc_keyDown.sqf b/addons/interact_menu/functions/fnc_keyDown.sqf index d4e460c10f..464466ae3a 100644 --- a/addons/interact_menu/functions/fnc_keyDown.sqf +++ b/addons/interact_menu/functions/fnc_keyDown.sqf @@ -54,7 +54,7 @@ if (GVAR(useCursorMenu)) then { }]; // handles LMB in cursor mode when action on keyrelease is disabled ((finddisplay 91919) displayctrl 91921) ctrlAddEventHandler ["MouseButtonDown", { - if !(GVAR(actionOnKeyRelease)) then { + if (!GVAR(actionOnKeyRelease) && GVAR(actionSelected)) then { [GVAR(openedMenuType),true] call FUNC(keyUp); }; }]; From 0faf110371435a6c37fb09bb624b2db69c9f110a Mon Sep 17 00:00:00 2001 From: bux578 Date: Sun, 3 May 2015 08:25:29 +0200 Subject: [PATCH 016/217] second batch of documentation --- documentation/missionmaker/modules.md | 230 ++++++++++++++++++-------- 1 file changed, 161 insertions(+), 69 deletions(-) diff --git a/documentation/missionmaker/modules.md b/documentation/missionmaker/modules.md index 97b4485610..4024e8d60f 100644 --- a/documentation/missionmaker/modules.md +++ b/documentation/missionmaker/modules.md @@ -6,11 +6,7 @@ order: 5 parent: wiki --- - -**THIS PAGE IS NOT UP2DATE.** - - -## 1. Modules +## 1. ACE ### 1.1 Advanced Ballistics *Part of: ace_advanced_ballistics* @@ -68,7 +64,7 @@ How often the markers should be refreshed (in seconds).
Hide markers for "AI only" groups.
`Default value: No` -### 1.3 Check PBOs +### 1.4 Check PBOs *Part of: ace_common* If you are worried that players haven't updated ACE or other mods to the version you're using on the server, you can place the "Check PBOs" module on your map. You can choose one of three posible actions that are being executed when a player joins that has a wrong version of ACE or an other mod: @@ -106,7 +102,8 @@ Example 3: @JSRS + @Blastcore-A3:
[TBD, "warfxpe","blastcore_vep"] ``` -### 1.4 Explosive System + +### 1.5 Explosive System *Part of: ace_explosive* The "Explosive System" module lets you tweak the settings for the new explosive system that ACE introduces. @@ -120,12 +117,14 @@ Require explosive specialists to disable explosives.
Increase the time it takes to complete actions for non-specialists.
`Default value: Yes` -### 1.5 Friendly Fire Messages + +### 1.6 Friendly Fire Messages *Part of: ace_respawn* The "Friendly Fire Messages" module triggers a message when a player kills a friendly or civilian unit. This module isn't needed on servers with a low difficulty setting. -### 1.6 Hearing + +### 1.7 Hearing *Part of: ace_hearing* Placing this modules allows you to disable combat deafness usually triggerd by loud explosions or heavy weapons in a players proximity. @@ -136,7 +135,8 @@ Placing this modules allows you to disable combat deafness usually triggerd by l Enable combat deafness?
`Default value: Yes` -### 1.7 Interaction System + +### 1.8 Interaction System *Part of: ace_interaction* This module allows you to tweak if players should be able to use team management functions (e.g. "switch group", "become leader"). @@ -147,73 +147,98 @@ This module allows you to tweak if players should be able to use team management Should players be allowed to use the Team Management Menu?.
`Default value: Yes` -### 1.8 Make Unit Surrender +### 1.9 Make Unit Surrender *Part of: ace_captives* -When using the medical system ACE offers you probably want to fine tune some aspects of the wounding, healing or gameplay mechanics and fit them to your needs. The "Medical System" module offers a lot of settings to do just that. +Syncing units to that module sets them in the captive state with their arms behind their back. Usefull for e.g. hostage rescue missions. + + +### 1.10 Map +*Part of: ace_map* + +ACE3 introdcues a bit more realism for the vanilla Arma 3 map and how it behaves. Some of these settings can be toggled by this module. **Settings:** -1. **Bleeding Speed Coefficient (Number)
** -Multiplier for the rate of bleeding.
-`Default value: 1` -2. **Pain Effect Coefficient (Number)
** -Multiplier for the intensity of the pain effect (chromatic abberation).
-`Default value: 1` -3. **Max Unconscious Time (Number)
** -Maximum time (in seconds) for a unit to be unconscious before dying. -1 disables this.
-`Default value: -1` -4. **Allow non-medics? (Boolean)
** -This setting is used to allow non-medics to use epipens and bloodbags.
-`Default value: No` -5. **Punish non-medics? (Boolean)
** -Increase the time it takes to complete actions for non-medics.
+1. **Map illumination? (Boolean)
** +Calculate dynamic map illumination based on light conditions?.
`Default value: Yes` -6. **Require diagnosis? (Boolean)
** -Require an unconscious patient to be diagnosed before allowing treatment.
+2. **Map shake? (Boolean)
** +Make map shake when walking?.
+`Default value: Yes` +3. **Limit map zoom? (Boolean)
** +Limit the amount of zoom available for the map?.
`Default value: No` -7. **Prevent instant death? (Boolean)
** -Prevent instant death and always put players in unconscious state instead.
-`Default value: No` -8. **Prevent death while unconscious? (Boolean)
** -Make unconscious units invulnerable.
-`Default value: No` -9. **Single Bandage (Boolean)
** -Use one bandage to heal the entire body.
-`Default value: No` -10. **Unconscious can chat? (Boolean)
** -Allow all players to use chat while unconcious? Admin can always use the chat regardless.
+4. **Show cursor coordinates? (Boolean)
** +Show the grid coordinates on the mouse pointer?.
`Default value: No` -### 1.9 Rallypoint System + +### 1.11 MicroDAGR Map Fill +*Part of: ace_microdagr* + +Controls how much data is filled on the microDAGR items. Less data restricts the map view to show less on the minimap. + +**Settings:** + +1. **MicroDAGR Map Fill (Option)
** +How much map data is filled on MicroDAGR's.
+`Default value: "Full Satellite + Buildings"` + + +### 1.12 MK6 Settings +*Part of: ace_mk6mortar* + +ACE3 now includes the first iteration of getting a less arcady point and click mortar experience. +Placing this modules allows you to enable the increased realism in game. + +**Settings:** + +1. **Air Resistance (Boolean)
** +For Player Shots, Model Air Resistance and Wind Effects.
+`Default value: Yes` +2. **Allow MK6 Computer (Boolean)
** +Show the Computer and Rangefinder (these **NEED** to be removed if you enable air resistance).
+`Default value: No` +3. **Allow MK6 Compass (Boolean)
** +Show the MK6 Digital Compass.
+`Default value: Yes` + +### 1.13 Name Tags +*Part of: ace_nametags* + +This module allows you to tweak the settings for player names tags. + +**Settings:** + +1. **Player Names View Distance (Number)
** +Distance (in meters) at which player names are shown.
+`Default value: 5` +2. **Show name tags for AI? (Option)
** +Show the name and rank tags for friendly AI units, or by default allows players to choose it on their own.
+`Default value: "Do Not Force"` +3. **Show crew info? (Option)
** +Show vehicle crew info, or by default allows players to choose it on their own.
+`Default value: "Do Not Force"` +4. **Show for Vehicles? (Boolean)
** +Show cursor NameTag for vehicle commander (only if client has name tags enabled).
+`Default value: No` + + +### 1.14 Rallypoint System *Part of: ace_respawn* -This module was introduced with 0.94 and enables Mission Makers to specificly enable units to move a rallypoint. Every unit that is synced with that module is able to move a rallypoint. +This module enables Mission Makers to specificly enable units to move a rallypoint. Every unit that is synced with that module is able to move a rallypoint. -**Note:** -It's important to mention that this doesn't work for player who join during a mission (JIP = Join in progress). That's something we can't change because that's the way Bohemia has implemented their module framework. To enable JIP players to move rally points have a look at [3.1 ACE Rallypoints](#31-ace-rallypoints). +
+
Note:
+

It's important to mention that this doesn't work for player who join during a mission (JIP = Join in progress). That's something we can't change because that's the way Bohemia has implemented their module framework.

+
-### 1.10 Repair System -*Part of: ace_logistics* +To enable JIP players to move rally points have a look at [ACE Rallypoints (to be done)](#). -Placing the "Repair System" module makes it possible to define the time it takes for certain repair actions. -**Settings:** - -1. **Heavy Repair Time (Number)
** -Time to repair engine/turret/body/fuel components (in seconds).
-`Default value: 10` -2. **Wheel Replace Time (Number)
** -Time to replace a wheel (in seconds).
-`Default value: 10` -3. **Track Replace Time (Number)
** -Time to replace a track (in seconds).
-`Default value: 10` -4. **Maximum Repaired Damage (Number)
** -Limits the amount of damage that can be repaired. 0 = Repair all damage, 1 = Cannot repair any damage.
-`Default value: 0` - -### 1.11 Respawn System +### 1.15 Respawn System *Part of: ace_respawn* The "Respawn System" module enables players to respawn with the gear they had before dying and to remove bodies of players after a configurable interval (in seconds). @@ -224,10 +249,10 @@ The "Respawn System" module enables players to respawn with the gear they had be Respawn with the gear a player had just before his death.
`Default value: No` -### 1.12 SwitchUnits System +### 1.16 SwitchUnits System *Part of: ace_switchunits* -The [SwitchUnits System](#32-ace-switchunits) enables players to control certain AI units on the map. +The [SwitchUnits System (to be done)](#) enables players to control certain AI units on the map. **Settings:** @@ -251,10 +276,29 @@ The safe zone around players from a different team (in meters)
`Default value: 200` -### 1.13 LSD Vehicles -*Part of: ace_core* +### 1.17 Vehicle Lock +*Part of: ace_vehiclelock* -### 1.14 Weather +#### 1.17.1 Vehicle Key Assign +Sync with vehicles and players. Will handout custom keys to players for every synced vehicle. Only valid for objects present at mission start. + +#### 1.17.2 Vehicle Lock Setup +Settings for lockpick strength and initial vehicle lock state. Removes ambiguous lock states. + +**Settings:** + +1. **Lock Vehicle Inventory? (Boolean)
** +Locks the inventory of locked vehicles
+`Default value: No` +2. **Vehicle Starting Lock State (Option)
** +Set lock state for all vehicles (removes ambiguous lock states)
+`Default value: "As Is"` +3. **Default Lockpick Strength (Number)
** +Default Time to lockpick (in seconds)
+`Default value: 10` + + +### 1.18 Weather *Part of: ace_weather* This module allows you to customize the weather settings. @@ -280,11 +324,16 @@ Synchronizes lightnings, rainbow, fog, ...
Defines the interval (seconds) between weather updates.
`Default value: 60` -### 1.15 Wind Deflection +### 1.19 Wind Deflection *Part of: ace_winddeflection* This module allows you to define when wind deflection is active. +
+
Note:
+

Wind Deflection doesn't work in combination with Advanced Ballistics. If the Advanced Ballistics module is placed Wind deflection will exit and won't trigger.

+
+ **Settings:** 1. **Wind Deflection (Boolean)
** @@ -300,5 +349,48 @@ Defines the interval between every calculation step.
Defines the radius around the player (in meters) at which projectiles are wind deflected.
`Default value: 3000` + +### 1.20 LSD Vehicles +*Part of: ace_core* + And then there's the "LSD Vehicles" module … it does 'something' to all vehicles synced to that module. -http://youtu.be/X3e0LTexEok + + +## 2. ACE Medical +*Part of: ace_medical* + +### 2.1 Advanced Medical Settings + +This module allows you to change the default Advanced Medical Settings, when [2.2 Medical Settings](#2-2MedicalSettings) is set to "Advanced". + +**Settings:** + +1. **Enabled for (Options)
** +Select what units the advanced medical system will be enabled for.
+`Default value: "Players only"` +2. **Enable Advanced wounds (Boolean)
** +Allow reopening of bandaged wounds?
+`Default value: No` +3. **Vehicle Crashes (Boolean)
** +Do units take damage from a vehicle crash?
+`Default value: Yes` +4. **Allow PAK (Option)**
+Who can use the PAK for full heal?
+`Default value: "Medics only"` +5. **Remove PAK on use (Boolean)**
+Should PAK be removed on usage?
+`Default value: Yes` +6. **Locations PAK (Option)**
+Where can the personal aid kit be used?
+`Default value: "Vehicles & facility"` +7. **Allow Surgical kit (Option)**
+Who can use the surgical kit?
+`Default value: "Medics only"` +8. **Remove Surgical kit (Boolean)**
+Should Surgical kit be removed on usage?
+`Default value: Yes` +9. **Locations Surgical kit (Option)**
+Where can the Surgical kit be used?
+`Default value: "Vehicles & facility"` + + From 4d4604da288ab980dd8be82b446503b15661de9c Mon Sep 17 00:00:00 2001 From: ulteq Date: Sun, 3 May 2015 10:47:49 +0200 Subject: [PATCH 017/217] Fixed two typos in the ATragMX gun profile list --- addons/atragmx/XEH_postInit.sqf | 4 ++-- addons/atragmx/script_component.hpp | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/addons/atragmx/XEH_postInit.sqf b/addons/atragmx/XEH_postInit.sqf index e2e3cb254c..7b0a2c9962 100644 --- a/addons/atragmx/XEH_postInit.sqf +++ b/addons/atragmx/XEH_postInit.sqf @@ -28,8 +28,8 @@ if ((profileNamespace getVariable ["ACE_ATragMX_profileNamespaceVersion", 0]) == ["7.62x54mmR" , 800, 100, 0.0692, -0.0010230, 3.81, 0, 2, 10, 120, 0, 0, 9.849, 7.92, 24.13, 0.400, 1, "ICAO"], ["7.62x51mm M80" , 810, 100, 0.0679, -0.0010350, 3.81, 0, 2, 10, 120, 0, 0, 9.525, 7.82, 25.40, 0.200, 7, "ICAO"], - ["7.62x51mm M118LR" , 820, 100, 0.0662, -0.0008525, 3.81, 0, 2, 10, 120, 0, 0, 11.34, 7.82, 25.40, 0.243, 7, "ICAO"], - ["7.62x51mm Mk319" , 820, 100, 0.0670, -0.0010300, 3.81, 0, 2, 10, 120, 0, 0, 8.424, 7.82, 25.40, 0.377, 1, "ICAO"], + ["7.62x51mm M118LR" , 780, 100, 0.0710, -0.0008525, 3.81, 0, 2, 10, 120, 0, 0, 11.34, 7.82, 25.40, 0.243, 7, "ICAO"], + ["7.62x51mm Mk319" , 910, 100, 0.0585, -0.0010300, 3.81, 0, 2, 10, 120, 0, 0, 8.424, 7.82, 25.40, 0.377, 1, "ICAO"], ["7.62x51mm Subsonic", 320, 100, 0.3060, -0.0004910, 3.81, 0, 2, 10, 120, 0, 0, 12.96, 7.82, 25.40, 0.235, 7, "ICAO"], ["6.5x39mm" , 800, 100, 0.0683, -0.0007850, 3.81, 0, 2, 10, 120, 0, 0, 7.970, 6.71, 22.86, 0.263, 7, "ICAO"], diff --git a/addons/atragmx/script_component.hpp b/addons/atragmx/script_component.hpp index c201925147..090e82246d 100644 --- a/addons/atragmx/script_component.hpp +++ b/addons/atragmx/script_component.hpp @@ -11,4 +11,4 @@ #include "\z\ace\addons\main\script_macros.hpp" -#define ATRAGMX_PROFILE_NAMESPACE_VERSION 1.3 +#define ATRAGMX_PROFILE_NAMESPACE_VERSION 1.4 From dbca6fe587cbb74e0077c9a353b430ac46b37775 Mon Sep 17 00:00:00 2001 From: bux578 Date: Sun, 3 May 2015 11:33:02 +0200 Subject: [PATCH 018/217] finished module documentation --- documentation/missionmaker/modules.md | 237 ++++++++++++++++++++------ 1 file changed, 182 insertions(+), 55 deletions(-) diff --git a/documentation/missionmaker/modules.md b/documentation/missionmaker/modules.md index 4024e8d60f..e3d1f4cb21 100644 --- a/documentation/missionmaker/modules.md +++ b/documentation/missionmaker/modules.md @@ -14,40 +14,40 @@ This module allows to enable advanced external- and internal ballistics. **Settings:** -1. **Advanced Ballistics (Boolean)
** +1. **Advanced Ballistics (Boolean)**
Enables advanced ballistics.
`Default value: No` -2. **Always Enabled For Snipers (Boolean)
** +2. **Always Enabled For Snipers (Boolean)**
Always enables advanced ballistics when high power optics are used.
`Default value: Yes` -3. **Disabled In FullAuto Mode (Boolean)
** +3. **Disabled In FullAuto Mode (Boolean)**
Disables the advanced ballistics during full auto fire.
`Default value: No` -4. **Disabled For Non Local Players (Boolean)
** +4. **Disabled For Non Local Players (Boolean)**
Disables the advanced ballistics for bullets coming from other players (enable this if you encounter frame drops during heavy firefights in multiplayer).
`Default value: Yes` -5. **Enable Ammo Temperature Simulation (Boolean)
** +5. **Enable Ammo Temperature Simulation (Boolean)**
Muzzle velocity varies with ammo temperature.
`Default value: Yes` -6. **Enable Barrel Length Simulation (Boolean)
** +6. **Enable Barrel Length Simulation (Boolean)**
Muzzle velocity varies with barrel length.
`Default value: Yes` -7. **Enable Bullet Trace Effect (Boolean)
** +7. **Enable Bullet Trace Effect (Boolean)**
Enables a bullet trace effect to high caliber bullets (only visible when looking through high power optics).
-8. **Simulation Interval (Number)
** +8. **Simulation Interval (Number)**
Defines the interval between every calculation step.
`Default value: 0.05` -9. **Simulation Radius (Number)
** +9. **Simulation Radius (Number)**
Defines the radius around the player (in meters) at which advanced ballistics are applied to projectiles.
`Default value: 3000` ### 1.2 Allow Config Export -*Part of: ace_optionsmenu* +*Part of: ace_Optionmenu* -This modules allows to export all current ACE settings from the ACE options menu to the clipboard and RPT file. +This modules allows to export all current ACE settings from the ACE Option menu to the clipboard and RPT file. 1. **Allow (Boolean)**
-Enables the "export" button in the ACE options menu
+Enables the "export" button in the ACE Option menu
`Default value: Yes` ### 1.3 BlueForceTracking @@ -57,10 +57,10 @@ When adding the "Blue Force Tracking" module to your mission it adds map markers **Settings:** -1. **Interval (Number)
** +1. **Interval (Number)**
How often the markers should be refreshed (in seconds).
`Default value: 1` -2. **Hide AI Groups (Boolean)
** +2. **Hide AI Groups (Boolean)**
Hide markers for "AI only" groups.
`Default value: No` @@ -75,15 +75,15 @@ If you are worried that players haven't updated ACE or other mods to the version **Settings:** -1. **Action (Option)
** +1. **Action (Option)**
What to do with people who do not have the right PBOs.
`Default value: "Warn once"` -2. **Check all addons (Boolean)
** +2. **Check all addons (Boolean)**
Check all addons instead of only those of ACE?
`Default value: "No"` -3. **Whitelist
** +3. **Whitelist**
You can make a whitelist of addons that don't have to be on the server. If you want to use the "Check all addons" option of this module and allow the usage of client side modifications like Blastcore or JSRS, you have to list them here. The list must be in the following format: `["ADDON1","ADDON2",...]` where the addons are CfgPatches references to all PBOs of the optional mod. To figure these out, you can use the scripting command `activatedAddons` in the editor while those mods are enabled. @@ -110,10 +110,10 @@ The "Explosive System" module lets you tweak the settings for the new explosive **Settings:** -1. **Require specialists? (Boolean)
** +1. **Require specialists? (Boolean)**
Require explosive specialists to disable explosives.
`Default value: No` -2. **Punish non-specialists? (Boolean)
** +2. **Punish non-specialists? (Boolean)**
Increase the time it takes to complete actions for non-specialists.
`Default value: Yes` @@ -143,7 +143,7 @@ This module allows you to tweak if players should be able to use team management **Settings:** -1. **Enable Team Management (Boolean)
** +1. **Enable Team Management (Boolean)**
Should players be allowed to use the Team Management Menu?.
`Default value: Yes` @@ -160,16 +160,16 @@ ACE3 introdcues a bit more realism for the vanilla Arma 3 map and how it behaves **Settings:** -1. **Map illumination? (Boolean)
** +1. **Map illumination? (Boolean)**
Calculate dynamic map illumination based on light conditions?.
`Default value: Yes` -2. **Map shake? (Boolean)
** +2. **Map shake? (Boolean)**
Make map shake when walking?.
`Default value: Yes` -3. **Limit map zoom? (Boolean)
** +3. **Limit map zoom? (Boolean)**
Limit the amount of zoom available for the map?.
`Default value: No` -4. **Show cursor coordinates? (Boolean)
** +4. **Show cursor coordinates? (Boolean)**
Show the grid coordinates on the mouse pointer?.
`Default value: No` @@ -181,7 +181,7 @@ Controls how much data is filled on the microDAGR items. Less data restricts the **Settings:** -1. **MicroDAGR Map Fill (Option)
** +1. **MicroDAGR Map Fill (Option)**
How much map data is filled on MicroDAGR's.
`Default value: "Full Satellite + Buildings"` @@ -194,13 +194,13 @@ Placing this modules allows you to enable the increased realism in game. **Settings:** -1. **Air Resistance (Boolean)
** +1. **Air Resistance (Boolean)**
For Player Shots, Model Air Resistance and Wind Effects.
`Default value: Yes` -2. **Allow MK6 Computer (Boolean)
** +2. **Allow MK6 Computer (Boolean)**
Show the Computer and Rangefinder (these **NEED** to be removed if you enable air resistance).
`Default value: No` -3. **Allow MK6 Compass (Boolean)
** +3. **Allow MK6 Compass (Boolean)**
Show the MK6 Digital Compass.
`Default value: Yes` @@ -211,16 +211,16 @@ This module allows you to tweak the settings for player names tags. **Settings:** -1. **Player Names View Distance (Number)
** +1. **Player Names View Distance (Number)**
Distance (in meters) at which player names are shown.
`Default value: 5` -2. **Show name tags for AI? (Option)
** +2. **Show name tags for AI? (Option)**
Show the name and rank tags for friendly AI units, or by default allows players to choose it on their own.
`Default value: "Do Not Force"` -3. **Show crew info? (Option)
** +3. **Show crew info? (Option)**
Show vehicle crew info, or by default allows players to choose it on their own.
`Default value: "Do Not Force"` -4. **Show for Vehicles? (Boolean)
** +4. **Show for Vehicles? (Boolean)**
Show cursor NameTag for vehicle commander (only if client has name tags enabled).
`Default value: No` @@ -245,7 +245,7 @@ The "Respawn System" module enables players to respawn with the gear they had be **Settings:** -1. **Save Gear? (Boolean)
** +1. **Save Gear? (Boolean)**
Respawn with the gear a player had just before his death.
`Default value: No` @@ -256,22 +256,22 @@ The [SwitchUnits System (to be done)](#) enables players to control certain AI u **Settings:** -1. **Switch To West? (Boolean)
** +1. **Switch To West? (Boolean)**
Allow switching to west units?
`Default value: No` -2. **Switch To East? (Boolean)
** +2. **Switch To East? (Boolean)**
Allow switching to east units?
`Default value: No` -3. **Switch To Independent? (Boolean)
** +3. **Switch To Independent? (Boolean)**
Allow switching to independent units?
`Default value: No` -4. **Switch To Civilian? (Boolean)
** +4. **Switch To Civilian? (Boolean)**
Allow switching to civilian units?
`Default value: No` -5. **Enable Safe Zone? (Boolean)
** +5. **Enable Safe Zone? (Boolean)**
Enable a safe zone around enemy units? Players can't switch to units inside of the safe zone.
`Default value: Yes` -6. **Safe Zone Radius (Number)
** +6. **Safe Zone Radius (Number)**
The safe zone around players from a different team (in meters)
`Default value: 200` @@ -287,13 +287,13 @@ Settings for lockpick strength and initial vehicle lock state. Removes ambiguous **Settings:** -1. **Lock Vehicle Inventory? (Boolean)
** +1. **Lock Vehicle Inventory? (Boolean)**
Locks the inventory of locked vehicles
`Default value: No` -2. **Vehicle Starting Lock State (Option)
** +2. **Vehicle Starting Lock State (Option)**
Set lock state for all vehicles (removes ambiguous lock states)
`Default value: "As Is"` -3. **Default Lockpick Strength (Number)
** +3. **Default Lockpick Strength (Number)**
Default Time to lockpick (in seconds)
`Default value: 10` @@ -305,22 +305,22 @@ This module allows you to customize the weather settings. **Settings:** -1. **Weather propagation (Boolean)
** +1. **Weather propagation (Boolean)**
Enables sever side weather propagation.
`Default value: Yes` -2. **ACE Weather (Boolean)
** +2. **ACE Weather (Boolean)**
Overrides the default weather (editor, mission settings) with ACE weather (map based).
`Default value: Yes` -3. **Sync Rain (Boolean)
** +3. **Sync Rain (Boolean)**
Synchronizes rain.
`Default value: Yes` -3. **Sync Wind (Boolean)
** +3. **Sync Wind (Boolean)**
Synchronizes wind.
`Default value: Yes` -3. **Sync Misc (Boolean)
** +3. **Sync Misc (Boolean)**
Synchronizes lightnings, rainbow, fog, ...
`Default value: Yes` -4. **Update Interval (Number)
** +4. **Update Interval (Number)**
Defines the interval (seconds) between weather updates.
`Default value: 60` @@ -336,16 +336,16 @@ This module allows you to define when wind deflection is active. **Settings:** -1. **Wind Deflection (Boolean)
** +1. **Wind Deflection (Boolean)**
Enables wind deflection.
`Default value: Yes` -2. **Vehicle Enabled (Boolean)
** +2. **Vehicle Enabled (Boolean)**
Enables wind deflection for static/vehicle gunners.
`Default value: Yes` -3. **Simulation Interval (Number)
** +3. **Simulation Interval (Number)**
Defines the interval between every calculation step.
`Default value: 0.05` -4. **Simulation Radius (Number)
** +4. **Simulation Radius (Number)**
Defines the radius around the player (in meters) at which projectiles are wind deflected.
`Default value: 3000` @@ -365,13 +365,13 @@ This module allows you to change the default Advanced Medical Settings, when [2. **Settings:** -1. **Enabled for (Options)
** +1. **Enabled for (Option)**
Select what units the advanced medical system will be enabled for.
`Default value: "Players only"` -2. **Enable Advanced wounds (Boolean)
** +2. **Enable Advanced wounds (Boolean)**
Allow reopening of bandaged wounds?
`Default value: No` -3. **Vehicle Crashes (Boolean)
** +3. **Vehicle Crashes (Boolean)**
Do units take damage from a vehicle crash?
`Default value: Yes` 4. **Allow PAK (Option)**
@@ -394,3 +394,130 @@ Where can the Surgical kit be used?
`Default value: "Vehicles & facility"` +### 2.2 Medical Settings + +This module allows to tweak all the medical settings used in ACE3 + +**Settings:** + +1. **Medical Level (Option)**
+What is the medical simulation level?
+`Default value: "Basic"` +2. **Medics setting (Option)**
+What is the level of detail preferred for medics?
+`Default value: "Normal"` +3. **Enable Litter (Boolean)**
+Enable litter being created upon treatment.
+`Default value: "Normal"` +4. **Life time of litter objects (Number)**
+How long should litter objects stay? In seconds. -1 is forever.
+`Default value: 1800` +5. **Enable Screams (Boolean)**
+Enable screaming by injured units.
+`Default value: Yes` +6. **Player Damage (Number)**
+What is the damage a player can take before being killed?
+`Default value: 1` +7. **AI Damage (Number)**
+What is the damage an AI can take before being killed?
+`Default value: 1` +8. **AI Unconsciousness (Option)**
+Allow AI to go unconscious.
+`Default value: "50/50"` +9. **Prevent instant death (Boolean)**
+Have a unit move to unconscious instead of death.
+`Default value: No` +10. **Bleeding coefficient (Number)**
+Coefficient to modify the bleeding speed.
+`Default value: 1` +11. **Pain coefficient (Number)**
+Coefficient to modify the pain intensity.
+`Default value: 1` +12. **Pain coefficient (Boolean)**
+Keep unit status synced. Recommended on.
+`Default value: Yes` + + +### 2.3 Revive Settings + +This modules allows a mission maker to limit the amount of revives for units in basic and advanced medical. + +**Settings:** + +1. **Enable Revive (Option)**
+Enable a basic revive system
+`Default value: "disable"` +2. **Max Revive time (Number)**
+Max amount of seconds a unit can spend in revive state
+`Default value: 120` +3. **Max Revive lives (Number)**
+Max amount of lives a unit. 0 or -1 is disabled.
+`Default value: -1` + + +### 2.4 Set Medic Class + +Using this module you can define which unit class is defined as a medic / doctor. + +**Settings:** + +1. **List (String)**
+List of unit names that will be classified as medic, separated by commas.
+`Default value: ""` +2. **Is Medic (Boolean)**
+Medics allow for more advanced treatment in case of Advanced Medic roles enabled
+`Default value: "Regular medic"` + + +### 2.5 Set Medical Facility + +Defines an object as a medical facility for CMS. This allows for more advanced treatments. Can be synced with buildings and vehicles. + +**Settings:** + +1. **Is Medical Facility (Boolean)**
+Registers an object as a medical facility for CMS.
+`Default value: Yes` + + +### 2.6 Set Medical Vehicle + +Defines an object as a medical facility for CMS. This allows for more advanced treatments. Can be synced with buildings and vehicles. + +**Settings:** + +1. **List (String)**
+List of vehicles that will be classified as medical vehicle, separated by commas.
+`Default value: ""` +2. **Is Medical Vehicle (Boolean)**
+Whether or not the objects in the list will be a medical vehicle.
+`Default value: Yes` + + +## 3. ACE Mission Modules +*Part of: ace_missionmodules* + +### 3.1 Ambiance Sounds + +Used for smbiance sounds loop (synced across MP) + +**Settings:** + +1. **Sounds (String)**
+Class names of the ambiance sounds played. Separated by ','.
+`Default value: ""` +2. **Minimal Distance (Number)**
+Minimal Distance (in meters)
+`Default value: 400` +3. **Minimal Delay (Number)**
+Minimal Delay (in seconds) between sounds played
+`Default value: 10` +4. **Maximal Delay (Number)**
+Maximal Delay (in seconds) between sounds played
+`Default value: 10` +5. **Follow Players (Boolean)**
+Follow players. If set to false, loop will play sounds only nearby logic position.
+`Default value: No` +6. **Volume (Number)**
+The volume of the sounds played
+`Default value: 1` \ No newline at end of file From da912d8cc14a38c3e070d8dd3934ccf8fcbf1a90 Mon Sep 17 00:00:00 2001 From: bux578 Date: Sun, 3 May 2015 11:35:59 +0200 Subject: [PATCH 019/217] fix typo --- documentation/missionmaker/modules.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/missionmaker/modules.md b/documentation/missionmaker/modules.md index e3d1f4cb21..40a50faf76 100644 --- a/documentation/missionmaker/modules.md +++ b/documentation/missionmaker/modules.md @@ -499,7 +499,7 @@ Whether or not the objects in the list will be a medical vehicle.
### 3.1 Ambiance Sounds -Used for smbiance sounds loop (synced across MP) +Used for ambiance sounds loop (synced across MP) **Settings:** From e5a81bfe37dbcf020345ec8d20e369c2fa5288f9 Mon Sep 17 00:00:00 2001 From: ulteq Date: Sun, 3 May 2015 11:46:30 +0200 Subject: [PATCH 020/217] Deterministic random numbers for the transonic instability calculation --- .../AdvancedBallistics.cpp | 34 +++++++++++++++---- 1 file changed, 27 insertions(+), 7 deletions(-) diff --git a/extensions/advanced_ballistics/AdvancedBallistics.cpp b/extensions/advanced_ballistics/AdvancedBallistics.cpp index 93fa6d7c27..0e9b5a9786 100644 --- a/extensions/advanced_ballistics/AdvancedBallistics.cpp +++ b/extensions/advanced_ballistics/AdvancedBallistics.cpp @@ -1,9 +1,9 @@ #include "ace_common.h" -#include #include #include #include +#include #define M_PI 3.14159265358979323846f #define GRAVITY 9.80665f @@ -44,6 +44,8 @@ struct Bullet { double lastFrame; double hDeflection; double spinDrift; + unsigned randSeed; + std::default_random_engine randGenerator; }; struct Map { @@ -372,6 +374,7 @@ void __stdcall RVExtension(char *output, int outputSize, const char *function) bulletDatabase[index].spinDrift = 0.0; bulletDatabase[index].speed = 0.0; bulletDatabase[index].frames = 0.0; + bulletDatabase[index].randSeed = 0; int n = sprintf_s(output, outputSize, "%s", ""); return; @@ -411,6 +414,22 @@ void __stdcall RVExtension(char *output, int outputSize, const char *function) tickTime = strtod(strtok_s(NULL, ":", &next_token), NULL); tickTime += strtod(strtok_s(NULL, ":", &next_token), NULL); + if (bulletDatabase[index].randSeed == 0) { + int angle = (int)round(atan2(velocity[0], velocity[1]) * 360 / M_PI); + bulletDatabase[index].randSeed = (unsigned)(720 + angle) % 720; + bulletDatabase[index].randSeed *= 3; + bulletDatabase[index].randSeed += (unsigned)round(abs(velocity[2]) / 2); + bulletDatabase[index].randSeed *= 3; + bulletDatabase[index].randSeed += (unsigned)round(abs(bulletDatabase[index].origin[0] / 2)); + bulletDatabase[index].randSeed *= 3; + bulletDatabase[index].randSeed += (unsigned)round(abs(bulletDatabase[index].origin[1] / 2)); + bulletDatabase[index].randSeed *= 3; + bulletDatabase[index].randSeed += (unsigned)abs(bulletDatabase[index].temperature) * 10; + bulletDatabase[index].randSeed *= 3; + bulletDatabase[index].randSeed += (unsigned)abs(bulletDatabase[index].humidity) * 10; + bulletDatabase[index].randGenerator.seed(bulletDatabase[index].randSeed); + } + double ballisticCoefficient = 1.0; double dragRef = 0.0; double drag = 0.0; @@ -572,12 +591,13 @@ void __stdcall RVExtension(char *output, int outputSize, const char *function) positionOffset[0] += sin(bulletDir + M_PI / 2) * spinDriftPartial; positionOffset[1] += cos(bulletDir + M_PI / 2) * spinDriftPartial; - if (bulletSpeed < 345 && bulletSpeedAvg > 340 && bulletSpeed > 335) - { - srand((unsigned)time(NULL)); - velocityOffset[0] += (((double)rand() / (RAND_MAX)) * 0.4 - 0.2) * (1 - bulletDatabase[index].transonicStabilityCoef); - velocityOffset[1] += (((double)rand() / (RAND_MAX)) * 0.4 - 0.2) * (1 - bulletDatabase[index].transonicStabilityCoef); - velocityOffset[2] += (((double)rand() / (RAND_MAX)) * 0.4 - 0.2) * (1 - bulletDatabase[index].transonicStabilityCoef); + if (bulletSpeed < 345 && bulletSpeedAvg > 340 && bulletSpeed > 335) { + std::uniform_real_distribution distribution(0.0, 1.0); + double coef = 1.0f - bulletDatabase[index].transonicStabilityCoef; + + velocityOffset[0] += (distribution(bulletDatabase[index].randGenerator) * 0.8 - 0.4) * coef; + velocityOffset[1] += (distribution(bulletDatabase[index].randGenerator) * 0.8 - 0.4) * coef; + velocityOffset[2] += (distribution(bulletDatabase[index].randGenerator) * 0.8 - 0.4) * coef; }; int n = sprintf_s(output, outputSize, "_bullet setVelocity (_bulletVelocity vectorAdd [%f, %f, %f]); _bullet setPosASL (_bulletPosition vectorAdd [%f, %f, %f]);", velocityOffset[0], velocityOffset[1], velocityOffset[2], positionOffset[0], positionOffset[1], positionOffset[2]); From a0e443cfc63f345543508afef45338454dfd1b9c Mon Sep 17 00:00:00 2001 From: ProfessorCZ Date: Sun, 3 May 2015 11:48:56 +0200 Subject: [PATCH 021/217] Czech translation - Update --- addons/ballistics/stringtable.xml | 4 +- addons/flashsuppressors/stringtable.xml | 4 +- addons/kestrel4500/stringtable.xml | 2 +- addons/laser/stringtable.xml | 5 +- addons/medical/stringtable.xml | 22 +++++-- addons/missileguidance/stringtable.xml | 1 + addons/realisticnames/stringtable.xml | 76 ++++++++++++------------- addons/scopes/stringtable.xml | 9 +++ 8 files changed, 75 insertions(+), 48 deletions(-) diff --git a/addons/ballistics/stringtable.xml b/addons/ballistics/stringtable.xml index 97203b165e..534019d7c5 100644 --- a/addons/ballistics/stringtable.xml +++ b/addons/ballistics/stringtable.xml @@ -483,7 +483,7 @@ Cargador de 10 balas trazadoras de 9.3mm Магазин из 10-ти 9,3 мм трассирующих 9.3mm 10Rnd Tracer Mag - 9.3mm 10Rnd Svítící Zásobník + 9.3mm 10náb. Svítící Zásobník Carregador de 10 cartuchos 9.3mm traçantes 9,3mm 10-lövedékes nyomkövető tár @@ -1593,4 +1593,4 @@ Kaliber: 12,7x99mm (AMAX)<br />Lövedékek: 5 - + \ No newline at end of file diff --git a/addons/flashsuppressors/stringtable.xml b/addons/flashsuppressors/stringtable.xml index 75641b8e01..509c16ddce 100644 --- a/addons/flashsuppressors/stringtable.xml +++ b/addons/flashsuppressors/stringtable.xml @@ -68,7 +68,7 @@ Soppressore di fiamma (.338) Supressor de Clarão (.338) Tłumik płomienia (.338) - Tlumič záblesku (.338) + Tlumič plamene (.338) Cache-flamme (.338) Пламегаситель (.338) Bocacha (.338) @@ -80,7 +80,7 @@ Soppressore di fiamma (9.3mm) Supressor de Clarão (9,3mm) Tłumik płomienia (9,3 mm) - Tlumič záblesku (9,3 mm) + Tlumič plamene (9,3 mm) Cache-flamme (9,3 mm) Пламегаситель (9,3 мм) Bocacha (9,3 mm) diff --git a/addons/kestrel4500/stringtable.xml b/addons/kestrel4500/stringtable.xml index ce97297a6b..e584b9120c 100644 --- a/addons/kestrel4500/stringtable.xml +++ b/addons/kestrel4500/stringtable.xml @@ -23,7 +23,7 @@ Kestrel 4500 Indicatore Meteorologico Tascabile Kestrel 4500 Medidor Balístico Ativo Kestrel 4500 kézi szél-és időjárásmérő - Kapesní měřič počasí Kestrel 4500 + Příruční meteostanice Kestrel 4500 Open Kestrel 4500 diff --git a/addons/laser/stringtable.xml b/addons/laser/stringtable.xml index 686da19dbc..77a16db525 100644 --- a/addons/laser/stringtable.xml +++ b/addons/laser/stringtable.xml @@ -10,6 +10,7 @@ Código do Laser Lézerkód Código del láser + Laser kód Laser - Cycle Code Up @@ -20,6 +21,7 @@ Laser - Alternar Código para Cima Lézer - kódciklus növelése Láser - Aumentar código + Laser - Kód + Laser - Cycle Code Down @@ -30,6 +32,7 @@ Laser - Alternar Código para Baixo Lézer - kódciklus csökkentése Láser - Reducir código + Laser - Kód - - + \ No newline at end of file diff --git a/addons/medical/stringtable.xml b/addons/medical/stringtable.xml index 5d991661cb..e66eab04fc 100644 --- a/addons/medical/stringtable.xml +++ b/addons/medical/stringtable.xml @@ -1,4 +1,4 @@ - + @@ -347,6 +347,7 @@ Bendaggio compressivo Bandage gauze Bandagem de Compressão + Tlakový obvaz Elastic Bandage @@ -775,7 +776,7 @@ Vendaje (Básico) Bandage (Standard) Bandaż (jałowy) - Bandáž (standartní) + Obvaz (standartní) Kötszer (Általános) Bendaggio (base) Bandagem(Básico) @@ -802,6 +803,7 @@ Egy különleges anyagú kötszer sebek betakarására, amelyet a vérzés elállítása után helyeznek fel. Una benda apposita, utilizzata per coprire una ferita, la quale è applicata sopra di essa una volta fermata l'emorragia. Uma curativo, material específico para cobrir um ferimento que é aplicado assim que o sangramento é estancando. + Obvaz je vhodným způsobem upravený sterilní materiál, určený k překrytí rány, případně k fixaci poranění. Packing Bandage @@ -813,6 +815,7 @@ Nyomókötszer Bendaggio compressivo Bandagem de Compressão + Tlakový obvaz Used to pack medium to large wounds and stem the bleeding @@ -824,6 +827,7 @@ Közepestől nagyig terjedő sebek betakarására és vérzés elállítására használt kötszer Usato su medie o larghe ferite per fermare emorragie. Usado para o preenchimento de cavidades geradas por ferimentos médios e grandes e estancar o sangramento. + Používá se k zastavení středních až silnějších krvácení A bandage used to pack the wound to stem bleeding and facilitate wound healing. Packing a wound is an option in large polytrauma injuries. @@ -835,6 +839,7 @@ Un bendaggio usato per coprire la ferita, fermare il sanguinamento e facilitarne la guarigione. Questa tecnica è opzionale su ferite multiple. Ein Verband, um die Wunde abzudecken und die Wundheilung zu fördern. Wunden abdecken ist eine Option bei größeren Polytraumen Uma bandagem usada para preencher o ferimento para estancar o sangramento e facilitar a cicatrização. Preenchimento de feridas é uma opção em ferimentos de politrauma grandes. + Tlakový obvaz se skládá se ze sterilní krycí vrstvy, na kterou je přiložena silná vrstva savého materiálu stlačující cévu v ráně a která je přitlačována k ráně a připevněna obinadlem. Slouží k zastavení silnějších krvácení. Bandage (Elastic) @@ -843,7 +848,7 @@ Vendaje (Elástico) Bandage (Élastique) Bandaż (elastyczny) - Bandáž (elastická) + Obvaz (elastický) Rögzító kötszer Benda (Elastica) Bandagem (Elástica) @@ -858,6 +863,7 @@ Rugalmas kötszercsomag, "rögzítő" Kit bendaggio, elastico Kit de Bandagem, Elástica + Sada obvazů, Elastická Allows an even compression and extra support to the injured area. @@ -869,6 +875,7 @@ Egyenletes nyomást és támogatást biztosít a sebesült felületnek. Permette di comprimevere e aiutare la zone ferita. Esta bandagem pode ser utilizada para comprimir o ferimento e diminuir o sangramento e garantir que o ferimento não abra em movimento. + Hodí se k fixačním účelům a to i v oblastech kloubů. Tourniquet (CAT) @@ -964,6 +971,7 @@ NBK helyzetek esetén használandó Usato in situazioni con gas nervino. Usado em casos de ataque QBRN + Používá se v přítomnosti nervových plynů A drug used by the Military in NBC scenarios. @@ -975,6 +983,7 @@ Egy instabil alkaloid, NBK helyzetek esetén a katonai szervezetek veszik használatba. E' un farmaco usato in ambito militare in scenari con presenza di gas nervino. Uma droga usada por militares em casos de ataque QBRN. + Atropin slouží jako protijed na otravu organofosfátovými insekticidy (diazinon) a nervovými plyny. Epinephrine autoinjector @@ -1010,6 +1019,7 @@ Ein Medikament, dass die Bronchien erweitert, die Herzfrequenz erhöht und Symptome von allergischen Reaktionen(Anaphylaxie) bekämpft. Wird bei plötzlichem Herzstillstand verabreicht. Uma droga trabalha dilatando os bronquios, aumentando a frequência cardíaca e combate efeitos de reações alérgicas(anáfilaticas). Usado em casos de parada cardiaca com poucas changes de recuperação. Egy hormon, mely a szimpatikus idegrendszer által kitágítja a hörgőket, valamint megnöveli a szívverést, ezzel ellensúlyozva ilyen jellegű allergiás reakciókat (anafilaxiás sokk). Hirtelen szívmegállás esetén is használt, idő alatt csökkenő hatásfokkal. + Zúžení periferních cév díky působení na alfa receptory a následné kontrakci hladkých svalů, tím dochází k tzv. centralizaci oběhu, krev se soustřeďuje v životně důležitých centrálních orgánech (srdce, mozek, plíce), působí také pozitivně na srdeční činnost a dochází ke zvýšení krevního tlaku a tepu. Dále se používá při náhlé srdeční zástavě. Plasma IV (1000ml) @@ -1105,6 +1115,7 @@ O Negative Blutinfusion wird nur in seltenen Fällen verwendet, um den Bluthaushalt des Patienten zu ergänzen. Wird in der Regel wärend der Transportphase durchgeführt. Sangue O- , utilizado em casos raros para rapidamente repor o sangue. Uso habitual ocorre durante o transporte ou em estações de tratamento. Nullás vércsoportú, Rh-negatív vér-infúzió, melyet kritikus és ritka helyzetekben vérutánpótlásra használnak, jellemzően az orvosi ellátás szállítási fázisa közben. + 0 Rh negativní krev se používá v vzácných případech k doplnění pacientovy hladiny krve, obvykle při převozu zraněné osoby do nemocnice. Blood IV (500ml) @@ -1164,6 +1175,7 @@ Una soluzione medica per ripristinare il volume del sangue introdotta tramite trasfusione IV. Ein medizinisches Volumenersatzmittel, dass durch einen intravenösen Zugang in den Blutkreislauf verabreicht wird. Uma reposição temporaria para restaurar a pressão arterial perdida por perda de sangue. + Fyziologický roztok se využívá nejčastěji jako infuze při dehydrataci organismu. Saline IV (500ml) @@ -2192,6 +2204,7 @@ Type d'effet de douleur Fájdalom-effekt típusa Tipo do efeito de dor + Typ bolesti - efekt Colour Flashing @@ -2203,6 +2216,7 @@ Flash de couleur Színvillódzás Flash de cor + Blikající barva Chromatic Aberration @@ -2679,4 +2693,4 @@ Снятие жгута ... - + \ No newline at end of file diff --git a/addons/missileguidance/stringtable.xml b/addons/missileguidance/stringtable.xml index 3d1d8d101f..635211d30e 100644 --- a/addons/missileguidance/stringtable.xml +++ b/addons/missileguidance/stringtable.xml @@ -23,6 +23,7 @@ Le guidage avancé de missile, ou AMG en anglais, apporte de multiple améliorations au verouillage et au tir de missiles. C'est aussi un framework requis pour tout arme de type missile. A fejlett rakétairányító (vagy AMG) többféle módosítást tartalmaz a rakéták célkövetéséhez és tüzeléséhez. Ez egy szükséges keresztrendszer a rakéta-alapú fegyverekhez. Orientação avançada de mísseis ou OAM, fornece vários aprimoramentos para travamento de mísseis e disparos. Também é um sistema requerido para disparar armas que utilizem mísseis. + Pokočilé navádění raket (AMG) poskytuje několik vylepšení pro lepší zaměření a následnou střelbu. Je to prvek vyžadovaný u typ zbraní jako jsou rakety. Hydra-70 DAGR Missile diff --git a/addons/realisticnames/stringtable.xml b/addons/realisticnames/stringtable.xml index 44da39f72a..c18f869d29 100644 --- a/addons/realisticnames/stringtable.xml +++ b/addons/realisticnames/stringtable.xml @@ -30,7 +30,7 @@ XM312 (Hoch) XM312 (Alto) XM312 (Haut) - XM312 (vysoká montáž) + XM312 (Vysoká montáž) XM312 (Wysoki) XM312 (Высокий) XM312 (Alta) @@ -66,7 +66,7 @@ XM307 (Hoch) XM307 (Alto) XM307 (Haut) - XM307 (vysoká montáž) + XM307 (Vysoká montáž) XM307 (Wysoki) XM307 (Высокий) XM307 (Alta) @@ -822,7 +822,7 @@ Ka-60 Kasatka (unbewaffnet) Ka-60 Kasatka (desarmado) Ka-60 Kasatka (nieuzbrojony) - Ka-60 Kasatka (neozbrojená) + Ka-60 Kasatka (neozbrojený) Ka-60 Kasatka (non-armé) Ka-60 Касатка (невооруженный) Ka-60 Kasatka (desarmado) @@ -918,7 +918,7 @@ M83 Rauchgranate (Weiss) Granada de humo M83 (Blanco) Granat dymny M83 (Biały) - M83 Kouřový Granát (bílý) + M83 Kouřový Granát (Bílý) M83 Grenade fumigène (Blanche) M83 дымовая граната (Белый) M83 Granada de fumaça (Branca) @@ -930,7 +930,7 @@ M18 Rauchgranate (Blau) Granada de humo M18 (Azul) Granat dymny M18 (Niebieski) - M18 Kouřový Granát (modrý) + M18 Kouřový Granát (Modrý) M18 Grenade fumigène (Bleue) M18 дымовая граната (Синий) M18 Granada de fumaça (Azul) @@ -942,7 +942,7 @@ M18 Rauchgranate (Grün) Granada de humo M18 (Verde) Granat dymny M18 (Zielony) - M18 Kouřový Granát (zelený) + M18 Kouřový Granát (Zelený) M18 Grenade fumigène (Verte) M18 дымовая граната (Зелёный) M18 Granada de fumaça (Verde) @@ -954,7 +954,7 @@ M18 Rauchgranate (Orange) Granada de humo M18 (Naranja) Granat dymny M18 (Pomarańczowy) - M18 Kouřový Granát (oranžový) + M18 Kouřový Granát (Oranžový) M18 Grenade fumigène (Orange) M18 дымовая граната (Оранжевый) M18 Granada de fumaça (Laranja) @@ -966,7 +966,7 @@ M18 Rauchgranate (Violett) Granada de humo M18 (Púrpura) Granat dymny M18 (Fioletowy) - M18 Kouřový Granát (fialový) + M18 Kouřový Granát (Fialový) M18 Grenade fumigène (Pourpre) M18 дымовая граната (Пурпурный) M18 Granada de fumaça (Roxa) @@ -978,7 +978,7 @@ M18 Rauchgranate (Rot) Granada de humo M18 (Rojo) Granat dymny M18 (Czerwony) - M18 Kouřový Granát (červený) + M18 Kouřový Granát (Červený) M18 Grenade fumigène (Rouge) M18 дымовая граната (Красный) M18 Granada de fumaça (Vermelha) @@ -990,7 +990,7 @@ M18 Rauchgranate (Gelb) Granada de humo M18 (Amarillo) Granat dymny M18 (Żółty) - M18 Kouřový Granát (žlutý) + M18 Kouřový Granát (Žlutý) M18 Grenade fumigène (Jaune) M183 дымовая граната (Жёлтый) M18 Granada de fumaça (Amarela) @@ -1144,7 +1144,7 @@ Mini-Spike (AA) Mini-Spike (FlaRak) - Mini-Spike (PL) + Mini-Spike (AA) Mini-Spike (AA) Mini-Spike (AA) Mini-Spike (Repülő-elhárító) @@ -1156,7 +1156,7 @@ Mini-Spike (AT) Mini-Spike (PALR) - Mini-Spike (PT) + Mini-Spike (AT) Mini-Spike (AT) Mini-Spike (AC) Mini-Spike (Tankelhárító) @@ -1181,7 +1181,7 @@ MX (Black) MX (Schwarz) MX (Czarny) - MX (černý) + MX (Černý) MX (Noir) MX (Fekete) MX (Negro) @@ -1205,7 +1205,7 @@ MXC (Black) MXC (Schwarz) MXC (Czarny) - MXC (černý) + MXC (Černý) MXC (Noir) MXC (Fekete) MXC (Negro) @@ -1229,7 +1229,7 @@ MX 3GL (Black) MX 3GL (Schwarz) MX 3GL (Czarny) - MX 3GL (černý) + MX 3GL (Černý) MX 3GL (Noir) MX 3GL (Fekete) MX 3GL (Negro) @@ -1253,7 +1253,7 @@ MX LSW (Black) MX LSW (Schwarz) MX LSW (Czarny) - MX LSW (černý) + MX LSW (Černý) MX LSW (Noir) MX LSW (Fekete) MX LSW (Negro) @@ -1277,7 +1277,7 @@ MXM (Black) MXM (Schwarz) MXM (Czarny) - MXM (černý) + MXM (Černý) MXM (Noir) MXM (Fekete) MXM (Negro) @@ -1325,7 +1325,7 @@ F2000 (Camo) F2000 (Tarnmuster) F2000 (kamuflaż) - F2000 (kamufláž + F2000 (Kamufláž) F2000 (Camo) F2000 (Terepmintás) F2000 (Camuflaje) @@ -1349,7 +1349,7 @@ F2000 Tactical (Camo) F2000 Tactical (Tarnmuster) F2000 Tactical (kamuflaż) - F2000 Tactical (černý) + F2000 Tactical (Černý) F2000 Tactical (Camo) F2000 Tactical (Terepmintás) F2000 Tactical (Camuflaje) @@ -1373,7 +1373,7 @@ F2000 EGLM (Camo) F2000 EGLM (Tarnmuster) F2000 EGLM (kamuflaż) - F2000 EGLM (kamufláž) + F2000 EGLM (Kamufláž) F2000 EGLM (Camo) F2000 EGLM (Terepmintás) F2000 EGLM (Camuflaje) @@ -1529,7 +1529,7 @@ GM6 Lynx (Camo) GM6 Lynx (Tarnmuster) GM6 Lynx (kamuflaż) - GM6 Lynx (kamufláž) + GM6 Lynx (Kamufláž) GM6 Lynx (Camo) GM6 Gepárd (Terepmintás) GM6 Lynx (Camuflaje) @@ -1553,7 +1553,7 @@ M200 Intervention (Camo) M200 Intervention (Tarnmuster) M200 Intervention (kamuflaż) - M200 Intervention (kamufláž) + M200 Intervention (Kamufláž) M200 Intervention (Camo) M200 Intervention (Terepmintás) M200 Intervention (Camuflaje) @@ -1587,7 +1587,7 @@ Noreen "Bad News" ULR (Black) - Noreen "Bad News" ULR (Black) + Noreen "Bad News" ULR (Černý) Noreen "Bad News" ULR (Noir) Noreen "Bad News" ULR (Negro) Noreen "Bad News" ULR (Чёрный) @@ -1599,7 +1599,7 @@ Noreen "Bad News" ULR (Camo) - Noreen "Bad News" ULR (Camo) + Noreen "Bad News" ULR (Kamufláž) Noreen "Bad News" ULR (Camo) Noreen "Bad News" ULR (Camuflaje) Noreen "Bad News" ULR (Камо) @@ -1611,7 +1611,7 @@ Noreen "Bad News" ULR (Sand) - Noreen "Bad News" ULR (Sand) + Noreen "Bad News" ULR (Pouštní) Noreen "Bad News" ULR (Beige) Noreen "Bad News" ULR (Arena) Noreen "Bad News" ULR (Песочный) @@ -1635,7 +1635,7 @@ SIG 556 (Black) - SIG 556 (Black) + SIG 556 (Černý) SIG 556 (Noir) SIG 556 (Negro) SIG 556 (Чёрный) @@ -1659,7 +1659,7 @@ SIG 556 (Sand) - SIG 556 (Sand) + SIG 556 (Pouštní) SIG 556 (Beige) SIG 556 (Arena) SIG 556 (Песочный) @@ -1671,7 +1671,7 @@ SIG 556 (Camo) - SIG 556 (Camo) + SIG 556 (Kamufláž) SIG 556 (Camo) SIG 556 (Camuflaje) SIG 556 (Камо) @@ -1695,7 +1695,7 @@ SIG 556 (provisional) spotter - SIG 556 (provisional) spotter + SIG 556 (Provizorní) spotter SIG 556 (provisoire) Observateur SIG 556 (provisional) observador SIG 556 (provisional) корректировщик @@ -1719,7 +1719,7 @@ ASP-1 Kir (Black) - ASP-1 Kir (Black) + ASP-1 Kir (Čený) ASP-1 Kir (Noir) ASP-1 Kir (Negro) ASP-1 Kir (Чёрный) @@ -1731,7 +1731,7 @@ ASP-1 Kir (Tan) - ASP-1 Kir (Tan) + ASP-1 Kir (Pouštní) ASP-1 Kir (Tan) ASP-1 Kir (Tan) ASP-1 Kir (Бронзовый) @@ -1755,7 +1755,7 @@ Cyrus (Black) - Cyrus (Black) + Cyrus (Černý) Cyrus (Noir) Cyrus (Negro) Cyrus (Чёрный) @@ -1779,7 +1779,7 @@ Cyrus (Tan) - Cyrus (Tan) + Cyrus (Pouštní) Cyrus (Tan) Cyrus (Tan) Cyrus (Бронза) @@ -1803,7 +1803,7 @@ M14 (Camo) - M14 (Camo) + M14 (Kamufláž) M14 (Camo) M14 (Camuflaje) M14 (Камо) @@ -1815,7 +1815,7 @@ M14 (Olive) - M14 (Olive) + M14 (Olivový) M14 (Olive) M14 (Oliva) M14 (Олива) @@ -1851,7 +1851,7 @@ HK121 (Tan) - HK121 (Tan) + HK121 (Pouštní) HK121 (Tan) HK121 (Tan) HK121 (Бронза) @@ -1887,7 +1887,7 @@ LWMMG (Black) - LWMMG (Black) + LWMMG (Černý) LWMMG (Noir) LWMMG (Negro) LWMMG (Чёрный) @@ -1899,7 +1899,7 @@ LWMMG (Sand) - LWMMG (Sand) + LWMMG (Pouštní) SPMG (Beige) LWMMG (Arena) LWMMG (Песочный) diff --git a/addons/scopes/stringtable.xml b/addons/scopes/stringtable.xml index f21a49ff24..e397208e34 100644 --- a/addons/scopes/stringtable.xml +++ b/addons/scopes/stringtable.xml @@ -11,6 +11,7 @@ Kleine Korrektur nach oben Enyhe állítás fel Pequeno ajuste para cima + Korekce mírně nahoru Minor adjustment down @@ -22,6 +23,7 @@ Kleine Korrektur nach unten Enyhe állítás le Pequeno ajuste para baixo + Korekce mírně dolů Minor adjustment right @@ -33,6 +35,7 @@ Kleine Korrektur nach rechts Enyhe állítás jobbra Pequeno ajuste para direita + Korekce mírně doprava Minor adjustment left @@ -44,6 +47,7 @@ Kleine Korrektur nach links Enyhe állítás balra Pequeno ajuste para esquerda + Korekce mírně doleva Major adjustment up @@ -55,6 +59,7 @@ Große Korrektur nach oben Nagy állítás fel Ajuste grande para cima + Korekce nahoru Major adjustment down @@ -66,6 +71,7 @@ Große Korrektur nach unten Nagy állítás le Ajuste grande para baixo + Korekce dolů Major adjustment right @@ -77,6 +83,7 @@ Große Korrektur nach rechts Nagy állítás jobbra Ajuste grande para direita + Korekce doprava Major adjustment left @@ -88,6 +95,7 @@ Große Korrektur nach links Nagy állítás balra Ajuste grande para esquerda + Korekce doleva Set zero adjustment @@ -99,6 +107,7 @@ Auf 0 justieren Állítások nullázása Zerar ajuste + Vynulování korekce \ No newline at end of file From d07cb0e6edb8cec352b8054403c56c64835fdfa8 Mon Sep 17 00:00:00 2001 From: ulteq Date: Sun, 3 May 2015 11:51:30 +0200 Subject: [PATCH 022/217] Got rid of the newline braces --- .../AdvancedBallistics.cpp | 76 +++++++------------ 1 file changed, 29 insertions(+), 47 deletions(-) diff --git a/extensions/advanced_ballistics/AdvancedBallistics.cpp b/extensions/advanced_ballistics/AdvancedBallistics.cpp index 0e9b5a9786..0a476c9c65 100644 --- a/extensions/advanced_ballistics/AdvancedBallistics.cpp +++ b/extensions/advanced_ballistics/AdvancedBallistics.cpp @@ -97,8 +97,7 @@ double calculateAirDensity(double temperature, double pressure, double relativeH double partialPressure = pressure - vaporPressure; return (partialPressure * 0.028964 + vaporPressure * 0.018016) / (8.314 * (273.15 + temperature)); - } - else { + } else { return pressure / (287.058 * (273.15 + temperature)); } } @@ -108,14 +107,12 @@ double calculateAtmosphericCorrection(double ballisticCoefficient, double temper if (!strcmp(atmosphereModel, "ICAO")) { return (1.22498 / airDensity) * ballisticCoefficient; - } - else { + } else { return (1.20885 / airDensity) * ballisticCoefficient; } } double calculateRetard(int DragFunction, double DragCoefficient, double Velocity) { - double vel = Velocity * 3.2808399; double val = -1; double A = -1; @@ -123,7 +120,7 @@ double calculateRetard(int DragFunction, double DragCoefficient, double Velocity switch (DragFunction) { case 1: - if (vel> 4230) { A = 1.477404177730177e-04; M = 1.9565; } + if (vel> 4230) { A = 1.477404177730177e-04; M = 1.9565; } else if (vel> 3680) { A = 1.920339268755614e-04; M = 1.925; } else if (vel> 3450) { A = 2.894751026819746e-04; M = 1.875; } else if (vel> 3295) { A = 4.349905111115636e-04; M = 1.825; } @@ -167,7 +164,7 @@ double calculateRetard(int DragFunction, double DragCoefficient, double Velocity break; case 2: - if (vel> 1674) { A = .0079470052136733; M = 1.36999902851493; } + if (vel> 1674) { A = .0079470052136733; M = 1.36999902851493; } else if (vel> 1172) { A = 1.00419763721974e-03; M = 1.65392237010294; } else if (vel> 1060) { A = 7.15571228255369e-23; M = 7.91913562392361; } else if (vel> 949) { A = 1.39589807205091e-10; M = 3.81439537623717; } @@ -177,7 +174,7 @@ double calculateRetard(int DragFunction, double DragCoefficient, double Velocity break; case 5: - if (vel> 1730) { A = 7.24854775171929e-03; M = 1.41538574492812; } + if (vel> 1730) { A = 7.24854775171929e-03; M = 1.41538574492812; } else if (vel> 1228) { A = 3.50563361516117e-05; M = 2.13077307854948; } else if (vel> 1116) { A = 1.84029481181151e-13; M = 4.81927320350395; } else if (vel> 1004) { A = 1.34713064017409e-22; M = 7.8100555281422; } @@ -187,7 +184,7 @@ double calculateRetard(int DragFunction, double DragCoefficient, double Velocity break; case 6: - if (vel> 3236) { A = 0.0455384883480781; M = 1.15997674041274; } + if (vel> 3236) { A = 0.0455384883480781; M = 1.15997674041274; } else if (vel> 2065) { A = 7.167261849653769e-02; M = 1.10704436538885; } else if (vel> 1311) { A = 1.66676386084348e-03; M = 1.60085100195952; } else if (vel> 1144) { A = 1.01482730119215e-07; M = 2.9569674731838; } @@ -197,7 +194,7 @@ double calculateRetard(int DragFunction, double DragCoefficient, double Velocity break; case 7: - if (vel> 4200) { A = 1.29081656775919e-09; M = 3.24121295355962; } + if (vel> 4200) { A = 1.29081656775919e-09; M = 3.24121295355962; } else if (vel> 3000) { A = 0.0171422231434847; M = 1.27907168025204; } else if (vel> 1470) { A = 2.33355948302505e-03; M = 1.52693913274526; } else if (vel> 1260) { A = 7.97592111627665e-04; M = 1.67688974440324; } @@ -209,7 +206,7 @@ double calculateRetard(int DragFunction, double DragCoefficient, double Velocity break; case 8: - if (vel> 3571) { A = .0112263766252305; M = 1.33207346655961; } + if (vel> 3571) { A = .0112263766252305; M = 1.33207346655961; } else if (vel> 1841) { A = .0167252613732636; M = 1.28662041261785; } else if (vel> 1120) { A = 2.20172456619625e-03; M = 1.55636358091189; } else if (vel> 1088) { A = 2.0538037167098e-16; M = 5.80410776994789; } @@ -227,7 +224,7 @@ double calculateRetard(int DragFunction, double DragCoefficient, double Velocity val = val / 3.2808399; return val; } - + return 0.0; } @@ -238,8 +235,7 @@ extern "C" void __stdcall RVExtension(char *output, int outputSize, const char *function) { - if (!strcmp(function, "version")) - { + if (!strcmp(function, "version")) { int n = sprintf_s(output, outputSize, "%s", ACE_FULL_VERSION_STR); return; } @@ -262,8 +258,7 @@ void __stdcall RVExtension(char *output, int outputSize, const char *function) retard = calculateRetard(dragModel, ballisticCoefficient, velocity); int n = sprintf_s(output, outputSize, "%f", retard); return; - } - else if (!strcmp(mode, "atmosphericCorrection")) { + } else if (!strcmp(mode, "atmosphericCorrection")) { double ballisticCoefficient = 1.0; double temperature = 15.0; double pressure = 1013.25; @@ -279,8 +274,7 @@ void __stdcall RVExtension(char *output, int outputSize, const char *function) ballisticCoefficient = calculateAtmosphericCorrection(ballisticCoefficient, temperature, pressure, humidity, atmosphereModel); int n = sprintf_s(output, outputSize, "%f", ballisticCoefficient); return; - } - else if (!strcmp(mode, "new")) { + } else if (!strcmp(mode, "new")) { unsigned int index = 0; double airFriction = 0.0; char* ballisticCoefficientArray; @@ -311,8 +305,7 @@ void __stdcall RVExtension(char *output, int outputSize, const char *function) ballisticCoefficientArray++; ballisticCoefficientArray[strlen(ballisticCoefficientArray) - 1] = 0; ballisticCoefficient = strtok_s(ballisticCoefficientArray, ",", &token); - while (ballisticCoefficient != NULL) - { + while (ballisticCoefficient != NULL) { ballisticCoefficients.push_back(strtod(ballisticCoefficient, NULL)); ballisticCoefficient = strtok_s(NULL, ",", &token); } @@ -320,8 +313,7 @@ void __stdcall RVExtension(char *output, int outputSize, const char *function) velocityBoundaryArray++; velocityBoundaryArray[strlen(velocityBoundaryArray) - 1] = 0; velocityBoundary = strtok_s(velocityBoundaryArray, ",", &token); - while (velocityBoundary != NULL) - { + while (velocityBoundary != NULL) { velocityBoundaries.push_back(strtod(velocityBoundary, NULL)); velocityBoundary = strtok_s(NULL, ",", &token); } @@ -335,8 +327,7 @@ void __stdcall RVExtension(char *output, int outputSize, const char *function) originArray++; originArray[strlen(originArray) - 1] = 0; originEntry = strtok_s(originArray, ",", &token); - while (originEntry != NULL) - { + while (originEntry != NULL) { origin.push_back(strtod(originEntry, NULL)); originEntry = strtok_s(NULL, ",", &token); } @@ -378,8 +369,7 @@ void __stdcall RVExtension(char *output, int outputSize, const char *function) int n = sprintf_s(output, outputSize, "%s", ""); return; - } - else if (!strcmp(mode, "simulate")) { + } else if (!strcmp(mode, "simulate")) { // simulate:0:[-0.109985,542.529,-3.98301]:[3751.57,5332.23,214.252]:[0.598153,2.38829,0]:28.6:0:0.481542:0:215.16 unsigned int index = 0; char* velocityArray; @@ -459,12 +449,11 @@ void __stdcall RVExtension(char *output, int outputSize, const char *function) bulletDatabase[index].speed += bulletSpeed; bulletDatabase[index].frames += 1; bulletSpeedAvg = (bulletDatabase[index].speed / bulletDatabase[index].frames); - + windSpeed = sqrt(pow(wind[0], 2) + pow(wind[1], 2) + pow(wind[2], 2)); - if (windSpeed > 0.1) - { + if (windSpeed > 0.1) { double windSourceTerrain[3]; - + windSourceTerrain[0] = position[0] - wind[0] / windSpeed * 100; windSourceTerrain[1] = position[1] - wind[1] / windSpeed * 100; windSourceTerrain[2] = position[2] - wind[2] / windSpeed * 100; @@ -483,8 +472,7 @@ void __stdcall RVExtension(char *output, int outputSize, const char *function) } } - if (windSpeed > 0.1) - { + if (windSpeed > 0.1) { double windSourceObstacles[3]; windSourceObstacles[0] = position[0] - wind[0] / windSpeed * 25; @@ -497,8 +485,7 @@ void __stdcall RVExtension(char *output, int outputSize, const char *function) } } - if (windAttenuation < 1) - { + if (windAttenuation < 1) { wind[0] *= windAttenuation; wind[1] *= windAttenuation; wind[2] *= windAttenuation; @@ -511,7 +498,7 @@ void __stdcall RVExtension(char *output, int outputSize, const char *function) trueSpeed = sqrt(pow(trueVelocity[0], 2) + pow(trueVelocity[1], 2) + pow(trueVelocity[2], 2)); temperature = bulletDatabase[index].temperature - 0.0065 * position[2]; - + if (bulletDatabase[index].ballisticCoefficients.size() == bulletDatabase[index].velocityBoundaries.size() + 1) { double pressure = 1013.25 * exp(-(bulletDatabase[index].altitude + position[2]) / 7990) - 10 * bulletDatabase[index].overcast; @@ -526,10 +513,8 @@ void __stdcall RVExtension(char *output, int outputSize, const char *function) velocityOffset[2] -= accelRef[2]; ballisticCoefficient = bulletDatabase[index].ballisticCoefficients[0]; - for (int i = (int)bulletDatabase[index].velocityBoundaries.size() - 1; i >= 0; i = i - 1) - { - if (bulletSpeed < bulletDatabase[index].velocityBoundaries[i]) - { + for (int i = (int)bulletDatabase[index].velocityBoundaries.size() - 1; i >= 0; i = i - 1) { + if (bulletSpeed < bulletDatabase[index].velocityBoundaries[i]) { ballisticCoefficient = bulletDatabase[index].ballisticCoefficients[i + 1]; break; } @@ -544,14 +529,13 @@ void __stdcall RVExtension(char *output, int outputSize, const char *function) velocityOffset[0] -= accel[0]; velocityOffset[1] -= accel[1]; velocityOffset[2] -= accel[2]; - } - else { + } else { double pressureDeviation = 1013.25 * exp(-(bulletDatabase[index].altitude + position[2]) / 7990) - 1013.25 - 10 * bulletDatabase[index].overcast; double airFriction = bulletDatabase[index].airFriction + ((temperature - 15) * 0.0000015 + bulletDatabase[index].humidity * 0.0000040 + pressureDeviation * -0.0000009); if (airFriction != bulletDatabase[index].airFriction || windSpeed > 0) { dragRef = deltaT * bulletDatabase[index].airFriction * bulletSpeed * bulletSpeed; - + accelRef[0] = (velocity[0] / bulletSpeed) * dragRef; accelRef[1] = (velocity[1] / bulletSpeed) * dragRef; accelRef[2] = (velocity[2] / bulletSpeed) * dragRef; @@ -594,7 +578,7 @@ void __stdcall RVExtension(char *output, int outputSize, const char *function) if (bulletSpeed < 345 && bulletSpeedAvg > 340 && bulletSpeed > 335) { std::uniform_real_distribution distribution(0.0, 1.0); double coef = 1.0f - bulletDatabase[index].transonicStabilityCoef; - + velocityOffset[0] += (distribution(bulletDatabase[index].randGenerator) * 0.8 - 0.4) * coef; velocityOffset[1] += (distribution(bulletDatabase[index].randGenerator) * 0.8 - 0.4) * coef; velocityOffset[2] += (distribution(bulletDatabase[index].randGenerator) * 0.8 - 0.4) * coef; @@ -602,8 +586,7 @@ void __stdcall RVExtension(char *output, int outputSize, const char *function) int n = sprintf_s(output, outputSize, "_bullet setVelocity (_bulletVelocity vectorAdd [%f, %f, %f]); _bullet setPosASL (_bulletPosition vectorAdd [%f, %f, %f]);", velocityOffset[0], velocityOffset[1], velocityOffset[2], positionOffset[0], positionOffset[1], positionOffset[2]); return; - } - else if (!strcmp(mode, "set")) { + } else if (!strcmp(mode, "set")) { int height = 0; int numObjects = 0; int surfaceIsWater = 0; @@ -618,8 +601,7 @@ void __stdcall RVExtension(char *output, int outputSize, const char *function) int n = sprintf_s(output, outputSize, "%s", ""); return; - } - else if (!strcmp(mode, "init")) { + } else if (!strcmp(mode, "init")) { int mapSize = 0; int mapGrids = 0; int gridCells = 0; From da309e668230470b5e3110d182f0e8afa29e2668 Mon Sep 17 00:00:00 2001 From: Lukas Date: Sun, 3 May 2015 11:53:12 +0200 Subject: [PATCH 023/217] Update stringtable.xml --- addons/missileguidance/stringtable.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/missileguidance/stringtable.xml b/addons/missileguidance/stringtable.xml index 635211d30e..dcb2be486c 100644 --- a/addons/missileguidance/stringtable.xml +++ b/addons/missileguidance/stringtable.xml @@ -23,7 +23,7 @@ Le guidage avancé de missile, ou AMG en anglais, apporte de multiple améliorations au verouillage et au tir de missiles. C'est aussi un framework requis pour tout arme de type missile. A fejlett rakétairányító (vagy AMG) többféle módosítást tartalmaz a rakéták célkövetéséhez és tüzeléséhez. Ez egy szükséges keresztrendszer a rakéta-alapú fegyverekhez. Orientação avançada de mísseis ou OAM, fornece vários aprimoramentos para travamento de mísseis e disparos. Também é um sistema requerido para disparar armas que utilizem mísseis. - Pokočilé navádění raket (AMG) poskytuje několik vylepšení pro lepší zaměření a následnou střelbu. Je to prvek vyžadovaný u typ zbraní jako jsou rakety. + Pokočilé navádění raket (AMG) poskytuje několik vylepšení pro lepší zaměření a následnou střelbu. Je to prvek vyžadovaný u typu zbraní jako jsou rakety. Hydra-70 DAGR Missile @@ -98,4 +98,4 @@ Управляемая ракета лазерного наведения Hellfire II AGM-114K - \ No newline at end of file + From 3434964f4fb088990b6150e56648482a0fd7f688 Mon Sep 17 00:00:00 2001 From: Lukas Date: Sun, 3 May 2015 11:54:18 +0200 Subject: [PATCH 024/217] Update stringtable.xml --- addons/scopes/stringtable.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/scopes/stringtable.xml b/addons/scopes/stringtable.xml index e397208e34..226df258bd 100644 --- a/addons/scopes/stringtable.xml +++ b/addons/scopes/stringtable.xml @@ -107,7 +107,7 @@ Auf 0 justieren Állítások nullázása Zerar ajuste - Vynulování korekce + Vynulovat korekci - \ No newline at end of file + From 29fdd63432aaaf327d4fddccd2cc574e178e4dcb Mon Sep 17 00:00:00 2001 From: ulteq Date: Sun, 3 May 2015 12:07:13 +0200 Subject: [PATCH 025/217] Use the constants --- extensions/advanced_ballistics/AdvancedBallistics.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/extensions/advanced_ballistics/AdvancedBallistics.cpp b/extensions/advanced_ballistics/AdvancedBallistics.cpp index 0a476c9c65..d08b6a6122 100644 --- a/extensions/advanced_ballistics/AdvancedBallistics.cpp +++ b/extensions/advanced_ballistics/AdvancedBallistics.cpp @@ -96,9 +96,9 @@ double calculateAirDensity(double temperature, double pressure, double relativeH double vaporPressure = relativeHumidity * _pSat; double partialPressure = pressure - vaporPressure; - return (partialPressure * 0.028964 + vaporPressure * 0.018016) / (8.314 * (273.15 + temperature)); + return (partialPressure * DRY_AIR_MOLAR_MASS + vaporPressure * WATER_VAPOR_MOLAR_MASS) / (UNIVERSAL_GAS_CONSTANT * KELVIN(temperature)); } else { - return pressure / (287.058 * (273.15 + temperature)); + return pressure / (SPECIFIC_GAS_CONSTANT_DRY_AIR * KELVIN(temperature)); } } @@ -106,9 +106,9 @@ double calculateAtmosphericCorrection(double ballisticCoefficient, double temper double airDensity = calculateAirDensity(temperature, pressure, relativeHumidity); if (!strcmp(atmosphereModel, "ICAO")) { - return (1.22498 / airDensity) * ballisticCoefficient; + return (STD_AIR_DENSITY_ICAO / airDensity) * ballisticCoefficient; } else { - return (1.20885 / airDensity) * ballisticCoefficient; + return (STD_AIR_DENSITY_ASM / airDensity) * ballisticCoefficient; } } From 13bc1e005860b99217401c5f27547f6f1e44cdc6 Mon Sep 17 00:00:00 2001 From: ulteq Date: Sun, 3 May 2015 12:31:30 +0200 Subject: [PATCH 026/217] Replaced deprecated airFriction calculation --- extensions/advanced_ballistics/AdvancedBallistics.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/extensions/advanced_ballistics/AdvancedBallistics.cpp b/extensions/advanced_ballistics/AdvancedBallistics.cpp index d08b6a6122..6e964f8921 100644 --- a/extensions/advanced_ballistics/AdvancedBallistics.cpp +++ b/extensions/advanced_ballistics/AdvancedBallistics.cpp @@ -433,6 +433,7 @@ void __stdcall RVExtension(char *output, int outputSize, const char *function) double trueVelocity[3] = { 0.0, 0.0, 0.0 }; double trueSpeed = 0.0; double temperature = 0.0; + double pressure = 1013.25; double windSpeed = 0.0; double windAttenuation = 1.0; double velocityOffset[3] = { 0.0, 0.0, 0.0 }; @@ -498,10 +499,9 @@ void __stdcall RVExtension(char *output, int outputSize, const char *function) trueSpeed = sqrt(pow(trueVelocity[0], 2) + pow(trueVelocity[1], 2) + pow(trueVelocity[2], 2)); temperature = bulletDatabase[index].temperature - 0.0065 * position[2]; + pressure = 1013.25 * exp(-(bulletDatabase[index].altitude + position[2]) / 7990) - 10 * bulletDatabase[index].overcast; if (bulletDatabase[index].ballisticCoefficients.size() == bulletDatabase[index].velocityBoundaries.size() + 1) { - double pressure = 1013.25 * exp(-(bulletDatabase[index].altitude + position[2]) / 7990) - 10 * bulletDatabase[index].overcast; - dragRef = deltaT * bulletDatabase[index].airFriction * bulletSpeed * bulletSpeed; accelRef[0] = (velocity[0] / bulletSpeed) * dragRef; @@ -530,8 +530,8 @@ void __stdcall RVExtension(char *output, int outputSize, const char *function) velocityOffset[1] -= accel[1]; velocityOffset[2] -= accel[2]; } else { - double pressureDeviation = 1013.25 * exp(-(bulletDatabase[index].altitude + position[2]) / 7990) - 1013.25 - 10 * bulletDatabase[index].overcast; - double airFriction = bulletDatabase[index].airFriction + ((temperature - 15) * 0.0000015 + bulletDatabase[index].humidity * 0.0000040 + pressureDeviation * -0.0000009); + double airDensity = calculateAirDensity(temperature, pressure, bulletDatabase[index].humidity); + double airFriction = bulletDatabase[index].airFriction * airDensity / STD_AIR_DENSITY_ICAO; if (airFriction != bulletDatabase[index].airFriction || windSpeed > 0) { dragRef = deltaT * bulletDatabase[index].airFriction * bulletSpeed * bulletSpeed; From a7d66b59cfc2b926c564b30843b5d14dd20a36ef Mon Sep 17 00:00:00 2001 From: Bla1337 Date: Sun, 3 May 2015 14:01:35 +0300 Subject: [PATCH 027/217] transaltions --- addons/nametags/stringtable.xml | 4 ++-- addons/nightvision/stringtable.xml | 6 +++--- addons/overheating/stringtable.xml | 2 +- addons/realisticnames/stringtable.xml | 4 ++-- addons/respawn/stringtable.xml | 4 ++-- addons/switchunits/stringtable.xml | 2 +- 6 files changed, 11 insertions(+), 11 deletions(-) diff --git a/addons/nametags/stringtable.xml b/addons/nametags/stringtable.xml index 7c2d0356a9..abbf89ae38 100644 --- a/addons/nametags/stringtable.xml +++ b/addons/nametags/stringtable.xml @@ -59,7 +59,7 @@ Mostra i gradi (richiede mostra nomi abilitato) Mostrar patente de jogadores (requer nome de jogadores) Játékosok rendfokozatának mutatása (a nevek mutatása szükséges) - Показывать звания игроков (при вкл. именах) + Показывать звания игроков (при включенных именах) Show vehicle crew info @@ -89,7 +89,7 @@ Show SoundWaves (requires player names) Schallwellen anzeigen (benötigt Spielernamen) Mostrar onda sonora (requiere Mostrar nombres de jugadores) - Индикатор разговора (при вкл. именах) + Индикатор разговора (при включенных именах) Zobrazit SoundWaves (vyžaduje jména hráčů) Pokaż fale dźwiękowe (wymagana opcja Pokaż imiona graczy) Afficher "qui parle" (si noms affichés) diff --git a/addons/nightvision/stringtable.xml b/addons/nightvision/stringtable.xml index c84d648678..6a7792a24d 100644 --- a/addons/nightvision/stringtable.xml +++ b/addons/nightvision/stringtable.xml @@ -45,7 +45,7 @@ Occhiali notturni (Gen3, marroni) Gogle noktowizyjne (Gen3, brązowe) Óculos de visão noturna (Gen3, marrons) - ПНВ (Gen3, коричневый) + ПНВ (Gen3, Коричневый) Gafas de visión nocturna (Gen3, marrón) Éjjellátó szemüveg (3. Gen., barna) @@ -57,7 +57,7 @@ Occhiali notturni (Gen3, verdi) Gogle noktowizyjne (Gen3, zielone) Óculos de visão noturna (Gen3, verdes) - ПНВ (Gen3, зеленый) + ПНВ (Gen3, Зёленый) Gafas de visión nocturna (Gen3, verde) Éjjellátó szemüveg (3. Gen., zöld) @@ -69,7 +69,7 @@ Occhiali notturni (Gen3, neri) Gogle noktowizyjne (Gen3, czarne) Óculos de visão noturna (Gen3, pretos) - ПНВ (Gen3, черный) + ПНВ (Gen3, Чёрный) Gafas de visión nocturna (Gen3, negro) Éjjellátó szemüveg (3. Gen., fekete) diff --git a/addons/overheating/stringtable.xml b/addons/overheating/stringtable.xml index 21ac4c56fb..491b587fc2 100644 --- a/addons/overheating/stringtable.xml +++ b/addons/overheating/stringtable.xml @@ -116,7 +116,7 @@ Lufa wymieniona Hlaveň vyměněna Canon changé - Ствол сменён + Ствол заменён Cső kicserélve Cano substituído Canna sostituita diff --git a/addons/realisticnames/stringtable.xml b/addons/realisticnames/stringtable.xml index 44da39f72a..6270570bfc 100644 --- a/addons/realisticnames/stringtable.xml +++ b/addons/realisticnames/stringtable.xml @@ -1533,7 +1533,7 @@ GM6 Lynx (Camo) GM6 Gepárd (Terepmintás) GM6 Lynx (Camuflaje) - GM6 Lynx (камо) + GM6 Lynx (Камо) GM6 Lynx (Camo) GM6 Lynx (Camo) @@ -1557,7 +1557,7 @@ M200 Intervention (Camo) M200 Intervention (Terepmintás) M200 Intervention (Camuflaje) - M200 Intervention (камо) + M200 Intervention (Камо) M200 Intervention (Camo) M200 Intervention (Camo) diff --git a/addons/respawn/stringtable.xml b/addons/respawn/stringtable.xml index d104b53801..cd0fda2780 100644 --- a/addons/respawn/stringtable.xml +++ b/addons/respawn/stringtable.xml @@ -52,7 +52,7 @@ Téléporté à la base Zur Basis teleportiert Teletransportado a base - Телепорт на базу + Вы были телепортированы на базу Przeteleportowano do bazy Teleportován na základnu Bázisra teleportálva @@ -64,7 +64,7 @@ Téléporté au point de déploiement Zum Sammelpunkt teleportiert Teletransportado al punto de reunión - Телепорт на точку сбора + Вы были телепортированы на точку сбора Przeteleportowano do punktu zbiórki Teleportován na rallypoint Gyülekezőpontra teleportálva diff --git a/addons/switchunits/stringtable.xml b/addons/switchunits/stringtable.xml index 16ce6ae281..8121e3e61e 100644 --- a/addons/switchunits/stringtable.xml +++ b/addons/switchunits/stringtable.xml @@ -4,7 +4,7 @@ Switched unit Einheit gewechselt - Юнит переключен + Юнит переключён Prohozená jednotka Przełącz jednostkę Cambiado de unidad From 73d0be88fb4c11b82a4e460e79e8be077cdad620 Mon Sep 17 00:00:00 2001 From: Bla1337 Date: Sun, 3 May 2015 14:57:59 +0300 Subject: [PATCH 028/217] nametags edits --- addons/nametags/stringtable.xml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/addons/nametags/stringtable.xml b/addons/nametags/stringtable.xml index abbf89ae38..e4074733d9 100644 --- a/addons/nametags/stringtable.xml +++ b/addons/nametags/stringtable.xml @@ -35,7 +35,7 @@ Mostra i nomi solo se puntati (richiede mostra nomi abilitato) Mostrar nome de jogador somente no cursor (requer nome de jogadores) Játékosok nevének mutatása csak a kurzoron (a nevek mutatása szükséges) - Показать имена игроков только под курсором (при включенных именах) + Показать имена игроков только под курсором (при вкл. именах) Show player name only on keypress (requires player names) @@ -45,7 +45,7 @@ Zobrazit jména hráčů jen na klávesu (vyžaduje jména hráčů) Pokaż imiona graczy tylko po przytrzymaniu klawisza (wymagana opcja Pokaż imiona graczy) Játékosnevek mutatása csak gombnyomásra (a nevek mutatása szükséges) - Показать имена игроков только по нажатию клавиши (при включенных именах) + Показать имена игроков только по нажатию клавиши (при вкл. именах) Mostra i nomi solo se si preme il tasto (richiede mostra nomi abilitato) Mostrar nomes somente ao pressionar teclar (requer nome de jogadores) @@ -59,7 +59,7 @@ Mostra i gradi (richiede mostra nomi abilitato) Mostrar patente de jogadores (requer nome de jogadores) Játékosok rendfokozatának mutatása (a nevek mutatása szükséges) - Показывать звания игроков (при включенных именах) + Показывать звания игроков (при вкл. именах) Show vehicle crew info @@ -89,7 +89,7 @@ Show SoundWaves (requires player names) Schallwellen anzeigen (benötigt Spielernamen) Mostrar onda sonora (requiere Mostrar nombres de jugadores) - Индикатор разговора (при включенных именах) + Индикатор разговора (при вкл. именах) Zobrazit SoundWaves (vyžaduje jména hráčů) Pokaż fale dźwiękowe (wymagana opcja Pokaż imiona graczy) Afficher "qui parle" (si noms affichés) From 4710e61c2af1706d6cd798fe580fe16da4c0afc8 Mon Sep 17 00:00:00 2001 From: bux578 Date: Sun, 3 May 2015 14:37:44 +0200 Subject: [PATCH 029/217] swapped basic and advanced --- documentation/missionmaker/modules.md | 72 +++++++++++++-------------- 1 file changed, 36 insertions(+), 36 deletions(-) diff --git a/documentation/missionmaker/modules.md b/documentation/missionmaker/modules.md index 40a50faf76..d48d7e9cb3 100644 --- a/documentation/missionmaker/modules.md +++ b/documentation/missionmaker/modules.md @@ -359,42 +359,7 @@ And then there's the "LSD Vehicles" module … it does 'something' to all v ## 2. ACE Medical *Part of: ace_medical* -### 2.1 Advanced Medical Settings - -This module allows you to change the default Advanced Medical Settings, when [2.2 Medical Settings](#2-2MedicalSettings) is set to "Advanced". - -**Settings:** - -1. **Enabled for (Option)**
-Select what units the advanced medical system will be enabled for.
-`Default value: "Players only"` -2. **Enable Advanced wounds (Boolean)**
-Allow reopening of bandaged wounds?
-`Default value: No` -3. **Vehicle Crashes (Boolean)**
-Do units take damage from a vehicle crash?
-`Default value: Yes` -4. **Allow PAK (Option)**
-Who can use the PAK for full heal?
-`Default value: "Medics only"` -5. **Remove PAK on use (Boolean)**
-Should PAK be removed on usage?
-`Default value: Yes` -6. **Locations PAK (Option)**
-Where can the personal aid kit be used?
-`Default value: "Vehicles & facility"` -7. **Allow Surgical kit (Option)**
-Who can use the surgical kit?
-`Default value: "Medics only"` -8. **Remove Surgical kit (Boolean)**
-Should Surgical kit be removed on usage?
-`Default value: Yes` -9. **Locations Surgical kit (Option)**
-Where can the Surgical kit be used?
-`Default value: "Vehicles & facility"` - - -### 2.2 Medical Settings +### 2.1 Medical Settings This module allows to tweak all the medical settings used in ACE3 @@ -438,6 +403,41 @@ Keep unit status synced. Recommended on.
`Default value: Yes` +### 2.2 Advanced Medical Settings + +This module allows you to change the default Advanced Medical Settings, when [2.2 Medical Settings](#2-2MedicalSettings) is set to "Advanced". + +**Settings:** + +1. **Enabled for (Option)**
+Select what units the advanced medical system will be enabled for.
+`Default value: "Players only"` +2. **Enable Advanced wounds (Boolean)**
+Allow reopening of bandaged wounds?
+`Default value: No` +3. **Vehicle Crashes (Boolean)**
+Do units take damage from a vehicle crash?
+`Default value: Yes` +4. **Allow PAK (Option)**
+Who can use the PAK for full heal?
+`Default value: "Medics only"` +5. **Remove PAK on use (Boolean)**
+Should PAK be removed on usage?
+`Default value: Yes` +6. **Locations PAK (Option)**
+Where can the personal aid kit be used?
+`Default value: "Vehicles & facility"` +7. **Allow Surgical kit (Option)**
+Who can use the surgical kit?
+`Default value: "Medics only"` +8. **Remove Surgical kit (Boolean)**
+Should Surgical kit be removed on usage?
+`Default value: Yes` +9. **Locations Surgical kit (Option)**
+Where can the Surgical kit be used?
+`Default value: "Vehicles & facility"` + + ### 2.3 Revive Settings This modules allows a mission maker to limit the amount of revives for units in basic and advanced medical. From 1f5e47b7c193741a6eb92c68821ce566e69547bf Mon Sep 17 00:00:00 2001 From: ViperMaul Date: Sun, 3 May 2015 07:21:27 -0700 Subject: [PATCH 030/217] PyFormat.Info love --- tools/make.py | 86 +++++++++++++++++++++++++-------------------------- 1 file changed, 43 insertions(+), 43 deletions(-) diff --git a/tools/make.py b/tools/make.py index 462d44b536..c6e0c2b26c 100644 --- a/tools/make.py +++ b/tools/make.py @@ -280,7 +280,7 @@ def color(color): def print_error(msg): color("red") - print ("ERROR: " + msg) + print ("ERROR: {}".format(msg)) color("reset") def print_green(msg): @@ -311,12 +311,12 @@ def copy_important_files(source_dir,destination_dir): #copy importantFiles try: - print_blue("\nSearching for important files in " + source_dir) - print("Source_dir: " + source_dir) - print("Destination_dir: " + destination_dir) + print_blue("\nSearching for important files in {}".format(source_dir)) + print("Source_dir: {}".format(source_dir)) + print("Destination_dir: {}".format(destination_dir)) for file in importantFiles: - print_green("Copying file => " + os.path.join(source_dir,file)) + print_green("Copying file => {}".format(os.path.join(source_dir,file))) shutil.copyfile(os.path.join(source_dir,file),os.path.join(destination_dir,file)) except: print_error("COPYING IMPORTANT FILES.") @@ -325,14 +325,14 @@ def copy_important_files(source_dir,destination_dir): #copy all extension dlls try: os.chdir(os.path.join(source_dir)) - print_blue("\nSearching for DLLs in " + os.getcwd()) + print_blue("\nSearching for DLLs in {}".format(os.getcwd())) filenames = glob.glob("*.dll") if not filenames: print ("Empty SET") for dll in filenames: - print_green("Copying dll => " + os.path.join(source_dir,dll)) + print_green("Copying dll => {}".format(os.path.join(source_dir,dll))) if os.path.isfile(dll): shutil.copyfile(os.path.join(source_dir,dll),os.path.join(destination_dir,dll)) except: @@ -353,17 +353,17 @@ def copy_optionals_for_building(mod,pbos): files = glob.glob(os.path.join(release_dir, "@ace","optionals","*.pbo")) for file in files: file_name = os.path.basename(file) - #print ("Adding the following file: " + file_name) + #print ("Adding the following file: {}".format(file_name)) pbos.append(file_name) pbo_path = os.path.join(release_dir, "@ace","optionals",file_name) sigFile_name = file_name +"."+ key_name + ".bisign" sig_path = os.path.join(release_dir, "@ace","optionals",sigFile_name) if (os.path.isfile(pbo_path)): - print("Moving " + pbo_path + " for processing.") + print("Moving {} for processing.".format(pbo_path)) shutil.move(pbo_path, os.path.join(release_dir,"@ace","addons",file_name)) if (os.path.isfile(sig_path)): - #print("Moving " + sig_path + " for processing.") + #print("Moving {} for processing.".format(sig_path)) shutil.move(sig_path, os.path.join(release_dir,"@ace","addons",sigFile_name)) except: print_error("Error in moving") @@ -385,7 +385,7 @@ def copy_optionals_for_building(mod,pbos): else: destination = os.path.join(module_root,dir_name) - print("Temporarily copying " + os.path.join(optionals_root,dir_name) + " => " + destination + " for building.") + print("Temporarily copying {} => {} for building.".format(os.path.join(optionals_root,dir_name),destination)) if (os.path.exists(destination)): shutil.rmtree(destination, True) shutil.copytree(os.path.join(optionals_root,dir_name), destination) @@ -406,7 +406,7 @@ def cleanup_optionals(mod): else: destination = os.path.join(module_root,dir_name) - print("Cleaning " + destination) + print("Cleaning {}".format(destination)) try: file_name = "ace_{}.pbo".format(dir_name) @@ -418,10 +418,10 @@ def cleanup_optionals(mod): dst_sig_path = os.path.join(release_dir, "@ace","optionals",sigFile_name) if (os.path.isfile(src_file_path)): - #print("Preserving " + file_name) + #print("Preserving {}".format(file_name)) os.renames(src_file_path,dst_file_path) if (os.path.isfile(src_sig_path)): - #print("Preserving " + sigFile_name) + #print("Preserving {}".format(sigFile_name)) os.renames(src_sig_path,dst_sig_path) except FileExistsError: print_error(file_name + " already exists") @@ -434,7 +434,7 @@ def cleanup_optionals(mod): def purge(dir, pattern, friendlyPattern="files"): - print_green("Deleting " + friendlyPattern + " files from directory: " + dir) + print_green("Deleting {} files from directory: {}".format(friendlyPattern,dir)) for f in os.listdir(dir): if re.search(pattern, f): os.remove(os.path.join(dir, f)) @@ -443,7 +443,7 @@ def purge(dir, pattern, friendlyPattern="files"): def build_signature_file(file_name): global key global dssignfile - print("Signing with " + key + ".") + print("Signing with {}.".format(key)) ret = subprocess.call([dssignfile, key, file_name]) if ret == 0: return True @@ -461,7 +461,7 @@ def check_for_obsolete_pbos(addonspath, file): def main(argv): """Build an Arma addon suite in a directory from rules in a make.cfg file.""" - print_blue(("\nmake.py for Arma, modified for Advanced Combat Environment v" + __version__)) + print_blue("\nmake.py for Arma, modified for Advanced Combat Environment v{}".format(__version__)) global work_drive global module_root @@ -567,7 +567,7 @@ See the make.cfg file for additional build options. else: check_external = False - print_yellow("\nCheck external references is set to " + str(check_external)) + print_yellow("\nCheck external references is set to {}".format(str(check_external))) # Get the directory the make script is in. make_root = os.path.dirname(os.path.realpath(__file__)) @@ -632,21 +632,21 @@ See the make.cfg file for additional build options. module_root_parent = os.path.abspath(os.path.join(os.path.join(work_drive, prefix), os.pardir)) module_root = cfg.get(make_target, "module_root", fallback=os.path.join(make_root_parent, "addons")) optionals_root = os.path.join(module_root_parent, "optionals") - print_green ("module_root: " + module_root) + print_green ("module_root: {}".format(module_root)) if (os.path.isdir(module_root)): os.chdir(module_root) else: - print_error ("Directory " + module_root + " does not exist.") + print_error ("Directory {} does not exist.".format(module_root)) sys.exit() if (os.path.isdir(optionals_root)): - print_green ("optionals_root: " + optionals_root) + print_green ("optionals_root: {}".format(optionals_root)) else: - print_error ("Directory " + optionals_root + " does not exist.") + print_error ("Directory {} does not exist.".format(optionals_root)) sys.exit() - print_green ("release_dir: " + release_dir) + print_green ("release_dir: {}".format(release_dir)) except: raise @@ -739,7 +739,7 @@ See the make.cfg file for additional build options. ret = subprocess.call([dscreatekey, key_name]) # Created in make_root os.chdir(curDir) if ret == 0: - print_green("Created: " + os.path.join(private_key_path, key_name + ".biprivatekey")) + print_green("Created: {}".format(os.path.join(private_key_path, key_name + ".biprivatekey"))) print("Removing any old signature keys...") purge(os.path.join(module_root, release_dir, project, "addons"), "^.*\.bisign$","*.bisign") purge(os.path.join(module_root, release_dir, project, "optionals"), "^.*\.bisign$","*.bisign") @@ -762,7 +762,7 @@ See the make.cfg file for additional build options. raise else: - print_green("\nNOTE: Using key " + os.path.join(private_key_path, key_name + ".biprivatekey")) + print_green("\nNOTE: Using key {}".format(os.path.join(private_key_path, key_name + ".biprivatekey"))) key = os.path.join(private_key_path, key_name + ".biprivatekey") @@ -773,13 +773,13 @@ See the make.cfg file for additional build options. if (file.endswith(".pbo") and os.path.isfile(os.path.join(obsolete_check_path,file))): if check_for_obsolete_pbos(module_root, file): fileName = os.path.splitext(file)[0] - print_yellow("Removing obsolete file => " + file) + print_yellow("Removing obsolete file => {}".format(file)) purge(obsolete_check_path,fileName+"\..",fileName+".*") # For each module, prep files and then build. print_blue("\nBuilding...") for module in modules: - print_green("\nMaking " + module + "-"*max(1, (60-len(module)))) + print_green("\nMaking {}".format(module + "-"*max(1, (60-len(module))))) missing = False sigMissing = False @@ -811,7 +811,7 @@ See the make.cfg file for additional build options. print("Module has not changed.") if sigMissing: if key: - print("Missing Signature key " + sigFile) + print("Missing Signature key {}".format(sigFile)) build_signature_file(os.path.join(module_root, release_dir, project, "addons", pbo_name_prefix + module + ".pbo")) # Skip everything else continue @@ -833,7 +833,7 @@ See the make.cfg file for additional build options. print("Resuming build...") continue #else: - #print("WARNING: Module is stored on work drive (" + work_drive + ").") + #print("WARNING: Module is stored on work drive ({}).".format(work_drive)) try: # Remove the old pbo, key, and log @@ -855,8 +855,8 @@ See the make.cfg file for additional build options. continue # Build the module into a pbo - print_blue("Building: " + os.path.join(work_drive, prefix, module)) - print_blue("Destination: " + os.path.join(module_root, release_dir, project, "addons")) + print_blue("Building: {}".format(os.path.join(work_drive, prefix, module))) + print_blue("Destination: {}".format(os.path.join(module_root, release_dir, project, "addons"))) # Make destination folder (if needed) try: @@ -876,14 +876,14 @@ See the make.cfg file for additional build options. cmd = [os.path.join(arma3tools_path, "CfgConvert", "CfgConvert.exe"), "-bin", "-dst", os.path.join(work_drive, prefix, module, "config.bin"), os.path.join(work_drive, prefix, module, "config.cpp")] ret = subprocess.call(cmd) if ret != 0: - print_error("CfgConvert -bin return code == " + str(ret) + ". Usually means there is a syntax error within the config.cpp file.") + print_error("CfgConvert -bin return code == {}. Usually means there is a syntax error within the config.cpp file.".format(str(ret))) os.remove(os.path.join(work_drive, prefix, module, "config.cpp")) shutil.copyfile(os.path.join(work_drive, prefix, module, "config.backup"), os.path.join(work_drive, prefix, module, "config.cpp")) cmd = [os.path.join(arma3tools_path, "CfgConvert", "CfgConvert.exe"), "-txt", "-dst", os.path.join(work_drive, prefix, module, "config.cpp"), os.path.join(work_drive, prefix, module, "config.bin")] ret = subprocess.call(cmd) if ret != 0: - print_error("CfgConvert -txt return code == " + str(ret) + ". Usually means there is a syntax error within the config.cpp file.") + print_error("CfgConvert -txt return code == {}. Usually means there is a syntax error within the config.cpp file.".format(str(ret))) os.remove(os.path.join(work_drive, prefix, module, "config.cpp")) shutil.copyfile(os.path.join(work_drive, prefix, module, "config.backup"), os.path.join(work_drive, prefix, module, "config.cpp")) @@ -930,7 +930,7 @@ See the make.cfg file for additional build options. color("reset") if ret == 0: - print_green("pboProject return code == " + str(ret)) + print_green("pboProject return code == {}".format(str(ret))) # Prettyprefix rename the PBO if requested. if pbo_name_prefix: try: @@ -940,7 +940,7 @@ See the make.cfg file for additional build options. print_error("Could not rename built PBO with prefix.") # Sign result if key: - print("Signing with " + key + ".") + print("Signing with {}.".format(key)) if pbo_name_prefix: ret = subprocess.call([dssignfile, key, os.path.join(module_root, release_dir, project, "addons", pbo_name_prefix + module + ".pbo")]) else: @@ -952,13 +952,13 @@ See the make.cfg file for additional build options. build_successful = True if not build_successful: - print_error("pboProject return code == " + str(ret)) + print_error("pboProject return code == {}".format(str(ret))) print_error("Module not successfully built/signed.") print ("Resuming build...") continue #PABST: cleanup config BS (you could comment this out to see the "de-macroed" cpp - #print_green("\Pabst (restoring): " + os.path.join(work_drive, prefix, module, "config.cpp")) + #print_green("\Pabst (restoring): {}".format(os.path.join(work_drive, prefix, module, "config.cpp"))) os.remove(os.path.join(work_drive, prefix, module, "config.cpp")) os.remove(os.path.join(work_drive, prefix, module, "config.bin")) os.rename(os.path.join(work_drive, prefix, module, "config.backup"), os.path.join(work_drive, prefix, module, "config.cpp")) @@ -998,10 +998,10 @@ See the make.cfg file for additional build options. else: previousDirectory = os.getcwd() os.chdir(arma3tools_path) - print_error("Current directory - " + os.getcwd()) + print_error("Current directory - {}".format(os.getcwd())) ret = subprocess.call(cmd) os.chdir(previousDirectory) - print_error("Current directory - " + os.getcwd()) + print_error("Current directory - {}".format(os.getcwd())) color("reset") print_green("completed") # Prettyprefix rename the PBO if requested. @@ -1015,7 +1015,7 @@ See the make.cfg file for additional build options. if ret == 0: # Sign result if key: - print("Signing with " + key + ".") + print("Signing with {}.".format(key)) if pbo_name_prefix: ret = subprocess.call([dssignfile, key, os.path.join(make_root, release_dir, project, "addons", pbo_name_prefix + module + ".pbo")]) else: @@ -1040,7 +1040,7 @@ See the make.cfg file for additional build options. continue else: - print_error("Unknown build_tool " + build_tool + "!") + print_error("Unknown build_tool {}!".format(build_tool)) # Update the hash for a successfully built module if build_successful: @@ -1065,7 +1065,7 @@ See the make.cfg file for additional build options. # Make release if make_release: - print_blue("\nMaking release: " + project + "-" + release_version + ".zip") + print_blue("\nMaking release: {}-{}.zip".format(project,release_version)) try: # Delete all log files @@ -1101,7 +1101,7 @@ See the make.cfg file for additional build options. shutil.copytree(os.path.join(module_root, release_dir, project), os.path.join(a3_path, project)) except: print_error("Could not copy files. Is Arma 3 running?") - + print_green("\nDone.") From bf592ce0a940523d716dd311c64bb33462f5a70b Mon Sep 17 00:00:00 2001 From: Bla1337 Date: Sun, 3 May 2015 17:35:58 +0300 Subject: [PATCH 031/217] nightvision edits --- addons/nightvision/stringtable.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/nightvision/stringtable.xml b/addons/nightvision/stringtable.xml index 6a7792a24d..b6f2431eef 100644 --- a/addons/nightvision/stringtable.xml +++ b/addons/nightvision/stringtable.xml @@ -57,7 +57,7 @@ Occhiali notturni (Gen3, verdi) Gogle noktowizyjne (Gen3, zielone) Óculos de visão noturna (Gen3, verdes) - ПНВ (Gen3, Зёленый) + ПНВ (Gen3, Зелёный) Gafas de visión nocturna (Gen3, verde) Éjjellátó szemüveg (3. Gen., zöld)
From 30c27bf689551766e6f2a539057d9962b75de748 Mon Sep 17 00:00:00 2001 From: ulteq Date: Sun, 3 May 2015 23:21:56 +0200 Subject: [PATCH 032/217] Added weather data for kunduz map --- addons/weather/functions/fnc_getMapData.sqf | 25 +++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/addons/weather/functions/fnc_getMapData.sqf b/addons/weather/functions/fnc_getMapData.sqf index f2527d1157..e1df9f658c 100644 --- a/addons/weather/functions/fnc_getMapData.sqf +++ b/addons/weather/functions/fnc_getMapData.sqf @@ -34,6 +34,7 @@ if (worldName in ["reshmaan"]) then { GVAR(Latitude) = 35; GVAR(Altitude) = 2000 if (worldName in ["Thirsk"]) then { GVAR(Latitude) = 65; GVAR(Altitude) = 0; }; if (worldName in ["lingor"]) then { GVAR(Latitude) = -4; GVAR(Altitude) = 0; }; if (worldName in ["Panthera3"]) then { GVAR(Latitude) = 46; GVAR(Altitude) = 0; }; +if (worldName in ["Kunduz"]) then { GVAR(Latitude) = 37; GVAR(Altitude) = 400; }; // Assume default wind values // Source: https://weatherspark.com/averages/32194/Lemnos-Limnos-North-Aegean-Islands-Greece @@ -131,6 +132,30 @@ if (worldName in ["Imrali"]) exitWith { // Source: http://www.weather-and-climate.com/average-monthly-Humidity-perc,Bursa,Turkey GVAR(Humidity) = [78, 75, 70, 70, 71, 61, 58, 59, 63, 69, 77, 76]; }; +if (worldName in ["Kunduz"]) exitWith { + // Source: http://www.iten-online.ch/klima/asien/afghanistan/kunduz.htm + GVAR(TempDay) = [6.3, 9.5, 15.8, 23, 29.8, 37.3, 39, 36.9, 31.8, 24.5, 16, 9.7]; + GVAR(TempNight) = [-2.4, 0, 5.7, 11.6, 15.7, 20.9, 21.5, 21.5, 16.3, 10.6, 4.1, 0]; + // Source: http://www.weather-and-climate.com/average-monthly-Humidity-perc,Kabul,Afghanistan + GVAR(Humidity) = [70, 72, 64, 61, 49, 34, 36, 38, 39, 52, 51, 63]; + + // Source: https://weatherspark.com/averages/32753/Kunduz-Afghanistan + GVAR(WindSpeedMax) = [[3.5, 0.8], [4.0, 0.6], [4.3, 2.0], [4.6, 1.1], [5.1, 1.2], [5.7, 1.0], [4.9, 0.8], [4.5, 0.3], [4.3, 0.3], [3.8, 0.5], [3.0, 1.3], [3.1, 0.8]]; + GVAR(WindSpeedMean) = [1.5, 1.8, 2.1, 2.4, 2.5, 2.8, 2.7, 2.5, 2.3, 2.1, 1.7, 1.6]; + GVAR(WindSpeedMin) = [[0.2, 0.1], [0.3, 0.3], [0.4, 0.1], [0.8, 0.2], [0.8, 0.1], [1.0, 0.3], [0.9, 0.5], [0.8, 0.2], [0.8, 0.1], [0.7, 0.1], [0.5, 0.1], [0.2, 0.2]]; + GVAR(WindDirectionProbabilities) = [[0.04, 0.02, 0.05, 0.11, 0.12, 0.06, 0.09, 0.06], // January + [0.04, 0.02, 0.05, 0.11, 0.12, 0.06, 0.08, 0.07], // February + [0.05, 0.04, 0.06, 0.14, 0.12, 0.06, 0.10, 0.08], // March + [0.09, 0.05, 0.08, 0.13, 0.07, 0.05, 0.07, 0.07], // April + [0.14, 0.07, 0.13, 0.13, 0.06, 0.05, 0.05, 0.08], // May + [0.16, 0.06, 0.12, 0.12, 0.05, 0.04, 0.05, 0.10], // June + [0.17, 0.06, 0.08, 0.12, 0.06, 0.04, 0.05, 0.12], // July + [0.15, 0.05, 0.06, 0.16, 0.08, 0.05, 0.07, 0.13], // August + [0.15, 0.04, 0.08, 0.20, 0.13, 0.05, 0.10, 0.14], // September + [0.08, 0.02, 0.08, 0.22, 0.15, 0.06, 0.13, 0.13], // October + [0.06, 0.02, 0.05, 0.20, 0.17, 0.06, 0.12, 0.10], // November + [0.04, 0.02, 0.05, 0.14, 0.19, 0.07, 0.10, 0.07]];// December +}; // Assume default values GVAR(TempDay) = [1, 3, 9, 14, 19, 23, 25, 24, 21, 13, 7, 2]; From 061b77e375b362e2cc33b60734eab419ba4a9b0c Mon Sep 17 00:00:00 2001 From: ulteq Date: Sun, 3 May 2015 23:32:53 +0200 Subject: [PATCH 033/217] Fixed completely fucked up temperature day/night cycle --- addons/weather/functions/fnc_updateTemperature.sqf | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/addons/weather/functions/fnc_updateTemperature.sqf b/addons/weather/functions/fnc_updateTemperature.sqf index 870d00333c..82f126e33f 100644 --- a/addons/weather/functions/fnc_updateTemperature.sqf +++ b/addons/weather/functions/fnc_updateTemperature.sqf @@ -11,13 +11,13 @@ */ #include "script_component.hpp" -private ["_time", "_month", "_hourlyCoef"]; +private ["_time", "_month", "_timeRatio"]; _time = daytime; _month = date select 1; -_hourlyCoef = -0.5 * sin(360 * ((3 + (date select 3))/24 + (date select 4)/1440)); +_timeRatio = abs(_time - 12) / 12; -GVAR(currentTemperature) = (GVAR(TempDay) select (_month - 1)) * (1 - _hourlyCoef) + (GVAR(TempNight) select (_month - 1)) * _hourlyCoef; +GVAR(currentTemperature) = (GVAR(TempDay) select (_month - 1)) * (1 - _timeRatio) + (GVAR(TempNight) select (_month - 1)) * _timeRatio; GVAR(currentTemperature) = GVAR(currentTemperature) + GVAR(temperatureShift) - GVAR(badWeatherShift) * overcast; GVAR(currentTemperature) = round(GVAR(currentTemperature) * 10) / 10; From b86012a6b18c8bbb5048b8be9d3fd01be1f9c1b3 Mon Sep 17 00:00:00 2001 From: Glowbal Date: Mon, 4 May 2015 00:16:12 +0200 Subject: [PATCH 034/217] Ensure that litterCondition is always code #1000 --- addons/medical/functions/fnc_createLitter.sqf | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/addons/medical/functions/fnc_createLitter.sqf b/addons/medical/functions/fnc_createLitter.sqf index 253a3ed315..8682cc24d5 100644 --- a/addons/medical/functions/fnc_createLitter.sqf +++ b/addons/medical/functions/fnc_createLitter.sqf @@ -46,11 +46,11 @@ _createLitter = { _position = [(_position select 0) - random 2, (_position select 1) - random 2, _position select 2]; }; _direction = (random 360); - + // Create the litter, and timeout the event based on the cleanup delay - // The cleanup delay for events in MP is handled by the server side + // The cleanup delay for events in MP is handled by the server side [QGVAR(createLitter), [_litterClass,_position,_direction], 0] call EFUNC(common,syncedEvent); - + true }; @@ -68,6 +68,7 @@ _createdLitter = []; _litterCondition = if (_litterCondition != "") then {compile _litterCondition} else {{true}}; } else { _litterCondition = missionNamespace getvariable _litterCondition; + if (typeName _litterCondition != "CODE") then {_litterCondition = {false}}; }; if !([_caller, _target, _selectionName, _className, _usersOfItems] call _litterCondition) exitwith {}; From ae47c7855257e71930c9f52c9cc5e2cbb3c835d4 Mon Sep 17 00:00:00 2001 From: Glowbal Date: Mon, 4 May 2015 00:20:28 +0200 Subject: [PATCH 035/217] Make treatment execute before createLitter --- addons/medical/functions/fnc_treatment_failure.sqf | 4 ++-- addons/medical/functions/fnc_treatment_success.sqf | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/addons/medical/functions/fnc_treatment_failure.sqf b/addons/medical/functions/fnc_treatment_failure.sqf index c329bf724c..19352e5441 100644 --- a/addons/medical/functions/fnc_treatment_failure.sqf +++ b/addons/medical/functions/fnc_treatment_failure.sqf @@ -58,6 +58,6 @@ if (isNil _callback) then { _callback = missionNamespace getvariable _callback; }; -_args call FUNC(createLitter); - _args call _callback; + +_args call FUNC(createLitter); diff --git a/addons/medical/functions/fnc_treatment_success.sqf b/addons/medical/functions/fnc_treatment_success.sqf index 0178ea78fd..ffe67d21bc 100644 --- a/addons/medical/functions/fnc_treatment_success.sqf +++ b/addons/medical/functions/fnc_treatment_success.sqf @@ -52,6 +52,6 @@ if (isNil _callback) then { _callback = missionNamespace getvariable _callback; }; -_args call FUNC(createLitter); - _args call _callback; + +_args call FUNC(createLitter); From 6c6cb9128a405763a89c92d30dce903ab6149d0d Mon Sep 17 00:00:00 2001 From: Bla1337 Date: Mon, 4 May 2015 09:54:54 +0300 Subject: [PATCH 036/217] Reverted the abbreviation changes Abbreviation only used when necessary for the text clipping prevention. --- addons/nametags/stringtable.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/nametags/stringtable.xml b/addons/nametags/stringtable.xml index e4074733d9..7c2d0356a9 100644 --- a/addons/nametags/stringtable.xml +++ b/addons/nametags/stringtable.xml @@ -35,7 +35,7 @@ Mostra i nomi solo se puntati (richiede mostra nomi abilitato) Mostrar nome de jogador somente no cursor (requer nome de jogadores) Játékosok nevének mutatása csak a kurzoron (a nevek mutatása szükséges) - Показать имена игроков только под курсором (при вкл. именах) + Показать имена игроков только под курсором (при включенных именах) Show player name only on keypress (requires player names) @@ -45,7 +45,7 @@ Zobrazit jména hráčů jen na klávesu (vyžaduje jména hráčů) Pokaż imiona graczy tylko po przytrzymaniu klawisza (wymagana opcja Pokaż imiona graczy) Játékosnevek mutatása csak gombnyomásra (a nevek mutatása szükséges) - Показать имена игроков только по нажатию клавиши (при вкл. именах) + Показать имена игроков только по нажатию клавиши (при включенных именах) Mostra i nomi solo se si preme il tasto (richiede mostra nomi abilitato) Mostrar nomes somente ao pressionar teclar (requer nome de jogadores) From ec4802e700502b5c0bab68ce800ded86ab7e6987 Mon Sep 17 00:00:00 2001 From: bux578 Date: Mon, 4 May 2015 11:57:09 +0200 Subject: [PATCH 037/217] remove "CMS", fix link I need to check the links once published. --- documentation/missionmaker/modules.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/documentation/missionmaker/modules.md b/documentation/missionmaker/modules.md index d48d7e9cb3..fc454df4f9 100644 --- a/documentation/missionmaker/modules.md +++ b/documentation/missionmaker/modules.md @@ -405,7 +405,7 @@ Keep unit status synced. Recommended on.
### 2.2 Advanced Medical Settings -This module allows you to change the default Advanced Medical Settings, when [2.2 Medical Settings](#2-2MedicalSettings) is set to "Advanced". +This module allows you to change the default Advanced Medical Settings, when [2.1 Medical Settings](#2-1MedicalSettings) is set to "Advanced". **Settings:** @@ -471,18 +471,18 @@ Medics allow for more advanced treatment in case of Advanced Medic roles enabled ### 2.5 Set Medical Facility -Defines an object as a medical facility for CMS. This allows for more advanced treatments. Can be synced with buildings and vehicles. +Defines an object as a medical facility. This allows for more advanced treatments. Can be synced with buildings and vehicles. **Settings:** 1. **Is Medical Facility (Boolean)**
-Registers an object as a medical facility for CMS.
+Registers an object as a medical facility.
`Default value: Yes` ### 2.6 Set Medical Vehicle -Defines an object as a medical facility for CMS. This allows for more advanced treatments. Can be synced with buildings and vehicles. +Defines an object as a medical facility. This allows for more advanced treatments. Can be synced with buildings and vehicles. **Settings:** From 08ada80baa4db1c862b3890246ee5a5d61b7042c Mon Sep 17 00:00:00 2001 From: bux578 Date: Mon, 4 May 2015 12:36:45 +0200 Subject: [PATCH 038/217] update from gh-pages --- documentation/user/promotional-material.md | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/documentation/user/promotional-material.md b/documentation/user/promotional-material.md index 834cd66efc..478a256897 100644 --- a/documentation/user/promotional-material.md +++ b/documentation/user/promotional-material.md @@ -10,9 +10,10 @@ You are hereby granted to use the ACE3 logos and imagery for promotional purpose ## Colors -![white](https://cloud.githubusercontent.com/assets/1235520/6618806/d19959e4-c8c5-11e4-85f4-814c93ec7778.jpg) White: `#ffffff, rgb(255, 255, 255)`
-![black](https://cloud.githubusercontent.com/assets/1235520/6618807/d2c7bf0e-c8c5-11e4-8c43-6de02d47898c.jpg) Black: `#000000, rgb(0, 0, 0)`
-![red](https://cloud.githubusercontent.com/assets/1235520/6618808/d3e6a62a-c8c5-11e4-9313-4db522a40117.jpg) Red: `#ba2619, rgb(186, 38, 25)` +* White: `#ffffff, rgb(255, 255, 255)` +* Black: `#000000, rgb(0, 0, 0)` +* Red: `#ba2619, rgb(186, 38, 25)` + ## Logo When using the ACE3 logo please do not stretch or skew it. @@ -31,4 +32,4 @@ When using the ACE3 logo please do not stretch or skew it. * [JPG (black background)](https://github.com/KoffeinFlummi/ACE3/blob/master/extras/assets/logo/white/ACE3-Logo.jpg) * [PNG (transparent background)](https://github.com/KoffeinFlummi/ACE3/blob/master/extras/assets/logo/white/ACE3-Logo.png) -* [EPS (vector file)](https://github.com/KoffeinFlummi/ACE3/blob/master/extras/assets/logo/white/ACE3-Logo.eps) \ No newline at end of file +* [EPS (vector file)](https://github.com/KoffeinFlummi/ACE3/blob/master/extras/assets/logo/white/ACE3-Logo.eps) From a5d74f4bfdb0d9d589af8cfd99c81a310d3765bc Mon Sep 17 00:00:00 2001 From: bux578 Date: Mon, 4 May 2015 13:43:33 +0200 Subject: [PATCH 039/217] proper heading numeration --- .../development/ace3-config-entries.md | 10 ++--- .../development/ace3-events-system.md | 14 ++++--- .../arma-3-scheduler-and-our-practices.md | 22 +++++------ .../development/coding-guidelines.md | 39 +++++++------------ .../development/extension-guidelines.md | 20 +++++----- .../setting-up-the-development-environment.md | 33 +++++----------- documentation/feature/medical-system.md | 10 ++--- .../framework/advanced-missile-guidance.md | 24 ++++++------ documentation/framework/carry-drag.md | 2 +- documentation/missionmaker/modules.md | 8 ++-- documentation/user/getting-started.md | 4 +- documentation/user/promotional-material.md | 8 ++-- 12 files changed, 87 insertions(+), 107 deletions(-) diff --git a/documentation/development/ace3-config-entries.md b/documentation/development/ace3-config-entries.md index 1033172469..2dbad136d3 100644 --- a/documentation/development/ace3-config-entries.md +++ b/documentation/development/ace3-config-entries.md @@ -6,7 +6,7 @@ parent: wiki order: 2 --- -### CfgVehicles +## 1. CfgVehicles ```c++ ace_nightvision_grain @@ -23,7 +23,7 @@ ace_offset ``` -### CfgWeapons +## 2. CfgWeapons ```c++ ace_recoil_shakemultiplier @@ -60,7 +60,7 @@ ace_modedescription ``` -### CfgAmmo +## 3. CfgAmmo ```c++ ace_recoil_shakemultiplier @@ -88,7 +88,7 @@ ace_barrellengths ``` -### CfgGlasses +## 4. CfgGlasses ```c++ ace_color @@ -102,7 +102,7 @@ ace_dustpath ``` -### CfgMagazines +## 5. CfgMagazines ```c++ ace_isbelt diff --git a/documentation/development/ace3-events-system.md b/documentation/development/ace3-events-system.md index 33412aa8fa..393005bdf4 100644 --- a/documentation/development/ace3-events-system.md +++ b/documentation/development/ace3-events-system.md @@ -6,7 +6,7 @@ parent: wiki order: 3 --- -## Event Handlers +## 1. Event Handlers Event handlers in ACE3 are implemented through our event system. They should be used to trigger or allow triggering of specific functionality. @@ -23,12 +23,14 @@ Events can be removed or cleared with the following commands. * `[eventName, eventHandlerId] call ace_common_fnc_removeEventHandler`
will remove a specific event handler of the event name, using the ID returned from `ace_common_fnc_addEventHandler`. * `[eventName] call ace_common_fnc_removeAllEventHandlers`
will remove all event handlers for that type of event. -### Synchronized Events +### 1.1 Synchronized Events + * `[eventName, eventCodeBlock, ttlNumberOrCodeBlock] call ace_common_fnc_addSyncedEventHandler`
adds a globally synchronized event handler which will expire events after the provided TTL, or the code returns true. * `[eventName] call ace_common_fnc_removeSyncedEventHandler`
will remove a specific event handler of the event name, using the ID returned from `ace_common_fnc_addSyncedEventHandler`. * * `[eventName, args, ttlNumberOrCodeBlock] call ace_common_fnc_syncedEvent`
calls a global synchronized event, which will also be run on JIP players unless it has expired; event will expire after the provided TTL, or the code returns true. -### Pattern: +### 1.2 Pattern: + ```c++ // tapper machine ["tapShoulder", [_target], [otherArguments]] call EFUNC(common,targetEvent); @@ -38,7 +40,8 @@ PREP(onTapShoulder); ["tapShoulder", FUNC(onTapShoulder) ] call EFUNC(common,addEventHandler); ``` -### Listenable Event List: +### 1.3 Listenable Event List: + @@ -191,7 +194,8 @@ PREP(onTapShoulder);
-### Callable Event List: +### 1.4 Callable Event List: + diff --git a/documentation/development/arma-3-scheduler-and-our-practices.md b/documentation/development/arma-3-scheduler-and-our-practices.md index bef0224819..a090eecc44 100644 --- a/documentation/development/arma-3-scheduler-and-our-practices.md +++ b/documentation/development/arma-3-scheduler-and-our-practices.md @@ -6,25 +6,25 @@ parent: wiki order: 8 --- -## Terminology +## 1. Terminology -#### Frame +### 1.1 Frame A single rendered frame of Arma 3. -#### Scheduled Space +### 1.2 Scheduled Space This refers to execution would is ruled by the Arma 3 default script scheduling engine. This would include: * spawn * execVM -#### Unscheduled Space +### 1.3 Unscheduled Space This refers to execution which is linear; what this means is that the code will run to completion prior to executing the current frame. It must complete, but is guaranteed to run within a given frame. * perFrameHandler * Extended_EventHandlers * addEventHandler -## What is the scheduler and why do I care? +## 2. What is the scheduler and why do I care? BIKI Article: https://community.bistudio.com/wiki/Biki2.0:Performance_Considerations @@ -36,7 +36,7 @@ What does this all mean? It means we need to live outside of the spawn execution The scheduler will also actually halt your script mid-execution, usually at the end of a given control block, and pause you to yield to other scripts. This can lead to drastically incorrect results when performing calculations. Again, this is the reason we want all our given code to run to completion in a single given frame. -## Design Patterns +## 3 Design Patterns Because we are attempting to always run to completion; execution occurs from 2 places. Either PFH handles or event handlers; in both cases, we wish our code to run to completion. This takes a change in mind set for design to ensure your executing that way. In a nutshell though, this all distills down to the fact that you will always call other chunks of code; nothing will ever be spawned off. The only circumstance this really becomes a problem is for waiting or delay. If designed correctly, though, you can avoid those circumstances. @@ -47,7 +47,7 @@ Rules of thumb for component design: * If you have to wait, use a PFH delay/diag_tickTime check. -### PFH-Design Pattern +### 3.1 PFH-Design Pattern Line Notes: @@ -55,7 +55,7 @@ Line Notes: -### ACE3 General Rules +### 3.2 ACE3 General Rules * Always use call whenever possible. We should be calling functions chains exclusive and not be relying on spawn/execVM ever. Consider spawn/execVM banned without good reason. All code should be a chain of execution which is traceable, and not triggered between seperate threads. * waitUntil and sleep are banned. If you need to use them, use scheduled delay execution instead. **Reasoning** *Sleep/waituntil surrender about 5x the scheduler time than even normal execution does. * @@ -63,9 +63,9 @@ Line Notes: * PFH should be utilized at all possible times when the player can see the result of whatever the code is. This applies to missile guidance, bullets, wind, optics, interactive UI, HUD's, and rendering. We should only consider scheduled execution if the code is running out of the visual range of the player. -### Code Examples +### 3.3 Code Examples -##### Generic PFH functions +#### 3.3.1 Generic PFH functions See: https://dev.withsix.com/docs/cba/files/common/fnc_addPerFrameHandler-sqf.html for more details. ```c++ @@ -73,7 +73,7 @@ See: https://dev.withsix.com/docs/cba/files/common/fnc_addPerFrameHandler-sqf.ht ``` -##### PFH Wait +#### 3.3.2 PFH Wait ```c++ DFUNC(myDelayedFunction) = { diff --git a/documentation/development/coding-guidelines.md b/documentation/development/coding-guidelines.md index e39581a9d4..04d6adba80 100644 --- a/documentation/development/coding-guidelines.md +++ b/documentation/development/coding-guidelines.md @@ -6,17 +6,8 @@ parent: wiki order: 1 --- -## Table Of Contents -- [Indentation](#indentation) -- [Braces](#braces) -- [Modules](#how-to-create-a-new-module) -- [Macros](#macro-usage) -- [Events](#event-handlers) -- [Hashes](#hashes) - - -## Indentation +## 1. Indentation 4 spaces for indentation. @@ -28,12 +19,12 @@ class Something: Or { }; ``` -#### Reasoning +### 1.1 Reasoning Tabs can be tricky sometimes, especially when it comes to sharing code with others. Additionally, a lot of people tend to forget they're using tabs when they're aligning things after the first character, which causes things to fall apart when viewing the code at different tab lengths. -## Braces +## 2. Braces - opening brace on the same line as keyword - closing brace in own line, same level of indentation as keyword @@ -88,12 +79,12 @@ class Two {foo = 2;}; class Three {foo = 3;}; ``` -#### Reasoning +### 2.1 Reasoning Putting the opening brace in it's own line wastes a lot of space, and keeping the closing brace on the same level as the keyword makes it easier to recognize what exactly the brace closes. -## How to create a new module +## 3. How to create a new module 1. Copy the structure from `extras\blank` to the `addons\` folder and name it what you wish the new module to be named. 1. Edit `script_component.hpp`, change the `COMPONENT` definition to the name of the module. Also edit each of the `DEBUG` definitions to be the name of the module (for example, `DEBUG_SETTINGS_BLANK` should be `DEBUG_SETTINGS_BALLS` for module balls) @@ -101,7 +92,7 @@ Putting the opening brace in it's own line wastes a lot of space, and keeping th 1. The module is now prepared for development -### Function Definitions +### 3.1 Function Definitions Functions should be created in the functions\ subdirectory, named `fnc_FunctionName.sqf` They should then be indexed via the `PREP(FunctionName)` macro in the XEH_preInit.sqf file. The `PREP` macro allows for CBA function caching, which drastically speeds up load times. **Beware though that function caching is enabled by default and as such to disable it you need to `#define DISABLE_COMPILE_CACHE` above your `#include "script_components.hpp"` include!** @@ -127,9 +118,9 @@ Every function should have a header of the following format: ``` -## Macro Usage +## 4. Macro Usage -### Module/PBO specific Macro Usage +### 4.1 Module/PBO specific Macro Usage The family of `GVAR` macro's define global variable strings or constants for use within a module. Please use these to make sure we follow naming conventions across all modules and also prevent duplicate/overwriting between variables in different modules. The macro family expands as follows, for the example of the module 'balls' * `GVAR(face)` is `ace_balls_face` @@ -152,7 +143,7 @@ The `FUNC` and `EFUNC` macros should NOT be used inside `QUOTE` macros if the in Using `FUNC` or `EFUNC` inside a `QUOTE` macro is fine if the intention is for it to be executed as a function. -#### FUNC Macros, Call Tracing, and Non-ACE/Anonymous Functions +#### 4.1.1 FUNC Macros, Call Tracing, and Non-ACE/Anonymous Functions ACE implements a basic call tracing system that can dump the call stack on errors or wherever you want. To do this the `FUNC` macros in debug mode will expand out to include metadata about the call including line numbers and files. This functionality is automatic with the use of calls via `FUNC` and `EFUNC`, but any calls to other functions need to use the following macros: @@ -161,13 +152,13 @@ ACE implements a basic call tracing system that can dump the call stack on error These macros will call these functions with the appropriate wrappers and enable call logging into them (but to no further calls inside obviously). -### General Purpose Macros +### 4.2 General Purpose Macros [CBA script_macros_common.hpp](https://gist.github.com/commy2/9ed6cc73fbe6a2b3f4e1) * `QUOTE()` is utilized within configuration files for bypassing the quote issues in configuration macros. So, all code segments inside a given config should utilize wrapping in the QUOTE() macro instead of direct strings. This allows us to use our macros inside the string segments, such as `QUOTE(_this call FUNC(balls))` -#### setVariable, getVariable family macros +#### 4.2.1 setVariable, getVariable family macros * `GETVAR(player,MyVarName,false)` `player getVariable ["MyVarName", false]` @@ -185,7 +176,7 @@ These macros will call these functions with the appropriate wrappers and enable `uiNamespace setVariable ["MyVarName", _control]` -## Event Handlers +## 5. Event Handlers Event handlers in ACE are implemented through our event system. They should be used to trigger or allow triggering of specific functionality. @@ -204,7 +195,7 @@ Events can be removed or cleared with the following commands. More information on the [ACE Events System](https://github.com/KoffeinFlummi/ACE3/wiki/ACE-Events-System) page. -## Hashes +## 6. Hashes Hashes are a variable type that store key value pairs. They are not implemented natively in SQF, so there are a number of macros and functions for their usage in ACE. If you are unfamiliar with the idea, they are similar in function to `setVariable`/`getVariable` but do not require an object to use. @@ -230,7 +221,7 @@ A description of the above macros is below. * `HASH_HASKEY(hash, key)` will return true/false if that key exists in the hash. * `HASH_REM(hash, key)` will remove that hash key. -### Hashlists +### 6.1 Hashlists A hashlist is an extension of a hash. It is a list of hashes! The reason for having this special type of storage container rather than using a normal array is that an array of normal hashes that are are similar will duplicate a large amount of data in their storage of keys. A hashlist on the other hand uses a common list of keys and an array of unique value containers. The following will demonstrate it's usage. @@ -269,6 +260,6 @@ As you can see above working with hashlists are fairly simple, a more in depth e * `HASHLIST_SELECT(hashlist, index)` returns the hash at that index in the list. * `HASHLIST_SET(hashlist, index, hash)` sets a specific index to that hash. -#### A note on pass by reference and hashes +#### 6.1.1 A note on pass by reference and hashes Hashes and hashlists are implemented with SQF arrays, and as such they are passed by reference to other functions. Remember to make copies (using the + operator) if you intend for the hash or hashlist to be modified with out the need for changing the original value. diff --git a/documentation/development/extension-guidelines.md b/documentation/development/extension-guidelines.md index b5e7e98586..45aa8c5994 100644 --- a/documentation/development/extension-guidelines.md +++ b/documentation/development/extension-guidelines.md @@ -6,27 +6,27 @@ parent: wiki order: 9 --- -## Basics +## 1. Basics -### Requirements +### 1.1 Requirements - A compiler (VS/GCC/Clang) - If starting with Visual Studio, you need to make sure to use the Visual studio command prompt - cmake 3.0 or later in your path -### Cross-Platform Guidelines +### 1.2 Cross-Platform Guidelines -### C++ basic style and naming guide +### 1.3 C++ basic style and naming guide -### ace_common cpp library +### 1.4 ace_common cpp library --- -## Building Extensions on Windows +## 2 Building Extensions on Windows -### Compiling +### 2.1 Compiling -#### Windows - Creating a Visual Studio Project +#### 2.1.1 Windows - Creating a Visual Studio Project 1. Open your compiling command prompt (which has cmake and your compiler) 2. From this directory, you need to use cmake to build the appropriate build files. Change the -G property appropriately. run cmake --help to get a list of the options. @@ -37,7 +37,7 @@ cmake .. -G "Visual Studio 2014" A Visual studio project file will now be generated in your build directory. -#### Windows - Visual Studio - Compile only (nmake) +#### 2.1.2 Windows - Visual Studio - Compile only (nmake) 1. Open your compiling command prompt (which has cmake and your compiler) 2. From this directory, you need to use cmake to build the appropriate build files. Change the -G property appropriately. run cmake --help to get a list of the options. @@ -56,4 +56,4 @@ extensions\ somethingElse\ace_somethingElse.dll ``` -### Creating a New Extension +### 2.2 Creating a New Extension diff --git a/documentation/development/setting-up-the-development-environment.md b/documentation/development/setting-up-the-development-environment.md index fe76ca6a20..14d5e067c9 100644 --- a/documentation/development/setting-up-the-development-environment.md +++ b/documentation/development/setting-up-the-development-environment.md @@ -9,20 +9,7 @@ order: 0 This page describes how you can setup your development environment for ACE3, allowing you to properly build ACE and utilize file patching. -## Table Of Contents -- [Requirements](#requirements) -- [Why so complicated?](#why-so-complicated) -- [Getting ACE](#getting-ace) -- [Initial Setup](#initial-setup) - - [Manual Setup](#manual-setup) -- [Creating a Test Build](#creating-a-test-build) -- [Creating a Release Build](#creating-a-release-build) -- [File Patching](#file-patching) - - [Enabling File Patching](#enabling-file-patching) - - [Restrictions of File Patching](#restrictions-of-file-patching) - - -## Requirements +## 1. Requirements - Arma 3 (duh) - A proper installation of the Arma 3 Tools (available on Steam) @@ -32,25 +19,25 @@ This page describes how you can setup your development environment for ACE3, all - A properly setup PATH variable (containing Python and the Mikero tools) -## Why so complicated? +## 2. Why so complicated? If you have contributed to AGM you might be used to an easier build process, where there was even an .exe you could use for building. ACE3, however, makes use of CBA macros to simplify things and give the developer access to a better debug process, which requires a stricter build environment. Additionally, Mikero's tools are stricter and report more errors than AddonBuilder does. The structure of this development environment also allows for [file patching](#file-patching), which is very useful for debugging. Not offering .exes for the Python scripts we use allows us to make easy changes without the hassle of compiling self-extracting exes all the time. -## Getting ACE +## 3. Getting ACE To actually get the ACE source code on your machine, it is recommended that you use Git. Tutorials for this are all around the web, and it allows you to track your changes and easily update your local copy. If you just want to create a quick and dirty build, you can also directly download the source code using the "Download ZIP" button on the front page of the GitHub repo. -## Initial Setup +## 4. Initial Setup After ensuring that you have installed all requirements, execute the `setup.py` script found in the `tools` folder. This will do most of the heavy lifting for you, create the links you need and copy the required CBA code to the proper place. Please note that these links are tied to the location of your ACE3 source code, so make sure that the project folder is where you want it to be. We recommend that you store the ACE3 project on your P-drive. -#### Manual Setup +### 4.1 Manual Setup Should the script fail, here is how you create the required links manually: @@ -73,7 +60,7 @@ mklink /D "P:\z\ace" "[location of the ACE3 project]" Then, copy the `cba` folder from the `tools` folder to `P:\x\cba`. Create the `x` folder if needed. That folder contains the parts of the CBA source code that are required for the macros to work. -## Creating a Test Build +## 5. Creating a Test Build To create a development build of ACE to test changes or to debug something, run the `build.py` file in the `tools` folder. This will populate the `addons` folder with binarized PBOs. These PBOs still point to the source files in their respective folders however, which allows you to use [file patching](#file-patching). @@ -86,16 +73,16 @@ To start the game using this build, you can use the following modline: ``` -## Creating a Release Build +## 6. Creating a Release Build To create a complete build of ACE that you can use without the source files, run the `make.py` file in the `tools` folder. This will populate the `release` folder with binarized PBOs that you can redistribute. These handle like those of any other mod. -## File Patching +## 7. File Patching File Patching allows you to change the files in an addon while the game is running, requiring only a restart of the mission. This makes it great for debugging, as it cuts down the time required between tests. Note that this only works with PBOs created using MakePBO, as outlined in [Creating a Test Build](#creating-a-test-build). -#### Enabling File Patching +### 7.1 Enabling File Patching There are two ways to enable file patching: - Load cba_cache_disable.pbo (included in CBA's optional folder) @@ -113,7 +100,7 @@ class CfgSettings { }; ``` -#### Restrictions of File Patching +### 7.2 Restrictions of File Patching Files must exist in the built PBOs for filepatching to work. If you create a new file you must rebuild the PBO or Arma will not find it in your file paths. diff --git a/documentation/feature/medical-system.md b/documentation/feature/medical-system.md index 3d756b70c8..443fb4b182 100644 --- a/documentation/feature/medical-system.md +++ b/documentation/feature/medical-system.md @@ -23,7 +23,7 @@ The four main elements that basic medical introduces are: All interactions in the medical system are done with the interaction menu. Non-medics can - by default - not perform all actions, and their actions take more time as when performed by trained medics. These actions are using epinephrine and blood IVs. -### How it works +### 2.1 How it works When hit, units start to lose blood depending on the severity of their wounds. Once the level of blood falls below a certain threshold, the unit will fall unconscious and eventually die. Units will also fall unconscious when sustaining large amounts of damage at once. @@ -45,17 +45,17 @@ Besides the 4 elements introduced by basic medical, advanced introduces the foll * Various treatment methods such as CPR, different kinds of IVs and tourniquets * A basic medication simulation -### How it works +### 3.1 How it works Same as with basic, when hit an injury is sustained. Different though is that the type of injury and the severity of it are based upon how the damage was done and what caused it. This affects both blood loss and immediate consequences, such as being knocked out or being killed right away. When a player has sustained an injury, this will be indicated by flashing red of the screen; this means the player is bleeding. -##### Stopping bleeding +#### 3.1.1 Stopping bleeding In order to stop the bleeding, all injuries on every bodypart requires treatment. This is done by either applying a tourniquet to legs or arms as a temporarly solution, or by using bandages to stop the bleeding as a more permament fix. -##### Vitals +#### 3.1.2 Vitals While a unit is bleeding however, the blood volume decreases which will result in a change of vitals. Depending on the factors such as current blood volume, the blood loss rate, medication used, the blood pressure will start to drop. To counter this drop, also based upon the previously mentioned factors and others, the heart rate will adjust accordingly to attempt to keep blood pressure at safe levels. This means that for any patient it is required to keep an eye on the vitals. This is done through the interaction system by selecting check pulse or blood pressure on either the arms or head. -##### Medication +#### 3.1.3 Medication To stabalize the vitals and to counter for example pain, a player/medic can use medication. Advanced medical has 3 different medications available: * Atropine * Morphine diff --git a/documentation/framework/advanced-missile-guidance.md b/documentation/framework/advanced-missile-guidance.md index 3029b7b3bd..8beee862b7 100644 --- a/documentation/framework/advanced-missile-guidance.md +++ b/documentation/framework/advanced-missile-guidance.md @@ -6,7 +6,7 @@ order: 5 parent: wiki --- -# 1. Overview +## 1. Overview The ACE Advanced Missile Guidance Framework provides a setup of configuration settings, functions and a execution framework for addon makers to integrate with the missile guidance and targeting mechanisms of ACE. It also provides for mod makers to create their own custom guidance methods within the framework. @@ -18,23 +18,23 @@ ACE3 provides a full suite of base concepts and guidance for the majority of mod Finally, flight profiles and mechanics for realistic missile simulations are also implemented; allowing for lock-steering bump guidance flight such as with the M47 Dragon or GBU steering fins, or finely tuned direct flight guidance which is currently avialable with other missile types. -# 2. Details +## 2. Details The framework is broken up into 3 major components: Locking Types, Seeker Types and Attack Profiles. In combination, these components build out the entire process of launching, locking and going terminal flight against targets. -### Components +### 2.1 Components -##### 1. Locking Types +#### 2.1.1 Locking Types Locking types provide the basic functionality of targeting which will be based to a seeker type, providing target aquisition for seekers. This provides the basic functionality for providing pre-determined targets for a seeker, or allowing the seeker to perform its own target aquisition and locking. Additionally, the seeker may reference back into the locking type in order to re-perform target aquisition. -##### 2. Seeker Types +#### 2.1.2 Seeker Types Each seeker is generally assumed to be the logic for the seeker head unit within any given munition. Seekers within this framework provide the basic targeting functionality for the entire framework. The locking type will provide a generic target to the seeker, or the seeker may aquire a target on its own. The seeker then provides a target, either an object or a ASL position, which is then passed further into the framework. This target (or position) should be the actual current target position for the missiles flight. Seekers are required to perform all limitations and checks within their systems, although various limitations have been provided in this framework such as LOS FOV, laser guidance, etc. -##### 3. Attack Profiles +#### 2.1.3 Attack Profiles An attack profile adjusts the current target flight location to create the actual flight path of the missile. The attack profile is provided with all parameters of the system, including the returned target of the seeker. Using this information, the attack profile then will adjust the *direct flight target position* to specifically direct where and how the missile shall flight. -## How it all ties together +## 3. How it all ties together The system is executed in a linear series of calls to each step of the process, and feeding back the return from that step to the next step. Execution is conducted using Locking->Seeker->Profile, iteratively every frame of execution. Flight times are adjusted to accTime values and FPS lag, giving consistent flight. @@ -42,9 +42,9 @@ On each step of execution, a target specification array [targetObj, targetPos] i In the simplest sense, the entire system provides the flight trajectory of the missile homing directly on the "adjusted attack position"; thus, an attack profile would ajust this position to direct the missile. For example, Top down attacks return the adjusted attack position high above the target, until entering their terminal stages, which then changes the position to be directly ontop of the target - thus "walking the missile" along its flight path and to the kill. -# 2. Adding AMG to a missile +## 4. Adding AMG to a missile -## Enabling guidance on Ammo Types +### 4.1 Enabling guidance on Ammo Types ``` class CfgAmmo { class MissileBase; @@ -81,9 +81,9 @@ class CfgAmmo { }; ``` -# 2. Creating your own custom seekers and attack profiles +## 5. Creating your own custom seekers and attack profiles -## Adding seeker types and attack profiles +### 5.1 Adding seeker types and attack profiles ``` class ace_missileguidance_attackProfiles{ @@ -104,4 +104,4 @@ class ace_missileguidance_seekerTypes { functionName = "my_fnc_doSeekerType"; }; }; -``` \ No newline at end of file +``` diff --git a/documentation/framework/carry-drag.md b/documentation/framework/carry-drag.md index daaa9fb95a..d117bcbc4a 100644 --- a/documentation/framework/carry-drag.md +++ b/documentation/framework/carry-drag.md @@ -6,7 +6,7 @@ order: 5 parent: wiki --- -# 1. Config Values +## 1. Config Values ``` class CfgVehicles { diff --git a/documentation/missionmaker/modules.md b/documentation/missionmaker/modules.md index fc454df4f9..2c51fd659b 100644 --- a/documentation/missionmaker/modules.md +++ b/documentation/missionmaker/modules.md @@ -88,17 +88,17 @@ You can make a whitelist of addons that don't have to be on the server. If you w The list must be in the following format: `["ADDON1","ADDON2",...]` where the addons are CfgPatches references to all PBOs of the optional mod. To figure these out, you can use the scripting command `activatedAddons` in the editor while those mods are enabled. Example 1: @Blastcore-A3:
-```js +``` ["warfxpe","blastcore_vep"] ``` Example 2: @JSRS:
-```js +``` [TBD] ``` Example 3: @JSRS + @Blastcore-A3:
-```js +``` [TBD, "warfxpe","blastcore_vep"] ``` @@ -405,7 +405,7 @@ Keep unit status synced. Recommended on.
### 2.2 Advanced Medical Settings -This module allows you to change the default Advanced Medical Settings, when [2.1 Medical Settings](#2-1MedicalSettings) is set to "Advanced". +This module allows you to change the default Advanced Medical Settings, when [2.1 Medical Settings](#2.1-medical-settings) is set to "Advanced". **Settings:** diff --git a/documentation/user/getting-started.md b/documentation/user/getting-started.md index 012f307445..5c5bac9e66 100644 --- a/documentation/user/getting-started.md +++ b/documentation/user/getting-started.md @@ -13,10 +13,8 @@ parent: wiki Downloaded ACE3 and have no idea where to start? This page serves as a document to help new players get started with things like the medical system, or how to adjust your scope. -### Table of contents -1. [Vector 21](#vector-21) -### Vector 21 +### 1. Vector 21 *Part of: ace_vector* ACE3 adds a realistic depiction of the Vector 21 rangefinder to the game. Unlike other rangefinders, it doesn't just magically show you the range to your target, but in exchange allows you to do alot of things with it that the other choices in Arma do not offer. The Vector's functions include, but are not limited to: diff --git a/documentation/user/promotional-material.md b/documentation/user/promotional-material.md index 478a256897..4c928f1fb3 100644 --- a/documentation/user/promotional-material.md +++ b/documentation/user/promotional-material.md @@ -8,17 +8,17 @@ parent: wiki You are hereby granted to use the ACE3 logos and imagery for promotional purposes. You are NOT allowed to use it commercially. -## Colors +## 1. Colors * White: `#ffffff, rgb(255, 255, 255)` * Black: `#000000, rgb(0, 0, 0)` * Red: `#ba2619, rgb(186, 38, 25)` -## Logo +## 2. Logo When using the ACE3 logo please do not stretch or skew it. -### Black +### 2.1 Black @@ -26,7 +26,7 @@ When using the ACE3 logo please do not stretch or skew it. * [PNG (transparent background)](https://github.com/KoffeinFlummi/ACE3/blob/master/extras/assets/logo/black/ACE3-Logo.png) * [EPS (vector file)](https://github.com/KoffeinFlummi/ACE3/blob/master/extras/assets/logo/black/ACE3-Logo.eps) -### White +### 2.2 White From d07b69aca4785ef5cf7649c269f6f7c8c2517781 Mon Sep 17 00:00:00 2001 From: esteldunedain Date: Mon, 4 May 2015 13:37:14 -0300 Subject: [PATCH 040/217] Increase the minimum distance required to perform LOS checks to 1.5m; should avoid LOS checks for medical bodyparts entirely, thus avoiding problems with weaponholders obstructing actions. --- addons/interact_menu/functions/fnc_renderBaseMenu.sqf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/interact_menu/functions/fnc_renderBaseMenu.sqf b/addons/interact_menu/functions/fnc_renderBaseMenu.sqf index 4daa4a5c90..ca26fb984d 100644 --- a/addons/interact_menu/functions/fnc_renderBaseMenu.sqf +++ b/addons/interact_menu/functions/fnc_renderBaseMenu.sqf @@ -44,8 +44,8 @@ if (GVAR(openedMenuType) == 0 && vehicle ACE_player == ACE_player && if (_actualDistance > _distance) exitWith {true}; - if (_actualDistance > 1.0) exitWith { - // If distance to action is greater than 1.0 m, check LOS + if (_actualDistance > 1.5) exitWith { + // If distance to action is greater than 1.5 m, check LOS _line = [_headPos call EFUNC(common,positionToASL), _pos call EFUNC(common,positionToASL), _object, ACE_player]; lineIntersects _line }; From 76eaa5ded1e6332f23825ccd97c02291800f79c8 Mon Sep 17 00:00:00 2001 From: ulteq Date: Mon, 4 May 2015 20:35:39 +0200 Subject: [PATCH 041/217] Added wind data for Bornholm --- addons/weather/functions/fnc_getMapData.sqf | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/addons/weather/functions/fnc_getMapData.sqf b/addons/weather/functions/fnc_getMapData.sqf index e1df9f658c..d42e63481e 100644 --- a/addons/weather/functions/fnc_getMapData.sqf +++ b/addons/weather/functions/fnc_getMapData.sqf @@ -124,6 +124,23 @@ if (worldName in ["Bornholm"]) exitWith { GVAR(TempNight) = [-1.6, -2.1, -0.7, 1.7, 6.2, 10.7, 13, 13.1, 10.6, 7.2, 3.5, 0.1]; // Source: http://www.weather-and-climate.com/average-monthly-Humidity-perc,allinge,Denmark GVAR(Humidity) = [85, 84, 80, 76, 69, 69, 76, 77, 79, 81, 86, 86]; + + // Source: https://weatherspark.com/averages/28830/R-nne-Capital-Region-of-Denmark + GVAR(WindSpeedMax) = [[9.3, 2.2], [8.4, 2.2], [7.9, 2.2], [7.1, 2.1], [7.2, 2.1], [6.8, 2.0], [6.8, 2.0], [7.1, 2.1], [7.7, 2.2], [8.6, 2.2], [8.8, 2.2], [9.3, 2.2]]; + GVAR(WindSpeedMean) = [6.9, 6.0, 5.7, 4.9, 4.8, 4.6, 4.7, 4.9, 5.5, 6.2, 6.5, 6.7]; + GVAR(WindSpeedMin) = [[3.9, 2.0], [3.0, 2.0], [2.3, 2.0], [1.8, 1.8], [1.7, 1.8], [1.7, 1.7], [1.7, 1.8], [1.9, 1.9], [2.6, 2.0], [2.9, 2.0], [3.3, 2.1], [3.5, 2.0]]; + GVAR(WindDirectionProbabilities) = [[0.07, 0.04, 0.07, 0.05, 0.09, 0.12, 0.20, 0.07], // January + [0.08, 0.06, 0.10, 0.06, 0.06, 0.08, 0.20, 0.08], // February + [0.05, 0.06, 0.13, 0.08, 0.07, 0.08, 0.19, 0.06], // March + [0.05, 0.11, 0.16, 0.09, 0.05, 0.06, 0.17, 0.06], // April + [0.04, 0.10, 0.15, 0.08, 0.05, 0.06, 0.20, 0.05], // May + [0.03, 0.07, 0.10, 0.07, 0.05, 0.07, 0.28, 0.06], // June + [0.04, 0.06, 0.11, 0.07, 0.04, 0.07, 0.28, 0.06], // July + [0.05, 0.06, 0.11, 0.07, 0.06, 0.08, 0.26, 0.06], // August + [0.06, 0.06, 0.11, 0.07, 0.06, 0.09, 0.21, 0.06], // September + [0.07, 0.05, 0.09, 0.08, 0.08, 0.12, 0.18, 0.07], // October + [0.08, 0.06, 0.08, 0.07, 0.10, 0.12, 0.16, 0.07], // November + [0.08, 0.05, 0.06, 0.04, 0.10, 0.14, 0.19, 0.07]];// December }; if (worldName in ["Imrali"]) exitWith { // Source: http://www.iten-online.ch/klima/europa/tuerkei/bursa.htm From be7391bf4728807ca20cf86ff44aec06a7bd4eea Mon Sep 17 00:00:00 2001 From: ulteq Date: Mon, 4 May 2015 21:28:12 +0200 Subject: [PATCH 042/217] Added wind data for F.A.T.A --- addons/weather/functions/fnc_getMapData.sqf | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/addons/weather/functions/fnc_getMapData.sqf b/addons/weather/functions/fnc_getMapData.sqf index d42e63481e..cc05a6feae 100644 --- a/addons/weather/functions/fnc_getMapData.sqf +++ b/addons/weather/functions/fnc_getMapData.sqf @@ -100,6 +100,24 @@ if (toLower worldName in ["fata", "Abbottabad"]) exitWith { GVAR(TempNight) = [-0.6, 2.4, 7.4, 13.1, 18.2, 22.8, 23.8, 22.9, 19.2, 12, 5.6, 1.2]; // Source: http://www.weather-and-climate.com/average-monthly-Humidity-perc,Zhob,Pakistan GVAR(Humidity) = [50, 40, 42, 40, 30, 30, 50, 49, 40, 32, 38, 41]; + + // Source: https://weatherspark.com/averages/31382/Shkin-Paktika-Afghanistan + GVAR(WindSpeedMax) = [[3.0, 1.0], [3.3, 1.0], [4.0, 1.0], [4.3, 1.4], [4.3, 1.5], [4.6, 1.4], [4.5, 1.3], [4.0, 0.9], [4.0, 1.0], [3.5, 1.0], [3.4, 1.0], [3.1, 1.0]]; + GVAR(WindSpeedMean) = [1.3, 1.5, 1.6, 1.7, 1.7, 1.7, 1.6, 1.5, 1.5, 1.4, 1.4, 1.2]; + GVAR(WindSpeedMin) = [[0.2, 0.1], [0.2, 0.1], [0.2, 0.1], [0.2, 0.1], [0.1, 0.1], [0.1, 0.1], [0.3, 0.1], [0.2, 0.1], [0.1, 0.1], [0.1, 0.1], [0.1, 0.1], [0.1, 0.1]]; + GVAR(WindDirectionProbabilities) = [[0.09, 0.03, 0.02, 0.03, 0.05, 0.07, 0.07, 0.18], // January + [0.07, 0.02, 0.01, 0.05, 0.10, 0.10, 0.06, 0.12], // February + [0.07, 0.02, 0.01, 0.07, 0.14, 0.11, 0.08, 0.12], // March + [0.07, 0.04, 0.03, 0.05, 0.12, 0.08, 0.06, 0.13], // April + [0.10, 0.03, 0.02, 0.04, 0.10, 0.09, 0.08, 0.18], // May + [0.12, 0.05, 0.04, 0.05, 0.08, 0.06, 0.06, 0.16], // June + [0.06, 0.04, 0.02, 0.06, 0.05, 0.01, 0.02, 0.06], // July + [0.08, 0.03, 0.04, 0.05, 0.09, 0.04, 0.02, 0.06], // August + [0.10, 0.04, 0.02, 0.06, 0.11, 0.09, 0.06, 0.13], // September + [0.07, 0.02, 0.01, 0.04, 0.11, 0.08, 0.08, 0.19], // October + [0.06, 0.01, 0.00, 0.05, 0.11, 0.09, 0.08, 0.13], // November + [0.07, 0.01, 0.01, 0.03, 0.08, 0.09, 0.09, 0.18]];// December + }; if (worldName in ["sfp_wamako"]) exitWith { From f81e53bb336e28cb20d47c616c5c68363420ba10 Mon Sep 17 00:00:00 2001 From: ulteq Date: Mon, 4 May 2015 22:17:26 +0200 Subject: [PATCH 043/217] Added wind data for Takistan (Kabul) --- addons/weather/functions/fnc_getMapData.sqf | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/addons/weather/functions/fnc_getMapData.sqf b/addons/weather/functions/fnc_getMapData.sqf index cc05a6feae..4ea04baed6 100644 --- a/addons/weather/functions/fnc_getMapData.sqf +++ b/addons/weather/functions/fnc_getMapData.sqf @@ -84,6 +84,23 @@ if (toLower worldName in ["takistan", "zargabad", "mountains_acr", "shapur_baf", GVAR(TempNight) = [-7.1, -5.7, 0.7, 6, 8.8, 12.4, 15.3, 14.3, 9.4, 3.9, -1.2, -4.7]; // Source: http://www.weather-and-climate.com/average-monthly-Humidity-perc,Kabul,Afghanistan GVAR(Humidity) = [68, 69, 62, 60, 49, 37, 38, 39, 40, 41, 56, 61]; + + // Source: https://weatherspark.com/averages/32750/Kabul-Afghanistan + GVAR(WindSpeedMax) = [[4.0, 1.0], [4.1, 1.0], [5.1, 1.1], [6.9, 1.2], [8.9, 1.2], [10.0, 1.1], 0, [8.2, 1.0], [6.9, 1.0], [5.2, 1.0], [3.8, 0.9], [3.7, 0.9]]; + GVAR(WindSpeedMean) = [2.2, 2.2, 2.5, 2.8, 3.8, 4.4, 0, 3.3, 2.7, 2.4, 1.8, 1.9]; + GVAR(WindSpeedMin) = [[0.2, 0.4], [0.2, 0.4], [0.2, 0.4], [0.3, 0.4], [0.6, 0.4], [0.9, 0.4], [0.7, 0.4], [0.5, 0.4], [0.2, 0.5], [0.1, 0.1], [0, 0.1], [0, 0.1]]; + GVAR(WindDirectionProbabilities) = [[0.04, 0.02, 0.05, 0.04, 0.05, 0.04, 0.11, 0.29], // January + [0.08, 0.04, 0.06, 0.04, 0.06, 0.04, 0.10, 0.20], // February + [0.12, 0.06, 0.08, 0.04, 0.05, 0.04, 0.09, 0.19], // March + [0.18, 0.07, 0.09, 0.05, 0.05, 0.04, 0.08, 0.16], // April + [0.27, 0.05, 0.05, 0.03, 0.04, 0.03, 0.08, 0.16], // May + [0.35, 0.04, 0.04, 0.02, 0.02, 0.02, 0.07, 0.13], // June + [0.30, 0.07, 0.09, 0.04, 0.02, 0.02, 0.05, 0.10], // July + [0.23, 0.07, 0.08, 0.06, 0.03, 0.02, 0.05, 0.10], // August + [0.15, 0.06, 0.10, 0.06, 0.04, 0.02, 0.07, 0.13], // September + [0.12, 0.04, 0.07, 0.06, 0.04, 0.03, 0.10, 0.17], // October + [0.07, 0.03, 0.06, 0.05, 0.06, 0.02, 0.10, 0.20], // November + [0.05, 0.03, 0.06, 0.05, 0.06, 0.04, 0.11, 0.26]];// December }; if (toLower worldName in ["fallujah"]) exitWith { From ea7a1c30eb69ecd1cfa44b9719f15a56f1d864d5 Mon Sep 17 00:00:00 2001 From: ViperMaul Date: Mon, 4 May 2015 13:36:23 -0700 Subject: [PATCH 044/217] Ability to set the test directory, the location you want the final files copied to for testing. Default: %USERPROFILE%\documents\Arma 3\ --- tools/make.cfg | 6 ++++++ tools/make.py | 8 ++++++++ 2 files changed, 14 insertions(+) diff --git a/tools/make.cfg b/tools/make.cfg index 170cea5159..5e4460ffd9 100644 --- a/tools/make.cfg +++ b/tools/make.cfg @@ -49,10 +49,16 @@ module_root = P:\z\ace\addons optionals_root = P:\z\ace\optionals +# If the command-line variable test, the addons built will be copied to the following folder. +# Default: %USERPROFILE%\documents\Arma 3\ +# test_dir = %USERPROFILE%\documents\Arma 3\ + + # Directory where the built addon will be saved. # Default: release release_dir = P:\z\ace\release + # This string will be prefixed to all build PBO file names. # Default: None pbo_name_prefix = ace_ diff --git a/tools/make.py b/tools/make.py index c6e0c2b26c..0beaac766b 100644 --- a/tools/make.py +++ b/tools/make.py @@ -625,6 +625,9 @@ See the make.cfg file for additional build options. # Release/build directory, relative to script dir release_dir = cfg.get(make_target, "release_dir", fallback="release") + #Directory to copy the final built PBO's for a test run. + test_dir = cfg.get(make_target, "test_dir", fallback=os.path.join(os.environ["USERPROFILE"],r"documents\Arma 3")) + # Project PBO file prefix (files are renamed to prefix_name.pbo) pbo_name_prefix = cfg.get(make_target, "pbo_name_prefix", fallback=None) @@ -1095,6 +1098,11 @@ See the make.cfg file for additional build options. else: a3_path = cygwin_a3path + print_yellow("Path from the registry => {}".format(a3_path)) + a3_path = test_dir + + print_yellow("Copying build files to {}".format(a3_path)) + if os.path.exists(a3_path): try: shutil.rmtree(os.path.join(a3_path, project), True) From 3fa218848d8eb8e0141ae55352f71f5a8d798cd2 Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Mon, 4 May 2015 22:46:58 -0500 Subject: [PATCH 045/217] MissleGuidance - fix Inheritance check --- addons/missileguidance/functions/fnc_onFired.sqf | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/addons/missileguidance/functions/fnc_onFired.sqf b/addons/missileguidance/functions/fnc_onFired.sqf index c5053c6e73..a3cf55f928 100644 --- a/addons/missileguidance/functions/fnc_onFired.sqf +++ b/addons/missileguidance/functions/fnc_onFired.sqf @@ -15,8 +15,10 @@ PARAMS_7(_shooter,_weapon,_muzzle,_mode,_ammo,_magazine,_projectile); // Bail on not missile if(! (_ammo isKindOf "MissileBase") ) exitWith { false }; -_configs = configProperties [configFile >> "CfgAmmo" >> _ammo >> QUOTE(ADDON), "true", false]; +//Verify ammo has explicity added guidance config (ignore inheritances) +_configs = configProperties [(configFile >> "CfgAmmo" >> _ammo), QUOTE(configName _x == QUOTE(QGVAR(enabled))), false]; if( (count _configs) < 1) exitWith {}; + _config = (configFile >> "CfgAmmo" >> _ammo >> QUOTE(ADDON)); _enabled = getNumber ( _config >> "enabled"); From 21552caee70a3c57aaeaa4a12dc2f3a2078316f1 Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Mon, 4 May 2015 23:01:19 -0500 Subject: [PATCH 046/217] Opps- Not the same as javelin --- addons/missileguidance/functions/fnc_onFired.sqf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/missileguidance/functions/fnc_onFired.sqf b/addons/missileguidance/functions/fnc_onFired.sqf index a3cf55f928..a184ba1ef4 100644 --- a/addons/missileguidance/functions/fnc_onFired.sqf +++ b/addons/missileguidance/functions/fnc_onFired.sqf @@ -16,7 +16,7 @@ PARAMS_7(_shooter,_weapon,_muzzle,_mode,_ammo,_magazine,_projectile); if(! (_ammo isKindOf "MissileBase") ) exitWith { false }; //Verify ammo has explicity added guidance config (ignore inheritances) -_configs = configProperties [(configFile >> "CfgAmmo" >> _ammo), QUOTE(configName _x == QUOTE(QGVAR(enabled))), false]; +_configs = configProperties [(configFile >> "CfgAmmo" >> _ammo), QUOTE(configName _x == QUOTE(QUOTE(ADDON))), false]; if( (count _configs) < 1) exitWith {}; _config = (configFile >> "CfgAmmo" >> _ammo >> QUOTE(ADDON)); From dafff4e63e6039ac3393eb1443ea42b1e5f0094c Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Mon, 4 May 2015 23:50:03 -0500 Subject: [PATCH 047/217] #940 - Map Tweak (contor legend) for brefing --- addons/map/config.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/map/config.cpp b/addons/map/config.cpp index ebd21d14f5..927d9aeb0f 100644 --- a/addons/map/config.cpp +++ b/addons/map/config.cpp @@ -154,7 +154,7 @@ class RscDisplayGetReady: RscDisplayMainMap { class controlsBackground { class CA_Map: RscMapControl { onDraw = QUOTE([ctrlParent (_this select 0)] call DFUNC(onDrawMap)); - //#include "MapTweaks.hpp" @todo Shouldn't this apply to briefing too? + #include "MapTweaks.hpp" }; }; // get rid of the "center to player position" - button (as it works even on elite) From bd69405cf4d398bfa83a76eacab95f6e0f859482 Mon Sep 17 00:00:00 2001 From: bux578 Date: Tue, 5 May 2015 08:37:41 +0200 Subject: [PATCH 048/217] fix czech typo in medical, fix #1010 --- addons/medical/stringtable.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/medical/stringtable.xml b/addons/medical/stringtable.xml index e66eab04fc..f573f53b0d 100644 --- a/addons/medical/stringtable.xml +++ b/addons/medical/stringtable.xml @@ -632,7 +632,7 @@ Natychmiastowy Urgence Immédiate Sofort - Okamžiý + Okamžitý Azonnali Immediata Imediato From 4f44bcdf46c182910365eee868b9fbdaf0763536 Mon Sep 17 00:00:00 2001 From: ulteq Date: Tue, 5 May 2015 10:36:12 +0200 Subject: [PATCH 049/217] Added wind data for Chernarus (Prag) --- addons/weather/functions/fnc_getMapData.sqf | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/addons/weather/functions/fnc_getMapData.sqf b/addons/weather/functions/fnc_getMapData.sqf index 4ea04baed6..5a090c7388 100644 --- a/addons/weather/functions/fnc_getMapData.sqf +++ b/addons/weather/functions/fnc_getMapData.sqf @@ -76,6 +76,23 @@ if (toLower worldName in ["chernarus", "bootcamp_acr", "woodland_acr", "utes"]) GVAR(TempNight) = [-4, -3, 0, 4, 9, 12, 14, 14, 10, 6, 2, -2]; // Source: http://www.weather-and-climate.com/average-monthly-Humidity-perc,Prague,Czech-Republic GVAR(Humidity) = [82, 80, 78, 70, 71, 72, 70, 73, 78, 80, 83, 82]; + + // Source: https://weatherspark.com/averages/32335/Prague-Central-Bohemia-Czech-Republic + GVAR(WindSpeedMax) = [[6.7, 2.4], [6.8, 2.2], [7.1, 2.0], [6.7, 1.9], [6.5, 1.8], [6.4, 1.8], [6.4, 1.8], [5.9, 1.9], [5.8, 2.1], [5.9, 2.3], [6.4, 2.8], [7.0, 3.0]]; + GVAR(WindSpeedMean) = [4.5, 4.3, 4.4, 4.1, 3.6, 3.6, 3.6, 3.4, 3.6, 0, 4.1, 4.6]; + GVAR(WindSpeedMin) = [[1.5, 1.1], [1.5, 1.1], [1.5, 1.0], [1.2, 0.9], [1.1, 0.8], [1.0, 0.8], [1.0, 1.0], [1.0, 0.9], [1.1, 1.0], [1.0, 1.0], [1.3, 1.1], [1.8, 1.2]]; + GVAR(WindDirectionProbabilities) = [[0.06, 0.02, 0.06, 0.06, 0.10, 0.23, 0.15, 0.06], // January + [0.08, 0.03, 0.08, 0.06, 0.08, 0.18, 0.15, 0.08], // February + [0.08, 0.02, 0.10, 0.06, 0.07, 0.17, 0.15, 0.08], // March + [0.12, 0.04, 0.10, 0.05, 0.06, 0.12, 0.13, 0.10], // April + [0.12, 0.05, 0.09, 0.05, 0.05, 0.10, 0.13, 0.10], // May + [0.12, 0.04, 0.06, 0.03, 0.05, 0.13, 0.16, 0.10], // June + [0.09, 0.03, 0.07, 0.04, 0.06, 0.16, 0.18, 0.10], // July + [0.09, 0.03, 0.08, 0.04, 0.06, 0.15, 0.16, 0.09], // August + [0.07, 0.03, 0.08, 0.06, 0.08, 0.18, 0.15, 0.08], // September + [0.06, 0.03, 0.10, 0.07, 0.10, 0.19, 0.13, 0.05], // October + [0.06, 0.02, 0.08, 0.07, 0.10, 0.15, 0.13, 0.05], // November + [0.06, 0.02, 0.06, 0.06, 0.10, 0.24, 0.15, 0.05]];// December }; if (toLower worldName in ["takistan", "zargabad", "mountains_acr", "shapur_baf", "provinggrounds_pmc"]) exitWith { From 19864d5be69916d64b4966df209b7df6ad6507df Mon Sep 17 00:00:00 2001 From: ulteq Date: Tue, 5 May 2015 10:37:51 +0200 Subject: [PATCH 050/217] Fixed a bug in the humidity calculation --- addons/weather/functions/fnc_updateHumidity.sqf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/weather/functions/fnc_updateHumidity.sqf b/addons/weather/functions/fnc_updateHumidity.sqf index dce031b3f3..df6e64df5d 100644 --- a/addons/weather/functions/fnc_updateHumidity.sqf +++ b/addons/weather/functions/fnc_updateHumidity.sqf @@ -14,7 +14,7 @@ private ["_month", "_avgTemperature", "_pS1", "_pS2"]; _month = date select 1; -GVAR(currentHumidity) = (GVAR(Humidity) select _month) / 100; +GVAR(currentHumidity) = (GVAR(Humidity) select (_month - 1)) / 100; if (rain > 0 && overcast > 0.7) then { GVAR(currentHumidity) = 1; From cb88469da8def67e41d2829999d8f173070234ee Mon Sep 17 00:00:00 2001 From: bux578 Date: Tue, 5 May 2015 16:30:42 +0200 Subject: [PATCH 051/217] copy documentation style updates from gh-pages --- documentation/development/ace3-config-entries.md | 7 +++++++ .../development/arma-3-scheduler-and-our-practices.md | 5 +++-- documentation/missionmaker/modules.md | 6 ++++-- 3 files changed, 14 insertions(+), 4 deletions(-) diff --git a/documentation/development/ace3-config-entries.md b/documentation/development/ace3-config-entries.md index 2dbad136d3..07782cf76c 100644 --- a/documentation/development/ace3-config-entries.md +++ b/documentation/development/ace3-config-entries.md @@ -7,6 +7,8 @@ order: 2 --- ## 1. CfgVehicles +Entries from found in the `CfgVehicles.hpp` files + ```c++ ace_nightvision_grain @@ -24,6 +26,8 @@ ace_offset ## 2. CfgWeapons +Entries from found in the `CfgWeapons.hpp` files + ```c++ ace_recoil_shakemultiplier @@ -61,6 +65,7 @@ ace_modedescription ## 3. CfgAmmo +Entries from found in the `CfgAmmo.hpp` files ```c++ ace_recoil_shakemultiplier @@ -89,6 +94,7 @@ ace_barrellengths ## 4. CfgGlasses +Entries from found in the `CfgGlasses.hpp` file ```c++ ace_color @@ -103,6 +109,7 @@ ace_dustpath ## 5. CfgMagazines +Entries from found in the `CfgMagazines.hpp` files ```c++ ace_isbelt diff --git a/documentation/development/arma-3-scheduler-and-our-practices.md b/documentation/development/arma-3-scheduler-and-our-practices.md index a090eecc44..95852792d8 100644 --- a/documentation/development/arma-3-scheduler-and-our-practices.md +++ b/documentation/development/arma-3-scheduler-and-our-practices.md @@ -14,11 +14,13 @@ A single rendered frame of Arma 3. ### 1.2 Scheduled Space This refers to execution would is ruled by the Arma 3 default script scheduling engine. This would include: + * spawn * execVM ### 1.3 Unscheduled Space This refers to execution which is linear; what this means is that the code will run to completion prior to executing the current frame. It must complete, but is guaranteed to run within a given frame. + * perFrameHandler * Extended_EventHandlers * addEventHandler @@ -43,7 +45,6 @@ Because we are attempting to always run to completion; execution occurs from 2 p Rules of thumb for component design: * If you need to wait for a value, don't wait, use a CBA event! This means everything should be designed and written with an event-driven model in mind. - * If you have to wait, use a PFH delay/diag_tickTime check. @@ -58,7 +59,7 @@ Line Notes: ### 3.2 ACE3 General Rules * Always use call whenever possible. We should be calling functions chains exclusive and not be relying on spawn/execVM ever. Consider spawn/execVM banned without good reason. All code should be a chain of execution which is traceable, and not triggered between seperate threads. -* waitUntil and sleep are banned. If you need to use them, use scheduled delay execution instead. **Reasoning** *Sleep/waituntil surrender about 5x the scheduler time than even normal execution does. * +* waitUntil and sleep are banned. If you need to use them, use scheduled delay execution instead. **Reasoning: Sleep/waitUntil surrender about 5x the scheduler time than even normal execution does.** * If we need a spawn or exec, we should utilize the perFrame scheduler. Spawn/execVM are subject to the Arma 3 scheduler and as such, cannot be relied upon. In order to give our players a consistent gameplay experience, we need to have total control over how and when all of our code runs. * PFH should be utilized at all possible times when the player can see the result of whatever the code is. This applies to missile guidance, bullets, wind, optics, interactive UI, HUD's, and rendering. We should only consider scheduled execution if the code is running out of the visual range of the player. diff --git a/documentation/missionmaker/modules.md b/documentation/missionmaker/modules.md index 2c51fd659b..9cb17e001f 100644 --- a/documentation/missionmaker/modules.md +++ b/documentation/missionmaker/modules.md @@ -354,7 +354,9 @@ Defines the radius around the player (in meters) at which projectiles are wind d *Part of: ace_core* And then there's the "LSD Vehicles" module … it does 'something' to all vehicles synced to that module. - +
+ +
## 2. ACE Medical *Part of: ace_medical* @@ -520,4 +522,4 @@ Follow players. If set to false, loop will play sounds only nearby logic positio `Default value: No` 6. **Volume (Number)**
The volume of the sounds played
-`Default value: 1` \ No newline at end of file +`Default value: 1` From 76f540409fac13b79fb4a4fc0c8502910687cc82 Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Tue, 5 May 2015 10:46:56 -0500 Subject: [PATCH 052/217] Fix 1.44 Updating Base Class Updating base class VestItem->ItemInfo, by z\addons\ace\protection\config.cpp/CfgWeapons/V_PlateCarrierIAGL_dgtl/ItemInfo/ --- addons/protection/FixVests.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/protection/FixVests.hpp b/addons/protection/FixVests.hpp index db00c1ea05..f3d1ad2b3d 100644 --- a/addons/protection/FixVests.hpp +++ b/addons/protection/FixVests.hpp @@ -234,7 +234,7 @@ class V_PlateCarrierIA2_dgtl: V_PlateCarrierIA1_dgtl { // heavy }; }; class V_PlateCarrierIAGL_dgtl: V_PlateCarrierIA2_dgtl { // heavy (gl) - class ItemInfo: ItemInfo { + class ItemInfo: VestItem { containerClass = "Supply140"; //"Supply120"; mass = 100; //80; armor = 12; //100; From b781264212bff9f6234ecb7d5c1977857a5d205c Mon Sep 17 00:00:00 2001 From: Josuan Albin Date: Tue, 5 May 2015 18:53:17 +0200 Subject: [PATCH 053/217] New anim update new healing animation added to animationCaller, animationCallerSelf stays the same --- addons/medical/ACE_Medical_Treatments.hpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/medical/ACE_Medical_Treatments.hpp b/addons/medical/ACE_Medical_Treatments.hpp index 3f5212ad71..d28aac7662 100644 --- a/addons/medical/ACE_Medical_Treatments.hpp +++ b/addons/medical/ACE_Medical_Treatments.hpp @@ -20,8 +20,8 @@ class ACE_Medical_Actions { animationPatient = ""; animationPatientUnconscious = "AinjPpneMstpSnonWrflDnon_rolltoback"; animationPatientUnconsciousExcludeOn[] = {"ainjppnemstpsnonwrfldnon"}; - animationCaller = "AinvPknlMstpSlayWnonDnon_medic"; - animationCallerProne = "AinvPpneMstpSlayW[wpn]Dnon_medic"; + animationCaller = "AinvPknlMstpSlayWrflDnon_medicOther"; + animationCallerProne = "AinvPpneMstpSlayW[wpn]Dnon_medicOther"; animationCallerSelf = "AinvPknlMstpSlayW[wpn]Dnon_medic"; animationCallerSelfProne = "AinvPpneMstpSlayW[wpn]Dnon_medic"; litter[] = { {"All", "", {{"ACE_MedicalLitterBase", "ACE_MedicalLitter_bandage1", "ACE_MedicalLitter_bandage2", "ACE_MedicalLitter_bandage3"}}} }; From f063e45e60817b6d88f127f45758bba634f04d4e Mon Sep 17 00:00:00 2001 From: Josuan Albin Date: Tue, 5 May 2015 19:04:08 +0200 Subject: [PATCH 054/217] medical advanced added animations added for advanced --- addons/medical/ACE_Medical_Treatments.hpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/medical/ACE_Medical_Treatments.hpp b/addons/medical/ACE_Medical_Treatments.hpp index d28aac7662..8c7691eea5 100644 --- a/addons/medical/ACE_Medical_Treatments.hpp +++ b/addons/medical/ACE_Medical_Treatments.hpp @@ -109,8 +109,8 @@ class ACE_Medical_Actions { animationPatient = ""; animationPatientUnconscious = "AinjPpneMstpSnonWrflDnon_rolltoback"; animationPatientUnconsciousExcludeOn[] = {"ainjppnemstpsnonwrfldnon"}; - animationCaller = "AinvPknlMstpSlayWnonDnon_medic"; - animationCallerProne = "AinvPpneMstpSlayW[wpn]Dnon_medic"; + animationCaller = "AinvPknlMstpSlayWrflDnon_medicOther"; + animationCallerProne = "AinvPpneMstpSlayW[wpn]Dnon_medicOther"; animationCallerSelf = "AinvPknlMstpSlayW[wpn]Dnon_medic"; animationCallerSelfProne = "AinvPpneMstpSlayW[wpn]Dnon_medic"; litter[] = { {"All", "", {{"ACE_MedicalLitter_bandage2", "ACE_MedicalLitter_bandage3"}}} }; From dd2ea99d156d02dfe6b0eb22ae8ff579cda3c215 Mon Sep 17 00:00:00 2001 From: Josuan Albin Date: Tue, 5 May 2015 19:26:11 +0200 Subject: [PATCH 055/217] pak pak anim --- addons/medical/ACE_Medical_Treatments.hpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/medical/ACE_Medical_Treatments.hpp b/addons/medical/ACE_Medical_Treatments.hpp index 8c7691eea5..9848410c8c 100644 --- a/addons/medical/ACE_Medical_Treatments.hpp +++ b/addons/medical/ACE_Medical_Treatments.hpp @@ -217,8 +217,8 @@ class ACE_Medical_Actions { itemConsumed = QGVAR(consumeItem_PAK); animationPatient = ""; animationPatientUnconscious = "AinjPpneMstpSnonWrflDnon_rolltoback"; - animationCaller = "AinvPknlMstpSlayWnonDnon_medic"; - animationCallerProne = "AinvPpneMstpSlayW[wpn]Dnon_medic"; + animationCaller = "AinvPknlMstpSlayWnonDnon_medicOther"; + animationCallerProne = "AinvPpneMstpSlayW[wpn]Dnon_medicOther"; animationCallerSelf = ""; animationCallerSelfProne = ""; litter[] = { {"All", "", {"ACE_MedicalLitter_gloves"}}, {"All", "", {{"ACE_MedicalLitterBase", "ACE_MedicalLitter_bandage1", "ACE_MedicalLitter_bandage2", "ACE_MedicalLitter_bandage3"}} }, {"All", "", {{"ACE_MedicalLitterBase", "ACE_MedicalLitter_bandage1", "ACE_MedicalLitter_bandage2", "ACE_MedicalLitter_bandage3"}}} }; From 9abf8a15c1bca3a5fe0aeae58e630e0fdf87aa08 Mon Sep 17 00:00:00 2001 From: Glowbal Date: Tue, 5 May 2015 19:44:44 +0200 Subject: [PATCH 056/217] Make certain that GVAR(BodyRemoveTimer) exists --- addons/respawn/config.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/addons/respawn/config.cpp b/addons/respawn/config.cpp index 19032df4f7..05f4ee2aa8 100644 --- a/addons/respawn/config.cpp +++ b/addons/respawn/config.cpp @@ -26,4 +26,8 @@ class ACE_Settings { value = 1; typeName = "BOOL"; }; + class GVAR(BodyRemoveTimer) { + value = 0; + typeName = "SCALAR"; + }; }; From cee83113d2e4b7843b52c53291e1a47aad86c645 Mon Sep 17 00:00:00 2001 From: Glowbal Date: Tue, 5 May 2015 19:44:56 +0200 Subject: [PATCH 057/217] lets use proper module config for this --- addons/respawn/CfgVehicles.hpp | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/addons/respawn/CfgVehicles.hpp b/addons/respawn/CfgVehicles.hpp index ddd8f28405..9a74ccf76a 100644 --- a/addons/respawn/CfgVehicles.hpp +++ b/addons/respawn/CfgVehicles.hpp @@ -14,22 +14,14 @@ class CfgVehicles { displayName = "Save Gear?"; description = "Respawn with the gear a soldier had just before his death?"; typeName = "BOOL"; - - class values { - class Yes { name = "Yes"; value = 1; }; - class No { default = 1; name = "No"; value = 0; }; - }; + value = 0; }; class RemoveDeadBodiesDisconnected { displayName = "Remove bodies?"; description = "Remove player bodies after disconnect?"; typeName = "BOOL"; - - class values { - class Yes { default = 1; name = "Yes"; value = 1; }; - class No { name = "No"; value = 0; }; - }; + value = 1; }; }; }; From a49feee76bd5564357c661955b67c7601518cbfb Mon Sep 17 00:00:00 2001 From: Glowbal Date: Tue, 5 May 2015 19:47:17 +0200 Subject: [PATCH 058/217] should have been defaultValue --- addons/respawn/CfgVehicles.hpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/respawn/CfgVehicles.hpp b/addons/respawn/CfgVehicles.hpp index 9a74ccf76a..2f963a12d3 100644 --- a/addons/respawn/CfgVehicles.hpp +++ b/addons/respawn/CfgVehicles.hpp @@ -14,14 +14,14 @@ class CfgVehicles { displayName = "Save Gear?"; description = "Respawn with the gear a soldier had just before his death?"; typeName = "BOOL"; - value = 0; + defaultValue = 0; }; class RemoveDeadBodiesDisconnected { displayName = "Remove bodies?"; description = "Remove player bodies after disconnect?"; typeName = "BOOL"; - value = 1; + defaultValue = 1; }; }; }; From 50cc5db92feb2b279021ba30aee5deeaa52a037a Mon Sep 17 00:00:00 2001 From: Glowbal Date: Tue, 5 May 2015 20:05:31 +0200 Subject: [PATCH 059/217] fixes #1017 --- addons/interact_menu/XEH_clientInit.sqf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/interact_menu/XEH_clientInit.sqf b/addons/interact_menu/XEH_clientInit.sqf index edb25d99bb..bbd2b74263 100644 --- a/addons/interact_menu/XEH_clientInit.sqf +++ b/addons/interact_menu/XEH_clientInit.sqf @@ -57,7 +57,7 @@ addMissionEventHandler ["Draw3D", DFUNC(render)]; if (_unit != ACE_player || !_isUnconscious) exitWith {}; GVAR(actionSelected) = false; - [] call FUNC(keyUp); + [GVAR(openedMenuType), false] call FUNC(keyUp); }] call EFUNC(common,addEventhandler); // disable firing while the interact menu is is is opened From 150a76d31f6743a416bdce5dc8c857b477b005fc Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Tue, 5 May 2015 14:21:02 -0500 Subject: [PATCH 060/217] DLL Recompile RelWithDebInfo --- ace_advanced_ballistics.dll | Bin 614400 -> 592896 bytes ace_break_line.dll | Bin 712704 -> 715264 bytes ace_fcs.dll | Bin 788480 -> 784384 bytes 3 files changed, 0 insertions(+), 0 deletions(-) diff --git a/ace_advanced_ballistics.dll b/ace_advanced_ballistics.dll index 8f1c62484fccd88ee868047cb0bed19e0397580d..5aa9a66c0cd9fc73b3550129435eba0febf2d0b0 100644 GIT binary patch literal 592896 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
ll^Tc``dTAzyy?K?XbVk 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�MpNK#FjUXLyqFk~BDSEL%Q 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 z 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
AH|X+S6U=Zje0s(=l`s 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 literal 614400 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

)PuA7=%Ymfkr{A`^cCQG5RFid^~ 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

66E)D1rCQnq5=bZ-G3VlTD}$r6nkdXP|}Y@ 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

Mke9JC=X^_ zOl(Olm5pivMNGgyR)>aW)X~q_;D5Dw*uPzEbOKg?O#Qb(m5k_aI_Ae4YElzvX_dTF zvC5lFT{gts8Fx{dSh(#$S>i!HTqU;v zy>GCTpeuHi_X<~8PogO*K%5PxX=?vPO;2m(b;1?h9VewRxS)uAD#O=thG(_wY0Q?# zS~0%K$67JI$;VnTzRAa0YmG9E>IkY3u1-gky2y&01-?~~aD$wWU(kS+L0R}dlD*kU z#7>rlo}U$4IGcN+!SFmS^Gfz^@Q)TExlXmVPrGP;`veyU@>Lhi^kbC~_LORjOT@~Z zkVFRkGt^-j&IMTeLk^z-%XnCUIT~w+ivNv8MDM*%Z=wtpe0fofMZRCWLcS-(%lE5C z@%v0yfjJArW;X$Gmm#SIhoAv_v*kUGU2bsEeP&C6d2V%qIp+-Sr?D>R9G-Up4p_6R zp=f66R2bKt{Q>Ca`=K6&b<#N)_2Av7&A&MX=2~6H!-HMhQ5(3Eid||A=E(<%&kC6z zEJPZHP-sdm2dj>9j)F2RP>N~7yVLylu#u_q_y6Gi-_rT>%+CP_Zf1879^gPn#%qyb z4*<5Uz#P+x?|U%rf}hATfy7iGBQE?^z9P+wqiChi@Y2XPCi&-HvMuM$8ZLT~(n3aSn^lt361s|(+NYvil0#pus z+MEY2FNoTVZ#$@T-6+Kiq8`RiWXQE+FJ|hb0hp3^xQviBl3jO}uEpaD%-MCouG&}pV@u7G;93-n@Hbl6H z-_0_k|D_yg=ML_oe*NG4x_ZM3i0@qZSN0TIspyVUUR?E6!xKmY zGYTR2ajLa4)gILFL-Z6PJKv) zNH20M^`p#WFfsSK`mU;>qT%?_k%N%Sj~o1R_82~PcvIW-7)i9DuKu|8uHkq?3z6uk zZ+P;Prf2LIHB=mnx(dYT9SGu`5XBdQR?%#*!QIYRe7a9%IhqCW46Y_vLHYV*<4O}7 ziWvs%L(o`YYQ)N3ArF(by`;^^MnG@#e^f@#ST7-q z2jf2p@EU8=G-ntnn8f|q9J9uH3@;6hbWl}e?ukas4;*XEZEg%rZ_Gukm7xh~AE9~r z4LN{g#}UaOuS0}29>1X&i)ZGGA0M9%|b4jKKe>Y9cXNJ88$jFh>$sOTMF;Cngmd`8+9S zO)q+l67+Rl6;Cje_6kIQ)^l|Q)_Jq*x6nojChVY{gALI8l+#`c3AGs+sHp`hwf1Y- zOsLqj9E8;ct?HAN$u5xL5pcMWwp8e~aRI{5&@k7#8s{cb{kBEgOz!Jg{UOku)eaaO zPO9v@aQ6jSjSZQN_3Zr@DN!6N;vUpm6>pb_Ktr9EfQ3z^!17&jKW7AxcJQTe*sCyW z$QSXRfFdCtc4IlZDst#Q0%FbEuo=Ma5Amu%Y$?!%w89s{AWb#90L?98S_>$s)oKC$ z2r%7cP^)4yx{PAIzye<`1Mtf@C#)E36h zzKu@-GmRO~9e_GG+Rxd;*%5TOm7gAaZv?x+mJg&=#_Cr1h=wZUk;1~K7|$|wS~*Y* zTc{XbhKworSuTXOFOj%b2;!*D&J&PhT(MQ@Hx&Rzlv*El_A9EH+)e5%{QH6RF9#&~gw$@m;UttPCsbR(48hz(pyOhNWRt*Nsy#Eet<*f?O=j0hvRl28%4 znJ4TbN<--<3i|<=7IZzg=6aH7Wq#KtPqr}>zE7deG3<2|gaa#w#x|?v=g#~YAN%@EGlyj3OMKAbT7aQGZA% z7T{b$X2OGngxYKtOwV5Nyd{UrV|z%p?R|U^_d8DVl`Kcpl`Peh`wpXnqa(A}0(9u< z&<_fn{LvK%UV-y0P|-Y0+HtU}esIP;i@hw}lf-Kw_)NYs11Eslap2o&3{d4bvm)O% z#KYOZMz;}rTFh^R+grul4y-O|r3IY>v)C&nY3yE)1E$_4j^b&uflMATIm&(7HU=lZ zt*D_G-?HAU9rJ2pZ$#HZZU=d`dfN>AkSqsI-(zFYEQ;4|rxdYh1`A}e*qy|N`|sW| z?%oq>{*{DDGEfS64bt`&ve*|fQb@;98ObxZPtF{2)`pEajNY*~P^#4^!G>Ti1gGW< za-0oX8|gS3Y>$3!Bm9ZnDt;@Al7FxQ1X3zd#^1rFL6v<+KGgb#rad!@ef`%q&nE0m zu^Hxr7WY&L15g~j5h=O^4G9*#nrtDnrDvdYEE^MXIPd_=pa_^oR@&+v6~WRvd<0+y zJYxztvSL)*lAVoc585HC@a19?{jwwO2rIY*z9xazBV3$q^B|SSWeXOJjZWz;B}_&Q ztAE@h*k>>B6mbX)W?UgMjBG|`*>Ds*8;4pdhpZ#oYSkVX;$JW&$@O0r$0ta!b8)Qj z7soU-*FRkx|NaHyIQ)E9;u!v^P8@~%e+6-%=R~{c!@okYs{85p+1;j7CdF)Y0`~>N zTfIuxHQc{2B;6gjKX#MevTo9w5=f7lM$by@aD~mSYzCGHN@Y`U6il9K%Bk}6ocKY0 zhZdy^NZ29ID7hlZxl|;<-;zH0zV%%oh33IA(IZ5FBVHpMeLRX~z&@p8Jy_+Y8kjD? zcw%UgWOTW@D#FH*gD?v?c2GwM_9a*POut(3bA%ylCJ&#pvuInrh&r5WL0bnzZkzOv z+un+I-e}l#N%)CPy@gA|D})3`wb4;y9CxxPblhjFf`YynSA(Z2JXMctvPWPr(|$0y zZd{WPwjHAwo+8?z*)=C`UR_shlPq)ErNSCXV`y!j1Q(USOHCau9Re*Fh@utyY|ZO1 zxjER$><(B4dEeNM6ENvm>4AZII-V$u%?1pDVtTP#I4~7%SIKhWp|fQ*@g5gjhvp$C zXUoI(>DsG@-s2rK>O$q@G&W!ZySs-Ui!$sDvj7DhthhwBgoCtyBoPP!@I^0Sw8L3Q zWBrdU%-}pAx$Ri6d2hpU4BfPN#->GM_5w>!?AQTK+0X87GwoZ~*lTNHxJ8m+jOjfw zG)cr>#2Y@so5uQvucd={7;9DWulC|c5Iz824ZtP4uaTxLjT-C6V*ccE+T7K=;Xb@* z_!_(U$&5@guP;WKDqHIz?R#zqS>~QQ)*5NgAryNifMtP_Ps4F@a_SF?wX`wcBzr$^ zMjU62_IM1t#i={>ndwa*Vx|T8B>BWmZQM6pj zh7uP>o!>^_Mx}INY@r);lnp{uP!~FUvzf!yGNqUN3sk!$gy}++q`1KWj-O8_T@@qN2 z?&Q}Be%-~dwfwr5Uk~u>8ZLo){(OvIoA~tvzcPMp=GPW}J;Sf<{Mx~<22LS_UrqcP z$*&fEjpo-_evRW-S_tV$qSO66NyGSc1iy~r*U|hshF{0?Ybw7^=GSTbI)h)+`IVMI zdXi|HGEWk1@#IOG&#$yZ*ONruZ%-2WPM#z(@t!1dc|1v^C!Qn&_?LB&+&OsMhbV?^ z+W26c>UdkQ^w$F30g zgEPVBNP3qpe@TZMh@m5V87HPDy4YauwJKc?gmx|}gRh1@ispPTM?lVxg)|zA2VWchI@d? z$ij|{(GeBcFa|R{v^ygX4LBv%}3i&)jR2=8mfYPts>bWg?eT)d%O0ReMRI(YQp zmj~-3>g;FQzC}3wqQq!GU{I!c%11 zM{uS;GKjmy55xvaC$G}Nmrv_6d7fvvls(wG5?v-x#~C>mC;o;vc?-NF`8})~OGi=D zLIP`tQf9KJE~~-mDlzRu^82S*6MX8^(tlNTHIJR0H7nVZ{1uXd)JkHeS|JJa3EDn# z)Emn15|d*j#yEV8o{Dd=-fwaE7ORLlmI!E~wrHY`RYV=jMO}|Vi3O2p%Gp8p!3Hks zqYyQU2BMDRqK?%>9j%DkB8xf}0*>RN=0Z=qt9O93Z?UWIa`Wc>G|6{fD5Ympi(^X9 z#uta0Up?@_msMhA@}bh>gFj&Kx{?p6jfEFi2mjZ~51OjP1IZNx|7jQS@)Wm0xE6}f zC$h=mIBgygl2})zejDg$4#94tvkR2{O@$AX8AteR94#L6-*%*?S!a3{)04(7`=I`6|D!m*0Pc4X6m9t&*Va zYQP2F<HdXO@3tn4GH1- zf>0B7qZ|&R6vBN=!Hv@3C1E1TS6bZ1%sXAdm6%We2%QLv+3G^=*aZ5SVm%T7Ni1}v z88jhgQ@EqjIBt)Sv%XHqkYC!}5%t+(mFqK0Rz$rR{;ucTxwWE8Y)jq~+!B1&amwRp z@g(n0u69(0V9kfoxXwN#iEhFNbTeX6B%Oy@YTt!(kPva=yxudXO1!>fT$OMQHVFH2 z+-Jh2>rV)ux|jv8V({t+UWMY-e)l7J^EkNk`g1@A>JRd*gKj@hz@1@rdQKXhVAdS3 zlt+P>8M$UE4ugX3Ax>jO1)?Zcpgy~jDAr^`3offBm@P(>LtTN{j))OEK;5_>abci& zw8Ld_A3}^2qQzX;;@e0&M_@5W!Pvg&kWNc*xrg$DyefrQd=ap}YLNSR^G-TYHMrJ& zgzKFP4)w2dmRV;a=y}&8fgTC;NT5doJrd}VK#v4^B+w&)9treFphp5d66ldYj|6%o z&?A8!3G_&yM*=+(=#fB=1bQU!|EC0;Y4uVc#M9FK`RA}9!hpLFEYJGVmF5wh*GG!e zA5X4jNB-94DWBF4p><2~txI7!(~e31LXbV(Gl^c!YNF?&t48lB(7T`L?YaQ;EkXYToLB`~6G66~ch~h(9iN zCP6GZ)=Xl`(~;kDPE2cdxaLdWZKwRubF4I~1mw~zQZ)jhHL?t3Um&vcqd<0?KUs}G z_TnnNWX=F>DWNqHT5up5;)JAsI4Qvvhbu&yffZK#F;beOK1NF`fXCm)N%`tyq7<(J zjF4jJQI$Xw(mab*bLHzzNb{jp=aC*lf06#jn|0VNzq$2<{IN-|9@E2w6AjxbH(z#QO@DT|2RkHYtA4&kH`4vPTJXZWT`Qi0DVc$UGhH}R{Lu3BzM!VyH_ z6_W6C_~t`_4d6I^eQ?@=a|EmF%47QgXQ>{CowQSW$NBXrUA2@5>p8;OOjy_IvAjvL z7dhs0{Q4xnKITJ(_?<&k&h!P9Q~2gZ#*rux8B znM4u1iQu2_1bzU)v%Wr9l*$n-5Gmh6Ww2C_#ZDIU@~5jNTT10cf?q=RXo3&?HV*$r z0Q@R~7swt)`M}@L;nxMgPbK)dk$`W+H!asJo5N@D>rDYzeF-a?H2+0CmWIBU4d9r4 z`8C1^pEU6x)`gUhqFmk41^$sDlE*=Q-9uL&sXRjXOGt{Bc7gvVj`;|`iaz+1eg@&s zrTTOd-@I&VPb`~bX7KAx{A#7E#s#ncM5URiJcn-@EyG-6}Z2|gd zLZ3|4XE&IT;r*}dS|9#M8b6@9E`ON#`$Hg_Gwp=*dk5NG&k9|>HWeZQ3#gTZx|fu2 zb|5NG+L;zDJ@$m$emim3@>>sd2hinq;4UI`m{>P=K}gAnhQAf~HxSkd3$Pl%oqtyO zZw;R0+mGPiq?Y5QF5#`sj;0{Bm6h6ExoC!>GpE zJEOr)F4N^=I_cA^gfWKn>4rcIO7Hr0NbhwYyj{Sv6J9(iQ$!%1$~0*|e6n;l6XM}D zKz(t8`a<<H6=MOl)o@+CxpQ!sUC8(1NQw= zy8ee>zoDxt?M)-(();_fszPtUQ#m6cOzb>inFlegMVbhe!kt{nl2`Gl^4|>p7Z90; zV?m}3>FM~^ph)5=1a)8lpblzK8UUG~iwK~d0JdrXIDbJ}jGC1#eu-AJbAJk4TBQ69?ga)G# zpg1qzbG`n{@r#rvYsu z=rSENfu{O{)^gB60L}9QjqwM4nn0f#4A5jh&@WLDd>AMq&@J%*HR(V}NiKxJ*FdSH zrV{90qS|<;Dh!=FNXnl`AiFLC$PNueqd@`^YO%J^M=hwJ?jx*v%5SV5i=fj3p=T2G z{DFY}5*nsaC+MMp(3cSO7%HKizR=C=%pIH)rE4c!>6UZOv~sEJF{;%l@R!gGX<2;} ztR8_~FOMcxm+Hx>TsWPp$&TEyh9tIC`pX~aUMgkt-?h^3@mnRgNsx`j25Kp|@a`en z8!ra!zMawD>vU3kD}{4nnBPHHOSsN63| z-~OH`?UdZOt87kRk6a(8CY$qk1W)DTiOf=eG8)DMz<8bD1d@|ggCmKgac1kKjXbF> z(ggmyLRzg)ax(}l(~?|7qzXx=zC-b9466@RFSo4KF-%rz6yY?Hji}b)kd$8IQfrp% zdK4#JhFmh>KMKlqJ2CP)?AV2Wu!i&x9B1k9VDhcQxTf#{q8-^jnn@?u57RF2D48 zYj{6AP8lJ*KLq0a(I0O=pk+SaBRqld=J@07l=Ad=5n?P zo7Tv6YcDwoyi!!+seB_9)ofqVn)ID;9v%ZNO?7r6PohR(9T9kejMM;M0)&_AkC&<8 z-AH(c3GWkVsFoU)^_$YCt0*t^(#3lGSCDQ$4L^+VR}lWQzWC??#o!J0j*!Q_RO3i4 z>?Y8yqFQ$q>aLa{stY^N0+){v2oIuwQ=(MWfj&A0peGl4^GsBq@dv$x zK-Uik=uSV-Vt>%@(XN-TCI%ky1D)m%dVoL+lK@)a2TH@Zno>}<{z{-{h}RT9(9^m~ z#XA{y6X*%z)#3+A!^b{UZz0fW;{f{k?YGLxj$$d+Trr_s{!it1D)&-x|cvxhXM3U`-8?4Xwz>1`j#Ik4deP0!G9hh zUateF=m&beKj>}(Wmf`pz8@$JANx>!mOurv16TWjHrxF`1pFb+*pzoo{(Rd}Q-#!e`Xp(E0ALtYQptS@VLUPUX z12yU`AyIvrK;tI@G}#aIL%qo$&>{j&90gF59#rk4kwbM0fe0x8`8-d}xt0k6xSRmC zCIVnrAOQ6hy}UwhHmw`!zD0VH|E`ceyk94#M?qjOwX1UbkEilQ zq~5bNQa+9G7HO73HJ;zMNLGbvsXx_~8r3C4btct>pw6h0UwYM?fWFi&dA+d+g0@PM2g`VAgoYys^}e>_j4)N@Nd12~=v@oydlCN%qew z+28q-Jt=~01vQ-|U6Fk?TdpX+o-zsHdX?-I{$w8}vXhDIC7qMS>B%x#y)NHISX-!N zXhEUs^47wJ1wxM?=*P)NtMrHdE-Rpv&us#9DK-3$`a|yxgg!vfE2!-+@P%$>&&bf7 z=tS~*rSLM*u4%@abYdNmn@cUu06jT1hg5h|yCi$ep^)uBW8p*gH$-*@wN4c%dX<`X zC$cTGx+=U4oUAH-;__%2$jzq~?6-mBh}iR85*rgh>_H;7h}yWs&WNG>WnwA=WXo_)T2S1&e4zXTp+^w3iI=|~S{X&!wOH=ydZ3z4Cyhl(Z}3;;QnOB5Hz@;2pP)5V z`agIoKQJ0h+^Hw4aib1XEmRVC#+yL8l7QGr0&BGd1WKUdQX~-GRRS}J-5^eFy)=O* zFq>X|Q%IS5O8SjHfoXDg{bDVFew08QsrpM$Dlg;Olher)c#czBFCDv=M8p$#P)VQ; zuT)jrq$IGDnsVL<{vA){kyJaTb&&w3({2DMmBjRVl6+@h*u0?4AV2Hl;J>)!M=pQp33k=9llJ5sC>Crrt&H7Dvzor{2P{C z&gLFGm1CbXi?kq+iabx2cL#}%OEZ%m;ZJ=LovvT#)GlawGg{U)ao4?yec9i z2d|LE;~lX*8h0)UKM}nGa-E9k584Mm5#6nQ@DtGj`ao&T#)H3z-iCdbMf3)q%AX>4 zWNPLw5s{k0bQ&(3OGM9*!+!c!m8cIu3IViJ7w2FAz$U7`ATogSNF9VIg5F7O&hr{H z6`o2`#rPbiTbxc9NAXnt3NTk{sYM0@y`{f4BxfBjd@7 zMSju8A|X*Ex`dwg4b%~53Q6FOw!&|C~x`&COCi+oKJImucmh* zGM=C_Em4|!H{|A|Gc}|qZl_0X{%KT*EXD4-WT_4zC{)-BaaYS|Q>3hEuae`-4aW0$ zDvzbU>ew#R#E5O86wFiNi6(gyy+}!PmXc^A#ziR6f8*|-=ol^0%PCP4Rfb)+bd^y} z*SUIkpwTRUirD+vYPa1GBucmm;( z+WO#?OMjlP%O5#{hp2Jo`K!fK`G{oTX!+V(U<`Ui|fq0ks|%_h7D z2=D8(06tI6^W*b38eTl%?IgUn{PA{5+x2)P&(qZY@%%A7mCqnYVXZ%2xwKA?M{?Pr z;cX?nW=d~LAl{Asc=u^|s|hcT((B`o_o&ntc+{43r+>`w5uH}rMEg}8jp>x9FQ`%FvN(pP^0-Stpvad1;o1H1UeoYiAiNob zH!cuwf>|8ll-_NDc)9*~f7I|EAiPLQZ>T@sqf!#^NUkk&<+5hV zy@}sTrCvI^YFVd%pv=;hcq*@;u20Q$9}(!vnn^Cu(hM9;RnSa&`FireAJ(Bc)0p%} zf6)B|x{*Bad>_yz=}tZ9UQm63Kog1TI6u%-f6%)KbQn=J`+zbjMh{9Y=gkCqhWv~Z zH+r*3ynZ=Hmn{NKAkcR5IJWzNzUvR#j)ts!Ch_{9ALyh0pzjmtY~ppH59k(YF+izZ z2rkw!@&Xunf|^NQmmVhMW*ULIM2E~v$C>u9bSbB>RdN;SC_DfPvo#7g6NRlr;lwm= z{uK&aq|a}YdDx1(R>s6be~m&UQ8-59T7LxMolI!v5)aoevJCGf-ffF?eNFjs^R?? z;YE@+Io=$ty zl1DQG=WJq^>b2xi(1-#JS>c0;+6&i%+MhLQT0@Bk>VVaz28LL{Oia}T zs_Rn;=P6RbMwGplCmJ>UG*c&qdcY1O*zpAWh7MKxE=BXxW*uMVFu3`NoE(%l@qLi#7(kwJP@Mbn0%p5h~Q6c3DHDA3bJ>Ym~wb!)T_ z+A!2pe57un_CXtldWw(KO{Wi()+9Wr4acTYa>si#ISst+_zj-Q<4KDupfs9re)5Bw z0w0F@H(J;7HB{(#YD6^v8UcEf0H#d?z;q3OG;G5JdC;U;iZ7rMi)L1=z3HR8Ss=er zOPI*z6S+63u78i>59FN&4#q8}!s8{=oI#H>sbG%NBg!$3zCu{h{9YkN;;wSM$sh}j z)^*52`wyPVA0PuPcA6gNfSSvMPL7~%1cK#}F_B;@%d=L8+HBHf3jL{4F= zG*3_A0q{3Vqi_>ZNF)l!p*B96K~7nc9+TueP{Zs?n0rZbFZyD3=Akq~H+?;nL(70( zPYp()FS>X1bUL+Ue82(&K&r|t`&-TS-cwRf6zb~Zc z`5gZLz3ldI+#`V=3G_&yM*=+(=#fB=1bQUUBY_?X^hlsb0zDGwk-$%v0CpYi`S-s~ z0xMoNSjzGD68`?TM}!=n=#j%OjT?EPuFCem4W}o(C`bcU$r9qCwtw ze;#MB+=0K!i3UsBbc5yHNe0W%D-4#opxftGUwapKEX)#|=}oskU~azIVA%kC&KNEN zVEzC*smfqnyuol7@7_uBz8ljRW;rm*VA*(+!7>%RbVlcn{AKw?ix+aTj{<(*FoR{$ zMFz{#(VfFDUS2E|lp6+^80 zfcL*2X|NsmVV!Fg& z=?6Vf$1Ye7<@0!*|&>BC-OMkwS(6A$6mc!6< z<)^`ohdOPQdIzT~c9UKMAwAQPwhWx|5R%kq(-W$~(9WM~pi{*wHq z`O5@uS}rHjo&M`2J>jku-A=7=LD7PRLVi*F!X*oei_eo*U^@B53m0@dAsHB^Q%!J0 z{PLps1@S@=YAnw!r}k6wdHaHecNXOrbW^Sb9S`vQqWonG^8?cf%-`*h%$?_>zI1W% z(gni8LKNT}6yc)y+(5FO=);NyV4<6IhjF@>b&D?Xd){)_@p})aThcwcu(v-(TBpE8 z3zprH4|PW2-lNy{&Ju%02g;ojIG=oUiD~K-&#^|t7uy#W#xE$2pL6@j1-Zn9KWLT+HfqWFN(BxT^AHNDj7cVQe7ZfaBxR|Qt()^{%i|>qk0TWD8viC z)qC+Wd|MD-uz1;GAs_Y*HXwfKf`x^s@m;ggi9BF^it<1Z5v-G>IO--ipNN|hKdP_ie`vz6fiVYR6La>hrI=K16xi)X;E2O zS=kenm6n;6rIi(xl@%tYmIpK|O)D!ZD=RfBeX{&t*P5BV7mJPZ^n3sB_x+yFr8n0c z?z!ildk$;XtTnUUg~(EG|F*PD3}Y~J8akLcUwwk5tCvPiBXHZcxtzsLS3?RlTpxv= z{&@EKa5yob<-p9g`B_d>O1@q*K2*!dD{`qau<{Dr&W!BY*(jH{T@^Uz75N@9>JG>C z?TCI};OwKg>cYcZln3es zdKSc+*WD5)0m=VsQ%z&qT8Y0&BroGH1yPP8K%~DHZtB?5Pt!U8-JlRqGKl#$k<=T= zaQ;pP+4(_bgCJCJGiNxWHxe+zw>p7R#UY7c4&VqR@QxghGFCiVLo z{Mqog0+AnHU8k-<@_pnl(s!1A8<6r5tk3Z-0+NrqGW;SaMT`YHfFprUpdC0HI2f1- z>z#?EAuo!qba6T{^NZXD9UJo1sECUV)-UJ*5ybX96a4|3mcn5G0a0!rQ z^Y0p9Wtqc(EOQKyI!y<*0J?#!w{u2*myLABBk4u1Mz$L(iz~w;J z={g|W_(tH3z~5*iVD~Xaj7sSNGryKIW65K zqqH;^o~#|EoP^{$F_Tw<((*Hl^v4HRHtx)I9;q}>TwYNjZ|RP_9NfS~Ui$Nu&{Gf4 zpMA2i!r{OaK0n)yhdNJq4hoZ&DKtsX&ztMawYjt1!Y}pVb52^ip@hb8sXB`4&d!_x%E8eUMjFgsU&P_!u<=Hq^zov);k zM^A-^5#*m&ln)8%MFs5Lhyx>^VntPP$|J&^CC-eZLRNxpc3wW_K!#O}*|ZgAPX&dd zFuGqiKdde*jbU6cGF6M_dB*h7GO{?2Ey_h@V{Rg=Kih$cC?_mbJ}0kOl`7lia%QHv zFd^i`Q%+#?67l&v%?)e2^Rqc0&DLkHh530dTb|pQZ+NCAJ7%zWge~GsPfx9$QC0g9 zJo0(o>D0{*iJm2$>;hYw&0|DegeKdJtswha-5R;h!ufgmbI}Ip>n%|EQ5*UKkMf&} zuI1*To@V254zo7Q({}Pt-)9=j9E6U80Pdy$T>keR^CWJ*2JY>66d-R6a z@9N$-=7KhulZ~ef(cbFD)g3Cmar5V>9+cHzLdC<1h;V$B6T2J?H#=c!0f zi^UvARW8-3o2AB)7WIpvTd#qF(gHjONm-uJgW2k>Oz4%Dkx?W@Og`(%5vC~D)6TF0 zg2y&KKuJLW@D;f*GKnd=jUU2(A%xJex>J8q}J#SYs5ILNx#T2JI$rvA`A12^aLBe#QbHT_nGNAtbIR$ zwd^Xav+4rzC*-RD>%%rLPZ-t-N4M9kzhfQmPta$bHS1R(Ja|~cKoOwh2!EVmhN}#6 zF2gqp>iKN_#hSGeYl!0_{N4|);q6`<~L8ryy;kTR%Lqm63u$)P|bQB%2^E=DvzFS%+~5Sgl0GA*rDYe6&dWE&#bE)NtC6Zl;91U< zSKu^p2@Mga>+OxCOchrrUqggRo+oCstEeC=S=<|^!Gg|F`W@7x2rD8f8;gDUrPH#U zxk}MV&cdSnTn`tXIh}=ZMfq68ER@3X^2ZnDqTicsw#D>ti%4D;Z;Ec7bzb z0h2I5NfB*EwyV5chyFfdY8oa;-dVP$O-q~WjB6m4acIyDMQf8?PN%zGY}{m}fwx^x zo-{4VdmkH_q0d!iU_wa->My%kD4vpEdbVh75^leEUFI{bZ+*Zj6{^?fFhNtgPA*Ev z9ooJ4^9KQzTiJxJpTp(x&9Cg>;en{a{VF{$n}75AlD(H zfPC(b0rGh{9%ut50lChS0_5}eOyI>p2QU=q0`>$J0=XWt0I07+0J(m$1ju!ea$sNJ za$q=cH829W4%i=90UQF{2)q$sN2xte^0Aqnifg^#nz&PM(U_8)& zM1XZPFbH@#Fc>%n7y=v%32rvtHDX;`M6u2088E_de8n^~H z47dR}0=Nxm2kr;P0*?Sk0#5?tfR<5cH^5L}0x$|V8W<0}9GC(e19Sk#0tx6kEFaQ_}3dj{OJcK(jSBT=?7-fAB+6y2QDVYBY$Ed z@+T%Ce_}H72l_8S{=hE4BS4OYoOE*xhl<)Ugv|q{;GP7)Wck;8Ni0z?Hx%;CkR8U?q_EfNJ0l;9=l9z+=E|K;CnB zPtwK)SRVm|0OtZ72tOC9Y+y~qUOhUbJu2KX4Vj$-pmjY|y=bT|9b25{xl%xj;(-&@T1G>bI8`fMeyGb zEC)^m9s(ab=xX>U0Xg@I09L@C59C~H0K?%g0fwVI(ZGH1-^6&NZv*5U$xc7QZwJ-_ zCj&W08wm8DAl_9ig1;yH!SH7S7r-A1426F-Fba4#uma(If${L?08@ZB(~o?H10C?+ z3gp~v7_bojMZiNy7YSSh{|aC^a6WJ~un1TIoC4(Bxh=2?{s(~jfGNNl;DbQUsoN3Z zzY7?Ie1-u1lf^r*(})j-KN$Y03`f50fuZnE14aRt0po#7fGNPofDYgqU=a8_01M%t z4h)9BBXAM?Gk`J3F9ui+|1H4Pz^8!~z+zw(a5*p(={f`V!G9Id1%D4<4g3yZE%0ri z|HJ_6W?(RIJunow0T>1R02mM43Jgd3F2EG{X9794e+_iN|1Pi$_!e+E@G0O1;6uPD zq`MHf5B`UNHNdNZwFn-Ucj$KOL9^e^=ll_)~$W;g15A!~ZC7J@7jE z5#AfP1O9B_Az&WxD6lE;H1I26(BuH?QeX)1abP&`C14EjSzr=yG;k)+4LpCHx4?g^ z1=6s}$}3&}A_ebEHQs?V?OJ@f8-Xu{5;fil7+#>GL&iJwFIxCr3-8cG_H3fyo2`FQ z!*4=_{4B|zrGI(C?`;HMw*Ey5zkd<=&egv@;&(1WZm#sZrQa?2^JRFxl$Ry*DbT;5 z;dd|dbbSi+FI+H|$S;u#C0~)mY^*EuDw65arJeNwwnko zLADmveo{2vPkFKZusvNVypT`+cLf(q@V370@5dW{JHQ?@yKWUiqJ-DV`Mzr z8U2c%?JWYaNiv@8E&{EY^9NpRe~cHcoBl%GpCY35_86g!)xS|=5bYEJZIyhs&j@Y2 zM}97P5dECr@nU<8Kx&mg+b!*-(zE?Wz^C}xj_FtWu{~2?#m{z4`zw2~eMg`+lzg^x z#w+`=y+>#%kRUF$d-|0;wtwoUsyp^!mPP5FqnCA@r>q5f zTlBUK_I2u~Y{@>)wx#+8`#$}uZ*dHuU**rSfOX@`791ap?I>L@yH_`k8%A9@ei;26 zN9y`TKT>7mxMGaY(c6JnKF1qle1Sr#wQUWsCiV#^cO z6XO&mik3DH<)L*($=b=)ZSAew9KEi_du%PnwK3X6nZLU4DgAh#6Zb*E!22BAg3_1w zJLb;k0A6Ao8s(`gF|P1FDlRc@c;j<*dET}m#))J@+o3%tqo>wy_oB~x$3SBriPOh& zaSvtAq78b-2hj#cdFsK~rp#%TO%vpo!@_0>p7tqhmgwnk!e%2qWe_$S=^5LE&Aj&t zVY4_-|18kkkSMcR7f}vxnU!wI(&9q5Bv0QGx=r@zDs)RS=)(H+<}Gx)+@rhFP1TwnveFoM&7V`Fr(E*V`NO_thSRE~=J= zF5^79ih3C1X`3RiWKX=vYn-fQwi&j)hV$Y`p<1rUE5*~EL|)#0C-RE-*uf~fejVrN zqek6wOh7LamykWy;AbD4>M2(NzM5u;Y9&Iq8J>8NKF-vK;|#iqQL1iwHR6c5F72Ym zYh_0@K8yUudgO`xQao)+@Q?J=vEWZK=)*Q~rDyIW_*L)2x14&tTw#bOf3jzc5&UtU zxq;vxX(&IfGsV+KMEodI`eal5L{B>r^3@0{=KLI^)V*HBCmPxU^BZrNE6|_pDZd(X z6QzaNHh78q@U=j32|d#=A{+hba%QjW;*c|C<#);_8|BZIPX@|A2X}L$yt#75t>Rsn z*%{+q7+H;ewpF7)Pyc40Awu7Irg+{Fjr_c$8U5awjYwZ=C@=49VwBG?jqf5<{B?oH zD}~Q?yoaTG@)2`)^~A?`wx4YL6_*%e(jg@RcjLOU#5|uhEG{vx&+yosdPTtE%4TAo z@4yU4Tw?sAOrt-;Q->m+e~s}jXjj)?)mPInD-f6Hi|HPH zg@DWMUj4-U+}k(Bb8WV#e#Ntg zF`n|-cf}>(|*Nspjs7C&&g`FMm;Bc%O~cyY86MU<3wOa zq}ENvvs0$W{^D6@uBU&9=LxU=YQC>R#B=vtkNw26(Ol1%E}kpZstlhqIU1Zep=UB+U;u6m@#(2@+yz%tsc-o(M_Tyi1iFEkMjjjOz|;@97?U2|xdeOU;+nh@t$d$1A_;kz$=f zt+wI2V!i#SRX5HNd6)3&Bj)Gc{v-U}@(4fwic73(s8u`4V|^5O#tY8nn1hm_{7M4- zoPQhR={LsHqDmt*H}v|sj*^C4l|HKfM4(S{Jxs-@`LOT%qL|MX!2S)T6LIGIsd$D{ z+At5cU!^_$eD>$puu4DbL=G`)5YOvg`*Z!zSRY~?NUeTy9hBDawkNSJq*g^4&-UZ3 zU$G8U1Ph5vtQ)yK_jB>wDE^x5WsEbITdemKLmP34H5sp7Vou0$MvT;6zi7$IuhI*D zmPaq)&+**XgulQuZU}#&XRasKfV}xrtLVu^xg7Qm*i& zWEDk&^7W|E`PtDRa!pPvBo*buBg<=q=&@i`B9%suEXpJm6(BdKn}odu_@p*^LPjAekM8k##Uv3C@63n>=^mp- zzTMH7;}@aE6mo7?3g0+bnV|wzXbO0p2o+eMulSOC8bTc&X}abD*~;_v5{-sd>3VKN_68L*PIs}a3}O3> z#&Z$pD++mU7V*M1!bW4Ii2Fcs$w z1zxUM*Wer>CDT@e_w_jEMx{9!qFKA(Y@8UJofCj_iiRVN1?LbQ$DRe1W(m^Fzs#Fv zJmjZovt9`-#P2eqE6S=-=@qT|?aF$Vi4W{vX7p}doj)dzek|2uK+ z&fCznY6|vW;LMh9aTZTL&NGT`i}UfYFQNzX{Q>(a{(#Io6YI)ye1mTna2}JAMfuwh z)}d3~u<&mKtUo|sBVX+g_|71~8#W3$G5u2TZoyeIigyUot%FT(02P6Xp;s%|-0w=w z`YQa*fm?u2Ae`ydRSP+GoF$~>e1<(N5vYsKphsYndqKltV<+eVlZ~c-hi|jGdDGqk z+1;mW))pvhFWB@K>>E+}Yy@wALwWCpon~M!N(lHBkL?J)$-@2;rOWlG?*Xvo&x5@@ zOThCz{2m^(gN~C${4vB$O!me-i8_8r#!deb@9RUoab<@=we?}U2njWeeHY5K)TKNj{<>APVcP#|po3eLoe z#@?ey*!z9h^dQQj^me1nGtfp=n#WMa5yLcV9O!4X+0~OY>jF?L!V^G4KpCLN5T;}h z_d$*y?4;z(Mm`hKo}8ebaCZRR1^04L4cdS)?a-t6E)Y7Zw7bE(6nVJOc5g;oEAHs! zUk={I1HHW8p#A`YhTdRJyN_ZwlSuh@gfZuzray`FvoSXQ)AU)t;9Da@|Cs>2Z7CQx(I*C=?LC1pv<>8!VQ-hxc^}f? zLl#e-pY#!N-L;;c=kuQFww?}K&qQ0at>-xYnQZGhLkj4bW9!dY{L!Z^(Idx2r{zQ^ zkBfHmvo5XY7-K58o=QqGx^<~Kzb;A_s>}2435yW?{UVe29ho`&EdGD6|4ig%klAP% zp?ypAMJ8|BhWE1ZZaxn8Sw2}uW37{JH{9xKjEug;p(UhZX53d`-_YU`QfP5sfqmgG zwuO=eAQs-fp*AG36%%yq3kM}32!VZz`+^_Xmy+l#hFb)Qg*2t8328lHK~n_0H;vnx zpEhcc{@OAb{cQloT-Dx(VO&^*@nO*nZ~LqO4-SU$@VtYuBopJ^Htd&F(rw4_tsw3b zO3oJa&#%$W8NUc|xwx09xNk6abeCh)(O>bcA;usTmxwXxE8I`s!hP$lDD1Dqm@*&p zhVJMur3g=iT$LyB2xNz2O!%ki*PXz(%ESM8`Vi=Uh2j2N3tig5hO;n+b%xw$(EqOi z?K9YOG145u7^ZX%mUiskQ>?~$+g!aqU?_UoxUjjomQ)a&q(B^YRM{i;Cx$l!^~lwC?TOw7MXuWy`?80A3bxwJ=`B4B&3O?2&!Chji}P zp?z?>wr$(AX=AloTjOdat_$?*9I{0Z29sZtrvA;Ex3B~RwhX$URcrCrm>9DHt&*R~ z%IlbL$A<7z!FTX=MQ>_KgSL&wOwHvfE+8MtyP0zGA)A~%eGxjq# zP@bPbD1D9LZ-O-Z&eC}K*W%l2v`G~<6aF#iHeXbbtBTgi~eg&Ydm{3qaf$7QE%#EYj$5}k38v^nSt-MK^sB-4zb4}4Ns26 z7_HrS%H)1yb%_wJ@Npe(zP{4M6`nji@o}YvD>q!tCMO8)yfp8nh3zA9M(G7*qo~0y+vh2C4;}1f2$HS!hon3n&O=1qFjTfkHqw zP$(!86az{GrGVU^1)y@!2GAjpmJMD|BB&5l4%!H+0R_*24M2&YBv1+{3seqT4q5}+ z2s#AP<|04POwbZgCFn57;(`oN7HB!B5=0wT1CM}$a*#hL5hSbSe+*{nC+#}IC~(#+ zoD+~C)>voFa;M=4Pu(+XRzaZyZhB_TD$L4egj|Z9HET9bPd56C^)q%<2xPkQJ!ze3 z>3Dev*@gLXWB9CDI2{8Ui8JJ)_^eqtOv9C(iDOjtGOAcA$YF_rI10ptGXeGZ;rKfO zqjC&J zFdP`xN1VNO4crSry?O!RxCHTiK@p(-pq`)+NE8DBz2IH|x(1Y5JX=3ih~L4d7N;BB zGzdcx&eJjSX6v3*oS~5B(vOzJSsR&Hb#w?O^3h1SnS!sFCnv)S2rJ@&Mv^O4m|mEN zhp^V;fE=6zk;cBT}3X1ZbDzjA9ZyHZrfteeUBl9wf!3hL7a>%0&%B(j9 zgBmt7i-$)P>1@(y!|eRRB3Q_gUEp@%lpy^;ES&bB%J0mwH9{>d)ywC#P<_>me2r00 zOU=l0>nC?LVA#|mM!*`oCz%xgT+lS~buUi?*8n>Zi?2hHHb2S=j}PCZQgXEVH^e(G7YUIU_R zZ+)tIGSx%l8VPEBRD(N*oF;U$lKH4&Y7i$x6w-a zuv=pcQg<9F)Xz9E4JV$l(bl7f4cTb66pTZ*c+a75YAmpg;!qQ(pC;{%#gVZ#{g%O` znvrKD=Z`Y6OqPfP&G_D=)Q5P@#=|5yn%gF%&%tnE<0%q`F(htkw2gU0W2VhhYI*c_ z1Wup8acdZD#I#&I`U9A5%JA z2W2B)X&cUxNj08@h2E&U)i6&FUb7XW%JoLTv%Jtm@S0EXxr@?qD3$PBRhWh2rLNYW z$8b!RGe6hXBTh7Jtq<6F0x(k*;AEgeIB*soy&6xlr=utr<0H>*hnsaS5UmZT%OD8) zIijO;i(D>DU1rI-N{rLx%61oI7jV*mE1ZpiXo|pj#rb*jMSsa~ZlB8JbJ1+JkI2Ml452pc4xlk|Ac+zPw{27()N8+rH^ zRi!Nk3=yTEd(c4Po==Y~+^kviheX*lZOZs7#!r|gmLR+qf(%X{Aj?*q=P^>M=YX$_ zf+E?XigI~mB<;tk3LLn^+4Pj5Ty#TMXZ~#5)paIkZcz>$N<7_qo^bRc;ZKGuJ32az z0}f|zh^OD3oy+MZL;75WGjwM|y@f=K?FcKtpH9DFzK!)-MF`g12%Cp>s6&G^>sqXR zF>D9IlCakP0?rg$E8ho&{f>Rq6E*AYSU-cwb-qOiYXW)Yc(3*o!kP9k!b-3n_6*kD zO5~cj&2G0bPFyz4{4WeAD~o^T7+-!Y#GUouBCYYo-NNO^ z$M*Br|B?mjw<6Wo8rS;%2YQ=!qvxNW*0_JF9TRUd{A;2$?w?9;`(Lv1`E35F1E=bZ+D|p$Ti)BcZTtHl?AW<$clDmVAMX3;<4^V< z`1IhR&p!X+@RwhGUGvSi-yQk>haZpr^z$#rj-U9o_P5{vIC<*df1dv9?=$8#cWaxr z?Sk8P=-8=qmkUEK>e|iLy~o9&J$v;I>vKup@Q8l>z3&C0hs6vZVUKP2)x%XYufAqh zYQyo@Em(N{4gbf>|4%Effpq`J%VTQH;$N$&WC*L;|<9$FrzV9-heJZQJOf`e%{Amo_*{xdB=34V6R{w;Agl4=3N8-&h zt}xrs4GF)QbK#{iFTPvvZ+NSoru+0L%g|)$)H34o@)NLbBo9;tv%Fqe*j#@;@Vj0hHfmWPxC&<# zBm8d=-b`9;_*UjU;QR7@@;LBDfai|M_~tBDv%ZY)b=-K)cn;s7Y?03!6n|98oDTdM zvW|m30R0G3`JW4i-hg*CAik431hkdmIR7s|?=D%?%QFP*6uzuZ+N6>{s>*12?RST4UvEkGXBTzr`> zZ0h^nrpozT`SEL8mV{pp^BY<2ZgHYK4)|1AXdkgUp`s_>N)sD=Pe9K|} z-nPwt!Y`Eh=3BiN=PoktR`B*4v*feY0cB-CCaqrx>qS61Z79BYo~`#ye(fyUY~7mn zosSb=xzT1EGnI~FFNN`Baqc!tL(bf(#C=M9yH73HrdY~zm&bQLbuGkm3fS}VkO%kP zl>86L6>URUp0=vrt9`c>)`Y4*^}Rz|gpJI1@^I^s?(Bk*<0p^ND~z)M#_{64Qn?eb zUM3F57RN9b$TOJv-e2)F#?5=d%`egoe-e?@(j#rKaQj~sARlKbcXwV@EFPMcM$$9P~w@6_u zyR|OAIuTu0nwen*QcuKtwn=9m99~Cfqg<3}N`W&!Uc50Cb{(&N7#Oll`I1+>#4vo| zF-^}|{AQUdALQ0G!nm}8xss3b9K~nUWlRCi(a(0&Q^LrDxs)euQrwvMl)Sp^MqY0W zxWLQojrGO<4Q{$>RAPIJ(D)-wPU*S2B{`2I7PTIQN^B=RFyn{32`$UWTeya10f{ zEvIbYITIfhnKAcryc18uI}ea=0E!w+0{TuP9f;o-PfWxioCz(y(<)!;UQtTeTRcZ`KlfzOY9? zZ1~b8cs6{&r?z`BLhSZ}T*Fo`Z0pjnoeSSOk>V1&y@Xrr^itv8 zJ;!1Xmk1X-x0IXnZ|@E+<9;%7)ZIxY(uh2ayU0Yic?X#YMIGt$3vV6`?Hm(3!bB>u z8%(&xzAxb(iJ3#b6wGj8CDe&NR}m3ncbDSl{w{He-CV*gc5ex{*s&$tVvm+^*WIBe z!h~Ml-Dx5ebqQU>-ZT*+^z`l-7y9YV$Fuv4oMQi(*mp*M{T*ivMZ3ZbsStH8zIzm5 z=AC9D6lZPeTO5(-5H}A`}jU zqhMaX{x+6uWMOoMGuuTTyhGJL{+gYZuBXk(bIfMA%Rvn=_GE~NSy`p-JV==h2FB0M zm+_^M+N{z6pj>Sh6isKET)bUQn~hhMfxB2=x%4<$ViqSV;qJzjBFUtFpgpP;>ag1j6)cHFzR5y!I*{N1|tmy z8H_I&Rxp}yu##8GmCB`K<(V^s-_7d2>eJTS&)AjgZ+^{;OMW%2Sz;~zSZM-j{y6`h z)WCJjenS%_Wkjs_<)&ZsZ}!e{*J!tW(G;_$sCa2?K_Wt<;~ zXPtAdIuppX76*`X7Z%2juqwhk$G%HNaTlQQ$~mEs*zbp83lOBhLyR4dj{5mjii5 z_ZT40A|4Cm8N^ordDiuKAkUbd0OXm>$-sEvRA3U2vqYYK&E|Xl_d(A8KFIms2RZ-y zAm@J{1ou6BZ*Kg35Dbs!um430oc}$R^S{UPKH6J+()r(G;oR{2@3EZ!J(gwc5BNQl zCBPKmV?YOR4KN7L1|5Kf@J|N@!`~6O2>uzs^S{S({`XkW49;KwzykcnhVOW@vF69K zveab`x9M+7d3q(!iqx0WbXGGT&)(#__4<5b-7z1zFwU44*BM<%V+i|+~eUR~@P_i~$g`SpP)m3q_dJ)4lJ99UcCdwBl3gD<;~r>=z~AkTLl*5_j# zh|3%&^5Smz3wTvIozHu64(w z`r+)K{B0fDMSnG*7t9x5F4~d^_nw1FW-(guI~$$?tVSuGN62%&`98;NVZ56_D%OK4 zD|;PnBfe|PMV$9C^HN{R#m^cNUsj3w zKAZi-eTE}BYtq|~%sOz?F7cGJVO`ZXjQpxeU1nLzUd&PGsyOT0NVFi{HN2%T%Oj6h zmU{E)OBVZlktehIa@ex@ZCM`dEkyPIKvsbG6<5|u;hcpd(@H*Fh*BDRDMd|gVhP1rH)W2tY(~43X)7HOt z_d*%P8*KBvn_nQX?$|ykiB`zedw-5l1b^%DsITrgKG(epSMqm;`8^HZml@m@2KOQ9 z9tob4aPt?%M!_BQxJb))U!ibcslVCA_w~}vcV01Yt6%6#Ht>`f!q*u1_sQ@Sr1f9r z%_|IUrDw8qQy-UfC&9f`x~b1P>876hrJMTHN;lubg*+i-^4;1{>7ER?OS-AUI_c(n zylv7=Th$oc+G@VOQf5&+92JDa37X#ennwfBhpg0aOq~brb{<%vOv07 zFRP`SWvr5J+P_x1xporrjF8E9ripO#S6--_8*bW}wwj6c7TS=ymFfJV%`Y~%5%quV zMZ54ShraxULHgIg&0qPVZ8pNqenz|Q(A`(+-@qL*@EkL^gP#?Bi}e`>H-8z6wu#ll zuhhTZn`v-6;8yY%7~JJ>^H*|MhwI^{?fGuI67DOZCF|iZ+*inUdfE^kvep|u6mI_d z5ZfK=N|nojaOGYMw<kxeN5#is|Kgepe zTx1bk=RRjn@QH6Wn!wXk1>h@=bDdGASpB3!p$Zph{&wV~=UWoNZ;to+>&q+iq!qF& z>-hb&y7BeXGnH4qkZ~@3mWqQ31T+4|atU2sgOo#H89%`=U1v>i;-zN^r!vy`r3C^&)j^xPX_jA;c~q4S5&jA zy|>N&*QxfyT&D%*%h7vP#`~RC|I+iiJv-gMd@;A%h#ywW5{;-P_wUU+=LBt>J+Rwl{hBsO zxU%QTz4NAyeRuPxEs)VY{nl9GUV3&xm+p7R?z-dGmb#w+6*G`z^D>#yyi>cdF=A$ zLteV#>cg`Rl?6Wg_p#Umcdw}~>oWJ^43u>Mr{(Sx;t8D8h zpL*xLwLQzP827cmc4NfmKWnRdOiB)G{o1c5+D&U0JnGQGt1tWbq0Tc-h7A3e_Hppb zx4u6A$!pX8ey#1Cw3fJOx4G!9%*|76-O8iy91`$|CENYh+sA>xbVbU%Wp%a>k{DO!BfeI4vO z=SElD{`qZ>T1F>~%L;nx;9vLN7y3oJqgj!?<0~HedE||+ZhpVX^y3q=4y@`~yzs7h z&@#`MG<=r^82fcy0Xq)$^9M ztNCPUbnJw$>}yZu%^%n6+ZO`a%B%yXtPR*ZJ?NDn1e)zWef( zBOh&M**>EA8!L}&+x^{?%71_PQoP?U>#w(k7WB;DbK|KEHP1I|-y$}B*tHX`UcGD3 z$gd{k_KIVD=r-o zzTusFKVR3`;;7v>e$JV}t>#S441WD!?EAwmDam?d;M@aSUifWewxbuyQ&T&u?9UhW zO!;YzZR{f_r#-kf@bBmSu6rtcZ1(-{bnO#Twe{J(AMG#RI%H4Kluz$lx?=0YYd*N5 zXQ$$07X&O`^GBhzTlDERiQhbTcg76scON`>B>R(IBl2r1Zhdy?RXr{nw7jUrwO8Ex z{pAt!Pvt)RU2Mw^RVV)yWIZt%Uo}=zOwSC3CEel>)aHiQU5pnCYi~2@{FPiq0 z^_OndTI{u3ze(S4WX|IK)^C>W+_q)P?ba!;&Zyq^_Mg)S+_a%-=Y*uDmu(-{d7ZYU z+gFuIrH_|wAGRmr#qUq{$hqd>+lOAazjNuX{NndY9((dyC$%;@|1^v`2$EMfJA5nTJoVc|LR4_UB%ny3N&c#ftm2O^H_xzvJz(wL=a}8h7O2ye-{B zP6gbUFm}%VXFpkx^rdC_laCZ>i(_hdUq|=**FNiU|F`oUoq{$Ex$V!jCBc1On0WfK z2Y>9@KC*98%T`Sv9~Sd>*c+!8&z~Om=!Vrb!wcR$F?zwW^ul{uckg`g`B$Il_fl~3 zvv;k%?1xcN4?OtH7hm}O{o${B%bJv~ycE*?9$B7z{JBG0!=D>I^wM$f6;x;D{Lp;O zBNI=aXj--E%SkJvFSdU2Ou;SjZyad5yJ@G}+>b;bnsj8+OW%zDvtx_?PmO!~%TLw@ zPWUN($#q9x-_<>K_CD?A_K$yC^!1JteflrDk?PlUobUMaw-4tHFJAe5|KNqQlWGU` zJHFx9yDw+tEGZ$xDCP{^=bR1Ku1pGU?REu4Z>`+u+yi zs|7zjIH@XabNaLUKfUeq9|mnm%Q{y6*26p6&G~54T@iYNv9>!hUuYG-U-p`hhx5Z5~_Stu1 zZ#*#nWcct;zMQwL|92k+WK7Ketn-=|Mqhc!$GZ+Sx#aK9M(?^Sv|aD#_Fnv2=QsVU z`tE4{+WSAgc=@3#0#>}=YR2PRt?*Gd%?ovsb75Z{(F7D$Zme=Z5u*=YJT7BA9Kfa&O3P5 zeML7FUNhw3+${rMTRLRRsIYB!mp&i*c`H_uW8|iX7k~6nc-(<5-<7TEH~jax!%N59 z6!*+`rDMPStH;Ccj}QN{`~7C0tiJ0lm*)8TVY#0SGCJi7PB@JIhxUAXns<_EtEnKQIz*1F|){@UW-M;CvzZqt<`cI|lK z7Pr0IiVt%ljs$gD*fFm>`u=7Oh-b zHmu#N2P2jy?#{X1zb5n{H8Iw+KL6*x!~#vwC7WVC>mQ)``Cp*WZ~eU1 z-1@fGyv=T{MVrG~i?%1U7VVn(S=x2-v$T)!vvi2_3+OPzFQB8_FQC(6zrao_{Q^6` z?ibkQL%+ZafA(v6VL+3XAw8S46w~Lk7?}492j~c9DAwMZw(?d#Ep}9Et?U7Ob@AnI z&9wI)78|O-6A2n{F?S#kCvpn{kh>2=xSW?GR$c0g|6}$+yy4+eD16?(XE4w9ag~|F zCh041YFE7t&*I#z%k{$U*xwh3XHNRKddk(=Xw7C45TmbVdO2)Z;}h$+HeE7*laM=^ zbM=#Xy@~r_*H}O4Wj^W}r>}Z4Pp(4F*4JyNBCG(?xXx2K@Q+?sEG@U)~#3a{4mFkGQ+v zrw`k^xN{%fbK&6OTIGyC_CL4M{y2`-n0U#Bh|hTMkAFX5xBqtI@$?}U#Q!p*YsaVU z2UB+2yS&u_@mrfL9r3LF)(@+x^Hy<7Z&lLxOw`jsEM+k~yR7bm|E zcIU6~ryf7rZTXA#eN!fPwI7ClmCnB|Z2z+T{>&x*WnW#2_$_6<@2jx?`egdfbyYak zx$OIE3YxuYe{A977w_KO5%R{~HGl4F_G@!jwms4`1nFzWxBPg6{idYxJHF9Sp4iYH z6@%We51y787Pz{_5L^QTgMlNUel`2aP9E-O?v&X(f+{){ch^B=f@arrE62g zsJHFkkGt#F*5BX+>C`zdHoNN``_uDZTlM7KIAPirv*nSTN_)b;zx?^G8wb*!>qcC# z$^QJYn?Fdnqw8?3y0E={!zTN_Gxr_u+|m#J3C;eV_^!Qjepqb4y1!$z!?huif4plS znbGBft-nPM*OE(HyURD*9r;~K?cbxlt*n?_*r&=Kb;ZUl0lR3AzyBTjewBS<*0-bL zZ2g97kpXRs(znr5#q?^`5=@p$ATfm;Z!y zjxg7B+gAI|l-Tq&Hk`tp9CGIVimmo7gYL}=_e1$s?wY;IzRmvF#kbwM={?(U?by_y zRy(%YzgW5Z@rtiuuj=o9`C`U)`!|QrT-(GJ3Vrro-tGJCc3bEPSF1s2AF)mET%G&A z{f4XhzP|3qK}bJo%WK*P_JU^}N!hi?&wXmaw~Ifp=dUd3aq$`0E4JSoUpL=jU+~tH zo$WuM{apK2+`Ge`zwX=e(XY0`Z$q?8`?JkXd&>u&zxQBN7yOFHUu$PPw$onV`eft9 z*FnG3>n9EGu*+U^U%wOCD+WOSCWpcw-ete-_>D_{`w{U=%ZsOX+ilmDcKqST7g`|y zgWbv=+HKEz;KUyb3woeD0SQ+HR@-mrIr-wN=EB}b{=Bp-vD*G#+t**eZw}hyn(k8v z+*WOW{?~UFewqgTHq5zb-h0*dftw=l8v8xUyJqjs181u3Wh;*V-fA$~d&#?R_mACU zzw?bAqiiwIXK8ll2d~{@e`sbz_tFz+|I^n+Ui-=(`}K>?q>tDQdu)hqfAH8I`xmW( zF77wI_i!z7)Pz>O_S#Q%TODS-zCGl%c`7}9uf1*OpnhG}w;itSkE@)wY_Gla(nr^2 zUxw4o%UTw1`e?8H9ZT!CKmQ>b?cvR*Uk>`vK5+l5ogexa`m?X`%P{`w!@@*49!flR zU!nGWwJu-b z{&$66;n0VKU!k=?_!YXx2*1M0Uc#?%nI`-S4_9D3z@@M(PxuwuE)jl(l{LF`eub%z z3BN+^O5si zudwWo5A^g3wMyalAdPYU`fs*CnfQew6cMx9Lr;J5`Yp5Py?8;aDDs&z7sUQCBra%K z=il%DOK&OY8}_DRbG2ac3)YUOTdeO-XkpzA>h7>$Mb!6o>;@68=Ct%3mSHv#Rrhb1 z@bbM**%{%kgu7C@^$?xs{S#y6fsQjIb=0a0KzHe}_%q|zlkaxRebP_jjVfH=VLOqh ze(?SD6uj39H85=GIEJrqH7*TZ13JAoKs)_z0E09Y$M-A2pqU>AXfrp182Jw`3x3zf zdMd!$f|LBi^0%6lEHUv{zVmqA0_QDo-U8<>(2xbH1Fe?5f!3Nk1FeZI)H#-1aXWua znjAm5{UvvfSW)|R{7ZLU`Nl?PMilRHQ=?~&j7u0alfS=#pVPoEM9fSt%62(srsq4; z=FW0u=Q?Lja=NBv7iPsf(|JhRO#Ix#EN^T-wj=tBwo$V-@Ak%&hdA8L7;Wz zKGjwQGfh_^!!}AJpAyBDM!I7`=Clmw)u}MhdeS79^&Rw)$g2}DM!CVOs>>+bn0_dD zD3>d$MxInDgK_GjtU?*SK%z=do^z!q&rIaE!6cg>0PK)qhk(X1ke}t_Wt4B0Avo|Y zA^1CeT;J~DGAv3W`BWOCTyxq^VB+$84fx$AxeQ+&Mn1@l0 zv3%sC%w&+Ue5`X-kBTQ2j)v;d$YZWY)-&@6FAB8ANxDU+Kq+HS(DCqdZ=fkQtBsgiris zTbnM!96;4x$gAqWDBGMq73pb5TQT~-NjAUds*qvTKy%p;nhV@nM>Fr2nrEyLCW)tES%W^WTd!n_8^<^h> zdL?@i`1kpceME-U8f25#muz!-C3`yfBfqF?Bi2E@3`+qT<&)o69hhY(`D?(x)Q9}l zGOWTRpZvb$n`J2Z)!;woL%#oE*$03|{mJi3zFCHne-ix3QkDv%eH=2Z5NPbfCJQ3?L2ue^3r5gk2kGUFIW?buz5dM;=V$D-WX_V;)Puf7(YL)~`j`LV@OTFpaM~ zjB<>5RDeHK%40Zf#WA%|hAjp9suS`ut*k?mFedB(h!fq#K1FQ#8A!&U>$?T=}EwLhaAV;+^@KkOrqS{Y{f zwtgN=<0}uN9Ah3e;E#tK6{g06=`zgaBM+wWm4{J|l1H>G2(+&8k;g_ER_!AXrty`B zQI0VWH~53Tt6vVA42uGq>w{^0xdnKJs81UwIhi81o1N|Ij0KZKd~r8I}d~)qW|1X?^t*qda3?$>3jY%8ThY$gmwi zbG81vWwe#`fD%fmcEWLPB7oCnkR%EKtfn1}6p-2Y8^@U!h8t|_)<;V0DGOQZtYkW~@ec8e&k9_K~-hlr9W8Jbby-kKi0nKfIX?(Q-qZ}ol z$oetY1;a}qXR(jGm&>sAKJsQ7UwIqlP`0`bga4?HJhY>t%)vl&`IyF69!5DzJ~6%w z^M5IieswQ!$gmP0c`%KyJdAQEOI81t~*h<4{AkJB>D`g8p} zn8sHgMmfej7J)wra#R@Wo?}C*3@Zb!1~oLkF}<&`!6Am92+{W65guz29vWHG(3G8kp5ymY)N&{}57kLk;0*m__?FJNj{tq;_Gp6y?28?oyd9Z%Wb;0-@kdr0zptMZWt)A-86D94yb4fwSab<4p%8!W@3fYU(@^;xF()!vOVt&4oyc7Y*Z>ZJPY zQW<`>e2ry@g8V9jEH&=zmtiM?XOqSBzRF;fY0NJb{87KwwHebV$}k78p+3vBzS@~l zo-wa&;9qIVi|H$5*fyZKoiUBCHei%v%!Bn~t_#M8-x6pIsr8nVVYF?e3>zwue2n8| zoR^x@3J%x_{DmgD)OWEATLv_)|B~O=I-6OBl3xP;eJ1%#e?*4W0@WHJd08f2M%~Tn z1qa?mfIsrL`ZkG|VM!9nr_vbZn$s$tjo@Ewl1rVJ%dj;-C7ZmybT+3~viF0(#)s^a zGR*&XuWa)Al5I|}WY>Z}7U`9rNWD{JSgJubd40(?r&qFqZ^iiML-u+Zw$UJ)yuM_c z(<|9S!GF?+?4UnHSvmogy~*oKwmH3$eIEZiEb!R=rrN&_G}WrR`)jFD{@VI={@TVB z7A@#ei#8Lq4D<`A*JBp#VbFe%Wu-+M4O$G^2s!~8`nW|)1uX?tf{uY~t1Q}7(5;}2 zprfFWCoEbL=qAv+peCy=+9=Rs(7T}DLAEC?+APompj{yAQx+{5R0gs=ZPDDI3edNp zu4^n>KIn7Mz-KJlbWka16=)~u-=MC~S~NQ-3$zmS0qA#7_qEUklm}W0+5>8{4!oco z&_+U(h~K$4#&Us0j2X=%sfp+DDr$+ND*fTTm%zE$B1Q-yr)I>Y zMSBpm0rVxP^EQh%5p+9f6X+CZz;@^ZdK`2B)aHHoLC=A{0bTR~$^*I!v<37R{W~n$ zL!c_qFQ6_vEm{J|4SEFh9_SQk*e;8<5cCe{6llP1)Dvhe=xfl$)vzznvxBeZEy325fW7VT}& z7odKhShRaV`$5+IkPRvTJqp?mIt?0e0O>%RK;MJTU;lj;NJyC$$%)LZt^61FZFa|- z|9vI=k4w}{Jr`*<4ZobJjma&}o9i5xmYq8_J1uTfiq?Z}n+SIF>!CH_uX~T@4@#>U zlb&ZCIXL4Wp(MMoo|H*W{Csw<^DJWiWBvcT5;WFvi{9FSfab1t;PPXv!sIVi3FtF$s zW%HP(H71!dT9-w=k{=Vhs;2`fKLg18a)Fdz3Z#yUfSkkJ0|a<3=Hv1BaHx4tWBGKQ zp0rrWPkmwnyyZ2DS2iU7(nr1gu5y^okKo#q)ysOuTEOvxyx|) zX)k}|Ir#sRGAuRNa`8FjQtxA{y?ShDfZtfBe8&;gvf=Vk=F4k@9ajQbZ)>H02as)S zFOY3)zYK>{w_!5;OrHi+_K!bHUQEX;R{tyhO#QWfKUC4wg;WNaO8!!~8Me}t55v?& zonj63d)UOQ_>`TXo&Dm{}LNUQQ>`dB3dcn3A=m?RQ+LQBhtn~Pj!WDt=}J( zK?db|O~s z^RG6QN9jz_w8u*1OI!nF-19)nU^}$7Y1kG_&x>h~$+q*mY&)k7Z6~Dx8RkB{Af&fb+F0#I%m`@u@cV0qY{j=;^bt~beLm|iCfnN#GNXWoWO_c#W2Mw#O#?ctM>y-|RiH6F%V_kQ-OAp~quMa;SDW-u z>5SzrlkH0n3$ClT;#czj6Frg*a;Kj|F7x?UjHZ`)x#VRVSqJwHLt5^CB`?cK z3XzU}btZr@{^M!h_<~W=-CoFHxkBKM0nG%N^Wz>j%2o1s#?eC|UU}RrXpaA>lQ*9G z70vOt+Pv`P8|dv`*t|oNg$&x+}mcB^YJ*Z9PX_%$HyD&H9?lW%#csHk9@et%`7LNgEybQ z1`GE#gPcP?+UK zY%%aBH-f(#_$jNmOh?<5og*FjsoTSbyf&UAO)L}1>y!R|b=E+pMEdFXd`43)QI$y{ zZN{-VsIyoDNd}TnUF4(gB(@{^PaAYnVMh&NV9~F})<f_tx8flddXXRW|b9 z3V!0HSk~o@;CC4KcQk^( z)}YVnM)0qCPT2QZAoXG&3BTy5M%3|BkYNV_Lq@k>2AZ1OL zm}-z!(MVaFpY_^U>w5OGFwYD_yN+xGzZ-pr=}KfDqRmpzkq#_ktdME+`aee+<}uX3 zzoQZSFRm53y$)m^nDo+=PZt0wtG&dFfJ#+0f5eyV{#@*MoMWmgDUbQV79 z%zPTcv)vnG-V^u6(ZGh%t8hLy@VY=io&3flJu6|lK@NX{j#oPYb@)@k*8$;k4E#Lr ziEel~l3hV-=8cLq6Uv)3=+ zqrFZU_vY%9nOgp7evpak$Tag{PRa{Xl=2GrJz&b#({Iv)w5F%;N{jr*)(JoM#V|FYBT_ z$%Dq++(|i_^AWXPeV34vU9^1pIN$xr$o(><^7p)UpbwFQyOzm^0p%0AQGVd-2kQ59 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%0ABEcH+Rv3`30s8#k)_-&nZdc8in{+2$oe1=)% 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 P-e`k&mEae#Z$8dzo;kHEJAHxy4 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

`4%>{f%f`^Q?Q>YVD|LmpVihphj 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ξ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

H*qV=<;O{vZBl5A%MiH@R@n* z63=^eSyAK!O_499ao|^*T7 zNAIeH;Ka%?lJiU&hF4rix%`isfUxKnBwvLcfEgG|Ip(IiK8*RuWihu9%0$8^e-Inw zg2&1OfB;!mjvI@ONFZ>O+f+Tbve_6tRt{I}Dk$xxoYL;){Np_IDaQ$ed!^B_YKG}& zr~ntsm2W(IT|*{+jZCKE3f?`gH?SO(7B|=t!o0=}bhfKGy%9Vst(stTG?@Tcww6y_ ziOkas=j78bpvni21+#KA(C|eUbOym=1)Y=JP0I|QV}^Ia*i%&NawWsR!9>5@N*G?G zok^od%kx)g5qUw-}D-{M3)=hr|l1lP@Ts_wZ2Vo)Y3iN)L zV&a-R#hPRADfqxMA7(0-dW*M~FFQ(AONCWUNo9mL6%TftE2&srJ+UcbE>{2talJ}Q z=-njK|H{G46w!QMFel^DhZ%EXoWHF$ z%&Qy2A&>>`*PE%c;;|PFzN(M)_@0b-qz(ps3Q=ndBtnWNgC3td`RMORUtg*4n$r5b zzk9*iC*@U>HMpGm>qjPd0}z&l8lrW^ zE!?vlP-}V8hSRu!uKhfg1(h=!YOE)kgGogv_~r2tPxM^zJ74@}iQioDn=gKg z#BZtib%@{P;&-L^tq{Mf#qV12yFvVJ6u+Cq@8jb4De=2m{B9AyTgC4S;&+?)eMS6M zi{G8%w?_Q#62A@Ncc1t@D1P4-zfI!z1Mz!I{GJfMviLnIep|)wY4O`Ge$RIoF=pv+x|dyOz! z($8a@bir(0H3m}wH5gWLiBzNo!<%a_eh6L}eV->qo;#B7!oK&o5MG6f-Qi>Pu7j~P6~_l3{upLz>|0tx#lA&&xfA$VRWqVOVj6JD zBdB&zV_0p5J7G(kM-T0#g`Q4g`@1KwA&B9BLLta|A_$ zqD0Z~%cPT$gjO^WYSCDgq8W$+i4;X63MqL-FTc{c!>NTWSeW_!O3Et}7`jhFb-2@)kn+Xl0c3qavY|6cjiA zjQh~N=B*W1HAhCd!lPE5LdC3DRg0SUVC6xH62jM8TZXH#N_dkJ{=U=_K>(Z@0<^Qb zd4AMDx<-FpGUlVRXKG4tOoQ0V(csz@jUD}-u?=ORuG)-EIMfy#RX;*p6D75{y(G}! z1hG8|;I_RQOkcy+Mduw*U)W2&Zo7}7K@#ce-4d3E@Ff*|**av|GRv!XhP&!&KMo1Q z$@t>;zqFJdkt~-U*@1fwq@f3}?d$Ndn6t5OePt=Jm#Eq|#E+JlowNe6*YxyRaaFclHaLz@mAkFANR9ojH$=o|AipviTajrB|x3tMrq zHD~rPDaQbOUkewPP6io=?RF*5*#eg8Krhb{pL2U_Le&gQt7T%X^K%fWhIBkbahbsv zHQ+~5`F#z6p2Hs_@%EwLI3v{91Z!mtXuQXD*prr>?*-Mh`~{iE;I`58TJaVTwFga-%lM{+j6z|=y;uDAV;zIhFM_CvzDFQjv3U@@}9^x_l5s}uc@mUD9gkr zXre+~2WyX+bP9DPSdhch%Q^VoeKca)rL` zIe-2ESFP(z>>EL?L1!yZc`92yu?J#zSJnmNKv+P)D(8@BdXB^N0-PbZsS3@3bJxPm zdDtFZHPJJ#-Zk-De7)lq%r*QY{u9Twt4}ySu9d9_8i1hp5Y!Vv2U>ozFjIh6O*{`| zpnj)#=jiR<$2I8K4LFEQ~wb@ zqW4#ZjXl3KLXPwT{~C{2TwRj-zws4&zmM3T{w>=quJCwIt9&2vi1yuz1sN-b#+(D} z$0d7iuDU|L9Rny;0&n6`kpLTbWx*W~(O!t(>kz!Hlvf%+G#@SJsg1w>;p zo5wHaJ_}J{VWeUU!cfuX!w`(wQ<#Vq@P(Ky8dG=|&KvG7>x25Z3>z z*2h{lTY{=e&#UJ=ya#nK{n)jGbX}G^gf4%C$#!gF>AArDMQK25D)U`H=klGOGW(LKxbL~G&EHy1uF2*F(rVWP^5~^ zu`gymF|z7~&p=@RMSr=cmxT>@Y?%pV*S=wBnU$I@M}Qkx9FTBq%(s?Tg9le7pPq#; zSM6%^;K|i$c{K>HAK?`|PO4mD#aA^jAB6p>jzcl6W=$1x#;nx^Kg(;(n9nnEnVyyk z*25aHFA(1Vy+3?=;>&lvYO9(it-mJp#QI*2YeQ=sLo0U&pp%dPtgL7JC(8l@KaJmm zr+Pf?jz8uM!{tuSL+EObIeOzW10D}{w=`qh;KB=70_c%ejhCcwYx@w%ieC0#*u48> zu=}N30^JhmmO!@zx+Typfo=(OOQ2f<-4f`QK(_?CCD1K_ZV7Ztpj!gn66lsdw*bX++^(4-Z&}Ob?vQ$JPO6$1?wZ~n+aPa!3M>6h zBXJ9FHqM=Q#E_1k+Yx>~@#l^P{*X@b!H}D{PtMjAAjv4>7RI{1ODYFfgf@c z@SnLD{+5pLw-SFX`OoeYU*$iyBm8{g4-@(C1ivb|$^G_9Zaipm2lK3-CjPe}{_BYT z!3ZS(@s5tOzppA;b|=1Mz-t2Dsb2tZ=e59l-i$~1erEVu!dFvF_jUw-9GhlzzDWNk zgg-e7@YBukys7nAfMqqeM^@Tf&%2UOR@U0whp=U%zAE{I`)~Jv7Q+U*Yt|Xa9s}8U zl70L}ko~H=+v5rAe9j$RK&ljS}8qVSYY0pWAW|J7ZBk0bm@mfM%u8mnc| z$Jg^q`n?Iiobs>h5`6O}z>lW>J=P`o=Lo-({4csFJms^3@N3EcsLtT4l0R^Vtzv)o zf&1M3^xt;Bbhkkt8$jnK(y3wF_YYLm3*?`0C)r`tnc*}fA9*$Z6!7DipT{l=&-^?` z_)_-2i!KV!@>n6@$A#uPkRepxRym9U(YY;yB`C51oQjr zi^8)$>>&J9=C|yk@T9*^z%#!SFA6W}KjFh;0N=k$@YfOEChQ-WAU^rjUiAEu{@I@Z zzJl`n(?#LQe2_}XZ8sgKQ%0=|{?@3D)*w*&q;!f&MhF6s=vDtVjx zlwFbE1{D|QtHp!7&;wvpMc8f6?gq`pdgX{NJJ59 z2$P$`I?dyT=vA;85QEDz?RgVGI zWCIq`(Phg%(JpA;3aG1eC>?-GHkkl6lKBp2{xvDJy6@(33r)66Zx8`b67X#ua32Q1 zt?mRfXsZjL6$E|G0P1nJ%A1RPnnKd8CvXaZR~mqQbMZ7`BH{ouSBGJ_&AQLPB%7$E z094ARh$vge10`BV5xHX#Jo=0Q?*ri7Mra42&)|v-wXl%6lkOZd=p}*|g6=bb@{)`C zyL~c8em-3fx|0d~v;lY@p?~HNT}|ksctGD{gsw`iaEC9Vrfzd*-b;V2`&>5t2KOC! z*NSQVN<~5M0U1RIi%D?PI1scM32OPzynd@!W;$(1Z;N{yD6k{iYM?ZIH3akKI*rGAJXKF6nU!WTRIX2+_VO^D z`tno4Po^%+Fu+$O<6C=KOf1~J&4{uSC|N{VNtDYCDEN#hZsY4)C<+Y|3*~GCj2eF( z(Y6xpV^ltG#*njW_kBoAhkgZ#e7jc5(J4Gtx3UdJ0KzVo`a1(RfdJr@*op#ba<(FRK(>dqThOvG17}9&u zpB`JRr&Gwjb^+#I^J~R%^+To zKi(OqiO)zKuRrl#Al@68deQ~OzTl*LG^UI-aZhKw0XptZfIevg?PUhtPSBm?wbTUq0VZdCB(Q;?8`A)qWCDH344O?) z>vVu#VFG>F40;Pex6K9U7wFWD5}0QO4I}8}9|3fi33Q|x^jIZ8$J_j}DV20$m7KwmV2W)d`opaV^ytIeRJ3EDmjpr51XH%cJG4BDHZ z%aZ_FX9B&!4Eo_i03DtR(4U(?gUp~W6ZC~C04*|sHep`YM+eptbPQ`jq6zd5X3zx$ zt-c+gmzqEyGJ}p1yt2l&Z1$Bvx*4<=L2G6Lw8jKF+zk4`DuC`J)t{L_1I(Z=5ww+5 z3k{&Ohfm}gBtT=}VS*l`zD_WK?l6PSBdCM=8esyx*VxvP>PUjlXKA^g_DX;Z++hao zLC_CaT7NZx9{#n7*Y_&`n$KGBQxoV`Gw6#1Jx6`bH-c)$3GMa`1lgGmkR%;MR}KQ) zO@Nhbp`!c&I2@f$fEkosP{#n*5g>db06zYeCI(KJRHU=3ZF0X^N`H&HRJ_-?>q`td z=7fp-AOgh1_J???eqlC9{ah!d)h+m>dc8{ZUf9>9dWA}LiJ9tSI@PtLI-J5!?1(C@ z>>IQEZ1UN}+LQpSFe4VB1N@;mYfzm_=%eWDb)G%WeKJie%|i|=|{Ozr@Vrc+gZm)bwW8r9;{H-G>I0-M53K$4!=c@ zY~UkAKDE$KdJ%-)Md&xp(DnY%pWYAXaQ1yqo1uT^4_!^@4eb8zF+(r*hh9(UBGR5@ zhK}=xo=@nLq&>h49p(>x1EFi!yMBf~+D9fw7x>9UB6I>f*d1o*7ZvCZ=H~v9s?N<> z78$Ay3*@DhAQ#MrqR>cAK4Ft%Zb(P#T)u+bm-Uh! z&;Pswp`yD}rd`IU3AnroM5_rb?;wF+=m~6O0_~HLz_iX1NFlrL-N78Jbzd(Mn9rbH zB51SwGGhWWl&PIKJ%JmUz%J%M#u~7$4&H~VDv`iaHG#&(6p=_EM@`^W1nDAD6KGnd ziD*BbswcB{Jkm)5*wHW$q%;y@EcrOG&dmeXECUwz)OqXe;?qtLXZb;21UgAgyRoRd(a4`ZW9S2eFv!E9M{eR;7sbgBiM5 z5AhLV9RgEb%N4drc_pKXHOTH2>r(=0tNV*wA~(4|gRdcXDAsxy%ev4y6zelahz`a2 zpb?@&u`VD4`I&mMdaUo0)H>6}lslKePY5{+0QRsekf zz9+@c#0iNpbo$V$j#H0GXFe>{wwZ{;=RWGiP2Ewf@Fwb=p3HTmw{9} zZG-JU(IjFJAgN4Oss7>tg=)M?waQHOPoSmLj;*A+oa3A9j;L}$<&IR*J7Z}23M!h% zDa+&45ZV1|x)Ktjhip+pE>}Xdo|B`&aZKynZAk0ujUD7bWQGZTI9p3_lA7Q?HAHqN zspMbNLt@pCtxAY7!8h(fg8RlJ!PT86Sd|>*UJUtERZ(f&y{7R|^gQRLQi?V1J771m zJ|q$f&0w5Cn(MAhKg@<*#mBf3SmjBKEc>AZA@Mh|G zlZh9c0=)0An(I?%tKI))#=BI<3n$)a;{DAZZ=o6Q!(vS?Z{w*tmv~iXyq)fAjCd@+ z-|Bcz5$`nd?lj|7yZ@PF%3raLmrJ}&#JkcT?^QG2Ejr$C;_V{d-#3`#vdR4b@VMym z21d?Ybm7RK{-1?k;a+H!mn_b8R%+d{l(py2>yUIvXe&tJAmts}&LH7*? z8e+Qak3`$YzMD(f8Z1GB%%GJ7&7!40&IH;t(U9YPkknj)7LjT{6X+kzpd$z>k?N;d z1@Q=pn?c_z1n5Cp92-rb!_A;C5cDZhwVOZ#%%H0XI+DD` z`+#nBznjQ1t8ov-)PUYj({h;!6s1d?Oytq*Yrb3S&8Wz5Rq`hHCP87F`#46=I)#m( z5Ux`QB!za)mHpYD!dCZem4{!`=+_JY^02o+uCgf^`bt z;u7uB4rY-BdfzQ~J-s z81!<$Zhy~WO$2|zQ}t+0D=#&ZVl#WveFSr?I`>>yb`c{b6Bv^X7zEvB2F)VqHiBMm z0$pPUy_ulF*#Q0L8gG_J^)54LC_%?80w_K;>(fNsXa@Z#51=(U0Das98f*ro8DBk_ zpi4}k%?2w|Ooyx^=qq-BPBel3(G0p!P|XAAWd=~LX#M0z2DwrzVhNhhY@J-~%@#oe z)|x;=2--?sYmK0qj6{7r&XoR--Lysc#F+#UgdIcb8A5Rio8)*j< zdNdX0FJ|bM6=+jc;a3+oMym34*LK(-x8&nG13a4;e(Ha7iAkC;JKNNDgpLP+K<{aX5Q-BNFhb z+bL{yKGzDQt?mef zQQ^W3$mXdXF(1}~!E2{eJ7QkA(FoDu)XwjW5ay{JnQW~g1o>Hs2TdC5OA!UN_|+nW zi5as^c&g6Nf@qRg`H5arlkeqgX^E+wn@N5bYyUqhH1awCt(^!0Y-G{DsRMYNC*|D} zm3e`a?g_VZ+To=9iXJjT4f(YaqG=Mz{Vf~h&ar)XKqqJ9o`dnbXR*M=u)jwfAH`(A zH)E8tPi8E{mL&YG?(y(7j@Jh(GXR-LMG@bfOz&-0*S;O5C(>rO+m_-bBP26Or_qlz ztSo}P4{9>f@&0PW+l3r{lBK2HjHl`Z;&BPvkW1RNG02X_wlINzPv|+U1Gxrhf=Wiv zeMq8$pr=_TaXz3Y-S6CLph|h)Nzh#c?P~&k-VAy@L8HjPCz!I**yU8#g8-$B-nzp; zokN&2nOa^y$5ZuI%K5hjWK~L=+~Wm>ZSIXm3N-2dTc_}QQYa#YTz?7&-DyTl%K1JW z^B!VGu(P|~7qcU)rZ4DtjS_Z%qlj)3?LRtaE#Jb|3y5%`gbU9{GWBLSAEfS=ZV7Zt zpj!gn66lsdw*#Ip5vawv-N86JciHQt=>7&?wD=~bW5OH0^JhmmO!@zx+Typfo=(O zOQ2f<-4f`QK(_?`|0DsNob3MVmcW0O1e#x#tV3Rrto`BsvvS^XZcjrVLEW+t!Wq{s zhmMt`JM=$J0$2Yk!20~NLDsWVCF_@0O4do2bhnrPaZ1pg;fqS(%~_Ila(s8)pr9T> zd-3DQZdqJZX}STrCGa0AfnR@e%bm=6AY2k$#n+)yg*%i%k`~81@FL(E5Z8dX*0xaV zSJz0^XEK$x<<8=}i%XUj+w9A8?4^!^l42s`@7TAY)}YJ0aO2K}T7N&(`@SeU*OrrA z?jS6mi%N2`i|n@I>?L*vNqN~t<$Q9KIYq$Z!2jDo$r?RJafEs5yHM-NTP5pzVw#+}>pSQ#{&>A)?UO25|Ag@HJAB*B)xiBM z#hdQ?fZH_%@P@Ya1He2AyG)ZwyiJnEc|xsMPV$Cr#`~$eBi`i|xhs zvVt6DO*#ko0HiY^MzWsn*D-uSNx7rUp1p+d+Otgwvf0bZO3E04zxh&_wRNJGm#Jq$ ztp`Uc`2=3(qU>^ed^}2FQGvr&ZWm=jJa1fHc0rMEq&Lo9lII&Gg|vrSU%6eOUxVjs zpa-PKzk!M;6C_U1K9WpLx!Q0qG=M~&YQ_2D$ary`G9 zxJ`S2uLaIWJsOp!ze@QAn7QinQhQmsR`X(S7c6XF|C_J_ceR!0Vn zMILODbs5}ecS_ciaAWcOHR^*M&j#{Rbg3lGaKhzEQW5+j_`?Ijtcw?T={b{79+2O4 zXb+B~48K5`YBcOgl2n=^NlWcHj*_x*b8fRaN=i`Eix(>p-f}A|C|+zUEh#V1TM(!* z!+a4m!Uo@RZ~OM&{OtKLTF@_^;NNo-eBXEI?@IVF(|fD_-s9QF;sbs;G(p2x{L%V* zdu`4YAN*#9{*HKC=H|eO3Y;W8l)R@bdt&VE+PmiCcqjiJ6uF0P1l{|)Mi>3z#Yh_zSoA4SXB6&zMs4pXF{rb@d<20D$;XhGu1-o< zHr!V3%*nT9m)qto8j-z#Tr7cYU_+6YRnKbxNKWqL2-e@jy@S}fNe>3PCjaU=WKK!541dG z_ELMc12Vaz*v@|Y`Ux@j366?O95%EkIrdyA;i45tPO$)x8)s2=nL+-YCF!5)Dm=) zPHL0D*7`xC`KpDL+wFG?oD#2DUr-LU%Pl}1fN8ZtkdT(3gUwzHwhHbQc__9!mX(y< zZOg>~jS$*9I$~kuYwxD4OT{I&MX2z|x@ZdoafG1?Lv4`39Hb-Y!I%OW8mhRNNw z?4{_~G$At060{f!TjnT3oJfN2pzbJvEdY^uZ5)IPMr<%1a_vhCa@4YBxEKJTh{{Wx zW#CKWRkVi+tmtra(UvGoD?AzE^|VEp&@pt;Cee~N5pT#o!dUlxA(gOlh(Z}hsqgwY zjqhkUi&1W(u0GSXVY?hW}7c1E*XA3}E z*Ee4szzE`cIBS=p(vlulzGBIulA?kfQT3EAMFo-22RhY;Pj3*Hm0`H$tyZ*=MH)Tu z+XrqtTtB!7xJ%$l;I4st9*zUKM^%3|e8PVfBuT_Qt@>Z9K4BSuD;(+M_EzwJf@ik% zVF8kKDg08nNH`1&MY^1OqPrH3;hb+G9Sa=k08JVO*AtHT_o@C6_{4cz^()ozPr(oI zImRZf0dQe(%p)(-rYeyCY?Z%H0AGOjzHo%ctKjD<_=I~WSi!$seYe3UeFTfSj4R<2 zj=VDbN-#w~0Y2+OB78gi3Gnma-wb~-{LA5k1t|%BA^c?ctYcH)bBuK>{3Yw|3kHC+EzZU)s`0L@v!ruU&c^iFAsFiu13!ix|f=`~- z!tVutGkliYPWa4I6MV`*hA-wdt_`)?@NR`qnb_bjhCc>AWs?P;vRMwFWw`-9WwZr8 z^{)Z`b?{HXXZfFl&vG9 z_%i%^;RjzCYGqkOz-OHp4u2*5$?$u^pAVnUhXin5TkogHPQb37t6Q}EZouZBx*@8s5J`yaQLiqDe$j`zZ^a%JT}5#2mb~5F8DR@sY7qWzYP8{_|)BCTc~v~{7Cq0 z-$%k<4Sx=N>Rvv4c>i&K*@_io%gbI;fR3_*UKH(`3WL7JDJIY%B`u5ydgrK0FT036 z?+PEAgi)Fuif#tRF?%2HyqzAW_M*8ZOY}Zg%uyMvEir$@9z7RRA!P-nuvSIN3|9?9 z<-M%rZgi2Q1#17K+DM!)%3fr!)s5jQ>;8rhC>r1}`vFm~VKRrSbKN;*C71(Jtwr6U zMLn>WJ7Cj`sV_~2Wia_+b*t0}Lwl4qrfz}g27zuFilXAsQ85(k%k4Q%2Mr8cUP&3o zl3uf3a%$@->ioSrU+5w4GR8&+4Rf!Hu?BG*>k0kmdgokc^a!(-7}i840H*&C$-2;n zbqBcnuy#`cmyhRvzJU>MlgSyrq=!LG17COOM6E$YRt}np{oejfQS5JG&@bHY6zcGkaPE>5@)gFmeES?5HA9HrKC7ltW%_AW1z22 z7YM-g?7QugI*DZ*l(e&GDYeLMFZGL^l&W#yO+R&Z`V8-QEHOv4M`~cw@*I?3!BU0s zIb|y@6fMohFcM3D9pZM(4?tChl=3s^93~nxUQ?ZmFw*Qe&a8JDT70Urm@YSaMSOBe zF&!W0IPG-hd``FL(iJOjbMl?>aAhKDN?AcX9HCOP9dynzyl4y={P^kF#dJ<6aQqbe zBDym1lAK)@50{f4pIBN(S5Sm^a053T%)#05Q$)8SKGC_D&RLGs?4@)VuR^`!@5ph` zmGF6H$x=EcVzNCa9!|U%80zFPUP^_XUMy*Tu9PjUz*{m#Xbe?+Ep!fG?Fd!;aM zbUH$F5w7@bLA`Nvu$Jf)IP}X5F;nnXfEdNsXr+Rt1EGpf3?-(M448uBrRl&Y=Zf#d zTbanw6mYdjq(;9Cyl64W;)!`>NDlaoml84hDbxJ|^a4t}A{!;w(?LT?i9Y4R5JD9r#@Wp4j`uOLu?+!YF=;9zGK#vJ~NpZ^W1k%pAlhzBk4s znl8Ua_6)P$ez~_#j>Ed$BUzGl6W6P+kgS8y7cUzvS)aqc1C8if;FM!sU7Jr`h_$_P ztht}Sn(d=kOV-TmBoJK=Be*pb?*t@Y0`y{S}tx%42@Vl|5ScJV0 zsjxkMhxPd%!=`u&>&I`Y>;4+8tX^T(fmjpP(w__X+W`Lu;68X0><6sp=Yrl<;Qt_O zl`y3H80b8JHOxHZPoqPBQ%IOKW`dU%!`cyc4*AgNGi-kEFzfmGzF{?e!mM9FHX2+s z_$TZ>@E3ElH@tkFWPKJkRw~>OxF^BadaS`70H5#U{cZT|@Po1TNqp_E25J5bveoEc z0eKz9euYN37luRDaMvTv`Eb9(vxY}MDm2X6Zs6fg*j*ElMjyzkY8>P=-3z}Kuu-6` zrIQH${(}7>J@4|uoCHh__|#ys5Z4psI~{OZx^u(AtU<8jG?)iQNY)UPGvjw6t~d4? zYjG0xALOg+`cZwutPg-EE$)*9$O!zdf<5>%=*L==-@IXv4|MSKZIZQQls8S%wuOgT zkAvqQihlz5f5QHcABsN*dawj?(D3&oFCT$kBl155`MfqxvL+#~hw)B+`8N_eHV!(f z;S2-+mtKkb2Dd#@vfhp|9t`&Y@?HsNhua1>5n&1i<#!xpw+wR9==1~r)sR^RTr=v# zOK`uy^K)=EJR5O01NSI+(s0iKw-!26i8Ou+{r@Lyd<{O>5@ubCJpmf*UevRnjFGI@ zfL9GBA24$a^Sm#n`9&u;AHSsIUgK>p;Hf8&tn2Ot|Q&1I-R3?CvzOPVnn zy~q}wYm1(0i?>B5^C#67ok1Y{MK7`4$XNUcv&Dw6_{8M+>?QFj$?>I}=8~eP88J&4 zB&pPl&w{du6XXP8LDM@H8==78FmeXx?abld6|f?xJ#<#1z7{aqsP7ug-_a&sgT9sVClU7++6yi2 zWAq*0A|1xfxirlB1n6jSpUyzPfqD@*U9uiUnvdOuz8&?u59-DW)Rp%qd($L-N<^47 zC;f-xM+^wF-ZlP*EFL!zkXJ$)q=mi%3mMxr&CoP%(Rsnhq!>ipx_=odxi844GZtn*P{Fykt-%( zR(Jv?)Tbcyb<9A&E>-LsFKxU$4lY)Kv>9a84tV3=G2j^gT8-}&Pdp*^0d9QaiMZPU zH8M8#*>MKw3&aOtU8onPr>bjI|(OEf^NWt!`a|wz|Dcnf^)!af~$s;;UXqOCUDE)9*3)eI|*k?0uJ1A zILdG>{LOH?;68wprojD+|1!m{_gpRmN|~9Mlg{DFBA-jMu_aTyWM-B-a`DWU%uGjq z0V5PJyyxNcg7ID1<*bE(W>J}rYtLSUg*MQ3l&O=KnVDEGz#iuub*45m6B`$b3KnBq ztl&e7C4;Q$48#&e5%zeA`0@C?4XxNXv|vN!lm<91X_?a2)X1Al?RlIQ(JPDQmzB@w^i5nrqR>r5iT0;HXw}y zfot%*5^f<}*3vw&y1}*0tfh+#&lCtl5zd_mC3)f{3v>6`MPjQU_BAZVY+SAaL^x$5 zxB|D7Clw$CggLqINrlQ%M6Za4n`-?aKnJT1+1&Yog&_?cn}18non>|{u`HG^b`J_M zcSc7|%SZ;Z`7TUC8c5ou@k{&Idi$KhARY+s={SjI~E z8??q8cA-*J>Id~+DL6YHrL2-A#RX!+dU=7Gq?F|qo>G%c3g8z%Z-EH{bg`)is}i|g z5;*xV!Cy%5hVt=~sGkCnwzoXBax#^JKUP-m3T%%=HRJYNW$~+wtB^KLm$Z1SdSNfD zQHKpsNLyF9izcbVcA3czuyo9$6eF;;7F%1<+9=};^}N^!Hl+;7f+GuA*~KNrE0&Zvm4gjp z@1&Nm|HIzf0Onlv|Kp!AYz$W(N6J;9sf~F^i|M*B8V$odmD)2K!`LuIO{r9LuTrVV zNLrCrt)gTTN<~J>V>Pu(rCO*|;{SSm&N8h~i2N%|w zXz8e5+Vqr44D&Cy8}nKA*_dcK52ohu6&ZKf3?ZDDG8qqLrq5JikF`Y`eQBu~cz02m z#a({245cJyC-Rj{Jjd~veJuIRGAJ8)%UiWdW;OWUAx5L=SJONLc>FXQO>TAqzBg&U zFKUL6HY*7)0E)nk*=cxX;3o7ETsP*RYfQ6WIzV)7qq7~?0r>C)U}WJ*bv8VB@0dY@ zZ*$NyYZ~T9ev1P?+gu=e8=in73gt`b-Fw=sj0|jD;^kf?GBqP3Ju@pki<<_xP<95Q zB?0fB&zwF-jF;q0JlC0;X@uHEnaFRJ35YV8SDm!HvC*e4&Cxr7gPk61AYeM|a_$!+@+@eEghVJ?(}udf4^D zhL07O=xz%^2DcB8WuHCWWuyexOB=~q_-4^`v!?OY721zm6?ovpw?>qqeDtHNsWT^H zRX3SZr_Gv5j}lM6sS}<~B>YLvNblV{krNJgZ%Ai2GkqGjmyGFrBi`kkh~mvBVy;76 z7XIYoI!}E+OGLDB5OE{%tY8Da5qtypI2hM6xRLE4+&><84bB_sCF1fB_W|z7evA7$ zW5G|p6Nu}9`_K2|e$*eh2gSJPHjQlaN8lL=?)x0U{bk149S%E@u0H?cLd#~s)ri@;kmK7i}0#w$mJ2SV{;(^ zN@HUeQEN!spGACcW3_e`IPq8ezzjNt|_d1+PQ7JCkJhw*uDKVUFy~uctgiC z`(}(8^7gjFFpBLTT?zsQy!`yUwwFBM{P4b0jXvDI@bX6A&)c@N;|qhEQEA&x567+C zRh&5f=(=?i-VKVX_sgVKoA-`<@%2ADFZoBpQodY?%aow|-fX?*ffvU-xAMCByxecE`SK&PLKtXA4+bNeNqoxrt-5-5-?42L?A5xxp>2rtr+9KbYdFrbNvs;cY zX}tEL6B&oDuzmD3q}lGe_{PNH)6%cFHMrduvHn-~{Iu(jm&YbQKI6T$t-c-dKuDK> z*3+jAZab|Ft?lgI$@zkR?97XQ|9J1x&TsC%apI$0`m8=O|Bux5qduGS}Z&wGztK6>33pIrWR!Sb~)^+i6zIi&Q&>54^{-M(XL!*SF7iwA7GDeO#i zzy&|H8=wD2NX6;hj%T{G$)EAb=6j;j=lf0j-L_&(+qtvW{KGJgy}T)M)}lKeZspiL zrFYT2pWX9Rz@ULc(}LC>`Rl=lJAB^!L|XXeQALmc*l)pW+upA;?&lF{hgNr-J%7oJ zVdz0Ae|~-E4JVtvFm~w$ujU#PU+rw)vv0?N`BNRwv>W>R?$0t;9PZn%)$7CFFP*Wh zdHI37-p=7)IM)3>ea_HMU%%Lpz0B5a^t!-(Qk)4@|FK3C+VJ=uNAp&c*&vN=7a6Y5ibIzIQ$ z7x#|-p};=m$unagTi5X12ESX^h7L)8r1;{_?Y6)B{JxJ5&VIMo-k{NkAI@9x?h^$c zT;DNxc17dBMFqcQ+uHX&dqMP9FFcSu-uBH0j~!1x(CONl*YsFEtHCYT zKltr+VRL?;_QW^NMyaZXFFI)ZYT53cJ4WAY8~xh&(*0Zh9M|oRjdj}$jH!Fgdqdl- zH+HoDq9kVSs@(Vb>JRTHEB-kCK$a5iYoLw|$+<>Pxt|{-E_4dg@^OhxL|D)+8ZH{bs z?ddKrw}^dy$+~O4>)-Ry$DaHAbH8&Ro!XaMXKw!0knZ>7^4OnWIQnkr3w7=RO)h~E*#F>+Ix34}nGQam_wgb;)-4*r5p=NvP2H%tUWbdORkB@x$t6_h(ZqRk@ z&@IOftZO*@hor@~p4jx^CC-WajXPVe`g+!vyH0lQx^MxDU*397%Adb{G^6kA{BOIq zm_IS*bdN4SZ#?xtsU>G5FM;wa?6X`m!x+?znOFuC6m}SKS`9V#~(nZx;;f9`oJ{J)YY9#<}&gyI&I1 zrTgyY*A_i^F04w@4Kf#dh5M)+MfIQ)oVAb+q7-^j{)tr zh(*--{M*h2hvu9K?R((ZjAdQF`8Y6n#LQ3I6uda-hATe#@MxVY&V4%Q!zCS>U;e_r z%U*BurvLUUch!IW{qJA8?&$S_E8eejbjJfDzV4PgX4?Y=Xr7%YIelYW#!Xftav%`i=)X`Z1(T8 z^vRDi6CdsP<=dNPHEMB5=tb=lCO6->y3f9Qv*!Pt@cDuF-?{Sh^!iudv$4Yu^&g)2 z{j|YtrXN}I@T@zsZ|?QPv>n}E&+E0Lf5^@U=5FZlSrax=O24g7Ec*EI&;f_qev`Yp zOW$9o^qo8SjseeoGk3_>e_i@S<|k!8?Rmf6fi+9s$}m#CeC6n{XQl-dta@tTKeBhm zJ#cpHJK4MTZ`;^^TJoW>yKa2-s&CIV&qy4xz3q`V9(i@eu%B1Oe)Id$8Mh}lxN>FJ z&sJPYeTMDcw{DIcbM>4rBcA@C@9?MgEeL(;w>8=C{=V(8Z`w_cD34#i{Qgr7{y4Gd zWhwq=2pO@RG`D;hQ@}l=lz0JS8!{f20&e}i!T^6W=Az2suS^q%8&%d$ZSFf4j zS3lUOQ~zS4PJ@m{oq#Z-ZopMWUA&@Ew_&v5-*BYi-{>a8KPcU(7c|SL*Z2;jUXwhd zUelFE{iYj?`nD}b{R{RO4K64%8ZTFi9BMak7JT`&n}vW1$Dipf z{OZ5(aB-ux>5&`H?BsLYk~UM5T{b0)fdTh2Uf7qGzv%BT5aU2eNXH379KbrDiO1MX+mpVS4G`>mui`EwxPWWxl zV@W@m`CBK=a;3+19p5x{)sw}YI_`aX$w4#S`Rn{eQa_&2dpP&`IVxJ_cT|zTSn79F zp}$y`zqpF>7t8uPs;Galw4b92`xQ(37gu5bV%dJhRkUBRZ2#ga+P_%#A4e7ar&#ts zM-~0ASoU8>75%qZ_J2ne{l8d_A4e7Ar&x|ZM-}6*SdL#u72~&9wX=7uu;wQ}$G_}f z6;}OB=lFM}TguOLj(=CWrT(UTjDJ_U#ePiZ_}>hKtFYSNOvm_lrCZw1Ovm_lrCZwH zOvm__`pc~S$4tlgccokUAJaMhrTj8$|7AMIzbn6`|C{nL{$2Ske$k zkMZwHw~Sw=bNoyFB@AoM<2@TQ-ZFn!^IPX1tA2-N{$hHWR(^+N{xkDy^|#KSOxNw_ zu*|=ve9ivW`P-DQwV%T>|C{Mr`#UV_hncSRAM5&KrfdDrVOhV-bgln7EbAZBx&F!a zsc=}*` zPujKXo!b4TxZYIzWv*-bdTHHnGhJVAt@dMj?S8X%zbW@)WwrZF&-* z{hzjg-LU=(!O3IdpEbo>m>+Fa_iv$5`JX5M0zdaZKOdbg;SN9dzdC-t{Zsk%8iiD{ zgq~WJKfp`voB2_GxGSXv&Y80rBGv}K@{!BO3QIOCzi+j5bJ+~HU-6|5J-`3& zif>P+%4#N>ArY_x_)Qz1jJB%`avPB-fHW2Tzi-XnpVM|78mW;=lZ6boF zw#m4`SvaFFJw?P1Q@;RZo*@^7Zy*MlXC%7w^I$e>+~};-nNi{kze-|^m;r;M;--7X z#|#*nn5mW6oeECyvxcs-^G5Lq{_F5vVj|wv7dFTHEhTv4*K~Nfq=fG=(mksAm%xwr z(@pn)=EobjuJ}C7|Dfi7Nb^6e`HSkf^S-M2`Mx-08GON(eZMBhZ@1MK+o_fl6$eb8 zIS}7|$%FfZq>SVSHu}~{dx#nNc!;;KKEm-zx zE^Vroo_bVB=<9}>sd^>i8-3P28`rp<|&WFyRSvt8KUoa@s~OSx-QRc#DI z$^TdC!!zVkOkH;T74LDSn`KEiZZT^o%2Bm;rN0NxOHl394^qWRbey~Gpy~KqSw1a5 zixLN*9&tdf8?>-U;ag;!&uJ5m`G(+0gCw@Pc+V@{Y;$U3Tp}n5Hk>5W?RYCqtOiWu zdX|BF>?O*=U214O)f?R??9EeMRegQ$KN%>E=%cJ5YamAARINnS*_x$L`g^$ad$%`F z2&9&wI2&-V5d$A*&lEFmqB#<$B98VK_T*S%4xS&F0lTq(b9H7ZX;1DPXf^H+bXk?# z)ooqY7Yq4d=m~E|Q$pP3WUx`?2sbj#!^Ekz6oKma{g6|aT zYuz;sY$5P3zYFIH!XG95BXOS61nD1yJwlH3|A@1qmP-GZIDg6|PJC$BiL7k+hIFXP2&y^yON)r(_!4IIa7;1pg1=kEgN8aQeSI<#v_O4qrjtQ5FV`%pMLJ#*nq8PU& z{NjXO70(lSg%fA+3comcSNS;;xKH2}a@}FilYm8@%BKK}c&;g2o7CCBA{I79T)L*C zs*``kiM}G2IL%l1#ksx0-_M-W-0{LnXcKd;6!GG8Ud7LShj8LFUf~y~?+X7g*is#w zC(hUv@t!9Pi#Sm(t{9&4nfq*E!6(Yel}gE?oz3p!Iz5;v;{0H7ZZN}@PYh-(`juRv z#CcdEPL#XydB9bj6U@^O>3H%X-BA4NigroC-?`?O0%o)s!`M*F=H%f&?mI*bIdyJ) ztBrrXu~za_MebIV{8%)1L8@xIprGK*sb*I3HkAH_k)&9Z@55`Wz!MOZ=)+V)Ase z;0UHM6M`mYCyFpmaWID)u{+YUX3R8CF<^FPWpZ+Ay4l<~d%!$2X<}lMDRb)d6n>t8 z-@T<)%&*BJAwF$x=5$Dz2nME4oGH`ih8yv7yMd+|@hET-^Gw6342cu*i9b2bc@)zm zW=Kqom=7@xat6gXNSuZ#3^NxdEzEnEvM^g=qQV@7sR=U@Cp?Rby8(0ReK>PVp3BDF zXcl${yh2cStGXFIan0v;|1a-@ahJmDQ_d?>up0d{_rSQDi^nLOj`7MnQ{0!ah&OrO^K*rv#Xa|$-tzNzA#n7@^o-P@(^JHBjP*g>FZHzVb!O}U zv+r@wODl7A$u}GPUy<*<H~PNT9@#4m=_)JBw>g7wl}+sb_@IyEtK#H`erbG2V25!S4# z{i9(u-bopO((-QPTvv%_q6fII{449CT+S+9Ou>bmy!4l9Xa5u>E9zw`=#LOhbxU5?cQ1&_ws#cYwqH3 zJ>x@L$D{7N|I41n))9A2;$dIweLq^-b0y>xBL2Pv_gVDueq1`xy#r$lc)EDY9H}hI zUZeNQn$`(QjhUX9B7eij_1i_BE1rAhrF`$tg?ufMXFXI1V-FMgtc+CkgFRx|a?O)f zulK&xkk^;4-zhRxTJ)LP%<-RyqZKnbU_}A^z+JRP{I1?+AfKmf2lDyOE?_<2QDA*w zIS|L<7$<;y&T|^bXD?@gy!+z+jQAbAAYc%}Er5-I?SM^y9e_=Np+Fn3Cy>8a7zu0! zi~=?X#sFIY$4>$z45O_UsF>n}gDR4M&IWQKu1~>+|9>~@&0%A*TlmI!Q?gHZC#R$dO zyng5a2NA9VJPxc2JOlIx20V*?0SpG#2ZjI}03(0_z-V9~aQPzi2jDn_gMewk#=sn4 z6W}6XQ{XZnJ6r+q0^mkqGvH2ObKpT>3*d2JOW+w`D_}qY`U5Z+*ajE^YzvG4UI>f^ zwgZj>UIa`7UJT3uwg)Z(+JVb}mjDZZmjX8eF9Yrbb^sm(b_5;=b^@LOUJeX+4*dZb z47>su0=yC!0SpC31H*tRz^=e-V0Yj`U{Byu;8nmiz+S*2;MKtGzzE=e;5EQ~6W^XNCg7C;BE1JDWV3G4@q0uBJi0i%GKz=6PA;2>Zg@H${Va4@hCI0RS%ydGEz zi~*JbhXE^q!-2*+^dq1RI1*?Fjsb=P#{!+e8-TIERA2&d3NRCx0n7z10OkSxFoEO) z{egu*9B5{g00V)gz=pswU=XkZXihlm(H{`D0b2m=z*fL;U|XOQcoA>{Fcg>p>;qf` zycW0&H~?4xoC4eq^ut88ALtJ(2Q~nn1_lECUqCs4Er3D54#2j+p1?l9Sl|?30?-c= zS|-pRmj?k&Ws28 z7a|_m0_YbGI|BoOJsA&-Vth~NXFM>4@xW}xM?gQrz@-dFLO;X6B8HvN&oFR5F$(&L z(a=wff&Q0(vCt3np9lTGw!of1&V~IAF^8jwMkL~90J&xYj2MIu0w(|u12cdx0p|hp zfs287|G`)e+yh(>{1~_yxDU7s_#E&ka1-zZa69lU@F+0oWw8dd1MWgN6j%(51nva- zV@~Fp6oc@Sz%(E?v|P)$#w|oR8OXJrYyDD$VFF_fa6YgI_&ShlKF%>QN)a9i=6Bw`HtakwS0^A$e5MB+m10Mv21GzRifv*5#f$M-=W4N{@AbdZN zdx!?WOoX|HaW4@7%tiQVU>{bcgd@BN$i2taKqtc7Gqi);AYd%Q+c2xkN5AsthX zk%{n&z+52r9vu+h7?_9fa3J?mA;5fuCj*NRZVxO(I1w0%a1&q&!WgpV97=!rkz*vOm0?WbQ5txARB;ZkmI{-5go(RkZJ^*Zid{+YV5S|Lm2i^(f-i*(+ z3K6~=xD??&z!HQP0=Y*F2bLnd0$2u|1FQhf0va0|+C~Fnptl*&hVY|6J1`Cy4txw4 zhxFz^C&EjB8Iaox7>n?2zzIli0Zc%63@`=ZmcUGe#{zSK%Yb>n#lU>vN?;+d0GI*( zR=^U3#{shuZVfC&cs!7M(MVt!!gm2HfX@PrP2#u1ZNTLSE=0aIKs&-W0(T*NDKH%2 z6rdBh1sDt52221J0yBXdfw{mBfO)`ofs2v9EifP92|&*6UjhpeejB(8_!jUua4pdP zjfS?zflHC^LZBVtCxGF=n}BhsM-QMA;ah;*Lpy=72;T?fo;(7WfN(BwA;Q-HGZ9_@ zTn@SIfVl|Y49o*g1Fk{*MZkQ7YUJB@U_$3@3?i3Dij>|>q%6L3|HPdNtVKLTuuH@;x@;*hj+95BkY4`%0M6-?&bO*=NG= zq+pZ`i@p3s7c3_W+W470B>U6qf0j^Q|&&b}9hHvwX0m^KMR>6Cu<#V|ag_E!2i zHo{Ok?xpBBMi^H1iIFmMkO?B>{E{f5dg#}LCem{Rz}MD%4Qb6n|tjpHi} zIaS@r8-|>!E;*)c+~Hfy{O&NvrOwas$-bxR#&OENrrM6%0cv&}&Z}u%U7C6osR%40donfV)SJVpId5l3t(?bM z5BK~a`e1)oJLrANnpfF$p!xP8*E5!BpsRlhn?<|Eo3I(*;S^5Tteyv zT;r2pW2rh@%OdLGuCpqedM{LzEygvrMA=5U$|}khqm_mI(XCsQ?K)T4RoPVgiFvud zR@SN5r?^MA&>!XMUqV0MQ58<R z3faRk%7hcLhiGAr!7;9SWtlrC_wGRCAMZ*R`3Jb>9A$IWM$FGvQN2v$S2GUR8>aSm zwXw3J8uNmGh^wxGKhD*s1V7(a7EbWTXyu{&8(e!O!LLT28h_Vo>Ew@f%`vJzYHuLq z_tWZ6dyRID5s}{Cl0VjxKEl;cgnTu_iv2xXORe=HJzDDv)W@@rRr@g<>#Dz+bEBn& z*f;3JI?OL>gcIdVg#Gn!5>|6PoFaF{%1){BDn^CVv2)V-Cu23&!&Bt$TJdLKXQ!w0 zI|)6^zN&}$Re~O#VM*tTsHby9)5Gqaji~Qjt-f5@#4Mj|ncqdM_?rP9w-jE-aqdrY z=@EN%b#=#d_8-2{Ae@+Ek|2e@$Lc9d?CaUW!ijx+vdiWyR~Rg=Y$o>gd@oQqG5=Af z9_E*+dYD{#m~Sn3hQ$?*x+dXo)QT$;ah*+tjlxvdBJ~+t51rt#h#(~IhOc^pC0Bn zH=bc@x@UfV$*l9I;!PFLu)BQJH_6q0qC9D?z9Yg@@rIb5pYO`(VRfad<_^9i6Fj0E1cM` zs5>FNx4`JA9+g|NNVof(E{Pj~%9n16*6*Ugi0FG4tR?Zmgm zRG8N~Q(WUiTu->mulD;YMqGDKaoJB?8%=S|>EgOl-GSkCCa*iyof+QiV0*g9qqsIy zcVL*#>kXxiVa|p8E1bBV(bL6vbEh*r)z$yRwIBZqC+-XIy)YG~K6n2S*8}R#7VmLU zzs^tj?)gAmzq!jJ?lY)6Vd7pG<*WWC?mMVEWCqqgvC~&Gh6<|@ufl3Xiu)Am&YJkP zIt@*`)@s+ zVLhD|RV5-nE$R;QJ__HMROM0QhrOKlzEq0Z4|`u1#eSAwi&vFTq*>QfaSf+RLmlkD zs`L!=+MnNNs`9Z+V6UIC0-7)3u(9-X#87?WLz#>n-m0%tmR16Zd4?Re}I0O9g zONAiAAMfvws&EyK+v_MP*E;1H*S8C1o6NJUM0l1t1*&gyL`eVJ4|naxV0Rvi9X7wP z?t-xTu9AG>e2zi0rX^?N$11~n^pctRz8T*^;`?R+AV!PtpJz%reBayM|A(e#W#KoG z`%lm5XG(B~#a&&zXW0)bW~YwDSB3a?hYoQu_yKhhA3HsBmRuMRFVCG2%s6_3g;RNW z&WHHHTxbCVR!2LSkrgz8N5#m?a+&yNwc3_qHxF7J&C%*gQx3QF= z>*5Ta0oi)2C=I`3(PQzg5_GHmE&Xb46MlYm<{s~!aa^hS#`7ffYk{VL@W;x>8I#{$ zvz(kw`2Dr+yzx^m-%1x}2e`Sdyqq0GtrqMQy}s6qB^-c!S8Gg?8+7X0dlS0-ZSqEyZhx1cuG zd6Id=89MBzoQ2sMJU@pP=6u3aAKcE$%kokt_Y2kWi8+g3C%K(f7EkivcZ2Lvx-@Tm z>@7T#!rM5s^7HDM*BPv#=-tf6FF$5Mlju|KQdPDG_ukxLQI6V&k>9F^D~=tpY`fV$ z@Uw+@r-fsPd8)IYSZBo9B|OtaIcpiX!tz@{eO~oeR`Fd2$Ci72w#riWV&4&ERaz_8 zo!33=DXfWdR(a%c%TjmMyvbs@)D?`kbn%szIDtp>0DUgC>gAqTjE6+mb)Yw!@U8?` zd+s&amhPIc3>?4QIfyaBHJn$4thK(9TgSher}a76a~~wE#SzM@ba6_Gh*RslDhKc4 zu`jB<3QNoNRxbnZtnphmo-g7}CMB~kao?!tQ~MZR%ji29+Jjd()GYd_yS{3@xW+S1i(jPi7s>cI$ zy%$J7ZM9wVm%-0BO{mL%tMIc7q0-N?jgx-L&w-zBvatO5(ogpm$r`7{88{L z`4cpMHvD`tMjPe9&${tFmVEg6G?n!%f&Y5h4~}Z_XSMj?oqYc}&U^+*Tc~->ltlW;sG@_nT94Hy=0m6WZ^& z7t7y+FMfJelg<;L{Lb8uYrh9yJZyR1?V&?fI9_@y_ve=*PB2~nJ^5n!d-RS$OS_w0*5o;1Em`-|2)3Mc%w=dq-p%>1pBX370d zX>n{ApW36}3Mb^c|EhR_?)rGft57%}dB7=D z=U!Lb?q|lk@%IlOd#A;{S2_DG=$sPxa6rlEg;!0^eXnE5zN;QRT4(ZE$8V1Z-?nmH zE9X@&%{hAVmXpN+{kjxq+;W4cpDD}wr@Uc7-Fc1+e;W}NQSVyR=d;&VjJ@AcFZ|DQ zfm0&-8o7^twjpz=A>XkIKL<79 ziVKmR{LXKGJneA&vf$^WUI9q|Y5c{lpLHCG+v8~aRx6~xTPN?@=N)%{RJwEQzDxQV z&TU~my1(FPA9d)=kz0^I|C7uMLJA$TV_yup{}jRrKc8s7{3XZ!(W5SQl%aejsefJA z@)gG;lNS5uesML@cjR9FaFOHGGfBJGZ|{ooetUCPz1JKo=dZeK&$iZ(H)P42DX%+j znU>$|c-?l$Up}nSCmS7i#0=Z@m4W&=J6u}S;|<4EV<+{@{J9tMKO6VjBX2t19X7ke z%}qM@HOjuN)9Jg-jt@TQa!2RA-$xqx8C#3`Z*hD(bjhivUv-53$uHGgQtWtk&g-k6 zdEg5CkXhu8C#RM;2L5sE$0ZB8)1K?EZM@a7q2kUD2HtmZU!yd;rDNk($NuvV|Jx@Xzj;UChqTAJKRUd>-7zBV>;41mUHTf~fz4(m?Qn#(e*TpcpCiBVYumOb zcQ~3SUK@7dPY#6hTCHC4j-&MPN6&^X{Q>KGNX9t(yN=y)&ZGi+U+8Oh{*j`09XonF zm=@}X`sIH(akXQoW94P{+`aW3dtaksOi+_uI~||r?^#v!CG1uD%}<|?f6wt%+4)=Q z*gK#+`>t#M?RyS;hm#pidZ2$e>)yX++WU^%Z@hBT`tN%n|HvJ$8y`5bp2yLkr=c(N z_jzA0`oJ+WKj+fR&cj~LE^mBUf0tw4TcdZk{DAh$*uUbzU5=USzg{}%wI+Ryyyl62 zUa;HI=+O-i9_iV(uVMRZ-T0Ne9a$L%HeYrt%9n84$iA&Ubd*2b``pL(IMNIZ>8U3-~k}=)xDRpc(RXqQ2BFeXM@1`gnWv}D$31OGaJ&FE5 zZhiPIukLl+w(xw?wR>QXjlEkQso3lIyh+eyUB+GB*NE;vyh*2hj^Ep_39;SQ67nus zo0PQA(X35Sm$rq?`WgoZl+0MR&oTGvr`D%mb0zw3quEp=KP_sELVgTmb4dPh51_!nfwZKZxUgJ zv2{gQq5ZjoCcnb6(ITuc&%u)>JPMOdLNON13>4i;gBC7ncA;W9&n z6_yoYK7do0J6(ho+OH5{g(c-5n*0hAR*JAf;|38{n0KKFD-8c+x0zpI$zvj{Fm}8M zD=cd(!U_|<+-2rhSg}Tg6=qHqVTDFl5muP{+XrTTg+_@8yO74Hb^py4$TfGgtRZ%{ zN1r{g>8^=0UTW+VRX%^dvGccH1A>;d`Sp>%%$|a=;ixNqd_=I|*wlX41ln%s9$m_`MT#DoNs!*{dtEd0r$6cKy}T`zVTPq!{4Ri zuW${=du4G(2aREZ=Kp8CE$(P!%e=6Wt+BZY=Lxd4uGRvz7O1sAtpz+RP|?U1aI%pt zZe1f=On~@~PrSY6!S(;kz{pWiqr%$G`Tg?)M$D!yKVBUDL0dc5y8*o?q@>QCkeHm> zV*-A;D|K2HzCO&FkTfejBW1$G3Cevkm^vwn2Ce5(w>f%nA0pKFoNaxax} z%O#Re<r#-*NUcC>oRjqHN|7drQx<>vHt^F%MwxB=UZOy!a zAiIoGiP6OG7&OVjpc}%hq(!&J96} zWZY(84C`dkSCy@i)s)G$qSMQu>k+Bq@0o`h+0JNXU@UDJbXM3P7^vnv@_MtSHNTLI z_P{(AC*`O(%1)DU*_v$fdXsIU|Smdxgl$9ytb1eCpUQ>SZu-w)%GQPuOjcmI#oz%rL zmC3l%Kx^5V$J-pC%b{%LqQM`2&TSv+;5dnraS1?gdYGSiy^RxH9{H5Z0RM7L7vrg~ zP{wVPNIsQEx1Tky;#r11ciJMCHV8N``#wTmnA8UTWf!|aDe+$EHQ^uS9U&ciMb@}A? zW*@5zB|i#v&9=yAA6g{i)&RZPi20e#e=5`6+|$ zDER&BxXaHt$_|!s9e_$UdA-TD=BEt0LhvV8WV7DcGHxMdYx2qOtuI++n8Nwz@kX{1 zFY@=xxN?hp@_UnSm7(N^fZtx%(>5%BPZ<{l)XPtPZ}P1&l>Aum=X#O9RK~3V>T?nK zy~(%AQ1WxYUuKcd{HIl%zq@V8>#c3A`IYQ7;EzOp6(-U)u`(_JsF$7m-pX#3q2%oZ z|8h;f8drrfZadJro-vQNaiz;q@`)ATH|n|Tpmem5aUnpf4(9QuLzkoL2!5iGEyatD z92vLRiw@@TrbCyb>zD`rofaLOQ;*8HGeB>3p$z8rHmB0(}Qx^#KEu5$3_d(l-S<4UX1#k}5h>GE`4!B67)r$Oa<*=1ZLu&TWc^Lo>z%hPp5 zfrIy~PuG0=@Mu$}sav zVfx-$mnV}=$c3&$8i~V){742@uowUqw9!$ zs*x=s$kS%^!4Mn4dPL)9t3q%mt6Pd9Fy)%lzzjl(kdFSErZ!$`wHV zSxpw@unxAyqF&*^>SQs$w>s!Dl`i5z@MlQb46AbI%DCk~Z)0EO^=1oQ9{H4WuEhAa z=wkj8Dy~W8e#SiB`hYG+$tSXXtZl*g0?3JjeER9sypSg2=6TW0Jl=Hca)dPTHz*(1 zzg~3gl5u5TbTE%M9l9J{M^Es#Yg)M;;W91?XdSD}<4uPyN7pe9{J9n#>{Cl+Tp_T^ zxd(Z@^$A^`t}7S(CoHu#n8#avbUC_?@$D3`#Ay+Sp8pBaCzB;{nzU7dgqsgKi z)?u-XTMw*G7V~?ngDz9ow-fxwE&7=Mtc(k8R`uM&yxwe~%hPp*ug3U?JQb(n{HhWWh=K4{5_j{){nM~mT@V- zs>Uqydb6c2Pw63+fj{4(i}{OW+)kj?mdxX=KDr!TNA%MuQwz`fP)D$g3k6zrFpoDK zx*T1{dhn-Nbg;kAlX1&|C7`PI3(W7Wzw0s&vK~^YzNaYH^fFnE*)uY}I=xby31=Zc zw56w=SO=$!O8{0Ui}}6PL6@oP3t59PY0=00g)(jzu&Vt6^Ln#|E>G8$2mXLoo^@mX zb}}v;Xzc^cIi~Qd1Pg!Ls`A+ahLWT+xnLk#>O#rIrJ*bze{$l=l`??zT8pQu)kB+$PB|w8}4tEMEDz9p9(bmRt6gV zKnp-yL4Nsxh7*(nDgYe>bzK!`%maM`id>B}Pyy&XDB|fr<9SdS$hIcXhz8|=3P5Eb z+cS^{$^_+uNktMl0+oX7>meJI2Py#>FF*z;2UGw$35weQKj<@%|BHb}N6;|P zT+mw3`=C>xD+>dSF`zp^FM)mmjeIH4SPuFG6!cN4=5e95!AFe(3l8%3v>!}NlBnF95f%a3v}7m zKw~DT7<3AB$=iX(6woeE*tS690nlF1Sy0#QfyOM*qdNkPAKnQx#=jeA+yZ(Mv>S9D zWZxNRB!XTCg}oPOJO!%vKKMYJK!-tfKR_8lS)g^GFF_aX3N%K6?gwoH{R!%^8)48M zP=gNx4F_lr=ta;sp!RzZ2E7UT8gxM^#s+8-=poQspyQwm_XZj_fmVW!fiBw@XrzKx zf)0S}AEC^k)u7Knf%^lEo}hTpeV|uCWuQhM2O7OViJ*m`ouI%^(5|3VP!Xunfk5L1 z&;y`1KsygY)*-YLXbq^rVe~=J-JmU?Z$T}Npl+aA#r1EyPM+67)fRukPkY!v7WW84c z0WRmOt^U*bXp6k(18poP?Xd82x1C*;g@4^^B2{??`!=j*S22RI2g!$Y>%Lj z>dT|bl)uJZrsx{-_*$mFn~!zO-{3B1MGfUN`CoAJ+dEfp3t!7ixe2S>a&u~s>!gvT zTN>nNju-X^whyrY`6)AZU0|iL&oXg5?E(*ZH(GS5euX5{`C5m+n~&vpYJF(&6@QPd z|0l}X2YrafvIA+q5Fp#4hwNLNw|ZV#efhy+j^$GHFV_8->}Qmd>qA~A1xWX6OTS9( zuF_aO(q_n{Ehv8%{ERzl(Ze|9$jf=x8CrEcSnfjfW0i;bcggU6Ap70tTDq@oLAm*> z-Q#0fHD#b~@@H!NJ8R(gwH*Ijd`?zMy3a}svv0B8)VjMYOpNz%tOKlj1W>h|LYAHV za5H!rR{)eEO;CI)j&kgp4THLP@+&@-ASEn3vv{~{reWnw*I;HR7k79C19MLYRN zx~$`d*_T*<)`@(}r9Af0aw%`U7kOsAo)vZq0Wxp6M0ibEMBOn@rZ(>fcdgzQ{}cU$ z_1avGUY60&#un?0*w*~Y0s_XCOW7!Lz za?cy3HI$Y7nJeA=Mz`wg=4*LPx!PJb?r)TvukHN`Ymm!wlxTa)G9UOWu=iuWGuj@| z*1dYWu+5n#9J+`RK=vD_#AsOtj@=j^WfjW3%tjz(l}OwPWIIsSG9P7?YBnpcA&*%P zTx(DV^|t6yecj1lf%<{f_*2%mg)BS6s;p5p$YFjb|426@u;w{64>BpAb80^PEN`Jj z595?G>!$Vh3Jb5|Q+dp~Y5ew{KG;GVf3ZIB7i#izYv5=3Mz=RiTW^=VtowfWPiuMk z{UUi;eqs=)9!`U!pU(bp<@C4-?)2}k6aJ8^1Rv+(DEL!A3qe+W{6>j#mA)46AL!zi z$8Wu?={P&bRUUqCW=%ie!=3)ZCBnZ^mWOrT3BO)vepji>V4ahCyJc){E&OLS89}|= zGMJg)5m{yYF~Tk5?hAz9iG1YadJqSHwkC)1{HBMf?7^~J+}|yS-xOKXZyV%J54}+M z3p72Oz3Ab$JytoNYjtimSjef+a zta3{FxaAl(3V*JY!*GbpPn z$No;|D<9i=`HSv3Gde=lK}d1`)#sHN8h?%t{2$0`u8-t37HwBhLq2L|*#>F4%4^8; z&(!(Dm)v!Zyr$+l{|>_|F-ei)07&o#=tZ`F-EDy^b(!2UPGduG>Tj;h^N)34^oBeNNHGGu$<13=9zXI8> z&Pl9~@-e-MEUzlVL}_#K9#jX&B4{w63d>&o)v_`rXg#$VtA z|7#lmK_B=BY5W0^HP?4B`Z8^`RE`1mhlm>Tk)O8u82y3xDUkL5O5zW)pRkW+`zWic z987T}>T6ZzS3Zqej4lYGs+@ZSNxR)}A$@$<|V zI=viAwR9CPxV-;W_Od&wZf7N@Dy+_4KkO9t`VClBeidJxz0M;)?G>oiuR42OAnkRb z#_!Eumucy$9NsM@V##ywNA5W*)LFINn1lR%HoN&J_`u&-<6rCp|MhRVsNDqJ8S$gHSn|lRcG&ib`R#%ggyGTpT{%7=HFDlmgF2qr;z30TzLZJ z=3E}$-?P5tV?2rdp5dcf9aY>eEeScc(y#Mm7RWZB{+PLlD{fhrIA-`(vlLrgWYnTP!6HU4=%@L&C* zTmE_<_@`_9M}6S`T;mUls@gWH{H;-c+LE@3^nw3bO@4+C{Hfc8eWwDchkb8(4f#~r z)}p`B#4iC^zD*Lh%YMkde$Yo*Y1@RXEFfjwD)DZh8aEvVR&Os=u5laPHp{Fb56hpW z_3L~e_(x;hFyBpb{Lp5lHRMxed;Lw3w;0HJzAJGLP}MVNkZ<*TOs;z?ft2;E#20}| z);J$!ZP0ACriMJM`-C^#Hs0?8{~6erHmI{zl=VU&VI9$^>$K-bQi?cskH8^ zG}?m{3z?M9HcEh>ahVo9j8l$f^55jHTcL$l@u@uI--b1n@w;I zIR|XE=uqF+ zEOj%ibm!C{N69*%wZrxr@=*87T05NffqyyH0qR;S*99WW$iC5GX!UhvJ}3W3ciM+_ zAq_HBTjsz|TQ9QcvD*K>Qc)(x@3inL-6{`l&{N|-;{$)0#vd}Q`Z`noXWHIyoDck` zpJ^EPr$j{A^oZe=M(tk2Xxk^#O4T zkaDvm-YVno1gf?r-w|yc+EtBg<{^LcUG6?})(8IUHU7}pnr(8Y#y`Oa{!<$NVjuXg zMEz+?+Gev4{BLUVPx!#!US5A(u3dk$8&Q3|m2C&g>yKD@-7!vLvUdG3&PQ1dFgDm; z&E$1QTZtXznBhFV#z$FU+B{uRLmuiJs9k^9M^;~V@;8^)9~WxZAF(y$Q#MPK*B|Nf zx?_gKx!U!|VjpGolh+@E<#ophiQ~2FkAptSx>K`Rhfy`#pqsY7#QDI#N?w1g1F|n~ z2hx@dvwyRF7uFz$Hgxijbf1r`dCyP^nQEOWgP*!9EP5EH9Lsb_vqgAZ&9+FF*B@E( z`h!TFTssqL$WOi0*+9GgSW`nD@_(ew-TQsupQ~Me_>Zo+PPc2D! z$m@>`8U7Xgy#6>R<-qH5)c3Jw(?!*kjhV>bO}qZs=mY;yc?~gIyM{PkLq4Uek<8m% z%iCdW)%H^rqpfL^h1Kw~E_-k+|?GO~Z<)sUaMo%|!+G9RwB_CqG+vtO3O&$6Gk=u!2dSk@_CyB6ws zW6d@Q)c8|;;D1%)U+M$@E84Zzb|3iPllw-qu0HU0)y7hX2{qUETiIrmALj%AV{)%Z z{)Im9-=&qO$Or!U+J2zi2mTfE9T%3T#Z5KWx3MNa$_M_BHTl^-@DJ4Fuc?8beHq2B z(&_60-&3^TTy_1}*D0tfKy!x7*`v5u>Ph12(zAx~Q#^2QB z^5lC$OP9$WKv~axEauu5feaJX9J0Tf`YJ)pbMaA;hkYP8zG@pW5BWdQ_NdW5@Sm4u zqWl~m`2F^~%TwS3f7mB({)0a74?67T4@juFzPD-o5jF7B_S|zWu7-~`{PTclw@)P= zmv{=uzIM?;fh7_nfZSi*Aj9*3+;cu9!y!QSwQwN7!%<(TX4A9Pl#Ln5f1_s8(8QW; zwC0HDf9rv2jhRqGKBX&3=AEqNUFJhx>Y+`}RKv@4scZ*EMfYuZkyf%#iXRPuVpee#RAAbTCdi$|*w| zGW;EoX?4-J7|$?evCb718RVz4%6dVwMPzc#wzya7epu>W52S8}mF|ohS!t>;ajm4`Msrp;L=eBi%Ylix12`Z`noYnuERANXIEHZ|+&1OGv-&DZbbhMX3vZKls&YY zc*nh5mWTcI4E*}H4&>w6e?+z$k?Ye=`K^O0$3d-}bziG%YXu^&N-x#Y8NckfNWTd< zN&0pELJR+$p9ubgAJ?^g0U|G*lCSHxAFFHY0IDiIZhu|dO(3Q_`A53P57a!59-QPJ zd&l8te>?+JGKgv%(XYyPSUTpm)@R?@0iiRrrNqE z{EVYhaaR7^sc!zo@C)v$`R{tg&Ho_$HSx!;6FgPvZ}&{~>9cD{pSz~|{97&Q*7j*t z>Y3k~-gCcay48NqAF4jR%ctBVOS(1xfqvEJZ_vjx-I~83&NJOw|D8-*~25$M3qY zMLO#;U-PT}YL$2HM^Aay^5mTGOt-do)9*aft@7747klce^p9#?efq-S>eDy2t3G|k zMb)RDkE}jD$yt5+$??^vKXgO&>AfdZpT4Gs^w_c0=ih2cxAynU1ke0>`nNL!ZD&F3 zOSP`n0<{*XwLq-}YAsM}fm#dvH&|fxm%T=_9?j-9a@{xPy^H{agFrUWOHQ0m0mSJF z$*J)Zle4;{WMmleBgYKP$xfY?l|Fr%vs-th*1B2?{5M$um+j{{7S!|D0n;<*&P<<_ zmTeD7?riUN%{AS_x`&7Nv?tBA$95Ug#U7iHIBQbs%ustqdNRgEY6?@L(x*+CHFZwn z%+yeOOm<2ad%u_%`^dr9MaPY@j~qB^AVyJC7w=Z1ex~U676oVS?VdSGJi>m4HQngp z$)9_TXV~ax37f&ndKq2ep{sKEj4NH_xANyjdg^js>lyCu^bEU0zLn>HOn>f6ZHl9Y zeeHacC7QL&eP33U&{{s#ek$FL=R?Y`BlGbae%=En@t!=9&)WEHI^Rj)vwuFfnI3oKg(>PPBG|FXOBHtIFTwcsF?g9|Ml_xR&5)k9BlHq4m1Sb z6_Dj!1ERiXLF9WK#PWRzV)_9P(}Q6Y+J{8D{N0YjmlU!PzmHj1GuIsSfMS`55C{QeD0w@JU{tQqyXdY-GC=aw8Q~)XhZ3Jxw?F5y9SZ2Bt@Sg$s z-`&t=1GNK%fO>+Qpjc1>C>yjGv<6fJ+66iYDhE}7&VmB&L0v$0P$(z@6a|U}O#o$r z7J-(5$X@^~0+oPDLB~O7K`j;`Kd2`t5)=no2wDzenc2@&`4uu=_cN^A^1D3y?Y|pV za`o{LoP~O2H?-wjbSYk9z&-eFuO*&k(bNB5`>pFiuFr)Pp=j-GGxt=Tp+JTFJoOc%kITtSlwgfH*a!ptR>kZZtpU~Awm;HAL*z{`LKfgONHfgOQmz)ry9K)}D^a&1wrKAmfXyZkO$xtSua z;%Bihiyal`O8Zwlu~GkCe*1m+Ej3V0y4fofkM37-3jON%2XMTssf%{MW9}Vnf4a4w z3taV#zy&MI&eG?+E!V^X@Na$k@Y8mYTkv$Ed}quXt&WR+O{$p~AOP6)DB>HbMY z|Jm$`Ny#ax6DOsmPo9!7b=vgI88fr8XU(3IGxruz?tc9TL=7BtUG(4~*T)PUHavF3 z$Wd{l$BZ2}{)YeTdi~p_tFn8@v0G*Lu>aet|04v{c8vdsX84;6!L{UK$m|W`wci}j zqo5+tN1&4+ZXCOUhJrFcDo-Dzan$F49s|7!+7CJfx&VCPpkbh?psHNP^hw>YOuL)| z8yU*?+#k7;Ydt<%pk1WcLv?ZV8#8m(wCwb$sqv{ZXHK8#%*sx2I$ct9zSNxL)XZ$& z3a*-GVq$v6teL6K^yyjgNr_ph7FI)-mo+ylJ9Vm8wH|!&qpD`qAiox zth_WYXXe?nrv1lf+5344Vki1R8TbiPu6HckepLk zSUfeS9J@_Rl~ez)^n11AAh~T1V;A`I3I8{)5ngO>w(?hAX7}??8A+|C{Eu$7`!UnP zLsG*vD*Q8F96x1vY5A0*yz{2y<`w3Z?|JBM=Nmt@d~QkJA1~SNzN4dd`omuLAc{43 zYkA)E;?lW$?%QtHn=oZmUQu2t4)}U%qmY!W7pfx zf%#1-D9#p0|1lK5;RWy~0wEw{F_Z`Nv$hO-ZwEHmyMYD4X3plQH z`mC9GMSH}(@bbGKOCH_1hD)AQ!+<%GMRZ%Rh-)Pk8Md$s!AkDFSY zn>Tg#UL2_1eZ=fyI(`(|MO(!E%k83VHmPZ8~SZ9=7wEvD3CY zd1&NqfA*Zq&g+c&H-kh8~e#YK5@|2$rfkHFX7 zz!LYi+qt-xo$)DJzr6*hzi$0vF>2@X?_B0~^O;&)Scske!7|#tK^glhX*#7AD>mOOz|HQJkn}2kj z|A}R7cb%Pn5c>Dt+~EJ%zhk}@+l=-ht=(L9`oNxtwcD?@Xpy?-L4WY?-|hdeja=>R zA$FZ`qyEYjYrupo?CJ_fIEzOx55yQfW9kkz?_Q(Gx z8d2IQIWzN40lMzxnxUSu+gp3gwWQsfyI;Gc{Yl%|e)RTOK=rJ$-A}*g`Ev^PxOQZ8 z`~LcWdIhRJ>LJ|4c!Kd3<15CmjQzLt5DsUIWK3Y3#W;sChjBThig7RFF~%#5W=1Qc z`^P?9M6y$X^c!pHlv)efU%gdoUxX%k+GH0 z%INrM51}{X7>3D6XG~(8!>D8|W-Mc@V60_qU~Fc5%MiBq5DsJ<&q!lTVB|CAF)n8; zWjx4uk?}6$6UGmW?w_$HjKPd_#@UPt#$v|*%|9DA{eHdL@Y>D4|GfJ=_U-NezP)|9 z^TdMOyy0YlamAx&6_ytan_HeI9Nl3=5gOd^(t`2=1fsEdkya!K%Q|J`<;>3e!|R

77n2OUpZZ)^ysXGnou4BV5vXd{KTh+1wF3i%HyIxD~?iaP9x?+fT%1ms46ktK>xB z%0yu%=MQg{+bk{}$?8*f+IgKpai`A8E1jE({#aZ(GpA^3UbJXjrh9mv;j>ChnNHiM zPs|ne-|f|L`D|q_FA68`w)j^oX$K{pIEGWWYcD^Ls)*;;fjDoXEb4uq5cX!Gt&dF{2X~Z1%Vj^>4 znXsf8dAXUh%JOlD(z(&BgmJsSH?oj7W3LbC#Dq&?=J!yC@V+y{r4#h%_0#fV?;I4) zFpasefirVL>-{l&CA7I+uPhRV7tbuAzkO_E9~`r|Q^xSoIVHP(9v9trRAz{6k5JD3 zVBH0|sIe3ugdO1#j?F+2=ED2Kx3;rYgl7#+^>r%q#Ll|#oPe~GQ>P(k?lkFRpKb$j!+ z5p#sCZJxe!1hsbooSBK4-HZ8A|=+PWo z`?l4XC>$Hkc|_6dg3{umu;LJ#YPe&!M)te6x4sOowc8sLa!Lzw&Mst?zWO)sOcb7O zyO(e>6NQsUoOa5H3`LF}N!mTZ@B9D071*}|f5i$^{uL+LcaD84@V{*ZwzvIW`TuS6 z-Z$U>i52J=JvW!cBM#y731;l^wcRe%A$lGL09Co$i~P4k^!!u)US97O_lFmwcTZvQpY%iie&oLYg)5NOQRVLm!dPJne~;j~#j(PP!WiKcem;@E zNAmyh&p+e7=DC4zVR_JCw|@hE3ZKtmJO1zt+cFOC!1>B~s zEdSYOkLM}W4niiMC>C;sS)8+cuX7IPpBi0f&tuzP?a$^pQs~3AhH;f}MRQq)H149D z`3l^R$h~OXUAUfu_*r6=BtfSOS&RObcs=$!K^n(*VCQp~_0E<1eRufXWYNx!xHi$f6@)+%q&czXDR%)18;ydSR9a)7s^Gb8s32M<3q{8rTZ$M7jiAA%EXXKR* zNSakJbZV%ycmt;86qe-;@ZBN1&b{Y{cb$K?BmQu8cgP-db%*S_X+G`_*}0y6xHJ3y z>|25V!4;?%gbYsquChh>UWro=QU|C5)$!_C>Qr@!QDfY1JZ?N=ykNX+ylreTE;WC! zJ2|tROPwE_PVQ{?Quhb9lQ-MD)O#dY7YGf4P{X<6q%Lxztje}LQ9et~l?&wayK`)+_HQpDL;92(Fi>exhzyduxYkhURN&+KJjktzLUrdscf> z%hF4Y%Z(+*8fNk$vnV(JW_Ga-wrp#tm1DhSZMAyZ2ib${SL_!1F6R;FU1yW?n={>A z?AQA1{Ru&Ca9Qv}nCO~#o|=EUiYJJ&Xo=Is1!8aMYUwU%mGpu1wEVifS^h!pqLe7- zD>o{)E4k`F)J9@2AW9LcLi(#BhupqujXKc;5Kd=wcpZPBY8Q zM)MQ1ujN>k)*|Z>YppfX9&dMWdOIgL6P!F}i?i5W=05Cx?#6pZd6T@$y=w0v?|JVn zubY34zu3RiU+s?!#s<@a(%`LNOCU50!gA)@N$e{gBc3jni`RU+plhMf*V;uAiuH*E<@g8&ixAjZcir?IreoSkxAGv)?x; z4$cd%4Q>o>56_X=A^L8KA>zqmfq13(u=tL+N`6cJME3MC`YrmS<_qQq^E)%e+RyH5 zA8DUpYxb#lc7^k>^SJYg^Of_fqqyf_1(&#Yxee|*cZ1vFZpU&D_0qgj?|ScX?{#mJ zcZ2_s{|~(E8~<1T$Y5A7HJBg#J$NqoG@L_r2Vo2U#EZv?Cy6t~<>FIV#}|N`KGN}0 zAdQoXr8}j!r5TCaM;)$)tF}a4rmj<8C$4nVQnXBMl2)w! z%UEM=uuim3x9_qaw12e|oZ}qbIoUbKDRD1$uXk^DA95SrP41WOx31=`@-})W_}BV3 z`nURZ{Vnn5m*G8@bcmks>LwmV;k>igY|U%Z2eq)j((B;vi`k( zm@yHrc*i)@Jj3j6^}^yxoig`PFDLjWjAoTF8@Wtsl3!E$XdmgWG1U0p%yW`m*|pq} zMCH}q7tDT`U+G`z*Z3d!pRz|8!CAqqU`6m~@Jb+5br7<+g&pFL(wFiJ%022$+Cu$& z<8;%p4zmSM^ez7+KhvM)7y6g@SNlu-W&X?l$Nm?7pI}g+1SbXA!L;B?Z0_OUiQtXk zo#3-zd+=)@)No#S!G7Z5VzQ`+Y3%-FafW!VcnJ~rcKl(r_=LDY{9628jFS$O5~Tr> zBDvCNX{=NvT`pZK-6pM+o|RsbUL%TZl0K2PNv+aP(r;2%xhGNYQ27Y?Xug+7mQ6WT z9wDDBkCn5?G}Gi6^11R{`9gWVyimSQzEQqiu9feVACw=J|0zF99BPs`$nVP^$zRAV z-{ZQ`Uv)SesDvu6kGq1 z+}=S*jP~?EF+)64%q1H=DZVMbO9nk!8p!TlA>Ar1lQv3UvR85P7&%Wqht+>rUL!Zk zeU(9qtQ0C2DD&~%52LkG$@>}VWc6V8^pEg28JOuLE|c~je{ZPN^Ww0;`- z_Ex=CU#0)1_c0DN#u<4=p;1BJec#w@^fw2Ys+ne9YyRE5*W6-$Z|*RAS`)3AR;g8I z{gWKL-a3NVX4~atmxcCH^2@*Mj*jb$cE&lm&PwN5=S3&Z?c?@$2fF9EebFX|ihPxT*( z?Z+B}!4{*8GmPon)hzDyNWezrd^F;G>GuJ%VoMT>OUT#*I zx0v^tkC@MyubG?7ZRT%g59gW20L(s|PD((}?6($7+oJVYK3qPvP%)(dZ$qIA+O z(RBS`eWuZ9%(Wl4pS4%{KllQepo4%OBpjjKrW~eTtZq{?wa39vqx5U_H}u}dc<$_N zBau6}*?iCJPaeF@`p}Z?RC~Vtw*85HymNtbwezYoz?HDwN8BG>)0>O6{^GgVX%h&f zAXpjB9o0hQZ(aPS*hxA?s+J@Rjth zC%1QuzU#@CX3H1Io0J7wx<1OkD7ZYFPin{L`>Z|}uai$zDx6X7i|&2?BLRi+XpMiB zQsrXelSVeXS9wyIsy?aq)6cQ~;eO|KAh%8eZB<}x&w3wtgZ)(hbpP+<*Vp}CL1G{U zWkCfV`DXAz=#k{tjzT5>oD4RcCSD}IDt6EjArUt_7G>7dx$sCKbAbyQ5eX_4ikS8-;rLB*C_X?SAv#C8)a6Jo$I8! zNnV2ADfl)#cTGoO3I8;S4@%YYV`^7ze{BY_^G&gpw3D4ux61w5O$59C>?Qky{R{p3 zh$|fX)Ty^n0&wd3YPPodVqGmc9YhHGyYv)Nn9Lgt}>r6_qPVyBS7`f z*n^!h@SqYHMkR<{XpY%@rrbfa*=$Id^xy&6Y*|`tSh6GQcQ$U z>bdF_>O%E7qTUDUSE{9r!Q!sbZrAS89??4Jef9qO1bw<*q+h7Npns@u(GNF<7`idi zxX!rSr~}!Ck#2vYLj@?glXaM7Sd*`UzH z?OW}7dkrk`J^NdygL|qw*S*7i)?LrqcJqdKzPG^J=1ugM`0o(8&mgb8AKDYY=_-YP zM9~MGyeV!GQ@|eIpqaEk+S@JOQ#A4+; zlkkG+4_ zxYu*T`$+8+ai06cZ^R$O0U)AW5YSu7*W{pg)wiup){m^oCtfNzFcGf)X84)R*k_&; zUFma4mbc5DmEP)gYM@=Ajn*gW@0;J62UxQ8vvVqp=_7xB@N*z!$JT3rSPh~YsSmO) z#ee?JzWiqOgGZ?L(cYBs+$Ei&7^pDH=G~cgFV%=y_38=uf|*Mt@PgX-uJc;4PN!X^0)il!0fk!`-%GXorGL) z*lFS-@umn%-zPo*o_IBq>BK3TD&V#ILi~5s#oA!|QnAV`Z4x-D@ z_czLn6~;rxTg2xM=HX_!d5L+GS!=#wTGlY@Br6wtT4F7;9=D#gUbi;F)W*Qorr1{y zpO@g_Z`i-s-JFNrH{5Mx%wJr=i}T{KnTg&k@@AzsA1`0%Re{=;c$>Ygczg>8caon6 z3%bHz=vVpG{=@!<{sH9E{y|cZ9HayT12ItHb@PJ-!NQ;ltlJ5VToB5&C$%s2{fzm> zQsWLI&zfyr>fGo2!^uPMTI${D-RITA5Ld&3yZT4_1AWm~ebaZz+G&2ee?5_ADZH!J z?@neE10!&Q)F3U$gD*XW2Q~&x!TMlBurX*3^@65O5sn!ws-h{nVyZY!IS=1`Kz$Vz z=VSF~?NqJ8Xmxg=yUE@#w4qK>zR4AD6URw+OP?G4ETN@S^!<-xqpyRCi}J@Au#Tzl zju~pPS_T3*U%g1Zl-PVVp0G&0QN0CkxDyP1AH4J-^-=Y4@W?aj^Xf}n_YI==7ojgF z#YNv+@;3JKq4W_J^o8^_HuR(P3!JPIcGN@eB_AaBh36iDH64q3GDKEnLv~>H!{t#h zv@t}az)Ux@%ocFO&t`(v$2!y!QEzN8#dtKF5^I(S6b>li2lHV8JT;HoL*@ z>zK|k@OrUR?#y*=aF)Yv9&}!IHanj>+nlao_aoh7+%!~_DR7;u$<8a#EM9QmB%*xp zcJ%hgD*B;c*?yLPvws=P(i(zV(>+E>~Rts}Wg z0Uu=&f&Ye&KMi{QT(2W89!3sdX|1*v*|VH^u7oAL;KXR7zXO6W#w5Ha`n!v%3|k7C((7>dr&K8lJ7fWgL8d9cruFbaY8khOAyZz ze-R6$C!|&KyRw3c(hMdS)ok@Oc*S={oY}`b#x%@P>`tD!%zVc@+!}(mI>DN5m0Ne? zhhJJhTF1bm#@grLfgPP=oq=3CaHgUdoli`@#<>y3`Gw=S6Wm$eCD{H;aL7TyB=G8` zc-76p9l>(&I;v21T=bo$hhXJn#Hr$3u~NK3yhdCjeoE&0MeIz}8ijsXAuW;~l%ACO z$jR~o`DS^A{5YJwl^nH07L+(;AWCO0d9y@&Rg+-JU!#~DVWb&jjAYngHF&52#Cno- zo>gnTY`yLF_0ql5ynG_W)m|@l$MVPex&HYuxz|udx(7$#n-`;B{42^`u{m}^q39%a zlMI+`om56Xy^X6MuBb}3GF`a{EnvB_Qu#&cq|RZNmg7N>kX2s9Z+=ugZKyT^Y%m(X z9gl)oLkvv7il*!H^&9lHAl0tMez4gj_}+uYDDxWgF7rs%`~f)Ydg}wLGfeduEPWLg zezyOLzYPX(crYc>ZcuK(*l|J~|4bI=iA&K@Wa(U#lbfWs@XG!1xA7>YH_CU&PsXV-rCbT zz`EahiH!Ayl|Y8iv@fu~vB#hd&UP!^+la*PqAHwE)ZGkz?S%Cg_;dU>{EorN!J^;+ zvX)R47wOnN+4IGyfG@!CHhMbL8c=jm!EPJRk(wXMWcj`dr zo7^Kk(>vXp;idUgBOU7o{}%r)^t{LX@BFdoVFl>zbHX*PiHo>=0`Ye&THYOG(vH$m z=#)1|EAX9{V006Spx3F($Y*P{by}m=gm$xm%+{=>7^%hxquO}Rcpc6(-JE4!472@& zXm_Y}wDl-T#Cz5j>k#{Bkn0$`(7x8b#a?c|U~je$bdsHku-$6sAymloy(>^xZ$ovs zm;CZDI%@-L@FlN_Izcnp>_@NFKO{IZI5yJY&I;5+-zIq>+$ zP+VUX-v`xxF7A)&nv8E{Nd?k8=|1Tsc<5zvwOk{=EFY(2D6>KCY3dkt5*eTw#q=O8 z#8J=yO0A{V3hQ0#YpcI4 zv5zHq!2|XO_IGxYBRfJ;=jeNuRkYz$@J9x9k1Uu+u5u1K-E76T-n8Da-UsV`Y<)(| z`o?<4K9Bfx5%sDoSl?@%Mb267$L?p?>o??upWJ`Jxz~7O{fYh={uHcZx?t_J-GC7q)+zFn@;s?E!s+2OiZc8>D=JZXk;u5q4mfpMvE zrE#rsgRvZsevW$CE7;>(#=FJ`#QIM_qhA?Y%-PmYR;eAwstD*^eY|VDBorZ`sdL!# zBm5%w0Z-Q{Nvf^h4;B~!8h#x$ZVF6fyMB5IQfhe zDzu66;l%CZWs&-n3$9F;Pmx!`b57O{LFIbb;3E9i=KlP1mA(Sas?mJkJjS~XuMG7^ zAu0CWXL2vH?;zdR-?3Mq0foApAa;o`jvY38q;`qc<7e}5=a@**Ta3=qCDM2Hmkvgi z^rX|ZYt0+Y`(ekYdxHZ#$Oz6P2gT0un8G2lt!fqwReNEkyy0_?RA^dqO`&>cA)ykq5Jk!6V%>#P&%q+CVFoc+GaL6Dqk&B zC+S}qADC}~XEW`usJJz{P4LnU?ndfsTimT+*%tK1?e2~?JloSt@OpcRUVksiOGc^9 z@+N!PUM~5o&@1uEsa#cf=MYz8_g`wvHL`-qsPWuSP3(T|RaQ{R;ph4;(cZ+WC2?j? zvj9CO*DADHVIV)i$!6mpi_tWW_Y^M|rJv6<#MZEy%%UrS@(4J%+FVL3``S#iGOWcg zKA|ag?RnB>`Exm}*z_@k<}Q);^`d;0*=%m55_-7xy$iN&iOnHH%oN9oS=0iu(U0>{ z6iUSP=y~a&vRwaS@cB~zDZfi_U~ma{(pAW2Duu-11!6TE=TWf{grHOXT!FgvymTje z!_P3hUg}|LvUK(KwZBeewWig*SnWeMzRoA{=BsFtct zgRO7XYV}0pcq%m)8}}K1GnbgXs4z}KQ*L#JyRF`K4{gPd^W#z26MRAJ8rj+q`4rd@ zb4ZPy`#M{9);MF_Y3^n>)j!qG@y}&7uJiBkA7DLR^EX9x!2^i-QZO_)HOL9h1*=>K zrg{J-@mjDc%(0nW!*Y($fhcvPD2YSGQ^g!AE*DdieU_@*Ch%1ksfUyx9YGd24pnzN z2y3&nRq8BvmlMF7p|7S#b(CWHV)+Vr36+z2d9D05(Jc|oW5f1JP%W#`E$hkHZ=vH0 zYF}1gB5RCC<-Uq|cRyPGIuyq3s;-R%_f(({*J}4^|J0t--XK$M(LO`1`x))3N2CI! z;NKP=eiBv5GxTh|kP6rZ`XwN`MW`ILsCp0UPwCI;uj_B4?`sr`X`EoF z=qn?^d=sg~pF=FIFfKFxX52{M!g5em*tzgBvF`(8tMQHT6Y5`2vp1acSaXPJnZwMJ z%yH(KAl_mW^hz|&MJVWh2T?p^{u34bCG$=51M?$%rNHW9_p}eUo5e3S=8<4z#kuq>6F=BBPXqM={i!2`cCD!%G3At~el!#G_9psFnpVx~+^;{0 zdiJrt4b@gKx)}Xfjp0THYca#P$hgJO&6Byeg~Y#y&4a8|=REM_J$OMU_g2))L%dT# zMc;V8QU4j@Px4QOnO+yv2KT}pJ`TPLV@XNZNVD!L4nSX?BVLH+@R;}vS@0)uuw;TG zE|-?0?!HKEeuES!O{Qf(<*oBh^=mlKDk`LFf(AMSe&@QJvohv)57?{ivz(B-?~HOO z-at=81u;E0)FW%UMta*JSn2^(k4BJ3H-V}@B&wVYGs(7!!S)wfTd3xAr^Dh6r$!W;Epp<8y>WD_d5Rt ze?UM~CH{4d^5A>;%-7l<_p(9Pv&f{AVx-b2LhLZ$ATm_p)Cfey*u& zgmb?W_mlcl;SOU}rj#wsqN4d=gvLyU=eXJ4bblU-%|QAKvZ5>(AK|j0$`Io4XIdZqO#Nd04!uraqkpBJ zhS$G|?%&DoX7@r#u>iF|G;hNne?%d<3H|Vq;Bows%}I(Eded_qh$F4GXG!(KyG{$6pV_@dZ^ z)o&xy7Gt;9)5)+Dg{K#lb`NcEqC8p7mn+B*m&1ma!Y`N0|DYr18S3g^%HN_CcA)as zM>&dEW+)@L`_t*%D1$3k(XVkIaqVH)s7h7br$-}Q9Zk2=L~v4$It_+eqRxV)UIcay zb=qgqpf;;psUEb_FCl1Mw4U@bC2EILB|csgHC=PHVOlzMg&b`F~=+a>rFD^(*0+ zjZ|q`jPH$~jU%Zq4<}PhfNhqMCvK<4`V=bedMd2nm_L|@S;tv{HIfSJIYgv#w9DJz z@QSBNR(CtWKFUs^Lv1AWihR4+KHpvxshMlZDWBM1+CO2R2Rr@HxK5!a zJ%b&*7B+Yjb+$${uFtUB{oDiHzUVwdvDeexv#3j5>fYqmxOMJYa?dNUnGRlG?{Ff) zFd{*QcL6N&M(Bi9H)`Q$sX+%6<-A>1MLi zmkQfs_~JVEYxh@rkNS8=P|3N&``YUsVz|`!2&-Qx-Ul{(P3$KP zk%q!=7m<}7K|9(HO>&l8M_1qX@)gSC=zD|I6~@Ehf-k8q^)i!82^26EHam-sxGu2r zN%jo;Li={R(U#eX8=Yk^^5^iN-f-Rb-2J@)-ic_xcf)yGQIWzdGl_nH`Sixz=-)=f zz29HuKkh%{zX)o3$8VZgE=N{MZ6TTeJmSVSvTl+)eAQJn|*n(u{ck&RFD z&+DMI1bV@!AdVQBmCS53RgWY|*XfL}4R^<& zC2yn)%*ThG^A7M&BMZFbza4cyaUU)55k7eb?c{#YNsYP+-MpI?>S~g93Q?(mdgmM3 zhuT^CafXI6bSiAW9B#e>@A%D_hsIW8j)b9gi!jzD=F{dNDnsL}`POplA*+F2hN=x54Y;_wa?x*m_?k)k?2WQ}?NpHo#p_3s`(Uvyu#_Y9 zRJh4>Jn#Z?$gTQn>U?p=EaPITlC3C8LUy-E(^lb#Rn+93K*v4;-(E@#`k0td80`(5{1}evogLZo9hmoyJeI#c-$LL0mXr{Y#q8swi0y+_9 zMg1XNxuZ<)9`6}+z!0~~zT=OhwspI|g2?keoj2VgbdpcU^WEU@x4?Uw!1BKZLP@uX zkMtA|6ceMqyyHbt)KNNziRt1g@bXEp@@Zg!u#53RalUvJ_p%tqvJAy`1uXJ0v4I+6 zqxd?VdmluKVhfe#9Vn#n(*9AUF-bZG%|(V8_~7M}z`h}-Je%&_BB>nBu@b(p5KOUz zcv1_}tS3sZq3W@YomdazY>qnpzLmm0z6<1A=tQ1E5rvy zp{iRH@80kaqGNgy$d>nOx<$Pq2N7ehV!oe?L#1noucy$j^cWoLB)ay#RR*ANUZt*u zqYj{Qe+jkS&0vLL?CvsHW=G>Bc;qrPvyLcSXPejKm*1KL$nTec&Nf>IqTJq3m-1kG z>~5y^?1&-*MdENa||r^Zudi~FJn-%zwnMiXI(@T?G!k{;^1Yv zMTMqrQLXhTY;dkvOUC(GG^DxGwuDTRO@>}&VkYAa$ z7(JmMk>xxTg2U(vtO2=wYL29C^$7KWzY#qzu$WD*Pt-cO1Q6*>zEVf}Y&&=Rz=9y>xi zPUs%>+)$$wG&;CIVmVf8%muo~ZMps#2>+&ZqCY z8V*s5E**B?u0@Ysj~2TH9kvw>HV*x@x7r`YWFY*)MTZT0ZYQI^7J{lO$PEjz+@)%* zT1Tc{!+aXS5F6DkbSAdaeHsV5=uP)WGTpf<%tAFy(=}76C8nDh)Wjy6+2F){v(PM| zXJHO~NtNb&a{=l~n8$0)^v`ml zZMd8B;b04ixJ$(vykI#UnDxZm)v)IV)S`97-6py_Hbgt#BDR7ackFfNV|$(|rArya z-*Lp>Y^tgGQV9`w4pr64|H2-cB74|KEZ#zV3hkm*+74syiAETDMSnR7Wk0kN6J~v)f$eO6?*tDzS zxVwdBwzJURtus{af49)z?X!^z?|N#y8`0{wz|6MOIW1UmR=m~IO0arciB^9r$x60T zEYotWRQib1(f%_*s9E&lWz(sXZ_PoMssynvuohZX=om}Di#6yN_0}qsj5Sswof#?g zRg19JEO!AN=v8htoVDIv<<@w$bUM|w_0X)L%DEQpu#r0Fda&9?YMonl_3!Mdqxbd` z=~qwkld0pk@4Ct0d4+M*6DIrF)D-fmXOy6Z&G9Sf|C#SEXzKu4($<-?oGNfV$Z2&H z*Vm%*G}2qV-rwMFY>V>S+T#2UdYa>c_@HNy5cJ-ocL+aE?H*y#au`Kev)fs*TMD zMB=B3j+N@9(W#o@WYQ6n(m(K(TBXVBFtRCO1UiB13a zB5E48J`QWo#nQ{M^7&YJH8x(0eXqi{*HTSiPbGZ|mBv=|n>f8E9RU65vl~bjcJ(wp zLm#J4)^n*5lUcI_4fv>0Ur!hP78HqAeFr$Yr_tN!ZzLN7qdGwv z%J?{AvXKi;D5p{|9|TiPXICx#rmNsRYrzidjg35CxXoyVBZsxJ-e!L@*&Il>flDUH zpk6SUEKo=Ws37_;q|an2vA>SEzlNCKh(B$_m$spC>@ef-qu%&XvNh0B@u0ABHV)4T zYj5TF&3t^O8h@$9UsmBOYf*UDqxo&IwneqMIBE{P?f!PMJ&>+Smu}Y#dmOAa7X(_4 zoy|u(sir<&Yu82g)qr({w$*HJ#d5Y|HStaYHk0I}I3jkFip^wVFWFAMQ{v2VD(Q5t za+c8TyxgfrH*av(fsr;i&CXV*#o10}INnWg6Wt^{Sai)uE6v1$Tsqt(i#ldLHOx75;w+#~Z%Nee zSWg#S1K!_+=Qrc^EmY0~s%8mzdJ@t@aRgsxr!dU8h<%HygJfo zoABJ`2%BxkU*qxBM0)&E;6x_cQy^)G3~&=84G}(T zAyW%r$^@`k61YqRlZDwi6ICTU%FA=2oLmJys{xzUN6(F|Lx00Z>$^w1dMRsM%PI>E z-G$Ym>tc1wqYkG=;`bJMbat5W*jf^nW@2ZVSXn+cR*8iz!M^ITu65W}GnTd8ibIX; zkNT$atVM>Mg*}yEO$)H48Z2owaj1z1w3XN+5Oos4Ya%fxomi9Y6k<2?v6>q6h}Aq@ z)Z}c$T3WG{o>)pUcH%~gdbV4Lh0Mo3mWK0g?jF^JC;4Zg8B9Z|2={^;Y3VL3pk^7X zk(a1DsA9!D*2Pn^B0rsjF1rLDUDM{9JB;3DV&su#TZh8F6=fsNPNdf`ne`ZGi>!%>r-kbhuF8Taey@&Vb0hIO zjKsa$FlKXZw$jW3y-c#t7lL^Be zU4wetNC!X*+Ggk{10zq#Z1a$+C_jdIG4zU9Hf%)=3G<#C^_XTv*)AJz2>V)Ne$a&d zZ;Pxy%vFilemcw~wEDt`lT-xN5eHctb)as5cZ9z|d<*q}c(G?><002DvG9D@Mrhk1 zF0IDCYeAzS2Hmy`f5v0eA;$=y%B~f;%BEKvl!z`z7 zZ3CI5#n?_>5zH{NBuDHb%qQ6quPA{_geYxw8+!O63dgJi!Fke(e-9xb~u?A~iM~(<_MM8uqlJM{pM+Hyh zV$Bu!_W~!h<|Sl>b<`i4@$hZfaVx#Yy(27_h8<@{h;B0WTp0QJ@+kiA>}zSEnRbvHe6WUNzE<%m`VPgQ%+7@Khr>YHNg|;;96sL`*s> zvh_lc(^70b#7qtFBLgPkw2grpu(jVF9YR?y=kubkWt{Vl-H zR)gOX$PCF5TW=-yC*v^{c*?3M)`ys?3bbUl;h@Rb`9f@b9k#ul{FO}icvuO}jWSjv zIHtA@lZ4ip0N+T*8bj2v9Imhqmar9Ou-)&E4c34iLgXNbJ;Fzyg&0y$iIvS_9GQPI zd43gI%NE#lZy0n6d^rogoKGBF3OBAJ3N~O3t*GBP5u@bv<)b-2G_bZaEGg{WH47UJf0 z;O3?%x`jGP1#v9I!woRXRx=gMTf$Dx2ZO|eJ3=IzN(Ho>oe23*BTtxZL^0fM_a_Er zfKDrjJ|VUUaYcwJT=pe%7usAJ<;(TdWwyErbjO9?x==zdTn#*OJqixTqsi z#G%CH5(Vmb%3@MFxrS5&>UQS?65VxteUT zHd^Np=cMB~75|n`^dv91R98aoP#JO3HDJ8>-55eD>tDk9FDK@2AnFTk_&=FwpT*PT z^T90DAklSnE^epiB!=qK=tf)uldmI^Z=kvy4bc}PB9QANhD!87XV0Z)neVkP@j$4+fzr+P>DJYyFFtU@JO3l43GGI!6&J3{0c z<8}4q>9}ZzOc;MY&%P`HTdo6FZU9Cqz@x0!#3nh6vlWw&}Zx_)Z43uQ}28cvRy(>+qiKJR=`wGm}o) zg>-p^YH=g^Ylj*}wM?Q}B}zdU$HEwvKz2$6l`X(q*0TN~iCa zo@|j05?=u4TnEo&-Aj5zHLW-}rcl`<{OT7${DT%5M*f{Fsk}{JuR+Uhi1I)U*4kbr zT(`%w2{ByTLI&6#<@h)UwIemk4I%2C9OeIfazqK5ONaw1(Onjh zFRCImyp*g_%TB~H$4*?l4kaeU2^-j(X5v|Fe`5JWFyajp#E@m=lSisR$2A~^2D111 z|KHk4sItLUA;$df5B}Ls?IsO7TSES9j&f%%YHh3Pk`uRTnPj>3SW7aqC?t!m1Ci&V z<{M9S){{h5#_}2gc From 05f34e5d6a74a014a36c7a69d0f16bb3d58ccfd5 Mon Sep 17 00:00:00 2001 From: ulteq Date: Tue, 5 May 2015 22:21:29 +0200 Subject: [PATCH 061/217] Attempt to fix https://github.com/acemod/ACE3/issues/1025 --- addons/weather/functions/fnc_updateWind.sqf | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/addons/weather/functions/fnc_updateWind.sqf b/addons/weather/functions/fnc_updateWind.sqf index 06bb57d093..b362458fdb 100644 --- a/addons/weather/functions/fnc_updateWind.sqf +++ b/addons/weather/functions/fnc_updateWind.sqf @@ -13,11 +13,16 @@ if (!GVAR(syncWind)) exitWith { ACE_wind = wind }; +private ["_newWaves"]; + ACE_wind = [] call FUNC(getWind); setWind [ACE_wind select 0, ACE_wind select 1, true]; 2 setGusts 0; // Set waves: 0 when no wind, 1 when wind >= 16 m/s -1 setWaves (((vectorMagnitude ACE_wind) / 16.0) min 1.0); +_newWaves = ((vectorMagnitude ACE_wind) / 16.0) min 1.0; +if (abs(_newWaves - waves) > 0.1) then { + 1 setWaves _newWaves; +}; TRACE_3("Wind/ACE_wind/Deviation(m/s)",wind,ACE_wind,Round((vectorMagnitude (ACE_wind vectorDiff wind)) * 1000) / 1000); From 5f43cffecd105341fbbc470dd87bbc89dfa2828d Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Tue, 5 May 2015 20:35:08 -0500 Subject: [PATCH 062/217] Sort for mag repack --- addons/magazinerepack/functions/fnc_simulateRepackEvents.sqf | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/addons/magazinerepack/functions/fnc_simulateRepackEvents.sqf b/addons/magazinerepack/functions/fnc_simulateRepackEvents.sqf index 4ef69044da..67c5c4630b 100644 --- a/addons/magazinerepack/functions/fnc_simulateRepackEvents.sqf +++ b/addons/magazinerepack/functions/fnc_simulateRepackEvents.sqf @@ -24,7 +24,8 @@ private ["_newMagFnc", "_time", "_events", "_swapAmmoFnc", "_ammoSwaped", "_lowI PARAMS_3(_fullMagazineCount,_arrayOfAmmoCounts,_isBelt); // Sort Ascending - Don't modify original -_arrayOfAmmoCounts = (+_arrayOfAmmoCounts) call BIS_fnc_sortNum; +_arrayOfAmmoCounts = +_arrayOfAmmoCounts; +_arrayOfAmmoCounts sort true; _newMagFnc = { _time = _time + GVAR(TimePerMagazine); From 1041d68b063692af265e779b3feaf335563fa6f4 Mon Sep 17 00:00:00 2001 From: bux578 Date: Wed, 6 May 2015 14:13:26 +0200 Subject: [PATCH 063/217] sync "getting-started" from gh pages --- documentation/user/getting-started.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/documentation/user/getting-started.md b/documentation/user/getting-started.md index 5c5bac9e66..baed16588b 100644 --- a/documentation/user/getting-started.md +++ b/documentation/user/getting-started.md @@ -43,46 +43,46 @@ The Vector 21 rangefinder has the following usage modes: 9. Fall of shot #### 1. Slope distance -Measuring Slope distance +Measuring Slope distance Press and hold the "Distance" key until the red pointing circle appears. Sight the circle on the object and release the key. #### 2. Azimuth -Measuring Azimuth +Measuring Azimuth Press and hold the "Azimuth" key until the red pointing circle appears. Sight the circle on the object and release the key. #### 3. Slope distance and Azimuth -Measuring Slope distance and Azimuth +Measuring Slope distance and Azimuth Press and hold both the "Distance" and "Azimuth" key until the red pointing circle appears. Sight the circle on the object and release both keys. #### 4. Horizontal distance and height difference -Measuring Horizontal distance and height difference +Measuring Horizontal distance and height difference Tap the "Distance" key once then press and hold it until the red pointing circle appears. Sight the circle on the object and release the key. #### 5. Azimuth and Inclination -Measuring Azimuth and Inclination +Measuring Azimuth and Inclination Tap the "Azimuth" key once then press and hold it until the red pointing circle appears. Sight the circle on the object and release the key. #### 6. Distance between two points -Measuring Distance between two points +Measuring Distance between two points Press and hold the "Distance" key until the red pointing circle appears. Sight the circle on the first object and tap the "Azimuth" key while further holding the "Distance" key. The first measurement is confirmed ("1-P" = first point). Sight the second object and release the "Distance" key. #### 7. Horizontal and vertical distance between two points -Measuring Horizontal and vertical distance between two points +Measuring Horizontal and vertical distance between two points Tap the "Distance" key once then press and hold it until the red pointing circle appears. Sight the circle on the object and tap the "Azimuth" key once. The first measurement is confirmed ("1-P" = first point). Sight the second object and release the "Distance" key. #### 8. Horizontal distance and azimuth between two points -Measuring Horizontal distance and azimuth between two points +Measuring Horizontal distance and azimuth between two points Press and hold the "Azimuth" key until the red pointing circle appears. Sight the circle on the first object and tap the "Distance" key while further holding the "Azimuth" key. The first measurement is confirmed ("1-P" = first point). Sight the second object and release the "Azimuth" key. #### 9. Fall of shot -Measuring Fall of shot +Measuring Fall of shot Tap the "Azimuth" key once then press and hold it until the red pointing circle appears. Sight the circle on the object and tap the "Distance" key while further holding the "Azimuth" key. The first measurement is confirmed ("1-P" = first point). Sight the Fall of shot and release the "Azimuth" key. The left digits display the left (`L`)/right (`r`) correction value in meter and the right digits display the longer (`A` = add)/shorter (`d` = drop) correction value in meter. If the "Distance" key is tapped the height correction values will be displayed (`UP` and `dn`). From 49b4bce96e972a99cc177d9c5e7bbdcdacf872a5 Mon Sep 17 00:00:00 2001 From: bux578 Date: Wed, 6 May 2015 15:50:22 +0200 Subject: [PATCH 064/217] sync "config-entries" from gh-pages --- documentation/development/ace3-config-entries.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/documentation/development/ace3-config-entries.md b/documentation/development/ace3-config-entries.md index 07782cf76c..fcd85ccfe1 100644 --- a/documentation/development/ace3-config-entries.md +++ b/documentation/development/ace3-config-entries.md @@ -7,7 +7,7 @@ order: 2 --- ## 1. CfgVehicles -Entries from found in the `CfgVehicles.hpp` files +Entries found in the `CfgVehicles.hpp` files ```c++ @@ -26,7 +26,7 @@ ace_offset ## 2. CfgWeapons -Entries from found in the `CfgWeapons.hpp` files +Entries found in the `CfgWeapons.hpp` files ```c++ @@ -65,7 +65,7 @@ ace_modedescription ## 3. CfgAmmo -Entries from found in the `CfgAmmo.hpp` files +Entries found in the `CfgAmmo.hpp` files ```c++ ace_recoil_shakemultiplier @@ -94,7 +94,7 @@ ace_barrellengths ## 4. CfgGlasses -Entries from found in the `CfgGlasses.hpp` file +Entries found in the `CfgGlasses.hpp` file ```c++ ace_color @@ -109,7 +109,7 @@ ace_dustpath ## 5. CfgMagazines -Entries from found in the `CfgMagazines.hpp` files +Entries found in the `CfgMagazines.hpp` files ```c++ ace_isbelt From 4c5f5cd9a272568728fe127c008282f3ad4613a9 Mon Sep 17 00:00:00 2001 From: jonpas Date: Wed, 6 May 2015 17:37:43 +0200 Subject: [PATCH 065/217] Added Switching between sniper optics modes A3 feedback tracker issue --- documentation/development/arma-3-issues.md | 1 + 1 file changed, 1 insertion(+) diff --git a/documentation/development/arma-3-issues.md b/documentation/development/arma-3-issues.md index 3b4a6f036b..79f0336e9b 100644 --- a/documentation/development/arma-3-issues.md +++ b/documentation/development/arma-3-issues.md @@ -20,6 +20,7 @@ Keeping track of Arma 3 issues that need to be fixed. If you want to support us * [CorruptedHeart: 0022318: Can no longer use "MenuBack" shortcut in AddAction](http://feedback.arma3.com/view.php?id=22318) * [James2464: 0023725: All Environment Rocks Should Have PhysX LODs](http://feedback.arma3.com/view.php?id=23725) * [Jaynus: 0023679: Display event handler return values for mouse buttons should be respected](http://feedback.arma3.com/view.php?id=23679) +* [Heisenberg: 0023741: Switching between optic modes of a sniper scope (AMS, DMS, MOS) will result in a blurred vision](http://feedback.arma3.com/view.php?id=23741) **Resolved:** From 873ae72864fa5812041cce04df3dcf324e3090a9 Mon Sep 17 00:00:00 2001 From: ViperMaul Date: Wed, 6 May 2015 11:56:09 -0700 Subject: [PATCH 066/217] Perform config cleanup on success or cancel #1032 --- tools/make.py | 27 +++++++++++++++++++++------ 1 file changed, 21 insertions(+), 6 deletions(-) diff --git a/tools/make.py b/tools/make.py index 0beaac766b..8159dbe928 100644 --- a/tools/make.py +++ b/tools/make.py @@ -456,6 +456,24 @@ def check_for_obsolete_pbos(addonspath, file): if not os.path.exists(os.path.join(addonspath, module)): return True return False + + +def config_restore(modulePath): + #PABST: cleanup config BS (you could comment this out to see the "de-macroed" cpp + #print_green("\Pabst! (restoring): {}".format(os.path.join(modulePath, "config.cpp"))) + try: + if os.path.isfile(os.path.join(modulePath, "config.cpp")): + os.remove(os.path.join(modulePath, "config.cpp")) + if os.path.isfile(os.path.join(modulePath, "config.backup")): + os.rename(os.path.join(modulePath, "config.backup"), os.path.join(modulePath, "config.cpp")) + if os.path.isfile(os.path.join(modulePath, "config.bin")): + os.remove(os.path.join(modulePath, "config.bin")) + if os.path.isfile(os.path.join(modulePath, "texHeaders.bin")): + os.remove(os.path.join(modulePath, "texHeaders.bin")) + except: + print_yellow("Some error occurred. Check your addon folder {} for integrity".format(modulePath)) + + return True ############################################################################### @@ -867,6 +885,7 @@ See the make.cfg file for additional build options. except: pass + # Run build tool build_successful = False if build_tool == "pboproject": @@ -960,12 +979,6 @@ See the make.cfg file for additional build options. print ("Resuming build...") continue - #PABST: cleanup config BS (you could comment this out to see the "de-macroed" cpp - #print_green("\Pabst (restoring): {}".format(os.path.join(work_drive, prefix, module, "config.cpp"))) - os.remove(os.path.join(work_drive, prefix, module, "config.cpp")) - os.remove(os.path.join(work_drive, prefix, module, "config.bin")) - os.rename(os.path.join(work_drive, prefix, module, "config.backup"), os.path.join(work_drive, prefix, module, "config.cpp")) - # Back to the root os.chdir(module_root) @@ -975,6 +988,8 @@ See the make.cfg file for additional build options. input("Press Enter to continue...") print ("Resuming build...") continue + finally: + config_restore(os.path.join(work_drive, prefix, module)) elif build_tool== "addonbuilder": # Detect $NOBIN$ and do not binarize if found. From a80b180f080a29540da83f1380241ae363cb12a7 Mon Sep 17 00:00:00 2001 From: ViperMaul Date: Wed, 6 May 2015 12:13:46 -0700 Subject: [PATCH 067/217] Perform optionals clean up on success, failure or cancel #1032 --- tools/make.py | 561 +++++++++++++++++++++++++------------------------- 1 file changed, 283 insertions(+), 278 deletions(-) diff --git a/tools/make.py b/tools/make.py index 8159dbe928..69f5474ad0 100644 --- a/tools/make.py +++ b/tools/make.py @@ -730,339 +730,347 @@ See the make.cfg file for additional build options. print_error("Cannot create release directory") raise - #Temporarily copy optionals_root for building. They will be removed later. - optionals_modules = [] - optional_files = [] - copy_optionals_for_building(optionals_modules,optional_files) - # Get list of subdirs in make root. - dirs = next(os.walk(module_root))[1] + try: + #Temporarily copy optionals_root for building. They will be removed later. + optionals_modules = [] + optional_files = [] + copy_optionals_for_building(optionals_modules,optional_files) - # Autodetect what directories to build. - if module_autodetect and not arg_modules: - modules = [] - for path in dirs: - # Any dir that has a config.cpp in its root is an addon to build. - config_path = os.path.join(path, 'config.cpp') - if os.path.isfile(config_path) and not path in ignore: - modules.append(path) + # Get list of subdirs in make root. + dirs = next(os.walk(module_root))[1] - # Make the key specified from command line if necessary. - if new_key: - if not os.path.isfile(os.path.join(private_key_path, key_name + ".biprivatekey")): - print_yellow("\nRequested key does not exist.") - try: - os.makedirs(private_key_path) - except: - pass - curDir = os.getcwd() - os.chdir(private_key_path) - ret = subprocess.call([dscreatekey, key_name]) # Created in make_root - os.chdir(curDir) - if ret == 0: - print_green("Created: {}".format(os.path.join(private_key_path, key_name + ".biprivatekey"))) - print("Removing any old signature keys...") - purge(os.path.join(module_root, release_dir, project, "addons"), "^.*\.bisign$","*.bisign") - purge(os.path.join(module_root, release_dir, project, "optionals"), "^.*\.bisign$","*.bisign") - purge(os.path.join(module_root, release_dir, project, "keys"), "^.*\.bikey$","*.bikey") - else: - print_error("Failed to create key!") - - try: - print("Copying public key to release directory.") + # Autodetect what directories to build. + if module_autodetect and not arg_modules: + modules = [] + for path in dirs: + # Any dir that has a config.cpp in its root is an addon to build. + config_path = os.path.join(path, 'config.cpp') + if os.path.isfile(config_path) and not path in ignore: + modules.append(path) + # Make the key specified from command line if necessary. + if new_key: + if not os.path.isfile(os.path.join(private_key_path, key_name + ".biprivatekey")): + print_yellow("\nRequested key does not exist.") try: - os.makedirs(os.path.join(module_root, release_dir, project, "keys")) + os.makedirs(private_key_path) except: pass + curDir = os.getcwd() + os.chdir(private_key_path) + ret = subprocess.call([dscreatekey, key_name]) # Created in make_root + os.chdir(curDir) + if ret == 0: + print_green("Created: {}".format(os.path.join(private_key_path, key_name + ".biprivatekey"))) + print("Removing any old signature keys...") + purge(os.path.join(module_root, release_dir, project, "addons"), "^.*\.bisign$","*.bisign") + purge(os.path.join(module_root, release_dir, project, "optionals"), "^.*\.bisign$","*.bisign") + purge(os.path.join(module_root, release_dir, project, "keys"), "^.*\.bikey$","*.bikey") + else: + print_error("Failed to create key!") - shutil.copyfile(os.path.join(private_key_path, key_name + ".bikey"), os.path.join(module_root, release_dir, project, "keys", key_name + ".bikey")) + try: + print("Copying public key to release directory.") - except: - print_error("Could not copy key to release directory.") - raise + try: + os.makedirs(os.path.join(module_root, release_dir, project, "keys")) + except: + pass - else: - print_green("\nNOTE: Using key {}".format(os.path.join(private_key_path, key_name + ".biprivatekey"))) + shutil.copyfile(os.path.join(private_key_path, key_name + ".bikey"), os.path.join(module_root, release_dir, project, "keys", key_name + ".bikey")) - key = os.path.join(private_key_path, key_name + ".biprivatekey") + except: + print_error("Could not copy key to release directory.") + raise - # Remove any obsolete files. - print_blue("\nChecking for obsolete files...") - obsolete_check_path = os.path.join(module_root, release_dir, project,"addons") - for file in os.listdir(obsolete_check_path): - if (file.endswith(".pbo") and os.path.isfile(os.path.join(obsolete_check_path,file))): - if check_for_obsolete_pbos(module_root, file): - fileName = os.path.splitext(file)[0] - print_yellow("Removing obsolete file => {}".format(file)) - purge(obsolete_check_path,fileName+"\..",fileName+".*") + else: + print_green("\nNOTE: Using key {}".format(os.path.join(private_key_path, key_name + ".biprivatekey"))) - # For each module, prep files and then build. - print_blue("\nBuilding...") - for module in modules: - print_green("\nMaking {}".format(module + "-"*max(1, (60-len(module))))) - missing = False - sigMissing = False + key = os.path.join(private_key_path, key_name + ".biprivatekey") - # Cache check - if module in cache: - old_sha = cache[module] - else: - old_sha = "" + # Remove any obsolete files. + print_blue("\nChecking for obsolete files...") + obsolete_check_path = os.path.join(module_root, release_dir, project,"addons") + for file in os.listdir(obsolete_check_path): + if (file.endswith(".pbo") and os.path.isfile(os.path.join(obsolete_check_path,file))): + if check_for_obsolete_pbos(module_root, file): + fileName = os.path.splitext(file)[0] + print_yellow("Removing obsolete file => {}".format(file)) + purge(obsolete_check_path,fileName+"\..",fileName+".*") - #We always build ACE_common so we can properly show the correct version stamp in the RPT file. - if module == "common": - old_sha = "" + # For each module, prep files and then build. + print_blue("\nBuilding...") + for module in modules: + print_green("\nMaking {}".format(module + "-"*max(1, (60-len(module))))) + missing = False + sigMissing = False - # Hash the module - new_sha = get_directory_hash(os.path.join(module_root, module)) + # Cache check + if module in cache: + old_sha = cache[module] + else: + old_sha = "" - # Is the pbo or sig file missing? - missing = not os.path.isfile(os.path.join(release_dir, project, "addons", "ace_{}.pbo".format(module))) - sigFile = pbo_name_prefix+module + ".pbo." + key_name + ".bisign" - sigMissing = not os.path.isfile(os.path.join(release_dir, project, "addons", sigFile )) + #We always build ACE_common so we can properly show the correct version stamp in the RPT file. + if module == "common": + old_sha = "" - if missing: - print_yellow("Missing PBO file ace_{}.pbo".format(module) + ". Building...") + # Hash the module + new_sha = get_directory_hash(os.path.join(module_root, module)) - # Check if it needs rebuilt - # print ("Hash:", new_sha) - if old_sha == new_sha and not missing: - if not force_build: - print("Module has not changed.") - if sigMissing: - if key: - print("Missing Signature key {}".format(sigFile)) - build_signature_file(os.path.join(module_root, release_dir, project, "addons", pbo_name_prefix + module + ".pbo")) - # Skip everything else - continue + # Is the pbo or sig file missing? + missing = not os.path.isfile(os.path.join(release_dir, project, "addons", "ace_{}.pbo".format(module))) + sigFile = pbo_name_prefix+module + ".pbo." + key_name + ".bisign" + sigMissing = not os.path.isfile(os.path.join(release_dir, project, "addons", sigFile )) + + if missing: + print_yellow("Missing PBO file ace_{}.pbo".format(module) + ". Building...") + + # Check if it needs rebuilt + # print ("Hash:", new_sha) + if old_sha == new_sha and not missing: + if not force_build: + print("Module has not changed.") + if sigMissing: + if key: + print("Missing Signature key {}".format(sigFile)) + build_signature_file(os.path.join(module_root, release_dir, project, "addons", pbo_name_prefix + module + ".pbo")) + # Skip everything else + continue + + # Only do this if the project isn't stored directly on the work drive. + # Split the path at the drive name and see if they are on the same drive (usually P:) + if os.path.splitdrive(module_root)[0] != os.path.splitdrive(work_drive)[0]: + try: + # Remove old work drive version (ignore errors) + shutil.rmtree(os.path.join(work_drive, prefix, module), True) + + # Copy module to the work drive + shutil.copytree(module, os.path.join(work_drive, prefix, module)) + + except: + raise + print_error("ERROR: Could not copy module to work drive. Does the module exist?") + input("Press Enter to continue...") + print("Resuming build...") + continue + #else: + #print("WARNING: Module is stored on work drive ({}).".format(work_drive)) - # Only do this if the project isn't stored directly on the work drive. - # Split the path at the drive name and see if they are on the same drive (usually P:) - if os.path.splitdrive(module_root)[0] != os.path.splitdrive(work_drive)[0]: try: - # Remove old work drive version (ignore errors) - shutil.rmtree(os.path.join(work_drive, prefix, module), True) - - # Copy module to the work drive - shutil.copytree(module, os.path.join(work_drive, prefix, module)) + # Remove the old pbo, key, and log + old = os.path.join(module_root, release_dir, project, "addons", pbo_name_prefix+module) + "*" + files = glob.glob(old) + for f in files: + os.remove(f) + if pbo_name_prefix: + old = os.path.join(module_root, release_dir, project, "addons", pbo_name_prefix+module) + "*" + files = glob.glob(old) + for f in files: + os.remove(f) except: raise print_error("ERROR: Could not copy module to work drive. Does the module exist?") input("Press Enter to continue...") print("Resuming build...") continue - #else: - #print("WARNING: Module is stored on work drive ({}).".format(work_drive)) - try: - # Remove the old pbo, key, and log - old = os.path.join(module_root, release_dir, project, "addons", pbo_name_prefix+module) + "*" - files = glob.glob(old) - for f in files: - os.remove(f) + # Build the module into a pbo + print_blue("Building: {}".format(os.path.join(work_drive, prefix, module))) + print_blue("Destination: {}".format(os.path.join(module_root, release_dir, project, "addons"))) - if pbo_name_prefix: - old = os.path.join(module_root, release_dir, project, "addons", pbo_name_prefix+module) + "*" - files = glob.glob(old) - for f in files: - os.remove(f) - except: - raise - print_error("ERROR: Could not copy module to work drive. Does the module exist?") - input("Press Enter to continue...") - print("Resuming build...") - continue - - # Build the module into a pbo - print_blue("Building: {}".format(os.path.join(work_drive, prefix, module))) - print_blue("Destination: {}".format(os.path.join(module_root, release_dir, project, "addons"))) - - # Make destination folder (if needed) - try: - os.makedirs(os.path.join(module_root, release_dir, project, "addons")) - except: - pass - - - # Run build tool - build_successful = False - if build_tool == "pboproject": + # Make destination folder (if needed) try: - #PABST: Convert config (run the macro'd config.cpp through CfgConvert twice to produce a de-macro'd cpp that pboProject can read without fucking up: - shutil.copyfile(os.path.join(work_drive, prefix, module, "config.cpp"), os.path.join(work_drive, prefix, module, "config.backup")) - - os.chdir("P:\\") - - cmd = [os.path.join(arma3tools_path, "CfgConvert", "CfgConvert.exe"), "-bin", "-dst", os.path.join(work_drive, prefix, module, "config.bin"), os.path.join(work_drive, prefix, module, "config.cpp")] - ret = subprocess.call(cmd) - if ret != 0: - print_error("CfgConvert -bin return code == {}. Usually means there is a syntax error within the config.cpp file.".format(str(ret))) - os.remove(os.path.join(work_drive, prefix, module, "config.cpp")) - shutil.copyfile(os.path.join(work_drive, prefix, module, "config.backup"), os.path.join(work_drive, prefix, module, "config.cpp")) - - cmd = [os.path.join(arma3tools_path, "CfgConvert", "CfgConvert.exe"), "-txt", "-dst", os.path.join(work_drive, prefix, module, "config.cpp"), os.path.join(work_drive, prefix, module, "config.bin")] - ret = subprocess.call(cmd) - if ret != 0: - print_error("CfgConvert -txt return code == {}. Usually means there is a syntax error within the config.cpp file.".format(str(ret))) - os.remove(os.path.join(work_drive, prefix, module, "config.cpp")) - shutil.copyfile(os.path.join(work_drive, prefix, module, "config.backup"), os.path.join(work_drive, prefix, module, "config.cpp")) + os.makedirs(os.path.join(module_root, release_dir, project, "addons")) + except: + pass - # Include build number + # Run build tool + build_successful = False + if build_tool == "pboproject": try: - configpath = os.path.join(work_drive, prefix, module, "config.cpp") - f = open(configpath, "r") - configtext = f.read() - f.close() + #PABST: Convert config (run the macro'd config.cpp through CfgConvert twice to produce a de-macro'd cpp that pboProject can read without fucking up: + shutil.copyfile(os.path.join(work_drive, prefix, module, "config.cpp"), os.path.join(work_drive, prefix, module, "config.backup")) - if configtext: - patchestext = re.search(r"class CfgPatches\n\{(.*?)\n\}", configtext, re.DOTALL).group(1) - patchestext = re.sub(r'version(.*?)="(.*?)"', r'version\1="\2-{}"'.format(commit_id), patchestext) - configtext = re.sub(r"class CfgPatches\n\{(.*?)\n\}", "class CfgPatches\n{"+patchestext+"\n}", configtext, flags=re.DOTALL) - f = open(configpath, "w") - f.write(configtext) - f.close() - else: + os.chdir("P:\\") + + cmd = [os.path.join(arma3tools_path, "CfgConvert", "CfgConvert.exe"), "-bin", "-dst", os.path.join(work_drive, prefix, module, "config.bin"), os.path.join(work_drive, prefix, module, "config.cpp")] + ret = subprocess.call(cmd) + if ret != 0: + print_error("CfgConvert -bin return code == {}. Usually means there is a syntax error within the config.cpp file.".format(str(ret))) os.remove(os.path.join(work_drive, prefix, module, "config.cpp")) - os.rename(os.path.join(work_drive, prefix, module, "config.backup"), os.path.join(work_drive, prefix, module, "config.cpp")) + shutil.copyfile(os.path.join(work_drive, prefix, module, "config.backup"), os.path.join(work_drive, prefix, module, "config.cpp")) + + cmd = [os.path.join(arma3tools_path, "CfgConvert", "CfgConvert.exe"), "-txt", "-dst", os.path.join(work_drive, prefix, module, "config.cpp"), os.path.join(work_drive, prefix, module, "config.bin")] + ret = subprocess.call(cmd) + if ret != 0: + print_error("CfgConvert -txt return code == {}. Usually means there is a syntax error within the config.cpp file.".format(str(ret))) + os.remove(os.path.join(work_drive, prefix, module, "config.cpp")) + shutil.copyfile(os.path.join(work_drive, prefix, module, "config.backup"), os.path.join(work_drive, prefix, module, "config.cpp")) + + + # Include build number + try: + configpath = os.path.join(work_drive, prefix, module, "config.cpp") + f = open(configpath, "r") + configtext = f.read() + f.close() + + if configtext: + patchestext = re.search(r"class CfgPatches\n\{(.*?)\n\}", configtext, re.DOTALL).group(1) + patchestext = re.sub(r'version(.*?)="(.*?)"', r'version\1="\2-{}"'.format(commit_id), patchestext) + configtext = re.sub(r"class CfgPatches\n\{(.*?)\n\}", "class CfgPatches\n{"+patchestext+"\n}", configtext, flags=re.DOTALL) + f = open(configpath, "w") + f.write(configtext) + f.close() + else: + os.remove(os.path.join(work_drive, prefix, module, "config.cpp")) + os.rename(os.path.join(work_drive, prefix, module, "config.backup"), os.path.join(work_drive, prefix, module, "config.cpp")) + except: + raise + print_error("Failed to include build number") + continue + + if os.path.isfile(os.path.join(work_drive, prefix, module, "$NOBIN$")): + print_green("$NOBIN$ Found. Proceeding with non-binarizing!") + cmd = [makepboTool, "-P","-A","-L","-N","-G", os.path.join(work_drive, prefix, module),os.path.join(module_root, release_dir, project,"addons")] + + else: + if check_external: + cmd = [pboproject, "-P", os.path.join(work_drive, prefix, module), "+Engine=Arma3", "-S","+Noisy", "+X", "+Clean", "+Mod="+os.path.join(module_root, release_dir, project), "-Key"] + else: + cmd = [pboproject, "-P", os.path.join(work_drive, prefix, module), "+Engine=Arma3", "-S","+Noisy", "-X", "+Clean", "+Mod="+os.path.join(module_root, release_dir, project), "-Key"] + + color("grey") + if quiet: + devnull = open(os.devnull, 'w') + ret = subprocess.call(cmd, stdout=devnull) + devnull.close() + else: + ret = subprocess.call(cmd) + color("reset") + + if ret == 0: + print_green("pboProject return code == {}".format(str(ret))) + # Prettyprefix rename the PBO if requested. + if pbo_name_prefix: + try: + os.rename(os.path.join(module_root, release_dir, project, "addons", module+".pbo"), os.path.join(module_root, release_dir, project, "addons", pbo_name_prefix+module+".pbo")) + except: + raise + print_error("Could not rename built PBO with prefix.") + # Sign result + if key: + print("Signing with {}.".format(key)) + if pbo_name_prefix: + ret = subprocess.call([dssignfile, key, os.path.join(module_root, release_dir, project, "addons", pbo_name_prefix + module + ".pbo")]) + else: + ret = subprocess.call([dssignfile, key, os.path.join(module_root, release_dir, project, "addons", module + ".pbo")]) + + if ret == 0: + build_successful = True + else: + build_successful = True + + if not build_successful: + print_error("pboProject return code == {}".format(str(ret))) + print_error("Module not successfully built/signed.") + print ("Resuming build...") + continue + + # Back to the root + os.chdir(module_root) + except: raise - print_error("Failed to include build number") + print_error("Could not run Addon Builder.") + input("Press Enter to continue...") + print ("Resuming build...") continue + finally: + config_restore(os.path.join(work_drive, prefix, module)) + elif build_tool== "addonbuilder": + # Detect $NOBIN$ and do not binarize if found. if os.path.isfile(os.path.join(work_drive, prefix, module, "$NOBIN$")): - print_green("$NOBIN$ Found. Proceeding with non-binarizing!") - cmd = [makepboTool, "-P","-A","-L","-N","-G", os.path.join(work_drive, prefix, module),os.path.join(module_root, release_dir, project,"addons")] - + do_binarize = False + print("$NOBIN$ file found in module, packing only.") else: - if check_external: - cmd = [pboproject, "-P", os.path.join(work_drive, prefix, module), "+Engine=Arma3", "-S","+Noisy", "+X", "+Clean", "+Mod="+os.path.join(module_root, release_dir, project), "-Key"] + do_binarize = True + try: + # Call AddonBuilder + os.chdir("P:\\") + + cmd = [addonbuilder, os.path.join(work_drive, prefix, module), os.path.join(make_root, release_dir, project, "addons"), "-clear", "-project="+work_drive] + if not do_binarize: + cmd.append("-packonly") + + if quiet: + previousDirectory = os.getcwd() + os.chdir(arma3tools_path) + devnull = open(os.devnull, 'w') + ret = subprocess.call(cmd, stdout=devnull) + devnull.close() + os.chdir(previousDirectory) else: - cmd = [pboproject, "-P", os.path.join(work_drive, prefix, module), "+Engine=Arma3", "-S","+Noisy", "-X", "+Clean", "+Mod="+os.path.join(module_root, release_dir, project), "-Key"] - - color("grey") - if quiet: - devnull = open(os.devnull, 'w') - ret = subprocess.call(cmd, stdout=devnull) - devnull.close() - else: - ret = subprocess.call(cmd) - color("reset") - - if ret == 0: - print_green("pboProject return code == {}".format(str(ret))) + previousDirectory = os.getcwd() + os.chdir(arma3tools_path) + print_error("Current directory - {}".format(os.getcwd())) + ret = subprocess.call(cmd) + os.chdir(previousDirectory) + print_error("Current directory - {}".format(os.getcwd())) + color("reset") + print_green("completed") # Prettyprefix rename the PBO if requested. if pbo_name_prefix: try: - os.rename(os.path.join(module_root, release_dir, project, "addons", module+".pbo"), os.path.join(module_root, release_dir, project, "addons", pbo_name_prefix+module+".pbo")) + os.rename(os.path.join(make_root, release_dir, project, "addons", module+".pbo"), os.path.join(make_root, release_dir, project, "addons", pbo_name_prefix+module+".pbo")) except: raise print_error("Could not rename built PBO with prefix.") - # Sign result - if key: - print("Signing with {}.".format(key)) - if pbo_name_prefix: - ret = subprocess.call([dssignfile, key, os.path.join(module_root, release_dir, project, "addons", pbo_name_prefix + module + ".pbo")]) + + if ret == 0: + # Sign result + if key: + print("Signing with {}.".format(key)) + if pbo_name_prefix: + ret = subprocess.call([dssignfile, key, os.path.join(make_root, release_dir, project, "addons", pbo_name_prefix + module + ".pbo")]) + else: + ret = subprocess.call([dssignfile, key, os.path.join(make_root, release_dir, project, "addons", module + ".pbo")]) + + if ret == 0: + build_successful = True else: - ret = subprocess.call([dssignfile, key, os.path.join(module_root, release_dir, project, "addons", module + ".pbo")]) - - if ret == 0: build_successful = True - else: - build_successful = True - if not build_successful: - print_error("pboProject return code == {}".format(str(ret))) - print_error("Module not successfully built/signed.") + if not build_successful: + print_error("Module not successfully built.") + + # Back to the root + os.chdir(make_root) + + except: + raise + print_error("Could not run Addon Builder.") + input("Press Enter to continue...") print ("Resuming build...") continue - # Back to the root - os.chdir(module_root) - - except: - raise - print_error("Could not run Addon Builder.") - input("Press Enter to continue...") - print ("Resuming build...") - continue - finally: - config_restore(os.path.join(work_drive, prefix, module)) - - elif build_tool== "addonbuilder": - # Detect $NOBIN$ and do not binarize if found. - if os.path.isfile(os.path.join(work_drive, prefix, module, "$NOBIN$")): - do_binarize = False - print("$NOBIN$ file found in module, packing only.") else: - do_binarize = True - try: - # Call AddonBuilder - os.chdir("P:\\") + print_error("Unknown build_tool {}!".format(build_tool)) - cmd = [addonbuilder, os.path.join(work_drive, prefix, module), os.path.join(make_root, release_dir, project, "addons"), "-clear", "-project="+work_drive] - if not do_binarize: - cmd.append("-packonly") + # Update the hash for a successfully built module + if build_successful: + cache[module] = new_sha - if quiet: - previousDirectory = os.getcwd() - os.chdir(arma3tools_path) - devnull = open(os.devnull, 'w') - ret = subprocess.call(cmd, stdout=devnull) - devnull.close() - os.chdir(previousDirectory) - else: - previousDirectory = os.getcwd() - os.chdir(arma3tools_path) - print_error("Current directory - {}".format(os.getcwd())) - ret = subprocess.call(cmd) - os.chdir(previousDirectory) - print_error("Current directory - {}".format(os.getcwd())) - color("reset") - print_green("completed") - # Prettyprefix rename the PBO if requested. - if pbo_name_prefix: - try: - os.rename(os.path.join(make_root, release_dir, project, "addons", module+".pbo"), os.path.join(make_root, release_dir, project, "addons", pbo_name_prefix+module+".pbo")) - except: - raise - print_error("Could not rename built PBO with prefix.") - - if ret == 0: - # Sign result - if key: - print("Signing with {}.".format(key)) - if pbo_name_prefix: - ret = subprocess.call([dssignfile, key, os.path.join(make_root, release_dir, project, "addons", pbo_name_prefix + module + ".pbo")]) - else: - ret = subprocess.call([dssignfile, key, os.path.join(make_root, release_dir, project, "addons", module + ".pbo")]) - - if ret == 0: - build_successful = True - else: - build_successful = True - - if not build_successful: - print_error("Module not successfully built.") - - # Back to the root - os.chdir(make_root) - - except: - raise - print_error("Could not run Addon Builder.") - input("Press Enter to continue...") - print ("Resuming build...") - continue - - else: - print_error("Unknown build_tool {}!".format(build_tool)) - - # Update the hash for a successfully built module - if build_successful: - cache[module] = new_sha + except: + print_yellow("Cancel or some error detected.") + finally: + copy_important_files(module_root_parent,os.path.join(release_dir, "@ace")) + cleanup_optionals(optionals_modules) # Done building all modules! @@ -1078,9 +1086,6 @@ See the make.cfg file for additional build options. except: print_error("ERROR: Could not delete pboProject temp files.") - copy_important_files(module_root_parent,os.path.join(release_dir, "@ace")) - cleanup_optionals(optionals_modules) - # Make release if make_release: print_blue("\nMaking release: {}-{}.zip".format(project,release_version)) From e63b543c5a0be76b55f09bfdf9cde1737847a7e7 Mon Sep 17 00:00:00 2001 From: ViperMaul Date: Wed, 6 May 2015 14:05:11 -0700 Subject: [PATCH 068/217] Added blacklist for server.pbo signature keys #1032 --- tools/make.py | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/tools/make.py b/tools/make.py index 69f5474ad0..f3d71f3f34 100644 --- a/tools/make.py +++ b/tools/make.py @@ -63,6 +63,7 @@ optionals_root = "" key_name = "ace_3.0.0" key = "" dssignfile = "" +signature_blacklist = ["ace_server.pbo"] ############################################################################### # http://akiscode.com/articles/sha-1directoryhash.shtml @@ -443,8 +444,13 @@ def purge(dir, pattern, friendlyPattern="files"): def build_signature_file(file_name): global key global dssignfile - print("Signing with {}.".format(key)) - ret = subprocess.call([dssignfile, key, file_name]) + global signature_blacklist + ret = 0 + baseFile = os.path.basename(file_name) + #print_yellow("Sig_fileName: {}".format(baseFile)) + if not (baseFile in signature_blacklist): + print("Signing with {}.".format(key)) + ret = subprocess.call([dssignfile, key, file_name]) if ret == 0: return True else: @@ -1034,7 +1040,9 @@ See the make.cfg file for additional build options. if ret == 0: # Sign result - if key: + + #print_yellow("Sig_fileName: ace_{}.pbo".format(module)) + if (key and not "ace_{}.pbo".format(module) in signature_blacklist) : print("Signing with {}.".format(key)) if pbo_name_prefix: ret = subprocess.call([dssignfile, key, os.path.join(make_root, release_dir, project, "addons", pbo_name_prefix + module + ".pbo")]) From cea6d0063d809f981db070e1f1da797e79e37117 Mon Sep 17 00:00:00 2001 From: ulteq Date: Thu, 7 May 2015 17:49:59 +0200 Subject: [PATCH 069/217] Disables the CfgAISkill class to prevent it from affecting players. --- addons/ai/config.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/ai/config.cpp b/addons/ai/config.cpp index fdcb6afe9d..0d5f7c62c3 100644 --- a/addons/ai/config.cpp +++ b/addons/ai/config.cpp @@ -12,5 +12,5 @@ class CfgPatches { }; }; -#include "CfgAISkill.hpp" +//#include "CfgAISkill.hpp" #include "CfgWeapons.hpp" From 4eaab93fd1ec9a4e3f39b0fe0d7318973742a758 Mon Sep 17 00:00:00 2001 From: KoffeinFlummi Date: Thu, 7 May 2015 18:21:15 +0200 Subject: [PATCH 070/217] Convert ACE_caliber to meters --- .../functions/fnc_handleFired.sqf | 2 +- addons/ballistics/CfgAmmo.hpp | 92 ++-- extras/CfgAmmoReference.hpp | 410 +++++++++--------- optionals/compat_cup/CfgAmmo.hpp | 64 +-- optionals/compat_hlcmods_core/CfgAmmo.hpp | 44 +- optionals/compat_rh_de/CfgAmmo.hpp | 24 +- optionals/compat_rh_m4/CfgAmmo.hpp | 30 +- optionals/compat_rh_pdw/CfgAmmo.hpp | 2 +- optionals/compat_rhs_afrf3/CfgAmmo.hpp | 18 +- optionals/compat_rhs_usf3/CfgAmmo.hpp | 14 +- 10 files changed, 350 insertions(+), 350 deletions(-) diff --git a/addons/advanced_ballistics/functions/fnc_handleFired.sqf b/addons/advanced_ballistics/functions/fnc_handleFired.sqf index e63b1d7dfc..20235d2489 100644 --- a/addons/advanced_ballistics/functions/fnc_handleFired.sqf +++ b/addons/advanced_ballistics/functions/fnc_handleFired.sqf @@ -91,7 +91,7 @@ if (GVAR(bulletTraceEnabled) && cameraView == "GUNNER") then { }; }; -_caliber = getNumber(configFile >> "cfgAmmo" >> _ammo >> "ACE_caliber"); +_caliber = 39.37 * getNumber(configFile >> "cfgAmmo" >> _ammo >> "ACE_caliber"); _bulletLength = getNumber(configFile >> "cfgAmmo" >> _ammo >> "ACE_bulletLength"); _bulletMass = getNumber(configFile >> "cfgAmmo" >> _ammo >> "ACE_bulletMass"); _barrelTwist = getNumber(configFile >> "cfgWeapons" >> _weapon >> "ACE_barrelTwist"); diff --git a/addons/ballistics/CfgAmmo.hpp b/addons/ballistics/CfgAmmo.hpp index 02df51e891..7d3e83230d 100644 --- a/addons/ballistics/CfgAmmo.hpp +++ b/addons/ballistics/CfgAmmo.hpp @@ -25,7 +25,7 @@ class CfgAmmo { typicalSpeed=750; tracerStartTime = 0.073; //M856 tracer burns out to 800m tracerEndTime = 1.579; //Time in seconds calculated with ballistics calculator - ACE_caliber=0.224; + ACE_caliber=0.00569; ACE_bulletLength=0.906; ACE_bulletMass=62; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; @@ -42,7 +42,7 @@ class CfgAmmo { deflecting=18; hit=11; typicalSpeed=836; - ACE_caliber=0.224; + ACE_caliber=0.00569; ACE_bulletLength=0.906; ACE_bulletMass=77; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -59,7 +59,7 @@ class CfgAmmo { deflecting=18; hit=9; typicalSpeed=886; - ACE_caliber=0.224; + ACE_caliber=0.00569; ACE_bulletLength=0.906; ACE_bulletMass=62; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -76,7 +76,7 @@ class CfgAmmo { deflecting=18; hit=6; typicalSpeed=886; - ACE_caliber=0.224; + ACE_caliber=0.00569; ACE_bulletLength=0.906; ACE_bulletMass=46; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -97,7 +97,7 @@ class CfgAmmo { deflecting=18; hit=7; typicalSpeed=880; - ACE_caliber=0.220; + ACE_caliber=0.005588; ACE_bulletLength=0.85; ACE_bulletMass=52.9; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -117,7 +117,7 @@ class CfgAmmo { typicalSpeed=883; tracerStartTime = 0.073; //7T3M tracer burns out to 850m tracerEndTime = 1.736; //Time in seconds calculated with ballistics calculator - ACE_caliber=0.220; + ACE_caliber=0.005588; ACE_bulletLength=0.85; ACE_bulletMass=49.8; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -131,7 +131,7 @@ class CfgAmmo { class B_65x39_Caseless : BulletBase { airFriction=-0.000785; typicalSpeed=800; - ACE_caliber=0.264; + ACE_caliber=0.006706; ACE_bulletLength=1.295; ACE_bulletMass=123; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -154,7 +154,7 @@ class CfgAmmo { airFriction=-0.00078; typicalSpeed=820 ; caliber=0.9; - ACE_caliber=0.264; + ACE_caliber=0.006706; ACE_bulletLength=1.364; ACE_bulletMass=139; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -169,7 +169,7 @@ class CfgAmmo { airFriction=-0.000651; typicalSpeed=860 ; caliber=1.1; - ACE_caliber=0.264; + ACE_caliber=0.006706; ACE_bulletLength=1.426; ACE_bulletMass=140; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -186,7 +186,7 @@ class CfgAmmo { hit=9; tracerStartTime = 0.073; //Based on the British L5A1 which burns out to 1000m tracerEndTime = 2.058; //Time in seconds calculated with ballistics calculator - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.14; ACE_bulletMass=146; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -206,7 +206,7 @@ class CfgAmmo { caliber=1.8; hit=16; typicalSpeed=790; - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.24; ACE_bulletMass=175; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -222,7 +222,7 @@ class CfgAmmo { caliber=1.8; hit=16; typicalSpeed=790; - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.24; ACE_bulletMass=175; ACE_ammoTempMuzzleVelocityShifts[]={-5.3, -5.1, -4.6, -4.2, -3.4, -2.6, -1.4, -0.3, 1.4, 3.0, 5.2}; @@ -238,7 +238,7 @@ class CfgAmmo { caliber=1.5; hit=14; typicalSpeed=900; - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.24; ACE_bulletMass=130; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -254,7 +254,7 @@ class CfgAmmo { caliber=2.2; hit=11; typicalSpeed=930; - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.24; ACE_bulletMass=127; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -270,7 +270,7 @@ class CfgAmmo { caliber=1; hit=6; typicalSpeed=320; - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.340; ACE_bulletMass=200; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -286,7 +286,7 @@ class CfgAmmo { typicalSpeed=800; caliber=2.0; hit=10; - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.21; ACE_bulletMass=174; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -302,7 +302,7 @@ class CfgAmmo { typicalSpeed=820; caliber=2.1; hit=8; - ACE_caliber=0.284; + ACE_caliber=0.007214; ACE_bulletLength=1.529; ACE_bulletMass=180; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -318,7 +318,7 @@ class CfgAmmo { typicalSpeed=915; caliber=2.3; hit=6; - ACE_caliber=0.243; + ACE_caliber=0.006172; ACE_bulletLength=1.282; ACE_bulletMass=180; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -334,7 +334,7 @@ class CfgAmmo { caliber=1.8; hit=17; typicalSpeed=900; - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.353; ACE_bulletMass=190; ACE_ammoTempMuzzleVelocityShifts[]={-5.3, -5.1, -4.6, -4.2, -3.4, -2.6, -1.4, -0.3, 1.4, 3.0, 5.2}; @@ -350,7 +350,7 @@ class CfgAmmo { caliber=1.9; hit=18; typicalSpeed=867; - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.489; ACE_bulletMass=220; ACE_ammoTempMuzzleVelocityShifts[]={-5.3, -5.1, -4.6, -4.2, -3.4, -2.6, -1.4, -0.3, 1.4, 3.0, 5.2}; @@ -366,7 +366,7 @@ class CfgAmmo { caliber=2.0; hit=19; typicalSpeed=853; - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.602; ACE_bulletMass=230; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -380,7 +380,7 @@ class CfgAmmo { class B_762x54_Ball: B_762x51_Ball { airFriction=-0.001023; typicalSpeed=820; - ACE_caliber=0.312; + ACE_caliber=0.007925; ACE_bulletLength=1.14; ACE_bulletMass=152; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -396,7 +396,7 @@ class CfgAmmo { caliber=1.5; hit=15; typicalSpeed=820; - ACE_caliber=0.312; + ACE_caliber=0.007925; ACE_bulletLength=1.14; ACE_bulletMass=152; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -415,7 +415,7 @@ class CfgAmmo { typicalSpeed=800; tracerStartTime = 0.073; //Based on the 7T2 which burns three seconds tracerEndTime = 3; - ACE_caliber=0.312; + ACE_caliber=0.007925; ACE_bulletLength=1.14; ACE_bulletMass=149; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -431,7 +431,7 @@ class CfgAmmo { caliber=1.5; hit=11; typicalSpeed=790; - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.153; ACE_bulletMass=125; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -447,7 +447,7 @@ class CfgAmmo { hit=12; caliber=1.5; typicalSpeed=716; - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.14; ACE_bulletMass=123; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -465,7 +465,7 @@ class CfgAmmo { typicalSpeed=716; tracerStartTime = 0.073; //57N231P tracer burns out to 800m tracerEndTime = 2.082; //Time in seconds calculated with ballistics calculator - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.14; ACE_bulletMass=117; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -480,7 +480,7 @@ class CfgAmmo { airFriction=-0.00125; typicalSpeed=390; hit=6; - ACE_caliber=0.356; + ACE_caliber=0.009042; ACE_bulletLength=0.610; ACE_bulletMass=115; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -495,7 +495,7 @@ class CfgAmmo { hit=5; airFriction=-0.001234; typicalSpeed=298; - ACE_caliber=0.365; + ACE_caliber=0.009271; ACE_bulletLength=0.610; ACE_bulletMass=92.6; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -510,7 +510,7 @@ class CfgAmmo { airFriction=-0.001234; typicalSpeed=370; hit=6; - ACE_caliber=0.355; + ACE_caliber=0.009017; ACE_bulletLength=0.610; ACE_bulletMass=124; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -525,7 +525,7 @@ class CfgAmmo { airFriction=-0.00168; typicalSpeed=425; hit=7; - ACE_caliber=0.5; + ACE_caliber=0.0127; ACE_bulletLength=0.764; ACE_bulletMass=165; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -540,7 +540,7 @@ class CfgAmmo { airFriction=-0.001213; typicalSpeed=282; hit=7; - ACE_caliber=0.3125; + ACE_caliber=0.007938; ACE_bulletLength=0.610; ACE_bulletMass=65; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -555,7 +555,7 @@ class CfgAmmo { airFriction=-0.00083; typicalSpeed=761; caliber=2.0; - ACE_caliber=0.311; + ACE_caliber=0.007899; ACE_bulletLength=1.227; ACE_bulletMass=174; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -569,7 +569,7 @@ class CfgAmmo { class B_93x64_Ball : BulletBase { airFriction=-0.00106; typicalSpeed=880; - ACE_caliber=0.366; + ACE_caliber=0.009296; ACE_bulletLength=1.350; ACE_bulletMass=230; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -584,7 +584,7 @@ class CfgAmmo { timeToLive=10; airFriction=-0.000395; typicalSpeed=910; - ACE_caliber=0.408; + ACE_caliber=0.010363; ACE_bulletLength=2.126; ACE_bulletMass=410; ACE_transonicStabilityCoef=1; @@ -598,7 +598,7 @@ class CfgAmmo { }; class ACE_106x83mm_Ball : B_408_Ball { timeToLive=10; - ACE_caliber=0.416; + ACE_caliber=0.010566; ACE_bulletLength=2.089; ACE_bulletMass=398; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -613,7 +613,7 @@ class CfgAmmo { timeToLive=10; airFriction=-0.000606; typicalSpeed=915; - ACE_caliber=0.338; + ACE_caliber=0.008585; ACE_bulletLength=1.558; ACE_bulletMass=250; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -627,7 +627,7 @@ class CfgAmmo { class B_338_NM_Ball : BulletBase { airFriction=-0.000537; typicalSpeed=820; - ACE_caliber=0.338; + ACE_caliber=0.008585; ACE_bulletLength=1.70; ACE_bulletMass=300; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -642,7 +642,7 @@ class CfgAmmo { timeToLive=10; airFriction=-0.000535; typicalSpeed=826; - ACE_caliber=0.338; + ACE_caliber=0.008585; ACE_bulletLength=1.70; ACE_bulletMass=300; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -658,7 +658,7 @@ class CfgAmmo { airFriction=-0.000673; caliber=2.8; typicalSpeed=826; - ACE_caliber=0.338; + ACE_caliber=0.008585; ACE_bulletLength=1.535; ACE_bulletMass=253; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -672,7 +672,7 @@ class CfgAmmo { class B_127x54_Ball : BulletBase { airFriction=-0.00014; typicalSpeed=300; - ACE_caliber=0.510; + ACE_caliber=0.012954; ACE_bulletLength=2.540; ACE_bulletMass=750; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -687,7 +687,7 @@ class CfgAmmo { timeToLive=10; airFriction=-0.0006; typicalSpeed=900; - ACE_caliber=0.510; + ACE_caliber=0.012954; ACE_bulletLength=2.310; ACE_bulletMass=647; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -704,7 +704,7 @@ class CfgAmmo { typicalSpeed=900; hit=25; caliber=4.0; - ACE_caliber=0.510; + ACE_caliber=0.012954; ACE_bulletLength=2.310; ACE_bulletMass=648; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -720,7 +720,7 @@ class CfgAmmo { airFriction=-0.000374; typicalSpeed=860; caliber=3.0; - ACE_caliber=0.510; + ACE_caliber=0.012954; ACE_bulletLength=2.540; ACE_bulletMass=750; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -735,7 +735,7 @@ class CfgAmmo { timeToLive=10; airFriction=-0.00064; typicalSpeed=820; - ACE_caliber=0.511; + ACE_caliber=0.012979; ACE_bulletLength=2.520; ACE_bulletMass=745; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -749,7 +749,7 @@ class CfgAmmo { class B_45ACP_Ball : BulletBase { airFriction=-0.0007182; typicalSpeed=250; - ACE_caliber=0.452; + ACE_caliber=0.011481; ACE_bulletLength=0.68; ACE_bulletMass=230; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; diff --git a/extras/CfgAmmoReference.hpp b/extras/CfgAmmoReference.hpp index 85201b92cc..5a7e9302cf 100644 --- a/extras/CfgAmmoReference.hpp +++ b/extras/CfgAmmoReference.hpp @@ -5,7 +5,7 @@ class CfgAmmo airFriction=-0.001265; hit=8; typicalSpeed=750; - ACE_caliber=0.224; + ACE_caliber=0.00569; ACE_bulletLength=0.906; ACE_bulletMass=62; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; @@ -22,7 +22,7 @@ class CfgAmmo deflecting=18; hit=11; typicalSpeed=836; - ACE_caliber=0.224; + ACE_caliber=0.00569; ACE_bulletLength=0.906; ACE_bulletMass=77; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -39,7 +39,7 @@ class CfgAmmo deflecting=18; hit=9; typicalSpeed=886; - ACE_caliber=0.224; + ACE_caliber=0.00569; ACE_bulletLength=0.906; ACE_bulletMass=62; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -60,7 +60,7 @@ class CfgAmmo deflecting=18; hit=7; typicalSpeed=880; - ACE_caliber=0.220; + ACE_caliber=0.005588; ACE_bulletLength=0.85; ACE_bulletMass=52.9; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -78,7 +78,7 @@ class CfgAmmo deflecting=18; hit=7; typicalSpeed=883; - ACE_caliber=0.220; + ACE_caliber=0.005588; ACE_bulletLength=0.85; ACE_bulletMass=49.8; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -92,7 +92,7 @@ class CfgAmmo class B_65x39_Caseless : BulletBase { airFriction=-0.000785; typicalSpeed=800; - ACE_caliber=0.264; + ACE_caliber=0.006706; ACE_bulletLength=1.295; ACE_bulletMass=123; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -115,7 +115,7 @@ class CfgAmmo { airFriction=-0.00078; typicalSpeed=820 ; - ACE_caliber=0.264; + ACE_caliber=0.006706; ACE_bulletLength=1.364; ACE_bulletMass=139; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -130,7 +130,7 @@ class CfgAmmo airFriction=-0.001035; typicalSpeed=833; hit=9; - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.14; ACE_bulletMass=146; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -150,7 +150,7 @@ class CfgAmmo caliber=1.05; hit=16; typicalSpeed=790; - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.24; ACE_bulletMass=175; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -166,7 +166,7 @@ class CfgAmmo caliber=0.85; hit=14; typicalSpeed=890; - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.24; ACE_bulletMass=130; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -182,7 +182,7 @@ class CfgAmmo caliber=0.5; hit=6; typicalSpeed=790; - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.340; ACE_bulletMass=200; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -198,7 +198,7 @@ class CfgAmmo caliber=1.08; hit=17; typicalSpeed=900; - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.353; ACE_bulletMass=190; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -214,7 +214,7 @@ class CfgAmmo caliber=1.12; hit=18; typicalSpeed=867; - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.489; ACE_bulletMass=220; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -230,7 +230,7 @@ class CfgAmmo caliber=1.15; hit=19; typicalSpeed=853; - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.602; ACE_bulletMass=230; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -244,7 +244,7 @@ class CfgAmmo class B_762x54_Ball: B_762x51_Ball { airFriction=-0.001023; typicalSpeed=820; - ACE_caliber=0.312; + ACE_caliber=0.007925; ACE_bulletLength=1.14; ACE_bulletMass=152; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -260,7 +260,7 @@ class CfgAmmo caliber=0.95; hit=15; typicalSpeed=820; - ACE_caliber=0.312; + ACE_caliber=0.007925; ACE_bulletLength=1.14; ACE_bulletMass=152; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -277,7 +277,7 @@ class CfgAmmo caliber=0.9; hit=15; typicalSpeed=800; - ACE_caliber=0.312; + ACE_caliber=0.007925; ACE_bulletLength=1.14; ACE_bulletMass=149; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -293,7 +293,7 @@ class CfgAmmo caliber=0.9; hit=11; typicalSpeed=790; - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.153; ACE_bulletMass=125; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -308,7 +308,7 @@ class CfgAmmo airFriction=-0.0015168; hit=12; typicalSpeed=716; - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.14; ACE_bulletMass=123; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -323,7 +323,7 @@ class CfgAmmo airFriction=-0.0015168; hit=12; typicalSpeed=716; - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.14; ACE_bulletMass=117; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -338,7 +338,7 @@ class CfgAmmo airFriction=-0.00125; typicalSpeed=390; hit=6; - ACE_caliber=0.356; + ACE_caliber=0.009042; ACE_bulletLength=0.610; ACE_bulletMass=115; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -353,7 +353,7 @@ class CfgAmmo hit=5; airFriction=-0.001234; typicalSpeed=298; - ACE_caliber=0.365; + ACE_caliber=0.009271; ACE_bulletLength=0.610; ACE_bulletMass=92.6; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -368,7 +368,7 @@ class CfgAmmo airFriction=-0.001234; typicalSpeed=370; hit=6; - ACE_caliber=0.355; + ACE_caliber=0.009017; ACE_bulletLength=0.610; ACE_bulletMass=124; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -383,7 +383,7 @@ class CfgAmmo airFriction=-0.00168; typicalSpeed=425; hit=7; - ACE_caliber=0.5; + ACE_caliber=0.0127; ACE_bulletLength=0.764; ACE_bulletMass=165; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -398,7 +398,7 @@ class CfgAmmo airFriction=-0.001213; typicalSpeed=282; hit=7; - ACE_caliber=0.3125; + ACE_caliber=0.007938; ACE_bulletLength=0.610; ACE_bulletMass=65; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -412,7 +412,7 @@ class CfgAmmo class ACE_303_Ball : ACE_762x51_Ball_M118LR { airFriction=-0.00083; typicalSpeed=761; - ACE_caliber=0.311; + ACE_caliber=0.007899; ACE_bulletLength=1.227; ACE_bulletMass=174; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -426,7 +426,7 @@ class CfgAmmo class B_93x64_Ball : BulletBase { airFriction=-0.00106; typicalSpeed=880; - ACE_caliber=0.366; + ACE_caliber=0.009296; ACE_bulletLength=1.350; ACE_bulletMass=230; ACE_transonicStabilityCoef=1; @@ -442,7 +442,7 @@ class CfgAmmo timeToLive=10; airFriction=-0.000395; typicalSpeed=910; - ACE_caliber=0.408; + ACE_caliber=0.010363; ACE_bulletLength=2.126; ACE_bulletMass=410; ACE_transonicStabilityCoef=1; @@ -456,7 +456,7 @@ class CfgAmmo }; class ACE_106x83mm_Ball : B_408_Ball { timeToLive=10; - ACE_caliber=0.416; + ACE_caliber=0.010566; ACE_bulletLength=2.089; ACE_bulletMass=398; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -471,7 +471,7 @@ class CfgAmmo timeToLive=10; airFriction=-0.000606; typicalSpeed=915; - ACE_caliber=0.338; + ACE_caliber=0.008585; ACE_bulletLength=1.558; ACE_bulletMass=250; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -485,7 +485,7 @@ class CfgAmmo class B_338_NM_Ball : BulletBase { airFriction=-0.000537; typicalSpeed=820; - ACE_caliber=0.338; + ACE_caliber=0.008585; ACE_bulletLength=1.70; ACE_bulletMass=300; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -501,7 +501,7 @@ class CfgAmmo airFriction=-0.000535; caliber=1.55; typicalSpeed=826; - ACE_caliber=0.338; + ACE_caliber=0.008585; ACE_bulletLength=1.70; ACE_bulletMass=300; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -517,7 +517,7 @@ class CfgAmmo airFriction=-0.000673; caliber=2.4; typicalSpeed=826; - ACE_caliber=0.338; + ACE_caliber=0.008585; ACE_bulletLength=1.535; ACE_bulletMass=253; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -531,7 +531,7 @@ class CfgAmmo class B_127x54_Ball : BulletBase { airFriction=-0.00014; typicalSpeed=300; - ACE_caliber=0.510; + ACE_caliber=0.012954; ACE_bulletLength=2.540; ACE_bulletMass=750; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -546,7 +546,7 @@ class CfgAmmo timeToLive=10; airFriction=-0.0006; typicalSpeed=853; - ACE_caliber=0.510; + ACE_caliber=0.012954; ACE_bulletLength=2.310; ACE_bulletMass=647; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -561,7 +561,7 @@ class CfgAmmo timeToLive=10; airFriction=-0.000374; typicalSpeed=860; - ACE_caliber=0.510; + ACE_caliber=0.012954; ACE_bulletLength=2.540; ACE_bulletMass=750; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -576,7 +576,7 @@ class CfgAmmo timeToLive=10; airFriction=-0.00064; typicalSpeed=820; - ACE_caliber=0.511; + ACE_caliber=0.012979; ACE_bulletLength=2.520; ACE_bulletMass=745; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -590,7 +590,7 @@ class CfgAmmo class B_45ACP_Ball : BulletBase { airFriction=-0.0007182; typicalSpeed=250; - ACE_caliber=0.452; + ACE_caliber=0.011481; ACE_bulletLength=0.68; ACE_bulletMass=230; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -604,7 +604,7 @@ class CfgAmmo class TMR_B_762x51_M118LR : B_762x51_Ball { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.24; ACE_bulletMass=175; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -618,7 +618,7 @@ class CfgAmmo class RH_50_AE_Ball: BulletBase { - ACE_caliber=0.5; + ACE_caliber=0.0127; ACE_bulletLength=1.110; ACE_bulletMass=325; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -631,7 +631,7 @@ class CfgAmmo }; class RH_454_Casull: BulletBase { - ACE_caliber=0.452; + ACE_caliber=0.011481; ACE_bulletLength=0.895; ACE_bulletMass=325; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -644,7 +644,7 @@ class CfgAmmo }; class RH_32ACP: BulletBase { - ACE_caliber=0.3125; + ACE_caliber=0.007938; ACE_bulletLength=0.610; ACE_bulletMass=65; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -657,7 +657,7 @@ class CfgAmmo }; class RH_45ACP: BulletBase { - ACE_caliber=0.452; + ACE_caliber=0.011481; ACE_bulletLength=0.68; ACE_bulletMass=230; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -670,7 +670,7 @@ class CfgAmmo }; class RH_B_40SW: BulletBase { - ACE_caliber=0.4; + ACE_caliber=0.01016; ACE_bulletLength=0.447; ACE_bulletMass=135; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -683,7 +683,7 @@ class CfgAmmo }; class RH_44mag_ball: BulletBase { - ACE_caliber=0.429; + ACE_caliber=0.010897; ACE_bulletLength=0.804; ACE_bulletMass=200; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -696,7 +696,7 @@ class CfgAmmo }; class RH_357mag_ball: BulletBase { - ACE_caliber=0.357; + ACE_caliber=0.009068; ACE_bulletLength=0.541; ACE_bulletMass=125; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -709,7 +709,7 @@ class CfgAmmo }; class RH_762x25: BulletBase { - ACE_caliber=0.310; + ACE_caliber=0.007874; ACE_bulletLength=0.5455; ACE_bulletMass=86; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -722,7 +722,7 @@ class CfgAmmo }; class RH_9x18_Ball: BulletBase { - ACE_caliber=0.365; + ACE_caliber=0.009271; ACE_bulletLength=0.610; ACE_bulletMass=92.6; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -735,7 +735,7 @@ class CfgAmmo }; class RH_B_9x19_Ball: BulletBase { - ACE_caliber=0.355; + ACE_caliber=0.009017; ACE_bulletLength=0.610; ACE_bulletMass=124; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -748,7 +748,7 @@ class CfgAmmo }; class RH_B_22LR_SD: BulletBase { - ACE_caliber=0.223; + ACE_caliber=0.005664; ACE_bulletLength=0.45; ACE_bulletMass=38; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -761,7 +761,7 @@ class CfgAmmo }; class RH_57x28mm: BulletBase { - ACE_caliber=0.224; + ACE_caliber=0.00569; ACE_bulletLength=0.495; ACE_bulletMass=28; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -775,7 +775,7 @@ class CfgAmmo class RH_9x19_B_M822: BulletBase { - ACE_caliber=0.355; + ACE_caliber=0.009017; ACE_bulletLength=0.610; ACE_bulletMass=124; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -788,7 +788,7 @@ class CfgAmmo }; class RH_9x19_B_HP: BulletBase { - ACE_caliber=0.355; + ACE_caliber=0.009017; ACE_bulletLength=0.610; ACE_bulletMass=124; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -801,7 +801,7 @@ class CfgAmmo }; class RH_9x19_B_HPSB: BulletBase { - ACE_caliber=0.355; + ACE_caliber=0.009017; ACE_bulletLength=0.603; ACE_bulletMass=147; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -814,7 +814,7 @@ class CfgAmmo }; class RH_B_6x35: BulletBase { - ACE_caliber=0.224; + ACE_caliber=0.00569; ACE_bulletLength=0.445; ACE_bulletMass=65; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -827,7 +827,7 @@ class CfgAmmo }; class RH_556x45_B_M855A1 : B_556x45_Ball { - ACE_caliber=0.224; + ACE_caliber=0.00569; ACE_bulletLength=0.906; ACE_bulletMass=62; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; @@ -840,7 +840,7 @@ class CfgAmmo }; class RH_556x45_B_Mk262 : B_556x45_Ball { - ACE_caliber=0.224; + ACE_caliber=0.00569; ACE_bulletLength=0.906; ACE_bulletMass=77; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -853,7 +853,7 @@ class CfgAmmo }; class RH_556x45_B_Mk318 : B_556x45_Ball { - ACE_caliber=0.224; + ACE_caliber=0.00569; ACE_bulletLength=0.906; ACE_bulletMass=62; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -866,7 +866,7 @@ class CfgAmmo }; class RH_68x43_B_FMJ: B_65x39_Caseless { - ACE_caliber=0.277; + ACE_caliber=0.007036; ACE_bulletLength=0.959; ACE_bulletMass=115; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -879,7 +879,7 @@ class CfgAmmo }; class RH_68x43_B_Match: B_65x39_Caseless { - ACE_caliber=0.277; + ACE_caliber=0.007036; ACE_bulletLength=1.250; ACE_bulletMass=135; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -892,7 +892,7 @@ class CfgAmmo }; class RH_762x35_B_FMJ: B_65x39_Caseless { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.118; ACE_bulletMass=147; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -905,7 +905,7 @@ class CfgAmmo }; class RH_762x35_B_Match: B_65x39_Caseless { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.153; ACE_bulletMass=125; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -918,7 +918,7 @@ class CfgAmmo }; class RH_762x35_B_MSB: B_65x39_Caseless { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.489; ACE_bulletMass=220; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -931,7 +931,7 @@ class CfgAmmo }; class RH_762x51_B_M80A1 : B_762x51_Ball { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.14; ACE_bulletMass=146; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -944,7 +944,7 @@ class CfgAmmo }; class RH_762x51_B_Mk316LR : B_762x51_Ball { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.24; ACE_bulletMass=175; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -957,7 +957,7 @@ class CfgAmmo }; class RH_762x51_B_Mk319 : B_762x51_Ball { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.074; ACE_bulletMass=130; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -970,7 +970,7 @@ class CfgAmmo }; class RH_762x51_B_LFMJSB: B_762x51_Ball { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.340; ACE_bulletMass=200; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -984,7 +984,7 @@ class CfgAmmo class HLC_556NATO_SOST: BulletBase { - ACE_caliber=0.224; + ACE_caliber=0.00569; ACE_bulletLength=0.906; ACE_bulletMass=62; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -997,7 +997,7 @@ class CfgAmmo }; class HLC_556NATO_SPR: BulletBase { - ACE_caliber=0.224; + ACE_caliber=0.00569; ACE_bulletLength=0.906; ACE_bulletMass=77; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1010,7 +1010,7 @@ class CfgAmmo }; class HLC_556NATO_EPR: BulletBase { - ACE_caliber=0.224; + ACE_caliber=0.00569; ACE_bulletLength=0.906; ACE_bulletMass=62; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; @@ -1023,7 +1023,7 @@ class CfgAmmo }; class HLC_300Blackout_Ball: BulletBase { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.118; ACE_bulletMass=147; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1036,7 +1036,7 @@ class CfgAmmo }; class HLC_300Blackout_SMK: BulletBase { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.489; ACE_bulletMass=220; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1049,7 +1049,7 @@ class CfgAmmo }; class HLC_762x51_BTSub: BulletBase { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.340; ACE_bulletMass=200; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -1062,7 +1062,7 @@ class CfgAmmo }; class HLC_762x54_ball: BulletBase { - ACE_caliber=0.312; + ACE_caliber=0.007925; ACE_bulletLength=1.14; ACE_bulletMass=152; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1075,7 +1075,7 @@ class CfgAmmo }; class HLC_762x54_tracer: BulletBase { - ACE_caliber=0.312; + ACE_caliber=0.007925; ACE_bulletLength=1.14; ACE_bulletMass=149; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1088,7 +1088,7 @@ class CfgAmmo }; class HLC_303Brit_B: BulletBase { - ACE_caliber=0.311; + ACE_caliber=0.007899; ACE_bulletLength=1.227; ACE_bulletMass=174; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1101,7 +1101,7 @@ class CfgAmmo }; class HLC_792x57_Ball: BulletBase { - ACE_caliber=0.318; + ACE_caliber=0.008077; ACE_bulletLength=1.128; ACE_bulletMass=196; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1114,7 +1114,7 @@ class CfgAmmo }; class FH_545x39_Ball: BulletBase { - ACE_caliber=0.220; + ACE_caliber=0.005588; ACE_bulletLength=0.85; ACE_bulletMass=52.9; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1134,7 +1134,7 @@ class CfgAmmo }; class HLC_9x19_Ball: BulletBase { - ACE_caliber=0.355; + ACE_caliber=0.009017; ACE_bulletLength=0.610; ACE_bulletMass=124; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -1155,7 +1155,7 @@ class CfgAmmo }; class HLC_10mm_FMJ: HLC_9x19_Ball { - ACE_caliber=0.5; + ACE_caliber=0.0127; ACE_bulletLength=0.764; ACE_bulletMass=165; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -1168,7 +1168,7 @@ class CfgAmmo }; class HLC_9x19_M882_SMG: HLC_9x19_Ball { - ACE_caliber=0.355; + ACE_caliber=0.009017; ACE_bulletLength=0.610; ACE_bulletMass=124; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -1182,7 +1182,7 @@ class CfgAmmo class M_mas_545x39_Ball_7N6M : BulletBase { - ACE_caliber=0.220; + ACE_caliber=0.005588; ACE_bulletLength=0.85; ACE_bulletMass=52.9; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1195,7 +1195,7 @@ class CfgAmmo }; class M_mas_545x39_Ball_7T3M : BulletBase { - ACE_caliber=0.220; + ACE_caliber=0.005588; ACE_bulletLength=0.85; ACE_bulletMass=49.8; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1208,7 +1208,7 @@ class CfgAmmo }; class B_mas_556x45_Ball_Mk262 : B_556x45_Ball { - ACE_caliber=0.224; + ACE_caliber=0.00569; ACE_bulletLength=0.906; ACE_bulletMass=77; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1221,7 +1221,7 @@ class CfgAmmo }; class B_mas_9x18_Ball_57N181S : BulletBase { - ACE_caliber=0.365; + ACE_caliber=0.009271; ACE_bulletLength=0.610; ACE_bulletMass=92.6; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -1234,7 +1234,7 @@ class CfgAmmo }; class B_mas_9x21p_Ball: BulletBase { - ACE_caliber=0.355; + ACE_caliber=0.009017; ACE_bulletLength=0.610; ACE_bulletMass=124; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -1247,7 +1247,7 @@ class CfgAmmo }; class B_mas_9x21_Ball: BulletBase { - ACE_caliber=0.355; + ACE_caliber=0.009017; ACE_bulletLength=0.610; ACE_bulletMass=124; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -1260,7 +1260,7 @@ class CfgAmmo }; class B_mas_9x21d_Ball: BulletBase { - ACE_caliber=0.355; + ACE_caliber=0.009017; ACE_bulletLength=0.610; ACE_bulletMass=124; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -1273,7 +1273,7 @@ class CfgAmmo }; class B_mas_765x17_Ball: BulletBase { - ACE_caliber=0.3125; + ACE_caliber=0.007938; ACE_bulletLength=0.610; ACE_bulletMass=65; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -1286,7 +1286,7 @@ class CfgAmmo }; class B_mas_762x39_Ball: BulletBase { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.14; ACE_bulletMass=123; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1299,7 +1299,7 @@ class CfgAmmo }; class B_mas_762x39_Ball_T: BulletBase { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.14; ACE_bulletMass=117; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1312,7 +1312,7 @@ class CfgAmmo }; class B_mas_762x51_Ball_M118LR : B_762x51_Ball { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.24; ACE_bulletMass=175; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1325,7 +1325,7 @@ class CfgAmmo }; class B_mas_762x67_Ball_Mk248_Mod_0 : B_762x51_Ball { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.353; ACE_bulletMass=190; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1338,7 +1338,7 @@ class CfgAmmo }; class B_mas_762x67_Ball_Mk248_Mod_1 : B_762x51_Ball { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.489; ACE_bulletMass=220; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1351,7 +1351,7 @@ class CfgAmmo }; class B_mas_762x67_Ball_Berger_Hybrid_OTM : B_762x51_Ball { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.602; ACE_bulletMass=230; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1364,7 +1364,7 @@ class CfgAmmo }; class B_mas_762x54_Ball : BulletBase { - ACE_caliber=0.312; + ACE_caliber=0.007925; ACE_bulletLength=1.14; ACE_bulletMass=152; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1377,7 +1377,7 @@ class CfgAmmo }; class B_mas_762x54_Ball_T : BulletBase { - ACE_caliber=0.312; + ACE_caliber=0.007925; ACE_bulletLength=1.14; ACE_bulletMass=149; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1390,7 +1390,7 @@ class CfgAmmo }; class BWA3_B_762x51_Ball_LR : BulletBase { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.24; ACE_bulletMass=175; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1403,7 +1403,7 @@ class CfgAmmo }; class BWA3_B_762x51_Ball_SD : BulletBase { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.24; ACE_bulletMass=175; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -1417,7 +1417,7 @@ class CfgAmmo class BWA3_B_46x30_Ball : BulletBase { - ACE_caliber=0.193; + ACE_caliber=0.004902; ACE_bulletLength=0.512; ACE_bulletMass=31; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1431,7 +1431,7 @@ class CfgAmmo class Trixie_338_Ball : BulletBase { - ACE_caliber=0.338; + ACE_caliber=0.008585; ACE_bulletLength=1.70; ACE_bulletMass=300; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1444,7 +1444,7 @@ class CfgAmmo }; class Trixie_303_Ball : BulletBase { - ACE_caliber=0.311; + ACE_caliber=0.007899; ACE_bulletLength=1.227; ACE_bulletMass=174; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1458,7 +1458,7 @@ class CfgAmmo class rhs_ammo_556x45_Mk318_Ball : BulletBase { - ACE_caliber=0.224; + ACE_caliber=0.00569; ACE_bulletLength=0.906; ACE_bulletMass=62; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1471,7 +1471,7 @@ class CfgAmmo }; class rhs_ammo_556x45_Mk262_Ball : BulletBase { - ACE_caliber=0.224; + ACE_caliber=0.00569; ACE_bulletLength=0.906; ACE_bulletMass=77; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1484,7 +1484,7 @@ class CfgAmmo }; class rhsammo_762x51_Ball : BulletBase { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.14; ACE_bulletMass=146; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1497,7 +1497,7 @@ class CfgAmmo }; class rhs_B_545x39_Ball : BulletBase { - ACE_caliber=0.220; + ACE_caliber=0.005588; ACE_bulletLength=0.85; ACE_bulletMass=52.9; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1510,7 +1510,7 @@ class CfgAmmo }; class rhs_B_545x39_Ball_Tracer_Green : BulletBase { - ACE_caliber=0.220; + ACE_caliber=0.005588; ACE_bulletLength=0.85; ACE_bulletMass=49.8; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1523,7 +1523,7 @@ class CfgAmmo }; class rhs_ammo_762x51_M118_Special_Ball : BulletBase { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.24; ACE_bulletMass=175; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1536,7 +1536,7 @@ class CfgAmmo }; class rhs_B_762x54_Ball : BulletBase { - ACE_caliber=0.312; + ACE_caliber=0.007925; ACE_bulletLength=1.14; ACE_bulletMass=152; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1549,7 +1549,7 @@ class CfgAmmo }; class rhs_B_762x54_Ball_Tracer_Green : BulletBase { - ACE_caliber=0.312; + ACE_caliber=0.007925; ACE_bulletLength=1.14; ACE_bulletMass=149; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1562,7 +1562,7 @@ class CfgAmmo }; class rhs_B_762x39_Ball : BulletBase { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.14; ACE_bulletMass=123; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1575,7 +1575,7 @@ class CfgAmmo }; class rhs_B_762x39_Tracer : BulletBase { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.14; ACE_bulletMass=117; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1588,7 +1588,7 @@ class CfgAmmo }; class rhs_ammo_762x51_M80_Ball : BulletBase { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.14; ACE_bulletMass=146; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1601,7 +1601,7 @@ class CfgAmmo }; class rhsusf_B_300winmag : BulletBase { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.489; ACE_bulletMass=220; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1615,7 +1615,7 @@ class CfgAmmo class R3F_9x19_Ball: BulletBase { - ACE_caliber=0.355; + ACE_caliber=0.009017; ACE_bulletLength=0.610; ACE_bulletMass=124; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -1628,7 +1628,7 @@ class CfgAmmo }; class R3F_556x45_Ball: BulletBase { - ACE_caliber=0.224; + ACE_caliber=0.00569; ACE_bulletLength=0.906; ACE_bulletMass=62; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; @@ -1641,7 +1641,7 @@ class CfgAmmo }; class R3F_762x51_Ball: BulletBase { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.14; ACE_bulletMass=146; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1654,7 +1654,7 @@ class CfgAmmo }; class R3F_762x51_Ball2: BulletBase { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.24; ACE_bulletMass=175; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1667,7 +1667,7 @@ class CfgAmmo }; class R3F_127x99_Ball: BulletBase { - ACE_caliber=0.510; + ACE_caliber=0.012954; ACE_bulletLength=2.310; ACE_bulletMass=647; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1680,7 +1680,7 @@ class CfgAmmo }; class R3F_127x99_Ball2: BulletBase { - ACE_caliber=0.510; + ACE_caliber=0.012954; ACE_bulletLength=2.310; ACE_bulletMass=647; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1694,7 +1694,7 @@ class CfgAmmo class CUP_B_545x39_Ball: BulletBase { - ACE_caliber=0.220; + ACE_caliber=0.005588; ACE_bulletLength=0.85; ACE_bulletMass=52.9; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1707,7 +1707,7 @@ class CfgAmmo }; class CUP_B_545x39_Ball_Tracer_Green: BulletBase { - ACE_caliber=0.220; + ACE_caliber=0.005588; ACE_bulletLength=0.85; ACE_bulletMass=49.8; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1720,7 +1720,7 @@ class CfgAmmo }; class CUP_B_545x39_Ball_Tracer_Red: BulletBase { - ACE_caliber=0.220; + ACE_caliber=0.005588; ACE_bulletLength=0.85; ACE_bulletMass=49.8; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1733,7 +1733,7 @@ class CfgAmmo }; class CUP_B_545x39_Ball_Tracer_White: BulletBase { - ACE_caliber=0.220; + ACE_caliber=0.005588; ACE_bulletLength=0.85; ACE_bulletMass=49.8; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1746,7 +1746,7 @@ class CfgAmmo }; class CUP_B_545x39_Ball_Tracer_Yellow: BulletBase { - ACE_caliber=0.220; + ACE_caliber=0.005588; ACE_bulletLength=0.85; ACE_bulletMass=49.8; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1759,7 +1759,7 @@ class CfgAmmo }; class CUP_B_762x39_Ball: BulletBase { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.14; ACE_bulletMass=123; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1772,7 +1772,7 @@ class CfgAmmo }; class CUP_B_762x39_Ball_Tracer_Green: BulletBase { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.14; ACE_bulletMass=117; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1785,7 +1785,7 @@ class CfgAmmo }; class B_762x39mm_KLT: BulletBase { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.14; ACE_bulletMass=123; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1798,7 +1798,7 @@ class CfgAmmo }; class CUP_B_9x18_Ball: BulletBase { - ACE_caliber=0.365; + ACE_caliber=0.009271; ACE_bulletLength=0.610; ACE_bulletMass=92.6; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -1811,7 +1811,7 @@ class CfgAmmo }; class CUP_B_9x18_Ball_Tracer_Green: BulletBase { - ACE_caliber=0.365; + ACE_caliber=0.009271; ACE_bulletLength=0.610; ACE_bulletMass=92.6; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -1824,7 +1824,7 @@ class CfgAmmo }; class CUP_B_9x18_Ball_Tracer_Red: BulletBase { - ACE_caliber=0.365; + ACE_caliber=0.009271; ACE_bulletLength=0.610; ACE_bulletMass=92.6; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -1837,7 +1837,7 @@ class CfgAmmo }; class CUP_B_9x18_Ball_Tracer_Yellow: BulletBase { - ACE_caliber=0.365; + ACE_caliber=0.009271; ACE_bulletLength=0.610; ACE_bulletMass=92.6; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -1850,7 +1850,7 @@ class CfgAmmo }; class CUP_B_9x18_Ball_White_Tracer: BulletBase { - ACE_caliber=0.365; + ACE_caliber=0.009271; ACE_bulletLength=0.610; ACE_bulletMass=92.6; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -1863,7 +1863,7 @@ class CfgAmmo }; class CUP_B_9x19_Ball: BulletBase { - ACE_caliber=0.355; + ACE_caliber=0.009017; ACE_bulletLength=0.610; ACE_bulletMass=124; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -1876,7 +1876,7 @@ class CfgAmmo }; class CUP_B_762x51_noTracer: BulletBase { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.14; ACE_bulletMass=146; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1889,7 +1889,7 @@ class CfgAmmo }; class CUP_B_762x51_Red_Tracer_3RndBurst: BulletBase { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.14; ACE_bulletMass=146; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1902,7 +1902,7 @@ class CfgAmmo }; class CUP_B_762x51_White_Tracer_3RndBurst: BulletBase { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.14; ACE_bulletMass=146; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1915,7 +1915,7 @@ class CfgAmmo }; class CUP_B_303_Ball: BulletBase { - ACE_caliber=0.311; + ACE_caliber=0.007899; ACE_bulletLength=1.227; ACE_bulletMass=174; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1928,7 +1928,7 @@ class CfgAmmo }; class CUP_B_127x107_Ball_Green_Tracer: BulletBase { - ACE_caliber=0.511; + ACE_caliber=0.012979; ACE_bulletLength=2.520; ACE_bulletMass=745; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1941,7 +1941,7 @@ class CfgAmmo }; class CUP_B_127x108_Ball_Green_Tracer: BulletBase { - ACE_caliber=0.511; + ACE_caliber=0.012979; ACE_bulletLength=2.520; ACE_bulletMass=745; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1954,7 +1954,7 @@ class CfgAmmo }; class CUP_B_762x54_Ball_White_Tracer: BulletBase { - ACE_caliber=0.312; + ACE_caliber=0.007925; ACE_bulletLength=1.14; ACE_bulletMass=149; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1967,7 +1967,7 @@ class CfgAmmo }; class CUP_B_762x54_Ball_Red_Tracer: BulletBase { - ACE_caliber=0.312; + ACE_caliber=0.007925; ACE_bulletLength=1.14; ACE_bulletMass=149; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1980,7 +1980,7 @@ class CfgAmmo }; class CUP_B_762x54_Ball_Green_Tracer: BulletBase { - ACE_caliber=0.312; + ACE_caliber=0.007925; ACE_bulletLength=1.14; ACE_bulletMass=149; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1993,7 +1993,7 @@ class CfgAmmo }; class CUP_B_762x54_Ball_Yellow_Tracer: BulletBase { - ACE_caliber=0.312; + ACE_caliber=0.007925; ACE_bulletLength=1.14; ACE_bulletMass=149; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -2006,7 +2006,7 @@ class CfgAmmo }; class CUP_B_9x39_SP5: BulletBase { - ACE_caliber=0.364; + ACE_caliber=0.009246; ACE_bulletLength=1.24; ACE_bulletMass=250; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -2019,7 +2019,7 @@ class CfgAmmo }; class CUP_B_762x51_Tracer_Green: BulletBase { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.14; ACE_bulletMass=146; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -2032,7 +2032,7 @@ class CfgAmmo }; class CUP_B_762x51_Tracer_Red: BulletBase { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.14; ACE_bulletMass=146; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -2045,7 +2045,7 @@ class CfgAmmo }; class CUP_B_762x51_Tracer_Yellow: BulletBase { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.14; ACE_bulletMass=146; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -2058,7 +2058,7 @@ class CfgAmmo }; class CUP_B_762x51_Tracer_White: BulletBase { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.14; ACE_bulletMass=146; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -2071,7 +2071,7 @@ class CfgAmmo }; class B_127x107_Ball: BulletBase { - ACE_caliber=0.511; + ACE_caliber=0.012979; ACE_bulletLength=2.520; ACE_bulletMass=745; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -2084,7 +2084,7 @@ class CfgAmmo }; class CUP_B_9x18_SD: BulletBase { - ACE_caliber=0.365; + ACE_caliber=0.009271; ACE_bulletLength=0.610; ACE_bulletMass=92.6; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -2097,7 +2097,7 @@ class CfgAmmo }; class CUP_B_765x17_Ball: BulletBase { - ACE_caliber=0.3125; + ACE_caliber=0.007938; ACE_bulletLength=0.610; ACE_bulletMass=65; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -2110,7 +2110,7 @@ class CfgAmmo }; class CUP_B_145x115_AP_Green_Tracer: BulletBase { - ACE_caliber=0.586; + ACE_caliber=0.014884; ACE_bulletLength=2.00; ACE_bulletMass=1010; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -2123,7 +2123,7 @@ class CfgAmmo }; class CUP_B_127x99_Ball_White_Tracer: BulletBase { - ACE_caliber=0.510; + ACE_caliber=0.012954; ACE_bulletLength=2.310; ACE_bulletMass=647; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -2136,7 +2136,7 @@ class CfgAmmo }; class CUP_B_86x70_Ball_noTracer: BulletBase { - ACE_caliber=0.338; + ACE_caliber=0.008585; ACE_bulletLength=1.70; ACE_bulletMass=300; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -2150,7 +2150,7 @@ class CfgAmmo class VTN_9x18_Ball_FMJ: B_9x21_Ball { - ACE_caliber=0.365; + ACE_caliber=0.009271; ACE_bulletLength=0.610; ACE_bulletMass=92.6; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -2163,7 +2163,7 @@ class CfgAmmo }; class VTN_9x18_Ball_SC: VTN_9x18_Ball_FMJ { - ACE_caliber=0.365; + ACE_caliber=0.009271; ACE_bulletLength=0.610; ACE_bulletMass=92.6; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -2176,7 +2176,7 @@ class CfgAmmo }; class VTN_9x18_Ball_TRC: VTN_9x18_Ball_FMJ { - ACE_caliber=0.365; + ACE_caliber=0.009271; ACE_bulletLength=0.610; ACE_bulletMass=92.6; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -2189,7 +2189,7 @@ class CfgAmmo }; class VTN_9x18_Ball_AP1: VTN_9x18_Ball_FMJ { - ACE_caliber=0.365; + ACE_caliber=0.009271; ACE_bulletLength=0.610; ACE_bulletMass=92.6; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -2202,7 +2202,7 @@ class CfgAmmo }; class VTN_9x18_Ball_AP2: VTN_9x18_Ball_FMJ { - ACE_caliber=0.365; + ACE_caliber=0.009271; ACE_bulletLength=0.610; ACE_bulletMass=92.6; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -2215,7 +2215,7 @@ class CfgAmmo }; class VTN_9x18_Ball_PRS: VTN_9x18_Ball_FMJ { - ACE_caliber=0.365; + ACE_caliber=0.009271; ACE_bulletLength=0.610; ACE_bulletMass=92.6; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -2228,7 +2228,7 @@ class CfgAmmo }; class VTN_9x19_Ball_SC: VTN_9x18_Ball_FMJ { - ACE_caliber=0.355; + ACE_caliber=0.009017; ACE_bulletLength=0.610; ACE_bulletMass=124; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -2241,7 +2241,7 @@ class CfgAmmo }; class VTN_9x19_Ball_TRC: VTN_9x19_Ball_SC { - ACE_caliber=0.355; + ACE_caliber=0.009017; ACE_bulletLength=0.610; ACE_bulletMass=124; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -2254,7 +2254,7 @@ class CfgAmmo }; class VTN_9x19_Ball_AP: VTN_9x19_Ball_SC { - ACE_caliber=0.355; + ACE_caliber=0.009017; ACE_bulletLength=0.610; ACE_bulletMass=124; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -2267,7 +2267,7 @@ class CfgAmmo }; class VTN_9x19_Ball_PRS: VTN_9x19_Ball_SC { - ACE_caliber=0.355; + ACE_caliber=0.009017; ACE_bulletLength=0.610; ACE_bulletMass=124; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -2280,7 +2280,7 @@ class CfgAmmo }; class VTN_9x39_Ball_SC: B_9x21_Ball { - ACE_caliber=0.364; + ACE_caliber=0.009246; ACE_bulletLength=1.24; ACE_bulletMass=250; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -2293,7 +2293,7 @@ class CfgAmmo }; class VTN_9x39_Ball_AP: VTN_9x39_Ball_SC { - ACE_caliber=0.364; + ACE_caliber=0.009246; ACE_bulletLength=1.24; ACE_bulletMass=250; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -2306,7 +2306,7 @@ class CfgAmmo }; class VTN_545x39_Ball_SC: B_556x45_Ball { - ACE_caliber=0.220; + ACE_caliber=0.005588; ACE_bulletLength=0.85; ACE_bulletMass=52.9; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -2319,7 +2319,7 @@ class CfgAmmo }; class VTN_545x39_Ball_TRC: VTN_545x39_Ball_SC { - ACE_caliber=0.220; + ACE_caliber=0.005588; ACE_bulletLength=0.85; ACE_bulletMass=49.8; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -2332,7 +2332,7 @@ class CfgAmmo }; class VTN_545x39_Ball_AP: VTN_545x39_Ball_TRC { - ACE_caliber=0.220; + ACE_caliber=0.005588; ACE_bulletLength=0.85; ACE_bulletMass=52.9; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -2345,7 +2345,7 @@ class CfgAmmo }; class VTN_545x39_Ball_AP2: VTN_545x39_Ball_AP { - ACE_caliber=0.220; + ACE_caliber=0.005588; ACE_bulletLength=0.85; ACE_bulletMass=52.9; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -2358,7 +2358,7 @@ class CfgAmmo }; class VTN_545x39_Ball_SS: VTN_545x39_Ball_SC { - ACE_caliber=0.220; + ACE_caliber=0.005588; ACE_bulletLength=0.85; ACE_bulletMass=52.9; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -2371,7 +2371,7 @@ class CfgAmmo }; class VTN_762x39_Ball_SC: B_762x51_Ball { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.14; ACE_bulletMass=123; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -2384,7 +2384,7 @@ class CfgAmmo }; class VTN_762x39_Ball_TRC: VTN_762x39_Ball_SC { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.14; ACE_bulletMass=117; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -2397,7 +2397,7 @@ class CfgAmmo }; class VTN_762x39_Ball_AP: VTN_762x39_Ball_TRC { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.14; ACE_bulletMass=123; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -2410,7 +2410,7 @@ class CfgAmmo }; class VTN_762x39_Ball_INC: VTN_762x39_Ball_AP { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.14; ACE_bulletMass=123; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -2423,7 +2423,7 @@ class CfgAmmo }; class VTN_762x39_Ball_API: VTN_762x39_Ball_INC { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.14; ACE_bulletMass=123; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -2436,7 +2436,7 @@ class CfgAmmo }; class VTN_762x39_Ball_SS: VTN_762x39_Ball_SC { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.14; ACE_bulletMass=123; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -2449,7 +2449,7 @@ class CfgAmmo }; class VTN_762x41_Ball_SS: B_762x51_Ball { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=0.53; ACE_bulletMass=143; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -2462,7 +2462,7 @@ class CfgAmmo }; class VTN_762x54_Ball_SC: VTN_762x39_Ball_SC { - ACE_caliber=0.312; + ACE_caliber=0.007925; ACE_bulletLength=1.14; ACE_bulletMass=152; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -2475,7 +2475,7 @@ class CfgAmmo }; class VTN_762x54_Ball_TRC: VTN_762x54_Ball_SC { - ACE_caliber=0.312; + ACE_caliber=0.007925; ACE_bulletLength=1.14; ACE_bulletMass=149; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -2488,7 +2488,7 @@ class CfgAmmo }; class VTN_762x54_Ball_AP: VTN_762x54_Ball_TRC { - ACE_caliber=0.312; + ACE_caliber=0.007925; ACE_bulletLength=1.14; ACE_bulletMass=152; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -2501,7 +2501,7 @@ class CfgAmmo }; class VTN_762x54_Ball_INC: VTN_762x54_Ball_AP { - ACE_caliber=0.312; + ACE_caliber=0.007925; ACE_bulletLength=1.14; ACE_bulletMass=152; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -2514,7 +2514,7 @@ class CfgAmmo }; class VTN_762x54_Ball_API: VTN_762x54_Ball_INC { - ACE_caliber=0.312; + ACE_caliber=0.007925; ACE_bulletLength=1.14; ACE_bulletMass=152; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -2527,7 +2527,7 @@ class CfgAmmo }; class VTN_145x114_Ball_APT: B_127x108_Ball { - ACE_caliber=0.586; + ACE_caliber=0.014884; ACE_bulletLength=2.00; ACE_bulletMass=1010; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -2540,7 +2540,7 @@ class CfgAmmo }; class VTN_6mm_BB: B_65x39_Caseless { - ACE_caliber=0.24; + ACE_caliber=0.006096; ACE_bulletLength=0.24; ACE_bulletMass=6; ACE_ammoTempMuzzleVelocityShifts[]={}; @@ -2553,7 +2553,7 @@ class CfgAmmo }; class VTN_9x19_Ball_FMJ: B_9x21_Ball { - ACE_caliber=0.355; + ACE_caliber=0.009017; ACE_bulletLength=0.610; ACE_bulletMass=124; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -2566,7 +2566,7 @@ class CfgAmmo }; class VTN_556x45_Ball_FMJ: B_556x45_Ball { - ACE_caliber=0.224; + ACE_caliber=0.00569; ACE_bulletLength=0.906; ACE_bulletMass=62; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; @@ -2579,7 +2579,7 @@ class CfgAmmo }; class VTN_556x45_Ball_TRC: VTN_556x45_Ball_FMJ { - ACE_caliber=0.224; + ACE_caliber=0.00569; ACE_bulletLength=0.906; ACE_bulletMass=62; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; @@ -2592,7 +2592,7 @@ class CfgAmmo }; class VTN_556x45_Ball_TRCN: VTN_556x45_Ball_TRC { - ACE_caliber=0.224; + ACE_caliber=0.00569; ACE_bulletLength=0.906; ACE_bulletMass=62; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; @@ -2605,7 +2605,7 @@ class CfgAmmo }; class VTN_556x45_Ball_SC: VTN_556x45_Ball_FMJ { - ACE_caliber=0.224; + ACE_caliber=0.00569; ACE_bulletLength=0.906; ACE_bulletMass=62; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; @@ -2618,7 +2618,7 @@ class CfgAmmo }; class VTN_556x45_Ball_AP: VTN_556x45_Ball_TRC { - ACE_caliber=0.224; + ACE_caliber=0.00569; ACE_bulletLength=0.906; ACE_bulletMass=62; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; @@ -2631,7 +2631,7 @@ class CfgAmmo }; class VTN_556x45_Ball_INC: VTN_556x45_Ball_AP { - ACE_caliber=0.224; + ACE_caliber=0.00569; ACE_bulletLength=0.906; ACE_bulletMass=62; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; @@ -2644,7 +2644,7 @@ class CfgAmmo }; class VTN_556x45_Ball_LR: VTN_556x45_Ball_FMJ { - ACE_caliber=0.224; + ACE_caliber=0.00569; ACE_bulletLength=0.906; ACE_bulletMass=77; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -2657,7 +2657,7 @@ class CfgAmmo }; class VTN_556x45_Ball_SS: B_556x45_Ball { - ACE_caliber=0.224; + ACE_caliber=0.00569; ACE_bulletLength=0.906; ACE_bulletMass=62; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -2670,7 +2670,7 @@ class CfgAmmo }; class VTN_762x51_Ball_SC: B_762x51_Ball { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.14; ACE_bulletMass=146; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -2683,7 +2683,7 @@ class CfgAmmo }; class VTN_762x51_Ball_TRC: VTN_762x51_Ball_SC { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.14; ACE_bulletMass=146; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -2696,7 +2696,7 @@ class CfgAmmo }; class VTN_762x51_Ball_TRCN: VTN_762x51_Ball_TRC { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.14; ACE_bulletMass=146; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -2709,7 +2709,7 @@ class CfgAmmo }; class VTN_762x51_Ball_AP: VTN_762x51_Ball_TRC { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.14; ACE_bulletMass=146; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -2722,7 +2722,7 @@ class CfgAmmo }; class VTN_762x51_Ball_LR: VTN_762x51_Ball_SC { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.24; ACE_bulletMass=175; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -2735,7 +2735,7 @@ class CfgAmmo }; class VTN_1143x23_Ball_FMJ: B_408_Ball { - ACE_caliber=0.452; + ACE_caliber=0.011481; ACE_bulletLength=0.68; ACE_bulletMass=230; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -2748,7 +2748,7 @@ class CfgAmmo }; class VTN_1143x23_Ball_HP: VTN_1143x23_Ball_FMJ { - ACE_caliber=0.452; + ACE_caliber=0.011481; ACE_bulletLength=0.68; ACE_bulletMass=230; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -2761,7 +2761,7 @@ class CfgAmmo }; class VTN_1143x23_Ball_JHP: VTN_1143x23_Ball_FMJ { - ACE_caliber=0.452; + ACE_caliber=0.011481; ACE_bulletLength=0.68; ACE_bulletMass=230; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -2774,7 +2774,7 @@ class CfgAmmo }; class VTN_762x39_Ball_FMJ: B_762x51_Ball { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.14; ACE_bulletMass=123; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -2787,7 +2787,7 @@ class CfgAmmo }; class VTN_45_Pellet: B_762x51_Ball { - ACE_caliber=0.22; + ACE_caliber=0.005588; ACE_bulletLength=0.23; ACE_bulletMass=3; ACE_ammoTempMuzzleVelocityShifts[]={}; diff --git a/optionals/compat_cup/CfgAmmo.hpp b/optionals/compat_cup/CfgAmmo.hpp index 1dcd91bc23..32e52aef30 100644 --- a/optionals/compat_cup/CfgAmmo.hpp +++ b/optionals/compat_cup/CfgAmmo.hpp @@ -5,7 +5,7 @@ class CfgAmmo class B_127x99_Ball; class CUP_B_545x39_Ball: BulletBase { - ACE_caliber=0.220; + ACE_caliber=0.005588; ACE_bulletLength=0.85; ACE_bulletMass=52.9; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -18,7 +18,7 @@ class CfgAmmo }; class CUP_B_545x39_Ball_Tracer_Green: CUP_B_545x39_Ball { - ACE_caliber=0.220; + ACE_caliber=0.005588; ACE_bulletLength=0.85; ACE_bulletMass=49.8; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -31,7 +31,7 @@ class CfgAmmo }; class CUP_B_545x39_Ball_Tracer_Red: BulletBase { - ACE_caliber=0.220; + ACE_caliber=0.005588; ACE_bulletLength=0.85; ACE_bulletMass=49.8; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -44,7 +44,7 @@ class CfgAmmo }; class CUP_B_545x39_Ball_Tracer_White: BulletBase { - ACE_caliber=0.220; + ACE_caliber=0.005588; ACE_bulletLength=0.85; ACE_bulletMass=49.8; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -57,7 +57,7 @@ class CfgAmmo }; class CUP_B_545x39_Ball_Tracer_Yellow: BulletBase { - ACE_caliber=0.220; + ACE_caliber=0.005588; ACE_bulletLength=0.85; ACE_bulletMass=49.8; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -70,7 +70,7 @@ class CfgAmmo }; class CUP_B_762x39_Ball: BulletBase { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.14; ACE_bulletMass=123; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -83,7 +83,7 @@ class CfgAmmo }; class CUP_B_762x39_Ball_Tracer_Green: BulletBase { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.14; ACE_bulletMass=117; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -96,7 +96,7 @@ class CfgAmmo }; class CUP_B_9x18_Ball: BulletBase { - ACE_caliber=0.365; + ACE_caliber=0.009271; ACE_bulletLength=0.610; ACE_bulletMass=92.6; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -109,7 +109,7 @@ class CfgAmmo }; class CUP_B_9x18_Ball_Tracer_Green: BulletBase { - ACE_caliber=0.365; + ACE_caliber=0.009271; ACE_bulletLength=0.610; ACE_bulletMass=92.6; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -122,7 +122,7 @@ class CfgAmmo }; class CUP_B_9x18_Ball_Tracer_Red: BulletBase { - ACE_caliber=0.365; + ACE_caliber=0.009271; ACE_bulletLength=0.610; ACE_bulletMass=92.6; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -135,7 +135,7 @@ class CfgAmmo }; class CUP_B_9x18_Ball_Tracer_Yellow: BulletBase { - ACE_caliber=0.365; + ACE_caliber=0.009271; ACE_bulletLength=0.610; ACE_bulletMass=92.6; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -148,7 +148,7 @@ class CfgAmmo }; class CUP_B_9x18_Ball_White_Tracer: BulletBase { - ACE_caliber=0.365; + ACE_caliber=0.009271; ACE_bulletLength=0.610; ACE_bulletMass=92.6; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -161,7 +161,7 @@ class CfgAmmo }; class CUP_B_9x19_Ball: BulletBase { - ACE_caliber=0.355; + ACE_caliber=0.009017; ACE_bulletLength=0.610; ACE_bulletMass=124; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -174,7 +174,7 @@ class CfgAmmo }; class CUP_B_762x51_noTracer: B_762x51_Ball { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.14; ACE_bulletMass=146; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -187,7 +187,7 @@ class CfgAmmo }; class CUP_B_303_Ball: BulletBase { - ACE_caliber=0.311; + ACE_caliber=0.007899; ACE_bulletLength=1.227; ACE_bulletMass=174; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -200,7 +200,7 @@ class CfgAmmo }; class CUP_B_127x107_Ball_Green_Tracer: BulletBase { - ACE_caliber=0.511; + ACE_caliber=0.012979; ACE_bulletLength=2.520; ACE_bulletMass=745; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -213,7 +213,7 @@ class CfgAmmo }; class CUP_B_127x108_Ball_Green_Tracer: BulletBase { - ACE_caliber=0.511; + ACE_caliber=0.012979; ACE_bulletLength=2.520; ACE_bulletMass=745; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -226,7 +226,7 @@ class CfgAmmo }; class CUP_B_762x54_Ball_White_Tracer: BulletBase { - ACE_caliber=0.312; + ACE_caliber=0.007925; ACE_bulletLength=1.14; ACE_bulletMass=149; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -239,7 +239,7 @@ class CfgAmmo }; class CUP_B_762x54_Ball_Red_Tracer: BulletBase { - ACE_caliber=0.312; + ACE_caliber=0.007925; ACE_bulletLength=1.14; ACE_bulletMass=149; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -252,7 +252,7 @@ class CfgAmmo }; class CUP_B_762x54_Ball_Green_Tracer: BulletBase { - ACE_caliber=0.312; + ACE_caliber=0.007925; ACE_bulletLength=1.14; ACE_bulletMass=149; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -265,7 +265,7 @@ class CfgAmmo }; class CUP_B_762x54_Ball_Yellow_Tracer: BulletBase { - ACE_caliber=0.312; + ACE_caliber=0.007925; ACE_bulletLength=1.14; ACE_bulletMass=149; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -278,7 +278,7 @@ class CfgAmmo }; class CUP_B_9x39_SP5: BulletBase { - ACE_caliber=0.364; + ACE_caliber=0.009246; ACE_bulletLength=1.24; ACE_bulletMass=250; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -291,7 +291,7 @@ class CfgAmmo }; class CUP_B_762x51_Tracer_Green: BulletBase { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.14; ACE_bulletMass=146; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -304,7 +304,7 @@ class CfgAmmo }; class CUP_B_762x51_Tracer_Red: BulletBase { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.14; ACE_bulletMass=146; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -317,7 +317,7 @@ class CfgAmmo }; class CUP_B_762x51_Tracer_Yellow: BulletBase { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.14; ACE_bulletMass=146; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -330,7 +330,7 @@ class CfgAmmo }; class CUP_B_762x51_Tracer_White: BulletBase { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.14; ACE_bulletMass=146; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -343,7 +343,7 @@ class CfgAmmo }; class B_127x107_Ball: BulletBase { - ACE_caliber=0.511; + ACE_caliber=0.012979; ACE_bulletLength=2.520; ACE_bulletMass=745; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -356,7 +356,7 @@ class CfgAmmo }; class CUP_B_9x18_SD: BulletBase { - ACE_caliber=0.365; + ACE_caliber=0.009271; ACE_bulletLength=0.610; ACE_bulletMass=92.6; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -369,7 +369,7 @@ class CfgAmmo }; class CUP_B_765x17_Ball: BulletBase { - ACE_caliber=0.3125; + ACE_caliber=0.007938; ACE_bulletLength=0.610; ACE_bulletMass=65; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -382,7 +382,7 @@ class CfgAmmo }; class CUP_B_145x115_AP_Green_Tracer: BulletBase { - ACE_caliber=0.586; + ACE_caliber=0.014884; ACE_bulletLength=2.00; ACE_bulletMass=1010; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -395,7 +395,7 @@ class CfgAmmo }; class CUP_B_127x99_Ball_White_Tracer: B_127x99_Ball { - ACE_caliber=0.510; + ACE_caliber=0.012954; ACE_bulletLength=2.310; ACE_bulletMass=647; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -408,7 +408,7 @@ class CfgAmmo }; class CUP_B_86x70_Ball_noTracer: BulletBase { - ACE_caliber=0.338; + ACE_caliber=0.008585; ACE_bulletLength=1.70; ACE_bulletMass=300; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; diff --git a/optionals/compat_hlcmods_core/CfgAmmo.hpp b/optionals/compat_hlcmods_core/CfgAmmo.hpp index 7259d2da3d..6d0e36f0d3 100644 --- a/optionals/compat_hlcmods_core/CfgAmmo.hpp +++ b/optionals/compat_hlcmods_core/CfgAmmo.hpp @@ -8,7 +8,7 @@ class CfgAmmo class HLC_762x51_ball; class HLC_556NATO_EPR: B_556x45_Ball { - ACE_caliber=0.224; + ACE_caliber=0.00569; ACE_bulletLength=0.906; ACE_bulletMass=62; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; @@ -21,7 +21,7 @@ class CfgAmmo }; class HLC_556NATO_SOST: B_556x45_Ball { - ACE_caliber=0.224; + ACE_caliber=0.00569; ACE_bulletLength=0.906; ACE_bulletMass=62; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -34,7 +34,7 @@ class CfgAmmo }; class HLC_556NATO_SPR: B_556x45_Ball { - ACE_caliber=0.224; + ACE_caliber=0.00569; ACE_bulletLength=0.906; ACE_bulletMass=77; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -47,7 +47,7 @@ class CfgAmmo }; class HLC_300Blackout_Ball: B_556x45_Ball { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.118; ACE_bulletMass=147; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -60,7 +60,7 @@ class CfgAmmo }; class HLC_300Blackout_SMK: HLC_300Blackout_Ball { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.489; ACE_bulletMass=220; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -73,7 +73,7 @@ class CfgAmmo }; class HLC_762x39_Ball: HLC_300Blackout_Ball { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.14; ACE_bulletMass=123; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -86,7 +86,7 @@ class CfgAmmo }; class HLC_762x39_Tracer: HLC_762x39_Ball { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.14; ACE_bulletMass=117; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -99,7 +99,7 @@ class CfgAmmo }; class HLC_762x51_MK316_20in: B_762x51_Ball { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.24; ACE_bulletMass=175; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -112,7 +112,7 @@ class CfgAmmo }; class HLC_762x51_BTSub: B_762x51_Ball { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.340; ACE_bulletMass=200; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -125,7 +125,7 @@ class CfgAmmo }; class HLC_762x54_ball: HLC_762x51_ball { - ACE_caliber=0.312; + ACE_caliber=0.007925; ACE_bulletLength=1.14; ACE_bulletMass=152; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -138,7 +138,7 @@ class CfgAmmo }; class HLC_762x54_tracer: HLC_762x51_tracer { - ACE_caliber=0.312; + ACE_caliber=0.007925; ACE_bulletLength=1.14; ACE_bulletMass=149; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -151,7 +151,7 @@ class CfgAmmo }; class HLC_303Brit_B: B_556x45_Ball { - ACE_caliber=0.311; + ACE_caliber=0.007899; ACE_bulletLength=1.227; ACE_bulletMass=174; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -164,7 +164,7 @@ class CfgAmmo }; class HLC_792x57_Ball: HLC_303Brit_B { - ACE_caliber=0.318; + ACE_caliber=0.008077; ACE_bulletLength=1.128; ACE_bulletMass=196; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -183,7 +183,7 @@ class CfgAmmo }; class FH_545x39_Ball: B_556x45_Ball { - ACE_caliber=0.220; + ACE_caliber=0.005588; ACE_bulletLength=0.85; ACE_bulletMass=52.9; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -203,7 +203,7 @@ class CfgAmmo }; class HLC_57x28mm_JHP: FH_545x39_Ball { - ACE_caliber=0.224; + ACE_caliber=0.00569; ACE_bulletLength=0.495; ACE_bulletMass=28; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -216,7 +216,7 @@ class CfgAmmo }; class HLC_9x19_Ball: B_556x45_Ball { - ACE_caliber=0.355; + ACE_caliber=0.009017; ACE_bulletLength=0.610; ACE_bulletMass=124; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -229,7 +229,7 @@ class CfgAmmo }; class HLC_9x19_M882_SMG: B_556x45_Ball { - ACE_caliber=0.355; + ACE_caliber=0.009017; ACE_bulletLength=0.610; ACE_bulletMass=124; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -250,7 +250,7 @@ class CfgAmmo }; class HLC_10mm_FMJ: HLC_9x19_Ball { - ACE_caliber=0.5; + ACE_caliber=0.0127; ACE_bulletLength=0.764; ACE_bulletMass=165; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -263,7 +263,7 @@ class CfgAmmo }; class HLC_45ACP_Ball: B_556x45_Ball { - ACE_caliber=0.452; + ACE_caliber=0.011481; ACE_bulletLength=0.68; ACE_bulletMass=230; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -276,7 +276,7 @@ class CfgAmmo }; class FH_44Mag: HLC_45ACP_Ball { - ACE_caliber=0.429; + ACE_caliber=0.010897; ACE_bulletLength=0.804; ACE_bulletMass=200; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -289,7 +289,7 @@ class CfgAmmo }; class FH_50BMG_SLAP: B_127x99_Ball { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.25; ACE_bulletMass=350; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -302,7 +302,7 @@ class CfgAmmo }; class FH_50BMG_Raufoss: B_127x99_Ball { - ACE_caliber=0.510; + ACE_caliber=0.012954; ACE_bulletLength=2.380; ACE_bulletMass=660; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; diff --git a/optionals/compat_rh_de/CfgAmmo.hpp b/optionals/compat_rh_de/CfgAmmo.hpp index b66b55f530..d57daad303 100644 --- a/optionals/compat_rh_de/CfgAmmo.hpp +++ b/optionals/compat_rh_de/CfgAmmo.hpp @@ -4,7 +4,7 @@ class CfgAmmo class BulletBase; class RH_50_AE_Ball: BulletBase { - ACE_caliber=0.5; + ACE_caliber=0.0127; ACE_bulletLength=1.110; ACE_bulletMass=325; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -17,7 +17,7 @@ class CfgAmmo }; class RH_454_Casull: BulletBase { - ACE_caliber=0.452; + ACE_caliber=0.011481; ACE_bulletLength=0.895; ACE_bulletMass=325; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -30,7 +30,7 @@ class CfgAmmo }; class RH_32ACP: BulletBase { - ACE_caliber=0.3125; + ACE_caliber=0.007938; ACE_bulletLength=0.610; ACE_bulletMass=65; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -43,7 +43,7 @@ class CfgAmmo }; class RH_45ACP: BulletBase { - ACE_caliber=0.452; + ACE_caliber=0.011481; ACE_bulletLength=0.68; ACE_bulletMass=230; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -56,7 +56,7 @@ class CfgAmmo }; class RH_B_40SW: BulletBase { - ACE_caliber=0.4; + ACE_caliber=0.01016; ACE_bulletLength=0.447; ACE_bulletMass=135; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -69,7 +69,7 @@ class CfgAmmo }; class RH_44mag_ball: BulletBase { - ACE_caliber=0.429; + ACE_caliber=0.010897; ACE_bulletLength=0.804; ACE_bulletMass=200; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -82,7 +82,7 @@ class CfgAmmo }; class RH_357mag_ball: BulletBase { - ACE_caliber=0.357; + ACE_caliber=0.009068; ACE_bulletLength=0.541; ACE_bulletMass=125; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -95,7 +95,7 @@ class CfgAmmo }; class RH_762x25: BulletBase { - ACE_caliber=0.310; + ACE_caliber=0.007874; ACE_bulletLength=0.5455; ACE_bulletMass=86; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -108,7 +108,7 @@ class CfgAmmo }; class RH_9x18_Ball: BulletBase { - ACE_caliber=0.365; + ACE_caliber=0.009271; ACE_bulletLength=0.610; ACE_bulletMass=92.6; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -121,7 +121,7 @@ class CfgAmmo }; class RH_B_9x19_Ball: BulletBase { - ACE_caliber=0.355; + ACE_caliber=0.009017; ACE_bulletLength=0.610; ACE_bulletMass=124; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -134,7 +134,7 @@ class CfgAmmo }; class RH_B_22LR_SD: BulletBase { - ACE_caliber=0.223; + ACE_caliber=0.005664; ACE_bulletLength=0.45; ACE_bulletMass=38; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -147,7 +147,7 @@ class CfgAmmo }; class RH_57x28mm: BulletBase { - ACE_caliber=0.224; + ACE_caliber=0.00569; ACE_bulletLength=0.495; ACE_bulletMass=28; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; diff --git a/optionals/compat_rh_m4/CfgAmmo.hpp b/optionals/compat_rh_m4/CfgAmmo.hpp index c15e0e503a..44ed3493d0 100644 --- a/optionals/compat_rh_m4/CfgAmmo.hpp +++ b/optionals/compat_rh_m4/CfgAmmo.hpp @@ -10,7 +10,7 @@ class CfgAmmo { class RH_9x19_B_M822: BulletBase { - ACE_caliber=0.355; + ACE_caliber=0.009017; ACE_bulletLength=0.610; ACE_bulletMass=124; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -23,7 +23,7 @@ class CfgAmmo { }; class RH_9x19_B_HP: BulletBase { - ACE_caliber=0.355; + ACE_caliber=0.009017; ACE_bulletLength=0.610; ACE_bulletMass=124; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -36,7 +36,7 @@ class CfgAmmo { }; class RH_9x19_B_HPSB: BulletBase { - ACE_caliber=0.355; + ACE_caliber=0.009017; ACE_bulletLength=0.603; ACE_bulletMass=147; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -49,7 +49,7 @@ class CfgAmmo { }; class RH_556x45_B_M855A1: B_556x45_Ball { - ACE_caliber=0.224; + ACE_caliber=0.00569; ACE_bulletLength=0.906; ACE_bulletMass=62; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; @@ -62,7 +62,7 @@ class CfgAmmo { }; class RH_556x45_B_Mk318: B_556x45_Ball { - ACE_caliber=0.224; + ACE_caliber=0.00569; ACE_bulletLength=0.906; ACE_bulletMass=62; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -75,7 +75,7 @@ class CfgAmmo { }; class RH_556x45_B_Mk262: B_556x45_Ball { - ACE_caliber=0.224; + ACE_caliber=0.00569; ACE_bulletLength=0.906; ACE_bulletMass=77; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -88,7 +88,7 @@ class CfgAmmo { }; class RH_68x43_B_FMJ: B_65x39_Caseless { - ACE_caliber=0.277; + ACE_caliber=0.007036; ACE_bulletLength=0.959; ACE_bulletMass=115; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -101,7 +101,7 @@ class CfgAmmo { }; class RH_68x43_B_Match: B_65x39_Caseless { - ACE_caliber=0.277; + ACE_caliber=0.007036; ACE_bulletLength=1.250; ACE_bulletMass=135; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -114,7 +114,7 @@ class CfgAmmo { }; class RH_762x35_B_FMJ: B_65x39_Caseless { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.118; ACE_bulletMass=147; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -127,7 +127,7 @@ class CfgAmmo { }; class RH_762x35_B_Match: B_65x39_Caseless { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.153; ACE_bulletMass=125; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -140,7 +140,7 @@ class CfgAmmo { }; class RH_762x35_B_MSB: B_65x39_Caseless { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.489; ACE_bulletMass=220; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -153,7 +153,7 @@ class CfgAmmo { }; class RH_762x51_B_M80A1: B_762x51_Ball { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.14; ACE_bulletMass=146; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -166,7 +166,7 @@ class CfgAmmo { }; class RH_762x51_B_Mk316LR: B_762x51_Ball { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.24; ACE_bulletMass=175; ACE_ammoTempMuzzleVelocityShifts[]={-5.3, -5.1, -4.6, -4.2, -3.4, -2.6, -1.4, -0.3, 1.4, 3.0, 5.2}; @@ -179,7 +179,7 @@ class CfgAmmo { }; class RH_762x51_B_Mk319: B_762x51_Ball { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.24; ACE_bulletMass=130; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -192,7 +192,7 @@ class CfgAmmo { }; class RH_762x51_B_LFMJSB: B_762x51_Ball { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.340; ACE_bulletMass=200; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; diff --git a/optionals/compat_rh_pdw/CfgAmmo.hpp b/optionals/compat_rh_pdw/CfgAmmo.hpp index 706344ff8c..4aad0f4614 100644 --- a/optionals/compat_rh_pdw/CfgAmmo.hpp +++ b/optionals/compat_rh_pdw/CfgAmmo.hpp @@ -2,7 +2,7 @@ class BulletBase; class RH_B_6x35: BulletBase { - ACE_caliber=0.224; + ACE_caliber=0.00569; ACE_bulletLength=0.445; ACE_bulletMass=65; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; diff --git a/optionals/compat_rhs_afrf3/CfgAmmo.hpp b/optionals/compat_rhs_afrf3/CfgAmmo.hpp index 323634f02c..1eabe3969d 100644 --- a/optionals/compat_rhs_afrf3/CfgAmmo.hpp +++ b/optionals/compat_rhs_afrf3/CfgAmmo.hpp @@ -5,7 +5,7 @@ class CfgAmmo class B_556x45_Ball; class rhs_B_545x39_Ball: B_556x45_Ball { - ACE_caliber=0.220; + ACE_caliber=0.005588; ACE_bulletLength=0.85; ACE_bulletMass=52.9; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -18,7 +18,7 @@ class CfgAmmo }; class rhs_B_545x39_Ball_Tracer_Green: rhs_B_545x39_Ball { - ACE_caliber=0.220; + ACE_caliber=0.005588; ACE_bulletLength=0.85; ACE_bulletMass=49.8; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -32,7 +32,7 @@ class CfgAmmo class B_762x51_Ball; class rhs_B_762x54_Ball: B_762x51_Ball { - ACE_caliber=0.312; + ACE_caliber=0.007925; ACE_bulletLength=1.14; ACE_bulletMass=152; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -45,7 +45,7 @@ class CfgAmmo }; class rhs_B_762x54_Ball_Tracer_Green: B_762x51_Ball { - ACE_caliber=0.312; + ACE_caliber=0.007925; ACE_bulletLength=1.14; ACE_bulletMass=149; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -58,7 +58,7 @@ class CfgAmmo }; class rhs_B_762x54_7N1_Ball: rhs_B_762x54_Ball { - ACE_caliber=0.312; + ACE_caliber=0.007925; ACE_bulletLength=1.14; ACE_bulletMass=152; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -71,7 +71,7 @@ class CfgAmmo }; class rhs_B_762x39_Ball: B_762x51_Ball { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.14; ACE_bulletMass=123; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -84,7 +84,7 @@ class CfgAmmo }; class rhs_B_762x39_Tracer: rhs_B_762x39_Ball { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.14; ACE_bulletMass=117; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -98,7 +98,7 @@ class CfgAmmo class B_9x21_Ball; class rhs_B_9x19_7N21: B_9x21_Ball { - ACE_caliber=0.355; + ACE_caliber=0.009017; ACE_bulletLength=0.610; ACE_bulletMass=80.2; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -111,7 +111,7 @@ class CfgAmmo }; class rhs_B_9x18_57N181S: B_9x21_Ball { - ACE_caliber=0.365; + ACE_caliber=0.009271; ACE_bulletLength=0.610; ACE_bulletMass=92.6; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; diff --git a/optionals/compat_rhs_usf3/CfgAmmo.hpp b/optionals/compat_rhs_usf3/CfgAmmo.hpp index 68a8c8f7fd..9a81abd2c3 100644 --- a/optionals/compat_rhs_usf3/CfgAmmo.hpp +++ b/optionals/compat_rhs_usf3/CfgAmmo.hpp @@ -4,7 +4,7 @@ class CfgAmmo class BulletBase; class rhsusf_B_300winmag: BulletBase { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.489; ACE_bulletMass=220; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -18,7 +18,7 @@ class CfgAmmo class B_556x45_Ball; class rhs_ammo_556x45_Mk318_Ball: B_556x45_Ball { - ACE_caliber=0.224; + ACE_caliber=0.00569; ACE_bulletLength=0.906; ACE_bulletMass=62; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -31,7 +31,7 @@ class CfgAmmo }; class rhs_ammo_556x45_Mk262_Ball: B_556x45_Ball { - ACE_caliber=0.224; + ACE_caliber=0.00569; ACE_bulletLength=0.906; ACE_bulletMass=77; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -44,7 +44,7 @@ class CfgAmmo }; class rhs_ammo_762x51_M80_Ball: BulletBase { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.14; ACE_bulletMass=146; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -57,7 +57,7 @@ class CfgAmmo }; class rhs_ammo_762x51_M118_Special_Ball: rhs_ammo_762x51_M80_Ball { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.24; ACE_bulletMass=175; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -70,7 +70,7 @@ class CfgAmmo }; class rhs_ammo_762x51_M993_Ball: rhs_ammo_762x51_M80_Ball { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.24; ACE_bulletMass=127; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -83,7 +83,7 @@ class CfgAmmo }; class rhs_ammo_45ACP_MHP: BulletBase { - ACE_caliber=0.452; + ACE_caliber=0.011481; ACE_bulletLength=0.68; ACE_bulletMass=230; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; From b20c42398b0e88dc590dd0eeb768cef649e89184 Mon Sep 17 00:00:00 2001 From: KoffeinFlummi Date: Thu, 7 May 2015 18:27:40 +0200 Subject: [PATCH 071/217] Convert ACE_bulletLength to meters --- .../functions/fnc_handleFired.sqf | 2 +- addons/ballistics/CfgAmmo.hpp | 92 ++-- extras/CfgAmmoReference.hpp | 410 +++++++++--------- optionals/compat_cup/CfgAmmo.hpp | 64 +-- optionals/compat_hlcmods_core/CfgAmmo.hpp | 44 +- optionals/compat_rh_de/CfgAmmo.hpp | 24 +- optionals/compat_rh_m4/CfgAmmo.hpp | 30 +- optionals/compat_rh_pdw/CfgAmmo.hpp | 2 +- optionals/compat_rhs_afrf3/CfgAmmo.hpp | 18 +- optionals/compat_rhs_usf3/CfgAmmo.hpp | 14 +- 10 files changed, 350 insertions(+), 350 deletions(-) diff --git a/addons/advanced_ballistics/functions/fnc_handleFired.sqf b/addons/advanced_ballistics/functions/fnc_handleFired.sqf index 20235d2489..941a4c8284 100644 --- a/addons/advanced_ballistics/functions/fnc_handleFired.sqf +++ b/addons/advanced_ballistics/functions/fnc_handleFired.sqf @@ -92,7 +92,7 @@ if (GVAR(bulletTraceEnabled) && cameraView == "GUNNER") then { }; _caliber = 39.37 * getNumber(configFile >> "cfgAmmo" >> _ammo >> "ACE_caliber"); -_bulletLength = getNumber(configFile >> "cfgAmmo" >> _ammo >> "ACE_bulletLength"); +_bulletLength = 39.37 * getNumber(configFile >> "cfgAmmo" >> _ammo >> "ACE_bulletLength"); _bulletMass = getNumber(configFile >> "cfgAmmo" >> _ammo >> "ACE_bulletMass"); _barrelTwist = getNumber(configFile >> "cfgWeapons" >> _weapon >> "ACE_barrelTwist"); _stabilityFactor = 1.5; diff --git a/addons/ballistics/CfgAmmo.hpp b/addons/ballistics/CfgAmmo.hpp index 7d3e83230d..6486854f38 100644 --- a/addons/ballistics/CfgAmmo.hpp +++ b/addons/ballistics/CfgAmmo.hpp @@ -26,7 +26,7 @@ class CfgAmmo { tracerStartTime = 0.073; //M856 tracer burns out to 800m tracerEndTime = 1.579; //Time in seconds calculated with ballistics calculator ACE_caliber=0.00569; - ACE_bulletLength=0.906; + ACE_bulletLength=0.023012; ACE_bulletMass=62; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; ACE_ballisticCoefficients[]={0.151}; @@ -43,7 +43,7 @@ class CfgAmmo { hit=11; typicalSpeed=836; ACE_caliber=0.00569; - ACE_bulletLength=0.906; + ACE_bulletLength=0.023012; ACE_bulletMass=77; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.361}; @@ -60,7 +60,7 @@ class CfgAmmo { hit=9; typicalSpeed=886; ACE_caliber=0.00569; - ACE_bulletLength=0.906; + ACE_bulletLength=0.023012; ACE_bulletMass=62; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.307}; @@ -77,7 +77,7 @@ class CfgAmmo { hit=6; typicalSpeed=886; ACE_caliber=0.00569; - ACE_bulletLength=0.906; + ACE_bulletLength=0.023012; ACE_bulletMass=46; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.151}; @@ -98,7 +98,7 @@ class CfgAmmo { hit=7; typicalSpeed=880; ACE_caliber=0.005588; - ACE_bulletLength=0.85; + ACE_bulletLength=0.02159; ACE_bulletMass=52.9; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; @@ -118,7 +118,7 @@ class CfgAmmo { tracerStartTime = 0.073; //7T3M tracer burns out to 850m tracerEndTime = 1.736; //Time in seconds calculated with ballistics calculator ACE_caliber=0.005588; - ACE_bulletLength=0.85; + ACE_bulletLength=0.02159; ACE_bulletMass=49.8; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; @@ -132,7 +132,7 @@ class CfgAmmo { airFriction=-0.000785; typicalSpeed=800; ACE_caliber=0.006706; - ACE_bulletLength=1.295; + ACE_bulletLength=0.032893; ACE_bulletMass=123; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.263}; @@ -155,7 +155,7 @@ class CfgAmmo { typicalSpeed=820 ; caliber=0.9; ACE_caliber=0.006706; - ACE_bulletLength=1.364; + ACE_bulletLength=0.034646; ACE_bulletMass=139; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.290}; @@ -170,7 +170,7 @@ class CfgAmmo { typicalSpeed=860 ; caliber=1.1; ACE_caliber=0.006706; - ACE_bulletLength=1.426; + ACE_bulletLength=0.03622; ACE_bulletMass=140; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.317}; @@ -187,7 +187,7 @@ class CfgAmmo { tracerStartTime = 0.073; //Based on the British L5A1 which burns out to 1000m tracerEndTime = 2.058; //Time in seconds calculated with ballistics calculator ACE_caliber=0.007823; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=146; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; @@ -207,7 +207,7 @@ class CfgAmmo { hit=16; typicalSpeed=790; ACE_caliber=0.007823; - ACE_bulletLength=1.24; + ACE_bulletLength=0.031496; ACE_bulletMass=175; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.243}; @@ -223,7 +223,7 @@ class CfgAmmo { hit=16; typicalSpeed=790; ACE_caliber=0.007823; - ACE_bulletLength=1.24; + ACE_bulletLength=0.031496; ACE_bulletMass=175; ACE_ammoTempMuzzleVelocityShifts[]={-5.3, -5.1, -4.6, -4.2, -3.4, -2.6, -1.4, -0.3, 1.4, 3.0, 5.2}; ACE_ballisticCoefficients[]={0.243}; @@ -239,7 +239,7 @@ class CfgAmmo { hit=14; typicalSpeed=900; ACE_caliber=0.007823; - ACE_bulletLength=1.24; + ACE_bulletLength=0.031496; ACE_bulletMass=130; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.377}; @@ -255,7 +255,7 @@ class CfgAmmo { hit=11; typicalSpeed=930; ACE_caliber=0.007823; - ACE_bulletLength=1.24; + ACE_bulletLength=0.031496; ACE_bulletMass=127; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.377}; @@ -271,7 +271,7 @@ class CfgAmmo { hit=6; typicalSpeed=320; ACE_caliber=0.007823; - ACE_bulletLength=1.340; + ACE_bulletLength=0.034036; ACE_bulletMass=200; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.235}; @@ -287,7 +287,7 @@ class CfgAmmo { caliber=2.0; hit=10; ACE_caliber=0.007823; - ACE_bulletLength=1.21; + ACE_bulletLength=0.030734; ACE_bulletMass=174; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.494}; @@ -303,7 +303,7 @@ class CfgAmmo { caliber=2.1; hit=8; ACE_caliber=0.007214; - ACE_bulletLength=1.529; + ACE_bulletLength=0.038837; ACE_bulletMass=180; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.345}; @@ -319,7 +319,7 @@ class CfgAmmo { caliber=2.3; hit=6; ACE_caliber=0.006172; - ACE_bulletLength=1.282; + ACE_bulletLength=0.032563; ACE_bulletMass=180; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.278}; @@ -335,7 +335,7 @@ class CfgAmmo { hit=17; typicalSpeed=900; ACE_caliber=0.007823; - ACE_bulletLength=1.353; + ACE_bulletLength=0.034366; ACE_bulletMass=190; ACE_ammoTempMuzzleVelocityShifts[]={-5.3, -5.1, -4.6, -4.2, -3.4, -2.6, -1.4, -0.3, 1.4, 3.0, 5.2}; ACE_ballisticCoefficients[]={0.268}; @@ -351,7 +351,7 @@ class CfgAmmo { hit=18; typicalSpeed=867; ACE_caliber=0.007823; - ACE_bulletLength=1.489; + ACE_bulletLength=0.037821; ACE_bulletMass=220; ACE_ammoTempMuzzleVelocityShifts[]={-5.3, -5.1, -4.6, -4.2, -3.4, -2.6, -1.4, -0.3, 1.4, 3.0, 5.2}; ACE_ballisticCoefficients[]={0.310}; @@ -367,7 +367,7 @@ class CfgAmmo { hit=19; typicalSpeed=853; ACE_caliber=0.007823; - ACE_bulletLength=1.602; + ACE_bulletLength=0.040691; ACE_bulletMass=230; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.368}; @@ -381,7 +381,7 @@ class CfgAmmo { airFriction=-0.001023; typicalSpeed=820; ACE_caliber=0.007925; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=152; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.4}; @@ -397,7 +397,7 @@ class CfgAmmo { hit=15; typicalSpeed=820; ACE_caliber=0.007925; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=152; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.4}; @@ -416,7 +416,7 @@ class CfgAmmo { tracerStartTime = 0.073; //Based on the 7T2 which burns three seconds tracerEndTime = 3; ACE_caliber=0.007925; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=149; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.395}; @@ -432,7 +432,7 @@ class CfgAmmo { hit=11; typicalSpeed=790; ACE_caliber=0.007823; - ACE_bulletLength=1.153; + ACE_bulletLength=0.029286; ACE_bulletMass=125; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.349, 0.338, 0.330, 0.310}; @@ -448,7 +448,7 @@ class CfgAmmo { caliber=1.5; typicalSpeed=716; ACE_caliber=0.007823; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=123; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; @@ -466,7 +466,7 @@ class CfgAmmo { tracerStartTime = 0.073; //57N231P tracer burns out to 800m tracerEndTime = 2.082; //Time in seconds calculated with ballistics calculator ACE_caliber=0.007823; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=117; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; @@ -481,7 +481,7 @@ class CfgAmmo { typicalSpeed=390; hit=6; ACE_caliber=0.009042; - ACE_bulletLength=0.610; + ACE_bulletLength=0.015494; ACE_bulletMass=115; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.17}; @@ -496,7 +496,7 @@ class CfgAmmo { airFriction=-0.001234; typicalSpeed=298; ACE_caliber=0.009271; - ACE_bulletLength=0.610; + ACE_bulletLength=0.015494; ACE_bulletMass=92.6; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; @@ -511,7 +511,7 @@ class CfgAmmo { typicalSpeed=370; hit=6; ACE_caliber=0.009017; - ACE_bulletLength=0.610; + ACE_bulletLength=0.015494; ACE_bulletMass=124; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; @@ -526,7 +526,7 @@ class CfgAmmo { typicalSpeed=425; hit=7; ACE_caliber=0.0127; - ACE_bulletLength=0.764; + ACE_bulletLength=0.019406; ACE_bulletMass=165; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.189}; @@ -541,7 +541,7 @@ class CfgAmmo { typicalSpeed=282; hit=7; ACE_caliber=0.007938; - ACE_bulletLength=0.610; + ACE_bulletLength=0.015494; ACE_bulletMass=65; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.118}; @@ -556,7 +556,7 @@ class CfgAmmo { typicalSpeed=761; caliber=2.0; ACE_caliber=0.007899; - ACE_bulletLength=1.227; + ACE_bulletLength=0.031166; ACE_bulletMass=174; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.499, 0.493, 0.48}; @@ -570,7 +570,7 @@ class CfgAmmo { airFriction=-0.00106; typicalSpeed=880; ACE_caliber=0.009296; - ACE_bulletLength=1.350; + ACE_bulletLength=0.03429; ACE_bulletMass=230; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.368}; @@ -585,7 +585,7 @@ class CfgAmmo { airFriction=-0.000395; typicalSpeed=910; ACE_caliber=0.010363; - ACE_bulletLength=2.126; + ACE_bulletLength=0.054; ACE_bulletMass=410; ACE_transonicStabilityCoef=1; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -599,7 +599,7 @@ class CfgAmmo { class ACE_106x83mm_Ball : B_408_Ball { timeToLive=10; ACE_caliber=0.010566; - ACE_bulletLength=2.089; + ACE_bulletLength=0.053061; ACE_bulletMass=398; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.72}; @@ -614,7 +614,7 @@ class CfgAmmo { airFriction=-0.000606; typicalSpeed=915; ACE_caliber=0.008585; - ACE_bulletLength=1.558; + ACE_bulletLength=0.039573; ACE_bulletMass=250; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.322}; @@ -628,7 +628,7 @@ class CfgAmmo { airFriction=-0.000537; typicalSpeed=820; ACE_caliber=0.008585; - ACE_bulletLength=1.70; + ACE_bulletLength=0.04318; ACE_bulletMass=300; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.381}; @@ -643,7 +643,7 @@ class CfgAmmo { airFriction=-0.000535; typicalSpeed=826; ACE_caliber=0.008585; - ACE_bulletLength=1.70; + ACE_bulletLength=0.04318; ACE_bulletMass=300; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.381}; @@ -659,7 +659,7 @@ class CfgAmmo { caliber=2.8; typicalSpeed=826; ACE_caliber=0.008585; - ACE_bulletLength=1.535; + ACE_bulletLength=0.038989; ACE_bulletMass=253; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.290}; @@ -673,7 +673,7 @@ class CfgAmmo { airFriction=-0.00014; typicalSpeed=300; ACE_caliber=0.012954; - ACE_bulletLength=2.540; + ACE_bulletLength=0.064516; ACE_bulletMass=750; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={1.050}; @@ -688,7 +688,7 @@ class CfgAmmo { airFriction=-0.0006; typicalSpeed=900; ACE_caliber=0.012954; - ACE_bulletLength=2.310; + ACE_bulletLength=0.058674; ACE_bulletMass=647; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.670}; @@ -705,7 +705,7 @@ class CfgAmmo { hit=25; caliber=4.0; ACE_caliber=0.012954; - ACE_bulletLength=2.310; + ACE_bulletLength=0.058674; ACE_bulletMass=648; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.670}; @@ -721,7 +721,7 @@ class CfgAmmo { typicalSpeed=860; caliber=3.0; ACE_caliber=0.012954; - ACE_bulletLength=2.540; + ACE_bulletLength=0.064516; ACE_bulletMass=750; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={1.050}; @@ -736,7 +736,7 @@ class CfgAmmo { airFriction=-0.00064; typicalSpeed=820; ACE_caliber=0.012979; - ACE_bulletLength=2.520; + ACE_bulletLength=0.064008; ACE_bulletMass=745; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.63}; @@ -750,7 +750,7 @@ class CfgAmmo { airFriction=-0.0007182; typicalSpeed=250; ACE_caliber=0.011481; - ACE_bulletLength=0.68; + ACE_bulletLength=0.017272; ACE_bulletMass=230; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.195}; diff --git a/extras/CfgAmmoReference.hpp b/extras/CfgAmmoReference.hpp index 5a7e9302cf..de8429036f 100644 --- a/extras/CfgAmmoReference.hpp +++ b/extras/CfgAmmoReference.hpp @@ -6,7 +6,7 @@ class CfgAmmo hit=8; typicalSpeed=750; ACE_caliber=0.00569; - ACE_bulletLength=0.906; + ACE_bulletLength=0.023012; ACE_bulletMass=62; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; ACE_ballisticCoefficients[]={0.151}; @@ -23,7 +23,7 @@ class CfgAmmo hit=11; typicalSpeed=836; ACE_caliber=0.00569; - ACE_bulletLength=0.906; + ACE_bulletLength=0.023012; ACE_bulletMass=77; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.361}; @@ -40,7 +40,7 @@ class CfgAmmo hit=9; typicalSpeed=886; ACE_caliber=0.00569; - ACE_bulletLength=0.906; + ACE_bulletLength=0.023012; ACE_bulletMass=62; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.307}; @@ -61,7 +61,7 @@ class CfgAmmo hit=7; typicalSpeed=880; ACE_caliber=0.005588; - ACE_bulletLength=0.85; + ACE_bulletLength=0.02159; ACE_bulletMass=52.9; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; @@ -79,7 +79,7 @@ class CfgAmmo hit=7; typicalSpeed=883; ACE_caliber=0.005588; - ACE_bulletLength=0.85; + ACE_bulletLength=0.02159; ACE_bulletMass=49.8; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; @@ -93,7 +93,7 @@ class CfgAmmo airFriction=-0.000785; typicalSpeed=800; ACE_caliber=0.006706; - ACE_bulletLength=1.295; + ACE_bulletLength=0.032893; ACE_bulletMass=123; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.263}; @@ -116,7 +116,7 @@ class CfgAmmo airFriction=-0.00078; typicalSpeed=820 ; ACE_caliber=0.006706; - ACE_bulletLength=1.364; + ACE_bulletLength=0.034646; ACE_bulletMass=139; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.290}; @@ -131,7 +131,7 @@ class CfgAmmo typicalSpeed=833; hit=9; ACE_caliber=0.007823; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=146; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; @@ -151,7 +151,7 @@ class CfgAmmo hit=16; typicalSpeed=790; ACE_caliber=0.007823; - ACE_bulletLength=1.24; + ACE_bulletLength=0.031496; ACE_bulletMass=175; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.243}; @@ -167,7 +167,7 @@ class CfgAmmo hit=14; typicalSpeed=890; ACE_caliber=0.007823; - ACE_bulletLength=1.24; + ACE_bulletLength=0.031496; ACE_bulletMass=130; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.377}; @@ -183,7 +183,7 @@ class CfgAmmo hit=6; typicalSpeed=790; ACE_caliber=0.007823; - ACE_bulletLength=1.340; + ACE_bulletLength=0.034036; ACE_bulletMass=200; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.235}; @@ -199,7 +199,7 @@ class CfgAmmo hit=17; typicalSpeed=900; ACE_caliber=0.007823; - ACE_bulletLength=1.353; + ACE_bulletLength=0.034366; ACE_bulletMass=190; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.268}; @@ -215,7 +215,7 @@ class CfgAmmo hit=18; typicalSpeed=867; ACE_caliber=0.007823; - ACE_bulletLength=1.489; + ACE_bulletLength=0.037821; ACE_bulletMass=220; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.310}; @@ -231,7 +231,7 @@ class CfgAmmo hit=19; typicalSpeed=853; ACE_caliber=0.007823; - ACE_bulletLength=1.602; + ACE_bulletLength=0.040691; ACE_bulletMass=230; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.368}; @@ -245,7 +245,7 @@ class CfgAmmo airFriction=-0.001023; typicalSpeed=820; ACE_caliber=0.007925; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=152; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.4}; @@ -261,7 +261,7 @@ class CfgAmmo hit=15; typicalSpeed=820; ACE_caliber=0.007925; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=152; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.4}; @@ -278,7 +278,7 @@ class CfgAmmo hit=15; typicalSpeed=800; ACE_caliber=0.007925; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=149; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.395}; @@ -294,7 +294,7 @@ class CfgAmmo hit=11; typicalSpeed=790; ACE_caliber=0.007823; - ACE_bulletLength=1.153; + ACE_bulletLength=0.029286; ACE_bulletMass=125; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.349, 0.338, 0.330, 0.310}; @@ -309,7 +309,7 @@ class CfgAmmo hit=12; typicalSpeed=716; ACE_caliber=0.007823; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=123; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; @@ -324,7 +324,7 @@ class CfgAmmo hit=12; typicalSpeed=716; ACE_caliber=0.007823; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=117; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; @@ -339,7 +339,7 @@ class CfgAmmo typicalSpeed=390; hit=6; ACE_caliber=0.009042; - ACE_bulletLength=0.610; + ACE_bulletLength=0.015494; ACE_bulletMass=115; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.17}; @@ -354,7 +354,7 @@ class CfgAmmo airFriction=-0.001234; typicalSpeed=298; ACE_caliber=0.009271; - ACE_bulletLength=0.610; + ACE_bulletLength=0.015494; ACE_bulletMass=92.6; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; @@ -369,7 +369,7 @@ class CfgAmmo typicalSpeed=370; hit=6; ACE_caliber=0.009017; - ACE_bulletLength=0.610; + ACE_bulletLength=0.015494; ACE_bulletMass=124; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; @@ -384,7 +384,7 @@ class CfgAmmo typicalSpeed=425; hit=7; ACE_caliber=0.0127; - ACE_bulletLength=0.764; + ACE_bulletLength=0.019406; ACE_bulletMass=165; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.189}; @@ -399,7 +399,7 @@ class CfgAmmo typicalSpeed=282; hit=7; ACE_caliber=0.007938; - ACE_bulletLength=0.610; + ACE_bulletLength=0.015494; ACE_bulletMass=65; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.118}; @@ -413,7 +413,7 @@ class CfgAmmo airFriction=-0.00083; typicalSpeed=761; ACE_caliber=0.007899; - ACE_bulletLength=1.227; + ACE_bulletLength=0.031166; ACE_bulletMass=174; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.499, 0.493, 0.48}; @@ -427,7 +427,7 @@ class CfgAmmo airFriction=-0.00106; typicalSpeed=880; ACE_caliber=0.009296; - ACE_bulletLength=1.350; + ACE_bulletLength=0.03429; ACE_bulletMass=230; ACE_transonicStabilityCoef=1; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -443,7 +443,7 @@ class CfgAmmo airFriction=-0.000395; typicalSpeed=910; ACE_caliber=0.010363; - ACE_bulletLength=2.126; + ACE_bulletLength=0.054; ACE_bulletMass=410; ACE_transonicStabilityCoef=1; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -457,7 +457,7 @@ class CfgAmmo class ACE_106x83mm_Ball : B_408_Ball { timeToLive=10; ACE_caliber=0.010566; - ACE_bulletLength=2.089; + ACE_bulletLength=0.053061; ACE_bulletMass=398; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.72}; @@ -472,7 +472,7 @@ class CfgAmmo airFriction=-0.000606; typicalSpeed=915; ACE_caliber=0.008585; - ACE_bulletLength=1.558; + ACE_bulletLength=0.039573; ACE_bulletMass=250; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.322}; @@ -486,7 +486,7 @@ class CfgAmmo airFriction=-0.000537; typicalSpeed=820; ACE_caliber=0.008585; - ACE_bulletLength=1.70; + ACE_bulletLength=0.04318; ACE_bulletMass=300; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.381}; @@ -502,7 +502,7 @@ class CfgAmmo caliber=1.55; typicalSpeed=826; ACE_caliber=0.008585; - ACE_bulletLength=1.70; + ACE_bulletLength=0.04318; ACE_bulletMass=300; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.381}; @@ -518,7 +518,7 @@ class CfgAmmo caliber=2.4; typicalSpeed=826; ACE_caliber=0.008585; - ACE_bulletLength=1.535; + ACE_bulletLength=0.038989; ACE_bulletMass=253; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.290}; @@ -532,7 +532,7 @@ class CfgAmmo airFriction=-0.00014; typicalSpeed=300; ACE_caliber=0.012954; - ACE_bulletLength=2.540; + ACE_bulletLength=0.064516; ACE_bulletMass=750; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={1.050}; @@ -547,7 +547,7 @@ class CfgAmmo airFriction=-0.0006; typicalSpeed=853; ACE_caliber=0.012954; - ACE_bulletLength=2.310; + ACE_bulletLength=0.058674; ACE_bulletMass=647; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.670}; @@ -562,7 +562,7 @@ class CfgAmmo airFriction=-0.000374; typicalSpeed=860; ACE_caliber=0.012954; - ACE_bulletLength=2.540; + ACE_bulletLength=0.064516; ACE_bulletMass=750; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={1.050}; @@ -577,7 +577,7 @@ class CfgAmmo airFriction=-0.00064; typicalSpeed=820; ACE_caliber=0.012979; - ACE_bulletLength=2.520; + ACE_bulletLength=0.064008; ACE_bulletMass=745; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.63}; @@ -591,7 +591,7 @@ class CfgAmmo airFriction=-0.0007182; typicalSpeed=250; ACE_caliber=0.011481; - ACE_bulletLength=0.68; + ACE_bulletLength=0.017272; ACE_bulletMass=230; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.195}; @@ -605,7 +605,7 @@ class CfgAmmo class TMR_B_762x51_M118LR : B_762x51_Ball { ACE_caliber=0.007823; - ACE_bulletLength=1.24; + ACE_bulletLength=0.031496; ACE_bulletMass=175; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.505, 0.496, 0.485, 0.485, 0.485}; @@ -619,7 +619,7 @@ class CfgAmmo class RH_50_AE_Ball: BulletBase { ACE_caliber=0.0127; - ACE_bulletLength=1.110; + ACE_bulletLength=0.028194; ACE_bulletMass=325; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.228}; @@ -632,7 +632,7 @@ class CfgAmmo class RH_454_Casull: BulletBase { ACE_caliber=0.011481; - ACE_bulletLength=0.895; + ACE_bulletLength=0.022733; ACE_bulletMass=325; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.171}; @@ -645,7 +645,7 @@ class CfgAmmo class RH_32ACP: BulletBase { ACE_caliber=0.007938; - ACE_bulletLength=0.610; + ACE_bulletLength=0.015494; ACE_bulletMass=65; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.118}; @@ -658,7 +658,7 @@ class CfgAmmo class RH_45ACP: BulletBase { ACE_caliber=0.011481; - ACE_bulletLength=0.68; + ACE_bulletLength=0.017272; ACE_bulletMass=230; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.195}; @@ -671,7 +671,7 @@ class CfgAmmo class RH_B_40SW: BulletBase { ACE_caliber=0.01016; - ACE_bulletLength=0.447; + ACE_bulletLength=0.011354; ACE_bulletMass=135; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.105, 0.115, 0.120, 0.105}; @@ -684,7 +684,7 @@ class CfgAmmo class RH_44mag_ball: BulletBase { ACE_caliber=0.010897; - ACE_bulletLength=0.804; + ACE_bulletLength=0.020422; ACE_bulletMass=200; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.172}; @@ -697,7 +697,7 @@ class CfgAmmo class RH_357mag_ball: BulletBase { ACE_caliber=0.009068; - ACE_bulletLength=0.541; + ACE_bulletLength=0.013741; ACE_bulletMass=125; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.148}; @@ -710,7 +710,7 @@ class CfgAmmo class RH_762x25: BulletBase { ACE_caliber=0.007874; - ACE_bulletLength=0.5455; + ACE_bulletLength=0.013856; ACE_bulletMass=86; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.17}; @@ -723,7 +723,7 @@ class CfgAmmo class RH_9x18_Ball: BulletBase { ACE_caliber=0.009271; - ACE_bulletLength=0.610; + ACE_bulletLength=0.015494; ACE_bulletMass=92.6; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; @@ -736,7 +736,7 @@ class CfgAmmo class RH_B_9x19_Ball: BulletBase { ACE_caliber=0.009017; - ACE_bulletLength=0.610; + ACE_bulletLength=0.015494; ACE_bulletMass=124; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; @@ -749,7 +749,7 @@ class CfgAmmo class RH_B_22LR_SD: BulletBase { ACE_caliber=0.005664; - ACE_bulletLength=0.45; + ACE_bulletLength=0.01143; ACE_bulletMass=38; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.111}; @@ -762,7 +762,7 @@ class CfgAmmo class RH_57x28mm: BulletBase { ACE_caliber=0.00569; - ACE_bulletLength=0.495; + ACE_bulletLength=0.012573; ACE_bulletMass=28; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.144}; @@ -776,7 +776,7 @@ class CfgAmmo class RH_9x19_B_M822: BulletBase { ACE_caliber=0.009017; - ACE_bulletLength=0.610; + ACE_bulletLength=0.015494; ACE_bulletMass=124; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; @@ -789,7 +789,7 @@ class CfgAmmo class RH_9x19_B_HP: BulletBase { ACE_caliber=0.009017; - ACE_bulletLength=0.610; + ACE_bulletLength=0.015494; ACE_bulletMass=124; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; @@ -802,7 +802,7 @@ class CfgAmmo class RH_9x19_B_HPSB: BulletBase { ACE_caliber=0.009017; - ACE_bulletLength=0.603; + ACE_bulletLength=0.015316; ACE_bulletMass=147; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.212}; @@ -815,7 +815,7 @@ class CfgAmmo class RH_B_6x35: BulletBase { ACE_caliber=0.00569; - ACE_bulletLength=0.445; + ACE_bulletLength=0.011303; ACE_bulletMass=65; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.26}; @@ -828,7 +828,7 @@ class CfgAmmo class RH_556x45_B_M855A1 : B_556x45_Ball { ACE_caliber=0.00569; - ACE_bulletLength=0.906; + ACE_bulletLength=0.023012; ACE_bulletMass=62; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; ACE_ballisticCoefficients[]={0.152}; @@ -841,7 +841,7 @@ class CfgAmmo class RH_556x45_B_Mk262 : B_556x45_Ball { ACE_caliber=0.00569; - ACE_bulletLength=0.906; + ACE_bulletLength=0.023012; ACE_bulletMass=77; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.361}; @@ -854,7 +854,7 @@ class CfgAmmo class RH_556x45_B_Mk318 : B_556x45_Ball { ACE_caliber=0.00569; - ACE_bulletLength=0.906; + ACE_bulletLength=0.023012; ACE_bulletMass=62; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.307}; @@ -867,7 +867,7 @@ class CfgAmmo class RH_68x43_B_FMJ: B_65x39_Caseless { ACE_caliber=0.007036; - ACE_bulletLength=0.959; + ACE_bulletLength=0.024359; ACE_bulletMass=115; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.162}; @@ -880,7 +880,7 @@ class CfgAmmo class RH_68x43_B_Match: B_65x39_Caseless { ACE_caliber=0.007036; - ACE_bulletLength=1.250; + ACE_bulletLength=0.03175; ACE_bulletMass=135; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.253}; @@ -893,7 +893,7 @@ class CfgAmmo class RH_762x35_B_FMJ: B_65x39_Caseless { ACE_caliber=0.007823; - ACE_bulletLength=1.118; + ACE_bulletLength=0.028397; ACE_bulletMass=147; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.398}; @@ -906,7 +906,7 @@ class CfgAmmo class RH_762x35_B_Match: B_65x39_Caseless { ACE_caliber=0.007823; - ACE_bulletLength=1.153; + ACE_bulletLength=0.029286; ACE_bulletMass=125; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.349, 0.338, 0.330, 0.310}; @@ -919,7 +919,7 @@ class CfgAmmo class RH_762x35_B_MSB: B_65x39_Caseless { ACE_caliber=0.007823; - ACE_bulletLength=1.489; + ACE_bulletLength=0.037821; ACE_bulletMass=220; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.608}; @@ -932,7 +932,7 @@ class CfgAmmo class RH_762x51_B_M80A1 : B_762x51_Ball { ACE_caliber=0.007823; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=146; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; @@ -945,7 +945,7 @@ class CfgAmmo class RH_762x51_B_Mk316LR : B_762x51_Ball { ACE_caliber=0.007823; - ACE_bulletLength=1.24; + ACE_bulletLength=0.031496; ACE_bulletMass=175; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.243}; @@ -958,7 +958,7 @@ class CfgAmmo class RH_762x51_B_Mk319 : B_762x51_Ball { ACE_caliber=0.007823; - ACE_bulletLength=1.074; + ACE_bulletLength=0.02728; ACE_bulletMass=130; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.277}; @@ -971,7 +971,7 @@ class CfgAmmo class RH_762x51_B_LFMJSB: B_762x51_Ball { ACE_caliber=0.007823; - ACE_bulletLength=1.340; + ACE_bulletLength=0.034036; ACE_bulletMass=200; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.252}; @@ -985,7 +985,7 @@ class CfgAmmo class HLC_556NATO_SOST: BulletBase { ACE_caliber=0.00569; - ACE_bulletLength=0.906; + ACE_bulletLength=0.023012; ACE_bulletMass=62; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.307}; @@ -998,7 +998,7 @@ class CfgAmmo class HLC_556NATO_SPR: BulletBase { ACE_caliber=0.00569; - ACE_bulletLength=0.906; + ACE_bulletLength=0.023012; ACE_bulletMass=77; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.361}; @@ -1011,7 +1011,7 @@ class CfgAmmo class HLC_556NATO_EPR: BulletBase { ACE_caliber=0.00569; - ACE_bulletLength=0.906; + ACE_bulletLength=0.023012; ACE_bulletMass=62; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; ACE_ballisticCoefficients[]={0.152}; @@ -1024,7 +1024,7 @@ class CfgAmmo class HLC_300Blackout_Ball: BulletBase { ACE_caliber=0.007823; - ACE_bulletLength=1.118; + ACE_bulletLength=0.028397; ACE_bulletMass=147; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.398}; @@ -1037,7 +1037,7 @@ class CfgAmmo class HLC_300Blackout_SMK: BulletBase { ACE_caliber=0.007823; - ACE_bulletLength=1.489; + ACE_bulletLength=0.037821; ACE_bulletMass=220; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.608}; @@ -1050,7 +1050,7 @@ class CfgAmmo class HLC_762x51_BTSub: BulletBase { ACE_caliber=0.007823; - ACE_bulletLength=1.340; + ACE_bulletLength=0.034036; ACE_bulletMass=200; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.235}; @@ -1063,7 +1063,7 @@ class CfgAmmo class HLC_762x54_ball: BulletBase { ACE_caliber=0.007925; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=152; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.4}; @@ -1076,7 +1076,7 @@ class CfgAmmo class HLC_762x54_tracer: BulletBase { ACE_caliber=0.007925; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=149; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.395}; @@ -1089,7 +1089,7 @@ class CfgAmmo class HLC_303Brit_B: BulletBase { ACE_caliber=0.007899; - ACE_bulletLength=1.227; + ACE_bulletLength=0.031166; ACE_bulletMass=174; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.499, 0.493, 0.48}; @@ -1102,7 +1102,7 @@ class CfgAmmo class HLC_792x57_Ball: BulletBase { ACE_caliber=0.008077; - ACE_bulletLength=1.128; + ACE_bulletLength=0.028651; ACE_bulletMass=196; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.315}; @@ -1115,7 +1115,7 @@ class CfgAmmo class FH_545x39_Ball: BulletBase { ACE_caliber=0.005588; - ACE_bulletLength=0.85; + ACE_bulletLength=0.02159; ACE_bulletMass=52.9; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; @@ -1135,7 +1135,7 @@ class CfgAmmo class HLC_9x19_Ball: BulletBase { ACE_caliber=0.009017; - ACE_bulletLength=0.610; + ACE_bulletLength=0.015494; ACE_bulletMass=124; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; @@ -1156,7 +1156,7 @@ class CfgAmmo class HLC_10mm_FMJ: HLC_9x19_Ball { ACE_caliber=0.0127; - ACE_bulletLength=0.764; + ACE_bulletLength=0.019406; ACE_bulletMass=165; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.189}; @@ -1169,7 +1169,7 @@ class CfgAmmo class HLC_9x19_M882_SMG: HLC_9x19_Ball { ACE_caliber=0.009017; - ACE_bulletLength=0.610; + ACE_bulletLength=0.015494; ACE_bulletMass=124; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; @@ -1183,7 +1183,7 @@ class CfgAmmo class M_mas_545x39_Ball_7N6M : BulletBase { ACE_caliber=0.005588; - ACE_bulletLength=0.85; + ACE_bulletLength=0.02159; ACE_bulletMass=52.9; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; @@ -1196,7 +1196,7 @@ class CfgAmmo class M_mas_545x39_Ball_7T3M : BulletBase { ACE_caliber=0.005588; - ACE_bulletLength=0.85; + ACE_bulletLength=0.02159; ACE_bulletMass=49.8; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; @@ -1209,7 +1209,7 @@ class CfgAmmo class B_mas_556x45_Ball_Mk262 : B_556x45_Ball { ACE_caliber=0.00569; - ACE_bulletLength=0.906; + ACE_bulletLength=0.023012; ACE_bulletMass=77; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.361}; @@ -1222,7 +1222,7 @@ class CfgAmmo class B_mas_9x18_Ball_57N181S : BulletBase { ACE_caliber=0.009271; - ACE_bulletLength=0.610; + ACE_bulletLength=0.015494; ACE_bulletMass=92.6; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; @@ -1235,7 +1235,7 @@ class CfgAmmo class B_mas_9x21p_Ball: BulletBase { ACE_caliber=0.009017; - ACE_bulletLength=0.610; + ACE_bulletLength=0.015494; ACE_bulletMass=124; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; @@ -1248,7 +1248,7 @@ class CfgAmmo class B_mas_9x21_Ball: BulletBase { ACE_caliber=0.009017; - ACE_bulletLength=0.610; + ACE_bulletLength=0.015494; ACE_bulletMass=124; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; @@ -1261,7 +1261,7 @@ class CfgAmmo class B_mas_9x21d_Ball: BulletBase { ACE_caliber=0.009017; - ACE_bulletLength=0.610; + ACE_bulletLength=0.015494; ACE_bulletMass=124; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; @@ -1274,7 +1274,7 @@ class CfgAmmo class B_mas_765x17_Ball: BulletBase { ACE_caliber=0.007938; - ACE_bulletLength=0.610; + ACE_bulletLength=0.015494; ACE_bulletMass=65; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.118}; @@ -1287,7 +1287,7 @@ class CfgAmmo class B_mas_762x39_Ball: BulletBase { ACE_caliber=0.007823; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=123; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; @@ -1300,7 +1300,7 @@ class CfgAmmo class B_mas_762x39_Ball_T: BulletBase { ACE_caliber=0.007823; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=117; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; @@ -1313,7 +1313,7 @@ class CfgAmmo class B_mas_762x51_Ball_M118LR : B_762x51_Ball { ACE_caliber=0.007823; - ACE_bulletLength=1.24; + ACE_bulletLength=0.031496; ACE_bulletMass=175; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.505, 0.496, 0.485, 0.485, 0.485}; @@ -1326,7 +1326,7 @@ class CfgAmmo class B_mas_762x67_Ball_Mk248_Mod_0 : B_762x51_Ball { ACE_caliber=0.007823; - ACE_bulletLength=1.353; + ACE_bulletLength=0.034366; ACE_bulletMass=190; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.268}; @@ -1339,7 +1339,7 @@ class CfgAmmo class B_mas_762x67_Ball_Mk248_Mod_1 : B_762x51_Ball { ACE_caliber=0.007823; - ACE_bulletLength=1.489; + ACE_bulletLength=0.037821; ACE_bulletMass=220; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.310}; @@ -1352,7 +1352,7 @@ class CfgAmmo class B_mas_762x67_Ball_Berger_Hybrid_OTM : B_762x51_Ball { ACE_caliber=0.007823; - ACE_bulletLength=1.602; + ACE_bulletLength=0.040691; ACE_bulletMass=230; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.368}; @@ -1365,7 +1365,7 @@ class CfgAmmo class B_mas_762x54_Ball : BulletBase { ACE_caliber=0.007925; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=152; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.4}; @@ -1378,7 +1378,7 @@ class CfgAmmo class B_mas_762x54_Ball_T : BulletBase { ACE_caliber=0.007925; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=149; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.395}; @@ -1391,7 +1391,7 @@ class CfgAmmo class BWA3_B_762x51_Ball_LR : BulletBase { ACE_caliber=0.007823; - ACE_bulletLength=1.24; + ACE_bulletLength=0.031496; ACE_bulletMass=175; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.505, 0.496, 0.485, 0.485, 0.485}; @@ -1404,7 +1404,7 @@ class CfgAmmo class BWA3_B_762x51_Ball_SD : BulletBase { ACE_caliber=0.007823; - ACE_bulletLength=1.24; + ACE_bulletLength=0.031496; ACE_bulletMass=175; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.2}; @@ -1418,7 +1418,7 @@ class CfgAmmo class BWA3_B_46x30_Ball : BulletBase { ACE_caliber=0.004902; - ACE_bulletLength=0.512; + ACE_bulletLength=0.013005; ACE_bulletMass=31; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.1455}; @@ -1432,7 +1432,7 @@ class CfgAmmo class Trixie_338_Ball : BulletBase { ACE_caliber=0.008585; - ACE_bulletLength=1.70; + ACE_bulletLength=0.04318; ACE_bulletMass=300; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.381}; @@ -1445,7 +1445,7 @@ class CfgAmmo class Trixie_303_Ball : BulletBase { ACE_caliber=0.007899; - ACE_bulletLength=1.227; + ACE_bulletLength=0.031166; ACE_bulletMass=174; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.499, 0.493, 0.48}; @@ -1459,7 +1459,7 @@ class CfgAmmo class rhs_ammo_556x45_Mk318_Ball : BulletBase { ACE_caliber=0.00569; - ACE_bulletLength=0.906; + ACE_bulletLength=0.023012; ACE_bulletMass=62; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.307}; @@ -1472,7 +1472,7 @@ class CfgAmmo class rhs_ammo_556x45_Mk262_Ball : BulletBase { ACE_caliber=0.00569; - ACE_bulletLength=0.906; + ACE_bulletLength=0.023012; ACE_bulletMass=77; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.361}; @@ -1485,7 +1485,7 @@ class CfgAmmo class rhsammo_762x51_Ball : BulletBase { ACE_caliber=0.007823; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=146; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; @@ -1498,7 +1498,7 @@ class CfgAmmo class rhs_B_545x39_Ball : BulletBase { ACE_caliber=0.005588; - ACE_bulletLength=0.85; + ACE_bulletLength=0.02159; ACE_bulletMass=52.9; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; @@ -1511,7 +1511,7 @@ class CfgAmmo class rhs_B_545x39_Ball_Tracer_Green : BulletBase { ACE_caliber=0.005588; - ACE_bulletLength=0.85; + ACE_bulletLength=0.02159; ACE_bulletMass=49.8; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; @@ -1524,7 +1524,7 @@ class CfgAmmo class rhs_ammo_762x51_M118_Special_Ball : BulletBase { ACE_caliber=0.007823; - ACE_bulletLength=1.24; + ACE_bulletLength=0.031496; ACE_bulletMass=175; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.243}; @@ -1537,7 +1537,7 @@ class CfgAmmo class rhs_B_762x54_Ball : BulletBase { ACE_caliber=0.007925; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=152; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.4}; @@ -1550,7 +1550,7 @@ class CfgAmmo class rhs_B_762x54_Ball_Tracer_Green : BulletBase { ACE_caliber=0.007925; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=149; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.395}; @@ -1563,7 +1563,7 @@ class CfgAmmo class rhs_B_762x39_Ball : BulletBase { ACE_caliber=0.007823; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=123; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; @@ -1576,7 +1576,7 @@ class CfgAmmo class rhs_B_762x39_Tracer : BulletBase { ACE_caliber=0.007823; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=117; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; @@ -1589,7 +1589,7 @@ class CfgAmmo class rhs_ammo_762x51_M80_Ball : BulletBase { ACE_caliber=0.007823; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=146; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; @@ -1602,7 +1602,7 @@ class CfgAmmo class rhsusf_B_300winmag : BulletBase { ACE_caliber=0.007823; - ACE_bulletLength=1.489; + ACE_bulletLength=0.037821; ACE_bulletMass=220; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.310}; @@ -1616,7 +1616,7 @@ class CfgAmmo class R3F_9x19_Ball: BulletBase { ACE_caliber=0.009017; - ACE_bulletLength=0.610; + ACE_bulletLength=0.015494; ACE_bulletMass=124; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; @@ -1629,7 +1629,7 @@ class CfgAmmo class R3F_556x45_Ball: BulletBase { ACE_caliber=0.00569; - ACE_bulletLength=0.906; + ACE_bulletLength=0.023012; ACE_bulletMass=62; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; ACE_ballisticCoefficients[]={0.151}; @@ -1642,7 +1642,7 @@ class CfgAmmo class R3F_762x51_Ball: BulletBase { ACE_caliber=0.007823; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=146; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; @@ -1655,7 +1655,7 @@ class CfgAmmo class R3F_762x51_Ball2: BulletBase { ACE_caliber=0.007823; - ACE_bulletLength=1.24; + ACE_bulletLength=0.031496; ACE_bulletMass=175; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.505, 0.496, 0.485, 0.485, 0.485}; @@ -1668,7 +1668,7 @@ class CfgAmmo class R3F_127x99_Ball: BulletBase { ACE_caliber=0.012954; - ACE_bulletLength=2.310; + ACE_bulletLength=0.058674; ACE_bulletMass=647; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.670}; @@ -1681,7 +1681,7 @@ class CfgAmmo class R3F_127x99_Ball2: BulletBase { ACE_caliber=0.012954; - ACE_bulletLength=2.310; + ACE_bulletLength=0.058674; ACE_bulletMass=647; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.670}; @@ -1695,7 +1695,7 @@ class CfgAmmo class CUP_B_545x39_Ball: BulletBase { ACE_caliber=0.005588; - ACE_bulletLength=0.85; + ACE_bulletLength=0.02159; ACE_bulletMass=52.9; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; @@ -1708,7 +1708,7 @@ class CfgAmmo class CUP_B_545x39_Ball_Tracer_Green: BulletBase { ACE_caliber=0.005588; - ACE_bulletLength=0.85; + ACE_bulletLength=0.02159; ACE_bulletMass=49.8; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; @@ -1721,7 +1721,7 @@ class CfgAmmo class CUP_B_545x39_Ball_Tracer_Red: BulletBase { ACE_caliber=0.005588; - ACE_bulletLength=0.85; + ACE_bulletLength=0.02159; ACE_bulletMass=49.8; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; @@ -1734,7 +1734,7 @@ class CfgAmmo class CUP_B_545x39_Ball_Tracer_White: BulletBase { ACE_caliber=0.005588; - ACE_bulletLength=0.85; + ACE_bulletLength=0.02159; ACE_bulletMass=49.8; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; @@ -1747,7 +1747,7 @@ class CfgAmmo class CUP_B_545x39_Ball_Tracer_Yellow: BulletBase { ACE_caliber=0.005588; - ACE_bulletLength=0.85; + ACE_bulletLength=0.02159; ACE_bulletMass=49.8; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; @@ -1760,7 +1760,7 @@ class CfgAmmo class CUP_B_762x39_Ball: BulletBase { ACE_caliber=0.007823; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=123; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; @@ -1773,7 +1773,7 @@ class CfgAmmo class CUP_B_762x39_Ball_Tracer_Green: BulletBase { ACE_caliber=0.007823; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=117; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; @@ -1786,7 +1786,7 @@ class CfgAmmo class B_762x39mm_KLT: BulletBase { ACE_caliber=0.007823; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=123; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; @@ -1799,7 +1799,7 @@ class CfgAmmo class CUP_B_9x18_Ball: BulletBase { ACE_caliber=0.009271; - ACE_bulletLength=0.610; + ACE_bulletLength=0.015494; ACE_bulletMass=92.6; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; @@ -1812,7 +1812,7 @@ class CfgAmmo class CUP_B_9x18_Ball_Tracer_Green: BulletBase { ACE_caliber=0.009271; - ACE_bulletLength=0.610; + ACE_bulletLength=0.015494; ACE_bulletMass=92.6; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; @@ -1825,7 +1825,7 @@ class CfgAmmo class CUP_B_9x18_Ball_Tracer_Red: BulletBase { ACE_caliber=0.009271; - ACE_bulletLength=0.610; + ACE_bulletLength=0.015494; ACE_bulletMass=92.6; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; @@ -1838,7 +1838,7 @@ class CfgAmmo class CUP_B_9x18_Ball_Tracer_Yellow: BulletBase { ACE_caliber=0.009271; - ACE_bulletLength=0.610; + ACE_bulletLength=0.015494; ACE_bulletMass=92.6; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; @@ -1851,7 +1851,7 @@ class CfgAmmo class CUP_B_9x18_Ball_White_Tracer: BulletBase { ACE_caliber=0.009271; - ACE_bulletLength=0.610; + ACE_bulletLength=0.015494; ACE_bulletMass=92.6; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; @@ -1864,7 +1864,7 @@ class CfgAmmo class CUP_B_9x19_Ball: BulletBase { ACE_caliber=0.009017; - ACE_bulletLength=0.610; + ACE_bulletLength=0.015494; ACE_bulletMass=124; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; @@ -1877,7 +1877,7 @@ class CfgAmmo class CUP_B_762x51_noTracer: BulletBase { ACE_caliber=0.007823; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=146; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; @@ -1890,7 +1890,7 @@ class CfgAmmo class CUP_B_762x51_Red_Tracer_3RndBurst: BulletBase { ACE_caliber=0.007823; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=146; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; @@ -1903,7 +1903,7 @@ class CfgAmmo class CUP_B_762x51_White_Tracer_3RndBurst: BulletBase { ACE_caliber=0.007823; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=146; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; @@ -1916,7 +1916,7 @@ class CfgAmmo class CUP_B_303_Ball: BulletBase { ACE_caliber=0.007899; - ACE_bulletLength=1.227; + ACE_bulletLength=0.031166; ACE_bulletMass=174; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.499, 0.493, 0.48}; @@ -1929,7 +1929,7 @@ class CfgAmmo class CUP_B_127x107_Ball_Green_Tracer: BulletBase { ACE_caliber=0.012979; - ACE_bulletLength=2.520; + ACE_bulletLength=0.064008; ACE_bulletMass=745; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.63}; @@ -1942,7 +1942,7 @@ class CfgAmmo class CUP_B_127x108_Ball_Green_Tracer: BulletBase { ACE_caliber=0.012979; - ACE_bulletLength=2.520; + ACE_bulletLength=0.064008; ACE_bulletMass=745; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.63}; @@ -1955,7 +1955,7 @@ class CfgAmmo class CUP_B_762x54_Ball_White_Tracer: BulletBase { ACE_caliber=0.007925; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=149; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.395}; @@ -1968,7 +1968,7 @@ class CfgAmmo class CUP_B_762x54_Ball_Red_Tracer: BulletBase { ACE_caliber=0.007925; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=149; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.395}; @@ -1981,7 +1981,7 @@ class CfgAmmo class CUP_B_762x54_Ball_Green_Tracer: BulletBase { ACE_caliber=0.007925; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=149; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.395}; @@ -1994,7 +1994,7 @@ class CfgAmmo class CUP_B_762x54_Ball_Yellow_Tracer: BulletBase { ACE_caliber=0.007925; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=149; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.395}; @@ -2007,7 +2007,7 @@ class CfgAmmo class CUP_B_9x39_SP5: BulletBase { ACE_caliber=0.009246; - ACE_bulletLength=1.24; + ACE_bulletLength=0.031496; ACE_bulletMass=250; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.275}; @@ -2020,7 +2020,7 @@ class CfgAmmo class CUP_B_762x51_Tracer_Green: BulletBase { ACE_caliber=0.007823; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=146; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; @@ -2033,7 +2033,7 @@ class CfgAmmo class CUP_B_762x51_Tracer_Red: BulletBase { ACE_caliber=0.007823; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=146; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; @@ -2046,7 +2046,7 @@ class CfgAmmo class CUP_B_762x51_Tracer_Yellow: BulletBase { ACE_caliber=0.007823; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=146; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; @@ -2059,7 +2059,7 @@ class CfgAmmo class CUP_B_762x51_Tracer_White: BulletBase { ACE_caliber=0.007823; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=146; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; @@ -2072,7 +2072,7 @@ class CfgAmmo class B_127x107_Ball: BulletBase { ACE_caliber=0.012979; - ACE_bulletLength=2.520; + ACE_bulletLength=0.064008; ACE_bulletMass=745; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.63}; @@ -2085,7 +2085,7 @@ class CfgAmmo class CUP_B_9x18_SD: BulletBase { ACE_caliber=0.009271; - ACE_bulletLength=0.610; + ACE_bulletLength=0.015494; ACE_bulletMass=92.6; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; @@ -2098,7 +2098,7 @@ class CfgAmmo class CUP_B_765x17_Ball: BulletBase { ACE_caliber=0.007938; - ACE_bulletLength=0.610; + ACE_bulletLength=0.015494; ACE_bulletMass=65; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.118}; @@ -2111,7 +2111,7 @@ class CfgAmmo class CUP_B_145x115_AP_Green_Tracer: BulletBase { ACE_caliber=0.014884; - ACE_bulletLength=2.00; + ACE_bulletLength=0.0508; ACE_bulletMass=1010; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.620}; @@ -2124,7 +2124,7 @@ class CfgAmmo class CUP_B_127x99_Ball_White_Tracer: BulletBase { ACE_caliber=0.012954; - ACE_bulletLength=2.310; + ACE_bulletLength=0.058674; ACE_bulletMass=647; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.670}; @@ -2137,7 +2137,7 @@ class CfgAmmo class CUP_B_86x70_Ball_noTracer: BulletBase { ACE_caliber=0.008585; - ACE_bulletLength=1.70; + ACE_bulletLength=0.04318; ACE_bulletMass=300; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.381}; @@ -2151,7 +2151,7 @@ class CfgAmmo class VTN_9x18_Ball_FMJ: B_9x21_Ball { ACE_caliber=0.009271; - ACE_bulletLength=0.610; + ACE_bulletLength=0.015494; ACE_bulletMass=92.6; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; @@ -2164,7 +2164,7 @@ class CfgAmmo class VTN_9x18_Ball_SC: VTN_9x18_Ball_FMJ { ACE_caliber=0.009271; - ACE_bulletLength=0.610; + ACE_bulletLength=0.015494; ACE_bulletMass=92.6; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; @@ -2177,7 +2177,7 @@ class CfgAmmo class VTN_9x18_Ball_TRC: VTN_9x18_Ball_FMJ { ACE_caliber=0.009271; - ACE_bulletLength=0.610; + ACE_bulletLength=0.015494; ACE_bulletMass=92.6; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; @@ -2190,7 +2190,7 @@ class CfgAmmo class VTN_9x18_Ball_AP1: VTN_9x18_Ball_FMJ { ACE_caliber=0.009271; - ACE_bulletLength=0.610; + ACE_bulletLength=0.015494; ACE_bulletMass=92.6; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; @@ -2203,7 +2203,7 @@ class CfgAmmo class VTN_9x18_Ball_AP2: VTN_9x18_Ball_FMJ { ACE_caliber=0.009271; - ACE_bulletLength=0.610; + ACE_bulletLength=0.015494; ACE_bulletMass=92.6; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; @@ -2216,7 +2216,7 @@ class CfgAmmo class VTN_9x18_Ball_PRS: VTN_9x18_Ball_FMJ { ACE_caliber=0.009271; - ACE_bulletLength=0.610; + ACE_bulletLength=0.015494; ACE_bulletMass=92.6; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; @@ -2229,7 +2229,7 @@ class CfgAmmo class VTN_9x19_Ball_SC: VTN_9x18_Ball_FMJ { ACE_caliber=0.009017; - ACE_bulletLength=0.610; + ACE_bulletLength=0.015494; ACE_bulletMass=124; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; @@ -2242,7 +2242,7 @@ class CfgAmmo class VTN_9x19_Ball_TRC: VTN_9x19_Ball_SC { ACE_caliber=0.009017; - ACE_bulletLength=0.610; + ACE_bulletLength=0.015494; ACE_bulletMass=124; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; @@ -2255,7 +2255,7 @@ class CfgAmmo class VTN_9x19_Ball_AP: VTN_9x19_Ball_SC { ACE_caliber=0.009017; - ACE_bulletLength=0.610; + ACE_bulletLength=0.015494; ACE_bulletMass=124; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; @@ -2268,7 +2268,7 @@ class CfgAmmo class VTN_9x19_Ball_PRS: VTN_9x19_Ball_SC { ACE_caliber=0.009017; - ACE_bulletLength=0.610; + ACE_bulletLength=0.015494; ACE_bulletMass=124; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; @@ -2281,7 +2281,7 @@ class CfgAmmo class VTN_9x39_Ball_SC: B_9x21_Ball { ACE_caliber=0.009246; - ACE_bulletLength=1.24; + ACE_bulletLength=0.031496; ACE_bulletMass=250; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.275}; @@ -2294,7 +2294,7 @@ class CfgAmmo class VTN_9x39_Ball_AP: VTN_9x39_Ball_SC { ACE_caliber=0.009246; - ACE_bulletLength=1.24; + ACE_bulletLength=0.031496; ACE_bulletMass=250; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.275}; @@ -2307,7 +2307,7 @@ class CfgAmmo class VTN_545x39_Ball_SC: B_556x45_Ball { ACE_caliber=0.005588; - ACE_bulletLength=0.85; + ACE_bulletLength=0.02159; ACE_bulletMass=52.9; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; @@ -2320,7 +2320,7 @@ class CfgAmmo class VTN_545x39_Ball_TRC: VTN_545x39_Ball_SC { ACE_caliber=0.005588; - ACE_bulletLength=0.85; + ACE_bulletLength=0.02159; ACE_bulletMass=49.8; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; @@ -2333,7 +2333,7 @@ class CfgAmmo class VTN_545x39_Ball_AP: VTN_545x39_Ball_TRC { ACE_caliber=0.005588; - ACE_bulletLength=0.85; + ACE_bulletLength=0.02159; ACE_bulletMass=52.9; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; @@ -2346,7 +2346,7 @@ class CfgAmmo class VTN_545x39_Ball_AP2: VTN_545x39_Ball_AP { ACE_caliber=0.005588; - ACE_bulletLength=0.85; + ACE_bulletLength=0.02159; ACE_bulletMass=52.9; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; @@ -2359,7 +2359,7 @@ class CfgAmmo class VTN_545x39_Ball_SS: VTN_545x39_Ball_SC { ACE_caliber=0.005588; - ACE_bulletLength=0.85; + ACE_bulletLength=0.02159; ACE_bulletMass=52.9; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.168}; @@ -2372,7 +2372,7 @@ class CfgAmmo class VTN_762x39_Ball_SC: B_762x51_Ball { ACE_caliber=0.007823; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=123; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; @@ -2385,7 +2385,7 @@ class CfgAmmo class VTN_762x39_Ball_TRC: VTN_762x39_Ball_SC { ACE_caliber=0.007823; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=117; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; @@ -2398,7 +2398,7 @@ class CfgAmmo class VTN_762x39_Ball_AP: VTN_762x39_Ball_TRC { ACE_caliber=0.007823; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=123; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; @@ -2411,7 +2411,7 @@ class CfgAmmo class VTN_762x39_Ball_INC: VTN_762x39_Ball_AP { ACE_caliber=0.007823; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=123; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; @@ -2424,7 +2424,7 @@ class CfgAmmo class VTN_762x39_Ball_API: VTN_762x39_Ball_INC { ACE_caliber=0.007823; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=123; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; @@ -2437,7 +2437,7 @@ class CfgAmmo class VTN_762x39_Ball_SS: VTN_762x39_Ball_SC { ACE_caliber=0.007823; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=123; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.275}; @@ -2450,7 +2450,7 @@ class CfgAmmo class VTN_762x41_Ball_SS: B_762x51_Ball { ACE_caliber=0.007823; - ACE_bulletLength=0.53; + ACE_bulletLength=0.013462; ACE_bulletMass=143; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.275}; @@ -2463,7 +2463,7 @@ class CfgAmmo class VTN_762x54_Ball_SC: VTN_762x39_Ball_SC { ACE_caliber=0.007925; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=152; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.4}; @@ -2476,7 +2476,7 @@ class CfgAmmo class VTN_762x54_Ball_TRC: VTN_762x54_Ball_SC { ACE_caliber=0.007925; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=149; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.395}; @@ -2489,7 +2489,7 @@ class CfgAmmo class VTN_762x54_Ball_AP: VTN_762x54_Ball_TRC { ACE_caliber=0.007925; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=152; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.4}; @@ -2502,7 +2502,7 @@ class CfgAmmo class VTN_762x54_Ball_INC: VTN_762x54_Ball_AP { ACE_caliber=0.007925; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=152; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.4}; @@ -2515,7 +2515,7 @@ class CfgAmmo class VTN_762x54_Ball_API: VTN_762x54_Ball_INC { ACE_caliber=0.007925; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=152; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.4}; @@ -2528,7 +2528,7 @@ class CfgAmmo class VTN_145x114_Ball_APT: B_127x108_Ball { ACE_caliber=0.014884; - ACE_bulletLength=2.00; + ACE_bulletLength=0.0508; ACE_bulletMass=1010; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.620}; @@ -2541,7 +2541,7 @@ class CfgAmmo class VTN_6mm_BB: B_65x39_Caseless { ACE_caliber=0.006096; - ACE_bulletLength=0.24; + ACE_bulletLength=0.006096; ACE_bulletMass=6; ACE_ammoTempMuzzleVelocityShifts[]={}; ACE_ballisticCoefficients[]={}; @@ -2554,7 +2554,7 @@ class CfgAmmo class VTN_9x19_Ball_FMJ: B_9x21_Ball { ACE_caliber=0.009017; - ACE_bulletLength=0.610; + ACE_bulletLength=0.015494; ACE_bulletMass=124; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; @@ -2567,7 +2567,7 @@ class CfgAmmo class VTN_556x45_Ball_FMJ: B_556x45_Ball { ACE_caliber=0.00569; - ACE_bulletLength=0.906; + ACE_bulletLength=0.023012; ACE_bulletMass=62; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; ACE_ballisticCoefficients[]={0.151}; @@ -2580,7 +2580,7 @@ class CfgAmmo class VTN_556x45_Ball_TRC: VTN_556x45_Ball_FMJ { ACE_caliber=0.00569; - ACE_bulletLength=0.906; + ACE_bulletLength=0.023012; ACE_bulletMass=62; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; ACE_ballisticCoefficients[]={0.151}; @@ -2593,7 +2593,7 @@ class CfgAmmo class VTN_556x45_Ball_TRCN: VTN_556x45_Ball_TRC { ACE_caliber=0.00569; - ACE_bulletLength=0.906; + ACE_bulletLength=0.023012; ACE_bulletMass=62; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; ACE_ballisticCoefficients[]={0.151}; @@ -2606,7 +2606,7 @@ class CfgAmmo class VTN_556x45_Ball_SC: VTN_556x45_Ball_FMJ { ACE_caliber=0.00569; - ACE_bulletLength=0.906; + ACE_bulletLength=0.023012; ACE_bulletMass=62; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; ACE_ballisticCoefficients[]={0.151}; @@ -2619,7 +2619,7 @@ class CfgAmmo class VTN_556x45_Ball_AP: VTN_556x45_Ball_TRC { ACE_caliber=0.00569; - ACE_bulletLength=0.906; + ACE_bulletLength=0.023012; ACE_bulletMass=62; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; ACE_ballisticCoefficients[]={0.151}; @@ -2632,7 +2632,7 @@ class CfgAmmo class VTN_556x45_Ball_INC: VTN_556x45_Ball_AP { ACE_caliber=0.00569; - ACE_bulletLength=0.906; + ACE_bulletLength=0.023012; ACE_bulletMass=62; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; ACE_ballisticCoefficients[]={0.151}; @@ -2645,7 +2645,7 @@ class CfgAmmo class VTN_556x45_Ball_LR: VTN_556x45_Ball_FMJ { ACE_caliber=0.00569; - ACE_bulletLength=0.906; + ACE_bulletLength=0.023012; ACE_bulletMass=77; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.361}; @@ -2658,7 +2658,7 @@ class CfgAmmo class VTN_556x45_Ball_SS: B_556x45_Ball { ACE_caliber=0.00569; - ACE_bulletLength=0.906; + ACE_bulletLength=0.023012; ACE_bulletMass=62; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.151}; @@ -2671,7 +2671,7 @@ class CfgAmmo class VTN_762x51_Ball_SC: B_762x51_Ball { ACE_caliber=0.007823; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=146; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; @@ -2684,7 +2684,7 @@ class CfgAmmo class VTN_762x51_Ball_TRC: VTN_762x51_Ball_SC { ACE_caliber=0.007823; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=146; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; @@ -2697,7 +2697,7 @@ class CfgAmmo class VTN_762x51_Ball_TRCN: VTN_762x51_Ball_TRC { ACE_caliber=0.007823; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=146; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; @@ -2710,7 +2710,7 @@ class CfgAmmo class VTN_762x51_Ball_AP: VTN_762x51_Ball_TRC { ACE_caliber=0.007823; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=146; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; @@ -2723,7 +2723,7 @@ class CfgAmmo class VTN_762x51_Ball_LR: VTN_762x51_Ball_SC { ACE_caliber=0.007823; - ACE_bulletLength=1.24; + ACE_bulletLength=0.031496; ACE_bulletMass=175; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.243}; @@ -2736,7 +2736,7 @@ class CfgAmmo class VTN_1143x23_Ball_FMJ: B_408_Ball { ACE_caliber=0.011481; - ACE_bulletLength=0.68; + ACE_bulletLength=0.017272; ACE_bulletMass=230; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.195}; @@ -2749,7 +2749,7 @@ class CfgAmmo class VTN_1143x23_Ball_HP: VTN_1143x23_Ball_FMJ { ACE_caliber=0.011481; - ACE_bulletLength=0.68; + ACE_bulletLength=0.017272; ACE_bulletMass=230; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.195}; @@ -2762,7 +2762,7 @@ class CfgAmmo class VTN_1143x23_Ball_JHP: VTN_1143x23_Ball_FMJ { ACE_caliber=0.011481; - ACE_bulletLength=0.68; + ACE_bulletLength=0.017272; ACE_bulletMass=230; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.195}; @@ -2775,7 +2775,7 @@ class CfgAmmo class VTN_762x39_Ball_FMJ: B_762x51_Ball { ACE_caliber=0.007823; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=123; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; @@ -2788,7 +2788,7 @@ class CfgAmmo class VTN_45_Pellet: B_762x51_Ball { ACE_caliber=0.005588; - ACE_bulletLength=0.23; + ACE_bulletLength=0.005842; ACE_bulletMass=3; ACE_ammoTempMuzzleVelocityShifts[]={}; ACE_ballisticCoefficients[]={}; diff --git a/optionals/compat_cup/CfgAmmo.hpp b/optionals/compat_cup/CfgAmmo.hpp index 32e52aef30..793d2d03fb 100644 --- a/optionals/compat_cup/CfgAmmo.hpp +++ b/optionals/compat_cup/CfgAmmo.hpp @@ -6,7 +6,7 @@ class CfgAmmo class CUP_B_545x39_Ball: BulletBase { ACE_caliber=0.005588; - ACE_bulletLength=0.85; + ACE_bulletLength=0.02159; ACE_bulletMass=52.9; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; @@ -19,7 +19,7 @@ class CfgAmmo class CUP_B_545x39_Ball_Tracer_Green: CUP_B_545x39_Ball { ACE_caliber=0.005588; - ACE_bulletLength=0.85; + ACE_bulletLength=0.02159; ACE_bulletMass=49.8; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; @@ -32,7 +32,7 @@ class CfgAmmo class CUP_B_545x39_Ball_Tracer_Red: BulletBase { ACE_caliber=0.005588; - ACE_bulletLength=0.85; + ACE_bulletLength=0.02159; ACE_bulletMass=49.8; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; @@ -45,7 +45,7 @@ class CfgAmmo class CUP_B_545x39_Ball_Tracer_White: BulletBase { ACE_caliber=0.005588; - ACE_bulletLength=0.85; + ACE_bulletLength=0.02159; ACE_bulletMass=49.8; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; @@ -58,7 +58,7 @@ class CfgAmmo class CUP_B_545x39_Ball_Tracer_Yellow: BulletBase { ACE_caliber=0.005588; - ACE_bulletLength=0.85; + ACE_bulletLength=0.02159; ACE_bulletMass=49.8; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; @@ -71,7 +71,7 @@ class CfgAmmo class CUP_B_762x39_Ball: BulletBase { ACE_caliber=0.007823; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=123; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; @@ -84,7 +84,7 @@ class CfgAmmo class CUP_B_762x39_Ball_Tracer_Green: BulletBase { ACE_caliber=0.007823; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=117; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; @@ -97,7 +97,7 @@ class CfgAmmo class CUP_B_9x18_Ball: BulletBase { ACE_caliber=0.009271; - ACE_bulletLength=0.610; + ACE_bulletLength=0.015494; ACE_bulletMass=92.6; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; @@ -110,7 +110,7 @@ class CfgAmmo class CUP_B_9x18_Ball_Tracer_Green: BulletBase { ACE_caliber=0.009271; - ACE_bulletLength=0.610; + ACE_bulletLength=0.015494; ACE_bulletMass=92.6; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; @@ -123,7 +123,7 @@ class CfgAmmo class CUP_B_9x18_Ball_Tracer_Red: BulletBase { ACE_caliber=0.009271; - ACE_bulletLength=0.610; + ACE_bulletLength=0.015494; ACE_bulletMass=92.6; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; @@ -136,7 +136,7 @@ class CfgAmmo class CUP_B_9x18_Ball_Tracer_Yellow: BulletBase { ACE_caliber=0.009271; - ACE_bulletLength=0.610; + ACE_bulletLength=0.015494; ACE_bulletMass=92.6; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; @@ -149,7 +149,7 @@ class CfgAmmo class CUP_B_9x18_Ball_White_Tracer: BulletBase { ACE_caliber=0.009271; - ACE_bulletLength=0.610; + ACE_bulletLength=0.015494; ACE_bulletMass=92.6; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; @@ -162,7 +162,7 @@ class CfgAmmo class CUP_B_9x19_Ball: BulletBase { ACE_caliber=0.009017; - ACE_bulletLength=0.610; + ACE_bulletLength=0.015494; ACE_bulletMass=124; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; @@ -175,7 +175,7 @@ class CfgAmmo class CUP_B_762x51_noTracer: B_762x51_Ball { ACE_caliber=0.007823; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=146; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; @@ -188,7 +188,7 @@ class CfgAmmo class CUP_B_303_Ball: BulletBase { ACE_caliber=0.007899; - ACE_bulletLength=1.227; + ACE_bulletLength=0.031166; ACE_bulletMass=174; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.499, 0.493, 0.48}; @@ -201,7 +201,7 @@ class CfgAmmo class CUP_B_127x107_Ball_Green_Tracer: BulletBase { ACE_caliber=0.012979; - ACE_bulletLength=2.520; + ACE_bulletLength=0.064008; ACE_bulletMass=745; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.63}; @@ -214,7 +214,7 @@ class CfgAmmo class CUP_B_127x108_Ball_Green_Tracer: BulletBase { ACE_caliber=0.012979; - ACE_bulletLength=2.520; + ACE_bulletLength=0.064008; ACE_bulletMass=745; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.63}; @@ -227,7 +227,7 @@ class CfgAmmo class CUP_B_762x54_Ball_White_Tracer: BulletBase { ACE_caliber=0.007925; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=149; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.395}; @@ -240,7 +240,7 @@ class CfgAmmo class CUP_B_762x54_Ball_Red_Tracer: BulletBase { ACE_caliber=0.007925; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=149; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.395}; @@ -253,7 +253,7 @@ class CfgAmmo class CUP_B_762x54_Ball_Green_Tracer: BulletBase { ACE_caliber=0.007925; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=149; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.395}; @@ -266,7 +266,7 @@ class CfgAmmo class CUP_B_762x54_Ball_Yellow_Tracer: BulletBase { ACE_caliber=0.007925; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=149; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.395}; @@ -279,7 +279,7 @@ class CfgAmmo class CUP_B_9x39_SP5: BulletBase { ACE_caliber=0.009246; - ACE_bulletLength=1.24; + ACE_bulletLength=0.031496; ACE_bulletMass=250; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.275}; @@ -292,7 +292,7 @@ class CfgAmmo class CUP_B_762x51_Tracer_Green: BulletBase { ACE_caliber=0.007823; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=146; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; @@ -305,7 +305,7 @@ class CfgAmmo class CUP_B_762x51_Tracer_Red: BulletBase { ACE_caliber=0.007823; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=146; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; @@ -318,7 +318,7 @@ class CfgAmmo class CUP_B_762x51_Tracer_Yellow: BulletBase { ACE_caliber=0.007823; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=146; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; @@ -331,7 +331,7 @@ class CfgAmmo class CUP_B_762x51_Tracer_White: BulletBase { ACE_caliber=0.007823; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=146; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; @@ -344,7 +344,7 @@ class CfgAmmo class B_127x107_Ball: BulletBase { ACE_caliber=0.012979; - ACE_bulletLength=2.520; + ACE_bulletLength=0.064008; ACE_bulletMass=745; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.63}; @@ -357,7 +357,7 @@ class CfgAmmo class CUP_B_9x18_SD: BulletBase { ACE_caliber=0.009271; - ACE_bulletLength=0.610; + ACE_bulletLength=0.015494; ACE_bulletMass=92.6; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; @@ -370,7 +370,7 @@ class CfgAmmo class CUP_B_765x17_Ball: BulletBase { ACE_caliber=0.007938; - ACE_bulletLength=0.610; + ACE_bulletLength=0.015494; ACE_bulletMass=65; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.118}; @@ -383,7 +383,7 @@ class CfgAmmo class CUP_B_145x115_AP_Green_Tracer: BulletBase { ACE_caliber=0.014884; - ACE_bulletLength=2.00; + ACE_bulletLength=0.0508; ACE_bulletMass=1010; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.620}; @@ -396,7 +396,7 @@ class CfgAmmo class CUP_B_127x99_Ball_White_Tracer: B_127x99_Ball { ACE_caliber=0.012954; - ACE_bulletLength=2.310; + ACE_bulletLength=0.058674; ACE_bulletMass=647; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.670}; @@ -409,7 +409,7 @@ class CfgAmmo class CUP_B_86x70_Ball_noTracer: BulletBase { ACE_caliber=0.008585; - ACE_bulletLength=1.70; + ACE_bulletLength=0.04318; ACE_bulletMass=300; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.381}; diff --git a/optionals/compat_hlcmods_core/CfgAmmo.hpp b/optionals/compat_hlcmods_core/CfgAmmo.hpp index 6d0e36f0d3..9da1f56803 100644 --- a/optionals/compat_hlcmods_core/CfgAmmo.hpp +++ b/optionals/compat_hlcmods_core/CfgAmmo.hpp @@ -9,7 +9,7 @@ class CfgAmmo class HLC_556NATO_EPR: B_556x45_Ball { ACE_caliber=0.00569; - ACE_bulletLength=0.906; + ACE_bulletLength=0.023012; ACE_bulletMass=62; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; ACE_ballisticCoefficients[]={0.151}; @@ -22,7 +22,7 @@ class CfgAmmo class HLC_556NATO_SOST: B_556x45_Ball { ACE_caliber=0.00569; - ACE_bulletLength=0.906; + ACE_bulletLength=0.023012; ACE_bulletMass=62; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.307}; @@ -35,7 +35,7 @@ class CfgAmmo class HLC_556NATO_SPR: B_556x45_Ball { ACE_caliber=0.00569; - ACE_bulletLength=0.906; + ACE_bulletLength=0.023012; ACE_bulletMass=77; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.361}; @@ -48,7 +48,7 @@ class CfgAmmo class HLC_300Blackout_Ball: B_556x45_Ball { ACE_caliber=0.007823; - ACE_bulletLength=1.118; + ACE_bulletLength=0.028397; ACE_bulletMass=147; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.398}; @@ -61,7 +61,7 @@ class CfgAmmo class HLC_300Blackout_SMK: HLC_300Blackout_Ball { ACE_caliber=0.007823; - ACE_bulletLength=1.489; + ACE_bulletLength=0.037821; ACE_bulletMass=220; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.608}; @@ -74,7 +74,7 @@ class CfgAmmo class HLC_762x39_Ball: HLC_300Blackout_Ball { ACE_caliber=0.007823; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=123; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; @@ -87,7 +87,7 @@ class CfgAmmo class HLC_762x39_Tracer: HLC_762x39_Ball { ACE_caliber=0.007823; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=117; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; @@ -100,7 +100,7 @@ class CfgAmmo class HLC_762x51_MK316_20in: B_762x51_Ball { ACE_caliber=0.007823; - ACE_bulletLength=1.24; + ACE_bulletLength=0.031496; ACE_bulletMass=175; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.243}; @@ -113,7 +113,7 @@ class CfgAmmo class HLC_762x51_BTSub: B_762x51_Ball { ACE_caliber=0.007823; - ACE_bulletLength=1.340; + ACE_bulletLength=0.034036; ACE_bulletMass=200; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.235}; @@ -126,7 +126,7 @@ class CfgAmmo class HLC_762x54_ball: HLC_762x51_ball { ACE_caliber=0.007925; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=152; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.4}; @@ -139,7 +139,7 @@ class CfgAmmo class HLC_762x54_tracer: HLC_762x51_tracer { ACE_caliber=0.007925; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=149; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.395}; @@ -152,7 +152,7 @@ class CfgAmmo class HLC_303Brit_B: B_556x45_Ball { ACE_caliber=0.007899; - ACE_bulletLength=1.227; + ACE_bulletLength=0.031166; ACE_bulletMass=174; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.499, 0.493, 0.48}; @@ -165,7 +165,7 @@ class CfgAmmo class HLC_792x57_Ball: HLC_303Brit_B { ACE_caliber=0.008077; - ACE_bulletLength=1.128; + ACE_bulletLength=0.028651; ACE_bulletMass=196; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.315}; @@ -184,7 +184,7 @@ class CfgAmmo class FH_545x39_Ball: B_556x45_Ball { ACE_caliber=0.005588; - ACE_bulletLength=0.85; + ACE_bulletLength=0.02159; ACE_bulletMass=52.9; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; @@ -204,7 +204,7 @@ class CfgAmmo class HLC_57x28mm_JHP: FH_545x39_Ball { ACE_caliber=0.00569; - ACE_bulletLength=0.495; + ACE_bulletLength=0.012573; ACE_bulletMass=28; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.144}; @@ -217,7 +217,7 @@ class CfgAmmo class HLC_9x19_Ball: B_556x45_Ball { ACE_caliber=0.009017; - ACE_bulletLength=0.610; + ACE_bulletLength=0.015494; ACE_bulletMass=124; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; @@ -230,7 +230,7 @@ class CfgAmmo class HLC_9x19_M882_SMG: B_556x45_Ball { ACE_caliber=0.009017; - ACE_bulletLength=0.610; + ACE_bulletLength=0.015494; ACE_bulletMass=124; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; @@ -251,7 +251,7 @@ class CfgAmmo class HLC_10mm_FMJ: HLC_9x19_Ball { ACE_caliber=0.0127; - ACE_bulletLength=0.764; + ACE_bulletLength=0.019406; ACE_bulletMass=165; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.189}; @@ -264,7 +264,7 @@ class CfgAmmo class HLC_45ACP_Ball: B_556x45_Ball { ACE_caliber=0.011481; - ACE_bulletLength=0.68; + ACE_bulletLength=0.017272; ACE_bulletMass=230; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.195}; @@ -277,7 +277,7 @@ class CfgAmmo class FH_44Mag: HLC_45ACP_Ball { ACE_caliber=0.010897; - ACE_bulletLength=0.804; + ACE_bulletLength=0.020422; ACE_bulletMass=200; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.172}; @@ -290,7 +290,7 @@ class CfgAmmo class FH_50BMG_SLAP: B_127x99_Ball { ACE_caliber=0.007823; - ACE_bulletLength=1.25; + ACE_bulletLength=0.03175; ACE_bulletMass=350; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={1.056}; @@ -303,7 +303,7 @@ class CfgAmmo class FH_50BMG_Raufoss: B_127x99_Ball { ACE_caliber=0.012954; - ACE_bulletLength=2.380; + ACE_bulletLength=0.060452; ACE_bulletMass=660; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.670}; diff --git a/optionals/compat_rh_de/CfgAmmo.hpp b/optionals/compat_rh_de/CfgAmmo.hpp index d57daad303..3204523bd8 100644 --- a/optionals/compat_rh_de/CfgAmmo.hpp +++ b/optionals/compat_rh_de/CfgAmmo.hpp @@ -5,7 +5,7 @@ class CfgAmmo class RH_50_AE_Ball: BulletBase { ACE_caliber=0.0127; - ACE_bulletLength=1.110; + ACE_bulletLength=0.028194; ACE_bulletMass=325; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.228}; @@ -18,7 +18,7 @@ class CfgAmmo class RH_454_Casull: BulletBase { ACE_caliber=0.011481; - ACE_bulletLength=0.895; + ACE_bulletLength=0.022733; ACE_bulletMass=325; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.171}; @@ -31,7 +31,7 @@ class CfgAmmo class RH_32ACP: BulletBase { ACE_caliber=0.007938; - ACE_bulletLength=0.610; + ACE_bulletLength=0.015494; ACE_bulletMass=65; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.118}; @@ -44,7 +44,7 @@ class CfgAmmo class RH_45ACP: BulletBase { ACE_caliber=0.011481; - ACE_bulletLength=0.68; + ACE_bulletLength=0.017272; ACE_bulletMass=230; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.195}; @@ -57,7 +57,7 @@ class CfgAmmo class RH_B_40SW: BulletBase { ACE_caliber=0.01016; - ACE_bulletLength=0.447; + ACE_bulletLength=0.011354; ACE_bulletMass=135; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.105, 0.115, 0.120, 0.105}; @@ -70,7 +70,7 @@ class CfgAmmo class RH_44mag_ball: BulletBase { ACE_caliber=0.010897; - ACE_bulletLength=0.804; + ACE_bulletLength=0.020422; ACE_bulletMass=200; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.172}; @@ -83,7 +83,7 @@ class CfgAmmo class RH_357mag_ball: BulletBase { ACE_caliber=0.009068; - ACE_bulletLength=0.541; + ACE_bulletLength=0.013741; ACE_bulletMass=125; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.148}; @@ -96,7 +96,7 @@ class CfgAmmo class RH_762x25: BulletBase { ACE_caliber=0.007874; - ACE_bulletLength=0.5455; + ACE_bulletLength=0.013856; ACE_bulletMass=86; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.17}; @@ -109,7 +109,7 @@ class CfgAmmo class RH_9x18_Ball: BulletBase { ACE_caliber=0.009271; - ACE_bulletLength=0.610; + ACE_bulletLength=0.015494; ACE_bulletMass=92.6; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; @@ -122,7 +122,7 @@ class CfgAmmo class RH_B_9x19_Ball: BulletBase { ACE_caliber=0.009017; - ACE_bulletLength=0.610; + ACE_bulletLength=0.015494; ACE_bulletMass=124; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; @@ -135,7 +135,7 @@ class CfgAmmo class RH_B_22LR_SD: BulletBase { ACE_caliber=0.005664; - ACE_bulletLength=0.45; + ACE_bulletLength=0.01143; ACE_bulletMass=38; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.111}; @@ -148,7 +148,7 @@ class CfgAmmo class RH_57x28mm: BulletBase { ACE_caliber=0.00569; - ACE_bulletLength=0.495; + ACE_bulletLength=0.012573; ACE_bulletMass=28; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.144}; diff --git a/optionals/compat_rh_m4/CfgAmmo.hpp b/optionals/compat_rh_m4/CfgAmmo.hpp index 44ed3493d0..9d7f4eec9f 100644 --- a/optionals/compat_rh_m4/CfgAmmo.hpp +++ b/optionals/compat_rh_m4/CfgAmmo.hpp @@ -11,7 +11,7 @@ class CfgAmmo { class RH_9x19_B_M822: BulletBase { ACE_caliber=0.009017; - ACE_bulletLength=0.610; + ACE_bulletLength=0.015494; ACE_bulletMass=124; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; @@ -24,7 +24,7 @@ class CfgAmmo { class RH_9x19_B_HP: BulletBase { ACE_caliber=0.009017; - ACE_bulletLength=0.610; + ACE_bulletLength=0.015494; ACE_bulletMass=124; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; @@ -37,7 +37,7 @@ class CfgAmmo { class RH_9x19_B_HPSB: BulletBase { ACE_caliber=0.009017; - ACE_bulletLength=0.603; + ACE_bulletLength=0.015316; ACE_bulletMass=147; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.212}; @@ -50,7 +50,7 @@ class CfgAmmo { class RH_556x45_B_M855A1: B_556x45_Ball { ACE_caliber=0.00569; - ACE_bulletLength=0.906; + ACE_bulletLength=0.023012; ACE_bulletMass=62; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; ACE_ballisticCoefficients[]={0.151}; @@ -63,7 +63,7 @@ class CfgAmmo { class RH_556x45_B_Mk318: B_556x45_Ball { ACE_caliber=0.00569; - ACE_bulletLength=0.906; + ACE_bulletLength=0.023012; ACE_bulletMass=62; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.307}; @@ -76,7 +76,7 @@ class CfgAmmo { class RH_556x45_B_Mk262: B_556x45_Ball { ACE_caliber=0.00569; - ACE_bulletLength=0.906; + ACE_bulletLength=0.023012; ACE_bulletMass=77; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.361}; @@ -89,7 +89,7 @@ class CfgAmmo { class RH_68x43_B_FMJ: B_65x39_Caseless { ACE_caliber=0.007036; - ACE_bulletLength=0.959; + ACE_bulletLength=0.024359; ACE_bulletMass=115; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.162}; @@ -102,7 +102,7 @@ class CfgAmmo { class RH_68x43_B_Match: B_65x39_Caseless { ACE_caliber=0.007036; - ACE_bulletLength=1.250; + ACE_bulletLength=0.03175; ACE_bulletMass=135; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.253}; @@ -115,7 +115,7 @@ class CfgAmmo { class RH_762x35_B_FMJ: B_65x39_Caseless { ACE_caliber=0.007823; - ACE_bulletLength=1.118; + ACE_bulletLength=0.028397; ACE_bulletMass=147; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.398}; @@ -128,7 +128,7 @@ class CfgAmmo { class RH_762x35_B_Match: B_65x39_Caseless { ACE_caliber=0.007823; - ACE_bulletLength=1.153; + ACE_bulletLength=0.029286; ACE_bulletMass=125; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.349, 0.338, 0.330, 0.310}; @@ -141,7 +141,7 @@ class CfgAmmo { class RH_762x35_B_MSB: B_65x39_Caseless { ACE_caliber=0.007823; - ACE_bulletLength=1.489; + ACE_bulletLength=0.037821; ACE_bulletMass=220; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.608}; @@ -154,7 +154,7 @@ class CfgAmmo { class RH_762x51_B_M80A1: B_762x51_Ball { ACE_caliber=0.007823; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=146; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; @@ -167,7 +167,7 @@ class CfgAmmo { class RH_762x51_B_Mk316LR: B_762x51_Ball { ACE_caliber=0.007823; - ACE_bulletLength=1.24; + ACE_bulletLength=0.031496; ACE_bulletMass=175; ACE_ammoTempMuzzleVelocityShifts[]={-5.3, -5.1, -4.6, -4.2, -3.4, -2.6, -1.4, -0.3, 1.4, 3.0, 5.2}; ACE_ballisticCoefficients[]={0.243}; @@ -180,7 +180,7 @@ class CfgAmmo { class RH_762x51_B_Mk319: B_762x51_Ball { ACE_caliber=0.007823; - ACE_bulletLength=1.24; + ACE_bulletLength=0.031496; ACE_bulletMass=130; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.377}; @@ -193,7 +193,7 @@ class CfgAmmo { class RH_762x51_B_LFMJSB: B_762x51_Ball { ACE_caliber=0.007823; - ACE_bulletLength=1.340; + ACE_bulletLength=0.034036; ACE_bulletMass=200; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.235}; diff --git a/optionals/compat_rh_pdw/CfgAmmo.hpp b/optionals/compat_rh_pdw/CfgAmmo.hpp index 4aad0f4614..76850acf7b 100644 --- a/optionals/compat_rh_pdw/CfgAmmo.hpp +++ b/optionals/compat_rh_pdw/CfgAmmo.hpp @@ -3,7 +3,7 @@ class BulletBase; class RH_B_6x35: BulletBase { ACE_caliber=0.00569; - ACE_bulletLength=0.445; + ACE_bulletLength=0.011303; ACE_bulletMass=65; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.26}; diff --git a/optionals/compat_rhs_afrf3/CfgAmmo.hpp b/optionals/compat_rhs_afrf3/CfgAmmo.hpp index 1eabe3969d..1d7fc6bdae 100644 --- a/optionals/compat_rhs_afrf3/CfgAmmo.hpp +++ b/optionals/compat_rhs_afrf3/CfgAmmo.hpp @@ -6,7 +6,7 @@ class CfgAmmo class rhs_B_545x39_Ball: B_556x45_Ball { ACE_caliber=0.005588; - ACE_bulletLength=0.85; + ACE_bulletLength=0.02159; ACE_bulletMass=52.9; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; @@ -19,7 +19,7 @@ class CfgAmmo class rhs_B_545x39_Ball_Tracer_Green: rhs_B_545x39_Ball { ACE_caliber=0.005588; - ACE_bulletLength=0.85; + ACE_bulletLength=0.02159; ACE_bulletMass=49.8; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; @@ -33,7 +33,7 @@ class CfgAmmo class rhs_B_762x54_Ball: B_762x51_Ball { ACE_caliber=0.007925; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=152; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.4}; @@ -46,7 +46,7 @@ class CfgAmmo class rhs_B_762x54_Ball_Tracer_Green: B_762x51_Ball { ACE_caliber=0.007925; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=149; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.395}; @@ -59,7 +59,7 @@ class CfgAmmo class rhs_B_762x54_7N1_Ball: rhs_B_762x54_Ball { ACE_caliber=0.007925; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=152; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.4}; @@ -72,7 +72,7 @@ class CfgAmmo class rhs_B_762x39_Ball: B_762x51_Ball { ACE_caliber=0.007823; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=123; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; @@ -85,7 +85,7 @@ class CfgAmmo class rhs_B_762x39_Tracer: rhs_B_762x39_Ball { ACE_caliber=0.007823; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=117; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; @@ -99,7 +99,7 @@ class CfgAmmo class rhs_B_9x19_7N21: B_9x21_Ball { ACE_caliber=0.009017; - ACE_bulletLength=0.610; + ACE_bulletLength=0.015494; ACE_bulletMass=80.2; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.14}; @@ -112,7 +112,7 @@ class CfgAmmo class rhs_B_9x18_57N181S: B_9x21_Ball { ACE_caliber=0.009271; - ACE_bulletLength=0.610; + ACE_bulletLength=0.015494; ACE_bulletMass=92.6; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; diff --git a/optionals/compat_rhs_usf3/CfgAmmo.hpp b/optionals/compat_rhs_usf3/CfgAmmo.hpp index 9a81abd2c3..14c3157adf 100644 --- a/optionals/compat_rhs_usf3/CfgAmmo.hpp +++ b/optionals/compat_rhs_usf3/CfgAmmo.hpp @@ -5,7 +5,7 @@ class CfgAmmo class rhsusf_B_300winmag: BulletBase { ACE_caliber=0.007823; - ACE_bulletLength=1.489; + ACE_bulletLength=0.037821; ACE_bulletMass=220; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.310}; @@ -19,7 +19,7 @@ class CfgAmmo class rhs_ammo_556x45_Mk318_Ball: B_556x45_Ball { ACE_caliber=0.00569; - ACE_bulletLength=0.906; + ACE_bulletLength=0.023012; ACE_bulletMass=62; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.307}; @@ -32,7 +32,7 @@ class CfgAmmo class rhs_ammo_556x45_Mk262_Ball: B_556x45_Ball { ACE_caliber=0.00569; - ACE_bulletLength=0.906; + ACE_bulletLength=0.023012; ACE_bulletMass=77; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.361}; @@ -45,7 +45,7 @@ class CfgAmmo class rhs_ammo_762x51_M80_Ball: BulletBase { ACE_caliber=0.007823; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=146; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; @@ -58,7 +58,7 @@ class CfgAmmo class rhs_ammo_762x51_M118_Special_Ball: rhs_ammo_762x51_M80_Ball { ACE_caliber=0.007823; - ACE_bulletLength=1.24; + ACE_bulletLength=0.031496; ACE_bulletMass=175; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.243}; @@ -71,7 +71,7 @@ class CfgAmmo class rhs_ammo_762x51_M993_Ball: rhs_ammo_762x51_M80_Ball { ACE_caliber=0.007823; - ACE_bulletLength=1.24; + ACE_bulletLength=0.031496; ACE_bulletMass=127; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.377}; @@ -84,7 +84,7 @@ class CfgAmmo class rhs_ammo_45ACP_MHP: BulletBase { ACE_caliber=0.011481; - ACE_bulletLength=0.68; + ACE_bulletLength=0.017272; ACE_bulletMass=230; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.195}; From 27c8255987f3e8f82ac86191999cd325adb2cd23 Mon Sep 17 00:00:00 2001 From: KoffeinFlummi Date: Thu, 7 May 2015 18:33:17 +0200 Subject: [PATCH 072/217] Convert ACE_bulletMass to grams --- .../functions/fnc_handleFired.sqf | 2 +- addons/ballistics/CfgAmmo.hpp | 92 ++-- addons/overheating/functions/fnc_overheat.sqf | 2 +- extras/CfgAmmoReference.hpp | 412 +++++++++--------- optionals/compat_cup/CfgAmmo.hpp | 64 +-- optionals/compat_hlcmods_core/CfgAmmo.hpp | 46 +- optionals/compat_rh_de/CfgAmmo.hpp | 24 +- optionals/compat_rh_m4/CfgAmmo.hpp | 30 +- optionals/compat_rh_pdw/CfgAmmo.hpp | 2 +- optionals/compat_rhs_afrf3/CfgAmmo.hpp | 18 +- optionals/compat_rhs_usf3/CfgAmmo.hpp | 14 +- 11 files changed, 353 insertions(+), 353 deletions(-) diff --git a/addons/advanced_ballistics/functions/fnc_handleFired.sqf b/addons/advanced_ballistics/functions/fnc_handleFired.sqf index 941a4c8284..8f68ce6678 100644 --- a/addons/advanced_ballistics/functions/fnc_handleFired.sqf +++ b/addons/advanced_ballistics/functions/fnc_handleFired.sqf @@ -93,7 +93,7 @@ if (GVAR(bulletTraceEnabled) && cameraView == "GUNNER") then { _caliber = 39.37 * getNumber(configFile >> "cfgAmmo" >> _ammo >> "ACE_caliber"); _bulletLength = 39.37 * getNumber(configFile >> "cfgAmmo" >> _ammo >> "ACE_bulletLength"); -_bulletMass = getNumber(configFile >> "cfgAmmo" >> _ammo >> "ACE_bulletMass"); +_bulletMass = 15.432 * getNumber(configFile >> "cfgAmmo" >> _ammo >> "ACE_bulletMass"); _barrelTwist = getNumber(configFile >> "cfgWeapons" >> _weapon >> "ACE_barrelTwist"); _stabilityFactor = 1.5; diff --git a/addons/ballistics/CfgAmmo.hpp b/addons/ballistics/CfgAmmo.hpp index 6486854f38..753c5ba8a1 100644 --- a/addons/ballistics/CfgAmmo.hpp +++ b/addons/ballistics/CfgAmmo.hpp @@ -27,7 +27,7 @@ class CfgAmmo { tracerEndTime = 1.579; //Time in seconds calculated with ballistics calculator ACE_caliber=0.00569; ACE_bulletLength=0.023012; - ACE_bulletMass=62; + ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; ACE_ballisticCoefficients[]={0.151}; ACE_velocityBoundaries[]={}; @@ -44,7 +44,7 @@ class CfgAmmo { typicalSpeed=836; ACE_caliber=0.00569; ACE_bulletLength=0.023012; - ACE_bulletMass=77; + ACE_bulletMass=4.9896; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.361}; ACE_velocityBoundaries[]={}; @@ -61,7 +61,7 @@ class CfgAmmo { typicalSpeed=886; ACE_caliber=0.00569; ACE_bulletLength=0.023012; - ACE_bulletMass=62; + ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.307}; ACE_velocityBoundaries[]={}; @@ -78,7 +78,7 @@ class CfgAmmo { typicalSpeed=886; ACE_caliber=0.00569; ACE_bulletLength=0.023012; - ACE_bulletMass=46; + ACE_bulletMass=2.9808; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.151}; ACE_velocityBoundaries[]={}; @@ -99,7 +99,7 @@ class CfgAmmo { typicalSpeed=880; ACE_caliber=0.005588; ACE_bulletLength=0.02159; - ACE_bulletMass=52.9; + ACE_bulletMass=3.42792; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; ACE_velocityBoundaries[]={}; @@ -119,7 +119,7 @@ class CfgAmmo { tracerEndTime = 1.736; //Time in seconds calculated with ballistics calculator ACE_caliber=0.005588; ACE_bulletLength=0.02159; - ACE_bulletMass=49.8; + ACE_bulletMass=3.22704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; ACE_velocityBoundaries[]={}; @@ -133,7 +133,7 @@ class CfgAmmo { typicalSpeed=800; ACE_caliber=0.006706; ACE_bulletLength=0.032893; - ACE_bulletMass=123; + ACE_bulletMass=7.9704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.263}; ACE_velocityBoundaries[]={}; @@ -156,7 +156,7 @@ class CfgAmmo { caliber=0.9; ACE_caliber=0.006706; ACE_bulletLength=0.034646; - ACE_bulletMass=139; + ACE_bulletMass=9.0072; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.290}; ACE_velocityBoundaries[]={}; @@ -171,7 +171,7 @@ class CfgAmmo { caliber=1.1; ACE_caliber=0.006706; ACE_bulletLength=0.03622; - ACE_bulletMass=140; + ACE_bulletMass=9.072; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.317}; ACE_velocityBoundaries[]={}; @@ -188,7 +188,7 @@ class CfgAmmo { tracerEndTime = 2.058; //Time in seconds calculated with ballistics calculator ACE_caliber=0.007823; ACE_bulletLength=0.028956; - ACE_bulletMass=146; + ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; ACE_velocityBoundaries[]={}; @@ -208,7 +208,7 @@ class CfgAmmo { typicalSpeed=790; ACE_caliber=0.007823; ACE_bulletLength=0.031496; - ACE_bulletMass=175; + ACE_bulletMass=11.34; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.243}; ACE_velocityBoundaries[]={}; @@ -224,7 +224,7 @@ class CfgAmmo { typicalSpeed=790; ACE_caliber=0.007823; ACE_bulletLength=0.031496; - ACE_bulletMass=175; + ACE_bulletMass=11.34; ACE_ammoTempMuzzleVelocityShifts[]={-5.3, -5.1, -4.6, -4.2, -3.4, -2.6, -1.4, -0.3, 1.4, 3.0, 5.2}; ACE_ballisticCoefficients[]={0.243}; ACE_velocityBoundaries[]={}; @@ -240,7 +240,7 @@ class CfgAmmo { typicalSpeed=900; ACE_caliber=0.007823; ACE_bulletLength=0.031496; - ACE_bulletMass=130; + ACE_bulletMass=8.424; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.377}; ACE_velocityBoundaries[]={}; @@ -256,7 +256,7 @@ class CfgAmmo { typicalSpeed=930; ACE_caliber=0.007823; ACE_bulletLength=0.031496; - ACE_bulletMass=127; + ACE_bulletMass=8.2296; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.377}; ACE_velocityBoundaries[]={}; @@ -272,7 +272,7 @@ class CfgAmmo { typicalSpeed=320; ACE_caliber=0.007823; ACE_bulletLength=0.034036; - ACE_bulletMass=200; + ACE_bulletMass=12.96; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.235}; ACE_velocityBoundaries[]={}; @@ -288,7 +288,7 @@ class CfgAmmo { hit=10; ACE_caliber=0.007823; ACE_bulletLength=0.030734; - ACE_bulletMass=174; + ACE_bulletMass=11.2752; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.494}; ACE_velocityBoundaries[]={}; @@ -304,7 +304,7 @@ class CfgAmmo { hit=8; ACE_caliber=0.007214; ACE_bulletLength=0.038837; - ACE_bulletMass=180; + ACE_bulletMass=11.664; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.345}; ACE_velocityBoundaries[]={}; @@ -320,7 +320,7 @@ class CfgAmmo { hit=6; ACE_caliber=0.006172; ACE_bulletLength=0.032563; - ACE_bulletMass=180; + ACE_bulletMass=11.664; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.278}; ACE_velocityBoundaries[]={}; @@ -336,7 +336,7 @@ class CfgAmmo { typicalSpeed=900; ACE_caliber=0.007823; ACE_bulletLength=0.034366; - ACE_bulletMass=190; + ACE_bulletMass=12.312; ACE_ammoTempMuzzleVelocityShifts[]={-5.3, -5.1, -4.6, -4.2, -3.4, -2.6, -1.4, -0.3, 1.4, 3.0, 5.2}; ACE_ballisticCoefficients[]={0.268}; ACE_velocityBoundaries[]={}; @@ -352,7 +352,7 @@ class CfgAmmo { typicalSpeed=867; ACE_caliber=0.007823; ACE_bulletLength=0.037821; - ACE_bulletMass=220; + ACE_bulletMass=14.256; ACE_ammoTempMuzzleVelocityShifts[]={-5.3, -5.1, -4.6, -4.2, -3.4, -2.6, -1.4, -0.3, 1.4, 3.0, 5.2}; ACE_ballisticCoefficients[]={0.310}; ACE_velocityBoundaries[]={}; @@ -368,7 +368,7 @@ class CfgAmmo { typicalSpeed=853; ACE_caliber=0.007823; ACE_bulletLength=0.040691; - ACE_bulletMass=230; + ACE_bulletMass=14.904; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.368}; ACE_velocityBoundaries[]={}; @@ -382,7 +382,7 @@ class CfgAmmo { typicalSpeed=820; ACE_caliber=0.007925; ACE_bulletLength=0.028956; - ACE_bulletMass=152; + ACE_bulletMass=9.8496; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.4}; ACE_velocityBoundaries[]={}; @@ -398,7 +398,7 @@ class CfgAmmo { typicalSpeed=820; ACE_caliber=0.007925; ACE_bulletLength=0.028956; - ACE_bulletMass=152; + ACE_bulletMass=9.8496; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.4}; ACE_velocityBoundaries[]={}; @@ -417,7 +417,7 @@ class CfgAmmo { tracerEndTime = 3; ACE_caliber=0.007925; ACE_bulletLength=0.028956; - ACE_bulletMass=149; + ACE_bulletMass=9.6552; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.395}; ACE_velocityBoundaries[]={}; @@ -433,7 +433,7 @@ class CfgAmmo { typicalSpeed=790; ACE_caliber=0.007823; ACE_bulletLength=0.029286; - ACE_bulletMass=125; + ACE_bulletMass=8.1; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.349, 0.338, 0.330, 0.310}; ACE_velocityBoundaries[]={792, 610, 488}; @@ -449,7 +449,7 @@ class CfgAmmo { typicalSpeed=716; ACE_caliber=0.007823; ACE_bulletLength=0.028956; - ACE_bulletMass=123; + ACE_bulletMass=7.9704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; ACE_velocityBoundaries[]={}; @@ -467,7 +467,7 @@ class CfgAmmo { tracerEndTime = 2.082; //Time in seconds calculated with ballistics calculator ACE_caliber=0.007823; ACE_bulletLength=0.028956; - ACE_bulletMass=117; + ACE_bulletMass=7.5816; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; ACE_velocityBoundaries[]={}; @@ -482,7 +482,7 @@ class CfgAmmo { hit=6; ACE_caliber=0.009042; ACE_bulletLength=0.015494; - ACE_bulletMass=115; + ACE_bulletMass=7.452; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.17}; ACE_velocityBoundaries[]={}; @@ -497,7 +497,7 @@ class CfgAmmo { typicalSpeed=298; ACE_caliber=0.009271; ACE_bulletLength=0.015494; - ACE_bulletMass=92.6; + ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; ACE_velocityBoundaries[]={}; @@ -512,7 +512,7 @@ class CfgAmmo { hit=6; ACE_caliber=0.009017; ACE_bulletLength=0.015494; - ACE_bulletMass=124; + ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; ACE_velocityBoundaries[]={}; @@ -527,7 +527,7 @@ class CfgAmmo { hit=7; ACE_caliber=0.0127; ACE_bulletLength=0.019406; - ACE_bulletMass=165; + ACE_bulletMass=10.692; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.189}; ACE_velocityBoundaries[]={}; @@ -542,7 +542,7 @@ class CfgAmmo { hit=7; ACE_caliber=0.007938; ACE_bulletLength=0.015494; - ACE_bulletMass=65; + ACE_bulletMass=4.212; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.118}; ACE_velocityBoundaries[]={}; @@ -557,7 +557,7 @@ class CfgAmmo { caliber=2.0; ACE_caliber=0.007899; ACE_bulletLength=0.031166; - ACE_bulletMass=174; + ACE_bulletMass=11.2752; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.499, 0.493, 0.48}; ACE_velocityBoundaries[]={671, 549}; @@ -571,7 +571,7 @@ class CfgAmmo { typicalSpeed=880; ACE_caliber=0.009296; ACE_bulletLength=0.03429; - ACE_bulletMass=230; + ACE_bulletMass=14.904; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.368}; ACE_velocityBoundaries[]={}; @@ -586,7 +586,7 @@ class CfgAmmo { typicalSpeed=910; ACE_caliber=0.010363; ACE_bulletLength=0.054; - ACE_bulletMass=410; + ACE_bulletMass=26.568; ACE_transonicStabilityCoef=1; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.97}; @@ -600,7 +600,7 @@ class CfgAmmo { timeToLive=10; ACE_caliber=0.010566; ACE_bulletLength=0.053061; - ACE_bulletMass=398; + ACE_bulletMass=25.7904; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.72}; ACE_velocityBoundaries[]={}; @@ -615,7 +615,7 @@ class CfgAmmo { typicalSpeed=915; ACE_caliber=0.008585; ACE_bulletLength=0.039573; - ACE_bulletMass=250; + ACE_bulletMass=16.2; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.322}; ACE_velocityBoundaries[]={}; @@ -629,7 +629,7 @@ class CfgAmmo { typicalSpeed=820; ACE_caliber=0.008585; ACE_bulletLength=0.04318; - ACE_bulletMass=300; + ACE_bulletMass=19.44; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.381}; ACE_velocityBoundaries[]={}; @@ -644,7 +644,7 @@ class CfgAmmo { typicalSpeed=826; ACE_caliber=0.008585; ACE_bulletLength=0.04318; - ACE_bulletMass=300; + ACE_bulletMass=19.44; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.381}; ACE_velocityBoundaries[]={}; @@ -660,7 +660,7 @@ class CfgAmmo { typicalSpeed=826; ACE_caliber=0.008585; ACE_bulletLength=0.038989; - ACE_bulletMass=253; + ACE_bulletMass=16.3944; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.290}; ACE_velocityBoundaries[]={}; @@ -674,7 +674,7 @@ class CfgAmmo { typicalSpeed=300; ACE_caliber=0.012954; ACE_bulletLength=0.064516; - ACE_bulletMass=750; + ACE_bulletMass=48.6; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={1.050}; ACE_velocityBoundaries[]={}; @@ -689,7 +689,7 @@ class CfgAmmo { typicalSpeed=900; ACE_caliber=0.012954; ACE_bulletLength=0.058674; - ACE_bulletMass=647; + ACE_bulletMass=41.9256; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.670}; ACE_velocityBoundaries[]={}; @@ -706,7 +706,7 @@ class CfgAmmo { caliber=4.0; ACE_caliber=0.012954; ACE_bulletLength=0.058674; - ACE_bulletMass=648; + ACE_bulletMass=41.9904; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.670}; ACE_velocityBoundaries[]={}; @@ -722,7 +722,7 @@ class CfgAmmo { caliber=3.0; ACE_caliber=0.012954; ACE_bulletLength=0.064516; - ACE_bulletMass=750; + ACE_bulletMass=48.6; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={1.050}; ACE_velocityBoundaries[]={}; @@ -737,7 +737,7 @@ class CfgAmmo { typicalSpeed=820; ACE_caliber=0.012979; ACE_bulletLength=0.064008; - ACE_bulletMass=745; + ACE_bulletMass=48.276; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.63}; ACE_velocityBoundaries[]={}; @@ -751,7 +751,7 @@ class CfgAmmo { typicalSpeed=250; ACE_caliber=0.011481; ACE_bulletLength=0.017272; - ACE_bulletMass=230; + ACE_bulletMass=14.904; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.195}; ACE_velocityBoundaries[]={}; diff --git a/addons/overheating/functions/fnc_overheat.sqf b/addons/overheating/functions/fnc_overheat.sqf index 05e5bbba9c..0d52d9102f 100644 --- a/addons/overheating/functions/fnc_overheat.sqf +++ b/addons/overheating/functions/fnc_overheat.sqf @@ -41,7 +41,7 @@ if (_bulletMass == 0) then { // If the bullet mass is not configured, estimate it directly in grams _bulletMass = 3.4334 + 0.5171 * (getNumber (configFile >> "CfgAmmo" >> _ammo >> "hit") + getNumber (configFile >> "CfgAmmo" >> _ammo >> "caliber")); }; -_energyIncrement = 0.75 * 0.0005 * _bulletMass * (vectorMagnitudeSqr _velocity); +_energyIncrement = 0.75 * 0.0005 * 15.4323 * _bulletMass * (vectorMagnitudeSqr _velocity); _barrelMass = 0.50 * (getNumber (configFile >> "CfgWeapons" >> _weapon >> "WeaponSlotsInfo" >> "mass") / 22.0) max 1.0; // Calculate cooling diff --git a/extras/CfgAmmoReference.hpp b/extras/CfgAmmoReference.hpp index de8429036f..409109d25b 100644 --- a/extras/CfgAmmoReference.hpp +++ b/extras/CfgAmmoReference.hpp @@ -7,7 +7,7 @@ class CfgAmmo typicalSpeed=750; ACE_caliber=0.00569; ACE_bulletLength=0.023012; - ACE_bulletMass=62; + ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; ACE_ballisticCoefficients[]={0.151}; ACE_velocityBoundaries[]={}; @@ -24,7 +24,7 @@ class CfgAmmo typicalSpeed=836; ACE_caliber=0.00569; ACE_bulletLength=0.023012; - ACE_bulletMass=77; + ACE_bulletMass=4.9896; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.361}; ACE_velocityBoundaries[]={}; @@ -41,7 +41,7 @@ class CfgAmmo typicalSpeed=886; ACE_caliber=0.00569; ACE_bulletLength=0.023012; - ACE_bulletMass=62; + ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.307}; ACE_velocityBoundaries[]={}; @@ -62,7 +62,7 @@ class CfgAmmo typicalSpeed=880; ACE_caliber=0.005588; ACE_bulletLength=0.02159; - ACE_bulletMass=52.9; + ACE_bulletMass=3.42792; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; ACE_velocityBoundaries[]={}; @@ -80,7 +80,7 @@ class CfgAmmo typicalSpeed=883; ACE_caliber=0.005588; ACE_bulletLength=0.02159; - ACE_bulletMass=49.8; + ACE_bulletMass=3.22704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; ACE_velocityBoundaries[]={}; @@ -94,7 +94,7 @@ class CfgAmmo typicalSpeed=800; ACE_caliber=0.006706; ACE_bulletLength=0.032893; - ACE_bulletMass=123; + ACE_bulletMass=7.9704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.263}; ACE_velocityBoundaries[]={}; @@ -117,7 +117,7 @@ class CfgAmmo typicalSpeed=820 ; ACE_caliber=0.006706; ACE_bulletLength=0.034646; - ACE_bulletMass=139; + ACE_bulletMass=9.0072; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.290}; ACE_velocityBoundaries[]={}; @@ -132,7 +132,7 @@ class CfgAmmo hit=9; ACE_caliber=0.007823; ACE_bulletLength=0.028956; - ACE_bulletMass=146; + ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; ACE_velocityBoundaries[]={}; @@ -152,7 +152,7 @@ class CfgAmmo typicalSpeed=790; ACE_caliber=0.007823; ACE_bulletLength=0.031496; - ACE_bulletMass=175; + ACE_bulletMass=11.34; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.243}; ACE_velocityBoundaries[]={}; @@ -168,7 +168,7 @@ class CfgAmmo typicalSpeed=890; ACE_caliber=0.007823; ACE_bulletLength=0.031496; - ACE_bulletMass=130; + ACE_bulletMass=8.424; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.377}; ACE_velocityBoundaries[]={}; @@ -184,7 +184,7 @@ class CfgAmmo typicalSpeed=790; ACE_caliber=0.007823; ACE_bulletLength=0.034036; - ACE_bulletMass=200; + ACE_bulletMass=12.96; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.235}; ACE_velocityBoundaries[]={}; @@ -200,7 +200,7 @@ class CfgAmmo typicalSpeed=900; ACE_caliber=0.007823; ACE_bulletLength=0.034366; - ACE_bulletMass=190; + ACE_bulletMass=12.312; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.268}; ACE_velocityBoundaries[]={}; @@ -216,7 +216,7 @@ class CfgAmmo typicalSpeed=867; ACE_caliber=0.007823; ACE_bulletLength=0.037821; - ACE_bulletMass=220; + ACE_bulletMass=14.256; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.310}; ACE_velocityBoundaries[]={}; @@ -232,7 +232,7 @@ class CfgAmmo typicalSpeed=853; ACE_caliber=0.007823; ACE_bulletLength=0.040691; - ACE_bulletMass=230; + ACE_bulletMass=14.904; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.368}; ACE_velocityBoundaries[]={}; @@ -246,7 +246,7 @@ class CfgAmmo typicalSpeed=820; ACE_caliber=0.007925; ACE_bulletLength=0.028956; - ACE_bulletMass=152; + ACE_bulletMass=9.8496; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.4}; ACE_velocityBoundaries[]={}; @@ -262,7 +262,7 @@ class CfgAmmo typicalSpeed=820; ACE_caliber=0.007925; ACE_bulletLength=0.028956; - ACE_bulletMass=152; + ACE_bulletMass=9.8496; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.4}; ACE_velocityBoundaries[]={}; @@ -279,7 +279,7 @@ class CfgAmmo typicalSpeed=800; ACE_caliber=0.007925; ACE_bulletLength=0.028956; - ACE_bulletMass=149; + ACE_bulletMass=9.6552; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.395}; ACE_velocityBoundaries[]={}; @@ -295,7 +295,7 @@ class CfgAmmo typicalSpeed=790; ACE_caliber=0.007823; ACE_bulletLength=0.029286; - ACE_bulletMass=125; + ACE_bulletMass=8.1; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.349, 0.338, 0.330, 0.310}; ACE_velocityBoundaries[]={792, 610, 488}; @@ -310,7 +310,7 @@ class CfgAmmo typicalSpeed=716; ACE_caliber=0.007823; ACE_bulletLength=0.028956; - ACE_bulletMass=123; + ACE_bulletMass=7.9704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; ACE_velocityBoundaries[]={}; @@ -325,7 +325,7 @@ class CfgAmmo typicalSpeed=716; ACE_caliber=0.007823; ACE_bulletLength=0.028956; - ACE_bulletMass=117; + ACE_bulletMass=7.5816; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; ACE_velocityBoundaries[]={}; @@ -340,7 +340,7 @@ class CfgAmmo hit=6; ACE_caliber=0.009042; ACE_bulletLength=0.015494; - ACE_bulletMass=115; + ACE_bulletMass=7.452; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.17}; ACE_velocityBoundaries[]={}; @@ -355,7 +355,7 @@ class CfgAmmo typicalSpeed=298; ACE_caliber=0.009271; ACE_bulletLength=0.015494; - ACE_bulletMass=92.6; + ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; ACE_velocityBoundaries[]={}; @@ -370,7 +370,7 @@ class CfgAmmo hit=6; ACE_caliber=0.009017; ACE_bulletLength=0.015494; - ACE_bulletMass=124; + ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; ACE_velocityBoundaries[]={}; @@ -385,7 +385,7 @@ class CfgAmmo hit=7; ACE_caliber=0.0127; ACE_bulletLength=0.019406; - ACE_bulletMass=165; + ACE_bulletMass=10.692; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.189}; ACE_velocityBoundaries[]={}; @@ -400,7 +400,7 @@ class CfgAmmo hit=7; ACE_caliber=0.007938; ACE_bulletLength=0.015494; - ACE_bulletMass=65; + ACE_bulletMass=4.212; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.118}; ACE_velocityBoundaries[]={}; @@ -414,7 +414,7 @@ class CfgAmmo typicalSpeed=761; ACE_caliber=0.007899; ACE_bulletLength=0.031166; - ACE_bulletMass=174; + ACE_bulletMass=11.2752; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.499, 0.493, 0.48}; ACE_velocityBoundaries[]={671, 549}; @@ -428,7 +428,7 @@ class CfgAmmo typicalSpeed=880; ACE_caliber=0.009296; ACE_bulletLength=0.03429; - ACE_bulletMass=230; + ACE_bulletMass=14.904; ACE_transonicStabilityCoef=1; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.368}; @@ -444,7 +444,7 @@ class CfgAmmo typicalSpeed=910; ACE_caliber=0.010363; ACE_bulletLength=0.054; - ACE_bulletMass=410; + ACE_bulletMass=26.568; ACE_transonicStabilityCoef=1; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.97}; @@ -458,7 +458,7 @@ class CfgAmmo timeToLive=10; ACE_caliber=0.010566; ACE_bulletLength=0.053061; - ACE_bulletMass=398; + ACE_bulletMass=25.7904; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.72}; ACE_velocityBoundaries[]={}; @@ -473,7 +473,7 @@ class CfgAmmo typicalSpeed=915; ACE_caliber=0.008585; ACE_bulletLength=0.039573; - ACE_bulletMass=250; + ACE_bulletMass=16.2; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.322}; ACE_velocityBoundaries[]={}; @@ -487,7 +487,7 @@ class CfgAmmo typicalSpeed=820; ACE_caliber=0.008585; ACE_bulletLength=0.04318; - ACE_bulletMass=300; + ACE_bulletMass=19.44; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.381}; ACE_velocityBoundaries[]={}; @@ -503,7 +503,7 @@ class CfgAmmo typicalSpeed=826; ACE_caliber=0.008585; ACE_bulletLength=0.04318; - ACE_bulletMass=300; + ACE_bulletMass=19.44; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.381}; ACE_velocityBoundaries[]={}; @@ -519,7 +519,7 @@ class CfgAmmo typicalSpeed=826; ACE_caliber=0.008585; ACE_bulletLength=0.038989; - ACE_bulletMass=253; + ACE_bulletMass=16.3944; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.290}; ACE_velocityBoundaries[]={}; @@ -533,7 +533,7 @@ class CfgAmmo typicalSpeed=300; ACE_caliber=0.012954; ACE_bulletLength=0.064516; - ACE_bulletMass=750; + ACE_bulletMass=48.6; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={1.050}; ACE_velocityBoundaries[]={}; @@ -548,7 +548,7 @@ class CfgAmmo typicalSpeed=853; ACE_caliber=0.012954; ACE_bulletLength=0.058674; - ACE_bulletMass=647; + ACE_bulletMass=41.9256; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.670}; ACE_velocityBoundaries[]={}; @@ -563,7 +563,7 @@ class CfgAmmo typicalSpeed=860; ACE_caliber=0.012954; ACE_bulletLength=0.064516; - ACE_bulletMass=750; + ACE_bulletMass=48.6; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={1.050}; ACE_velocityBoundaries[]={}; @@ -578,7 +578,7 @@ class CfgAmmo typicalSpeed=820; ACE_caliber=0.012979; ACE_bulletLength=0.064008; - ACE_bulletMass=745; + ACE_bulletMass=48.276; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.63}; ACE_velocityBoundaries[]={}; @@ -592,7 +592,7 @@ class CfgAmmo typicalSpeed=250; ACE_caliber=0.011481; ACE_bulletLength=0.017272; - ACE_bulletMass=230; + ACE_bulletMass=14.904; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.195}; ACE_velocityBoundaries[]={}; @@ -606,7 +606,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.031496; - ACE_bulletMass=175; + ACE_bulletMass=11.34; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.505, 0.496, 0.485, 0.485, 0.485}; ACE_velocityBoundaries[]={853, 549, 549, 549}; @@ -620,7 +620,7 @@ class CfgAmmo { ACE_caliber=0.0127; ACE_bulletLength=0.028194; - ACE_bulletMass=325; + ACE_bulletMass=21.06; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.228}; ACE_velocityBoundaries[]={}; @@ -633,7 +633,7 @@ class CfgAmmo { ACE_caliber=0.011481; ACE_bulletLength=0.022733; - ACE_bulletMass=325; + ACE_bulletMass=21.06; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.171}; ACE_velocityBoundaries[]={}; @@ -646,7 +646,7 @@ class CfgAmmo { ACE_caliber=0.007938; ACE_bulletLength=0.015494; - ACE_bulletMass=65; + ACE_bulletMass=4.212; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.118}; ACE_velocityBoundaries[]={}; @@ -659,7 +659,7 @@ class CfgAmmo { ACE_caliber=0.011481; ACE_bulletLength=0.017272; - ACE_bulletMass=230; + ACE_bulletMass=14.904; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.195}; ACE_velocityBoundaries[]={}; @@ -672,7 +672,7 @@ class CfgAmmo { ACE_caliber=0.01016; ACE_bulletLength=0.011354; - ACE_bulletMass=135; + ACE_bulletMass=8.748; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.105, 0.115, 0.120, 0.105}; ACE_velocityBoundaries[]={365, 305, 259}; @@ -685,7 +685,7 @@ class CfgAmmo { ACE_caliber=0.010897; ACE_bulletLength=0.020422; - ACE_bulletMass=200; + ACE_bulletMass=12.96; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.172}; ACE_velocityBoundaries[]={}; @@ -698,7 +698,7 @@ class CfgAmmo { ACE_caliber=0.009068; ACE_bulletLength=0.013741; - ACE_bulletMass=125; + ACE_bulletMass=8.1; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.148}; ACE_velocityBoundaries[]={}; @@ -711,7 +711,7 @@ class CfgAmmo { ACE_caliber=0.007874; ACE_bulletLength=0.013856; - ACE_bulletMass=86; + ACE_bulletMass=5.5728; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.17}; ACE_velocityBoundaries[]={}; @@ -724,7 +724,7 @@ class CfgAmmo { ACE_caliber=0.009271; ACE_bulletLength=0.015494; - ACE_bulletMass=92.6; + ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; ACE_velocityBoundaries[]={}; @@ -737,7 +737,7 @@ class CfgAmmo { ACE_caliber=0.009017; ACE_bulletLength=0.015494; - ACE_bulletMass=124; + ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; ACE_velocityBoundaries[]={}; @@ -750,7 +750,7 @@ class CfgAmmo { ACE_caliber=0.005664; ACE_bulletLength=0.01143; - ACE_bulletMass=38; + ACE_bulletMass=2.4624; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.111}; ACE_velocityBoundaries[]={}; @@ -763,7 +763,7 @@ class CfgAmmo { ACE_caliber=0.00569; ACE_bulletLength=0.012573; - ACE_bulletMass=28; + ACE_bulletMass=1.8144; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.144}; ACE_velocityBoundaries[]={}; @@ -777,7 +777,7 @@ class CfgAmmo { ACE_caliber=0.009017; ACE_bulletLength=0.015494; - ACE_bulletMass=124; + ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; ACE_velocityBoundaries[]={}; @@ -790,7 +790,7 @@ class CfgAmmo { ACE_caliber=0.009017; ACE_bulletLength=0.015494; - ACE_bulletMass=124; + ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; ACE_velocityBoundaries[]={}; @@ -803,7 +803,7 @@ class CfgAmmo { ACE_caliber=0.009017; ACE_bulletLength=0.015316; - ACE_bulletMass=147; + ACE_bulletMass=9.5256; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.212}; ACE_velocityBoundaries[]={}; @@ -816,7 +816,7 @@ class CfgAmmo { ACE_caliber=0.00569; ACE_bulletLength=0.011303; - ACE_bulletMass=65; + ACE_bulletMass=4.212; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.26}; ACE_velocityBoundaries[]={}; @@ -829,7 +829,7 @@ class CfgAmmo { ACE_caliber=0.00569; ACE_bulletLength=0.023012; - ACE_bulletMass=62; + ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; ACE_ballisticCoefficients[]={0.152}; ACE_velocityBoundaries[]={}; @@ -842,7 +842,7 @@ class CfgAmmo { ACE_caliber=0.00569; ACE_bulletLength=0.023012; - ACE_bulletMass=77; + ACE_bulletMass=4.9896; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.361}; ACE_velocityBoundaries[]={}; @@ -855,7 +855,7 @@ class CfgAmmo { ACE_caliber=0.00569; ACE_bulletLength=0.023012; - ACE_bulletMass=62; + ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.307}; ACE_velocityBoundaries[]={}; @@ -868,7 +868,7 @@ class CfgAmmo { ACE_caliber=0.007036; ACE_bulletLength=0.024359; - ACE_bulletMass=115; + ACE_bulletMass=7.452; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.162}; ACE_velocityBoundaries[]={}; @@ -881,7 +881,7 @@ class CfgAmmo { ACE_caliber=0.007036; ACE_bulletLength=0.03175; - ACE_bulletMass=135; + ACE_bulletMass=8.748; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.253}; ACE_velocityBoundaries[]={}; @@ -894,7 +894,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.028397; - ACE_bulletMass=147; + ACE_bulletMass=9.5256; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.398}; ACE_velocityBoundaries[]={}; @@ -907,7 +907,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.029286; - ACE_bulletMass=125; + ACE_bulletMass=8.1; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.349, 0.338, 0.330, 0.310}; ACE_velocityBoundaries[]={792, 610, 488}; @@ -920,7 +920,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.037821; - ACE_bulletMass=220; + ACE_bulletMass=14.256; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.608}; ACE_velocityBoundaries[]={}; @@ -933,7 +933,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.028956; - ACE_bulletMass=146; + ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; ACE_velocityBoundaries[]={}; @@ -946,7 +946,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.031496; - ACE_bulletMass=175; + ACE_bulletMass=11.34; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.243}; ACE_velocityBoundaries[]={}; @@ -959,7 +959,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.02728; - ACE_bulletMass=130; + ACE_bulletMass=8.424; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.277}; ACE_velocityBoundaries[]={}; @@ -972,7 +972,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.034036; - ACE_bulletMass=200; + ACE_bulletMass=12.96; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.252}; ACE_velocityBoundaries[]={}; @@ -986,7 +986,7 @@ class CfgAmmo { ACE_caliber=0.00569; ACE_bulletLength=0.023012; - ACE_bulletMass=62; + ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.307}; ACE_velocityBoundaries[]={}; @@ -999,7 +999,7 @@ class CfgAmmo { ACE_caliber=0.00569; ACE_bulletLength=0.023012; - ACE_bulletMass=77; + ACE_bulletMass=4.9896; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.361}; ACE_velocityBoundaries[]={}; @@ -1012,7 +1012,7 @@ class CfgAmmo { ACE_caliber=0.00569; ACE_bulletLength=0.023012; - ACE_bulletMass=62; + ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; ACE_ballisticCoefficients[]={0.152}; ACE_velocityBoundaries[]={}; @@ -1025,7 +1025,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.028397; - ACE_bulletMass=147; + ACE_bulletMass=9.5256; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.398}; ACE_velocityBoundaries[]={}; @@ -1038,7 +1038,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.037821; - ACE_bulletMass=220; + ACE_bulletMass=14.256; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.608}; ACE_velocityBoundaries[]={}; @@ -1051,7 +1051,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.034036; - ACE_bulletMass=200; + ACE_bulletMass=12.96; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.235}; ACE_velocityBoundaries[]={}; @@ -1064,7 +1064,7 @@ class CfgAmmo { ACE_caliber=0.007925; ACE_bulletLength=0.028956; - ACE_bulletMass=152; + ACE_bulletMass=9.8496; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.4}; ACE_velocityBoundaries[]={}; @@ -1077,7 +1077,7 @@ class CfgAmmo { ACE_caliber=0.007925; ACE_bulletLength=0.028956; - ACE_bulletMass=149; + ACE_bulletMass=9.6552; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.395}; ACE_velocityBoundaries[]={}; @@ -1090,7 +1090,7 @@ class CfgAmmo { ACE_caliber=0.007899; ACE_bulletLength=0.031166; - ACE_bulletMass=174; + ACE_bulletMass=11.2752; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.499, 0.493, 0.48}; ACE_velocityBoundaries[]={671, 549}; @@ -1103,7 +1103,7 @@ class CfgAmmo { ACE_caliber=0.008077; ACE_bulletLength=0.028651; - ACE_bulletMass=196; + ACE_bulletMass=12.7008; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.315}; ACE_velocityBoundaries[]={}; @@ -1116,7 +1116,7 @@ class CfgAmmo { ACE_caliber=0.005588; ACE_bulletLength=0.02159; - ACE_bulletMass=52.9; + ACE_bulletMass=3.42792; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; ACE_velocityBoundaries[]={}; @@ -1127,7 +1127,7 @@ class CfgAmmo }; class FH_545x39_7u1: FH_545x39_Ball { - ACE_bulletMass=80; + ACE_bulletMass=5.184; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_muzzleVelocities[]={260, 303, 320}; ACE_barrelLengths[]={10, 16.3, 20}; @@ -1136,7 +1136,7 @@ class CfgAmmo { ACE_caliber=0.009017; ACE_bulletLength=0.015494; - ACE_bulletMass=124; + ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; ACE_velocityBoundaries[]={}; @@ -1157,7 +1157,7 @@ class CfgAmmo { ACE_caliber=0.0127; ACE_bulletLength=0.019406; - ACE_bulletMass=165; + ACE_bulletMass=10.692; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.189}; ACE_velocityBoundaries[]={}; @@ -1170,7 +1170,7 @@ class CfgAmmo { ACE_caliber=0.009017; ACE_bulletLength=0.015494; - ACE_bulletMass=124; + ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; ACE_velocityBoundaries[]={}; @@ -1184,7 +1184,7 @@ class CfgAmmo { ACE_caliber=0.005588; ACE_bulletLength=0.02159; - ACE_bulletMass=52.9; + ACE_bulletMass=3.42792; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; ACE_velocityBoundaries[]={}; @@ -1197,7 +1197,7 @@ class CfgAmmo { ACE_caliber=0.005588; ACE_bulletLength=0.02159; - ACE_bulletMass=49.8; + ACE_bulletMass=3.22704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; ACE_velocityBoundaries[]={}; @@ -1210,7 +1210,7 @@ class CfgAmmo { ACE_caliber=0.00569; ACE_bulletLength=0.023012; - ACE_bulletMass=77; + ACE_bulletMass=4.9896; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.361}; ACE_velocityBoundaries[]={}; @@ -1223,7 +1223,7 @@ class CfgAmmo { ACE_caliber=0.009271; ACE_bulletLength=0.015494; - ACE_bulletMass=92.6; + ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; ACE_velocityBoundaries[]={}; @@ -1236,7 +1236,7 @@ class CfgAmmo { ACE_caliber=0.009017; ACE_bulletLength=0.015494; - ACE_bulletMass=124; + ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; ACE_velocityBoundaries[]={}; @@ -1249,7 +1249,7 @@ class CfgAmmo { ACE_caliber=0.009017; ACE_bulletLength=0.015494; - ACE_bulletMass=124; + ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; ACE_velocityBoundaries[]={}; @@ -1262,7 +1262,7 @@ class CfgAmmo { ACE_caliber=0.009017; ACE_bulletLength=0.015494; - ACE_bulletMass=124; + ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; ACE_velocityBoundaries[]={}; @@ -1275,7 +1275,7 @@ class CfgAmmo { ACE_caliber=0.007938; ACE_bulletLength=0.015494; - ACE_bulletMass=65; + ACE_bulletMass=4.212; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.118}; ACE_velocityBoundaries[]={}; @@ -1288,7 +1288,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.028956; - ACE_bulletMass=123; + ACE_bulletMass=7.9704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; ACE_velocityBoundaries[]={}; @@ -1301,7 +1301,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.028956; - ACE_bulletMass=117; + ACE_bulletMass=7.5816; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; ACE_velocityBoundaries[]={}; @@ -1314,7 +1314,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.031496; - ACE_bulletMass=175; + ACE_bulletMass=11.34; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.505, 0.496, 0.485, 0.485, 0.485}; ACE_velocityBoundaries[]={853, 549, 549, 549}; @@ -1327,7 +1327,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.034366; - ACE_bulletMass=190; + ACE_bulletMass=12.312; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.268}; ACE_velocityBoundaries[]={}; @@ -1340,7 +1340,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.037821; - ACE_bulletMass=220; + ACE_bulletMass=14.256; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.310}; ACE_velocityBoundaries[]={}; @@ -1353,7 +1353,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.040691; - ACE_bulletMass=230; + ACE_bulletMass=14.904; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.368}; ACE_velocityBoundaries[]={}; @@ -1366,7 +1366,7 @@ class CfgAmmo { ACE_caliber=0.007925; ACE_bulletLength=0.028956; - ACE_bulletMass=152; + ACE_bulletMass=9.8496; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.4}; ACE_velocityBoundaries[]={}; @@ -1379,7 +1379,7 @@ class CfgAmmo { ACE_caliber=0.007925; ACE_bulletLength=0.028956; - ACE_bulletMass=149; + ACE_bulletMass=9.6552; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.395}; ACE_velocityBoundaries[]={}; @@ -1392,7 +1392,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.031496; - ACE_bulletMass=175; + ACE_bulletMass=11.34; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.505, 0.496, 0.485, 0.485, 0.485}; ACE_velocityBoundaries[]={853, 549, 549, 549}; @@ -1405,7 +1405,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.031496; - ACE_bulletMass=175; + ACE_bulletMass=11.34; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.2}; ACE_velocityBoundaries[]={}; @@ -1419,7 +1419,7 @@ class CfgAmmo { ACE_caliber=0.004902; ACE_bulletLength=0.013005; - ACE_bulletMass=31; + ACE_bulletMass=2.0088; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.1455}; ACE_velocityBoundaries[]={}; @@ -1433,7 +1433,7 @@ class CfgAmmo { ACE_caliber=0.008585; ACE_bulletLength=0.04318; - ACE_bulletMass=300; + ACE_bulletMass=19.44; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.381}; ACE_velocityBoundaries[]={}; @@ -1446,7 +1446,7 @@ class CfgAmmo { ACE_caliber=0.007899; ACE_bulletLength=0.031166; - ACE_bulletMass=174; + ACE_bulletMass=11.2752; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.499, 0.493, 0.48}; ACE_velocityBoundaries[]={671, 549}; @@ -1460,7 +1460,7 @@ class CfgAmmo { ACE_caliber=0.00569; ACE_bulletLength=0.023012; - ACE_bulletMass=62; + ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.307}; ACE_velocityBoundaries[]={}; @@ -1473,7 +1473,7 @@ class CfgAmmo { ACE_caliber=0.00569; ACE_bulletLength=0.023012; - ACE_bulletMass=77; + ACE_bulletMass=4.9896; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.361}; ACE_velocityBoundaries[]={}; @@ -1486,7 +1486,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.028956; - ACE_bulletMass=146; + ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; ACE_velocityBoundaries[]={}; @@ -1499,7 +1499,7 @@ class CfgAmmo { ACE_caliber=0.005588; ACE_bulletLength=0.02159; - ACE_bulletMass=52.9; + ACE_bulletMass=3.42792; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; ACE_velocityBoundaries[]={}; @@ -1512,7 +1512,7 @@ class CfgAmmo { ACE_caliber=0.005588; ACE_bulletLength=0.02159; - ACE_bulletMass=49.8; + ACE_bulletMass=3.22704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; ACE_velocityBoundaries[]={}; @@ -1525,7 +1525,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.031496; - ACE_bulletMass=175; + ACE_bulletMass=11.34; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.243}; ACE_velocityBoundaries[]={}; @@ -1538,7 +1538,7 @@ class CfgAmmo { ACE_caliber=0.007925; ACE_bulletLength=0.028956; - ACE_bulletMass=152; + ACE_bulletMass=9.8496; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.4}; ACE_velocityBoundaries[]={}; @@ -1551,7 +1551,7 @@ class CfgAmmo { ACE_caliber=0.007925; ACE_bulletLength=0.028956; - ACE_bulletMass=149; + ACE_bulletMass=9.6552; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.395}; ACE_velocityBoundaries[]={}; @@ -1564,7 +1564,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.028956; - ACE_bulletMass=123; + ACE_bulletMass=7.9704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; ACE_velocityBoundaries[]={}; @@ -1577,7 +1577,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.028956; - ACE_bulletMass=117; + ACE_bulletMass=7.5816; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; ACE_velocityBoundaries[]={}; @@ -1590,7 +1590,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.028956; - ACE_bulletMass=146; + ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; ACE_velocityBoundaries[]={}; @@ -1603,7 +1603,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.037821; - ACE_bulletMass=220; + ACE_bulletMass=14.256; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.310}; ACE_velocityBoundaries[]={}; @@ -1617,7 +1617,7 @@ class CfgAmmo { ACE_caliber=0.009017; ACE_bulletLength=0.015494; - ACE_bulletMass=124; + ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; ACE_velocityBoundaries[]={}; @@ -1630,7 +1630,7 @@ class CfgAmmo { ACE_caliber=0.00569; ACE_bulletLength=0.023012; - ACE_bulletMass=62; + ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; ACE_ballisticCoefficients[]={0.151}; ACE_velocityBoundaries[]={}; @@ -1643,7 +1643,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.028956; - ACE_bulletMass=146; + ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; ACE_velocityBoundaries[]={}; @@ -1656,7 +1656,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.031496; - ACE_bulletMass=175; + ACE_bulletMass=11.34; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.505, 0.496, 0.485, 0.485, 0.485}; ACE_velocityBoundaries[]={853, 549, 549, 549}; @@ -1669,7 +1669,7 @@ class CfgAmmo { ACE_caliber=0.012954; ACE_bulletLength=0.058674; - ACE_bulletMass=647; + ACE_bulletMass=41.9256; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.670}; ACE_velocityBoundaries[]={}; @@ -1682,7 +1682,7 @@ class CfgAmmo { ACE_caliber=0.012954; ACE_bulletLength=0.058674; - ACE_bulletMass=647; + ACE_bulletMass=41.9256; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.670}; ACE_velocityBoundaries[]={}; @@ -1696,7 +1696,7 @@ class CfgAmmo { ACE_caliber=0.005588; ACE_bulletLength=0.02159; - ACE_bulletMass=52.9; + ACE_bulletMass=3.42792; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; ACE_velocityBoundaries[]={}; @@ -1709,7 +1709,7 @@ class CfgAmmo { ACE_caliber=0.005588; ACE_bulletLength=0.02159; - ACE_bulletMass=49.8; + ACE_bulletMass=3.22704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; ACE_velocityBoundaries[]={}; @@ -1722,7 +1722,7 @@ class CfgAmmo { ACE_caliber=0.005588; ACE_bulletLength=0.02159; - ACE_bulletMass=49.8; + ACE_bulletMass=3.22704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; ACE_velocityBoundaries[]={}; @@ -1735,7 +1735,7 @@ class CfgAmmo { ACE_caliber=0.005588; ACE_bulletLength=0.02159; - ACE_bulletMass=49.8; + ACE_bulletMass=3.22704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; ACE_velocityBoundaries[]={}; @@ -1748,7 +1748,7 @@ class CfgAmmo { ACE_caliber=0.005588; ACE_bulletLength=0.02159; - ACE_bulletMass=49.8; + ACE_bulletMass=3.22704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; ACE_velocityBoundaries[]={}; @@ -1761,7 +1761,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.028956; - ACE_bulletMass=123; + ACE_bulletMass=7.9704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; ACE_velocityBoundaries[]={}; @@ -1774,7 +1774,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.028956; - ACE_bulletMass=117; + ACE_bulletMass=7.5816; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; ACE_velocityBoundaries[]={}; @@ -1787,7 +1787,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.028956; - ACE_bulletMass=123; + ACE_bulletMass=7.9704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; ACE_velocityBoundaries[]={}; @@ -1800,7 +1800,7 @@ class CfgAmmo { ACE_caliber=0.009271; ACE_bulletLength=0.015494; - ACE_bulletMass=92.6; + ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; ACE_velocityBoundaries[]={}; @@ -1813,7 +1813,7 @@ class CfgAmmo { ACE_caliber=0.009271; ACE_bulletLength=0.015494; - ACE_bulletMass=92.6; + ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; ACE_velocityBoundaries[]={}; @@ -1826,7 +1826,7 @@ class CfgAmmo { ACE_caliber=0.009271; ACE_bulletLength=0.015494; - ACE_bulletMass=92.6; + ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; ACE_velocityBoundaries[]={}; @@ -1839,7 +1839,7 @@ class CfgAmmo { ACE_caliber=0.009271; ACE_bulletLength=0.015494; - ACE_bulletMass=92.6; + ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; ACE_velocityBoundaries[]={}; @@ -1852,7 +1852,7 @@ class CfgAmmo { ACE_caliber=0.009271; ACE_bulletLength=0.015494; - ACE_bulletMass=92.6; + ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; ACE_velocityBoundaries[]={}; @@ -1865,7 +1865,7 @@ class CfgAmmo { ACE_caliber=0.009017; ACE_bulletLength=0.015494; - ACE_bulletMass=124; + ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; ACE_velocityBoundaries[]={}; @@ -1878,7 +1878,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.028956; - ACE_bulletMass=146; + ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; ACE_velocityBoundaries[]={}; @@ -1891,7 +1891,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.028956; - ACE_bulletMass=146; + ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; ACE_velocityBoundaries[]={}; @@ -1904,7 +1904,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.028956; - ACE_bulletMass=146; + ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; ACE_velocityBoundaries[]={}; @@ -1917,7 +1917,7 @@ class CfgAmmo { ACE_caliber=0.007899; ACE_bulletLength=0.031166; - ACE_bulletMass=174; + ACE_bulletMass=11.2752; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.499, 0.493, 0.48}; ACE_velocityBoundaries[]={671, 549}; @@ -1930,7 +1930,7 @@ class CfgAmmo { ACE_caliber=0.012979; ACE_bulletLength=0.064008; - ACE_bulletMass=745; + ACE_bulletMass=48.276; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.63}; ACE_velocityBoundaries[]={}; @@ -1943,7 +1943,7 @@ class CfgAmmo { ACE_caliber=0.012979; ACE_bulletLength=0.064008; - ACE_bulletMass=745; + ACE_bulletMass=48.276; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.63}; ACE_velocityBoundaries[]={}; @@ -1956,7 +1956,7 @@ class CfgAmmo { ACE_caliber=0.007925; ACE_bulletLength=0.028956; - ACE_bulletMass=149; + ACE_bulletMass=9.6552; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.395}; ACE_velocityBoundaries[]={}; @@ -1969,7 +1969,7 @@ class CfgAmmo { ACE_caliber=0.007925; ACE_bulletLength=0.028956; - ACE_bulletMass=149; + ACE_bulletMass=9.6552; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.395}; ACE_velocityBoundaries[]={}; @@ -1982,7 +1982,7 @@ class CfgAmmo { ACE_caliber=0.007925; ACE_bulletLength=0.028956; - ACE_bulletMass=149; + ACE_bulletMass=9.6552; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.395}; ACE_velocityBoundaries[]={}; @@ -1995,7 +1995,7 @@ class CfgAmmo { ACE_caliber=0.007925; ACE_bulletLength=0.028956; - ACE_bulletMass=149; + ACE_bulletMass=9.6552; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.395}; ACE_velocityBoundaries[]={}; @@ -2008,7 +2008,7 @@ class CfgAmmo { ACE_caliber=0.009246; ACE_bulletLength=0.031496; - ACE_bulletMass=250; + ACE_bulletMass=16.2; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.275}; ACE_velocityBoundaries[]={}; @@ -2021,7 +2021,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.028956; - ACE_bulletMass=146; + ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; ACE_velocityBoundaries[]={}; @@ -2034,7 +2034,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.028956; - ACE_bulletMass=146; + ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; ACE_velocityBoundaries[]={}; @@ -2047,7 +2047,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.028956; - ACE_bulletMass=146; + ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; ACE_velocityBoundaries[]={}; @@ -2060,7 +2060,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.028956; - ACE_bulletMass=146; + ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; ACE_velocityBoundaries[]={}; @@ -2073,7 +2073,7 @@ class CfgAmmo { ACE_caliber=0.012979; ACE_bulletLength=0.064008; - ACE_bulletMass=745; + ACE_bulletMass=48.276; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.63}; ACE_velocityBoundaries[]={}; @@ -2086,7 +2086,7 @@ class CfgAmmo { ACE_caliber=0.009271; ACE_bulletLength=0.015494; - ACE_bulletMass=92.6; + ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; ACE_velocityBoundaries[]={}; @@ -2099,7 +2099,7 @@ class CfgAmmo { ACE_caliber=0.007938; ACE_bulletLength=0.015494; - ACE_bulletMass=65; + ACE_bulletMass=4.212; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.118}; ACE_velocityBoundaries[]={}; @@ -2112,7 +2112,7 @@ class CfgAmmo { ACE_caliber=0.014884; ACE_bulletLength=0.0508; - ACE_bulletMass=1010; + ACE_bulletMass=65.448; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.620}; ACE_velocityBoundaries[]={}; @@ -2125,7 +2125,7 @@ class CfgAmmo { ACE_caliber=0.012954; ACE_bulletLength=0.058674; - ACE_bulletMass=647; + ACE_bulletMass=41.9256; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.670}; ACE_velocityBoundaries[]={}; @@ -2138,7 +2138,7 @@ class CfgAmmo { ACE_caliber=0.008585; ACE_bulletLength=0.04318; - ACE_bulletMass=300; + ACE_bulletMass=19.44; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.381}; ACE_velocityBoundaries[]={}; @@ -2152,7 +2152,7 @@ class CfgAmmo { ACE_caliber=0.009271; ACE_bulletLength=0.015494; - ACE_bulletMass=92.6; + ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; ACE_velocityBoundaries[]={}; @@ -2165,7 +2165,7 @@ class CfgAmmo { ACE_caliber=0.009271; ACE_bulletLength=0.015494; - ACE_bulletMass=92.6; + ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; ACE_velocityBoundaries[]={}; @@ -2178,7 +2178,7 @@ class CfgAmmo { ACE_caliber=0.009271; ACE_bulletLength=0.015494; - ACE_bulletMass=92.6; + ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; ACE_velocityBoundaries[]={}; @@ -2191,7 +2191,7 @@ class CfgAmmo { ACE_caliber=0.009271; ACE_bulletLength=0.015494; - ACE_bulletMass=92.6; + ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; ACE_velocityBoundaries[]={}; @@ -2204,7 +2204,7 @@ class CfgAmmo { ACE_caliber=0.009271; ACE_bulletLength=0.015494; - ACE_bulletMass=92.6; + ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; ACE_velocityBoundaries[]={}; @@ -2217,7 +2217,7 @@ class CfgAmmo { ACE_caliber=0.009271; ACE_bulletLength=0.015494; - ACE_bulletMass=92.6; + ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; ACE_velocityBoundaries[]={}; @@ -2230,7 +2230,7 @@ class CfgAmmo { ACE_caliber=0.009017; ACE_bulletLength=0.015494; - ACE_bulletMass=124; + ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; ACE_velocityBoundaries[]={}; @@ -2243,7 +2243,7 @@ class CfgAmmo { ACE_caliber=0.009017; ACE_bulletLength=0.015494; - ACE_bulletMass=124; + ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; ACE_velocityBoundaries[]={}; @@ -2256,7 +2256,7 @@ class CfgAmmo { ACE_caliber=0.009017; ACE_bulletLength=0.015494; - ACE_bulletMass=124; + ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; ACE_velocityBoundaries[]={}; @@ -2269,7 +2269,7 @@ class CfgAmmo { ACE_caliber=0.009017; ACE_bulletLength=0.015494; - ACE_bulletMass=124; + ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; ACE_velocityBoundaries[]={}; @@ -2282,7 +2282,7 @@ class CfgAmmo { ACE_caliber=0.009246; ACE_bulletLength=0.031496; - ACE_bulletMass=250; + ACE_bulletMass=16.2; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.275}; ACE_velocityBoundaries[]={}; @@ -2295,7 +2295,7 @@ class CfgAmmo { ACE_caliber=0.009246; ACE_bulletLength=0.031496; - ACE_bulletMass=250; + ACE_bulletMass=16.2; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.275}; ACE_velocityBoundaries[]={}; @@ -2308,7 +2308,7 @@ class CfgAmmo { ACE_caliber=0.005588; ACE_bulletLength=0.02159; - ACE_bulletMass=52.9; + ACE_bulletMass=3.42792; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; ACE_velocityBoundaries[]={}; @@ -2321,7 +2321,7 @@ class CfgAmmo { ACE_caliber=0.005588; ACE_bulletLength=0.02159; - ACE_bulletMass=49.8; + ACE_bulletMass=3.22704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; ACE_velocityBoundaries[]={}; @@ -2334,7 +2334,7 @@ class CfgAmmo { ACE_caliber=0.005588; ACE_bulletLength=0.02159; - ACE_bulletMass=52.9; + ACE_bulletMass=3.42792; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; ACE_velocityBoundaries[]={}; @@ -2347,7 +2347,7 @@ class CfgAmmo { ACE_caliber=0.005588; ACE_bulletLength=0.02159; - ACE_bulletMass=52.9; + ACE_bulletMass=3.42792; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; ACE_velocityBoundaries[]={}; @@ -2360,7 +2360,7 @@ class CfgAmmo { ACE_caliber=0.005588; ACE_bulletLength=0.02159; - ACE_bulletMass=52.9; + ACE_bulletMass=3.42792; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.168}; ACE_velocityBoundaries[]={}; @@ -2373,7 +2373,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.028956; - ACE_bulletMass=123; + ACE_bulletMass=7.9704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; ACE_velocityBoundaries[]={}; @@ -2386,7 +2386,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.028956; - ACE_bulletMass=117; + ACE_bulletMass=7.5816; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; ACE_velocityBoundaries[]={}; @@ -2399,7 +2399,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.028956; - ACE_bulletMass=123; + ACE_bulletMass=7.9704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; ACE_velocityBoundaries[]={}; @@ -2412,7 +2412,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.028956; - ACE_bulletMass=123; + ACE_bulletMass=7.9704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; ACE_velocityBoundaries[]={}; @@ -2425,7 +2425,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.028956; - ACE_bulletMass=123; + ACE_bulletMass=7.9704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; ACE_velocityBoundaries[]={}; @@ -2438,7 +2438,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.028956; - ACE_bulletMass=123; + ACE_bulletMass=7.9704; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.275}; ACE_velocityBoundaries[]={}; @@ -2451,7 +2451,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.013462; - ACE_bulletMass=143; + ACE_bulletMass=9.2664; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.275}; ACE_velocityBoundaries[]={}; @@ -2464,7 +2464,7 @@ class CfgAmmo { ACE_caliber=0.007925; ACE_bulletLength=0.028956; - ACE_bulletMass=152; + ACE_bulletMass=9.8496; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.4}; ACE_velocityBoundaries[]={}; @@ -2477,7 +2477,7 @@ class CfgAmmo { ACE_caliber=0.007925; ACE_bulletLength=0.028956; - ACE_bulletMass=149; + ACE_bulletMass=9.6552; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.395}; ACE_velocityBoundaries[]={}; @@ -2490,7 +2490,7 @@ class CfgAmmo { ACE_caliber=0.007925; ACE_bulletLength=0.028956; - ACE_bulletMass=152; + ACE_bulletMass=9.8496; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.4}; ACE_velocityBoundaries[]={}; @@ -2503,7 +2503,7 @@ class CfgAmmo { ACE_caliber=0.007925; ACE_bulletLength=0.028956; - ACE_bulletMass=152; + ACE_bulletMass=9.8496; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.4}; ACE_velocityBoundaries[]={}; @@ -2516,7 +2516,7 @@ class CfgAmmo { ACE_caliber=0.007925; ACE_bulletLength=0.028956; - ACE_bulletMass=152; + ACE_bulletMass=9.8496; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.4}; ACE_velocityBoundaries[]={}; @@ -2529,7 +2529,7 @@ class CfgAmmo { ACE_caliber=0.014884; ACE_bulletLength=0.0508; - ACE_bulletMass=1010; + ACE_bulletMass=65.448; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.620}; ACE_velocityBoundaries[]={}; @@ -2542,7 +2542,7 @@ class CfgAmmo { ACE_caliber=0.006096; ACE_bulletLength=0.006096; - ACE_bulletMass=6; + ACE_bulletMass=0.3888; ACE_ammoTempMuzzleVelocityShifts[]={}; ACE_ballisticCoefficients[]={}; ACE_velocityBoundaries[]={}; @@ -2555,7 +2555,7 @@ class CfgAmmo { ACE_caliber=0.009017; ACE_bulletLength=0.015494; - ACE_bulletMass=124; + ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; ACE_velocityBoundaries[]={}; @@ -2568,7 +2568,7 @@ class CfgAmmo { ACE_caliber=0.00569; ACE_bulletLength=0.023012; - ACE_bulletMass=62; + ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; ACE_ballisticCoefficients[]={0.151}; ACE_velocityBoundaries[]={}; @@ -2581,7 +2581,7 @@ class CfgAmmo { ACE_caliber=0.00569; ACE_bulletLength=0.023012; - ACE_bulletMass=62; + ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; ACE_ballisticCoefficients[]={0.151}; ACE_velocityBoundaries[]={}; @@ -2594,7 +2594,7 @@ class CfgAmmo { ACE_caliber=0.00569; ACE_bulletLength=0.023012; - ACE_bulletMass=62; + ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; ACE_ballisticCoefficients[]={0.151}; ACE_velocityBoundaries[]={}; @@ -2607,7 +2607,7 @@ class CfgAmmo { ACE_caliber=0.00569; ACE_bulletLength=0.023012; - ACE_bulletMass=62; + ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; ACE_ballisticCoefficients[]={0.151}; ACE_velocityBoundaries[]={}; @@ -2620,7 +2620,7 @@ class CfgAmmo { ACE_caliber=0.00569; ACE_bulletLength=0.023012; - ACE_bulletMass=62; + ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; ACE_ballisticCoefficients[]={0.151}; ACE_velocityBoundaries[]={}; @@ -2633,7 +2633,7 @@ class CfgAmmo { ACE_caliber=0.00569; ACE_bulletLength=0.023012; - ACE_bulletMass=62; + ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; ACE_ballisticCoefficients[]={0.151}; ACE_velocityBoundaries[]={}; @@ -2646,7 +2646,7 @@ class CfgAmmo { ACE_caliber=0.00569; ACE_bulletLength=0.023012; - ACE_bulletMass=77; + ACE_bulletMass=4.9896; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.361}; ACE_velocityBoundaries[]={}; @@ -2659,7 +2659,7 @@ class CfgAmmo { ACE_caliber=0.00569; ACE_bulletLength=0.023012; - ACE_bulletMass=62; + ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.151}; ACE_velocityBoundaries[]={}; @@ -2672,7 +2672,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.028956; - ACE_bulletMass=146; + ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; ACE_velocityBoundaries[]={}; @@ -2685,7 +2685,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.028956; - ACE_bulletMass=146; + ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; ACE_velocityBoundaries[]={}; @@ -2698,7 +2698,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.028956; - ACE_bulletMass=146; + ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; ACE_velocityBoundaries[]={}; @@ -2711,7 +2711,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.028956; - ACE_bulletMass=146; + ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; ACE_velocityBoundaries[]={}; @@ -2724,7 +2724,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.031496; - ACE_bulletMass=175; + ACE_bulletMass=11.34; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.243}; ACE_velocityBoundaries[]={}; @@ -2737,7 +2737,7 @@ class CfgAmmo { ACE_caliber=0.011481; ACE_bulletLength=0.017272; - ACE_bulletMass=230; + ACE_bulletMass=14.904; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.195}; ACE_velocityBoundaries[]={}; @@ -2750,7 +2750,7 @@ class CfgAmmo { ACE_caliber=0.011481; ACE_bulletLength=0.017272; - ACE_bulletMass=230; + ACE_bulletMass=14.904; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.195}; ACE_velocityBoundaries[]={}; @@ -2763,7 +2763,7 @@ class CfgAmmo { ACE_caliber=0.011481; ACE_bulletLength=0.017272; - ACE_bulletMass=230; + ACE_bulletMass=14.904; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.195}; ACE_velocityBoundaries[]={}; @@ -2776,7 +2776,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.028956; - ACE_bulletMass=123; + ACE_bulletMass=7.9704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; ACE_velocityBoundaries[]={}; @@ -2789,7 +2789,7 @@ class CfgAmmo { ACE_caliber=0.005588; ACE_bulletLength=0.005842; - ACE_bulletMass=3; + ACE_bulletMass=0.1944; ACE_ammoTempMuzzleVelocityShifts[]={}; ACE_ballisticCoefficients[]={}; ACE_velocityBoundaries[]={}; diff --git a/optionals/compat_cup/CfgAmmo.hpp b/optionals/compat_cup/CfgAmmo.hpp index 793d2d03fb..00151cddb8 100644 --- a/optionals/compat_cup/CfgAmmo.hpp +++ b/optionals/compat_cup/CfgAmmo.hpp @@ -7,7 +7,7 @@ class CfgAmmo { ACE_caliber=0.005588; ACE_bulletLength=0.02159; - ACE_bulletMass=52.9; + ACE_bulletMass=3.42792; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; ACE_velocityBoundaries[]={}; @@ -20,7 +20,7 @@ class CfgAmmo { ACE_caliber=0.005588; ACE_bulletLength=0.02159; - ACE_bulletMass=49.8; + ACE_bulletMass=3.22704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; ACE_velocityBoundaries[]={}; @@ -33,7 +33,7 @@ class CfgAmmo { ACE_caliber=0.005588; ACE_bulletLength=0.02159; - ACE_bulletMass=49.8; + ACE_bulletMass=3.22704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; ACE_velocityBoundaries[]={}; @@ -46,7 +46,7 @@ class CfgAmmo { ACE_caliber=0.005588; ACE_bulletLength=0.02159; - ACE_bulletMass=49.8; + ACE_bulletMass=3.22704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; ACE_velocityBoundaries[]={}; @@ -59,7 +59,7 @@ class CfgAmmo { ACE_caliber=0.005588; ACE_bulletLength=0.02159; - ACE_bulletMass=49.8; + ACE_bulletMass=3.22704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; ACE_velocityBoundaries[]={}; @@ -72,7 +72,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.028956; - ACE_bulletMass=123; + ACE_bulletMass=7.9704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; ACE_velocityBoundaries[]={}; @@ -85,7 +85,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.028956; - ACE_bulletMass=117; + ACE_bulletMass=7.5816; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; ACE_velocityBoundaries[]={}; @@ -98,7 +98,7 @@ class CfgAmmo { ACE_caliber=0.009271; ACE_bulletLength=0.015494; - ACE_bulletMass=92.6; + ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; ACE_velocityBoundaries[]={}; @@ -111,7 +111,7 @@ class CfgAmmo { ACE_caliber=0.009271; ACE_bulletLength=0.015494; - ACE_bulletMass=92.6; + ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; ACE_velocityBoundaries[]={}; @@ -124,7 +124,7 @@ class CfgAmmo { ACE_caliber=0.009271; ACE_bulletLength=0.015494; - ACE_bulletMass=92.6; + ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; ACE_velocityBoundaries[]={}; @@ -137,7 +137,7 @@ class CfgAmmo { ACE_caliber=0.009271; ACE_bulletLength=0.015494; - ACE_bulletMass=92.6; + ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; ACE_velocityBoundaries[]={}; @@ -150,7 +150,7 @@ class CfgAmmo { ACE_caliber=0.009271; ACE_bulletLength=0.015494; - ACE_bulletMass=92.6; + ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; ACE_velocityBoundaries[]={}; @@ -163,7 +163,7 @@ class CfgAmmo { ACE_caliber=0.009017; ACE_bulletLength=0.015494; - ACE_bulletMass=124; + ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; ACE_velocityBoundaries[]={}; @@ -176,7 +176,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.028956; - ACE_bulletMass=146; + ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; ACE_velocityBoundaries[]={}; @@ -189,7 +189,7 @@ class CfgAmmo { ACE_caliber=0.007899; ACE_bulletLength=0.031166; - ACE_bulletMass=174; + ACE_bulletMass=11.2752; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.499, 0.493, 0.48}; ACE_velocityBoundaries[]={671, 549}; @@ -202,7 +202,7 @@ class CfgAmmo { ACE_caliber=0.012979; ACE_bulletLength=0.064008; - ACE_bulletMass=745; + ACE_bulletMass=48.276; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.63}; ACE_velocityBoundaries[]={}; @@ -215,7 +215,7 @@ class CfgAmmo { ACE_caliber=0.012979; ACE_bulletLength=0.064008; - ACE_bulletMass=745; + ACE_bulletMass=48.276; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.63}; ACE_velocityBoundaries[]={}; @@ -228,7 +228,7 @@ class CfgAmmo { ACE_caliber=0.007925; ACE_bulletLength=0.028956; - ACE_bulletMass=149; + ACE_bulletMass=9.6552; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.395}; ACE_velocityBoundaries[]={}; @@ -241,7 +241,7 @@ class CfgAmmo { ACE_caliber=0.007925; ACE_bulletLength=0.028956; - ACE_bulletMass=149; + ACE_bulletMass=9.6552; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.395}; ACE_velocityBoundaries[]={}; @@ -254,7 +254,7 @@ class CfgAmmo { ACE_caliber=0.007925; ACE_bulletLength=0.028956; - ACE_bulletMass=149; + ACE_bulletMass=9.6552; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.395}; ACE_velocityBoundaries[]={}; @@ -267,7 +267,7 @@ class CfgAmmo { ACE_caliber=0.007925; ACE_bulletLength=0.028956; - ACE_bulletMass=149; + ACE_bulletMass=9.6552; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.395}; ACE_velocityBoundaries[]={}; @@ -280,7 +280,7 @@ class CfgAmmo { ACE_caliber=0.009246; ACE_bulletLength=0.031496; - ACE_bulletMass=250; + ACE_bulletMass=16.2; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.275}; ACE_velocityBoundaries[]={}; @@ -293,7 +293,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.028956; - ACE_bulletMass=146; + ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; ACE_velocityBoundaries[]={}; @@ -306,7 +306,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.028956; - ACE_bulletMass=146; + ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; ACE_velocityBoundaries[]={}; @@ -319,7 +319,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.028956; - ACE_bulletMass=146; + ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; ACE_velocityBoundaries[]={}; @@ -332,7 +332,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.028956; - ACE_bulletMass=146; + ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; ACE_velocityBoundaries[]={}; @@ -345,7 +345,7 @@ class CfgAmmo { ACE_caliber=0.012979; ACE_bulletLength=0.064008; - ACE_bulletMass=745; + ACE_bulletMass=48.276; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.63}; ACE_velocityBoundaries[]={}; @@ -358,7 +358,7 @@ class CfgAmmo { ACE_caliber=0.009271; ACE_bulletLength=0.015494; - ACE_bulletMass=92.6; + ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; ACE_velocityBoundaries[]={}; @@ -371,7 +371,7 @@ class CfgAmmo { ACE_caliber=0.007938; ACE_bulletLength=0.015494; - ACE_bulletMass=65; + ACE_bulletMass=4.212; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.118}; ACE_velocityBoundaries[]={}; @@ -384,7 +384,7 @@ class CfgAmmo { ACE_caliber=0.014884; ACE_bulletLength=0.0508; - ACE_bulletMass=1010; + ACE_bulletMass=65.448; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.620}; ACE_velocityBoundaries[]={}; @@ -397,7 +397,7 @@ class CfgAmmo { ACE_caliber=0.012954; ACE_bulletLength=0.058674; - ACE_bulletMass=647; + ACE_bulletMass=41.9256; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.670}; ACE_velocityBoundaries[]={}; @@ -410,7 +410,7 @@ class CfgAmmo { ACE_caliber=0.008585; ACE_bulletLength=0.04318; - ACE_bulletMass=300; + ACE_bulletMass=19.44; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.381}; ACE_velocityBoundaries[]={}; diff --git a/optionals/compat_hlcmods_core/CfgAmmo.hpp b/optionals/compat_hlcmods_core/CfgAmmo.hpp index 9da1f56803..680afacfd6 100644 --- a/optionals/compat_hlcmods_core/CfgAmmo.hpp +++ b/optionals/compat_hlcmods_core/CfgAmmo.hpp @@ -10,7 +10,7 @@ class CfgAmmo { ACE_caliber=0.00569; ACE_bulletLength=0.023012; - ACE_bulletMass=62; + ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; ACE_ballisticCoefficients[]={0.151}; ACE_velocityBoundaries[]={}; @@ -23,7 +23,7 @@ class CfgAmmo { ACE_caliber=0.00569; ACE_bulletLength=0.023012; - ACE_bulletMass=62; + ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.307}; ACE_velocityBoundaries[]={}; @@ -36,7 +36,7 @@ class CfgAmmo { ACE_caliber=0.00569; ACE_bulletLength=0.023012; - ACE_bulletMass=77; + ACE_bulletMass=4.9896; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.361}; ACE_velocityBoundaries[]={}; @@ -49,7 +49,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.028397; - ACE_bulletMass=147; + ACE_bulletMass=9.5256; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.398}; ACE_velocityBoundaries[]={}; @@ -62,7 +62,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.037821; - ACE_bulletMass=220; + ACE_bulletMass=14.256; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.608}; ACE_velocityBoundaries[]={}; @@ -75,7 +75,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.028956; - ACE_bulletMass=123; + ACE_bulletMass=7.9704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; ACE_velocityBoundaries[]={}; @@ -88,7 +88,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.028956; - ACE_bulletMass=117; + ACE_bulletMass=7.5816; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; ACE_velocityBoundaries[]={}; @@ -101,7 +101,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.031496; - ACE_bulletMass=175; + ACE_bulletMass=11.34; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.243}; ACE_velocityBoundaries[]={}; @@ -114,7 +114,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.034036; - ACE_bulletMass=200; + ACE_bulletMass=12.96; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.235}; ACE_velocityBoundaries[]={}; @@ -127,7 +127,7 @@ class CfgAmmo { ACE_caliber=0.007925; ACE_bulletLength=0.028956; - ACE_bulletMass=152; + ACE_bulletMass=9.8496; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.4}; ACE_velocityBoundaries[]={}; @@ -140,7 +140,7 @@ class CfgAmmo { ACE_caliber=0.007925; ACE_bulletLength=0.028956; - ACE_bulletMass=149; + ACE_bulletMass=9.6552; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.395}; ACE_velocityBoundaries[]={}; @@ -153,7 +153,7 @@ class CfgAmmo { ACE_caliber=0.007899; ACE_bulletLength=0.031166; - ACE_bulletMass=174; + ACE_bulletMass=11.2752; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.499, 0.493, 0.48}; ACE_velocityBoundaries[]={671, 549}; @@ -166,7 +166,7 @@ class CfgAmmo { ACE_caliber=0.008077; ACE_bulletLength=0.028651; - ACE_bulletMass=196; + ACE_bulletMass=12.7008; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.315}; ACE_velocityBoundaries[]={}; @@ -185,7 +185,7 @@ class CfgAmmo { ACE_caliber=0.005588; ACE_bulletLength=0.02159; - ACE_bulletMass=52.9; + ACE_bulletMass=3.42792; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; ACE_velocityBoundaries[]={}; @@ -196,7 +196,7 @@ class CfgAmmo }; class FH_545x39_7u1: FH_545x39_Ball { - ACE_bulletMass=80; + ACE_bulletMass=5.184; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_muzzleVelocities[]={260, 303, 320}; ACE_barrelLengths[]={10, 16.3, 20}; @@ -205,7 +205,7 @@ class CfgAmmo { ACE_caliber=0.00569; ACE_bulletLength=0.012573; - ACE_bulletMass=28; + ACE_bulletMass=1.8144; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.144}; ACE_velocityBoundaries[]={}; @@ -218,7 +218,7 @@ class CfgAmmo { ACE_caliber=0.009017; ACE_bulletLength=0.015494; - ACE_bulletMass=124; + ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; ACE_velocityBoundaries[]={}; @@ -231,7 +231,7 @@ class CfgAmmo { ACE_caliber=0.009017; ACE_bulletLength=0.015494; - ACE_bulletMass=124; + ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; ACE_velocityBoundaries[]={}; @@ -252,7 +252,7 @@ class CfgAmmo { ACE_caliber=0.0127; ACE_bulletLength=0.019406; - ACE_bulletMass=165; + ACE_bulletMass=10.692; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.189}; ACE_velocityBoundaries[]={}; @@ -265,7 +265,7 @@ class CfgAmmo { ACE_caliber=0.011481; ACE_bulletLength=0.017272; - ACE_bulletMass=230; + ACE_bulletMass=14.904; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.195}; ACE_velocityBoundaries[]={}; @@ -278,7 +278,7 @@ class CfgAmmo { ACE_caliber=0.010897; ACE_bulletLength=0.020422; - ACE_bulletMass=200; + ACE_bulletMass=12.96; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.172}; ACE_velocityBoundaries[]={}; @@ -291,7 +291,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.03175; - ACE_bulletMass=350; + ACE_bulletMass=22.68; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={1.056}; ACE_velocityBoundaries[]={}; @@ -304,7 +304,7 @@ class CfgAmmo { ACE_caliber=0.012954; ACE_bulletLength=0.060452; - ACE_bulletMass=660; + ACE_bulletMass=42.768; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.670}; ACE_velocityBoundaries[]={}; diff --git a/optionals/compat_rh_de/CfgAmmo.hpp b/optionals/compat_rh_de/CfgAmmo.hpp index 3204523bd8..10547b04fd 100644 --- a/optionals/compat_rh_de/CfgAmmo.hpp +++ b/optionals/compat_rh_de/CfgAmmo.hpp @@ -6,7 +6,7 @@ class CfgAmmo { ACE_caliber=0.0127; ACE_bulletLength=0.028194; - ACE_bulletMass=325; + ACE_bulletMass=21.06; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.228}; ACE_velocityBoundaries[]={}; @@ -19,7 +19,7 @@ class CfgAmmo { ACE_caliber=0.011481; ACE_bulletLength=0.022733; - ACE_bulletMass=325; + ACE_bulletMass=21.06; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.171}; ACE_velocityBoundaries[]={}; @@ -32,7 +32,7 @@ class CfgAmmo { ACE_caliber=0.007938; ACE_bulletLength=0.015494; - ACE_bulletMass=65; + ACE_bulletMass=4.212; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.118}; ACE_velocityBoundaries[]={}; @@ -45,7 +45,7 @@ class CfgAmmo { ACE_caliber=0.011481; ACE_bulletLength=0.017272; - ACE_bulletMass=230; + ACE_bulletMass=14.904; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.195}; ACE_velocityBoundaries[]={}; @@ -58,7 +58,7 @@ class CfgAmmo { ACE_caliber=0.01016; ACE_bulletLength=0.011354; - ACE_bulletMass=135; + ACE_bulletMass=8.748; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.105, 0.115, 0.120, 0.105}; ACE_velocityBoundaries[]={365, 305, 259}; @@ -71,7 +71,7 @@ class CfgAmmo { ACE_caliber=0.010897; ACE_bulletLength=0.020422; - ACE_bulletMass=200; + ACE_bulletMass=12.96; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.172}; ACE_velocityBoundaries[]={}; @@ -84,7 +84,7 @@ class CfgAmmo { ACE_caliber=0.009068; ACE_bulletLength=0.013741; - ACE_bulletMass=125; + ACE_bulletMass=8.1; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.148}; ACE_velocityBoundaries[]={}; @@ -97,7 +97,7 @@ class CfgAmmo { ACE_caliber=0.007874; ACE_bulletLength=0.013856; - ACE_bulletMass=86; + ACE_bulletMass=5.5728; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.17}; ACE_velocityBoundaries[]={}; @@ -110,7 +110,7 @@ class CfgAmmo { ACE_caliber=0.009271; ACE_bulletLength=0.015494; - ACE_bulletMass=92.6; + ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; ACE_velocityBoundaries[]={}; @@ -123,7 +123,7 @@ class CfgAmmo { ACE_caliber=0.009017; ACE_bulletLength=0.015494; - ACE_bulletMass=124; + ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; ACE_velocityBoundaries[]={}; @@ -136,7 +136,7 @@ class CfgAmmo { ACE_caliber=0.005664; ACE_bulletLength=0.01143; - ACE_bulletMass=38; + ACE_bulletMass=2.4624; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.111}; ACE_velocityBoundaries[]={}; @@ -149,7 +149,7 @@ class CfgAmmo { ACE_caliber=0.00569; ACE_bulletLength=0.012573; - ACE_bulletMass=28; + ACE_bulletMass=1.8144; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.144}; ACE_velocityBoundaries[]={}; diff --git a/optionals/compat_rh_m4/CfgAmmo.hpp b/optionals/compat_rh_m4/CfgAmmo.hpp index 9d7f4eec9f..8f8a5f3cf2 100644 --- a/optionals/compat_rh_m4/CfgAmmo.hpp +++ b/optionals/compat_rh_m4/CfgAmmo.hpp @@ -12,7 +12,7 @@ class CfgAmmo { { ACE_caliber=0.009017; ACE_bulletLength=0.015494; - ACE_bulletMass=124; + ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; ACE_velocityBoundaries[]={}; @@ -25,7 +25,7 @@ class CfgAmmo { { ACE_caliber=0.009017; ACE_bulletLength=0.015494; - ACE_bulletMass=124; + ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; ACE_velocityBoundaries[]={}; @@ -38,7 +38,7 @@ class CfgAmmo { { ACE_caliber=0.009017; ACE_bulletLength=0.015316; - ACE_bulletMass=147; + ACE_bulletMass=9.5256; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.212}; ACE_velocityBoundaries[]={}; @@ -51,7 +51,7 @@ class CfgAmmo { { ACE_caliber=0.00569; ACE_bulletLength=0.023012; - ACE_bulletMass=62; + ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; ACE_ballisticCoefficients[]={0.151}; ACE_velocityBoundaries[]={}; @@ -64,7 +64,7 @@ class CfgAmmo { { ACE_caliber=0.00569; ACE_bulletLength=0.023012; - ACE_bulletMass=62; + ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.307}; ACE_velocityBoundaries[]={}; @@ -77,7 +77,7 @@ class CfgAmmo { { ACE_caliber=0.00569; ACE_bulletLength=0.023012; - ACE_bulletMass=77; + ACE_bulletMass=4.9896; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.361}; ACE_velocityBoundaries[]={}; @@ -90,7 +90,7 @@ class CfgAmmo { { ACE_caliber=0.007036; ACE_bulletLength=0.024359; - ACE_bulletMass=115; + ACE_bulletMass=7.452; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.162}; ACE_velocityBoundaries[]={}; @@ -103,7 +103,7 @@ class CfgAmmo { { ACE_caliber=0.007036; ACE_bulletLength=0.03175; - ACE_bulletMass=135; + ACE_bulletMass=8.748; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.253}; ACE_velocityBoundaries[]={}; @@ -116,7 +116,7 @@ class CfgAmmo { { ACE_caliber=0.007823; ACE_bulletLength=0.028397; - ACE_bulletMass=147; + ACE_bulletMass=9.5256; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.398}; ACE_velocityBoundaries[]={}; @@ -129,7 +129,7 @@ class CfgAmmo { { ACE_caliber=0.007823; ACE_bulletLength=0.029286; - ACE_bulletMass=125; + ACE_bulletMass=8.1; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.349, 0.338, 0.330, 0.310}; ACE_velocityBoundaries[]={792, 610, 488}; @@ -142,7 +142,7 @@ class CfgAmmo { { ACE_caliber=0.007823; ACE_bulletLength=0.037821; - ACE_bulletMass=220; + ACE_bulletMass=14.256; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.608}; ACE_velocityBoundaries[]={}; @@ -155,7 +155,7 @@ class CfgAmmo { { ACE_caliber=0.007823; ACE_bulletLength=0.028956; - ACE_bulletMass=146; + ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; ACE_velocityBoundaries[]={}; @@ -168,7 +168,7 @@ class CfgAmmo { { ACE_caliber=0.007823; ACE_bulletLength=0.031496; - ACE_bulletMass=175; + ACE_bulletMass=11.34; ACE_ammoTempMuzzleVelocityShifts[]={-5.3, -5.1, -4.6, -4.2, -3.4, -2.6, -1.4, -0.3, 1.4, 3.0, 5.2}; ACE_ballisticCoefficients[]={0.243}; ACE_velocityBoundaries[]={}; @@ -181,7 +181,7 @@ class CfgAmmo { { ACE_caliber=0.007823; ACE_bulletLength=0.031496; - ACE_bulletMass=130; + ACE_bulletMass=8.424; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.377}; ACE_velocityBoundaries[]={}; @@ -194,7 +194,7 @@ class CfgAmmo { { ACE_caliber=0.007823; ACE_bulletLength=0.034036; - ACE_bulletMass=200; + ACE_bulletMass=12.96; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.235}; ACE_velocityBoundaries[]={}; diff --git a/optionals/compat_rh_pdw/CfgAmmo.hpp b/optionals/compat_rh_pdw/CfgAmmo.hpp index 76850acf7b..e5877127c3 100644 --- a/optionals/compat_rh_pdw/CfgAmmo.hpp +++ b/optionals/compat_rh_pdw/CfgAmmo.hpp @@ -4,7 +4,7 @@ class RH_B_6x35: BulletBase { ACE_caliber=0.00569; ACE_bulletLength=0.011303; - ACE_bulletMass=65; + ACE_bulletMass=4.212; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.26}; ACE_velocityBoundaries[]={}; diff --git a/optionals/compat_rhs_afrf3/CfgAmmo.hpp b/optionals/compat_rhs_afrf3/CfgAmmo.hpp index 1d7fc6bdae..914b2c7fef 100644 --- a/optionals/compat_rhs_afrf3/CfgAmmo.hpp +++ b/optionals/compat_rhs_afrf3/CfgAmmo.hpp @@ -7,7 +7,7 @@ class CfgAmmo { ACE_caliber=0.005588; ACE_bulletLength=0.02159; - ACE_bulletMass=52.9; + ACE_bulletMass=3.42792; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; ACE_velocityBoundaries[]={}; @@ -20,7 +20,7 @@ class CfgAmmo { ACE_caliber=0.005588; ACE_bulletLength=0.02159; - ACE_bulletMass=49.8; + ACE_bulletMass=3.22704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; ACE_velocityBoundaries[]={}; @@ -34,7 +34,7 @@ class CfgAmmo { ACE_caliber=0.007925; ACE_bulletLength=0.028956; - ACE_bulletMass=152; + ACE_bulletMass=9.8496; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.4}; ACE_velocityBoundaries[]={}; @@ -47,7 +47,7 @@ class CfgAmmo { ACE_caliber=0.007925; ACE_bulletLength=0.028956; - ACE_bulletMass=149; + ACE_bulletMass=9.6552; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.395}; ACE_velocityBoundaries[]={}; @@ -60,7 +60,7 @@ class CfgAmmo { ACE_caliber=0.007925; ACE_bulletLength=0.028956; - ACE_bulletMass=152; + ACE_bulletMass=9.8496; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.4}; ACE_velocityBoundaries[]={}; @@ -73,7 +73,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.028956; - ACE_bulletMass=123; + ACE_bulletMass=7.9704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; ACE_velocityBoundaries[]={}; @@ -86,7 +86,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.028956; - ACE_bulletMass=117; + ACE_bulletMass=7.5816; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; ACE_velocityBoundaries[]={}; @@ -100,7 +100,7 @@ class CfgAmmo { ACE_caliber=0.009017; ACE_bulletLength=0.015494; - ACE_bulletMass=80.2; + ACE_bulletMass=5.19696; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.14}; ACE_velocityBoundaries[]={}; @@ -113,7 +113,7 @@ class CfgAmmo { ACE_caliber=0.009271; ACE_bulletLength=0.015494; - ACE_bulletMass=92.6; + ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; ACE_velocityBoundaries[]={}; diff --git a/optionals/compat_rhs_usf3/CfgAmmo.hpp b/optionals/compat_rhs_usf3/CfgAmmo.hpp index 14c3157adf..c6cb7c0097 100644 --- a/optionals/compat_rhs_usf3/CfgAmmo.hpp +++ b/optionals/compat_rhs_usf3/CfgAmmo.hpp @@ -6,7 +6,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.037821; - ACE_bulletMass=220; + ACE_bulletMass=14.256; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.310}; ACE_velocityBoundaries[]={}; @@ -20,7 +20,7 @@ class CfgAmmo { ACE_caliber=0.00569; ACE_bulletLength=0.023012; - ACE_bulletMass=62; + ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.307}; ACE_velocityBoundaries[]={}; @@ -33,7 +33,7 @@ class CfgAmmo { ACE_caliber=0.00569; ACE_bulletLength=0.023012; - ACE_bulletMass=77; + ACE_bulletMass=4.9896; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.361}; ACE_velocityBoundaries[]={}; @@ -46,7 +46,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.028956; - ACE_bulletMass=146; + ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; ACE_velocityBoundaries[]={}; @@ -59,7 +59,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.031496; - ACE_bulletMass=175; + ACE_bulletMass=11.34; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.243}; ACE_velocityBoundaries[]={}; @@ -72,7 +72,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.031496; - ACE_bulletMass=127; + ACE_bulletMass=8.2296; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.377}; ACE_velocityBoundaries[]={}; @@ -85,7 +85,7 @@ class CfgAmmo { ACE_caliber=0.011481; ACE_bulletLength=0.017272; - ACE_bulletMass=230; + ACE_bulletMass=14.904; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.195}; ACE_velocityBoundaries[]={}; From 68c912775304069c5cf7f7abe499ffe0b8e2157f Mon Sep 17 00:00:00 2001 From: KoffeinFlummi Date: Thu, 7 May 2015 18:39:57 +0200 Subject: [PATCH 073/217] Convert ACE_barrelLengths to meters --- addons/ballistics/CfgAmmo.hpp | 92 ++--- extras/CfgAmmoReference.hpp | 412 +++++++++++----------- optionals/compat_cup/CfgAmmo.hpp | 64 ++-- optionals/compat_hlcmods_core/CfgAmmo.hpp | 46 +-- optionals/compat_rh_de/CfgAmmo.hpp | 24 +- optionals/compat_rh_m4/CfgAmmo.hpp | 30 +- optionals/compat_rh_pdw/CfgAmmo.hpp | 2 +- optionals/compat_rhs_afrf3/CfgAmmo.hpp | 18 +- optionals/compat_rhs_usf3/CfgAmmo.hpp | 14 +- 9 files changed, 351 insertions(+), 351 deletions(-) diff --git a/addons/ballistics/CfgAmmo.hpp b/addons/ballistics/CfgAmmo.hpp index 753c5ba8a1..8c47af9ac3 100644 --- a/addons/ballistics/CfgAmmo.hpp +++ b/addons/ballistics/CfgAmmo.hpp @@ -34,7 +34,7 @@ class CfgAmmo { ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={723, 764, 796, 825, 843, 866, 878, 892, 906, 915, 922, 900}; - ACE_barrelLengths[]={8.3, 9.4, 10.6, 11.8, 13.0, 14.2, 15.4, 16.5, 17.7, 18.9, 20.0, 24.0}; + ACE_barrelLengths[]={0.21082, 0.23876, 0.26924, 0.29972, 0.3302, 0.36068, 0.39116, 0.4191, 0.44958, 0.48006, 0.508, 0.6096}; }; class ACE_556x45_Ball_Mk262 : B_556x45_Ball { airFriction=-0.001125; @@ -51,7 +51,7 @@ class CfgAmmo { ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={624, 816, 832, 838}; - ACE_barrelLengths[]={7.5, 14.5, 18, 20}; + ACE_barrelLengths[]={0.1905, 0.3683, 0.4572, 0.508}; }; class ACE_556x45_Ball_Mk318 : B_556x45_Ball { airFriction=-0.001120; @@ -68,7 +68,7 @@ class CfgAmmo { ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={780, 886, 950}; - ACE_barrelLengths[]={10, 15.5, 20}; + ACE_barrelLengths[]={0.254, 0.3937, 0.508}; }; class ACE_556x45_Ball_M995_AP : B_556x45_Ball { airFriction=-0.001120; @@ -85,7 +85,7 @@ class CfgAmmo { ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={950, 1030, 1040}; - ACE_barrelLengths[]={10, 15.5, 20}; + ACE_barrelLengths[]={0.254, 0.3937, 0.508}; }; class B_556x45_Ball_Tracer_Red; class ACE_B_556x45_Ball_Tracer_Dim: B_556x45_Ball_Tracer_Red { @@ -106,7 +106,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={780, 880, 920}; - ACE_barrelLengths[]={10, 16.3, 20}; + ACE_barrelLengths[]={0.254, 0.41402, 0.508}; }; class B_556x45_Ball_Tracer_Green; class ACE_545x39_Ball_7T3M : B_556x45_Ball_Tracer_Green { @@ -126,7 +126,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={785, 883, 925}; - ACE_barrelLengths[]={10, 16.3, 20}; + ACE_barrelLengths[]={0.254, 0.41402, 0.508}; }; class B_65x39_Caseless : BulletBase { airFriction=-0.000785; @@ -140,7 +140,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={730, 760, 788, 800, 810, 830}; - ACE_barrelLengths[]={10, 16, 20, 24, 26, 30}; + ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604, 0.762}; }; class B_65x39_Case_yellow; class ACE_65x39_Caseless_Tracer_Dim : B_65x39_Case_yellow { @@ -163,7 +163,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={730, 760, 790, 820, 830}; - ACE_barrelLengths[]={10, 16, 20, 24, 26}; + ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604}; }; class ACE_65_Creedmor_Ball: B_65x39_Caseless { airFriction=-0.000651; @@ -178,7 +178,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={750, 820, 840, 852, 860}; - ACE_barrelLengths[]={10, 16, 20, 24, 26}; + ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604}; }; class B_762x51_Ball : BulletBase { airFriction=-0.001035; @@ -195,7 +195,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={700, 800, 820, 833, 845}; - ACE_barrelLengths[]={10, 16, 20, 24, 26}; + ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604}; }; class B_762x51_Tracer_Yellow; class ACE_B_762x51_Tracer_Dim: B_762x51_Tracer_Yellow { @@ -215,7 +215,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={750, 780, 790, 794}; - ACE_barrelLengths[]={16, 20, 24, 26}; + ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; }; class ACE_762x51_Ball_Mk316_Mod_0 : B_762x51_Ball { airFriction=-0.0008525; @@ -231,7 +231,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={775, 790, 805, 810}; - ACE_barrelLengths[]={16, 20, 24, 26}; + ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; }; class ACE_762x51_Ball_Mk319_Mod_0 : B_762x51_Ball { airFriction=-0.00103; @@ -247,7 +247,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={838, 892, 910}; - ACE_barrelLengths[]={13, 16, 20}; + ACE_barrelLengths[]={0.3302, 0.4064, 0.508}; }; class ACE_762x51_Ball_M993_AP : B_762x51_Ball { airFriction=-0.00103; @@ -263,7 +263,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={875, 910, 930}; - ACE_barrelLengths[]={13, 16, 20}; + ACE_barrelLengths[]={0.3302, 0.4064, 0.508}; }; class ACE_762x51_Ball_Subsonic : B_762x51_Ball { airFriction=-0.000535; @@ -279,7 +279,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={305, 325, 335, 340}; - ACE_barrelLengths[]={16, 20, 24, 26}; + ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; }; class ACE_30_06_M1_Ball : B_762x51_Ball { airFriction=-0.0009; @@ -295,7 +295,7 @@ class CfgAmmo { ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={700, 785, 800, 830, 840}; - ACE_barrelLengths[]={10, 16, 20, 24, 26}; + ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604}; }; class ACE_7_Remington_Magnum_Ball : B_762x51_Ball { airFriction=-0.0008; @@ -311,7 +311,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={720, 780, 812, 822, 830}; - ACE_barrelLengths[]={10, 16, 20, 24, 26}; + ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604}; }; class ACE_243_Winchester_Ball : B_762x51_Ball { airFriction=-0.00095; @@ -327,7 +327,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={830, 875, 900, 915, 920}; - ACE_barrelLengths[]={10, 16, 20, 24, 26}; + ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604}; }; class ACE_762x67_Ball_Mk248_Mod_0 : B_762x51_Ball { airFriction=-0.000830; @@ -343,7 +343,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={865, 900, 924}; - ACE_barrelLengths[]={20, 24, 26}; + ACE_barrelLengths[]={0.508, 0.6096, 0.6604}; }; class ACE_762x67_Ball_Mk248_Mod_1 : B_762x51_Ball { airFriction=-0.000815; @@ -359,7 +359,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={847, 867, 877}; - ACE_barrelLengths[]={20, 24, 26}; + ACE_barrelLengths[]={0.508, 0.6096, 0.6604}; }; class ACE_762x67_Ball_Berger_Hybrid_OTM : B_762x51_Ball { airFriction=-0.00076; @@ -375,7 +375,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={800, 853, 884}; - ACE_barrelLengths[]={20, 24, 26}; + ACE_barrelLengths[]={0.508, 0.6096, 0.6604}; }; class B_762x54_Ball: B_762x51_Ball { airFriction=-0.001023; @@ -389,7 +389,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={700, 800, 820, 833}; - ACE_barrelLengths[]={16, 20, 24, 26}; + ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; }; class ACE_762x54_Ball_7N14 : B_762x51_Ball { airFriction=-0.001023; @@ -405,7 +405,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={700, 800, 820, 833}; - ACE_barrelLengths[]={16, 20, 24, 26}; + ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; }; class B_762x54_Tracer_Green; class ACE_762x54_Ball_7T2 : B_762x54_Tracer_Green { @@ -424,7 +424,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={680, 750, 798, 800}; - ACE_barrelLengths[]={16, 20, 24, 26}; + ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; }; class ACE_762x35_Ball : B_762x51_Ball { airFriction=-0.000821; @@ -440,7 +440,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={620, 655, 675}; - ACE_barrelLengths[]={9, 16, 20}; + ACE_barrelLengths[]={0.2286, 0.4064, 0.508}; }; class ACE_762x39_Ball : B_762x51_Ball { airFriction=-0.0015168; @@ -456,7 +456,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={650, 716, 750}; - ACE_barrelLengths[]={10, 16.3, 20}; + ACE_barrelLengths[]={0.254, 0.41402, 0.508}; }; class ACE_762x39_Ball_57N231P : B_762x54_Tracer_Green { airFriction=-0.0015168; @@ -474,7 +474,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={650, 716, 750}; - ACE_barrelLengths[]={10, 16.3, 20}; + ACE_barrelLengths[]={0.254, 0.41402, 0.508}; }; class B_9x21_Ball : BulletBase { airFriction=-0.00125; @@ -489,7 +489,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={440, 460, 480}; - ACE_barrelLengths[]={4, 5, 9}; + ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; }; class ACE_9x18_Ball_57N181S : B_9x21_Ball { hit=5; @@ -504,7 +504,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={298, 330, 350}; - ACE_barrelLengths[]={3.8, 5, 9}; + ACE_barrelLengths[]={0.09652, 0.127, 0.2286}; }; class ACE_9x19_Ball : B_9x21_Ball { airFriction=-0.001234; @@ -519,7 +519,7 @@ class CfgAmmo { ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={340, 370, 400}; - ACE_barrelLengths[]={4, 5, 9}; + ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; }; class ACE_10x25_Ball : B_9x21_Ball { airFriction=-0.00168; @@ -534,7 +534,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={360, 400, 430}; - ACE_barrelLengths[]={4, 4.61, 9}; + ACE_barrelLengths[]={0.1016, 0.117094, 0.2286}; }; class ACE_765x17_Ball: B_9x21_Ball { airFriction=-0.001213; @@ -549,7 +549,7 @@ class CfgAmmo { ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={282, 300, 320}; - ACE_barrelLengths[]={4, 5, 9}; + ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; }; class ACE_303_Ball : ACE_762x51_Ball_M118LR { airFriction=-0.00083; @@ -564,7 +564,7 @@ class CfgAmmo { ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={748, 761, 765}; - ACE_barrelLengths[]={20, 24, 26}; + ACE_barrelLengths[]={0.508, 0.6096, 0.6604}; }; class B_93x64_Ball : BulletBase { airFriction=-0.00106; @@ -578,7 +578,7 @@ class CfgAmmo { ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={850, 870, 880}; - ACE_barrelLengths[]={20, 24.41, 26}; + ACE_barrelLengths[]={0.508, 0.620014, 0.6604}; }; class B_408_Ball : BulletBase { timeToLive=10; @@ -594,7 +594,7 @@ class CfgAmmo { ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={910}; - ACE_barrelLengths[]={29}; + ACE_barrelLengths[]={0.7366}; }; class ACE_106x83mm_Ball : B_408_Ball { timeToLive=10; @@ -607,7 +607,7 @@ class CfgAmmo { ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={960}; - ACE_barrelLengths[]={29}; + ACE_barrelLengths[]={0.7366}; }; class B_338_Ball : BulletBase { timeToLive=10; @@ -622,7 +622,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={880, 915, 925}; - ACE_barrelLengths[]={20, 26, 28}; + ACE_barrelLengths[]={0.508, 0.6604, 0.7112}; }; class B_338_NM_Ball : BulletBase { airFriction=-0.000537; @@ -636,7 +636,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={790, 807, 820}; - ACE_barrelLengths[]={20, 24, 26}; + ACE_barrelLengths[]={0.508, 0.6096, 0.6604}; }; class ACE_338_Ball : B_338_Ball { timeToLive=10; @@ -651,7 +651,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={800, 820, 826, 830}; - ACE_barrelLengths[]={20, 24, 26.5, 28}; + ACE_barrelLengths[]={0.508, 0.6096, 0.6731, 0.7112}; }; class ACE_338_Ball_API526 : B_338_Ball { timeToLive=10; @@ -667,7 +667,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={880, 915, 925}; - ACE_barrelLengths[]={20, 26, 28}; + ACE_barrelLengths[]={0.508, 0.6604, 0.7112}; }; class B_127x54_Ball : BulletBase { airFriction=-0.00014; @@ -681,7 +681,7 @@ class CfgAmmo { ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={300}; - ACE_barrelLengths[]={17.2}; + ACE_barrelLengths[]={0.43688}; }; class B_127x99_Ball : BulletBase { timeToLive=10; @@ -696,7 +696,7 @@ class CfgAmmo { ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={900}; - ACE_barrelLengths[]={29}; + ACE_barrelLengths[]={0.7366}; }; class ACE_127x99_API : BulletBase { timeToLive=10; @@ -713,7 +713,7 @@ class CfgAmmo { ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={900}; - ACE_barrelLengths[]={29}; + ACE_barrelLengths[]={0.7366}; }; class ACE_127x99_Ball_AMAX : B_127x99_Ball { timeToLive=10; @@ -729,7 +729,7 @@ class CfgAmmo { ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={860}; - ACE_barrelLengths[]={29}; + ACE_barrelLengths[]={0.7366}; }; class B_127x108_Ball : BulletBase { timeToLive=10; @@ -744,7 +744,7 @@ class CfgAmmo { ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={820}; - ACE_barrelLengths[]={28.7}; + ACE_barrelLengths[]={0.72898}; }; class B_45ACP_Ball : BulletBase { airFriction=-0.0007182; @@ -758,6 +758,6 @@ class CfgAmmo { ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={230, 250, 285}; - ACE_barrelLengths[]={4, 5, 9}; + ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; }; }; diff --git a/extras/CfgAmmoReference.hpp b/extras/CfgAmmoReference.hpp index 409109d25b..1d2d5b2700 100644 --- a/extras/CfgAmmoReference.hpp +++ b/extras/CfgAmmoReference.hpp @@ -14,7 +14,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={723, 764, 796, 825, 843, 866, 878, 892, 906, 915, 922, 900}; - ACE_barrelLengths[]={8.3, 9.4, 10.6, 11.8, 13.0, 14.2, 15.4, 16.5, 17.7, 18.9, 20.0, 24.0}; + ACE_barrelLengths[]={0.21082, 0.23876, 0.26924, 0.29972, 0.3302, 0.36068, 0.39116, 0.4191, 0.44958, 0.48006, 0.508, 0.6096}; }; class ACE_556x45_Ball_Mk262 : B_556x45_Ball { airFriction=-0.001125; @@ -31,7 +31,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={624, 816, 832, 838}; - ACE_barrelLengths[]={7.5, 14.5, 18, 20}; + ACE_barrelLengths[]={0.1905, 0.3683, 0.4572, 0.508}; }; class ACE_556x45_Ball_Mk318 : B_556x45_Ball { airFriction=-0.001120; @@ -48,7 +48,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={780, 886, 950}; - ACE_barrelLengths[]={10, 15.5, 20}; + ACE_barrelLengths[]={0.254, 0.3937, 0.508}; }; class B_556x45_Ball_Tracer_Red; class ACE_B_556x45_Ball_Tracer_Dim: B_556x45_Ball_Tracer_Red { @@ -69,7 +69,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={780, 880, 920}; - ACE_barrelLengths[]={10, 16.3, 20}; + ACE_barrelLengths[]={0.254, 0.41402, 0.508}; }; class B_556x45_Ball_Tracer_Yellow; class ACE_545x39_Ball_7T3M : B_556x45_Ball_Tracer_Yellow { @@ -87,7 +87,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={785, 883, 925}; - ACE_barrelLengths[]={10, 16.3, 20}; + ACE_barrelLengths[]={0.254, 0.41402, 0.508}; }; class B_65x39_Caseless : BulletBase { airFriction=-0.000785; @@ -101,7 +101,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={730, 760, 788, 800, 810, 830}; - ACE_barrelLengths[]={10, 16, 20, 24, 26, 30}; + ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604, 0.762}; }; class B_65x39_Case_yellow; class ACE_65x39_Caseless_Tracer_Dim : B_65x39_Case_yellow { @@ -124,7 +124,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={730, 760, 790, 820, 830}; - ACE_barrelLengths[]={10, 16, 20, 24, 26}; + ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604}; }; class B_762x51_Ball : BulletBase { airFriction=-0.001035; @@ -139,7 +139,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={700, 800, 820, 833, 845}; - ACE_barrelLengths[]={10, 16, 20, 24, 26}; + ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604}; }; class B_762x51_Tracer_Yellow; class ACE_B_762x51_Tracer_Dim: B_762x51_Tracer_Yellow { @@ -159,7 +159,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={750, 780, 790, 794}; - ACE_barrelLengths[]={16, 20, 24, 26}; + ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; }; class ACE_762x51_Ball_Mk319_Mod_0 : B_762x51_Ball { airFriction=-0.00103; @@ -175,7 +175,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={838, 892, 910}; - ACE_barrelLengths[]={13, 16, 20}; + ACE_barrelLengths[]={0.3302, 0.4064, 0.508}; }; class ACE_762x51_Ball_Subsonic : B_762x51_Ball { airFriction=-0.000535; @@ -191,7 +191,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={305, 325, 335, 340}; - ACE_barrelLengths[]={16, 20, 24, 26}; + ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; }; class ACE_762x67_Ball_Mk248_Mod_0 : B_762x51_Ball { airFriction=-0.000830; @@ -207,7 +207,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={865, 900, 924}; - ACE_barrelLengths[]={20, 24, 26}; + ACE_barrelLengths[]={0.508, 0.6096, 0.6604}; }; class ACE_762x67_Ball_Mk248_Mod_1 : B_762x51_Ball { airFriction=-0.000815; @@ -223,7 +223,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={847, 867, 877}; - ACE_barrelLengths[]={20, 24, 26}; + ACE_barrelLengths[]={0.508, 0.6096, 0.6604}; }; class ACE_762x67_Ball_Berger_Hybrid_OTM : B_762x51_Ball { airFriction=-0.00076; @@ -239,7 +239,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={800, 853, 884}; - ACE_barrelLengths[]={20, 24, 26}; + ACE_barrelLengths[]={0.508, 0.6096, 0.6604}; }; class B_762x54_Ball: B_762x51_Ball { airFriction=-0.001023; @@ -253,7 +253,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={700, 800, 820, 833}; - ACE_barrelLengths[]={16, 20, 24, 26}; + ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; }; class ACE_762x54_Ball_7N14 : B_762x51_Ball { airFriction=-0.001023; @@ -269,7 +269,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={700, 800, 820, 833}; - ACE_barrelLengths[]={16, 20, 24, 26}; + ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; }; class B_762x54_Tracer_Green; class ACE_762x54_Ball_7T2 : B_762x54_Tracer_Green { @@ -286,7 +286,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={680, 750, 798, 800}; - ACE_barrelLengths[]={16, 20, 24, 26}; + ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; }; class ACE_762x35_Ball : B_762x51_Ball { airFriction=-0.000821; @@ -302,7 +302,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={620, 655, 675}; - ACE_barrelLengths[]={9, 16, 20}; + ACE_barrelLengths[]={0.2286, 0.4064, 0.508}; }; class ACE_762x39_Ball : B_762x51_Ball { airFriction=-0.0015168; @@ -317,7 +317,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={650, 716, 750}; - ACE_barrelLengths[]={10, 16.3, 20}; + ACE_barrelLengths[]={0.254, 0.41402, 0.508}; }; class ACE_762x39_Ball_57N231P : B_762x51_Tracer_Yellow { airFriction=-0.0015168; @@ -332,7 +332,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={650, 716, 750}; - ACE_barrelLengths[]={10, 16.3, 20}; + ACE_barrelLengths[]={0.254, 0.41402, 0.508}; }; class B_9x21_Ball : BulletBase { airFriction=-0.00125; @@ -347,7 +347,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={440, 460, 480}; - ACE_barrelLengths[]={4, 5, 9}; + ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; }; class ACE_9x18_Ball_57N181S : B_9x21_Ball { hit=5; @@ -362,7 +362,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={298, 330, 350}; - ACE_barrelLengths[]={3.8, 5, 9}; + ACE_barrelLengths[]={0.09652, 0.127, 0.2286}; }; class ACE_9x19_Ball : B_9x21_Ball { airFriction=-0.001234; @@ -377,7 +377,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={340, 370, 400}; - ACE_barrelLengths[]={4, 5, 9}; + ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; }; class ACE_10x25_Ball : B_9x21_Ball { airFriction=-0.00168; @@ -392,7 +392,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={360, 400, 430}; - ACE_barrelLengths[]={4, 4.61, 9}; + ACE_barrelLengths[]={0.1016, 0.117094, 0.2286}; }; class ACE_765x17_Ball: B_9x21_Ball { airFriction=-0.001213; @@ -407,7 +407,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={282, 300, 320}; - ACE_barrelLengths[]={4, 5, 9}; + ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; }; class ACE_303_Ball : ACE_762x51_Ball_M118LR { airFriction=-0.00083; @@ -421,7 +421,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={748, 761, 765}; - ACE_barrelLengths[]={20, 24, 26}; + ACE_barrelLengths[]={0.508, 0.6096, 0.6604}; }; class B_93x64_Ball : BulletBase { airFriction=-0.00106; @@ -436,7 +436,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={850, 870, 880}; - ACE_barrelLengths[]={20, 24.41, 26}; + ACE_barrelLengths[]={0.508, 0.620014, 0.6604}; }; class B_408_Ball : BulletBase { timeToLive=10; @@ -452,7 +452,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={910}; - ACE_barrelLengths[]={29}; + ACE_barrelLengths[]={0.7366}; }; class ACE_106x83mm_Ball : B_408_Ball { timeToLive=10; @@ -465,7 +465,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={960}; - ACE_barrelLengths[]={29}; + ACE_barrelLengths[]={0.7366}; }; class B_338_Ball : BulletBase { timeToLive=10; @@ -480,7 +480,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={880, 915, 925}; - ACE_barrelLengths[]={20, 26, 28}; + ACE_barrelLengths[]={0.508, 0.6604, 0.7112}; }; class B_338_NM_Ball : BulletBase { airFriction=-0.000537; @@ -494,7 +494,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={790, 807, 820}; - ACE_barrelLengths[]={20, 24, 26}; + ACE_barrelLengths[]={0.508, 0.6096, 0.6604}; }; class ACE_338_Ball : B_338_Ball { timeToLive=10; @@ -510,7 +510,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={800, 820, 826, 830}; - ACE_barrelLengths[]={20, 24, 26.5, 28}; + ACE_barrelLengths[]={0.508, 0.6096, 0.6731, 0.7112}; }; class ACE_338_Ball_API526 : B_338_Ball { timeToLive=10; @@ -526,7 +526,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={880, 915, 925}; - ACE_barrelLengths[]={20, 26, 28}; + ACE_barrelLengths[]={0.508, 0.6604, 0.7112}; }; class B_127x54_Ball : BulletBase { airFriction=-0.00014; @@ -540,7 +540,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={300}; - ACE_barrelLengths[]={17.2}; + ACE_barrelLengths[]={0.43688}; }; class B_127x99_Ball : BulletBase { timeToLive=10; @@ -555,7 +555,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={853}; - ACE_barrelLengths[]={29}; + ACE_barrelLengths[]={0.7366}; }; class ACE_127x99_Ball_AMAX : B_127x99_Ball { timeToLive=10; @@ -570,7 +570,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={860}; - ACE_barrelLengths[]={29}; + ACE_barrelLengths[]={0.7366}; }; class B_127x108_Ball : BulletBase { timeToLive=10; @@ -585,7 +585,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={820}; - ACE_barrelLengths[]={28.7}; + ACE_barrelLengths[]={0.72898}; }; class B_45ACP_Ball : BulletBase { airFriction=-0.0007182; @@ -599,7 +599,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={230, 250, 285}; - ACE_barrelLengths[]={4, 5, 9}; + ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; }; class TMR_B_762x51_M118LR : B_762x51_Ball @@ -613,7 +613,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={750, 780, 790, 794}; - ACE_barrelLengths[]={16, 20, 24, 26}; + ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; }; class RH_50_AE_Ball: BulletBase @@ -627,7 +627,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={360, 398, 420}; - ACE_barrelLengths[]={4, 6, 9}; + ACE_barrelLengths[]={0.1016, 0.1524, 0.2286}; }; class RH_454_Casull: BulletBase { @@ -640,7 +640,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={450, 490, 500}; - ACE_barrelLengths[]={4, 7.5, 9}; + ACE_barrelLengths[]={0.1016, 0.1905, 0.2286}; }; class RH_32ACP: BulletBase { @@ -653,7 +653,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={282, 300, 320}; - ACE_barrelLengths[]={4, 5, 9}; + ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; }; class RH_45ACP: BulletBase { @@ -666,7 +666,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={230, 250, 285}; - ACE_barrelLengths[]={4, 5, 9}; + ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; }; class RH_B_40SW: BulletBase { @@ -679,7 +679,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={360, 380, 400}; - ACE_barrelLengths[]={4, 6, 9}; + ACE_barrelLengths[]={0.1016, 0.1524, 0.2286}; }; class RH_44mag_ball: BulletBase { @@ -692,7 +692,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={360, 390, 420}; - ACE_barrelLengths[]={4, 7.5, 9}; + ACE_barrelLengths[]={0.1016, 0.1905, 0.2286}; }; class RH_357mag_ball: BulletBase { @@ -705,7 +705,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={490, 510, 535}; - ACE_barrelLengths[]={4, 6, 9}; + ACE_barrelLengths[]={0.1016, 0.1524, 0.2286}; }; class RH_762x25: BulletBase { @@ -718,7 +718,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={360, 380, 400}; - ACE_barrelLengths[]={4, 6, 9}; + ACE_barrelLengths[]={0.1016, 0.1524, 0.2286}; }; class RH_9x18_Ball: BulletBase { @@ -731,7 +731,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={298, 330, 350}; - ACE_barrelLengths[]={3.8, 5, 9}; + ACE_barrelLengths[]={0.09652, 0.127, 0.2286}; }; class RH_B_9x19_Ball: BulletBase { @@ -744,7 +744,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={340, 370, 400}; - ACE_barrelLengths[]={4, 5, 9}; + ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; }; class RH_B_22LR_SD: BulletBase { @@ -757,7 +757,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={330, 340, 360}; - ACE_barrelLengths[]={4, 6, 9}; + ACE_barrelLengths[]={0.1016, 0.1524, 0.2286}; }; class RH_57x28mm: BulletBase { @@ -770,7 +770,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={550, 625, 720}; - ACE_barrelLengths[]={4, 6, 10.35}; + ACE_barrelLengths[]={0.1016, 0.1524, 0.26289}; }; class RH_9x19_B_M822: BulletBase @@ -784,7 +784,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={340, 370, 400}; - ACE_barrelLengths[]={4, 5, 9}; + ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; }; class RH_9x19_B_HP: BulletBase { @@ -797,7 +797,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={340, 370, 400}; - ACE_barrelLengths[]={4, 5, 9}; + ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; }; class RH_9x19_B_HPSB: BulletBase { @@ -810,7 +810,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={295, 310, 330}; - ACE_barrelLengths[]={4, 5, 9}; + ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; }; class RH_B_6x35: BulletBase { @@ -823,7 +823,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={730, 750, 760}; - ACE_barrelLengths[]={8, 10, 12}; + ACE_barrelLengths[]={0.2032, 0.254, 0.3048}; }; class RH_556x45_B_M855A1 : B_556x45_Ball { @@ -836,7 +836,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={723, 764, 796, 825, 843, 866, 878, 892, 906, 915, 922, 900}; - ACE_barrelLengths[]={8.3, 9.4, 10.6, 11.8, 13.0, 14.2, 15.4, 16.5, 17.7, 18.9, 20.0, 24.0}; + ACE_barrelLengths[]={0.21082, 0.23876, 0.26924, 0.29972, 0.3302, 0.36068, 0.39116, 0.4191, 0.44958, 0.48006, 0.508, 0.6096}; }; class RH_556x45_B_Mk262 : B_556x45_Ball { @@ -849,7 +849,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={624, 816, 832, 838}; - ACE_barrelLengths[]={7.5, 14.5, 18, 20}; + ACE_barrelLengths[]={0.1905, 0.3683, 0.4572, 0.508}; }; class RH_556x45_B_Mk318 : B_556x45_Ball { @@ -862,7 +862,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={780, 886, 950}; - ACE_barrelLengths[]={10, 15.5, 20}; + ACE_barrelLengths[]={0.254, 0.3937, 0.508}; }; class RH_68x43_B_FMJ: B_65x39_Caseless { @@ -875,7 +875,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={713, 785, 810, 850}; - ACE_barrelLengths[]={12, 16, 20, 24}; + ACE_barrelLengths[]={0.3048, 0.4064, 0.508, 0.6096}; }; class RH_68x43_B_Match: B_65x39_Caseless { @@ -888,7 +888,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={700, 732, 750, 780}; - ACE_barrelLengths[]={12, 16, 20, 24}; + ACE_barrelLengths[]={0.3048, 0.4064, 0.508, 0.6096}; }; class RH_762x35_B_FMJ: B_65x39_Caseless { @@ -901,7 +901,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={559, 609, 625}; - ACE_barrelLengths[]={6, 16, 20}; + ACE_barrelLengths[]={0.1524, 0.4064, 0.508}; }; class RH_762x35_B_Match: B_65x39_Caseless { @@ -914,7 +914,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={590, 650, 665}; - ACE_barrelLengths[]={6, 16, 20}; + ACE_barrelLengths[]={0.1524, 0.4064, 0.508}; }; class RH_762x35_B_MSB: B_65x39_Caseless { @@ -927,7 +927,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={300, 320, 340}; - ACE_barrelLengths[]={9, 16, 20}; + ACE_barrelLengths[]={0.2286, 0.4064, 0.508}; }; class RH_762x51_B_M80A1 : B_762x51_Ball { @@ -940,7 +940,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={700, 800, 820, 833, 845}; - ACE_barrelLengths[]={10, 16, 20, 24, 26}; + ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604}; }; class RH_762x51_B_Mk316LR : B_762x51_Ball { @@ -953,7 +953,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={750, 780, 790, 794}; - ACE_barrelLengths[]={16, 20, 24, 26}; + ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; }; class RH_762x51_B_Mk319 : B_762x51_Ball { @@ -966,7 +966,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={838, 892, 920}; - ACE_barrelLengths[]={13, 16, 20}; + ACE_barrelLengths[]={0.3302, 0.4064, 0.508}; }; class RH_762x51_B_LFMJSB: B_762x51_Ball { @@ -979,7 +979,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={305, 325, 335, 340}; - ACE_barrelLengths[]={16, 20, 24, 26}; + ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; }; class HLC_556NATO_SOST: BulletBase @@ -993,7 +993,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={780, 886, 950}; - ACE_barrelLengths[]={10, 15.5, 20}; + ACE_barrelLengths[]={0.254, 0.3937, 0.508}; }; class HLC_556NATO_SPR: BulletBase { @@ -1006,7 +1006,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={624, 816, 832, 838}; - ACE_barrelLengths[]={7.5, 14.5, 18, 20}; + ACE_barrelLengths[]={0.1905, 0.3683, 0.4572, 0.508}; }; class HLC_556NATO_EPR: BulletBase { @@ -1019,7 +1019,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={723, 764, 796, 825, 843, 866, 878, 892, 906, 915, 922, 900}; - ACE_barrelLengths[]={8.3, 9.4, 10.6, 11.8, 13.0, 14.2, 15.4, 16.5, 17.7, 18.9, 20.0, 24.0}; + ACE_barrelLengths[]={0.21082, 0.23876, 0.26924, 0.29972, 0.3302, 0.36068, 0.39116, 0.4191, 0.44958, 0.48006, 0.508, 0.6096}; }; class HLC_300Blackout_Ball: BulletBase { @@ -1032,7 +1032,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={559, 609, 625}; - ACE_barrelLengths[]={6, 16, 20}; + ACE_barrelLengths[]={0.1524, 0.4064, 0.508}; }; class HLC_300Blackout_SMK: BulletBase { @@ -1045,7 +1045,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={300, 320, 340}; - ACE_barrelLengths[]={9, 16, 20}; + ACE_barrelLengths[]={0.2286, 0.4064, 0.508}; }; class HLC_762x51_BTSub: BulletBase { @@ -1058,7 +1058,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={305, 325, 335, 340}; - ACE_barrelLengths[]={16, 20, 24, 26}; + ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; }; class HLC_762x54_ball: BulletBase { @@ -1071,7 +1071,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={700, 800, 820, 833}; - ACE_barrelLengths[]={16, 20, 24, 26}; + ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; }; class HLC_762x54_tracer: BulletBase { @@ -1084,7 +1084,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={680, 750, 798, 800}; - ACE_barrelLengths[]={16, 20, 24, 26}; + ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; }; class HLC_303Brit_B: BulletBase { @@ -1097,7 +1097,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={748, 761, 765}; - ACE_barrelLengths[]={20, 24, 26}; + ACE_barrelLengths[]={0.508, 0.6096, 0.6604}; }; class HLC_792x57_Ball: BulletBase { @@ -1110,7 +1110,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={785, 800, 815}; - ACE_barrelLengths[]={20, 23.62, 26}; + ACE_barrelLengths[]={0.508, 0.599948, 0.6604}; }; class FH_545x39_Ball: BulletBase { @@ -1123,14 +1123,14 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={780, 880, 920}; - ACE_barrelLengths[]={10, 16.3, 20}; + ACE_barrelLengths[]={0.254, 0.41402, 0.508}; }; class FH_545x39_7u1: FH_545x39_Ball { ACE_bulletMass=5.184; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_muzzleVelocities[]={260, 303, 320}; - ACE_barrelLengths[]={10, 16.3, 20}; + ACE_barrelLengths[]={0.254, 0.41402, 0.508}; }; class HLC_9x19_Ball: BulletBase { @@ -1143,7 +1143,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={340, 370, 400}; - ACE_barrelLengths[]={4, 5, 9}; + ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; }; class HLC_9x19_GoldDot: HLC_9x19_Ball { @@ -1164,7 +1164,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={360, 400, 430}; - ACE_barrelLengths[]={4, 4.61, 9}; + ACE_barrelLengths[]={0.1016, 0.117094, 0.2286}; }; class HLC_9x19_M882_SMG: HLC_9x19_Ball { @@ -1177,7 +1177,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={340, 370, 400}; - ACE_barrelLengths[]={4, 5, 9}; + ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; }; class M_mas_545x39_Ball_7N6M : BulletBase @@ -1191,7 +1191,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={780, 880, 920}; - ACE_barrelLengths[]={10, 16.3, 20}; + ACE_barrelLengths[]={0.254, 0.41402, 0.508}; }; class M_mas_545x39_Ball_7T3M : BulletBase { @@ -1204,7 +1204,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={785, 883, 925}; - ACE_barrelLengths[]={10, 16.3, 20}; + ACE_barrelLengths[]={0.254, 0.41402, 0.508}; }; class B_mas_556x45_Ball_Mk262 : B_556x45_Ball { @@ -1217,7 +1217,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={624, 816, 832, 838}; - ACE_barrelLengths[]={7.5, 14.5, 18, 20}; + ACE_barrelLengths[]={0.1905, 0.3683, 0.4572, 0.508}; }; class B_mas_9x18_Ball_57N181S : BulletBase { @@ -1230,7 +1230,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={298, 330, 350}; - ACE_barrelLengths[]={3.8, 5, 9}; + ACE_barrelLengths[]={0.09652, 0.127, 0.2286}; }; class B_mas_9x21p_Ball: BulletBase { @@ -1243,7 +1243,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={340, 370, 400}; - ACE_barrelLengths[]={4, 5, 9}; + ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; }; class B_mas_9x21_Ball: BulletBase { @@ -1256,7 +1256,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={340, 370, 400}; - ACE_barrelLengths[]={4, 5, 9}; + ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; }; class B_mas_9x21d_Ball: BulletBase { @@ -1269,7 +1269,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={210, 250, 285}; - ACE_barrelLengths[]={4, 5, 9}; + ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; }; class B_mas_765x17_Ball: BulletBase { @@ -1282,7 +1282,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={282, 300, 320}; - ACE_barrelLengths[]={4, 5, 9}; + ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; }; class B_mas_762x39_Ball: BulletBase { @@ -1295,7 +1295,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={650, 716, 750}; - ACE_barrelLengths[]={10, 16.3, 20}; + ACE_barrelLengths[]={0.254, 0.41402, 0.508}; }; class B_mas_762x39_Ball_T: BulletBase { @@ -1308,7 +1308,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={650, 716, 750}; - ACE_barrelLengths[]={10, 16.3, 20}; + ACE_barrelLengths[]={0.254, 0.41402, 0.508}; }; class B_mas_762x51_Ball_M118LR : B_762x51_Ball { @@ -1321,7 +1321,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={750, 780, 790, 794}; - ACE_barrelLengths[]={16, 20, 24, 26}; + ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; }; class B_mas_762x67_Ball_Mk248_Mod_0 : B_762x51_Ball { @@ -1334,7 +1334,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={865, 900, 924}; - ACE_barrelLengths[]={20, 24, 26}; + ACE_barrelLengths[]={0.508, 0.6096, 0.6604}; }; class B_mas_762x67_Ball_Mk248_Mod_1 : B_762x51_Ball { @@ -1347,7 +1347,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={820, 867, 900}; - ACE_barrelLengths[]={20, 24, 26}; + ACE_barrelLengths[]={0.508, 0.6096, 0.6604}; }; class B_mas_762x67_Ball_Berger_Hybrid_OTM : B_762x51_Ball { @@ -1360,7 +1360,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={800, 853, 884}; - ACE_barrelLengths[]={20, 24, 26}; + ACE_barrelLengths[]={0.508, 0.6096, 0.6604}; }; class B_mas_762x54_Ball : BulletBase { @@ -1373,7 +1373,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={700, 800, 820, 833}; - ACE_barrelLengths[]={16, 20, 24, 26}; + ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; }; class B_mas_762x54_Ball_T : BulletBase { @@ -1386,7 +1386,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={680, 750, 798, 800}; - ACE_barrelLengths[]={16, 20, 24, 26}; + ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; }; class BWA3_B_762x51_Ball_LR : BulletBase { @@ -1399,7 +1399,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={750, 780, 790, 794}; - ACE_barrelLengths[]={16, 20, 24, 26}; + ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; }; class BWA3_B_762x51_Ball_SD : BulletBase { @@ -1412,7 +1412,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={300, 340}; - ACE_barrelLengths[]={16, 24}; + ACE_barrelLengths[]={0.4064, 0.6096}; }; class BWA3_B_46x30_Ball : BulletBase @@ -1426,7 +1426,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={680, 720, 730, 740}; - ACE_barrelLengths[]={4, 7, 9, 12}; + ACE_barrelLengths[]={0.1016, 0.1778, 0.2286, 0.3048}; }; class Trixie_338_Ball : BulletBase @@ -1440,7 +1440,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={820, 826, 830}; - ACE_barrelLengths[]={24, 26.5, 28}; + ACE_barrelLengths[]={0.6096, 0.6731, 0.7112}; }; class Trixie_303_Ball : BulletBase { @@ -1453,7 +1453,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={748, 761, 765}; - ACE_barrelLengths[]={20, 24, 26}; + ACE_barrelLengths[]={0.508, 0.6096, 0.6604}; }; class rhs_ammo_556x45_Mk318_Ball : BulletBase @@ -1467,7 +1467,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={780, 886, 950}; - ACE_barrelLengths[]={10, 15.5, 20}; + ACE_barrelLengths[]={0.254, 0.3937, 0.508}; }; class rhs_ammo_556x45_Mk262_Ball : BulletBase { @@ -1480,7 +1480,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={624, 816, 832, 838}; - ACE_barrelLengths[]={7.5, 14.5, 18, 20}; + ACE_barrelLengths[]={0.1905, 0.3683, 0.4572, 0.508}; }; class rhsammo_762x51_Ball : BulletBase { @@ -1493,7 +1493,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={700, 800, 820, 833, 845}; - ACE_barrelLengths[]={10, 16, 20, 24, 26}; + ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604}; }; class rhs_B_545x39_Ball : BulletBase { @@ -1506,7 +1506,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={780, 880, 920}; - ACE_barrelLengths[]={10, 16.3, 20}; + ACE_barrelLengths[]={0.254, 0.41402, 0.508}; }; class rhs_B_545x39_Ball_Tracer_Green : BulletBase { @@ -1519,7 +1519,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={785, 883, 925}; - ACE_barrelLengths[]={10, 16.3, 20}; + ACE_barrelLengths[]={0.254, 0.41402, 0.508}; }; class rhs_ammo_762x51_M118_Special_Ball : BulletBase { @@ -1532,7 +1532,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={750, 780, 790, 794}; - ACE_barrelLengths[]={16, 20, 24, 26}; + ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; }; class rhs_B_762x54_Ball : BulletBase { @@ -1545,7 +1545,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={700, 800, 820, 833}; - ACE_barrelLengths[]={16, 20, 24, 26}; + ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; }; class rhs_B_762x54_Ball_Tracer_Green : BulletBase { @@ -1558,7 +1558,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={680, 750, 798, 800}; - ACE_barrelLengths[]={16, 20, 24, 26}; + ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; }; class rhs_B_762x39_Ball : BulletBase { @@ -1571,7 +1571,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={650, 716, 750}; - ACE_barrelLengths[]={10, 16.3, 20}; + ACE_barrelLengths[]={0.254, 0.41402, 0.508}; }; class rhs_B_762x39_Tracer : BulletBase { @@ -1584,7 +1584,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={650, 716, 750}; - ACE_barrelLengths[]={10, 16.3, 20}; + ACE_barrelLengths[]={0.254, 0.41402, 0.508}; }; class rhs_ammo_762x51_M80_Ball : BulletBase { @@ -1597,7 +1597,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={700, 800, 820, 833, 845}; - ACE_barrelLengths[]={10, 16, 20, 24, 26}; + ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604}; }; class rhsusf_B_300winmag : BulletBase { @@ -1610,7 +1610,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={847, 867, 877}; - ACE_barrelLengths[]={20, 24, 26}; + ACE_barrelLengths[]={0.508, 0.6096, 0.6604}; }; class R3F_9x19_Ball: BulletBase @@ -1624,7 +1624,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={340, 370, 400}; - ACE_barrelLengths[]={4, 5, 9}; + ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; }; class R3F_556x45_Ball: BulletBase { @@ -1637,7 +1637,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={723, 764, 796, 825, 843, 866, 878, 892, 906, 915, 922, 900}; - ACE_barrelLengths[]={8.3, 9.4, 10.6, 11.8, 13.0, 14.2, 15.4, 16.5, 17.7, 18.9, 20.0, 24.0}; + ACE_barrelLengths[]={0.21082, 0.23876, 0.26924, 0.29972, 0.3302, 0.36068, 0.39116, 0.4191, 0.44958, 0.48006, 0.508, 0.6096}; }; class R3F_762x51_Ball: BulletBase { @@ -1650,7 +1650,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={700, 800, 820, 833, 845}; - ACE_barrelLengths[]={10, 16, 20, 24, 26}; + ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604}; }; class R3F_762x51_Ball2: BulletBase { @@ -1663,7 +1663,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={750, 780, 790, 794}; - ACE_barrelLengths[]={16, 20, 24, 26}; + ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; }; class R3F_127x99_Ball: BulletBase { @@ -1676,7 +1676,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={853}; - ACE_barrelLengths[]={29}; + ACE_barrelLengths[]={0.7366}; }; class R3F_127x99_Ball2: BulletBase { @@ -1689,7 +1689,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={853}; - ACE_barrelLengths[]={29}; + ACE_barrelLengths[]={0.7366}; }; class CUP_B_545x39_Ball: BulletBase @@ -1703,7 +1703,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={780, 880, 920}; - ACE_barrelLengths[]={10, 16.3, 20}; + ACE_barrelLengths[]={0.254, 0.41402, 0.508}; }; class CUP_B_545x39_Ball_Tracer_Green: BulletBase { @@ -1716,7 +1716,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={785, 883, 925}; - ACE_barrelLengths[]={10, 16.3, 20}; + ACE_barrelLengths[]={0.254, 0.41402, 0.508}; }; class CUP_B_545x39_Ball_Tracer_Red: BulletBase { @@ -1729,7 +1729,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={785, 883, 925}; - ACE_barrelLengths[]={10, 16.3, 20}; + ACE_barrelLengths[]={0.254, 0.41402, 0.508}; }; class CUP_B_545x39_Ball_Tracer_White: BulletBase { @@ -1742,7 +1742,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={785, 883, 925}; - ACE_barrelLengths[]={10, 16.3, 20}; + ACE_barrelLengths[]={0.254, 0.41402, 0.508}; }; class CUP_B_545x39_Ball_Tracer_Yellow: BulletBase { @@ -1755,7 +1755,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={785, 883, 925}; - ACE_barrelLengths[]={10, 16.3, 20}; + ACE_barrelLengths[]={0.254, 0.41402, 0.508}; }; class CUP_B_762x39_Ball: BulletBase { @@ -1768,7 +1768,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={650, 716, 750}; - ACE_barrelLengths[]={10, 16.3, 20}; + ACE_barrelLengths[]={0.254, 0.41402, 0.508}; }; class CUP_B_762x39_Ball_Tracer_Green: BulletBase { @@ -1781,7 +1781,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={650, 716, 750}; - ACE_barrelLengths[]={10, 16.3, 20}; + ACE_barrelLengths[]={0.254, 0.41402, 0.508}; }; class B_762x39mm_KLT: BulletBase { @@ -1794,7 +1794,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={650, 716, 750}; - ACE_barrelLengths[]={10, 16.3, 20}; + ACE_barrelLengths[]={0.254, 0.41402, 0.508}; }; class CUP_B_9x18_Ball: BulletBase { @@ -1807,7 +1807,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={298, 330, 350}; - ACE_barrelLengths[]={3.8, 5, 9}; + ACE_barrelLengths[]={0.09652, 0.127, 0.2286}; }; class CUP_B_9x18_Ball_Tracer_Green: BulletBase { @@ -1820,7 +1820,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={298, 330, 350}; - ACE_barrelLengths[]={3.8, 5, 9}; + ACE_barrelLengths[]={0.09652, 0.127, 0.2286}; }; class CUP_B_9x18_Ball_Tracer_Red: BulletBase { @@ -1833,7 +1833,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={298, 330, 350}; - ACE_barrelLengths[]={3.8, 5, 9}; + ACE_barrelLengths[]={0.09652, 0.127, 0.2286}; }; class CUP_B_9x18_Ball_Tracer_Yellow: BulletBase { @@ -1846,7 +1846,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={298, 330, 350}; - ACE_barrelLengths[]={3.8, 5, 9}; + ACE_barrelLengths[]={0.09652, 0.127, 0.2286}; }; class CUP_B_9x18_Ball_White_Tracer: BulletBase { @@ -1859,7 +1859,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={298, 330, 350}; - ACE_barrelLengths[]={3.8, 5, 9}; + ACE_barrelLengths[]={0.09652, 0.127, 0.2286}; }; class CUP_B_9x19_Ball: BulletBase { @@ -1872,7 +1872,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={340, 370, 400}; - ACE_barrelLengths[]={4, 5, 9}; + ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; }; class CUP_B_762x51_noTracer: BulletBase { @@ -1885,7 +1885,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={700, 800, 820, 833, 845}; - ACE_barrelLengths[]={10, 16, 20, 24, 26}; + ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604}; }; class CUP_B_762x51_Red_Tracer_3RndBurst: BulletBase { @@ -1898,7 +1898,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={700, 800, 820, 833, 845}; - ACE_barrelLengths[]={10, 16, 20, 24, 26}; + ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604}; }; class CUP_B_762x51_White_Tracer_3RndBurst: BulletBase { @@ -1911,7 +1911,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={700, 800, 820, 833, 845}; - ACE_barrelLengths[]={10, 16, 20, 24, 26}; + ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604}; }; class CUP_B_303_Ball: BulletBase { @@ -1924,7 +1924,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={748, 761, 765}; - ACE_barrelLengths[]={20, 24, 26}; + ACE_barrelLengths[]={0.508, 0.6096, 0.6604}; }; class CUP_B_127x107_Ball_Green_Tracer: BulletBase { @@ -1937,7 +1937,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={820}; - ACE_barrelLengths[]={28.7}; + ACE_barrelLengths[]={0.72898}; }; class CUP_B_127x108_Ball_Green_Tracer: BulletBase { @@ -1950,7 +1950,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={820}; - ACE_barrelLengths[]={28.7}; + ACE_barrelLengths[]={0.72898}; }; class CUP_B_762x54_Ball_White_Tracer: BulletBase { @@ -1963,7 +1963,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={680, 750, 798, 800}; - ACE_barrelLengths[]={16, 20, 24, 26}; + ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; }; class CUP_B_762x54_Ball_Red_Tracer: BulletBase { @@ -1976,7 +1976,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={680, 750, 798, 800}; - ACE_barrelLengths[]={16, 20, 24, 26}; + ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; }; class CUP_B_762x54_Ball_Green_Tracer: BulletBase { @@ -1989,7 +1989,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={680, 750, 798, 800}; - ACE_barrelLengths[]={16, 20, 24, 26}; + ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; }; class CUP_B_762x54_Ball_Yellow_Tracer: BulletBase { @@ -2002,7 +2002,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={680, 750, 798, 800}; - ACE_barrelLengths[]={16, 20, 24, 26}; + ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; }; class CUP_B_9x39_SP5: BulletBase { @@ -2015,7 +2015,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={280, 300, 320}; - ACE_barrelLengths[]={10, 16.3, 20}; + ACE_barrelLengths[]={0.254, 0.41402, 0.508}; }; class CUP_B_762x51_Tracer_Green: BulletBase { @@ -2028,7 +2028,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={700, 800, 820, 833, 845}; - ACE_barrelLengths[]={10, 16, 20, 24, 26}; + ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604}; }; class CUP_B_762x51_Tracer_Red: BulletBase { @@ -2041,7 +2041,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={700, 800, 820, 833, 845}; - ACE_barrelLengths[]={10, 16, 20, 24, 26}; + ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604}; }; class CUP_B_762x51_Tracer_Yellow: BulletBase { @@ -2054,7 +2054,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={700, 800, 820, 833, 845}; - ACE_barrelLengths[]={10, 16, 20, 24, 26}; + ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604}; }; class CUP_B_762x51_Tracer_White: BulletBase { @@ -2067,7 +2067,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={700, 800, 820, 833, 845}; - ACE_barrelLengths[]={10, 16, 20, 24, 26}; + ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604}; }; class B_127x107_Ball: BulletBase { @@ -2080,7 +2080,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={820}; - ACE_barrelLengths[]={28.7}; + ACE_barrelLengths[]={0.72898}; }; class CUP_B_9x18_SD: BulletBase { @@ -2093,7 +2093,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={298, 330, 340}; - ACE_barrelLengths[]={3.8, 5, 9}; + ACE_barrelLengths[]={0.09652, 0.127, 0.2286}; }; class CUP_B_765x17_Ball: BulletBase { @@ -2106,7 +2106,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={282, 300, 320}; - ACE_barrelLengths[]={4, 5, 9}; + ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; }; class CUP_B_145x115_AP_Green_Tracer: BulletBase { @@ -2119,7 +2119,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={1000}; - ACE_barrelLengths[]={53}; + ACE_barrelLengths[]={1.3462}; }; class CUP_B_127x99_Ball_White_Tracer: BulletBase { @@ -2132,7 +2132,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={853}; - ACE_barrelLengths[]={29}; + ACE_barrelLengths[]={0.7366}; }; class CUP_B_86x70_Ball_noTracer: BulletBase { @@ -2145,7 +2145,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={820, 826, 830}; - ACE_barrelLengths[]={24, 26.5, 28}; + ACE_barrelLengths[]={0.6096, 0.6731, 0.7112}; }; class VTN_9x18_Ball_FMJ: B_9x21_Ball @@ -2159,7 +2159,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={298, 330, 350}; - ACE_barrelLengths[]={3.8, 5, 9}; + ACE_barrelLengths[]={0.09652, 0.127, 0.2286}; }; class VTN_9x18_Ball_SC: VTN_9x18_Ball_FMJ { @@ -2172,7 +2172,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={298, 330, 350}; - ACE_barrelLengths[]={3.8, 5, 9}; + ACE_barrelLengths[]={0.09652, 0.127, 0.2286}; }; class VTN_9x18_Ball_TRC: VTN_9x18_Ball_FMJ { @@ -2185,7 +2185,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={298, 330, 350}; - ACE_barrelLengths[]={3.8, 5, 9}; + ACE_barrelLengths[]={0.09652, 0.127, 0.2286}; }; class VTN_9x18_Ball_AP1: VTN_9x18_Ball_FMJ { @@ -2198,7 +2198,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={298, 330, 350}; - ACE_barrelLengths[]={3.8, 5, 9}; + ACE_barrelLengths[]={0.09652, 0.127, 0.2286}; }; class VTN_9x18_Ball_AP2: VTN_9x18_Ball_FMJ { @@ -2211,7 +2211,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={298, 330, 350}; - ACE_barrelLengths[]={3.8, 5, 9}; + ACE_barrelLengths[]={0.09652, 0.127, 0.2286}; }; class VTN_9x18_Ball_PRS: VTN_9x18_Ball_FMJ { @@ -2224,7 +2224,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={298, 330, 350}; - ACE_barrelLengths[]={3.8, 5, 9}; + ACE_barrelLengths[]={0.09652, 0.127, 0.2286}; }; class VTN_9x19_Ball_SC: VTN_9x18_Ball_FMJ { @@ -2237,7 +2237,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={340, 370, 400}; - ACE_barrelLengths[]={4, 5, 9}; + ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; }; class VTN_9x19_Ball_TRC: VTN_9x19_Ball_SC { @@ -2250,7 +2250,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={340, 370, 400}; - ACE_barrelLengths[]={4, 5, 9}; + ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; }; class VTN_9x19_Ball_AP: VTN_9x19_Ball_SC { @@ -2263,7 +2263,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={340, 370, 400}; - ACE_barrelLengths[]={4, 5, 9}; + ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; }; class VTN_9x19_Ball_PRS: VTN_9x19_Ball_SC { @@ -2276,7 +2276,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={340, 370, 400}; - ACE_barrelLengths[]={4, 5, 9}; + ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; }; class VTN_9x39_Ball_SC: B_9x21_Ball { @@ -2289,7 +2289,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={280, 300, 320}; - ACE_barrelLengths[]={10, 16.3, 20}; + ACE_barrelLengths[]={0.254, 0.41402, 0.508}; }; class VTN_9x39_Ball_AP: VTN_9x39_Ball_SC { @@ -2302,7 +2302,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={280, 300, 320}; - ACE_barrelLengths[]={10, 16.3, 20}; + ACE_barrelLengths[]={0.254, 0.41402, 0.508}; }; class VTN_545x39_Ball_SC: B_556x45_Ball { @@ -2315,7 +2315,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={780, 880, 920}; - ACE_barrelLengths[]={10, 16.3, 20}; + ACE_barrelLengths[]={0.254, 0.41402, 0.508}; }; class VTN_545x39_Ball_TRC: VTN_545x39_Ball_SC { @@ -2328,7 +2328,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={785, 883, 925}; - ACE_barrelLengths[]={10, 16.3, 20}; + ACE_barrelLengths[]={0.254, 0.41402, 0.508}; }; class VTN_545x39_Ball_AP: VTN_545x39_Ball_TRC { @@ -2341,7 +2341,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={780, 880, 920}; - ACE_barrelLengths[]={10, 16.3, 20}; + ACE_barrelLengths[]={0.254, 0.41402, 0.508}; }; class VTN_545x39_Ball_AP2: VTN_545x39_Ball_AP { @@ -2354,7 +2354,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={780, 880, 920}; - ACE_barrelLengths[]={10, 16.3, 20}; + ACE_barrelLengths[]={0.254, 0.41402, 0.508}; }; class VTN_545x39_Ball_SS: VTN_545x39_Ball_SC { @@ -2367,7 +2367,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={300, 320, 340}; - ACE_barrelLengths[]={10, 16.3, 20}; + ACE_barrelLengths[]={0.254, 0.41402, 0.508}; }; class VTN_762x39_Ball_SC: B_762x51_Ball { @@ -2380,7 +2380,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={650, 716, 750}; - ACE_barrelLengths[]={10, 16.3, 20}; + ACE_barrelLengths[]={0.254, 0.41402, 0.508}; }; class VTN_762x39_Ball_TRC: VTN_762x39_Ball_SC { @@ -2393,7 +2393,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={650, 716, 750}; - ACE_barrelLengths[]={10, 16.3, 20}; + ACE_barrelLengths[]={0.254, 0.41402, 0.508}; }; class VTN_762x39_Ball_AP: VTN_762x39_Ball_TRC { @@ -2406,7 +2406,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={650, 716, 750}; - ACE_barrelLengths[]={10, 16.3, 20}; + ACE_barrelLengths[]={0.254, 0.41402, 0.508}; }; class VTN_762x39_Ball_INC: VTN_762x39_Ball_AP { @@ -2419,7 +2419,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={650, 716, 750}; - ACE_barrelLengths[]={10, 16.3, 20}; + ACE_barrelLengths[]={0.254, 0.41402, 0.508}; }; class VTN_762x39_Ball_API: VTN_762x39_Ball_INC { @@ -2432,7 +2432,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={650, 716, 750}; - ACE_barrelLengths[]={10, 16.3, 20}; + ACE_barrelLengths[]={0.254, 0.41402, 0.508}; }; class VTN_762x39_Ball_SS: VTN_762x39_Ball_SC { @@ -2445,7 +2445,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={300, 320, 340}; - ACE_barrelLengths[]={10, 16.3, 20}; + ACE_barrelLengths[]={0.254, 0.41402, 0.508}; }; class VTN_762x41_Ball_SS: B_762x51_Ball { @@ -2458,7 +2458,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={200, 210, 220}; - ACE_barrelLengths[]={4, 6, 8}; + ACE_barrelLengths[]={0.1016, 0.1524, 0.2032}; }; class VTN_762x54_Ball_SC: VTN_762x39_Ball_SC { @@ -2471,7 +2471,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={700, 800, 820, 833}; - ACE_barrelLengths[]={16, 20, 24, 26}; + ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; }; class VTN_762x54_Ball_TRC: VTN_762x54_Ball_SC { @@ -2484,7 +2484,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={680, 750, 798, 800}; - ACE_barrelLengths[]={16, 20, 24, 26}; + ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; }; class VTN_762x54_Ball_AP: VTN_762x54_Ball_TRC { @@ -2497,7 +2497,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={700, 800, 820, 833}; - ACE_barrelLengths[]={16, 20, 24, 26}; + ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; }; class VTN_762x54_Ball_INC: VTN_762x54_Ball_AP { @@ -2510,7 +2510,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={700, 800, 820, 833}; - ACE_barrelLengths[]={16, 20, 24, 26}; + ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; }; class VTN_762x54_Ball_API: VTN_762x54_Ball_INC { @@ -2523,7 +2523,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={700, 800, 820, 833}; - ACE_barrelLengths[]={16, 20, 24, 26}; + ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; }; class VTN_145x114_Ball_APT: B_127x108_Ball { @@ -2536,7 +2536,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={1000}; - ACE_barrelLengths[]={53}; + ACE_barrelLengths[]={1.3462}; }; class VTN_6mm_BB: B_65x39_Caseless { @@ -2549,7 +2549,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={100}; - ACE_barrelLengths[]={15}; + ACE_barrelLengths[]={0.381}; }; class VTN_9x19_Ball_FMJ: B_9x21_Ball { @@ -2562,7 +2562,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={340, 370, 400}; - ACE_barrelLengths[]={4, 5, 9}; + ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; }; class VTN_556x45_Ball_FMJ: B_556x45_Ball { @@ -2575,7 +2575,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={723, 764, 796, 825, 843, 866, 878, 892, 906, 915, 922, 900}; - ACE_barrelLengths[]={8.3, 9.4, 10.6, 11.8, 13.0, 14.2, 15.4, 16.5, 17.7, 18.9, 20.0, 24.0}; + ACE_barrelLengths[]={0.21082, 0.23876, 0.26924, 0.29972, 0.3302, 0.36068, 0.39116, 0.4191, 0.44958, 0.48006, 0.508, 0.6096}; }; class VTN_556x45_Ball_TRC: VTN_556x45_Ball_FMJ { @@ -2588,7 +2588,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={723, 764, 796, 825, 843, 866, 878, 892, 906, 915, 922, 900}; - ACE_barrelLengths[]={8.3, 9.4, 10.6, 11.8, 13.0, 14.2, 15.4, 16.5, 17.7, 18.9, 20.0, 24.0}; + ACE_barrelLengths[]={0.21082, 0.23876, 0.26924, 0.29972, 0.3302, 0.36068, 0.39116, 0.4191, 0.44958, 0.48006, 0.508, 0.6096}; }; class VTN_556x45_Ball_TRCN: VTN_556x45_Ball_TRC { @@ -2601,7 +2601,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={723, 764, 796, 825, 843, 866, 878, 892, 906, 915, 922, 900}; - ACE_barrelLengths[]={8.3, 9.4, 10.6, 11.8, 13.0, 14.2, 15.4, 16.5, 17.7, 18.9, 20.0, 24.0}; + ACE_barrelLengths[]={0.21082, 0.23876, 0.26924, 0.29972, 0.3302, 0.36068, 0.39116, 0.4191, 0.44958, 0.48006, 0.508, 0.6096}; }; class VTN_556x45_Ball_SC: VTN_556x45_Ball_FMJ { @@ -2614,7 +2614,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={723, 764, 796, 825, 843, 866, 878, 892, 906, 915, 922, 900}; - ACE_barrelLengths[]={8.3, 9.4, 10.6, 11.8, 13.0, 14.2, 15.4, 16.5, 17.7, 18.9, 20.0, 24.0}; + ACE_barrelLengths[]={0.21082, 0.23876, 0.26924, 0.29972, 0.3302, 0.36068, 0.39116, 0.4191, 0.44958, 0.48006, 0.508, 0.6096}; }; class VTN_556x45_Ball_AP: VTN_556x45_Ball_TRC { @@ -2627,7 +2627,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={723, 764, 796, 825, 843, 866, 878, 892, 906, 915, 922, 900}; - ACE_barrelLengths[]={8.3, 9.4, 10.6, 11.8, 13.0, 14.2, 15.4, 16.5, 17.7, 18.9, 20.0, 24.0}; + ACE_barrelLengths[]={0.21082, 0.23876, 0.26924, 0.29972, 0.3302, 0.36068, 0.39116, 0.4191, 0.44958, 0.48006, 0.508, 0.6096}; }; class VTN_556x45_Ball_INC: VTN_556x45_Ball_AP { @@ -2640,7 +2640,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={723, 764, 796, 825, 843, 866, 878, 892, 906, 915, 922, 900}; - ACE_barrelLengths[]={8.3, 9.4, 10.6, 11.8, 13.0, 14.2, 15.4, 16.5, 17.7, 18.9, 20.0, 24.0}; + ACE_barrelLengths[]={0.21082, 0.23876, 0.26924, 0.29972, 0.3302, 0.36068, 0.39116, 0.4191, 0.44958, 0.48006, 0.508, 0.6096}; }; class VTN_556x45_Ball_LR: VTN_556x45_Ball_FMJ { @@ -2653,7 +2653,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={624, 816, 832, 838}; - ACE_barrelLengths[]={7.5, 14.5, 18, 20}; + ACE_barrelLengths[]={0.1905, 0.3683, 0.4572, 0.508}; }; class VTN_556x45_Ball_SS: B_556x45_Ball { @@ -2666,7 +2666,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={300, 320, 340}; - ACE_barrelLengths[]={10, 20.0, 24.0}; + ACE_barrelLengths[]={0.254, 0.508, 0.6096}; }; class VTN_762x51_Ball_SC: B_762x51_Ball { @@ -2679,7 +2679,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={700, 800, 820, 833, 845}; - ACE_barrelLengths[]={10, 16, 20, 24, 26}; + ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604}; }; class VTN_762x51_Ball_TRC: VTN_762x51_Ball_SC { @@ -2692,7 +2692,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={700, 800, 820, 833, 845}; - ACE_barrelLengths[]={10, 16, 20, 24, 26}; + ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604}; }; class VTN_762x51_Ball_TRCN: VTN_762x51_Ball_TRC { @@ -2705,7 +2705,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={700, 800, 820, 833, 845}; - ACE_barrelLengths[]={10, 16, 20, 24, 26}; + ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604}; }; class VTN_762x51_Ball_AP: VTN_762x51_Ball_TRC { @@ -2718,7 +2718,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={700, 800, 820, 833, 845}; - ACE_barrelLengths[]={10, 16, 20, 24, 26}; + ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604}; }; class VTN_762x51_Ball_LR: VTN_762x51_Ball_SC { @@ -2731,7 +2731,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={750, 780, 790, 794}; - ACE_barrelLengths[]={16, 20, 24, 26}; + ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; }; class VTN_1143x23_Ball_FMJ: B_408_Ball { @@ -2744,7 +2744,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={230, 250, 285}; - ACE_barrelLengths[]={4, 5, 9}; + ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; }; class VTN_1143x23_Ball_HP: VTN_1143x23_Ball_FMJ { @@ -2757,7 +2757,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={230, 250, 285}; - ACE_barrelLengths[]={4, 5, 9}; + ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; }; class VTN_1143x23_Ball_JHP: VTN_1143x23_Ball_FMJ { @@ -2770,7 +2770,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={230, 250, 285}; - ACE_barrelLengths[]={4, 5, 9}; + ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; }; class VTN_762x39_Ball_FMJ: B_762x51_Ball { @@ -2783,7 +2783,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={650, 716, 750}; - ACE_barrelLengths[]={10, 16.3, 20}; + ACE_barrelLengths[]={0.254, 0.41402, 0.508}; }; class VTN_45_Pellet: B_762x51_Ball { @@ -2796,6 +2796,6 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={100, 138, 150}; - ACE_barrelLengths[]={5, 10, 16}; + ACE_barrelLengths[]={0.127, 0.254, 0.4064}; }; }; \ No newline at end of file diff --git a/optionals/compat_cup/CfgAmmo.hpp b/optionals/compat_cup/CfgAmmo.hpp index 00151cddb8..a03d38bf03 100644 --- a/optionals/compat_cup/CfgAmmo.hpp +++ b/optionals/compat_cup/CfgAmmo.hpp @@ -14,7 +14,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={780, 880, 920}; - ACE_barrelLengths[]={10, 16.3, 20}; + ACE_barrelLengths[]={0.254, 0.41402, 0.508}; }; class CUP_B_545x39_Ball_Tracer_Green: CUP_B_545x39_Ball { @@ -27,7 +27,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={785, 883, 925}; - ACE_barrelLengths[]={10, 16.3, 20}; + ACE_barrelLengths[]={0.254, 0.41402, 0.508}; }; class CUP_B_545x39_Ball_Tracer_Red: BulletBase { @@ -40,7 +40,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={785, 883, 925}; - ACE_barrelLengths[]={10, 16.3, 20}; + ACE_barrelLengths[]={0.254, 0.41402, 0.508}; }; class CUP_B_545x39_Ball_Tracer_White: BulletBase { @@ -53,7 +53,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={785, 883, 925}; - ACE_barrelLengths[]={10, 16.3, 20}; + ACE_barrelLengths[]={0.254, 0.41402, 0.508}; }; class CUP_B_545x39_Ball_Tracer_Yellow: BulletBase { @@ -66,7 +66,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={785, 883, 925}; - ACE_barrelLengths[]={10, 16.3, 20}; + ACE_barrelLengths[]={0.254, 0.41402, 0.508}; }; class CUP_B_762x39_Ball: BulletBase { @@ -79,7 +79,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={650, 716, 750}; - ACE_barrelLengths[]={10, 16.3, 20}; + ACE_barrelLengths[]={0.254, 0.41402, 0.508}; }; class CUP_B_762x39_Ball_Tracer_Green: BulletBase { @@ -92,7 +92,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={650, 716, 750}; - ACE_barrelLengths[]={10, 16.3, 20}; + ACE_barrelLengths[]={0.254, 0.41402, 0.508}; }; class CUP_B_9x18_Ball: BulletBase { @@ -105,7 +105,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={298, 330, 350}; - ACE_barrelLengths[]={3.8, 5, 9}; + ACE_barrelLengths[]={0.09652, 0.127, 0.2286}; }; class CUP_B_9x18_Ball_Tracer_Green: BulletBase { @@ -118,7 +118,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={298, 330, 350}; - ACE_barrelLengths[]={3.8, 5, 9}; + ACE_barrelLengths[]={0.09652, 0.127, 0.2286}; }; class CUP_B_9x18_Ball_Tracer_Red: BulletBase { @@ -131,7 +131,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={298, 330, 350}; - ACE_barrelLengths[]={3.8, 5, 9}; + ACE_barrelLengths[]={0.09652, 0.127, 0.2286}; }; class CUP_B_9x18_Ball_Tracer_Yellow: BulletBase { @@ -144,7 +144,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={298, 330, 350}; - ACE_barrelLengths[]={3.8, 5, 9}; + ACE_barrelLengths[]={0.09652, 0.127, 0.2286}; }; class CUP_B_9x18_Ball_White_Tracer: BulletBase { @@ -157,7 +157,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={298, 330, 350}; - ACE_barrelLengths[]={3.8, 5, 9}; + ACE_barrelLengths[]={0.09652, 0.127, 0.2286}; }; class CUP_B_9x19_Ball: BulletBase { @@ -170,7 +170,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={340, 370, 400}; - ACE_barrelLengths[]={4, 5, 9}; + ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; }; class CUP_B_762x51_noTracer: B_762x51_Ball { @@ -183,7 +183,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={700, 800, 820, 833, 845}; - ACE_barrelLengths[]={10, 16, 20, 24, 26}; + ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604}; }; class CUP_B_303_Ball: BulletBase { @@ -196,7 +196,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={748, 761, 765}; - ACE_barrelLengths[]={20, 24, 26}; + ACE_barrelLengths[]={0.508, 0.6096, 0.6604}; }; class CUP_B_127x107_Ball_Green_Tracer: BulletBase { @@ -209,7 +209,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={820}; - ACE_barrelLengths[]={28.7}; + ACE_barrelLengths[]={0.72898}; }; class CUP_B_127x108_Ball_Green_Tracer: BulletBase { @@ -222,7 +222,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={820}; - ACE_barrelLengths[]={28.7}; + ACE_barrelLengths[]={0.72898}; }; class CUP_B_762x54_Ball_White_Tracer: BulletBase { @@ -235,7 +235,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={680, 750, 798, 800}; - ACE_barrelLengths[]={16, 20, 24, 26}; + ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; }; class CUP_B_762x54_Ball_Red_Tracer: BulletBase { @@ -248,7 +248,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={680, 750, 798, 800}; - ACE_barrelLengths[]={16, 20, 24, 26}; + ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; }; class CUP_B_762x54_Ball_Green_Tracer: BulletBase { @@ -261,7 +261,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={680, 750, 798, 800}; - ACE_barrelLengths[]={16, 20, 24, 26}; + ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; }; class CUP_B_762x54_Ball_Yellow_Tracer: BulletBase { @@ -274,7 +274,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={680, 750, 798, 800}; - ACE_barrelLengths[]={16, 20, 24, 26}; + ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; }; class CUP_B_9x39_SP5: BulletBase { @@ -287,7 +287,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={280, 300, 320}; - ACE_barrelLengths[]={10, 16.3, 20}; + ACE_barrelLengths[]={0.254, 0.41402, 0.508}; }; class CUP_B_762x51_Tracer_Green: BulletBase { @@ -300,7 +300,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={700, 800, 820, 833, 845}; - ACE_barrelLengths[]={10, 16, 20, 24, 26}; + ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604}; }; class CUP_B_762x51_Tracer_Red: BulletBase { @@ -313,7 +313,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={700, 800, 820, 833, 845}; - ACE_barrelLengths[]={10, 16, 20, 24, 26}; + ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604}; }; class CUP_B_762x51_Tracer_Yellow: BulletBase { @@ -326,7 +326,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={700, 800, 820, 833, 845}; - ACE_barrelLengths[]={10, 16, 20, 24, 26}; + ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604}; }; class CUP_B_762x51_Tracer_White: BulletBase { @@ -339,7 +339,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={700, 800, 820, 833, 845}; - ACE_barrelLengths[]={10, 16, 20, 24, 26}; + ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604}; }; class B_127x107_Ball: BulletBase { @@ -352,7 +352,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={820}; - ACE_barrelLengths[]={28.7}; + ACE_barrelLengths[]={0.72898}; }; class CUP_B_9x18_SD: BulletBase { @@ -365,7 +365,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={298, 330, 340}; - ACE_barrelLengths[]={3.8, 5, 9}; + ACE_barrelLengths[]={0.09652, 0.127, 0.2286}; }; class CUP_B_765x17_Ball: BulletBase { @@ -378,7 +378,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={282, 300, 320}; - ACE_barrelLengths[]={4, 5, 9}; + ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; }; class CUP_B_145x115_AP_Green_Tracer: BulletBase { @@ -391,7 +391,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={1000}; - ACE_barrelLengths[]={53}; + ACE_barrelLengths[]={1.3462}; }; class CUP_B_127x99_Ball_White_Tracer: B_127x99_Ball { @@ -404,7 +404,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={853}; - ACE_barrelLengths[]={29}; + ACE_barrelLengths[]={0.7366}; }; class CUP_B_86x70_Ball_noTracer: BulletBase { @@ -417,6 +417,6 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={820, 826, 830}; - ACE_barrelLengths[]={24, 26.5, 28}; + ACE_barrelLengths[]={0.6096, 0.6731, 0.7112}; }; }; \ No newline at end of file diff --git a/optionals/compat_hlcmods_core/CfgAmmo.hpp b/optionals/compat_hlcmods_core/CfgAmmo.hpp index 680afacfd6..fdc4e538b7 100644 --- a/optionals/compat_hlcmods_core/CfgAmmo.hpp +++ b/optionals/compat_hlcmods_core/CfgAmmo.hpp @@ -17,7 +17,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={723, 764, 796, 825, 843, 866, 878, 892, 906, 915, 922, 900}; - ACE_barrelLengths[]={8.3, 9.4, 10.6, 11.8, 13.0, 14.2, 15.4, 16.5, 17.7, 18.9, 20.0, 24.0}; + ACE_barrelLengths[]={0.21082, 0.23876, 0.26924, 0.29972, 0.3302, 0.36068, 0.39116, 0.4191, 0.44958, 0.48006, 0.508, 0.6096}; }; class HLC_556NATO_SOST: B_556x45_Ball { @@ -30,7 +30,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={780, 886, 950}; - ACE_barrelLengths[]={10, 15.5, 20}; + ACE_barrelLengths[]={0.254, 0.3937, 0.508}; }; class HLC_556NATO_SPR: B_556x45_Ball { @@ -43,7 +43,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={624, 816, 832, 838}; - ACE_barrelLengths[]={7.5, 14.5, 18, 20}; + ACE_barrelLengths[]={0.1905, 0.3683, 0.4572, 0.508}; }; class HLC_300Blackout_Ball: B_556x45_Ball { @@ -56,7 +56,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={559, 609, 625}; - ACE_barrelLengths[]={6, 16, 20}; + ACE_barrelLengths[]={0.1524, 0.4064, 0.508}; }; class HLC_300Blackout_SMK: HLC_300Blackout_Ball { @@ -69,7 +69,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={300, 320, 340}; - ACE_barrelLengths[]={9, 16, 20}; + ACE_barrelLengths[]={0.2286, 0.4064, 0.508}; }; class HLC_762x39_Ball: HLC_300Blackout_Ball { @@ -82,7 +82,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={650, 716, 750}; - ACE_barrelLengths[]={10, 16.3, 20}; + ACE_barrelLengths[]={0.254, 0.41402, 0.508}; }; class HLC_762x39_Tracer: HLC_762x39_Ball { @@ -95,7 +95,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={650, 716, 750}; - ACE_barrelLengths[]={10, 16.3, 20}; + ACE_barrelLengths[]={0.254, 0.41402, 0.508}; }; class HLC_762x51_MK316_20in: B_762x51_Ball { @@ -108,7 +108,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={750, 780, 790, 794}; - ACE_barrelLengths[]={16, 20, 24, 26}; + ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; }; class HLC_762x51_BTSub: B_762x51_Ball { @@ -121,7 +121,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={305, 325, 335, 340}; - ACE_barrelLengths[]={16, 20, 24, 26}; + ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; }; class HLC_762x54_ball: HLC_762x51_ball { @@ -134,7 +134,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={700, 800, 820, 833}; - ACE_barrelLengths[]={16, 20, 24, 26}; + ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; }; class HLC_762x54_tracer: HLC_762x51_tracer { @@ -147,7 +147,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={680, 750, 798, 800}; - ACE_barrelLengths[]={16, 20, 24, 26}; + ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; }; class HLC_303Brit_B: B_556x45_Ball { @@ -160,7 +160,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={748, 761, 765}; - ACE_barrelLengths[]={20, 24, 26}; + ACE_barrelLengths[]={0.508, 0.6096, 0.6604}; }; class HLC_792x57_Ball: HLC_303Brit_B { @@ -173,7 +173,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={785, 800, 815}; - ACE_barrelLengths[]={20, 23.62, 26}; + ACE_barrelLengths[]={0.508, 0.599948, 0.6604}; }; class HLC_542x42_ball: HLC_303Brit_B { @@ -192,14 +192,14 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={780, 880, 920}; - ACE_barrelLengths[]={10, 16.3, 20}; + ACE_barrelLengths[]={0.254, 0.41402, 0.508}; }; class FH_545x39_7u1: FH_545x39_Ball { ACE_bulletMass=5.184; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_muzzleVelocities[]={260, 303, 320}; - ACE_barrelLengths[]={10, 16.3, 20}; + ACE_barrelLengths[]={0.254, 0.41402, 0.508}; }; class HLC_57x28mm_JHP: FH_545x39_Ball { @@ -212,7 +212,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={550, 625, 720}; - ACE_barrelLengths[]={4, 6, 10.35}; + ACE_barrelLengths[]={0.1016, 0.1524, 0.26289}; }; class HLC_9x19_Ball: B_556x45_Ball { @@ -225,7 +225,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={340, 370, 400}; - ACE_barrelLengths[]={4, 5, 9}; + ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; }; class HLC_9x19_M882_SMG: B_556x45_Ball { @@ -238,7 +238,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={340, 370, 400}; - ACE_barrelLengths[]={4, 5, 9}; + ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; }; class HLC_9x19_GoldDot: HLC_9x19_Ball { @@ -259,7 +259,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={360, 400, 430}; - ACE_barrelLengths[]={4, 4.61, 9}; + ACE_barrelLengths[]={0.1016, 0.117094, 0.2286}; }; class HLC_45ACP_Ball: B_556x45_Ball { @@ -272,7 +272,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={230, 250, 285}; - ACE_barrelLengths[]={4, 5, 9}; + ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; }; class FH_44Mag: HLC_45ACP_Ball { @@ -285,7 +285,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={360, 390, 420}; - ACE_barrelLengths[]={4, 7.5, 9}; + ACE_barrelLengths[]={0.1016, 0.1905, 0.2286}; }; class FH_50BMG_SLAP: B_127x99_Ball { @@ -298,7 +298,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={1204}; - ACE_barrelLengths[]={29}; + ACE_barrelLengths[]={0.7366}; }; class FH_50BMG_Raufoss: B_127x99_Ball { @@ -311,6 +311,6 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={817}; - ACE_barrelLengths[]={29}; + ACE_barrelLengths[]={0.7366}; }; }; diff --git a/optionals/compat_rh_de/CfgAmmo.hpp b/optionals/compat_rh_de/CfgAmmo.hpp index 10547b04fd..cceef5ef4f 100644 --- a/optionals/compat_rh_de/CfgAmmo.hpp +++ b/optionals/compat_rh_de/CfgAmmo.hpp @@ -13,7 +13,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={360, 398, 420}; - ACE_barrelLengths[]={4, 6, 9}; + ACE_barrelLengths[]={0.1016, 0.1524, 0.2286}; }; class RH_454_Casull: BulletBase { @@ -26,7 +26,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={450, 490, 500}; - ACE_barrelLengths[]={4, 7.5, 9}; + ACE_barrelLengths[]={0.1016, 0.1905, 0.2286}; }; class RH_32ACP: BulletBase { @@ -39,7 +39,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={282, 300, 320}; - ACE_barrelLengths[]={4, 5, 9}; + ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; }; class RH_45ACP: BulletBase { @@ -52,7 +52,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={230, 250, 285}; - ACE_barrelLengths[]={4, 5, 9}; + ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; }; class RH_B_40SW: BulletBase { @@ -65,7 +65,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={360, 380, 400}; - ACE_barrelLengths[]={4, 6, 9}; + ACE_barrelLengths[]={0.1016, 0.1524, 0.2286}; }; class RH_44mag_ball: BulletBase { @@ -78,7 +78,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={360, 390, 420}; - ACE_barrelLengths[]={4, 7.5, 9}; + ACE_barrelLengths[]={0.1016, 0.1905, 0.2286}; }; class RH_357mag_ball: BulletBase { @@ -91,7 +91,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={490, 510, 535}; - ACE_barrelLengths[]={4, 6, 9}; + ACE_barrelLengths[]={0.1016, 0.1524, 0.2286}; }; class RH_762x25: BulletBase { @@ -104,7 +104,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={360, 380, 400}; - ACE_barrelLengths[]={4, 6, 9}; + ACE_barrelLengths[]={0.1016, 0.1524, 0.2286}; }; class RH_9x18_Ball: BulletBase { @@ -117,7 +117,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={298, 330, 350}; - ACE_barrelLengths[]={3.8, 5, 9}; + ACE_barrelLengths[]={0.09652, 0.127, 0.2286}; }; class RH_B_9x19_Ball: BulletBase { @@ -130,7 +130,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={340, 370, 400}; - ACE_barrelLengths[]={4, 5, 9}; + ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; }; class RH_B_22LR_SD: BulletBase { @@ -143,7 +143,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={330, 340, 360}; - ACE_barrelLengths[]={4, 6, 9}; + ACE_barrelLengths[]={0.1016, 0.1524, 0.2286}; }; class RH_57x28mm: BulletBase { @@ -156,6 +156,6 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={550, 625, 720}; - ACE_barrelLengths[]={4, 6, 10.35}; + ACE_barrelLengths[]={0.1016, 0.1524, 0.26289}; }; }; \ No newline at end of file diff --git a/optionals/compat_rh_m4/CfgAmmo.hpp b/optionals/compat_rh_m4/CfgAmmo.hpp index 8f8a5f3cf2..3138de15f0 100644 --- a/optionals/compat_rh_m4/CfgAmmo.hpp +++ b/optionals/compat_rh_m4/CfgAmmo.hpp @@ -19,7 +19,7 @@ class CfgAmmo { ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={340, 370, 400}; - ACE_barrelLengths[]={4, 5, 9}; + ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; }; class RH_9x19_B_HP: BulletBase { @@ -32,7 +32,7 @@ class CfgAmmo { ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={340, 370, 400}; - ACE_barrelLengths[]={4, 5, 9}; + ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; }; class RH_9x19_B_HPSB: BulletBase { @@ -45,7 +45,7 @@ class CfgAmmo { ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={295, 310, 330}; - ACE_barrelLengths[]={4, 5, 9}; + ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; }; class RH_556x45_B_M855A1: B_556x45_Ball { @@ -58,7 +58,7 @@ class CfgAmmo { ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={723, 764, 796, 825, 843, 866, 878, 892, 906, 915, 922, 900}; - ACE_barrelLengths[]={8.3, 9.4, 10.6, 11.8, 13.0, 14.2, 15.4, 16.5, 17.7, 18.9, 20.0, 24.0}; + ACE_barrelLengths[]={0.21082, 0.23876, 0.26924, 0.29972, 0.3302, 0.36068, 0.39116, 0.4191, 0.44958, 0.48006, 0.508, 0.6096}; }; class RH_556x45_B_Mk318: B_556x45_Ball { @@ -71,7 +71,7 @@ class CfgAmmo { ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={780, 886, 950}; - ACE_barrelLengths[]={10, 15.5, 20}; + ACE_barrelLengths[]={0.254, 0.3937, 0.508}; }; class RH_556x45_B_Mk262: B_556x45_Ball { @@ -84,7 +84,7 @@ class CfgAmmo { ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={624, 816, 832, 838}; - ACE_barrelLengths[]={7.5, 14.5, 18, 20}; + ACE_barrelLengths[]={0.1905, 0.3683, 0.4572, 0.508}; }; class RH_68x43_B_FMJ: B_65x39_Caseless { @@ -97,7 +97,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={713, 785, 810, 850}; - ACE_barrelLengths[]={12, 16, 20, 24}; + ACE_barrelLengths[]={0.3048, 0.4064, 0.508, 0.6096}; }; class RH_68x43_B_Match: B_65x39_Caseless { @@ -110,7 +110,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={700, 732, 750, 780}; - ACE_barrelLengths[]={12, 16, 20, 24}; + ACE_barrelLengths[]={0.3048, 0.4064, 0.508, 0.6096}; }; class RH_762x35_B_FMJ: B_65x39_Caseless { @@ -123,7 +123,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={559, 609, 625}; - ACE_barrelLengths[]={6, 16, 20}; + ACE_barrelLengths[]={0.1524, 0.4064, 0.508}; }; class RH_762x35_B_Match: B_65x39_Caseless { @@ -136,7 +136,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={572, 676, 700}; - ACE_barrelLengths[]={6, 16, 20}; + ACE_barrelLengths[]={0.1524, 0.4064, 0.508}; }; class RH_762x35_B_MSB: B_65x39_Caseless { @@ -149,7 +149,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={300, 320, 340}; - ACE_barrelLengths[]={9, 16, 20}; + ACE_barrelLengths[]={0.2286, 0.4064, 0.508}; }; class RH_762x51_B_M80A1: B_762x51_Ball { @@ -162,7 +162,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={700, 800, 820, 833, 845}; - ACE_barrelLengths[]={10, 16, 20, 24, 26}; + ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604}; }; class RH_762x51_B_Mk316LR: B_762x51_Ball { @@ -175,7 +175,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={775, 790, 805, 810}; - ACE_barrelLengths[]={16, 20, 24, 26}; + ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; }; class RH_762x51_B_Mk319: B_762x51_Ball { @@ -188,7 +188,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={838, 892, 910}; - ACE_barrelLengths[]={13, 16, 20}; + ACE_barrelLengths[]={0.3302, 0.4064, 0.508}; }; class RH_762x51_B_LFMJSB: B_762x51_Ball { @@ -201,6 +201,6 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={305, 325, 335, 340}; - ACE_barrelLengths[]={16, 20, 24, 26}; + ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; }; }; diff --git a/optionals/compat_rh_pdw/CfgAmmo.hpp b/optionals/compat_rh_pdw/CfgAmmo.hpp index e5877127c3..dad1d093d4 100644 --- a/optionals/compat_rh_pdw/CfgAmmo.hpp +++ b/optionals/compat_rh_pdw/CfgAmmo.hpp @@ -11,5 +11,5 @@ class RH_B_6x35: BulletBase ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={730, 750, 760}; - ACE_barrelLengths[]={8, 10, 12}; + ACE_barrelLengths[]={0.2032, 0.254, 0.3048}; }; \ No newline at end of file diff --git a/optionals/compat_rhs_afrf3/CfgAmmo.hpp b/optionals/compat_rhs_afrf3/CfgAmmo.hpp index 914b2c7fef..486fc265f6 100644 --- a/optionals/compat_rhs_afrf3/CfgAmmo.hpp +++ b/optionals/compat_rhs_afrf3/CfgAmmo.hpp @@ -14,7 +14,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={780, 880, 920}; - ACE_barrelLengths[]={10, 16.3, 20}; + ACE_barrelLengths[]={0.254, 0.41402, 0.508}; }; class rhs_B_545x39_Ball_Tracer_Green: rhs_B_545x39_Ball { @@ -27,7 +27,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={785, 883, 925}; - ACE_barrelLengths[]={10, 16.3, 20}; + ACE_barrelLengths[]={0.254, 0.41402, 0.508}; }; class B_762x51_Ball; class rhs_B_762x54_Ball: B_762x51_Ball @@ -41,7 +41,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={700, 800, 820, 833}; - ACE_barrelLengths[]={16, 20, 24, 26}; + ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; }; class rhs_B_762x54_Ball_Tracer_Green: B_762x51_Ball { @@ -54,7 +54,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={680, 750, 798, 800}; - ACE_barrelLengths[]={16, 20, 24, 26}; + ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; }; class rhs_B_762x54_7N1_Ball: rhs_B_762x54_Ball { @@ -67,7 +67,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={700, 800, 820, 833}; - ACE_barrelLengths[]={16, 20, 24, 26}; + ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; }; class rhs_B_762x39_Ball: B_762x51_Ball { @@ -80,7 +80,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={650, 716, 750}; - ACE_barrelLengths[]={10, 16.3, 20}; + ACE_barrelLengths[]={0.254, 0.41402, 0.508}; }; class rhs_B_762x39_Tracer: rhs_B_762x39_Ball { @@ -93,7 +93,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={650, 716, 750}; - ACE_barrelLengths[]={10, 16.3, 20}; + ACE_barrelLengths[]={0.254, 0.41402, 0.508}; }; class B_9x21_Ball; class rhs_B_9x19_7N21: B_9x21_Ball @@ -107,7 +107,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={445, 460, 480}; - ACE_barrelLengths[]={4, 5, 9}; + ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; }; class rhs_B_9x18_57N181S: B_9x21_Ball { @@ -120,6 +120,6 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={298, 330, 350}; - ACE_barrelLengths[]={3.8, 5, 9}; + ACE_barrelLengths[]={0.09652, 0.127, 0.2286}; }; }; \ No newline at end of file diff --git a/optionals/compat_rhs_usf3/CfgAmmo.hpp b/optionals/compat_rhs_usf3/CfgAmmo.hpp index c6cb7c0097..58b50b68cf 100644 --- a/optionals/compat_rhs_usf3/CfgAmmo.hpp +++ b/optionals/compat_rhs_usf3/CfgAmmo.hpp @@ -13,7 +13,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={847, 867, 877}; - ACE_barrelLengths[]={20, 24, 26}; + ACE_barrelLengths[]={0.508, 0.6096, 0.6604}; }; class B_556x45_Ball; class rhs_ammo_556x45_Mk318_Ball: B_556x45_Ball @@ -27,7 +27,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={780, 886, 950}; - ACE_barrelLengths[]={10, 15.5, 20}; + ACE_barrelLengths[]={0.254, 0.3937, 0.508}; }; class rhs_ammo_556x45_Mk262_Ball: B_556x45_Ball { @@ -40,7 +40,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={624, 816, 832, 838}; - ACE_barrelLengths[]={7.5, 14.5, 18, 20}; + ACE_barrelLengths[]={0.1905, 0.3683, 0.4572, 0.508}; }; class rhs_ammo_762x51_M80_Ball: BulletBase { @@ -53,7 +53,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={700, 800, 820, 833, 845}; - ACE_barrelLengths[]={10, 16, 20, 24, 26}; + ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604}; }; class rhs_ammo_762x51_M118_Special_Ball: rhs_ammo_762x51_M80_Ball { @@ -66,7 +66,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={750, 780, 790, 794}; - ACE_barrelLengths[]={16, 20, 24, 26}; + ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; }; class rhs_ammo_762x51_M993_Ball: rhs_ammo_762x51_M80_Ball { @@ -79,7 +79,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={875, 910, 930}; - ACE_barrelLengths[]={13, 16, 20}; + ACE_barrelLengths[]={0.3302, 0.4064, 0.508}; }; class rhs_ammo_45ACP_MHP: BulletBase { @@ -92,6 +92,6 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={230, 250, 285}; - ACE_barrelLengths[]={4, 5, 9}; + ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; }; }; \ No newline at end of file From 3313582aece017c9b2a4a7028aa4af3a49356632 Mon Sep 17 00:00:00 2001 From: KoffeinFlummi Date: Thu, 7 May 2015 18:41:54 +0200 Subject: [PATCH 074/217] Convert ACE_barrelTwist to meters --- .../functions/fnc_handleFired.sqf | 2 +- addons/ballistics/CfgWeapons.hpp | 82 +- extras/CfgWeaponsReference.hpp | 736 +++++++++--------- optionals/compat_hlc_ar15/CfgWeapons.hpp | 24 +- optionals/compat_hlc_wp_mp5/CfgWeapons.hpp | 22 +- optionals/compat_hlcmods_ak/CfgWeapons.hpp | 18 +- optionals/compat_hlcmods_aug/CfgWeapons.hpp | 18 +- optionals/compat_hlcmods_fal/CfgWeapons.hpp | 18 +- optionals/compat_hlcmods_g3/CfgWeapons.hpp | 16 +- optionals/compat_hlcmods_m14/CfgWeapons.hpp | 4 +- optionals/compat_hlcmods_m60e4/CfgWeapons.hpp | 4 +- optionals/compat_rh_de/CfgWeapons.hpp | 54 +- optionals/compat_rh_m4/CfgWeapons.hpp | 50 +- optionals/compat_rh_pdw/CfgWeapons.hpp | 2 +- optionals/compat_rhs_afrf3/CfgWeapons.hpp | 20 +- optionals/compat_rhs_usf3/CfgWeapons.hpp | 24 +- 16 files changed, 547 insertions(+), 547 deletions(-) diff --git a/addons/advanced_ballistics/functions/fnc_handleFired.sqf b/addons/advanced_ballistics/functions/fnc_handleFired.sqf index 8f68ce6678..23da76ad2c 100644 --- a/addons/advanced_ballistics/functions/fnc_handleFired.sqf +++ b/addons/advanced_ballistics/functions/fnc_handleFired.sqf @@ -94,7 +94,7 @@ if (GVAR(bulletTraceEnabled) && cameraView == "GUNNER") then { _caliber = 39.37 * getNumber(configFile >> "cfgAmmo" >> _ammo >> "ACE_caliber"); _bulletLength = 39.37 * getNumber(configFile >> "cfgAmmo" >> _ammo >> "ACE_bulletLength"); _bulletMass = 15.432 * getNumber(configFile >> "cfgAmmo" >> _ammo >> "ACE_bulletMass"); -_barrelTwist = getNumber(configFile >> "cfgWeapons" >> _weapon >> "ACE_barrelTwist"); +_barrelTwist = 39.37 * getNumber(configFile >> "cfgWeapons" >> _weapon >> "ACE_barrelTwist"); _stabilityFactor = 1.5; if (_caliber > 0 && _bulletLength > 0 && _bulletMass > 0 && _barrelTwist > 0) then { diff --git a/addons/ballistics/CfgWeapons.hpp b/addons/ballistics/CfgWeapons.hpp index 0f9dbcfbe4..dbc9293296 100644 --- a/addons/ballistics/CfgWeapons.hpp +++ b/addons/ballistics/CfgWeapons.hpp @@ -65,7 +65,7 @@ class CfgWeapons { "ACE_30Rnd_65x39_caseless_mag_Tracer_Dim" }; initSpeed = -1.0; - ACE_barrelTwist=9; + ACE_barrelTwist=0.2286; ACE_barrelLength=16.0; class WeaponSlotsInfo: WeaponSlotsInfo { class MuzzleSlot: MuzzleSlot { @@ -92,7 +92,7 @@ class CfgWeapons { "ACE_30Rnd_65_Creedmor_mag" }; initSpeed = -1.018; - ACE_barrelTwist=9; + ACE_barrelTwist=0.2286; ACE_barrelLength=18; class Single: Single { dispersion = 0.00029; // radians. Equal to 1 MOA. @@ -137,7 +137,7 @@ class CfgWeapons { compatibleItems[] += {"ACE_muzzle_mzls_H"}; }; }; - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=12.5; class manual: Mode_FullAuto { dispersion = 0.00175; // radians. Equal to 6 MOA. @@ -154,7 +154,7 @@ class CfgWeapons { compatibleItems[] += {"ACE_muzzle_mzls_B"}; }; }; - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=18.1; class FullAuto: Mode_FullAuto { dispersion = 0.00175; // radians. Equal to 6 MOA. @@ -241,7 +241,7 @@ class CfgWeapons { class hgun_P07_F: Pistol_Base_F { initSpeed = -0.9778; - ACE_barrelTwist=10; + ACE_barrelTwist=0.254; ACE_barrelLength=4; class WeaponSlotsInfo: WeaponSlotsInfo { class MuzzleSlot: MuzzleSlot { @@ -253,7 +253,7 @@ class CfgWeapons { class hgun_Rook40_F: Pistol_Base_F { initSpeed = -1.0; - ACE_barrelTwist=10; + ACE_barrelTwist=0.254; ACE_barrelLength=4.4; class WeaponSlotsInfo: WeaponSlotsInfo { class MuzzleSlot: MuzzleSlot { @@ -265,7 +265,7 @@ class CfgWeapons { class hgun_ACPC2_F: Pistol_Base_F { initSpeed = -1.0; - ACE_barrelTwist=16; + ACE_barrelTwist=0.4064; ACE_barrelLength=5; class WeaponSlotsInfo: WeaponSlotsInfo { class MuzzleSlot: MuzzleSlot { @@ -276,7 +276,7 @@ class CfgWeapons { class hgun_Pistol_heavy_01_F: Pistol_Base_F { initSpeed = -0.96; - ACE_barrelTwist=16; + ACE_barrelTwist=0.4064; ACE_barrelLength=4.5; class WeaponSlotsInfo: WeaponSlotsInfo { class MuzzleSlot: MuzzleSlot { @@ -287,7 +287,7 @@ class CfgWeapons { class hgun_Pistol_heavy_02_F: Pistol_Base_F { initSpeed = -0.92; - ACE_barrelTwist=16; + ACE_barrelTwist=0.4064; ACE_barrelLength=3; /* class WeaponSlotsInfo: WeaponSlotsInfo { @@ -300,7 +300,7 @@ class CfgWeapons { }; class hgun_PDW2000_F: pdw2000_base_F { initSpeed = -1.157; - ACE_barrelTwist=9; + ACE_barrelTwist=0.2286; ACE_barrelLength=7; }; class arifle_Katiba_F: arifle_katiba_Base_F { @@ -310,7 +310,7 @@ class CfgWeapons { "ACE_30Rnd_65x39_caseless_green_mag_Tracer_Dim" }; initSpeed = -1.08; - ACE_barrelTwist=8; + ACE_barrelTwist=0.2032; ACE_barrelLength=28.7; }; class arifle_Katiba_C_F: arifle_katiba_Base_F { @@ -320,7 +320,7 @@ class CfgWeapons { "ACE_30Rnd_65x39_caseless_green_mag_Tracer_Dim" }; initSpeed = -1.07; - ACE_barrelTwist=8; + ACE_barrelTwist=0.2032; ACE_barrelLength=26.8; }; class arifle_Katiba_GL_F: arifle_katiba_Base_F { @@ -330,7 +330,7 @@ class CfgWeapons { "ACE_30Rnd_65x39_caseless_green_mag_Tracer_Dim" }; initSpeed = -1.08; - ACE_barrelTwist=8; + ACE_barrelTwist=0.2032; ACE_barrelLength=28.7; }; class arifle_MX_F: arifle_MX_Base_F { @@ -340,7 +340,7 @@ class CfgWeapons { "ACE_30Rnd_65x39_caseless_mag_Tracer_Dim" }; initSpeed = -0.99; - ACE_barrelTwist=9; + ACE_barrelTwist=0.2286; ACE_barrelLength=14.5; }; class arifle_MX_GL_F: arifle_MX_Base_F { @@ -350,12 +350,12 @@ class CfgWeapons { "ACE_30Rnd_65x39_caseless_mag_Tracer_Dim" }; initSpeed = -0.99; - ACE_barrelTwist=9; + ACE_barrelTwist=0.2286; ACE_barrelLength=14.5; }; /* class arifle_MX_SW_F: arifle_MX_Base_F { - ACE_barrelTwist=9; + ACE_barrelTwist=0.2286; ACE_barrelLength=16.0; }; */ @@ -366,12 +366,12 @@ class CfgWeapons { "ACE_30Rnd_65x39_caseless_mag_Tracer_Dim" }; initSpeed = -0.965; - ACE_barrelTwist=8; + ACE_barrelTwist=0.2032; ACE_barrelLength=10.5; }; /* class arifle_MXM_F: arifle_MX_Base_F { - ACE_barrelTwist=9; + ACE_barrelTwist=0.2286; ACE_barrelLength=18; }; */ @@ -388,12 +388,12 @@ class CfgWeapons { "ACE_30Rnd_556x45_Stanag_Tracer_Dim" }; initSpeed = -0.989; - ACE_barrelTwist=11.25; + ACE_barrelTwist=0.28575; ACE_barrelLength=18; }; class SMG_02_F: SMG_02_base_F { initSpeed = -1.054; - ACE_barrelTwist=10; + ACE_barrelTwist=0.254; ACE_barrelLength=7.7; }; class arifle_TRG20_F: Tavor_base_F { @@ -408,7 +408,7 @@ class CfgWeapons { "ACE_30Rnd_556x45_Stanag_Tracer_Dim" }; initSpeed = -0.95; - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=15; }; class arifle_TRG21_F: Tavor_base_F { @@ -423,7 +423,7 @@ class CfgWeapons { "ACE_30Rnd_556x45_Stanag_Tracer_Dim" }; initSpeed = -0.989; - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=18.1; }; class arifle_TRG21_GL_F: arifle_TRG21_F { @@ -438,12 +438,12 @@ class CfgWeapons { "ACE_30Rnd_556x45_Stanag_Tracer_Dim" }; initSpeed = -0.989; - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=18.1; }; /* class LMG_Zafir_F: Rifle_Long_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=18.1; }; */ @@ -459,7 +459,7 @@ class CfgWeapons { "ACE_30Rnd_556x45_Stanag_Tracer_Dim" }; initSpeed = -0.98; - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=17.4; }; class arifle_Mk20C_F: mk20_base_F { @@ -474,7 +474,7 @@ class CfgWeapons { "ACE_30Rnd_556x45_Stanag_Tracer_Dim" }; initSpeed = -0.956; - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=16; }; class arifle_Mk20_GL_F: mk20_base_F { @@ -489,12 +489,12 @@ class CfgWeapons { "ACE_30Rnd_556x45_Stanag_Tracer_Dim" }; initSpeed = -0.956; - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=16; }; class SMG_01_F: SMG_01_Base { initSpeed = -1.016; - ACE_barrelTwist=16; + ACE_barrelTwist=0.4064; ACE_barrelLength=5.5; }; class srifle_DMR_01_F: DMR_01_base_F { @@ -503,7 +503,7 @@ class CfgWeapons { "ACE_10Rnd_762x54_Tracer_mag" }; initSpeed = -1.025; - ACE_barrelTwist=9.5; + ACE_barrelTwist=0.2413; ACE_barrelLength=24; }; class srifle_EBR_F: EBR_base_F { @@ -518,19 +518,19 @@ class CfgWeapons { "ACE_20Rnd_762x51_Mag_SD" }; initSpeed = -0.9724; - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=18; }; /* class LMG_Mk200_F: Rifle_Long_Base_F { initSpeed = -1.0; - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=12.5; }; */ class srifle_LRR_F: LRR_base_F { initSpeed = -1.0; - ACE_barrelTwist=13; + ACE_barrelTwist=0.3302; ACE_barrelLength=29; }; class srifle_GM6_F: GM6_base_F { @@ -542,7 +542,7 @@ class CfgWeapons { "ACE_5Rnd_127x99_AMAX_Mag" }; initSpeed = -1.0; - ACE_barrelTwist=15; + ACE_barrelTwist=0.381; ACE_barrelLength=36.6; }; class srifle_DMR_02_F: DMR_02_base_F { @@ -555,7 +555,7 @@ class CfgWeapons { "ACE_20Rnd_762x67_Berger_Hybrid_OTM_Mag" }; initSpeed = -0.962; - ACE_barrelTwist=10; + ACE_barrelTwist=0.254; ACE_barrelLength=20; }; class srifle_DMR_03_F: DMR_03_base_F { @@ -570,17 +570,17 @@ class CfgWeapons { "ACE_20Rnd_762x51_Mag_SD" }; initSpeed = -0.9843; - ACE_barrelTwist=10; + ACE_barrelTwist=0.254; ACE_barrelLength=20; }; class srifle_DMR_04_F: DMR_04_base_F { initSpeed = -1.0; - ACE_barrelTwist=8; + ACE_barrelTwist=0.2032; ACE_barrelLength=17.72; }; class srifle_DMR_05_blk_F: DMR_05_base_F { initSpeed = -1.0; - ACE_barrelTwist=14.17; + ACE_barrelTwist=0.359918; ACE_barrelLength=24.41; }; class srifle_DMR_06_camo_F: DMR_06_base_F { @@ -595,17 +595,17 @@ class CfgWeapons { "ACE_20Rnd_762x51_Mag_SD" }; initSpeed = -0.9916; - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=22; }; class MMG_01_hex_F: MMG_01_base_F { initSpeed = -1.0; - ACE_barrelTwist=14.17; + ACE_barrelTwist=0.359918; ACE_barrelLength=21.65; }; class MMG_02_camo_F: MMG_02_base_F { initSpeed = -1.0; - ACE_barrelTwist=9.25; + ACE_barrelTwist=0.23495; ACE_barrelLength=24; }; @@ -615,7 +615,7 @@ class CfgWeapons { }; class HMG_M2: HMG_01 { initSpeed = -1.0; - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=45; }; diff --git a/extras/CfgWeaponsReference.hpp b/extras/CfgWeaponsReference.hpp index 4821d53813..4aae239073 100644 --- a/extras/CfgWeaponsReference.hpp +++ b/extras/CfgWeaponsReference.hpp @@ -27,1863 +27,1863 @@ class CfgWeapons class MMG_02_base_F; class hgun_P07_F : Pistol_Base_F { - ACE_barrelTwist=10; + ACE_barrelTwist=0.254; ACE_barrelLength=4; }; class hgun_Rook40_F : Pistol_Base_F { - ACE_barrelTwist=10; + ACE_barrelTwist=0.254; ACE_barrelLength=4.4; }; class hgun_Pistol_heavy_01_F : Pistol_Base_F { - ACE_barrelTwist=16; + ACE_barrelTwist=0.4064; ACE_barrelLength=4.5; }; class hgun_Pistol_heavy_02_F : Pistol_Base_F { - ACE_barrelTwist=16; + ACE_barrelTwist=0.4064; ACE_barrelLength=3; }; class hgun_ACPC2_F : Pistol_Base_F { - ACE_barrelTwist=16; + ACE_barrelTwist=0.4064; ACE_barrelLength=5; }; class hgun_PDW2000_F : PDW2000_Base_F { - ACE_barrelTwist=9; + ACE_barrelTwist=0.2286; ACE_barrelLength=7; }; class arifle_Katiba_F : arifle_Katiba_Base_F { - ACE_barrelTwist=8; + ACE_barrelTwist=0.2032; ACE_barrelLength=28.7; }; class arifle_Katiba_C_F : arifle_Katiba_Base_F { - ACE_barrelTwist=8; + ACE_barrelTwist=0.2032; ACE_barrelLength=26.8; }; class arifle_Katiba_GL_F : arifle_Katiba_Base_F { - ACE_barrelTwist=8; + ACE_barrelTwist=0.2032; ACE_barrelLength=28.7; }; class arifle_MX_F: arifle_MX_Base_F { - ACE_barrelTwist=9; + ACE_barrelTwist=0.2286; ACE_barrelLength=14.5; }; class arifle_MX_GL_F: arifle_MX_Base_F { - ACE_barrelTwist=9; + ACE_barrelTwist=0.2286; ACE_barrelLength=14.5; }; class arifle_MX_SW_F: arifle_MX_Base_F { - ACE_barrelTwist=9; + ACE_barrelTwist=0.2286; ACE_barrelLength=16.0; }; class arifle_MXC_F: arifle_MX_Base_F { - ACE_barrelTwist=8; + ACE_barrelTwist=0.2032; ACE_barrelLength=10.5; }; class arifle_MXM_F: arifle_MX_Base_F { - ACE_barrelTwist=9; + ACE_barrelTwist=0.2286; ACE_barrelLength=18; }; class arifle_SDAR_F : SDAR_base_F { - ACE_barrelTwist=11.25; + ACE_barrelTwist=0.28575; ACE_barrelLength=18; }; class SMG_02_F : SMG_02_Base_F { - ACE_barrelTwist=10; + ACE_barrelTwist=0.254; ACE_barrelLength=7.7; }; class arifle_TRG20_F : Tavor_base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=15; }; class arifle_TRG21_F : Tavor_base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=18.1; }; class LMG_Zafir_F : Rifle_Long_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=18.1; }; class arifle_Mk20_F : Mk20_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=17.4; }; class arifle_Mk20C_F : Mk20_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=16; }; class arifle_Mk20_GL_F : Mk20_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=16; }; class SMG_01_F : SMG_01_Base { - ACE_barrelTwist=16; + ACE_barrelTwist=0.4064; ACE_barrelLength=5.5; }; class srifle_DMR_01_F : DMR_01_base_F { - ACE_barrelTwist=9.5; + ACE_barrelTwist=0.2413; ACE_barrelLength=24; }; class srifle_EBR_F : EBR_base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=24; }; class LMG_Mk200_F : Rifle_Long_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=12.5; }; class srifle_LRR_F : LRR_base_F { - ACE_barrelTwist=13; + ACE_barrelTwist=0.3302; ACE_barrelLength=29; }; class srifle_GM6_F : GM6_base_F { - ACE_barrelTwist=15; + ACE_barrelTwist=0.381; ACE_barrelLength=43.3; }; class srifle_DMR_02_F: DMR_02_base_F { - ACE_barrelTwist=10; + ACE_barrelTwist=0.254; ACE_barrelLength=26; }; class srifle_DMR_03_F: DMR_03_base_F { - ACE_barrelTwist=10; + ACE_barrelTwist=0.254; ACE_barrelLength=20; }; class srifle_DMR_04_F: DMR_04_base_F { - ACE_barrelTwist=8; + ACE_barrelTwist=0.2032; ACE_barrelLength=17.72; }; class srifle_DMR_05_blk_F: DMR_05_base_F { - ACE_barrelTwist=14.17; + ACE_barrelTwist=0.359918; ACE_barrelLength=24.41; }; class srifle_DMR_06_camo_F: DMR_06_base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=22; }; class MMG_01_hex_F: MMG_01_base_F { - ACE_barrelTwist=14.17; + ACE_barrelTwist=0.359918; ACE_barrelLength=21.65; }; class MMG_02_camo_F: MMG_02_base_F { - ACE_barrelTwist=9.25; + ACE_barrelTwist=0.23495; ACE_barrelLength=24; }; class HMG_M2 : HMG_127 { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=45; }; class RH_deagle : Pistol_Base_F { - ACE_barrelTwist=19; + ACE_barrelTwist=0.4826; ACE_barrelLength=6; }; class RH_sw659 : Pistol_Base_F { - ACE_barrelTwist=9.8; + ACE_barrelTwist=0.24892; ACE_barrelLength=7.44; }; class RH_usp : Pistol_Base_F { - ACE_barrelTwist=16; + ACE_barrelTwist=0.4064; ACE_barrelLength=4.41; }; class RH_uspm : Pistol_Base_F { - ACE_barrelTwist=16; + ACE_barrelTwist=0.4064; ACE_barrelLength=6; }; class RH_mak : Pistol_Base_F { - ACE_barrelTwist=9.45; + ACE_barrelTwist=0.24003; ACE_barrelLength=3.68; }; class RH_m1911 : Pistol_Base_F { - ACE_barrelTwist=16; + ACE_barrelTwist=0.4064; ACE_barrelLength=5; }; class RH_kimber : Pistol_Base_F { - ACE_barrelTwist=16; + ACE_barrelTwist=0.4064; ACE_barrelLength=5; }; class RH_m9 : Pistol_Base_F { - ACE_barrelTwist=9.8; + ACE_barrelTwist=0.24892; ACE_barrelLength=4.9; }; class RH_vz61 : Pistol_Base_F { - ACE_barrelTwist=16; + ACE_barrelTwist=0.4064; ACE_barrelLength=4.5; }; class RH_tec9 : Pistol_Base_F { - ACE_barrelTwist=9.8; + ACE_barrelTwist=0.24892; ACE_barrelLength=5; }; class RH_muzi : Pistol_Base_F { - ACE_barrelTwist=9.8; + ACE_barrelTwist=0.24892; ACE_barrelLength=5; }; class RH_g18 : Pistol_Base_F { - ACE_barrelTwist=9.8; + ACE_barrelTwist=0.24892; ACE_barrelLength=4.49; }; class RH_g17 : Pistol_Base_F { - ACE_barrelTwist=9.8; + ACE_barrelTwist=0.24892; ACE_barrelLength=4.49; }; class RH_tt33 : Pistol_Base_F { - ACE_barrelTwist=9.45; + ACE_barrelTwist=0.24003; ACE_barrelLength=4.6; }; class RH_mk2 : Pistol_Base_F { - ACE_barrelTwist=16; + ACE_barrelTwist=0.4064; ACE_barrelLength=4; }; class RH_p226 : Pistol_Base_F { - ACE_barrelTwist=9.8; + ACE_barrelTwist=0.24892; ACE_barrelLength=4.4; }; class RH_g19 : Pistol_Base_F { - ACE_barrelTwist=9.8; + ACE_barrelTwist=0.24892; ACE_barrelLength=4; }; class RH_gsh18 : Pistol_Base_F { - ACE_barrelTwist=9.8; + ACE_barrelTwist=0.24892; ACE_barrelLength=4.1; }; class RH_mateba : Pistol_Base_F { - ACE_barrelTwist=14; + ACE_barrelTwist=0.3556; ACE_barrelLength=6; }; class RH_python : Pistol_Base_F { - ACE_barrelTwist=14; + ACE_barrelTwist=0.3556; ACE_barrelLength=6; }; class RH_bull : Pistol_Base_F { - ACE_barrelTwist=24; + ACE_barrelTwist=0.6096; ACE_barrelLength=6.5; }; class RH_ttracker : Pistol_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=4; }; class RH_mp412 : Pistol_Base_F { - ACE_barrelTwist=10; + ACE_barrelTwist=0.254; ACE_barrelLength=6; }; class RH_fnp45 : Pistol_Base_F { - ACE_barrelTwist=16; + ACE_barrelTwist=0.4064; ACE_barrelLength=4.5; }; class RH_fn57 : Pistol_Base_F { - ACE_barrelTwist=9.1; + ACE_barrelTwist=0.23114; ACE_barrelLength=4.8; }; class RH_vp70 : Pistol_Base_F { - ACE_barrelTwist=9.8; + ACE_barrelTwist=0.24892; ACE_barrelLength=4.6; }; class RH_cz75 : Pistol_Base_F { - ACE_barrelTwist=9.7; + ACE_barrelTwist=0.24638; ACE_barrelLength=4.7; }; class RH_PDW : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=10; }; class RH_hb : Rifle_Base_F { - ACE_barrelTwist=8; + ACE_barrelTwist=0.2032; ACE_barrelLength=6; }; class RH_sbr9 : Rifle_Base_F { - ACE_barrelTwist=9.7; + ACE_barrelTwist=0.24638; ACE_barrelLength=9; }; class RH_ar10 : Rifle_Base_F { - ACE_barrelTwist=11.25; + ACE_barrelTwist=0.28575; ACE_barrelLength=20.8; }; class RH_m4 : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=14.5; }; class RH_M4m : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=10.5; }; class RH_M4sbr : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=10.5; }; class RH_M16a1 : Rifle_Base_F { - ACE_barrelTwist=14; + ACE_barrelTwist=0.3556; ACE_barrelLength=20; }; class RH_M16A2 : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=20; }; class RH_M16A3 : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=20; }; class RH_M16A4 : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=20; }; class RH_M16A6 : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=20; }; class RH_hk416 : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=14.5; }; class RH_hk416c : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=9; }; class RH_hk416s : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=10.4; }; class RH_m27iar : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=16.5; }; class RH_Mk12mod1 : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=18; }; class RH_SAMR : Rifle_Base_F { - ACE_barrelTwist=7.7; + ACE_barrelTwist=0.19558; ACE_barrelLength=20; }; class RH_m110 : Rifle_Base_F { - ACE_barrelTwist=10; + ACE_barrelTwist=0.254; ACE_barrelLength=20; }; class RH_mk11 : Rifle_Base_F { - ACE_barrelTwist=11.25; + ACE_barrelTwist=0.28575; ACE_barrelLength=24; }; class RH_sr25ec : Rifle_Base_F { - ACE_barrelTwist=11.25; + ACE_barrelTwist=0.28575; ACE_barrelLength=20; }; class hlc_rifle_ak74 : Rifle_Base_F { - ACE_barrelTwist=7.87; + ACE_barrelTwist=0.199898; ACE_barrelLength=16.3; }; class hlc_rifle_aks74u : Rifle_Base_F { - ACE_barrelTwist=6.3; + ACE_barrelTwist=0.16002; ACE_barrelLength=8.3; }; class hlc_rifle_ak47 : Rifle_Base_F { - ACE_barrelTwist=9.45; + ACE_barrelTwist=0.24003; ACE_barrelLength=16.3; }; class hlc_rifle_akm : Rifle_Base_F { - ACE_barrelTwist=7.87; + ACE_barrelTwist=0.199898; ACE_barrelLength=16.3; }; class hlc_rifle_rpk : Rifle_Base_F { - ACE_barrelTwist=9.45; + ACE_barrelTwist=0.24003; ACE_barrelLength=23.2; }; class hlc_rifle_aek971 : Rifle_Base_F { - ACE_barrelTwist=9.5; + ACE_barrelTwist=0.2413; ACE_barrelLength=17; }; class hlc_rifle_saiga12k : Rifle_Base_F { - ACE_barrelTwist=0; + ACE_barrelTwist=0.0; ACE_twistDirection=0; ACE_barrelLength=16.9; }; class hlc_ar15_base : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=11.5; }; class hlc_rifle_bcmjack : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=14.5; }; class hlc_rifle_Bushmaster300 : Rifle_Base_F { - ACE_barrelTwist=8; + ACE_barrelTwist=0.2032; ACE_barrelLength=16; }; class hlc_rifle_SAMR : Rifle_Base_F { - ACE_barrelTwist=9; + ACE_barrelTwist=0.2286; ACE_barrelLength=16; }; class hlc_rifle_honeybase : Rifle_Base_F { - ACE_barrelTwist=8; + ACE_barrelTwist=0.2032; ACE_barrelLength=6; }; class hlc_rifle_SLRchopmod : Rifle_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=21; }; class hlc_rifle_LAR : Rifle_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=21; }; class hlc_rifle_c1A1 : Rifle_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=21.7; }; class hlc_rifle_FAL5061 : Rifle_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=18; }; class hlc_rifle_STG58F : Rifle_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=21; }; class hlc_rifle_SLR : Rifle_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=21.7; }; class hlc_rifle_falosw : Rifle_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=13; }; class hlc_rifle_psg1 : Rifle_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=25.6; }; class hlc_rifle_g3sg1 : Rifle_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=17.7; }; class hlc_rifle_hk51 : Rifle_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=8.31; }; class hlc_rifle_hk53 : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=8.31; }; class hlc_rifle_g3a3 : Rifle_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=17.7; }; class hlc_M14_base : Rifle_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=22; }; class hlc_rifle_m14sopmod : Rifle_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=18; }; class hlc_lmg_M60E4 : Rifle_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=17; }; class hlc_lmg_m60 : Rifle_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=22; }; class hlc_smg_mp5k_PDW : Rifle_Base_F { - ACE_barrelTwist=10; + ACE_barrelTwist=0.254; ACE_barrelLength=4.5; }; class hlc_smg_mp5a2 : Rifle_Base_F { - ACE_barrelTwist=10; + ACE_barrelTwist=0.254; ACE_barrelLength=8.9; }; class hlc_smg_mp5a4 : Rifle_Base_F { - ACE_barrelTwist=10; + ACE_barrelTwist=0.254; ACE_barrelLength=8.9; }; class hlc_smg_mp5n : Rifle_Base_F { - ACE_barrelTwist=10; + ACE_barrelTwist=0.254; ACE_barrelLength=8.9; }; class hlc_smg_mp5sd5 : Rifle_Base_F { - ACE_barrelTwist=10; + ACE_barrelTwist=0.254; ACE_barrelLength=5.7; }; class hlc_smg_mp5sd6 : Rifle_Base_F { - ACE_barrelTwist=10; + ACE_barrelTwist=0.254; ACE_barrelLength=5.7; }; class hlc_smg_9mmar : Rifle_Base_F { - ACE_barrelTwist=10; + ACE_barrelTwist=0.254; ACE_barrelLength=8.9; }; class hlc_smg_mp510 : Rifle_Base_F { - ACE_barrelTwist=15; + ACE_barrelTwist=0.381; ACE_barrelLength=8.9; }; class hlc_smg_mp5a3 : Rifle_Base_F { - ACE_barrelTwist=10; + ACE_barrelTwist=0.254; ACE_barrelLength=8.9; }; class hgun_mas_usp_F: Pistol_Base_F { - ACE_barrelTwist=16; + ACE_barrelTwist=0.4064; ACE_barrelLength=4.41; }; class hgun_mas_m23_F: Pistol_Base_F { - ACE_barrelTwist=16; + ACE_barrelTwist=0.4064; ACE_barrelLength=5.87; }; class hgun_mas_acp_F: Pistol_Base_F { - ACE_barrelTwist=16; + ACE_barrelTwist=0.4064; ACE_barrelLength=5.03; }; class hgun_mas_m9_F: Pistol_Base_F { - ACE_barrelTwist=10; + ACE_barrelTwist=0.254; ACE_barrelLength=4.9; }; class hgun_mas_bhp_F: Pistol_Base_F { - ACE_barrelTwist=10; + ACE_barrelTwist=0.254; ACE_barrelLength=4.7; }; class hgun_mas_glock_F: Pistol_Base_F { - ACE_barrelTwist=9.84; + ACE_barrelTwist=0.249936; ACE_barrelLength=4.48; }; class hgun_mas_glocksf_F: Pistol_Base_F { - ACE_barrelTwist=15.75; + ACE_barrelTwist=0.40005; ACE_barrelLength=4.60; }; class hgun_mas_grach_F: Pistol_Base_F { - ACE_barrelTwist=10; + ACE_barrelTwist=0.254; ACE_barrelLength=4.4; }; class hgun_mas_mak_F: Pistol_Base_F { - ACE_barrelTwist=9.45; + ACE_barrelTwist=0.24003; ACE_barrelLength=3.68; }; class hgun_mas_sa61_F: Pistol_Base_F { - ACE_barrelTwist=16; + ACE_barrelTwist=0.4064; ACE_barrelLength=4.5; }; class hgun_mas_uzi_F: Pistol_Base_F { - ACE_barrelTwist=10; + ACE_barrelTwist=0.254; ACE_barrelLength=5.28; }; class arifle_mas_mk16 : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=13.8; }; class arifle_mas_mk16_l : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=18; }; class arifle_mas_mk17 : Rifle_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=16; }; class srifle_mas_m110 : Rifle_Base_F { - ACE_barrelTwist=10; + ACE_barrelTwist=0.254; ACE_barrelLength=20; }; class arifle_mas_ak_74m : Rifle_Base_F { - ACE_barrelTwist=7.87; + ACE_barrelTwist=0.199898; ACE_barrelLength=16.34; }; class arifle_mas_ak_74m_gl : Rifle_Base_F { - ACE_barrelTwist=7.87; + ACE_barrelTwist=0.199898; ACE_barrelLength=16.34; }; class srifle_mas_svd : Rifle_Base_F { - ACE_barrelTwist=9.4; + ACE_barrelTwist=0.23876; ACE_barrelLength=24.4; }; class srifle_mas_m91 : Rifle_Base_F { - ACE_barrelTwist=10; + ACE_barrelTwist=0.254; ACE_barrelLength=29; }; class srifle_mas_ksvk : Rifle_Base_F { - ACE_barrelTwist=18; + ACE_barrelTwist=0.4572; ACE_barrelLength=39.37; }; class LMG_mas_rpk_F : Rifle_Base_F { - ACE_barrelTwist=7.68; + ACE_barrelTwist=0.195072; ACE_barrelLength=23.2; }; class LMG_mas_pkm_F : Rifle_Base_F { - ACE_barrelTwist=9.45; + ACE_barrelTwist=0.24003; ACE_barrelLength=25.4; }; class arifle_mas_aks74u : Rifle_Base_F { - ACE_barrelTwist=6.3; + ACE_barrelTwist=0.16002; ACE_barrelLength=8.3; }; class arifle_mas_bizon : Rifle_Base_F { - ACE_barrelTwist=9.45; + ACE_barrelTwist=0.24003; ACE_barrelLength=9.1; }; class arifle_mas_saiga : Rifle_Base_F { - ACE_barrelTwist=0; + ACE_barrelTwist=0.0; ACE_twistDirection=0; ACE_barrelLength=16.93; }; class arifle_mas_hk416 : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=14.5; }; class arifle_mas_hk416_gl : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=14.5; }; class arifle_mas_hk416c : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=9.0; }; class arifle_mas_hk416_m203c : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=9.0; }; class arifle_mas_hk417c : Rifle_Base_F { - ACE_barrelTwist=11; + ACE_barrelTwist=0.2794; ACE_barrelLength=13; }; class arifle_mas_m4 : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=14.5; }; class arifle_mas_m4c : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=10.3; }; class arifle_mas_l119 : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=16; }; class arifle_mas_l119_gl : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=16; }; class arifle_mas_l119_m203 : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=16; }; class arifle_mas_m16 : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=20; }; class arifle_mas_m16_gl : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=20; }; class srifle_mas_hk417 : Rifle_Base_F { - ACE_barrelTwist=11; + ACE_barrelTwist=0.2794; ACE_barrelLength=16.5; }; class srifle_mas_sr25 : Rifle_Base_F { - ACE_barrelTwist=11.25; + ACE_barrelTwist=0.28575; ACE_barrelLength=24; }; class srifle_mas_ebr : Rifle_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=18; }; class srifle_mas_m24 : Rifle_Base_F { - ACE_barrelTwist=11.25; + ACE_barrelTwist=0.28575; ACE_barrelLength=24; }; class arifle_mas_mp5 : Rifle_Base_F { - ACE_barrelTwist=10; + ACE_barrelTwist=0.254; ACE_barrelLength=8.9; }; class arifle_mas_mp5sd : Rifle_Base_F { - ACE_barrelTwist=10; + ACE_barrelTwist=0.254; ACE_barrelLength=5.7; }; class srifle_mas_m107 : Rifle_Base_F { - ACE_barrelTwist=15; + ACE_barrelTwist=0.381; ACE_barrelLength=29; }; class LMG_mas_M249_F : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=16.3; }; class LMG_mas_M249a_F : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=18; }; class LMG_mas_mk48_F : Rifle_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=19.75; }; class LMG_mas_m240_F : Rifle_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=24.8; }; class LMG_mas_mg3_F : Rifle_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=22.2; }; class arifle_mas_g3 : Rifle_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=17.7; }; class arifle_mas_g3_m203 : Rifle_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=17.7; }; class arifle_mas_fal : Rifle_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=21; }; class arifle_mas_fal_m203 : Rifle_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=21; }; class arifle_mas_m1014 : Rifle_Base_F { - ACE_barrelTwist=0; + ACE_barrelTwist=0.0; ACE_twistDirection=0; ACE_barrelLength=18.5; }; class BWA3_P8 : Pistol_Base_F { - ACE_barrelTwist=9.8; + ACE_barrelTwist=0.24892; ACE_barrelLength=4.25; }; class BWA3_MP7 : Pistol_Base_F { - ACE_barrelTwist=6.3; + ACE_barrelTwist=0.16002; ACE_barrelLength=7.1; }; class BWA3_G36 : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=18.9; }; class BWA3_G36K : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=12.5; }; class BWA3_G28_Standard : Rifle_Long_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=16.5; }; class BWA3_G27 : Rifle_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=16; }; class BWA3_MG4 : Rifle_Long_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=18.9; }; class BWA3_MG5 : Rifle_Long_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=21.6; }; class BWA3_G82 : Rifle_Long_Base_F { - ACE_barrelTwist=15; + ACE_barrelTwist=0.381; ACE_barrelLength=29; }; class Trixie_L131A1 : Pistol_Base_F { - ACE_barrelTwist=9.8; + ACE_barrelTwist=0.24892; ACE_barrelLength=4.5; }; class Trixie_XM8_Carbine : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=12.5; }; class Trixie_XM8_Compact : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=9; }; class Trixie_XM8_SAW : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=20; }; class Trixie_XM8_SAW_NB : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=20; }; class Trixie_XM8_DMR : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=20; }; class Trixie_XM8_DMR_NB : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=20; }; class L129A1_base : Rifle_Base_F { - ACE_barrelTwist=10; + ACE_barrelTwist=0.254; ACE_barrelLength=16; }; class Trixie_Enfield : Rifle_Base_F { - ACE_barrelTwist=10; + ACE_barrelTwist=0.254; ACE_barrelLength=25.2; }; class Trixie_CZ550_Rail : Rifle_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=23.622; }; class Trixie_FNFAL_Rail : Rifle_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=21; }; class Trixie_M110 : Rifle_Base_F { - ACE_barrelTwist=11; + ACE_barrelTwist=0.2794; ACE_barrelLength=20; }; class Trixie_MK12 : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=18; }; class Trixie_LM308MWS : Rifle_Base_F { - ACE_barrelTwist=11.25; + ACE_barrelTwist=0.28575; ACE_barrelLength=16; }; class Trixie_M14DMR : Rifle_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=22; }; class Trixie_M14DMR_NG_Black_Short : Rifle_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=18; }; class Trixie_M14DMR_NG_Short : Rifle_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=18; }; class Trixie_M14 : Rifle_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=22; }; class Trixie_M40A3 : Rifle_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=24; }; class Trixie_CZ750 : Rifle_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=26; }; class Trixie_M24 : Rifle_Base_F { - ACE_barrelTwist=11.25; + ACE_barrelTwist=0.28575; ACE_barrelLength=24; }; class Trixie_AWM338 : Rifle_Base_F { - ACE_barrelTwist=11; + ACE_barrelTwist=0.2794; ACE_barrelLength=27; }; class Trixie_M107 : Rifle_Base_F { - ACE_barrelTwist=15; + ACE_barrelTwist=0.381; ACE_barrelLength=29; }; class Trixie_AS50 : Rifle_Base_F { - ACE_barrelTwist=15; + ACE_barrelTwist=0.381; ACE_barrelLength=29; }; class L110A1_base : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=13.7; }; class Trixie_L86A2_base : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=25.4; }; class Trixie_l85a2_base : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=20.4; }; class L7A2_base : Rifle_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=24.8; }; class rhs_weap_pya : Pistol_Base_F { - ACE_barrelTwist=10; + ACE_barrelTwist=0.254; ACE_barrelLength=4.4; }; class rhs_weap_pkp : Rifle_Long_Base_F { - ACE_barrelTwist=9.45; + ACE_barrelTwist=0.24003; ACE_barrelLength=25.9; }; class rhs_weap_pkm : Rifle_Long_Base_F { - ACE_barrelTwist=9.45; + ACE_barrelTwist=0.24003; ACE_barrelLength=25.4; }; class rhs_weap_rpk74m : Rifle_Long_Base_F { - ACE_barrelTwist=7.68; + ACE_barrelTwist=0.195072; ACE_barrelLength=23.2; }; class rhs_weap_rpk74 : Rifle_Long_Base_F { - ACE_barrelTwist=7.68; + ACE_barrelTwist=0.195072; ACE_barrelLength=23.2; }; class rhs_weap_ak74m : Rifle_Base_F { - ACE_barrelTwist=7.87; + ACE_barrelTwist=0.199898; ACE_barrelLength=16.3; }; class rhs_weap_aks74u : Rifle_Base_F { - ACE_barrelTwist=6.3; + ACE_barrelTwist=0.16002; ACE_barrelLength=8.3; }; class rhs_weap_akm : Rifle_Base_F { - ACE_barrelTwist=7.87; + ACE_barrelTwist=0.199898; ACE_barrelLength=16.3; }; class rhs_weap_svd : Rifle_Base_F { - ACE_barrelTwist=9.4; + ACE_barrelTwist=0.23876; ACE_barrelLength=24.4; }; class rhs_weap_svds : Rifle_Base_F { - ACE_barrelTwist=9.4; + ACE_barrelTwist=0.23876; ACE_barrelLength=22.2; }; class rhs_weap_m4_Base : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=14.5; }; class rhs_weap_m16a4 : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=20; }; class rhs_weap_m16a4_carryhandle : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=20; }; class rhs_weap_m16a4_grip : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=20; }; class rhs_weap_m240B : Rifle_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=24.8; }; class rhs_weap_m249_pip : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=16.3; }; class rhs_weap_mk18 : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=10.3; }; class rhs_weap_M590_5RD : Rifle_Base_F { - ACE_barrelTwist=0; + ACE_barrelTwist=0.0; ACE_twistDirection=0; ACE_barrelLength=18.5; }; class rhs_weap_M590_8RD : Rifle_Base_F { - ACE_barrelTwist=0; + ACE_barrelTwist=0.0; ACE_twistDirection=0; ACE_barrelLength=20; }; class rhs_weap_sr25 : Rifle_Base_F { - ACE_barrelTwist=11.25; + ACE_barrelTwist=0.28575; ACE_barrelLength=24; }; class rhs_weap_sr25_ec : Rifle_Base_F { - ACE_barrelTwist=11.25; + ACE_barrelTwist=0.28575; ACE_barrelLength=20; }; class rhs_weap_XM2010_Base_F: Rifle_Base_F { - ACE_barrelTwist=10; + ACE_barrelTwist=0.254; ACE_barrelLength=24; }; class R3F_PAMAS : Pistol_Base_F { - ACE_barrelTwist=9.8; + ACE_barrelTwist=0.24892; ACE_barrelLength=4.9; }; class R3F_Famas_F1: Rifle_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=19.2; }; class R3F_Famas_surb: Rifle_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=15.9; }; class R3F_Minimi: Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=13.7; }; class R3F_Minimi_762: Rifle_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=19.8; }; class R3F_FRF2: Rifle_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=25.59; }; class R3F_PGM_Hecate_II: Rifle_Base_F { - ACE_barrelTwist=15; + ACE_barrelTwist=0.381; ACE_barrelLength=27.6; }; class R3F_HK417S_HG : Rifle_Base_F { - ACE_barrelTwist=11; + ACE_barrelTwist=0.2794; ACE_barrelLength=12; }; class R3F_HK417M : Rifle_Base_F { - ACE_barrelTwist=11; + ACE_barrelTwist=0.2794; ACE_barrelLength=16; }; class R3F_HK417L : Rifle_Base_F { - ACE_barrelTwist=11; + ACE_barrelTwist=0.2794; ACE_barrelLength=20; }; class R3F_M107 : Rifle_Base_F { - ACE_barrelTwist=15; + ACE_barrelTwist=0.381; ACE_barrelLength=29; }; class R3F_HK416M : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=14; }; class R3F_MP5SD : Rifle_Base_F { - ACE_barrelTwist=10; + ACE_barrelTwist=0.254; ACE_barrelLength=5.7; }; class CUP_hgun_Colt1911 : Pistol_Base_F { - ACE_barrelTwist=16; + ACE_barrelTwist=0.4064; ACE_barrelLength=5; }; class CUP_sgun_AA12 : Rifle_Base_F { - ACE_barrelTwist=0; + ACE_barrelTwist=0.0; ACE_twistDirection=0; ACE_barrelLength=18; }; class CUP_arifle_AK_Base : Rifle_Base_F { - ACE_barrelTwist=9.45; + ACE_barrelTwist=0.24003; ACE_barrelLength=16.3; }; class CUP_arifle_AK107_Base : Rifle_Base_F { - ACE_barrelTwist=7.87; + ACE_barrelTwist=0.199898; ACE_barrelLength=16.3; }; class CUP_arifle_AKS_Base : Rifle_Base_F { - ACE_barrelTwist=7.87; + ACE_barrelTwist=0.199898; ACE_barrelLength=16.3; }; class CUP_arifle_AKS74U : Rifle_Base_F { - ACE_barrelTwist=6.3; + ACE_barrelTwist=0.16002; ACE_barrelLength=8.3; }; class CUP_arifle_RPK74 : Rifle_Long_Base_F { - ACE_barrelTwist=7.68; + ACE_barrelTwist=0.195072; ACE_barrelLength=23.2; }; class CUP_srifle_AS50 : Rifle_Long_Base_F { - ACE_barrelTwist=15; + ACE_barrelTwist=0.381; ACE_barrelLength=29; }; class CUP_srifle_AWM_Base : Rifle_Long_Base_F { - ACE_barrelTwist=11; + ACE_barrelTwist=0.2794; ACE_barrelLength=27; }; class CUP_smg_bizon : Rifle_Base_F { - ACE_barrelTwist=9.45; + ACE_barrelTwist=0.24003; ACE_barrelLength=9.1; }; class CUP_hgun_Compact : Pistol_Base_F { - ACE_barrelTwist=9.8; + ACE_barrelTwist=0.24892; ACE_barrelLength=3.74; }; class CUP_srifle_CZ750 : Rifle_Long_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=26; }; class CUP_arifle_CZ805_Base : Rifle_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=14; }; class CUP_arifle_CZ805_A1 : Rifle_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=14; }; class CUP_arifle_CZ805_A2 : Rifle_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=10.9; }; class CUP_srifle_DMR : Rifle_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=22; }; class CUP_hgun_Duty : Pistol_Base_F { - ACE_barrelTwist=9.8; + ACE_barrelTwist=0.24892; ACE_barrelLength=3.74; }; class CUP_arifle_FNFAL : Rifle_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=21; }; class CUP_arifle_G36A : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=18.9; }; class CUP_arifle_G36K : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=12.5; }; class CUP_arifle_G36C : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=9; }; class CUP_arifle_MG36 : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=18.9; }; class CUP_hgun_Glock17 : Pistol_Base_F { - ACE_barrelTwist=9.8; + ACE_barrelTwist=0.24892; ACE_barrelLength=4.49; }; class CUP_srifle_CZ550 : Rifle_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=23.622; }; class CUP_srifle_ksvk : Rifle_Long_Base_F { - ACE_barrelTwist=18; + ACE_barrelTwist=0.4572; ACE_barrelLength=39.37; }; class CUP_lmg_L7A2 : Rifle_Long_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=24.8; }; class CUP_arifle_L85A2_Base : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=20.4; }; class CUP_lmg_L110A1 : Rifle_Long_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=13.7; }; class CUP_srifle_LeeEnfield : Rifle_Base_F { - ACE_barrelTwist=10; + ACE_barrelTwist=0.254; ACE_barrelLength=25.2; }; class CUP_hgun_M9 : Pistol_Base_F { - ACE_barrelTwist=9.8; + ACE_barrelTwist=0.24892; ACE_barrelLength=4.9; }; class CUP_srifle_M14 : Rifle_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=22; }; class CUP_arifle_M16_Base : Rifle_Base_F { - ACE_barrelTwist=14; + ACE_barrelTwist=0.3556; ACE_barrelLength=20; }; class CUP_arifle_M4_Base : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=14.5; }; class CUP_srifle_Mk12SPR : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=18; }; class CUP_srifle_M24_des : Rifle_Base_F { - ACE_barrelTwist=11.25; + ACE_barrelTwist=0.28575; ACE_barrelLength=24; }; class CUP_lmg_M60A4 : Rifle_Long_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=17; }; class CUP_srifle_M107_Base : Rifle_Long_Base_F { - ACE_barrelTwist=15; + ACE_barrelTwist=0.381; ACE_barrelLength=29; }; class CUP_srifle_M110 : Rifle_Base_F { - ACE_barrelTwist=11; + ACE_barrelTwist=0.2794; ACE_barrelLength=20; }; class CUP_lmg_M240 : Rifle_Long_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=24.8; }; class CUP_lmg_M249_para : Rifle_Long_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=16.3; }; class CUP_lmg_M249 : Rifle_Long_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=18; }; class CUP_sgun_M1014 : Rifle_Base_F { ACE_twistDirection=0; - ACE_barrelTwist=0; + ACE_barrelTwist=0.0; ACE_barrelLength=18.5; }; class CUP_hgun_Makarov : Pistol_Base_F { - ACE_barrelTwist=9.45; + ACE_barrelTwist=0.24003; ACE_barrelLength=3.68; }; class CUP_hgun_MicroUzi : Pistol_Base_F { - ACE_barrelTwist=9.8; + ACE_barrelTwist=0.24892; ACE_barrelLength=5; }; class CUP_lmg_Mk48_Base : Rifle_Long_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=19.75; }; class CUP_smg_MP5SD6 : Rifle_Base_F { - ACE_barrelTwist=10; + ACE_barrelTwist=0.254; ACE_barrelLength=5.7; }; class CUP_smg_MP5A5 : Rifle_Base_F { - ACE_barrelTwist=10; + ACE_barrelTwist=0.254; ACE_barrelLength=8.9; }; class CUP_hgun_PB6P9 : Rifle_Base_F { - ACE_barrelTwist=9.45; + ACE_barrelTwist=0.24003; ACE_barrelLength=4.1; }; class CUP_hgun_Phantom : Rifle_Base_F { - ACE_barrelTwist=9.7; + ACE_barrelTwist=0.24638; ACE_barrelLength=4.7; }; class CUP_lmg_PKM : Rifle_Long_Base_F { - ACE_barrelTwist=9.45; + ACE_barrelTwist=0.24003; ACE_barrelLength=25.4; }; class CUP_lmg_Pecheneg : Rifle_Long_Base_F { - ACE_barrelTwist=9.45; + ACE_barrelTwist=0.24003; ACE_barrelLength=25.9; }; class CUP_hgun_TaurusTracker455 : Pistol_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=4; }; class CUP_arifle_Sa58P : Rifle_Base_F { - ACE_barrelTwist=9.45; + ACE_barrelTwist=0.24003; ACE_barrelLength=15.4; }; class CUP_arifle_Sa58V : Rifle_Base_F { - ACE_barrelTwist=9.45; + ACE_barrelTwist=0.24003; ACE_barrelLength=15.4; }; class CUP_hgun_SA61 : Pistol_Base_F { - ACE_barrelTwist=16; + ACE_barrelTwist=0.4064; ACE_barrelLength=4.5; }; class CUP_sgun_Saiga12K: Rifle_Base_F { - ACE_barrelTwist=0; + ACE_barrelTwist=0.0; ACE_twistDirection=0; ACE_barrelLength=16.9; } class CUP_arifle_Mk16_CQC : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=10; }; class CUP_arifle_Mk16_STD : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=14; }; class CUP_arifle_Mk16_SV : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=18; }; class CUP_arifle_Mk17_CQC : Rifle_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=13; }; class CUP_arifle_Mk17_STD : Rifle_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=16; }; class CUP_arifle_Mk20 : Rifle_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=20; }; class CUP_srifle_SVD : Rifle_Base_F { - ACE_barrelTwist=9.4; + ACE_barrelTwist=0.23876; ACE_barrelLength=24.4; }; class CUP_lmg_UK59 : Rifle_Long_Base_F { - ACE_barrelTwist=15; + ACE_barrelTwist=0.381; ACE_barrelLength=21.7; }; class CUP_DSHKM_W : MGun { - ACE_barrelTwist=15; + ACE_barrelTwist=0.381; ACE_barrelLength=42.1; }; class CUP_KPVT_W : MGun { - ACE_barrelTwist=17.91; + ACE_barrelTwist=0.454914; ACE_barrelLength=53; }; class CUP_KPVB_W : MGun { - ACE_barrelTwist=17.91; + ACE_barrelTwist=0.454914; ACE_barrelLength=53; }; class CUP_M134 : MGunCore { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=22; }; class CUP_M240_veh_W : Rifle_Long_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=24.8; }; class CUP_PKT_W : MGun { - ACE_barrelTwist=9.45; + ACE_barrelTwist=0.24003; ACE_barrelLength=28.43; }; class CUP_srifle_VSSVintorez : Rifle_Base_F { - ACE_barrelTwist=8.3; + ACE_barrelTwist=0.21082; ACE_barrelLength=7.9; }; class CUP_arifle_XM8_Base : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=12.5; }; class CUP_arifle_XM8_Carbine : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=12.5; }; class CUP_arifle_xm8_sharpshooter : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=20; }; class CUP_arifle_xm8_SAW : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=20; }; class CUP_arifle_XM8_Compact : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=9; }; class CUP_arifle_XM8_Railed_Base : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=12.5; }; class CUP_arifle_XM8_Carbine_FG : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=12.5; }; class VTN_AK_BASE: Rifle_Base_F { - ACE_barrelTwist=7.87; + ACE_barrelTwist=0.199898; ACE_barrelLength=16.3; }; class VTN_AK74M: Rifle_Base_F { - ACE_barrelTwist=7.87; + ACE_barrelTwist=0.199898; ACE_barrelLength=16.3; }; class VTN_AK74M_GP25: Rifle_Base_F { - ACE_barrelTwist=7.87; + ACE_barrelTwist=0.199898; ACE_barrelLength=16.3; }; class VTN_AK74M_GP30M: Rifle_Base_F { - ACE_barrelTwist=7.87; + ACE_barrelTwist=0.199898; ACE_barrelLength=16.3; }; class VTN_AKS74: Rifle_Base_F { - ACE_barrelTwist=7.87; + ACE_barrelTwist=0.199898; ACE_barrelLength=16.3; }; class VTN_AKS74N: Rifle_Base_F { - ACE_barrelTwist=7.87; + ACE_barrelTwist=0.199898; ACE_barrelLength=16.3; }; class VTN_AKS74N_76: Rifle_Base_F { - ACE_barrelTwist=7.87; + ACE_barrelTwist=0.199898; ACE_barrelLength=16.3; }; class VTN_AK74_76: Rifle_Base_F { - ACE_barrelTwist=7.87; + ACE_barrelTwist=0.199898; ACE_barrelLength=16.3; }; class VTN_AKMS_aa: Rifle_Base_F { - ACE_barrelTwist=7.87; + ACE_barrelTwist=0.199898; ACE_barrelLength=10.3; }; class VTN_AKS74U_BASE: Rifle_Base_F { - ACE_barrelTwist=6.3; + ACE_barrelTwist=0.16002; ACE_barrelLength=8.3; }; class VTN_AKM_BASE: Rifle_Base_F { - ACE_barrelTwist=7.87; + ACE_barrelTwist=0.199898; ACE_barrelLength=16.3; }; class VTN_AKMS: Rifle_Base_F { - ACE_barrelTwist=7.87; + ACE_barrelTwist=0.199898; ACE_barrelLength=16.3; }; class VTN_AKMS_T_P: Rifle_Base_F { - ACE_barrelTwist=7.87; + ACE_barrelTwist=0.199898; ACE_barrelLength=16.3; }; class VTN_AK103_BASE: Rifle_Base_F { - ACE_barrelTwist=9.45; + ACE_barrelTwist=0.24003; ACE_barrelLength=16.3; }; class VTN_AK104_BASE: Rifle_Base_F { - ACE_barrelTwist=9.45; + ACE_barrelTwist=0.24003; ACE_barrelLength=12.4; }; class VTN_AK105_BASE: Rifle_Base_F { - ACE_barrelTwist=10; + ACE_barrelTwist=0.254; ACE_barrelLength=12.4; }; class VTN_AK105_P_BASE: Rifle_Base_F { - ACE_barrelTwist=10; + ACE_barrelTwist=0.254; ACE_barrelLength=12.4; }; class VTN_SVD_BASE: Rifle_Base_F { - ACE_barrelTwist=9.4; + ACE_barrelTwist=0.23876; ACE_barrelLength=24.4; }; class VTN_SVD_63: Rifle_Base_F { - ACE_barrelTwist=9.4; + ACE_barrelTwist=0.23876; ACE_barrelLength=24.4; }; class VTN_SVD_86: Rifle_Base_F { - ACE_barrelTwist=9.4; + ACE_barrelTwist=0.23876; ACE_barrelLength=24.4; }; class VTN_SV98_BASE: Rifle_Base_F { - ACE_barrelTwist=12.6; + ACE_barrelTwist=0.32004; ACE_barrelLength=25.59; }; class VTN_PKM_BAS: Rifle_Base_F { - ACE_barrelTwist=9.45; + ACE_barrelTwist=0.24003; ACE_barrelLength=25.4; }; class VTN_PKP: Rifle_Base_F { - ACE_barrelTwist=9.45; + ACE_barrelTwist=0.24003; ACE_barrelLength=25.9; }; class VTN_PYA: Pistol_Base_F { - ACE_barrelTwist=10; + ACE_barrelTwist=0.254; ACE_barrelLength=4.4; }; class VTN_PM: Pistol_Base_F { - ACE_barrelTwist=9.45; + ACE_barrelTwist=0.24003; ACE_barrelLength=3.68; }; class VTN_PB: Pistol_Base_F { - ACE_barrelTwist=9.45; + ACE_barrelTwist=0.24003; ACE_barrelLength=4.1; }; class VTN_GSH18: Pistol_Base_F { - ACE_barrelTwist=9.8; + ACE_barrelTwist=0.24892; ACE_barrelLength=4.1; }; class VTN_PSS: Pistol_Base_F { - ACE_barrelTwist=16; + ACE_barrelTwist=0.4064; ACE_barrelLength=1.4; }; class VTN_PKT: Rifle_Base_F { - ACE_barrelTwist=9.45; + ACE_barrelTwist=0.24003; ACE_barrelLength=28.43; }; class VTN_KORD: Rifle_Base_F { - ACE_barrelTwist=17.91; + ACE_barrelTwist=0.454914; ACE_barrelLength=53; }; class VTN_KPVT: Rifle_Base_F { - ACE_barrelTwist=17.91; + ACE_barrelTwist=0.454914; ACE_barrelLength=53; }; class VTN_C_M4A1 : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=14.5; }; class VTN_MK18MOD0: Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=10.3; }; class VTN_M16_BASE: Rifle_Base_F { - ACE_barrelTwist=14; + ACE_barrelTwist=0.3556; ACE_barrelLength=20; }; class VTN_FN_SAMR_BASE: Rifle_Base_F { - ACE_barrelTwist=7.7; + ACE_barrelTwist=0.19558; ACE_barrelLength=20; }; class VTN_M249_SAW_BASE: Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=18; }; class VTN_M249_PARA: Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=16.3; }; class VTN_M240G_BASE: Rifle_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=24.8; }; class VTN_M9: Pistol_Base_F { - ACE_barrelTwist=9.8; + ACE_barrelTwist=0.24892; ACE_barrelLength=4.9; }; class VTN_M45A1: Pistol_Base_F { - ACE_barrelTwist=16; + ACE_barrelTwist=0.4064; ACE_barrelLength=5; }; class VTN_M24: Rifle_Base_F { - ACE_barrelTwist=11.25; + ACE_barrelTwist=0.28575; ACE_barrelLength=24; }; class VTN_M240: Rifle_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=24.8; }; class VTN_KO44: Rifle_Base_F { - ACE_barrelTwist=9.5; + ACE_barrelTwist=0.2413; ACE_barrelLength=20.2; }; class VTN_SAIGA_MK03: Rifle_Base_F diff --git a/optionals/compat_hlc_ar15/CfgWeapons.hpp b/optionals/compat_hlc_ar15/CfgWeapons.hpp index d57de932e6..d203ee90d0 100644 --- a/optionals/compat_hlc_ar15/CfgWeapons.hpp +++ b/optionals/compat_hlc_ar15/CfgWeapons.hpp @@ -4,62 +4,62 @@ class CfgWeapons class Rifle_Base_F; class hlc_ar15_base: Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=11.5; }; class hlc_rifle_RU556: hlc_ar15_base { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=10.3; }; class hlc_rifle_RU5562: hlc_rifle_RU556 { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=10.3; }; class hlc_rifle_CQBR: hlc_rifle_RU556 { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=10; }; class hlc_rifle_M4: hlc_rifle_RU556 { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=14.5; }; class hlc_rifle_bcmjack: hlc_ar15_base { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=14.5; }; class hlc_rifle_Colt727: hlc_ar15_base { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=14.5; }; class hlc_rifle_Colt727_GL: hlc_rifle_Colt727 { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=14.5; }; class hlc_rifle_Bushmaster300: hlc_rifle_Colt727 { - ACE_barrelTwist=8; + ACE_barrelTwist=0.2032; ACE_barrelLength=14.5; }; class hlc_rifle_vendimus: hlc_rifle_Bushmaster300 { - ACE_barrelTwist=8; + ACE_barrelTwist=0.2032; ACE_barrelLength=16; }; class hlc_rifle_SAMR: hlc_rifle_RU556 { - ACE_barrelTwist=9; + ACE_barrelTwist=0.2286; ACE_barrelLength=16; }; class hlc_rifle_honeybase: hlc_rifle_RU556 { - ACE_barrelTwist=8; + ACE_barrelTwist=0.2032; ACE_barrelLength=6; }; }; \ No newline at end of file diff --git a/optionals/compat_hlc_wp_mp5/CfgWeapons.hpp b/optionals/compat_hlc_wp_mp5/CfgWeapons.hpp index bb2762d1bc..3957b837d9 100644 --- a/optionals/compat_hlc_wp_mp5/CfgWeapons.hpp +++ b/optionals/compat_hlc_wp_mp5/CfgWeapons.hpp @@ -4,57 +4,57 @@ class CfgWeapons class Rifle_Base_F; class hlc_MP5_base: Rifle_Base_F { - ACE_barrelTwist=10; + ACE_barrelTwist=0.254; ACE_barrelLength=9; }; class hlc_smg_mp5k_PDW: hlc_MP5_base { - ACE_barrelTwist=10; + ACE_barrelTwist=0.254; ACE_barrelLength=4.5; }; class hlc_smg_mp5k: hlc_smg_mp5k_PDW { - ACE_barrelTwist=10; + ACE_barrelTwist=0.254; ACE_barrelLength=4.5; }; class hlc_smg_mp5a2: hlc_MP5_base { - ACE_barrelTwist=10; + ACE_barrelTwist=0.254; ACE_barrelLength=9; }; class hlc_smg_MP5N: hlc_MP5_base { - ACE_barrelTwist=10; + ACE_barrelTwist=0.254; ACE_barrelLength=9; }; class hlc_smg_9mmar: hlc_smg_MP5N { - ACE_barrelTwist=10; + ACE_barrelTwist=0.254; ACE_barrelLength=9; }; class hlc_smg_mp5a4: hlc_MP5_base { - ACE_barrelTwist=10; + ACE_barrelTwist=0.254; ACE_barrelLength=9; }; class hlc_smg_mp510: hlc_smg_MP5N { - ACE_barrelTwist=15; + ACE_barrelTwist=0.381; ACE_barrelLength=9; }; class hlc_smg_mp5sd5: hlc_MP5_base { - ACE_barrelTwist=10; + ACE_barrelTwist=0.254; ACE_barrelLength=9; }; class hlc_smg_mp5a3: hlc_smg_mp5a2 { - ACE_barrelTwist=10; + ACE_barrelTwist=0.254; ACE_barrelLength=9; }; class hlc_smg_mp5sd6: hlc_smg_mp5sd5 { - ACE_barrelTwist=10; + ACE_barrelTwist=0.254; ACE_barrelLength=9; }; }; diff --git a/optionals/compat_hlcmods_ak/CfgWeapons.hpp b/optionals/compat_hlcmods_ak/CfgWeapons.hpp index 390d3e6177..5cc8ebfd67 100644 --- a/optionals/compat_hlcmods_ak/CfgWeapons.hpp +++ b/optionals/compat_hlcmods_ak/CfgWeapons.hpp @@ -6,12 +6,12 @@ class CfgWeapons class InventoryOpticsItem_Base_F; class hlc_rifle_ak74: hlc_ak_base { - ACE_barrelTwist=7.8699999; + ACE_barrelTwist=0.199898; ACE_barrelLength=16.299999; }; class hlc_rifle_aku12: hlc_rifle_ak12 { - ACE_barrelTwist=6.3000002; + ACE_barrelTwist=0.16002; ACE_barrelLength=8.3000002; }; class hlc_rifle_RPK12: hlc_rifle_ak12 @@ -20,37 +20,37 @@ class CfgWeapons }; class hlc_rifle_aks74u: hlc_rifle_ak74 { - ACE_barrelTwist=6.3000002; + ACE_barrelTwist=0.16002; ACE_barrelLength=8.3000002; }; class hlc_rifle_ak47: hlc_rifle_ak74 { - ACE_barrelTwist=9.4499998; + ACE_barrelTwist=0.24003; ACE_barrelLength=16.299999; }; class hlc_rifle_akm: hlc_rifle_ak47 { - ACE_barrelTwist=7.8699999; + ACE_barrelTwist=0.199898; ACE_barrelLength=16.299999; }; class hlc_rifle_rpk: hlc_rifle_ak47 { - ACE_barrelTwist=9.4499998; + ACE_barrelTwist=0.24003; ACE_barrelLength=23.200001; }; class hlc_rifle_rpk74n: hlc_rifle_rpk { - ACE_barrelTwist=9.4499998; + ACE_barrelTwist=0.24003; ACE_barrelLength=23.200001; }; class hlc_rifle_aek971: hlc_rifle_ak74 { - ACE_barrelTwist=9.5; + ACE_barrelTwist=0.2413; ACE_barrelLength=17; }; class hlc_rifle_saiga12k: hlc_rifle_ak47 { - ACE_barrelTwist=0; + ACE_barrelTwist=0.0; ACE_twistDirection=0; ACE_barrelLength=16.9; }; diff --git a/optionals/compat_hlcmods_aug/CfgWeapons.hpp b/optionals/compat_hlcmods_aug/CfgWeapons.hpp index b46cf485e1..6f96f5bfc0 100644 --- a/optionals/compat_hlcmods_aug/CfgWeapons.hpp +++ b/optionals/compat_hlcmods_aug/CfgWeapons.hpp @@ -5,47 +5,47 @@ class CfgWeapons class hlc_aug_base; class hlc_rifle_aug: hlc_aug_base { - ACE_barrelTwist=9; + ACE_barrelTwist=0.2286; ACE_barrelLength=20; }; class hlc_rifle_auga1carb: hlc_rifle_aug { - ACE_barrelTwist=9; + ACE_barrelTwist=0.2286; ACE_barrelLength=16; }; class hlc_rifle_aughbar: hlc_rifle_aug { - ACE_barrelTwist=9; + ACE_barrelTwist=0.2286; ACE_barrelLength=24; }; class hlc_rifle_augpara: hlc_rifle_aug { - ACE_barrelTwist=9; + ACE_barrelTwist=0.2286; ACE_barrelLength=16.5; }; class hlc_rifle_auga2: hlc_rifle_aug { - ACE_barrelTwist=9; + ACE_barrelTwist=0.2286; ACE_barrelLength=20; }; class hlc_rifle_auga2para: hlc_rifle_auga2 { - ACE_barrelTwist=9; + ACE_barrelTwist=0.2286; ACE_barrelLength=16.5; }; class hlc_rifle_auga2carb: hlc_rifle_auga2 { - ACE_barrelTwist=9; + ACE_barrelTwist=0.2286; ACE_barrelLength=18; }; class hlc_rifle_auga2lsw: hlc_rifle_aughbar { - ACE_barrelTwist=9; + ACE_barrelTwist=0.2286; ACE_barrelLength=24; }; class hlc_rifle_auga3: hlc_rifle_aug { - ACE_barrelTwist=9; + ACE_barrelTwist=0.2286; ACE_barrelLength=18; }; }; \ No newline at end of file diff --git a/optionals/compat_hlcmods_fal/CfgWeapons.hpp b/optionals/compat_hlcmods_fal/CfgWeapons.hpp index 05a17d8eb4..af79bf2a38 100644 --- a/optionals/compat_hlcmods_fal/CfgWeapons.hpp +++ b/optionals/compat_hlcmods_fal/CfgWeapons.hpp @@ -4,47 +4,47 @@ class CfgWeapons class hlc_fal_base; class hlc_rifle_falosw: hlc_fal_base { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=13; }; class hlc_rifle_osw_GL: hlc_rifle_falosw { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=13; }; class hlc_rifle_SLR: hlc_fal_base { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=21.700001; }; class hlc_rifle_STG58F: hlc_fal_base { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=21; }; class hlc_rifle_FAL5061: hlc_fal_base { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=18; }; class hlc_rifle_L1A1SLR: hlc_rifle_SLR { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=21.700001; }; class hlc_rifle_c1A1: hlc_rifle_SLR { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=21.700001; }; class hlc_rifle_LAR: hlc_rifle_FAL5061 { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=21; }; class hlc_rifle_SLRchopmod: hlc_rifle_FAL5061 { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=18; }; }; \ No newline at end of file diff --git a/optionals/compat_hlcmods_g3/CfgWeapons.hpp b/optionals/compat_hlcmods_g3/CfgWeapons.hpp index e45fe34048..8cb407d88b 100644 --- a/optionals/compat_hlcmods_g3/CfgWeapons.hpp +++ b/optionals/compat_hlcmods_g3/CfgWeapons.hpp @@ -4,42 +4,42 @@ class CfgWeapons class hlc_g3_base; class hlc_rifle_g3sg1: hlc_g3_base { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=17.700001; }; class hlc_rifle_psg1: hlc_rifle_g3sg1 { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=25.6; }; class hlc_rifle_g3a3: hlc_rifle_g3sg1 { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=17.700001; }; class hlc_rifle_g3a3ris: hlc_rifle_g3a3 { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=17.700001; }; class hlc_rifle_g3ka4: hlc_rifle_g3a3 { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=12.4; }; class HLC_Rifle_g3ka4_GL: hlc_rifle_g3ka4 { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=12.4; }; class hlc_rifle_hk51: hlc_rifle_g3sg1 { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=8.3100004; }; class hlc_rifle_hk53: hlc_rifle_g3sg1 { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=8.3100004; }; }; \ No newline at end of file diff --git a/optionals/compat_hlcmods_m14/CfgWeapons.hpp b/optionals/compat_hlcmods_m14/CfgWeapons.hpp index 01a67ff063..867a2caed8 100644 --- a/optionals/compat_hlcmods_m14/CfgWeapons.hpp +++ b/optionals/compat_hlcmods_m14/CfgWeapons.hpp @@ -5,12 +5,12 @@ class CfgWeapons class hlc_rifle_M14; class hlc_M14_base: Rifle_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=22; }; class hlc_rifle_m14sopmod: hlc_rifle_M14 { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=18; }; }; diff --git a/optionals/compat_hlcmods_m60e4/CfgWeapons.hpp b/optionals/compat_hlcmods_m60e4/CfgWeapons.hpp index 9532c1968d..90108a8d68 100644 --- a/optionals/compat_hlcmods_m60e4/CfgWeapons.hpp +++ b/optionals/compat_hlcmods_m60e4/CfgWeapons.hpp @@ -4,12 +4,12 @@ class CfgWeapons class hlc_M60e4_base; class hlc_lmg_M60E4: hlc_M60e4_base { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=17; }; class hlc_lmg_m60: hlc_M60e4_base { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=22; }; }; diff --git a/optionals/compat_rh_de/CfgWeapons.hpp b/optionals/compat_rh_de/CfgWeapons.hpp index 8fdff293c9..1a70e3ef26 100644 --- a/optionals/compat_rh_de/CfgWeapons.hpp +++ b/optionals/compat_rh_de/CfgWeapons.hpp @@ -4,137 +4,137 @@ class CfgWeapons class RH_Pistol_Base_F; class RH_deagle: RH_Pistol_Base_F { - ACE_barrelTwist=19; + ACE_barrelTwist=0.4826; ACE_barrelLength=6; }; class RH_mateba: Pistol_Base_F { - ACE_barrelTwist=14; + ACE_barrelTwist=0.3556; ACE_barrelLength=6; }; class RH_mp412: Pistol_Base_F { - ACE_barrelTwist=10; + ACE_barrelTwist=0.254; ACE_barrelLength=6; }; class RH_python: Pistol_Base_F { - ACE_barrelTwist=14; + ACE_barrelTwist=0.3556; ACE_barrelLength=6; }; class RH_bull: RH_python { - ACE_barrelTwist=24; + ACE_barrelTwist=0.6096; ACE_barrelLength=6.5; }; class RH_ttracker: Pistol_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=4; }; class RH_cz75: RH_Pistol_Base_F { - ACE_barrelTwist=9.7; + ACE_barrelTwist=0.24638; ACE_barrelLength=4.7; }; class RH_p226: RH_Pistol_Base_F { - ACE_barrelTwist=9.8; + ACE_barrelTwist=0.24892; ACE_barrelLength=4.4; }; class RH_sw659: RH_Pistol_Base_F { - ACE_barrelTwist=9.8; + ACE_barrelTwist=0.24892; ACE_barrelLength=7.44; }; class RH_usp: RH_Pistol_Base_F { - ACE_barrelTwist=16; + ACE_barrelTwist=0.4064; ACE_barrelLength=4.41; }; class RH_uspm: RH_Pistol_Base_F { - ACE_barrelTwist=16; + ACE_barrelTwist=0.4064; ACE_barrelLength=6; }; class RH_kimber: RH_Pistol_Base_F { - ACE_barrelTwist=16; + ACE_barrelTwist=0.4064; ACE_barrelLength=5; }; class RH_m1911: RH_Pistol_Base_F { - ACE_barrelTwist=16; + ACE_barrelTwist=0.4064; ACE_barrelLength=5; }; class RH_tt33: RH_Pistol_Base_F { - ACE_barrelTwist=9.45; + ACE_barrelTwist=0.24003; ACE_barrelLength=4.6; }; class RH_mak: RH_Pistol_Base_F { - ACE_barrelTwist=9.45; + ACE_barrelTwist=0.24003; ACE_barrelLength=3.68; }; class RH_mk2: RH_Pistol_Base_F { - ACE_barrelTwist=16; + ACE_barrelTwist=0.4064; ACE_barrelLength=4; }; class RH_m9: RH_Pistol_Base_F { - ACE_barrelTwist=9.8; + ACE_barrelTwist=0.24892; ACE_barrelLength=4.9; }; class RH_g18: RH_Pistol_Base_F { - ACE_barrelTwist=9.8; + ACE_barrelTwist=0.24892; ACE_barrelLength=4.49; }; class RH_g17: RH_Pistol_Base_F { - ACE_barrelTwist=9.8; + ACE_barrelTwist=0.24892; ACE_barrelLength=4.49; }; class RH_g19: RH_Pistol_Base_F { - ACE_barrelTwist=9.8; + ACE_barrelTwist=0.24892; ACE_barrelLength=4; }; class RH_gsh18: RH_Pistol_Base_F { - ACE_barrelTwist=9.8; + ACE_barrelTwist=0.24892; ACE_barrelLength=4.1; }; class RH_fnp45: RH_Pistol_Base_F { - ACE_barrelTwist=16; + ACE_barrelTwist=0.4064; ACE_barrelLength=4.5; }; class RH_fn57: RH_fnp45 { - ACE_barrelTwist=9.1; + ACE_barrelTwist=0.23114; ACE_barrelLength=4.8; }; class RH_vp70: RH_Pistol_Base_F { - ACE_barrelTwist=9.8; + ACE_barrelTwist=0.24892; ACE_barrelLength=4.6; }; class RH_vz61: RH_Pistol_Base_F { - ACE_barrelTwist=16; + ACE_barrelTwist=0.4064; ACE_barrelLength=4.5; }; class RH_tec9: RH_Pistol_Base_F { - ACE_barrelTwist=9.8; + ACE_barrelTwist=0.24892; ACE_barrelLength=5; }; class RH_muzi: RH_Pistol_Base_F { - ACE_barrelTwist=9.8; + ACE_barrelTwist=0.24892; ACE_barrelLength=5; }; }; \ No newline at end of file diff --git a/optionals/compat_rh_m4/CfgWeapons.hpp b/optionals/compat_rh_m4/CfgWeapons.hpp index 69536e9302..94f69a3562 100644 --- a/optionals/compat_rh_m4/CfgWeapons.hpp +++ b/optionals/compat_rh_m4/CfgWeapons.hpp @@ -4,127 +4,127 @@ class CfgWeapons class Rifle_Base_F; class RH_ar10: Rifle_Base_F { - ACE_barrelTwist=11.25; + ACE_barrelTwist=0.28575; ACE_barrelLength=20.8; }; class RH_m110: Rifle_Base_F { - ACE_barrelTwist=10; + ACE_barrelTwist=0.254; ACE_barrelLength=20; }; class RH_Mk11: RH_m110 { - ACE_barrelTwist=11.25; + ACE_barrelTwist=0.28575; ACE_barrelLength=24; }; class RH_SR25EC: RH_m110 { - ACE_barrelTwist=11.25; + ACE_barrelTwist=0.28575; ACE_barrelLength=20; }; class RH_m4: Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=14.5; }; class RH_M4_ris: RH_m4 { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=14.5; }; class RH_M4A1_ris: RH_M4_ris { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=14.5; }; class RH_M4m: RH_M4A1_ris { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=10.5; }; class RH_M4sbr: RH_M4A1_ris { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=10.5; }; class RH_hb: Rifle_Base_F { - ACE_barrelTwist=8; + ACE_barrelTwist=0.2032; ACE_barrelLength=6; }; class RH_hb_b: RH_hb { - ACE_barrelTwist=8; + ACE_barrelTwist=0.2032; ACE_barrelLength=6; }; class RH_sbr9: Rifle_Base_F { - ACE_barrelTwist=9.7; + ACE_barrelTwist=0.24638; ACE_barrelLength=9; }; class RH_M4A6: RH_M4A1_ris { - ACE_barrelTwist=10; + ACE_barrelTwist=0.254; ACE_barrelLength=14.5; }; class RH_M16a1: RH_m4 { - ACE_barrelTwist=14; + ACE_barrelTwist=0.3556; ACE_barrelLength=20; }; class RH_M16A2: RH_m4 { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=20; }; class RH_M16A4 : RH_M4_ris { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=20; }; class RH_M16A3: RH_M16A4 { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=20; }; class RH_M16A4_m: RH_M16A4 { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=20; }; class RH_M16A6: RH_M16A4 { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=20; }; class RH_Mk12mod1: RH_M16A4 { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=18; }; class RH_SAMR: RH_Mk12mod1 { - ACE_barrelTwist=7.7; + ACE_barrelTwist=0.19558; ACE_barrelLength=20; }; class RH_Hk416: RH_M4A1_ris { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=14.5; }; class RH_Hk416s: RH_M4sbr { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=10.4; }; class RH_Hk416c: RH_M4sbr { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=9; }; class RH_M27IAR: RH_Mk12mod1 { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=16.5; }; }; \ No newline at end of file diff --git a/optionals/compat_rh_pdw/CfgWeapons.hpp b/optionals/compat_rh_pdw/CfgWeapons.hpp index b009a202ce..27a5a23493 100644 --- a/optionals/compat_rh_pdw/CfgWeapons.hpp +++ b/optionals/compat_rh_pdw/CfgWeapons.hpp @@ -4,7 +4,7 @@ class CfgWeapons class Rifle_Base_F; class RH_PDW: Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=10; }; }; diff --git a/optionals/compat_rhs_afrf3/CfgWeapons.hpp b/optionals/compat_rhs_afrf3/CfgWeapons.hpp index 49573b164a..b8bd997a58 100644 --- a/optionals/compat_rhs_afrf3/CfgWeapons.hpp +++ b/optionals/compat_rhs_afrf3/CfgWeapons.hpp @@ -4,57 +4,57 @@ class CfgWeapons class hgun_Rook40_F; class rhs_weap_pya: hgun_Rook40_F { - ACE_barrelTwist=10; + ACE_barrelTwist=0.254; ACE_barrelLength=4.4; }; class Pistol_Base_F; class rhs_weap_makarov_pmm: rhs_weap_pya { - ACE_barrelTwist=9.45; + ACE_barrelTwist=0.24003; ACE_barrelLength=3.68; }; class rhs_weap_ak74m_Base_F; class rhs_weap_ak74m: rhs_weap_ak74m_Base_F { - ACE_barrelTwist=7.87; + ACE_barrelTwist=0.199898; ACE_barrelLength=16.3; }; class rhs_weap_akm: rhs_weap_ak74m { - ACE_barrelTwist=7.87; + ACE_barrelTwist=0.199898; ACE_barrelLength=16.3; }; class rhs_weap_aks74; class rhs_weap_aks74u: rhs_weap_aks74 { - ACE_barrelTwist=6.3; + ACE_barrelTwist=0.16002; ACE_barrelLength=8.3; }; class rhs_weap_svd: rhs_weap_ak74m { - ACE_barrelTwist=9.4; + ACE_barrelTwist=0.23876; ACE_barrelLength=24.4; }; class rhs_weap_svdp; class rhs_weap_svds: rhs_weap_svdp { - ACE_barrelTwist=9.4; + ACE_barrelTwist=0.23876; ACE_barrelLength=22.2; }; class rhs_pkp_base; class rhs_weap_pkp: rhs_pkp_base { - ACE_barrelTwist=9.45; + ACE_barrelTwist=0.24003; ACE_barrelLength=25.9; }; class rhs_weap_pkm: rhs_weap_pkp { - ACE_barrelTwist=9.45; + ACE_barrelTwist=0.24003; ACE_barrelLength=25.4; }; class rhs_weap_rpk74m: rhs_weap_pkp { - ACE_barrelTwist=7.68; + ACE_barrelTwist=0.195072; ACE_barrelLength=23.2; }; diff --git a/optionals/compat_rhs_usf3/CfgWeapons.hpp b/optionals/compat_rhs_usf3/CfgWeapons.hpp index a9791cd6b8..e394762bfe 100644 --- a/optionals/compat_rhs_usf3/CfgWeapons.hpp +++ b/optionals/compat_rhs_usf3/CfgWeapons.hpp @@ -6,69 +6,69 @@ class CfgWeapons class srifle_EBR_F; class rhs_weap_XM2010_Base_F: Rifle_Base_F { - ACE_barrelTwist=10; + ACE_barrelTwist=0.254; ACE_barrelLength=24; }; class arifle_MX_Base_F; class rhs_weap_m4_Base: arifle_MX_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=14.5; }; class rhs_weap_m4a1; class rhs_weap_mk18: rhs_weap_m4a1 { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=10.3; }; class rhs_weap_m16a4: rhs_weap_m4_Base { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=20; }; class rhs_M249_base; class rhs_weap_m249_pip: rhs_M249_base { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=16.3; }; class weap_m240_base; class rhs_weap_m240B: weap_m240_base { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=24.8; }; class rhs_weap_m14ebrri: srifle_EBR_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=22; }; class rhs_weap_sr25: rhs_weap_m14ebrri { - ACE_barrelTwist=11.25; + ACE_barrelTwist=0.28575; ACE_barrelLength=24; }; class rhs_weap_sr25_ec: rhs_weap_sr25 { - ACE_barrelTwist=11.25; + ACE_barrelTwist=0.28575; ACE_barrelLength=20; }; class rhs_weap_M590_5RD: Rifle_Base_F { - ACE_barrelTwist=0; + ACE_barrelTwist=0.0; ACE_twistDirection=0; ACE_barrelLength=18.5; }; class rhs_weap_M590_8RD: rhs_weap_M590_5RD { - ACE_barrelTwist=0; + ACE_barrelTwist=0.0; ACE_twistDirection=0; ACE_barrelLength=20; }; class hgun_ACPC2_F; class rhsusf_weap_m1911a1: hgun_ACPC2_F { - ACE_barrelTwist=16; + ACE_barrelTwist=0.4064; ACE_barrelLength=5; }; From 4b3a11168114ce199caf22e9a6001c7695f707b5 Mon Sep 17 00:00:00 2001 From: KoffeinFlummi Date: Thu, 7 May 2015 18:44:01 +0200 Subject: [PATCH 075/217] Convert ACE_barrelLength to meters --- addons/ballistics/CfgWeapons.hpp | 82 +- extras/CfgWeaponsReference.hpp | 738 +++++++++--------- optionals/compat_hlc_ar15/CfgWeapons.hpp | 24 +- optionals/compat_hlc_wp_mp5/CfgWeapons.hpp | 22 +- optionals/compat_hlcmods_ak/CfgWeapons.hpp | 20 +- optionals/compat_hlcmods_aug/CfgWeapons.hpp | 18 +- optionals/compat_hlcmods_fal/CfgWeapons.hpp | 18 +- optionals/compat_hlcmods_g3/CfgWeapons.hpp | 16 +- optionals/compat_hlcmods_m14/CfgWeapons.hpp | 4 +- optionals/compat_hlcmods_m60e4/CfgWeapons.hpp | 4 +- optionals/compat_rh_de/CfgWeapons.hpp | 54 +- optionals/compat_rh_m4/CfgWeapons.hpp | 50 +- optionals/compat_rh_pdw/CfgWeapons.hpp | 2 +- optionals/compat_rhs_afrf3/CfgWeapons.hpp | 20 +- optionals/compat_rhs_usf3/CfgWeapons.hpp | 24 +- 15 files changed, 548 insertions(+), 548 deletions(-) diff --git a/addons/ballistics/CfgWeapons.hpp b/addons/ballistics/CfgWeapons.hpp index dbc9293296..59589f73be 100644 --- a/addons/ballistics/CfgWeapons.hpp +++ b/addons/ballistics/CfgWeapons.hpp @@ -66,7 +66,7 @@ class CfgWeapons { }; initSpeed = -1.0; ACE_barrelTwist=0.2286; - ACE_barrelLength=16.0; + ACE_barrelLength=0.4064; class WeaponSlotsInfo: WeaponSlotsInfo { class MuzzleSlot: MuzzleSlot { // Shit is broken again @@ -93,7 +93,7 @@ class CfgWeapons { }; initSpeed = -1.018; ACE_barrelTwist=0.2286; - ACE_barrelLength=18; + ACE_barrelLength=0.4572; class Single: Single { dispersion = 0.00029; // radians. Equal to 1 MOA. // 6.5mm is easily capable of this in a half-tuned rifle. @@ -138,7 +138,7 @@ class CfgWeapons { }; }; ACE_barrelTwist=0.1778; - ACE_barrelLength=12.5; + ACE_barrelLength=0.3175; class manual: Mode_FullAuto { dispersion = 0.00175; // radians. Equal to 6 MOA. }; @@ -155,7 +155,7 @@ class CfgWeapons { }; }; ACE_barrelTwist=0.3048; - ACE_barrelLength=18.1; + ACE_barrelLength=0.45974; class FullAuto: Mode_FullAuto { dispersion = 0.00175; // radians. Equal to 6 MOA. }; @@ -242,7 +242,7 @@ class CfgWeapons { class hgun_P07_F: Pistol_Base_F { initSpeed = -0.9778; ACE_barrelTwist=0.254; - ACE_barrelLength=4; + ACE_barrelLength=0.1016; class WeaponSlotsInfo: WeaponSlotsInfo { class MuzzleSlot: MuzzleSlot { linkProxy = "\A3\data_f\proxies\weapon_slots\MUZZLE"; @@ -254,7 +254,7 @@ class CfgWeapons { class hgun_Rook40_F: Pistol_Base_F { initSpeed = -1.0; ACE_barrelTwist=0.254; - ACE_barrelLength=4.4; + ACE_barrelLength=0.11176; class WeaponSlotsInfo: WeaponSlotsInfo { class MuzzleSlot: MuzzleSlot { linkProxy = "\A3\data_f\proxies\weapon_slots\MUZZLE"; @@ -266,7 +266,7 @@ class CfgWeapons { class hgun_ACPC2_F: Pistol_Base_F { initSpeed = -1.0; ACE_barrelTwist=0.4064; - ACE_barrelLength=5; + ACE_barrelLength=0.127; class WeaponSlotsInfo: WeaponSlotsInfo { class MuzzleSlot: MuzzleSlot { compatibleItems[] += {"ACE_muzzle_mzls_smg_01"}; @@ -277,7 +277,7 @@ class CfgWeapons { class hgun_Pistol_heavy_01_F: Pistol_Base_F { initSpeed = -0.96; ACE_barrelTwist=0.4064; - ACE_barrelLength=4.5; + ACE_barrelLength=0.1143; class WeaponSlotsInfo: WeaponSlotsInfo { class MuzzleSlot: MuzzleSlot { compatibleItems[] += {"ACE_muzzle_mzls_smg_01"}; @@ -288,7 +288,7 @@ class CfgWeapons { class hgun_Pistol_heavy_02_F: Pistol_Base_F { initSpeed = -0.92; ACE_barrelTwist=0.4064; - ACE_barrelLength=3; + ACE_barrelLength=0.0762; /* class WeaponSlotsInfo: WeaponSlotsInfo { class MuzzleSlot { @@ -301,7 +301,7 @@ class CfgWeapons { class hgun_PDW2000_F: pdw2000_base_F { initSpeed = -1.157; ACE_barrelTwist=0.2286; - ACE_barrelLength=7; + ACE_barrelLength=0.1778; }; class arifle_Katiba_F: arifle_katiba_Base_F { magazines[] = { @@ -311,7 +311,7 @@ class CfgWeapons { }; initSpeed = -1.08; ACE_barrelTwist=0.2032; - ACE_barrelLength=28.7; + ACE_barrelLength=0.72898; }; class arifle_Katiba_C_F: arifle_katiba_Base_F { magazines[] = { @@ -321,7 +321,7 @@ class CfgWeapons { }; initSpeed = -1.07; ACE_barrelTwist=0.2032; - ACE_barrelLength=26.8; + ACE_barrelLength=0.68072; }; class arifle_Katiba_GL_F: arifle_katiba_Base_F { magazines[] = { @@ -331,7 +331,7 @@ class CfgWeapons { }; initSpeed = -1.08; ACE_barrelTwist=0.2032; - ACE_barrelLength=28.7; + ACE_barrelLength=0.72898; }; class arifle_MX_F: arifle_MX_Base_F { magazines[] = { @@ -341,7 +341,7 @@ class CfgWeapons { }; initSpeed = -0.99; ACE_barrelTwist=0.2286; - ACE_barrelLength=14.5; + ACE_barrelLength=0.3683; }; class arifle_MX_GL_F: arifle_MX_Base_F { magazines[] = { @@ -351,12 +351,12 @@ class CfgWeapons { }; initSpeed = -0.99; ACE_barrelTwist=0.2286; - ACE_barrelLength=14.5; + ACE_barrelLength=0.3683; }; /* class arifle_MX_SW_F: arifle_MX_Base_F { ACE_barrelTwist=0.2286; - ACE_barrelLength=16.0; + ACE_barrelLength=0.4064; }; */ class arifle_MXC_F: arifle_MX_Base_F { @@ -367,12 +367,12 @@ class CfgWeapons { }; initSpeed = -0.965; ACE_barrelTwist=0.2032; - ACE_barrelLength=10.5; + ACE_barrelLength=0.2667; }; /* class arifle_MXM_F: arifle_MX_Base_F { ACE_barrelTwist=0.2286; - ACE_barrelLength=18; + ACE_barrelLength=0.4572; }; */ class arifle_SDAR_F: SDAR_base_F { @@ -389,12 +389,12 @@ class CfgWeapons { }; initSpeed = -0.989; ACE_barrelTwist=0.28575; - ACE_barrelLength=18; + ACE_barrelLength=0.4572; }; class SMG_02_F: SMG_02_base_F { initSpeed = -1.054; ACE_barrelTwist=0.254; - ACE_barrelLength=7.7; + ACE_barrelLength=0.19558; }; class arifle_TRG20_F: Tavor_base_F { magazines[] = { @@ -409,7 +409,7 @@ class CfgWeapons { }; initSpeed = -0.95; ACE_barrelTwist=0.1778; - ACE_barrelLength=15; + ACE_barrelLength=0.381; }; class arifle_TRG21_F: Tavor_base_F { magazines[] = { @@ -424,7 +424,7 @@ class CfgWeapons { }; initSpeed = -0.989; ACE_barrelTwist=0.1778; - ACE_barrelLength=18.1; + ACE_barrelLength=0.45974; }; class arifle_TRG21_GL_F: arifle_TRG21_F { magazines[] = { @@ -439,12 +439,12 @@ class CfgWeapons { }; initSpeed = -0.989; ACE_barrelTwist=0.1778; - ACE_barrelLength=18.1; + ACE_barrelLength=0.45974; }; /* class LMG_Zafir_F: Rifle_Long_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=18.1; + ACE_barrelLength=0.45974; }; */ class arifle_Mk20_F: mk20_base_F { @@ -460,7 +460,7 @@ class CfgWeapons { }; initSpeed = -0.98; ACE_barrelTwist=0.1778; - ACE_barrelLength=17.4; + ACE_barrelLength=0.44196; }; class arifle_Mk20C_F: mk20_base_F { magazines[] = { @@ -475,7 +475,7 @@ class CfgWeapons { }; initSpeed = -0.956; ACE_barrelTwist=0.1778; - ACE_barrelLength=16; + ACE_barrelLength=0.4064; }; class arifle_Mk20_GL_F: mk20_base_F { magazines[] = { @@ -490,12 +490,12 @@ class CfgWeapons { }; initSpeed = -0.956; ACE_barrelTwist=0.1778; - ACE_barrelLength=16; + ACE_barrelLength=0.4064; }; class SMG_01_F: SMG_01_Base { initSpeed = -1.016; ACE_barrelTwist=0.4064; - ACE_barrelLength=5.5; + ACE_barrelLength=0.1397; }; class srifle_DMR_01_F: DMR_01_base_F { magazines[] = { @@ -504,7 +504,7 @@ class CfgWeapons { }; initSpeed = -1.025; ACE_barrelTwist=0.2413; - ACE_barrelLength=24; + ACE_barrelLength=0.6096; }; class srifle_EBR_F: EBR_base_F { magazines[] = { @@ -519,19 +519,19 @@ class CfgWeapons { }; initSpeed = -0.9724; ACE_barrelTwist=0.3048; - ACE_barrelLength=18; + ACE_barrelLength=0.4572; }; /* class LMG_Mk200_F: Rifle_Long_Base_F { initSpeed = -1.0; ACE_barrelTwist=0.1778; - ACE_barrelLength=12.5; + ACE_barrelLength=0.3175; }; */ class srifle_LRR_F: LRR_base_F { initSpeed = -1.0; ACE_barrelTwist=0.3302; - ACE_barrelLength=29; + ACE_barrelLength=0.7366; }; class srifle_GM6_F: GM6_base_F { magazines[] = { @@ -543,7 +543,7 @@ class CfgWeapons { }; initSpeed = -1.0; ACE_barrelTwist=0.381; - ACE_barrelLength=36.6; + ACE_barrelLength=0.92964; }; class srifle_DMR_02_F: DMR_02_base_F { magazines[] = { @@ -556,7 +556,7 @@ class CfgWeapons { }; initSpeed = -0.962; ACE_barrelTwist=0.254; - ACE_barrelLength=20; + ACE_barrelLength=0.508; }; class srifle_DMR_03_F: DMR_03_base_F { magazines[] = { @@ -571,17 +571,17 @@ class CfgWeapons { }; initSpeed = -0.9843; ACE_barrelTwist=0.254; - ACE_barrelLength=20; + ACE_barrelLength=0.508; }; class srifle_DMR_04_F: DMR_04_base_F { initSpeed = -1.0; ACE_barrelTwist=0.2032; - ACE_barrelLength=17.72; + ACE_barrelLength=0.450088; }; class srifle_DMR_05_blk_F: DMR_05_base_F { initSpeed = -1.0; ACE_barrelTwist=0.359918; - ACE_barrelLength=24.41; + ACE_barrelLength=0.620014; }; class srifle_DMR_06_camo_F: DMR_06_base_F { magazines[] = { @@ -596,17 +596,17 @@ class CfgWeapons { }; initSpeed = -0.9916; ACE_barrelTwist=0.3048; - ACE_barrelLength=22; + ACE_barrelLength=0.5588; }; class MMG_01_hex_F: MMG_01_base_F { initSpeed = -1.0; ACE_barrelTwist=0.359918; - ACE_barrelLength=21.65; + ACE_barrelLength=0.54991; }; class MMG_02_camo_F: MMG_02_base_F { initSpeed = -1.0; ACE_barrelTwist=0.23495; - ACE_barrelLength=24; + ACE_barrelLength=0.6096; }; class HMG_127 : LMG_RCWS { @@ -616,7 +616,7 @@ class CfgWeapons { class HMG_M2: HMG_01 { initSpeed = -1.0; ACE_barrelTwist=0.3048; - ACE_barrelLength=45; + ACE_barrelLength=1.143; }; /* Silencers */ diff --git a/extras/CfgWeaponsReference.hpp b/extras/CfgWeaponsReference.hpp index 4aae239073..3aecdb325c 100644 --- a/extras/CfgWeaponsReference.hpp +++ b/extras/CfgWeaponsReference.hpp @@ -28,1867 +28,1867 @@ class CfgWeapons class hgun_P07_F : Pistol_Base_F { ACE_barrelTwist=0.254; - ACE_barrelLength=4; + ACE_barrelLength=0.1016; }; class hgun_Rook40_F : Pistol_Base_F { ACE_barrelTwist=0.254; - ACE_barrelLength=4.4; + ACE_barrelLength=0.11176; }; class hgun_Pistol_heavy_01_F : Pistol_Base_F { ACE_barrelTwist=0.4064; - ACE_barrelLength=4.5; + ACE_barrelLength=0.1143; }; class hgun_Pistol_heavy_02_F : Pistol_Base_F { ACE_barrelTwist=0.4064; - ACE_barrelLength=3; + ACE_barrelLength=0.0762; }; class hgun_ACPC2_F : Pistol_Base_F { ACE_barrelTwist=0.4064; - ACE_barrelLength=5; + ACE_barrelLength=0.127; }; class hgun_PDW2000_F : PDW2000_Base_F { ACE_barrelTwist=0.2286; - ACE_barrelLength=7; + ACE_barrelLength=0.1778; }; class arifle_Katiba_F : arifle_Katiba_Base_F { ACE_barrelTwist=0.2032; - ACE_barrelLength=28.7; + ACE_barrelLength=0.72898; }; class arifle_Katiba_C_F : arifle_Katiba_Base_F { ACE_barrelTwist=0.2032; - ACE_barrelLength=26.8; + ACE_barrelLength=0.68072; }; class arifle_Katiba_GL_F : arifle_Katiba_Base_F { ACE_barrelTwist=0.2032; - ACE_barrelLength=28.7; + ACE_barrelLength=0.72898; }; class arifle_MX_F: arifle_MX_Base_F { ACE_barrelTwist=0.2286; - ACE_barrelLength=14.5; + ACE_barrelLength=0.3683; }; class arifle_MX_GL_F: arifle_MX_Base_F { ACE_barrelTwist=0.2286; - ACE_barrelLength=14.5; + ACE_barrelLength=0.3683; }; class arifle_MX_SW_F: arifle_MX_Base_F { ACE_barrelTwist=0.2286; - ACE_barrelLength=16.0; + ACE_barrelLength=0.4064; }; class arifle_MXC_F: arifle_MX_Base_F { ACE_barrelTwist=0.2032; - ACE_barrelLength=10.5; + ACE_barrelLength=0.2667; }; class arifle_MXM_F: arifle_MX_Base_F { ACE_barrelTwist=0.2286; - ACE_barrelLength=18; + ACE_barrelLength=0.4572; }; class arifle_SDAR_F : SDAR_base_F { ACE_barrelTwist=0.28575; - ACE_barrelLength=18; + ACE_barrelLength=0.4572; }; class SMG_02_F : SMG_02_Base_F { ACE_barrelTwist=0.254; - ACE_barrelLength=7.7; + ACE_barrelLength=0.19558; }; class arifle_TRG20_F : Tavor_base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=15; + ACE_barrelLength=0.381; }; class arifle_TRG21_F : Tavor_base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=18.1; + ACE_barrelLength=0.45974; }; class LMG_Zafir_F : Rifle_Long_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=18.1; + ACE_barrelLength=0.45974; }; class arifle_Mk20_F : Mk20_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=17.4; + ACE_barrelLength=0.44196; }; class arifle_Mk20C_F : Mk20_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=16; + ACE_barrelLength=0.4064; }; class arifle_Mk20_GL_F : Mk20_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=16; + ACE_barrelLength=0.4064; }; class SMG_01_F : SMG_01_Base { ACE_barrelTwist=0.4064; - ACE_barrelLength=5.5; + ACE_barrelLength=0.1397; }; class srifle_DMR_01_F : DMR_01_base_F { ACE_barrelTwist=0.2413; - ACE_barrelLength=24; + ACE_barrelLength=0.6096; }; class srifle_EBR_F : EBR_base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=24; + ACE_barrelLength=0.6096; }; class LMG_Mk200_F : Rifle_Long_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=12.5; + ACE_barrelLength=0.3175; }; class srifle_LRR_F : LRR_base_F { ACE_barrelTwist=0.3302; - ACE_barrelLength=29; + ACE_barrelLength=0.7366; }; class srifle_GM6_F : GM6_base_F { ACE_barrelTwist=0.381; - ACE_barrelLength=43.3; + ACE_barrelLength=1.09982; }; class srifle_DMR_02_F: DMR_02_base_F { ACE_barrelTwist=0.254; - ACE_barrelLength=26; + ACE_barrelLength=0.6604; }; class srifle_DMR_03_F: DMR_03_base_F { ACE_barrelTwist=0.254; - ACE_barrelLength=20; + ACE_barrelLength=0.508; }; class srifle_DMR_04_F: DMR_04_base_F { ACE_barrelTwist=0.2032; - ACE_barrelLength=17.72; + ACE_barrelLength=0.450088; }; class srifle_DMR_05_blk_F: DMR_05_base_F { ACE_barrelTwist=0.359918; - ACE_barrelLength=24.41; + ACE_barrelLength=0.620014; }; class srifle_DMR_06_camo_F: DMR_06_base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=22; + ACE_barrelLength=0.5588; }; class MMG_01_hex_F: MMG_01_base_F { ACE_barrelTwist=0.359918; - ACE_barrelLength=21.65; + ACE_barrelLength=0.54991; }; class MMG_02_camo_F: MMG_02_base_F { ACE_barrelTwist=0.23495; - ACE_barrelLength=24; + ACE_barrelLength=0.6096; }; class HMG_M2 : HMG_127 { ACE_barrelTwist=0.3048; - ACE_barrelLength=45; + ACE_barrelLength=1.143; }; class RH_deagle : Pistol_Base_F { ACE_barrelTwist=0.4826; - ACE_barrelLength=6; + ACE_barrelLength=0.1524; }; class RH_sw659 : Pistol_Base_F { ACE_barrelTwist=0.24892; - ACE_barrelLength=7.44; + ACE_barrelLength=0.188976; }; class RH_usp : Pistol_Base_F { ACE_barrelTwist=0.4064; - ACE_barrelLength=4.41; + ACE_barrelLength=0.112014; }; class RH_uspm : Pistol_Base_F { ACE_barrelTwist=0.4064; - ACE_barrelLength=6; + ACE_barrelLength=0.1524; }; class RH_mak : Pistol_Base_F { ACE_barrelTwist=0.24003; - ACE_barrelLength=3.68; + ACE_barrelLength=0.093472; }; class RH_m1911 : Pistol_Base_F { ACE_barrelTwist=0.4064; - ACE_barrelLength=5; + ACE_barrelLength=0.127; }; class RH_kimber : Pistol_Base_F { ACE_barrelTwist=0.4064; - ACE_barrelLength=5; + ACE_barrelLength=0.127; }; class RH_m9 : Pistol_Base_F { ACE_barrelTwist=0.24892; - ACE_barrelLength=4.9; + ACE_barrelLength=0.12446; }; class RH_vz61 : Pistol_Base_F { ACE_barrelTwist=0.4064; - ACE_barrelLength=4.5; + ACE_barrelLength=0.1143; }; class RH_tec9 : Pistol_Base_F { ACE_barrelTwist=0.24892; - ACE_barrelLength=5; + ACE_barrelLength=0.127; }; class RH_muzi : Pistol_Base_F { ACE_barrelTwist=0.24892; - ACE_barrelLength=5; + ACE_barrelLength=0.127; }; class RH_g18 : Pistol_Base_F { ACE_barrelTwist=0.24892; - ACE_barrelLength=4.49; + ACE_barrelLength=0.114046; }; class RH_g17 : Pistol_Base_F { ACE_barrelTwist=0.24892; - ACE_barrelLength=4.49; + ACE_barrelLength=0.114046; }; class RH_tt33 : Pistol_Base_F { ACE_barrelTwist=0.24003; - ACE_barrelLength=4.6; + ACE_barrelLength=0.11684; }; class RH_mk2 : Pistol_Base_F { ACE_barrelTwist=0.4064; - ACE_barrelLength=4; + ACE_barrelLength=0.1016; }; class RH_p226 : Pistol_Base_F { ACE_barrelTwist=0.24892; - ACE_barrelLength=4.4; + ACE_barrelLength=0.11176; }; class RH_g19 : Pistol_Base_F { ACE_barrelTwist=0.24892; - ACE_barrelLength=4; + ACE_barrelLength=0.1016; }; class RH_gsh18 : Pistol_Base_F { ACE_barrelTwist=0.24892; - ACE_barrelLength=4.1; + ACE_barrelLength=0.10414; }; class RH_mateba : Pistol_Base_F { ACE_barrelTwist=0.3556; - ACE_barrelLength=6; + ACE_barrelLength=0.1524; }; class RH_python : Pistol_Base_F { ACE_barrelTwist=0.3556; - ACE_barrelLength=6; + ACE_barrelLength=0.1524; }; class RH_bull : Pistol_Base_F { ACE_barrelTwist=0.6096; - ACE_barrelLength=6.5; + ACE_barrelLength=0.1651; }; class RH_ttracker : Pistol_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=4; + ACE_barrelLength=0.1016; }; class RH_mp412 : Pistol_Base_F { ACE_barrelTwist=0.254; - ACE_barrelLength=6; + ACE_barrelLength=0.1524; }; class RH_fnp45 : Pistol_Base_F { ACE_barrelTwist=0.4064; - ACE_barrelLength=4.5; + ACE_barrelLength=0.1143; }; class RH_fn57 : Pistol_Base_F { ACE_barrelTwist=0.23114; - ACE_barrelLength=4.8; + ACE_barrelLength=0.12192; }; class RH_vp70 : Pistol_Base_F { ACE_barrelTwist=0.24892; - ACE_barrelLength=4.6; + ACE_barrelLength=0.11684; }; class RH_cz75 : Pistol_Base_F { ACE_barrelTwist=0.24638; - ACE_barrelLength=4.7; + ACE_barrelLength=0.11938; }; class RH_PDW : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=10; + ACE_barrelLength=0.254; }; class RH_hb : Rifle_Base_F { ACE_barrelTwist=0.2032; - ACE_barrelLength=6; + ACE_barrelLength=0.1524; }; class RH_sbr9 : Rifle_Base_F { ACE_barrelTwist=0.24638; - ACE_barrelLength=9; + ACE_barrelLength=0.2286; }; class RH_ar10 : Rifle_Base_F { ACE_barrelTwist=0.28575; - ACE_barrelLength=20.8; + ACE_barrelLength=0.52832; }; class RH_m4 : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=14.5; + ACE_barrelLength=0.3683; }; class RH_M4m : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=10.5; + ACE_barrelLength=0.2667; }; class RH_M4sbr : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=10.5; + ACE_barrelLength=0.2667; }; class RH_M16a1 : Rifle_Base_F { ACE_barrelTwist=0.3556; - ACE_barrelLength=20; + ACE_barrelLength=0.508; }; class RH_M16A2 : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=20; + ACE_barrelLength=0.508; }; class RH_M16A3 : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=20; + ACE_barrelLength=0.508; }; class RH_M16A4 : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=20; + ACE_barrelLength=0.508; }; class RH_M16A6 : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=20; + ACE_barrelLength=0.508; }; class RH_hk416 : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=14.5; + ACE_barrelLength=0.3683; }; class RH_hk416c : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=9; + ACE_barrelLength=0.2286; }; class RH_hk416s : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=10.4; + ACE_barrelLength=0.26416; }; class RH_m27iar : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=16.5; + ACE_barrelLength=0.4191; }; class RH_Mk12mod1 : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=18; + ACE_barrelLength=0.4572; }; class RH_SAMR : Rifle_Base_F { ACE_barrelTwist=0.19558; - ACE_barrelLength=20; + ACE_barrelLength=0.508; }; class RH_m110 : Rifle_Base_F { ACE_barrelTwist=0.254; - ACE_barrelLength=20; + ACE_barrelLength=0.508; }; class RH_mk11 : Rifle_Base_F { ACE_barrelTwist=0.28575; - ACE_barrelLength=24; + ACE_barrelLength=0.6096; }; class RH_sr25ec : Rifle_Base_F { ACE_barrelTwist=0.28575; - ACE_barrelLength=20; + ACE_barrelLength=0.508; }; class hlc_rifle_ak74 : Rifle_Base_F { ACE_barrelTwist=0.199898; - ACE_barrelLength=16.3; + ACE_barrelLength=0.41402; }; class hlc_rifle_aks74u : Rifle_Base_F { ACE_barrelTwist=0.16002; - ACE_barrelLength=8.3; + ACE_barrelLength=0.21082; }; class hlc_rifle_ak47 : Rifle_Base_F { ACE_barrelTwist=0.24003; - ACE_barrelLength=16.3; + ACE_barrelLength=0.41402; }; class hlc_rifle_akm : Rifle_Base_F { ACE_barrelTwist=0.199898; - ACE_barrelLength=16.3; + ACE_barrelLength=0.41402; }; class hlc_rifle_rpk : Rifle_Base_F { ACE_barrelTwist=0.24003; - ACE_barrelLength=23.2; + ACE_barrelLength=0.58928; }; class hlc_rifle_aek971 : Rifle_Base_F { ACE_barrelTwist=0.2413; - ACE_barrelLength=17; + ACE_barrelLength=0.4318; }; class hlc_rifle_saiga12k : Rifle_Base_F { ACE_barrelTwist=0.0; ACE_twistDirection=0; - ACE_barrelLength=16.9; + ACE_barrelLength=0.42926; }; class hlc_ar15_base : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=11.5; + ACE_barrelLength=0.2921; }; class hlc_rifle_bcmjack : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=14.5; + ACE_barrelLength=0.3683; }; class hlc_rifle_Bushmaster300 : Rifle_Base_F { ACE_barrelTwist=0.2032; - ACE_barrelLength=16; + ACE_barrelLength=0.4064; }; class hlc_rifle_SAMR : Rifle_Base_F { ACE_barrelTwist=0.2286; - ACE_barrelLength=16; + ACE_barrelLength=0.4064; }; class hlc_rifle_honeybase : Rifle_Base_F { ACE_barrelTwist=0.2032; - ACE_barrelLength=6; + ACE_barrelLength=0.1524; }; class hlc_rifle_SLRchopmod : Rifle_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=21; + ACE_barrelLength=0.5334; }; class hlc_rifle_LAR : Rifle_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=21; + ACE_barrelLength=0.5334; }; class hlc_rifle_c1A1 : Rifle_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=21.7; + ACE_barrelLength=0.55118; }; class hlc_rifle_FAL5061 : Rifle_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=18; + ACE_barrelLength=0.4572; }; class hlc_rifle_STG58F : Rifle_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=21; + ACE_barrelLength=0.5334; }; class hlc_rifle_SLR : Rifle_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=21.7; + ACE_barrelLength=0.55118; }; class hlc_rifle_falosw : Rifle_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=13; + ACE_barrelLength=0.3302; }; class hlc_rifle_psg1 : Rifle_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=25.6; + ACE_barrelLength=0.65024; }; class hlc_rifle_g3sg1 : Rifle_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=17.7; + ACE_barrelLength=0.44958; }; class hlc_rifle_hk51 : Rifle_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=8.31; + ACE_barrelLength=0.211074; }; class hlc_rifle_hk53 : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=8.31; + ACE_barrelLength=0.211074; }; class hlc_rifle_g3a3 : Rifle_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=17.7; + ACE_barrelLength=0.44958; }; class hlc_M14_base : Rifle_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=22; + ACE_barrelLength=0.5588; }; class hlc_rifle_m14sopmod : Rifle_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=18; + ACE_barrelLength=0.4572; }; class hlc_lmg_M60E4 : Rifle_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=17; + ACE_barrelLength=0.4318; }; class hlc_lmg_m60 : Rifle_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=22; + ACE_barrelLength=0.5588; }; class hlc_smg_mp5k_PDW : Rifle_Base_F { ACE_barrelTwist=0.254; - ACE_barrelLength=4.5; + ACE_barrelLength=0.1143; }; class hlc_smg_mp5a2 : Rifle_Base_F { ACE_barrelTwist=0.254; - ACE_barrelLength=8.9; + ACE_barrelLength=0.22606; }; class hlc_smg_mp5a4 : Rifle_Base_F { ACE_barrelTwist=0.254; - ACE_barrelLength=8.9; + ACE_barrelLength=0.22606; }; class hlc_smg_mp5n : Rifle_Base_F { ACE_barrelTwist=0.254; - ACE_barrelLength=8.9; + ACE_barrelLength=0.22606; }; class hlc_smg_mp5sd5 : Rifle_Base_F { ACE_barrelTwist=0.254; - ACE_barrelLength=5.7; + ACE_barrelLength=0.14478; }; class hlc_smg_mp5sd6 : Rifle_Base_F { ACE_barrelTwist=0.254; - ACE_barrelLength=5.7; + ACE_barrelLength=0.14478; }; class hlc_smg_9mmar : Rifle_Base_F { ACE_barrelTwist=0.254; - ACE_barrelLength=8.9; + ACE_barrelLength=0.22606; }; class hlc_smg_mp510 : Rifle_Base_F { ACE_barrelTwist=0.381; - ACE_barrelLength=8.9; + ACE_barrelLength=0.22606; }; class hlc_smg_mp5a3 : Rifle_Base_F { ACE_barrelTwist=0.254; - ACE_barrelLength=8.9; + ACE_barrelLength=0.22606; }; class hgun_mas_usp_F: Pistol_Base_F { ACE_barrelTwist=0.4064; - ACE_barrelLength=4.41; + ACE_barrelLength=0.112014; }; class hgun_mas_m23_F: Pistol_Base_F { ACE_barrelTwist=0.4064; - ACE_barrelLength=5.87; + ACE_barrelLength=0.149098; }; class hgun_mas_acp_F: Pistol_Base_F { ACE_barrelTwist=0.4064; - ACE_barrelLength=5.03; + ACE_barrelLength=0.127762; }; class hgun_mas_m9_F: Pistol_Base_F { ACE_barrelTwist=0.254; - ACE_barrelLength=4.9; + ACE_barrelLength=0.12446; }; class hgun_mas_bhp_F: Pistol_Base_F { ACE_barrelTwist=0.254; - ACE_barrelLength=4.7; + ACE_barrelLength=0.11938; }; class hgun_mas_glock_F: Pistol_Base_F { ACE_barrelTwist=0.249936; - ACE_barrelLength=4.48; + ACE_barrelLength=0.113792; }; class hgun_mas_glocksf_F: Pistol_Base_F { ACE_barrelTwist=0.40005; - ACE_barrelLength=4.60; + ACE_barrelLength=0.11684; }; class hgun_mas_grach_F: Pistol_Base_F { ACE_barrelTwist=0.254; - ACE_barrelLength=4.4; + ACE_barrelLength=0.11176; }; class hgun_mas_mak_F: Pistol_Base_F { ACE_barrelTwist=0.24003; - ACE_barrelLength=3.68; + ACE_barrelLength=0.093472; }; class hgun_mas_sa61_F: Pistol_Base_F { ACE_barrelTwist=0.4064; - ACE_barrelLength=4.5; + ACE_barrelLength=0.1143; }; class hgun_mas_uzi_F: Pistol_Base_F { ACE_barrelTwist=0.254; - ACE_barrelLength=5.28; + ACE_barrelLength=0.134112; }; class arifle_mas_mk16 : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=13.8; + ACE_barrelLength=0.35052; }; class arifle_mas_mk16_l : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=18; + ACE_barrelLength=0.4572; }; class arifle_mas_mk17 : Rifle_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=16; + ACE_barrelLength=0.4064; }; class srifle_mas_m110 : Rifle_Base_F { ACE_barrelTwist=0.254; - ACE_barrelLength=20; + ACE_barrelLength=0.508; }; class arifle_mas_ak_74m : Rifle_Base_F { ACE_barrelTwist=0.199898; - ACE_barrelLength=16.34; + ACE_barrelLength=0.415036; }; class arifle_mas_ak_74m_gl : Rifle_Base_F { ACE_barrelTwist=0.199898; - ACE_barrelLength=16.34; + ACE_barrelLength=0.415036; }; class srifle_mas_svd : Rifle_Base_F { ACE_barrelTwist=0.23876; - ACE_barrelLength=24.4; + ACE_barrelLength=0.61976; }; class srifle_mas_m91 : Rifle_Base_F { ACE_barrelTwist=0.254; - ACE_barrelLength=29; + ACE_barrelLength=0.7366; }; class srifle_mas_ksvk : Rifle_Base_F { ACE_barrelTwist=0.4572; - ACE_barrelLength=39.37; + ACE_barrelLength=0.999998; }; class LMG_mas_rpk_F : Rifle_Base_F { ACE_barrelTwist=0.195072; - ACE_barrelLength=23.2; + ACE_barrelLength=0.58928; }; class LMG_mas_pkm_F : Rifle_Base_F { ACE_barrelTwist=0.24003; - ACE_barrelLength=25.4; + ACE_barrelLength=0.64516; }; class arifle_mas_aks74u : Rifle_Base_F { ACE_barrelTwist=0.16002; - ACE_barrelLength=8.3; + ACE_barrelLength=0.21082; }; class arifle_mas_bizon : Rifle_Base_F { ACE_barrelTwist=0.24003; - ACE_barrelLength=9.1; + ACE_barrelLength=0.23114; }; class arifle_mas_saiga : Rifle_Base_F { ACE_barrelTwist=0.0; ACE_twistDirection=0; - ACE_barrelLength=16.93; + ACE_barrelLength=0.430022; }; class arifle_mas_hk416 : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=14.5; + ACE_barrelLength=0.3683; }; class arifle_mas_hk416_gl : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=14.5; + ACE_barrelLength=0.3683; }; class arifle_mas_hk416c : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=9.0; + ACE_barrelLength=0.2286; }; class arifle_mas_hk416_m203c : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=9.0; + ACE_barrelLength=0.2286; }; class arifle_mas_hk417c : Rifle_Base_F { ACE_barrelTwist=0.2794; - ACE_barrelLength=13; + ACE_barrelLength=0.3302; }; class arifle_mas_m4 : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=14.5; + ACE_barrelLength=0.3683; }; class arifle_mas_m4c : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=10.3; + ACE_barrelLength=0.26162; }; class arifle_mas_l119 : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=16; + ACE_barrelLength=0.4064; }; class arifle_mas_l119_gl : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=16; + ACE_barrelLength=0.4064; }; class arifle_mas_l119_m203 : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=16; + ACE_barrelLength=0.4064; }; class arifle_mas_m16 : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=20; + ACE_barrelLength=0.508; }; class arifle_mas_m16_gl : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=20; + ACE_barrelLength=0.508; }; class srifle_mas_hk417 : Rifle_Base_F { ACE_barrelTwist=0.2794; - ACE_barrelLength=16.5; + ACE_barrelLength=0.4191; }; class srifle_mas_sr25 : Rifle_Base_F { ACE_barrelTwist=0.28575; - ACE_barrelLength=24; + ACE_barrelLength=0.6096; }; class srifle_mas_ebr : Rifle_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=18; + ACE_barrelLength=0.4572; }; class srifle_mas_m24 : Rifle_Base_F { ACE_barrelTwist=0.28575; - ACE_barrelLength=24; + ACE_barrelLength=0.6096; }; class arifle_mas_mp5 : Rifle_Base_F { ACE_barrelTwist=0.254; - ACE_barrelLength=8.9; + ACE_barrelLength=0.22606; }; class arifle_mas_mp5sd : Rifle_Base_F { ACE_barrelTwist=0.254; - ACE_barrelLength=5.7; + ACE_barrelLength=0.14478; }; class srifle_mas_m107 : Rifle_Base_F { ACE_barrelTwist=0.381; - ACE_barrelLength=29; + ACE_barrelLength=0.7366; }; class LMG_mas_M249_F : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=16.3; + ACE_barrelLength=0.41402; }; class LMG_mas_M249a_F : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=18; + ACE_barrelLength=0.4572; }; class LMG_mas_mk48_F : Rifle_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=19.75; + ACE_barrelLength=0.50165; }; class LMG_mas_m240_F : Rifle_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=24.8; + ACE_barrelLength=0.62992; }; class LMG_mas_mg3_F : Rifle_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=22.2; + ACE_barrelLength=0.56388; }; class arifle_mas_g3 : Rifle_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=17.7; + ACE_barrelLength=0.44958; }; class arifle_mas_g3_m203 : Rifle_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=17.7; + ACE_barrelLength=0.44958; }; class arifle_mas_fal : Rifle_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=21; + ACE_barrelLength=0.5334; }; class arifle_mas_fal_m203 : Rifle_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=21; + ACE_barrelLength=0.5334; }; class arifle_mas_m1014 : Rifle_Base_F { ACE_barrelTwist=0.0; ACE_twistDirection=0; - ACE_barrelLength=18.5; + ACE_barrelLength=0.4699; }; class BWA3_P8 : Pistol_Base_F { ACE_barrelTwist=0.24892; - ACE_barrelLength=4.25; + ACE_barrelLength=0.10795; }; class BWA3_MP7 : Pistol_Base_F { ACE_barrelTwist=0.16002; - ACE_barrelLength=7.1; + ACE_barrelLength=0.18034; }; class BWA3_G36 : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=18.9; + ACE_barrelLength=0.48006; }; class BWA3_G36K : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=12.5; + ACE_barrelLength=0.3175; }; class BWA3_G28_Standard : Rifle_Long_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=16.5; + ACE_barrelLength=0.4191; }; class BWA3_G27 : Rifle_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=16; + ACE_barrelLength=0.4064; }; class BWA3_MG4 : Rifle_Long_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=18.9; + ACE_barrelLength=0.48006; }; class BWA3_MG5 : Rifle_Long_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=21.6; + ACE_barrelLength=0.54864; }; class BWA3_G82 : Rifle_Long_Base_F { ACE_barrelTwist=0.381; - ACE_barrelLength=29; + ACE_barrelLength=0.7366; }; class Trixie_L131A1 : Pistol_Base_F { ACE_barrelTwist=0.24892; - ACE_barrelLength=4.5; + ACE_barrelLength=0.1143; }; class Trixie_XM8_Carbine : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=12.5; + ACE_barrelLength=0.3175; }; class Trixie_XM8_Compact : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=9; + ACE_barrelLength=0.2286; }; class Trixie_XM8_SAW : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=20; + ACE_barrelLength=0.508; }; class Trixie_XM8_SAW_NB : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=20; + ACE_barrelLength=0.508; }; class Trixie_XM8_DMR : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=20; + ACE_barrelLength=0.508; }; class Trixie_XM8_DMR_NB : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=20; + ACE_barrelLength=0.508; }; class L129A1_base : Rifle_Base_F { ACE_barrelTwist=0.254; - ACE_barrelLength=16; + ACE_barrelLength=0.4064; }; class Trixie_Enfield : Rifle_Base_F { ACE_barrelTwist=0.254; - ACE_barrelLength=25.2; + ACE_barrelLength=0.64008; }; class Trixie_CZ550_Rail : Rifle_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=23.622; + ACE_barrelLength=0.599999; }; class Trixie_FNFAL_Rail : Rifle_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=21; + ACE_barrelLength=0.5334; }; class Trixie_M110 : Rifle_Base_F { ACE_barrelTwist=0.2794; - ACE_barrelLength=20; + ACE_barrelLength=0.508; }; class Trixie_MK12 : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=18; + ACE_barrelLength=0.4572; }; class Trixie_LM308MWS : Rifle_Base_F { ACE_barrelTwist=0.28575; - ACE_barrelLength=16; + ACE_barrelLength=0.4064; }; class Trixie_M14DMR : Rifle_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=22; + ACE_barrelLength=0.5588; }; class Trixie_M14DMR_NG_Black_Short : Rifle_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=18; + ACE_barrelLength=0.4572; }; class Trixie_M14DMR_NG_Short : Rifle_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=18; + ACE_barrelLength=0.4572; }; class Trixie_M14 : Rifle_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=22; + ACE_barrelLength=0.5588; }; class Trixie_M40A3 : Rifle_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=24; + ACE_barrelLength=0.6096; }; class Trixie_CZ750 : Rifle_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=26; + ACE_barrelLength=0.6604; }; class Trixie_M24 : Rifle_Base_F { ACE_barrelTwist=0.28575; - ACE_barrelLength=24; + ACE_barrelLength=0.6096; }; class Trixie_AWM338 : Rifle_Base_F { ACE_barrelTwist=0.2794; - ACE_barrelLength=27; + ACE_barrelLength=0.6858; }; class Trixie_M107 : Rifle_Base_F { ACE_barrelTwist=0.381; - ACE_barrelLength=29; + ACE_barrelLength=0.7366; }; class Trixie_AS50 : Rifle_Base_F { ACE_barrelTwist=0.381; - ACE_barrelLength=29; + ACE_barrelLength=0.7366; }; class L110A1_base : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=13.7; + ACE_barrelLength=0.34798; }; class Trixie_L86A2_base : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=25.4; + ACE_barrelLength=0.64516; }; class Trixie_l85a2_base : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=20.4; + ACE_barrelLength=0.51816; }; class L7A2_base : Rifle_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=24.8; + ACE_barrelLength=0.62992; }; class rhs_weap_pya : Pistol_Base_F { ACE_barrelTwist=0.254; - ACE_barrelLength=4.4; + ACE_barrelLength=0.11176; }; class rhs_weap_pkp : Rifle_Long_Base_F { ACE_barrelTwist=0.24003; - ACE_barrelLength=25.9; + ACE_barrelLength=0.65786; }; class rhs_weap_pkm : Rifle_Long_Base_F { ACE_barrelTwist=0.24003; - ACE_barrelLength=25.4; + ACE_barrelLength=0.64516; }; class rhs_weap_rpk74m : Rifle_Long_Base_F { ACE_barrelTwist=0.195072; - ACE_barrelLength=23.2; + ACE_barrelLength=0.58928; }; class rhs_weap_rpk74 : Rifle_Long_Base_F { ACE_barrelTwist=0.195072; - ACE_barrelLength=23.2; + ACE_barrelLength=0.58928; }; class rhs_weap_ak74m : Rifle_Base_F { ACE_barrelTwist=0.199898; - ACE_barrelLength=16.3; + ACE_barrelLength=0.41402; }; class rhs_weap_aks74u : Rifle_Base_F { ACE_barrelTwist=0.16002; - ACE_barrelLength=8.3; + ACE_barrelLength=0.21082; }; class rhs_weap_akm : Rifle_Base_F { ACE_barrelTwist=0.199898; - ACE_barrelLength=16.3; + ACE_barrelLength=0.41402; }; class rhs_weap_svd : Rifle_Base_F { ACE_barrelTwist=0.23876; - ACE_barrelLength=24.4; + ACE_barrelLength=0.61976; }; class rhs_weap_svds : Rifle_Base_F { ACE_barrelTwist=0.23876; - ACE_barrelLength=22.2; + ACE_barrelLength=0.56388; }; class rhs_weap_m4_Base : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=14.5; + ACE_barrelLength=0.3683; }; class rhs_weap_m16a4 : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=20; + ACE_barrelLength=0.508; }; class rhs_weap_m16a4_carryhandle : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=20; + ACE_barrelLength=0.508; }; class rhs_weap_m16a4_grip : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=20; + ACE_barrelLength=0.508; }; class rhs_weap_m240B : Rifle_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=24.8; + ACE_barrelLength=0.62992; }; class rhs_weap_m249_pip : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=16.3; + ACE_barrelLength=0.41402; }; class rhs_weap_mk18 : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=10.3; + ACE_barrelLength=0.26162; }; class rhs_weap_M590_5RD : Rifle_Base_F { ACE_barrelTwist=0.0; ACE_twistDirection=0; - ACE_barrelLength=18.5; + ACE_barrelLength=0.4699; }; class rhs_weap_M590_8RD : Rifle_Base_F { ACE_barrelTwist=0.0; ACE_twistDirection=0; - ACE_barrelLength=20; + ACE_barrelLength=0.508; }; class rhs_weap_sr25 : Rifle_Base_F { ACE_barrelTwist=0.28575; - ACE_barrelLength=24; + ACE_barrelLength=0.6096; }; class rhs_weap_sr25_ec : Rifle_Base_F { ACE_barrelTwist=0.28575; - ACE_barrelLength=20; + ACE_barrelLength=0.508; }; class rhs_weap_XM2010_Base_F: Rifle_Base_F { ACE_barrelTwist=0.254; - ACE_barrelLength=24; + ACE_barrelLength=0.6096; }; class R3F_PAMAS : Pistol_Base_F { ACE_barrelTwist=0.24892; - ACE_barrelLength=4.9; + ACE_barrelLength=0.12446; }; class R3F_Famas_F1: Rifle_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=19.2; + ACE_barrelLength=0.48768; }; class R3F_Famas_surb: Rifle_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=15.9; + ACE_barrelLength=0.40386; }; class R3F_Minimi: Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=13.7; + ACE_barrelLength=0.34798; }; class R3F_Minimi_762: Rifle_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=19.8; + ACE_barrelLength=0.50292; }; class R3F_FRF2: Rifle_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=25.59; + ACE_barrelLength=0.649986; }; class R3F_PGM_Hecate_II: Rifle_Base_F { ACE_barrelTwist=0.381; - ACE_barrelLength=27.6; + ACE_barrelLength=0.70104; }; class R3F_HK417S_HG : Rifle_Base_F { ACE_barrelTwist=0.2794; - ACE_barrelLength=12; + ACE_barrelLength=0.3048; }; class R3F_HK417M : Rifle_Base_F { ACE_barrelTwist=0.2794; - ACE_barrelLength=16; + ACE_barrelLength=0.4064; }; class R3F_HK417L : Rifle_Base_F { ACE_barrelTwist=0.2794; - ACE_barrelLength=20; + ACE_barrelLength=0.508; }; class R3F_M107 : Rifle_Base_F { ACE_barrelTwist=0.381; - ACE_barrelLength=29; + ACE_barrelLength=0.7366; }; class R3F_HK416M : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=14; + ACE_barrelLength=0.3556; }; class R3F_MP5SD : Rifle_Base_F { ACE_barrelTwist=0.254; - ACE_barrelLength=5.7; + ACE_barrelLength=0.14478; }; class CUP_hgun_Colt1911 : Pistol_Base_F { ACE_barrelTwist=0.4064; - ACE_barrelLength=5; + ACE_barrelLength=0.127; }; class CUP_sgun_AA12 : Rifle_Base_F { ACE_barrelTwist=0.0; ACE_twistDirection=0; - ACE_barrelLength=18; + ACE_barrelLength=0.4572; }; class CUP_arifle_AK_Base : Rifle_Base_F { ACE_barrelTwist=0.24003; - ACE_barrelLength=16.3; + ACE_barrelLength=0.41402; }; class CUP_arifle_AK107_Base : Rifle_Base_F { ACE_barrelTwist=0.199898; - ACE_barrelLength=16.3; + ACE_barrelLength=0.41402; }; class CUP_arifle_AKS_Base : Rifle_Base_F { ACE_barrelTwist=0.199898; - ACE_barrelLength=16.3; + ACE_barrelLength=0.41402; }; class CUP_arifle_AKS74U : Rifle_Base_F { ACE_barrelTwist=0.16002; - ACE_barrelLength=8.3; + ACE_barrelLength=0.21082; }; class CUP_arifle_RPK74 : Rifle_Long_Base_F { ACE_barrelTwist=0.195072; - ACE_barrelLength=23.2; + ACE_barrelLength=0.58928; }; class CUP_srifle_AS50 : Rifle_Long_Base_F { ACE_barrelTwist=0.381; - ACE_barrelLength=29; + ACE_barrelLength=0.7366; }; class CUP_srifle_AWM_Base : Rifle_Long_Base_F { ACE_barrelTwist=0.2794; - ACE_barrelLength=27; + ACE_barrelLength=0.6858; }; class CUP_smg_bizon : Rifle_Base_F { ACE_barrelTwist=0.24003; - ACE_barrelLength=9.1; + ACE_barrelLength=0.23114; }; class CUP_hgun_Compact : Pistol_Base_F { ACE_barrelTwist=0.24892; - ACE_barrelLength=3.74; + ACE_barrelLength=0.094996; }; class CUP_srifle_CZ750 : Rifle_Long_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=26; + ACE_barrelLength=0.6604; }; class CUP_arifle_CZ805_Base : Rifle_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=14; + ACE_barrelLength=0.3556; }; class CUP_arifle_CZ805_A1 : Rifle_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=14; + ACE_barrelLength=0.3556; }; class CUP_arifle_CZ805_A2 : Rifle_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=10.9; + ACE_barrelLength=0.27686; }; class CUP_srifle_DMR : Rifle_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=22; + ACE_barrelLength=0.5588; }; class CUP_hgun_Duty : Pistol_Base_F { ACE_barrelTwist=0.24892; - ACE_barrelLength=3.74; + ACE_barrelLength=0.094996; }; class CUP_arifle_FNFAL : Rifle_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=21; + ACE_barrelLength=0.5334; }; class CUP_arifle_G36A : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=18.9; + ACE_barrelLength=0.48006; }; class CUP_arifle_G36K : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=12.5; + ACE_barrelLength=0.3175; }; class CUP_arifle_G36C : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=9; + ACE_barrelLength=0.2286; }; class CUP_arifle_MG36 : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=18.9; + ACE_barrelLength=0.48006; }; class CUP_hgun_Glock17 : Pistol_Base_F { ACE_barrelTwist=0.24892; - ACE_barrelLength=4.49; + ACE_barrelLength=0.114046; }; class CUP_srifle_CZ550 : Rifle_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=23.622; + ACE_barrelLength=0.599999; }; class CUP_srifle_ksvk : Rifle_Long_Base_F { ACE_barrelTwist=0.4572; - ACE_barrelLength=39.37; + ACE_barrelLength=0.999998; }; class CUP_lmg_L7A2 : Rifle_Long_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=24.8; + ACE_barrelLength=0.62992; }; class CUP_arifle_L85A2_Base : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=20.4; + ACE_barrelLength=0.51816; }; class CUP_lmg_L110A1 : Rifle_Long_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=13.7; + ACE_barrelLength=0.34798; }; class CUP_srifle_LeeEnfield : Rifle_Base_F { ACE_barrelTwist=0.254; - ACE_barrelLength=25.2; + ACE_barrelLength=0.64008; }; class CUP_hgun_M9 : Pistol_Base_F { ACE_barrelTwist=0.24892; - ACE_barrelLength=4.9; + ACE_barrelLength=0.12446; }; class CUP_srifle_M14 : Rifle_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=22; + ACE_barrelLength=0.5588; }; class CUP_arifle_M16_Base : Rifle_Base_F { ACE_barrelTwist=0.3556; - ACE_barrelLength=20; + ACE_barrelLength=0.508; }; class CUP_arifle_M4_Base : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=14.5; + ACE_barrelLength=0.3683; }; class CUP_srifle_Mk12SPR : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=18; + ACE_barrelLength=0.4572; }; class CUP_srifle_M24_des : Rifle_Base_F { ACE_barrelTwist=0.28575; - ACE_barrelLength=24; + ACE_barrelLength=0.6096; }; class CUP_lmg_M60A4 : Rifle_Long_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=17; + ACE_barrelLength=0.4318; }; class CUP_srifle_M107_Base : Rifle_Long_Base_F { ACE_barrelTwist=0.381; - ACE_barrelLength=29; + ACE_barrelLength=0.7366; }; class CUP_srifle_M110 : Rifle_Base_F { ACE_barrelTwist=0.2794; - ACE_barrelLength=20; + ACE_barrelLength=0.508; }; class CUP_lmg_M240 : Rifle_Long_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=24.8; + ACE_barrelLength=0.62992; }; class CUP_lmg_M249_para : Rifle_Long_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=16.3; + ACE_barrelLength=0.41402; }; class CUP_lmg_M249 : Rifle_Long_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=18; + ACE_barrelLength=0.4572; }; class CUP_sgun_M1014 : Rifle_Base_F { ACE_twistDirection=0; ACE_barrelTwist=0.0; - ACE_barrelLength=18.5; + ACE_barrelLength=0.4699; }; class CUP_hgun_Makarov : Pistol_Base_F { ACE_barrelTwist=0.24003; - ACE_barrelLength=3.68; + ACE_barrelLength=0.093472; }; class CUP_hgun_MicroUzi : Pistol_Base_F { ACE_barrelTwist=0.24892; - ACE_barrelLength=5; + ACE_barrelLength=0.127; }; class CUP_lmg_Mk48_Base : Rifle_Long_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=19.75; + ACE_barrelLength=0.50165; }; class CUP_smg_MP5SD6 : Rifle_Base_F { ACE_barrelTwist=0.254; - ACE_barrelLength=5.7; + ACE_barrelLength=0.14478; }; class CUP_smg_MP5A5 : Rifle_Base_F { ACE_barrelTwist=0.254; - ACE_barrelLength=8.9; + ACE_barrelLength=0.22606; }; class CUP_hgun_PB6P9 : Rifle_Base_F { ACE_barrelTwist=0.24003; - ACE_barrelLength=4.1; + ACE_barrelLength=0.10414; }; class CUP_hgun_Phantom : Rifle_Base_F { ACE_barrelTwist=0.24638; - ACE_barrelLength=4.7; + ACE_barrelLength=0.11938; }; class CUP_lmg_PKM : Rifle_Long_Base_F { ACE_barrelTwist=0.24003; - ACE_barrelLength=25.4; + ACE_barrelLength=0.64516; }; class CUP_lmg_Pecheneg : Rifle_Long_Base_F { ACE_barrelTwist=0.24003; - ACE_barrelLength=25.9; + ACE_barrelLength=0.65786; }; class CUP_hgun_TaurusTracker455 : Pistol_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=4; + ACE_barrelLength=0.1016; }; class CUP_arifle_Sa58P : Rifle_Base_F { ACE_barrelTwist=0.24003; - ACE_barrelLength=15.4; + ACE_barrelLength=0.39116; }; class CUP_arifle_Sa58V : Rifle_Base_F { ACE_barrelTwist=0.24003; - ACE_barrelLength=15.4; + ACE_barrelLength=0.39116; }; class CUP_hgun_SA61 : Pistol_Base_F { ACE_barrelTwist=0.4064; - ACE_barrelLength=4.5; + ACE_barrelLength=0.1143; }; class CUP_sgun_Saiga12K: Rifle_Base_F { ACE_barrelTwist=0.0; ACE_twistDirection=0; - ACE_barrelLength=16.9; + ACE_barrelLength=0.42926; } class CUP_arifle_Mk16_CQC : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=10; + ACE_barrelLength=0.254; }; class CUP_arifle_Mk16_STD : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=14; + ACE_barrelLength=0.3556; }; class CUP_arifle_Mk16_SV : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=18; + ACE_barrelLength=0.4572; }; class CUP_arifle_Mk17_CQC : Rifle_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=13; + ACE_barrelLength=0.3302; }; class CUP_arifle_Mk17_STD : Rifle_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=16; + ACE_barrelLength=0.4064; }; class CUP_arifle_Mk20 : Rifle_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=20; + ACE_barrelLength=0.508; }; class CUP_srifle_SVD : Rifle_Base_F { ACE_barrelTwist=0.23876; - ACE_barrelLength=24.4; + ACE_barrelLength=0.61976; }; class CUP_lmg_UK59 : Rifle_Long_Base_F { ACE_barrelTwist=0.381; - ACE_barrelLength=21.7; + ACE_barrelLength=0.55118; }; class CUP_DSHKM_W : MGun { ACE_barrelTwist=0.381; - ACE_barrelLength=42.1; + ACE_barrelLength=1.06934; }; class CUP_KPVT_W : MGun { ACE_barrelTwist=0.454914; - ACE_barrelLength=53; + ACE_barrelLength=1.3462; }; class CUP_KPVB_W : MGun { ACE_barrelTwist=0.454914; - ACE_barrelLength=53; + ACE_barrelLength=1.3462; }; class CUP_M134 : MGunCore { ACE_barrelTwist=0.3048; - ACE_barrelLength=22; + ACE_barrelLength=0.5588; }; class CUP_M240_veh_W : Rifle_Long_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=24.8; + ACE_barrelLength=0.62992; }; class CUP_PKT_W : MGun { ACE_barrelTwist=0.24003; - ACE_barrelLength=28.43; + ACE_barrelLength=0.722122; }; class CUP_srifle_VSSVintorez : Rifle_Base_F { ACE_barrelTwist=0.21082; - ACE_barrelLength=7.9; + ACE_barrelLength=0.20066; }; class CUP_arifle_XM8_Base : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=12.5; + ACE_barrelLength=0.3175; }; class CUP_arifle_XM8_Carbine : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=12.5; + ACE_barrelLength=0.3175; }; class CUP_arifle_xm8_sharpshooter : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=20; + ACE_barrelLength=0.508; }; class CUP_arifle_xm8_SAW : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=20; + ACE_barrelLength=0.508; }; class CUP_arifle_XM8_Compact : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=9; + ACE_barrelLength=0.2286; }; class CUP_arifle_XM8_Railed_Base : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=12.5; + ACE_barrelLength=0.3175; }; class CUP_arifle_XM8_Carbine_FG : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=12.5; + ACE_barrelLength=0.3175; }; class VTN_AK_BASE: Rifle_Base_F { ACE_barrelTwist=0.199898; - ACE_barrelLength=16.3; + ACE_barrelLength=0.41402; }; class VTN_AK74M: Rifle_Base_F { ACE_barrelTwist=0.199898; - ACE_barrelLength=16.3; + ACE_barrelLength=0.41402; }; class VTN_AK74M_GP25: Rifle_Base_F { ACE_barrelTwist=0.199898; - ACE_barrelLength=16.3; + ACE_barrelLength=0.41402; }; class VTN_AK74M_GP30M: Rifle_Base_F { ACE_barrelTwist=0.199898; - ACE_barrelLength=16.3; + ACE_barrelLength=0.41402; }; class VTN_AKS74: Rifle_Base_F { ACE_barrelTwist=0.199898; - ACE_barrelLength=16.3; + ACE_barrelLength=0.41402; }; class VTN_AKS74N: Rifle_Base_F { ACE_barrelTwist=0.199898; - ACE_barrelLength=16.3; + ACE_barrelLength=0.41402; }; class VTN_AKS74N_76: Rifle_Base_F { ACE_barrelTwist=0.199898; - ACE_barrelLength=16.3; + ACE_barrelLength=0.41402; }; class VTN_AK74_76: Rifle_Base_F { ACE_barrelTwist=0.199898; - ACE_barrelLength=16.3; + ACE_barrelLength=0.41402; }; class VTN_AKMS_aa: Rifle_Base_F { ACE_barrelTwist=0.199898; - ACE_barrelLength=10.3; + ACE_barrelLength=0.26162; }; class VTN_AKS74U_BASE: Rifle_Base_F { ACE_barrelTwist=0.16002; - ACE_barrelLength=8.3; + ACE_barrelLength=0.21082; }; class VTN_AKM_BASE: Rifle_Base_F { ACE_barrelTwist=0.199898; - ACE_barrelLength=16.3; + ACE_barrelLength=0.41402; }; class VTN_AKMS: Rifle_Base_F { ACE_barrelTwist=0.199898; - ACE_barrelLength=16.3; + ACE_barrelLength=0.41402; }; class VTN_AKMS_T_P: Rifle_Base_F { ACE_barrelTwist=0.199898; - ACE_barrelLength=16.3; + ACE_barrelLength=0.41402; }; class VTN_AK103_BASE: Rifle_Base_F { ACE_barrelTwist=0.24003; - ACE_barrelLength=16.3; + ACE_barrelLength=0.41402; }; class VTN_AK104_BASE: Rifle_Base_F { ACE_barrelTwist=0.24003; - ACE_barrelLength=12.4; + ACE_barrelLength=0.31496; }; class VTN_AK105_BASE: Rifle_Base_F { ACE_barrelTwist=0.254; - ACE_barrelLength=12.4; + ACE_barrelLength=0.31496; }; class VTN_AK105_P_BASE: Rifle_Base_F { ACE_barrelTwist=0.254; - ACE_barrelLength=12.4; + ACE_barrelLength=0.31496; }; class VTN_SVD_BASE: Rifle_Base_F { ACE_barrelTwist=0.23876; - ACE_barrelLength=24.4; + ACE_barrelLength=0.61976; }; class VTN_SVD_63: Rifle_Base_F { ACE_barrelTwist=0.23876; - ACE_barrelLength=24.4; + ACE_barrelLength=0.61976; }; class VTN_SVD_86: Rifle_Base_F { ACE_barrelTwist=0.23876; - ACE_barrelLength=24.4; + ACE_barrelLength=0.61976; }; class VTN_SV98_BASE: Rifle_Base_F { ACE_barrelTwist=0.32004; - ACE_barrelLength=25.59; + ACE_barrelLength=0.649986; }; class VTN_PKM_BAS: Rifle_Base_F { ACE_barrelTwist=0.24003; - ACE_barrelLength=25.4; + ACE_barrelLength=0.64516; }; class VTN_PKP: Rifle_Base_F { ACE_barrelTwist=0.24003; - ACE_barrelLength=25.9; + ACE_barrelLength=0.65786; }; class VTN_PYA: Pistol_Base_F { ACE_barrelTwist=0.254; - ACE_barrelLength=4.4; + ACE_barrelLength=0.11176; }; class VTN_PM: Pistol_Base_F { ACE_barrelTwist=0.24003; - ACE_barrelLength=3.68; + ACE_barrelLength=0.093472; }; class VTN_PB: Pistol_Base_F { ACE_barrelTwist=0.24003; - ACE_barrelLength=4.1; + ACE_barrelLength=0.10414; }; class VTN_GSH18: Pistol_Base_F { ACE_barrelTwist=0.24892; - ACE_barrelLength=4.1; + ACE_barrelLength=0.10414; }; class VTN_PSS: Pistol_Base_F { ACE_barrelTwist=0.4064; - ACE_barrelLength=1.4; + ACE_barrelLength=0.03556; }; class VTN_PKT: Rifle_Base_F { ACE_barrelTwist=0.24003; - ACE_barrelLength=28.43; + ACE_barrelLength=0.722122; }; class VTN_KORD: Rifle_Base_F { ACE_barrelTwist=0.454914; - ACE_barrelLength=53; + ACE_barrelLength=1.3462; }; class VTN_KPVT: Rifle_Base_F { ACE_barrelTwist=0.454914; - ACE_barrelLength=53; + ACE_barrelLength=1.3462; }; class VTN_C_M4A1 : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=14.5; + ACE_barrelLength=0.3683; }; class VTN_MK18MOD0: Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=10.3; + ACE_barrelLength=0.26162; }; class VTN_M16_BASE: Rifle_Base_F { ACE_barrelTwist=0.3556; - ACE_barrelLength=20; + ACE_barrelLength=0.508; }; class VTN_FN_SAMR_BASE: Rifle_Base_F { ACE_barrelTwist=0.19558; - ACE_barrelLength=20; + ACE_barrelLength=0.508; }; class VTN_M249_SAW_BASE: Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=18; + ACE_barrelLength=0.4572; }; class VTN_M249_PARA: Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=16.3; + ACE_barrelLength=0.41402; }; class VTN_M240G_BASE: Rifle_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=24.8; + ACE_barrelLength=0.62992; }; class VTN_M9: Pistol_Base_F { ACE_barrelTwist=0.24892; - ACE_barrelLength=4.9; + ACE_barrelLength=0.12446; }; class VTN_M45A1: Pistol_Base_F { ACE_barrelTwist=0.4064; - ACE_barrelLength=5; + ACE_barrelLength=0.127; }; class VTN_M24: Rifle_Base_F { ACE_barrelTwist=0.28575; - ACE_barrelLength=24; + ACE_barrelLength=0.6096; }; class VTN_M240: Rifle_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=24.8; + ACE_barrelLength=0.62992; }; class VTN_KO44: Rifle_Base_F { ACE_barrelTwist=0.2413; - ACE_barrelLength=20.2; + ACE_barrelLength=0.51308; }; class VTN_SAIGA_MK03: Rifle_Base_F { ACE_twistDirection=9.45; - ACE_barrelLength=16.3; + ACE_barrelLength=0.41402; }; }; \ No newline at end of file diff --git a/optionals/compat_hlc_ar15/CfgWeapons.hpp b/optionals/compat_hlc_ar15/CfgWeapons.hpp index d203ee90d0..31caabbe78 100644 --- a/optionals/compat_hlc_ar15/CfgWeapons.hpp +++ b/optionals/compat_hlc_ar15/CfgWeapons.hpp @@ -5,61 +5,61 @@ class CfgWeapons class hlc_ar15_base: Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=11.5; + ACE_barrelLength=0.2921; }; class hlc_rifle_RU556: hlc_ar15_base { ACE_barrelTwist=0.1778; - ACE_barrelLength=10.3; + ACE_barrelLength=0.26162; }; class hlc_rifle_RU5562: hlc_rifle_RU556 { ACE_barrelTwist=0.1778; - ACE_barrelLength=10.3; + ACE_barrelLength=0.26162; }; class hlc_rifle_CQBR: hlc_rifle_RU556 { ACE_barrelTwist=0.1778; - ACE_barrelLength=10; + ACE_barrelLength=0.254; }; class hlc_rifle_M4: hlc_rifle_RU556 { ACE_barrelTwist=0.1778; - ACE_barrelLength=14.5; + ACE_barrelLength=0.3683; }; class hlc_rifle_bcmjack: hlc_ar15_base { ACE_barrelTwist=0.1778; - ACE_barrelLength=14.5; + ACE_barrelLength=0.3683; }; class hlc_rifle_Colt727: hlc_ar15_base { ACE_barrelTwist=0.1778; - ACE_barrelLength=14.5; + ACE_barrelLength=0.3683; }; class hlc_rifle_Colt727_GL: hlc_rifle_Colt727 { ACE_barrelTwist=0.1778; - ACE_barrelLength=14.5; + ACE_barrelLength=0.3683; }; class hlc_rifle_Bushmaster300: hlc_rifle_Colt727 { ACE_barrelTwist=0.2032; - ACE_barrelLength=14.5; + ACE_barrelLength=0.3683; }; class hlc_rifle_vendimus: hlc_rifle_Bushmaster300 { ACE_barrelTwist=0.2032; - ACE_barrelLength=16; + ACE_barrelLength=0.4064; }; class hlc_rifle_SAMR: hlc_rifle_RU556 { ACE_barrelTwist=0.2286; - ACE_barrelLength=16; + ACE_barrelLength=0.4064; }; class hlc_rifle_honeybase: hlc_rifle_RU556 { ACE_barrelTwist=0.2032; - ACE_barrelLength=6; + ACE_barrelLength=0.1524; }; }; \ No newline at end of file diff --git a/optionals/compat_hlc_wp_mp5/CfgWeapons.hpp b/optionals/compat_hlc_wp_mp5/CfgWeapons.hpp index 3957b837d9..e100d90a78 100644 --- a/optionals/compat_hlc_wp_mp5/CfgWeapons.hpp +++ b/optionals/compat_hlc_wp_mp5/CfgWeapons.hpp @@ -5,56 +5,56 @@ class CfgWeapons class hlc_MP5_base: Rifle_Base_F { ACE_barrelTwist=0.254; - ACE_barrelLength=9; + ACE_barrelLength=0.2286; }; class hlc_smg_mp5k_PDW: hlc_MP5_base { ACE_barrelTwist=0.254; - ACE_barrelLength=4.5; + ACE_barrelLength=0.1143; }; class hlc_smg_mp5k: hlc_smg_mp5k_PDW { ACE_barrelTwist=0.254; - ACE_barrelLength=4.5; + ACE_barrelLength=0.1143; }; class hlc_smg_mp5a2: hlc_MP5_base { ACE_barrelTwist=0.254; - ACE_barrelLength=9; + ACE_barrelLength=0.2286; }; class hlc_smg_MP5N: hlc_MP5_base { ACE_barrelTwist=0.254; - ACE_barrelLength=9; + ACE_barrelLength=0.2286; }; class hlc_smg_9mmar: hlc_smg_MP5N { ACE_barrelTwist=0.254; - ACE_barrelLength=9; + ACE_barrelLength=0.2286; }; class hlc_smg_mp5a4: hlc_MP5_base { ACE_barrelTwist=0.254; - ACE_barrelLength=9; + ACE_barrelLength=0.2286; }; class hlc_smg_mp510: hlc_smg_MP5N { ACE_barrelTwist=0.381; - ACE_barrelLength=9; + ACE_barrelLength=0.2286; }; class hlc_smg_mp5sd5: hlc_MP5_base { ACE_barrelTwist=0.254; - ACE_barrelLength=9; + ACE_barrelLength=0.2286; }; class hlc_smg_mp5a3: hlc_smg_mp5a2 { ACE_barrelTwist=0.254; - ACE_barrelLength=9; + ACE_barrelLength=0.2286; }; class hlc_smg_mp5sd6: hlc_smg_mp5sd5 { ACE_barrelTwist=0.254; - ACE_barrelLength=9; + ACE_barrelLength=0.2286; }; }; diff --git a/optionals/compat_hlcmods_ak/CfgWeapons.hpp b/optionals/compat_hlcmods_ak/CfgWeapons.hpp index 5cc8ebfd67..2655b1f182 100644 --- a/optionals/compat_hlcmods_ak/CfgWeapons.hpp +++ b/optionals/compat_hlcmods_ak/CfgWeapons.hpp @@ -7,52 +7,52 @@ class CfgWeapons class hlc_rifle_ak74: hlc_ak_base { ACE_barrelTwist=0.199898; - ACE_barrelLength=16.299999; + ACE_barrelLength=0.41402; }; class hlc_rifle_aku12: hlc_rifle_ak12 { ACE_barrelTwist=0.16002; - ACE_barrelLength=8.3000002; + ACE_barrelLength=0.21082; }; class hlc_rifle_RPK12: hlc_rifle_ak12 { - ACE_barrelLength=23.200001; + ACE_barrelLength=0.58928; }; class hlc_rifle_aks74u: hlc_rifle_ak74 { ACE_barrelTwist=0.16002; - ACE_barrelLength=8.3000002; + ACE_barrelLength=0.21082; }; class hlc_rifle_ak47: hlc_rifle_ak74 { ACE_barrelTwist=0.24003; - ACE_barrelLength=16.299999; + ACE_barrelLength=0.41402; }; class hlc_rifle_akm: hlc_rifle_ak47 { ACE_barrelTwist=0.199898; - ACE_barrelLength=16.299999; + ACE_barrelLength=0.41402; }; class hlc_rifle_rpk: hlc_rifle_ak47 { ACE_barrelTwist=0.24003; - ACE_barrelLength=23.200001; + ACE_barrelLength=0.58928; }; class hlc_rifle_rpk74n: hlc_rifle_rpk { ACE_barrelTwist=0.24003; - ACE_barrelLength=23.200001; + ACE_barrelLength=0.58928; }; class hlc_rifle_aek971: hlc_rifle_ak74 { ACE_barrelTwist=0.2413; - ACE_barrelLength=17; + ACE_barrelLength=0.4318; }; class hlc_rifle_saiga12k: hlc_rifle_ak47 { ACE_barrelTwist=0.0; ACE_twistDirection=0; - ACE_barrelLength=16.9; + ACE_barrelLength=0.42926; }; class HLC_Optic_PSO1 : optic_dms { diff --git a/optionals/compat_hlcmods_aug/CfgWeapons.hpp b/optionals/compat_hlcmods_aug/CfgWeapons.hpp index 6f96f5bfc0..ebb5d17675 100644 --- a/optionals/compat_hlcmods_aug/CfgWeapons.hpp +++ b/optionals/compat_hlcmods_aug/CfgWeapons.hpp @@ -6,46 +6,46 @@ class CfgWeapons class hlc_rifle_aug: hlc_aug_base { ACE_barrelTwist=0.2286; - ACE_barrelLength=20; + ACE_barrelLength=0.508; }; class hlc_rifle_auga1carb: hlc_rifle_aug { ACE_barrelTwist=0.2286; - ACE_barrelLength=16; + ACE_barrelLength=0.4064; }; class hlc_rifle_aughbar: hlc_rifle_aug { ACE_barrelTwist=0.2286; - ACE_barrelLength=24; + ACE_barrelLength=0.6096; }; class hlc_rifle_augpara: hlc_rifle_aug { ACE_barrelTwist=0.2286; - ACE_barrelLength=16.5; + ACE_barrelLength=0.4191; }; class hlc_rifle_auga2: hlc_rifle_aug { ACE_barrelTwist=0.2286; - ACE_barrelLength=20; + ACE_barrelLength=0.508; }; class hlc_rifle_auga2para: hlc_rifle_auga2 { ACE_barrelTwist=0.2286; - ACE_barrelLength=16.5; + ACE_barrelLength=0.4191; }; class hlc_rifle_auga2carb: hlc_rifle_auga2 { ACE_barrelTwist=0.2286; - ACE_barrelLength=18; + ACE_barrelLength=0.4572; }; class hlc_rifle_auga2lsw: hlc_rifle_aughbar { ACE_barrelTwist=0.2286; - ACE_barrelLength=24; + ACE_barrelLength=0.6096; }; class hlc_rifle_auga3: hlc_rifle_aug { ACE_barrelTwist=0.2286; - ACE_barrelLength=18; + ACE_barrelLength=0.4572; }; }; \ No newline at end of file diff --git a/optionals/compat_hlcmods_fal/CfgWeapons.hpp b/optionals/compat_hlcmods_fal/CfgWeapons.hpp index af79bf2a38..6be462773b 100644 --- a/optionals/compat_hlcmods_fal/CfgWeapons.hpp +++ b/optionals/compat_hlcmods_fal/CfgWeapons.hpp @@ -5,46 +5,46 @@ class CfgWeapons class hlc_rifle_falosw: hlc_fal_base { ACE_barrelTwist=0.3048; - ACE_barrelLength=13; + ACE_barrelLength=0.3302; }; class hlc_rifle_osw_GL: hlc_rifle_falosw { ACE_barrelTwist=0.3048; - ACE_barrelLength=13; + ACE_barrelLength=0.3302; }; class hlc_rifle_SLR: hlc_fal_base { ACE_barrelTwist=0.3048; - ACE_barrelLength=21.700001; + ACE_barrelLength=0.55118; }; class hlc_rifle_STG58F: hlc_fal_base { ACE_barrelTwist=0.3048; - ACE_barrelLength=21; + ACE_barrelLength=0.5334; }; class hlc_rifle_FAL5061: hlc_fal_base { ACE_barrelTwist=0.3048; - ACE_barrelLength=18; + ACE_barrelLength=0.4572; }; class hlc_rifle_L1A1SLR: hlc_rifle_SLR { ACE_barrelTwist=0.3048; - ACE_barrelLength=21.700001; + ACE_barrelLength=0.55118; }; class hlc_rifle_c1A1: hlc_rifle_SLR { ACE_barrelTwist=0.3048; - ACE_barrelLength=21.700001; + ACE_barrelLength=0.55118; }; class hlc_rifle_LAR: hlc_rifle_FAL5061 { ACE_barrelTwist=0.3048; - ACE_barrelLength=21; + ACE_barrelLength=0.5334; }; class hlc_rifle_SLRchopmod: hlc_rifle_FAL5061 { ACE_barrelTwist=0.3048; - ACE_barrelLength=18; + ACE_barrelLength=0.4572; }; }; \ No newline at end of file diff --git a/optionals/compat_hlcmods_g3/CfgWeapons.hpp b/optionals/compat_hlcmods_g3/CfgWeapons.hpp index 8cb407d88b..9c5b5585ad 100644 --- a/optionals/compat_hlcmods_g3/CfgWeapons.hpp +++ b/optionals/compat_hlcmods_g3/CfgWeapons.hpp @@ -5,41 +5,41 @@ class CfgWeapons class hlc_rifle_g3sg1: hlc_g3_base { ACE_barrelTwist=0.3048; - ACE_barrelLength=17.700001; + ACE_barrelLength=0.44958; }; class hlc_rifle_psg1: hlc_rifle_g3sg1 { ACE_barrelTwist=0.3048; - ACE_barrelLength=25.6; + ACE_barrelLength=0.65024; }; class hlc_rifle_g3a3: hlc_rifle_g3sg1 { ACE_barrelTwist=0.3048; - ACE_barrelLength=17.700001; + ACE_barrelLength=0.44958; }; class hlc_rifle_g3a3ris: hlc_rifle_g3a3 { ACE_barrelTwist=0.3048; - ACE_barrelLength=17.700001; + ACE_barrelLength=0.44958; }; class hlc_rifle_g3ka4: hlc_rifle_g3a3 { ACE_barrelTwist=0.3048; - ACE_barrelLength=12.4; + ACE_barrelLength=0.31496; }; class HLC_Rifle_g3ka4_GL: hlc_rifle_g3ka4 { ACE_barrelTwist=0.3048; - ACE_barrelLength=12.4; + ACE_barrelLength=0.31496; }; class hlc_rifle_hk51: hlc_rifle_g3sg1 { ACE_barrelTwist=0.3048; - ACE_barrelLength=8.3100004; + ACE_barrelLength=0.211074; }; class hlc_rifle_hk53: hlc_rifle_g3sg1 { ACE_barrelTwist=0.1778; - ACE_barrelLength=8.3100004; + ACE_barrelLength=0.211074; }; }; \ No newline at end of file diff --git a/optionals/compat_hlcmods_m14/CfgWeapons.hpp b/optionals/compat_hlcmods_m14/CfgWeapons.hpp index 867a2caed8..8082678f9f 100644 --- a/optionals/compat_hlcmods_m14/CfgWeapons.hpp +++ b/optionals/compat_hlcmods_m14/CfgWeapons.hpp @@ -6,11 +6,11 @@ class CfgWeapons class hlc_M14_base: Rifle_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=22; + ACE_barrelLength=0.5588; }; class hlc_rifle_m14sopmod: hlc_rifle_M14 { ACE_barrelTwist=0.3048; - ACE_barrelLength=18; + ACE_barrelLength=0.4572; }; }; diff --git a/optionals/compat_hlcmods_m60e4/CfgWeapons.hpp b/optionals/compat_hlcmods_m60e4/CfgWeapons.hpp index 90108a8d68..ea93b263c5 100644 --- a/optionals/compat_hlcmods_m60e4/CfgWeapons.hpp +++ b/optionals/compat_hlcmods_m60e4/CfgWeapons.hpp @@ -5,11 +5,11 @@ class CfgWeapons class hlc_lmg_M60E4: hlc_M60e4_base { ACE_barrelTwist=0.3048; - ACE_barrelLength=17; + ACE_barrelLength=0.4318; }; class hlc_lmg_m60: hlc_M60e4_base { ACE_barrelTwist=0.3048; - ACE_barrelLength=22; + ACE_barrelLength=0.5588; }; }; diff --git a/optionals/compat_rh_de/CfgWeapons.hpp b/optionals/compat_rh_de/CfgWeapons.hpp index 1a70e3ef26..17f3bd2191 100644 --- a/optionals/compat_rh_de/CfgWeapons.hpp +++ b/optionals/compat_rh_de/CfgWeapons.hpp @@ -5,136 +5,136 @@ class CfgWeapons class RH_deagle: RH_Pistol_Base_F { ACE_barrelTwist=0.4826; - ACE_barrelLength=6; + ACE_barrelLength=0.1524; }; class RH_mateba: Pistol_Base_F { ACE_barrelTwist=0.3556; - ACE_barrelLength=6; + ACE_barrelLength=0.1524; }; class RH_mp412: Pistol_Base_F { ACE_barrelTwist=0.254; - ACE_barrelLength=6; + ACE_barrelLength=0.1524; }; class RH_python: Pistol_Base_F { ACE_barrelTwist=0.3556; - ACE_barrelLength=6; + ACE_barrelLength=0.1524; }; class RH_bull: RH_python { ACE_barrelTwist=0.6096; - ACE_barrelLength=6.5; + ACE_barrelLength=0.1651; }; class RH_ttracker: Pistol_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=4; + ACE_barrelLength=0.1016; }; class RH_cz75: RH_Pistol_Base_F { ACE_barrelTwist=0.24638; - ACE_barrelLength=4.7; + ACE_barrelLength=0.11938; }; class RH_p226: RH_Pistol_Base_F { ACE_barrelTwist=0.24892; - ACE_barrelLength=4.4; + ACE_barrelLength=0.11176; }; class RH_sw659: RH_Pistol_Base_F { ACE_barrelTwist=0.24892; - ACE_barrelLength=7.44; + ACE_barrelLength=0.188976; }; class RH_usp: RH_Pistol_Base_F { ACE_barrelTwist=0.4064; - ACE_barrelLength=4.41; + ACE_barrelLength=0.112014; }; class RH_uspm: RH_Pistol_Base_F { ACE_barrelTwist=0.4064; - ACE_barrelLength=6; + ACE_barrelLength=0.1524; }; class RH_kimber: RH_Pistol_Base_F { ACE_barrelTwist=0.4064; - ACE_barrelLength=5; + ACE_barrelLength=0.127; }; class RH_m1911: RH_Pistol_Base_F { ACE_barrelTwist=0.4064; - ACE_barrelLength=5; + ACE_barrelLength=0.127; }; class RH_tt33: RH_Pistol_Base_F { ACE_barrelTwist=0.24003; - ACE_barrelLength=4.6; + ACE_barrelLength=0.11684; }; class RH_mak: RH_Pistol_Base_F { ACE_barrelTwist=0.24003; - ACE_barrelLength=3.68; + ACE_barrelLength=0.093472; }; class RH_mk2: RH_Pistol_Base_F { ACE_barrelTwist=0.4064; - ACE_barrelLength=4; + ACE_barrelLength=0.1016; }; class RH_m9: RH_Pistol_Base_F { ACE_barrelTwist=0.24892; - ACE_barrelLength=4.9; + ACE_barrelLength=0.12446; }; class RH_g18: RH_Pistol_Base_F { ACE_barrelTwist=0.24892; - ACE_barrelLength=4.49; + ACE_barrelLength=0.114046; }; class RH_g17: RH_Pistol_Base_F { ACE_barrelTwist=0.24892; - ACE_barrelLength=4.49; + ACE_barrelLength=0.114046; }; class RH_g19: RH_Pistol_Base_F { ACE_barrelTwist=0.24892; - ACE_barrelLength=4; + ACE_barrelLength=0.1016; }; class RH_gsh18: RH_Pistol_Base_F { ACE_barrelTwist=0.24892; - ACE_barrelLength=4.1; + ACE_barrelLength=0.10414; }; class RH_fnp45: RH_Pistol_Base_F { ACE_barrelTwist=0.4064; - ACE_barrelLength=4.5; + ACE_barrelLength=0.1143; }; class RH_fn57: RH_fnp45 { ACE_barrelTwist=0.23114; - ACE_barrelLength=4.8; + ACE_barrelLength=0.12192; }; class RH_vp70: RH_Pistol_Base_F { ACE_barrelTwist=0.24892; - ACE_barrelLength=4.6; + ACE_barrelLength=0.11684; }; class RH_vz61: RH_Pistol_Base_F { ACE_barrelTwist=0.4064; - ACE_barrelLength=4.5; + ACE_barrelLength=0.1143; }; class RH_tec9: RH_Pistol_Base_F { ACE_barrelTwist=0.24892; - ACE_barrelLength=5; + ACE_barrelLength=0.127; }; class RH_muzi: RH_Pistol_Base_F { ACE_barrelTwist=0.24892; - ACE_barrelLength=5; + ACE_barrelLength=0.127; }; }; \ No newline at end of file diff --git a/optionals/compat_rh_m4/CfgWeapons.hpp b/optionals/compat_rh_m4/CfgWeapons.hpp index 94f69a3562..6b703ed2b4 100644 --- a/optionals/compat_rh_m4/CfgWeapons.hpp +++ b/optionals/compat_rh_m4/CfgWeapons.hpp @@ -5,126 +5,126 @@ class CfgWeapons class RH_ar10: Rifle_Base_F { ACE_barrelTwist=0.28575; - ACE_barrelLength=20.8; + ACE_barrelLength=0.52832; }; class RH_m110: Rifle_Base_F { ACE_barrelTwist=0.254; - ACE_barrelLength=20; + ACE_barrelLength=0.508; }; class RH_Mk11: RH_m110 { ACE_barrelTwist=0.28575; - ACE_barrelLength=24; + ACE_barrelLength=0.6096; }; class RH_SR25EC: RH_m110 { ACE_barrelTwist=0.28575; - ACE_barrelLength=20; + ACE_barrelLength=0.508; }; class RH_m4: Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=14.5; + ACE_barrelLength=0.3683; }; class RH_M4_ris: RH_m4 { ACE_barrelTwist=0.1778; - ACE_barrelLength=14.5; + ACE_barrelLength=0.3683; }; class RH_M4A1_ris: RH_M4_ris { ACE_barrelTwist=0.1778; - ACE_barrelLength=14.5; + ACE_barrelLength=0.3683; }; class RH_M4m: RH_M4A1_ris { ACE_barrelTwist=0.1778; - ACE_barrelLength=10.5; + ACE_barrelLength=0.2667; }; class RH_M4sbr: RH_M4A1_ris { ACE_barrelTwist=0.1778; - ACE_barrelLength=10.5; + ACE_barrelLength=0.2667; }; class RH_hb: Rifle_Base_F { ACE_barrelTwist=0.2032; - ACE_barrelLength=6; + ACE_barrelLength=0.1524; }; class RH_hb_b: RH_hb { ACE_barrelTwist=0.2032; - ACE_barrelLength=6; + ACE_barrelLength=0.1524; }; class RH_sbr9: Rifle_Base_F { ACE_barrelTwist=0.24638; - ACE_barrelLength=9; + ACE_barrelLength=0.2286; }; class RH_M4A6: RH_M4A1_ris { ACE_barrelTwist=0.254; - ACE_barrelLength=14.5; + ACE_barrelLength=0.3683; }; class RH_M16a1: RH_m4 { ACE_barrelTwist=0.3556; - ACE_barrelLength=20; + ACE_barrelLength=0.508; }; class RH_M16A2: RH_m4 { ACE_barrelTwist=0.1778; - ACE_barrelLength=20; + ACE_barrelLength=0.508; }; class RH_M16A4 : RH_M4_ris { ACE_barrelTwist=0.1778; - ACE_barrelLength=20; + ACE_barrelLength=0.508; }; class RH_M16A3: RH_M16A4 { ACE_barrelTwist=0.1778; - ACE_barrelLength=20; + ACE_barrelLength=0.508; }; class RH_M16A4_m: RH_M16A4 { ACE_barrelTwist=0.1778; - ACE_barrelLength=20; + ACE_barrelLength=0.508; }; class RH_M16A6: RH_M16A4 { ACE_barrelTwist=0.1778; - ACE_barrelLength=20; + ACE_barrelLength=0.508; }; class RH_Mk12mod1: RH_M16A4 { ACE_barrelTwist=0.1778; - ACE_barrelLength=18; + ACE_barrelLength=0.4572; }; class RH_SAMR: RH_Mk12mod1 { ACE_barrelTwist=0.19558; - ACE_barrelLength=20; + ACE_barrelLength=0.508; }; class RH_Hk416: RH_M4A1_ris { ACE_barrelTwist=0.1778; - ACE_barrelLength=14.5; + ACE_barrelLength=0.3683; }; class RH_Hk416s: RH_M4sbr { ACE_barrelTwist=0.1778; - ACE_barrelLength=10.4; + ACE_barrelLength=0.26416; }; class RH_Hk416c: RH_M4sbr { ACE_barrelTwist=0.1778; - ACE_barrelLength=9; + ACE_barrelLength=0.2286; }; class RH_M27IAR: RH_Mk12mod1 { ACE_barrelTwist=0.1778; - ACE_barrelLength=16.5; + ACE_barrelLength=0.4191; }; }; \ No newline at end of file diff --git a/optionals/compat_rh_pdw/CfgWeapons.hpp b/optionals/compat_rh_pdw/CfgWeapons.hpp index 27a5a23493..c9921f3ace 100644 --- a/optionals/compat_rh_pdw/CfgWeapons.hpp +++ b/optionals/compat_rh_pdw/CfgWeapons.hpp @@ -5,6 +5,6 @@ class CfgWeapons class RH_PDW: Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=10; + ACE_barrelLength=0.254; }; }; diff --git a/optionals/compat_rhs_afrf3/CfgWeapons.hpp b/optionals/compat_rhs_afrf3/CfgWeapons.hpp index b8bd997a58..a6c9416f1e 100644 --- a/optionals/compat_rhs_afrf3/CfgWeapons.hpp +++ b/optionals/compat_rhs_afrf3/CfgWeapons.hpp @@ -5,57 +5,57 @@ class CfgWeapons class rhs_weap_pya: hgun_Rook40_F { ACE_barrelTwist=0.254; - ACE_barrelLength=4.4; + ACE_barrelLength=0.11176; }; class Pistol_Base_F; class rhs_weap_makarov_pmm: rhs_weap_pya { ACE_barrelTwist=0.24003; - ACE_barrelLength=3.68; + ACE_barrelLength=0.093472; }; class rhs_weap_ak74m_Base_F; class rhs_weap_ak74m: rhs_weap_ak74m_Base_F { ACE_barrelTwist=0.199898; - ACE_barrelLength=16.3; + ACE_barrelLength=0.41402; }; class rhs_weap_akm: rhs_weap_ak74m { ACE_barrelTwist=0.199898; - ACE_barrelLength=16.3; + ACE_barrelLength=0.41402; }; class rhs_weap_aks74; class rhs_weap_aks74u: rhs_weap_aks74 { ACE_barrelTwist=0.16002; - ACE_barrelLength=8.3; + ACE_barrelLength=0.21082; }; class rhs_weap_svd: rhs_weap_ak74m { ACE_barrelTwist=0.23876; - ACE_barrelLength=24.4; + ACE_barrelLength=0.61976; }; class rhs_weap_svdp; class rhs_weap_svds: rhs_weap_svdp { ACE_barrelTwist=0.23876; - ACE_barrelLength=22.2; + ACE_barrelLength=0.56388; }; class rhs_pkp_base; class rhs_weap_pkp: rhs_pkp_base { ACE_barrelTwist=0.24003; - ACE_barrelLength=25.9; + ACE_barrelLength=0.65786; }; class rhs_weap_pkm: rhs_weap_pkp { ACE_barrelTwist=0.24003; - ACE_barrelLength=25.4; + ACE_barrelLength=0.64516; }; class rhs_weap_rpk74m: rhs_weap_pkp { ACE_barrelTwist=0.195072; - ACE_barrelLength=23.2; + ACE_barrelLength=0.58928; }; class rhs_acc_sniper_base; diff --git a/optionals/compat_rhs_usf3/CfgWeapons.hpp b/optionals/compat_rhs_usf3/CfgWeapons.hpp index e394762bfe..e531676a24 100644 --- a/optionals/compat_rhs_usf3/CfgWeapons.hpp +++ b/optionals/compat_rhs_usf3/CfgWeapons.hpp @@ -7,69 +7,69 @@ class CfgWeapons class rhs_weap_XM2010_Base_F: Rifle_Base_F { ACE_barrelTwist=0.254; - ACE_barrelLength=24; + ACE_barrelLength=0.6096; }; class arifle_MX_Base_F; class rhs_weap_m4_Base: arifle_MX_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=14.5; + ACE_barrelLength=0.3683; }; class rhs_weap_m4a1; class rhs_weap_mk18: rhs_weap_m4a1 { ACE_barrelTwist=0.1778; - ACE_barrelLength=10.3; + ACE_barrelLength=0.26162; }; class rhs_weap_m16a4: rhs_weap_m4_Base { ACE_barrelTwist=0.1778; - ACE_barrelLength=20; + ACE_barrelLength=0.508; }; class rhs_M249_base; class rhs_weap_m249_pip: rhs_M249_base { ACE_barrelTwist=0.1778; - ACE_barrelLength=16.3; + ACE_barrelLength=0.41402; }; class weap_m240_base; class rhs_weap_m240B: weap_m240_base { ACE_barrelTwist=0.3048; - ACE_barrelLength=24.8; + ACE_barrelLength=0.62992; }; class rhs_weap_m14ebrri: srifle_EBR_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=22; + ACE_barrelLength=0.5588; }; class rhs_weap_sr25: rhs_weap_m14ebrri { ACE_barrelTwist=0.28575; - ACE_barrelLength=24; + ACE_barrelLength=0.6096; }; class rhs_weap_sr25_ec: rhs_weap_sr25 { ACE_barrelTwist=0.28575; - ACE_barrelLength=20; + ACE_barrelLength=0.508; }; class rhs_weap_M590_5RD: Rifle_Base_F { ACE_barrelTwist=0.0; ACE_twistDirection=0; - ACE_barrelLength=18.5; + ACE_barrelLength=0.4699; }; class rhs_weap_M590_8RD: rhs_weap_M590_5RD { ACE_barrelTwist=0.0; ACE_twistDirection=0; - ACE_barrelLength=20; + ACE_barrelLength=0.508; }; class hgun_ACPC2_F; class rhsusf_weap_m1911a1: hgun_ACPC2_F { ACE_barrelTwist=0.4064; - ACE_barrelLength=5; + ACE_barrelLength=0.127; }; class rhsusf_acc_sniper_base; From db07de31afdefddbcd6d3a8e7e85afa3654e02e8 Mon Sep 17 00:00:00 2001 From: KoffeinFlummi Date: Thu, 7 May 2015 18:49:40 +0200 Subject: [PATCH 076/217] Whoops; back to the roots. --- addons/overheating/functions/fnc_overheat.sqf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/overheating/functions/fnc_overheat.sqf b/addons/overheating/functions/fnc_overheat.sqf index 0d52d9102f..8b51ea9f6d 100644 --- a/addons/overheating/functions/fnc_overheat.sqf +++ b/addons/overheating/functions/fnc_overheat.sqf @@ -36,12 +36,12 @@ _time = _overheat select 1; // Get physical parameters // Bullet mass is read from config in grains and converted to grams -_bulletMass = (getNumber (configFile >> "CfgAmmo" >> _ammo >> "ACE_BulletMass")) * 0.06480; +_bulletMass = getNumber (configFile >> "CfgAmmo" >> _ammo >> "ACE_BulletMass"); if (_bulletMass == 0) then { // If the bullet mass is not configured, estimate it directly in grams _bulletMass = 3.4334 + 0.5171 * (getNumber (configFile >> "CfgAmmo" >> _ammo >> "hit") + getNumber (configFile >> "CfgAmmo" >> _ammo >> "caliber")); }; -_energyIncrement = 0.75 * 0.0005 * 15.4323 * _bulletMass * (vectorMagnitudeSqr _velocity); +_energyIncrement = 0.75 * 0.0005 * _bulletMass * (vectorMagnitudeSqr _velocity); _barrelMass = 0.50 * (getNumber (configFile >> "CfgWeapons" >> _weapon >> "WeaponSlotsInfo" >> "mass") / 22.0) max 1.0; // Calculate cooling From a8c4068b56f355e4bd3a5d1282d53a6de4238b61 Mon Sep 17 00:00:00 2001 From: KoffeinFlummi Date: Thu, 7 May 2015 18:51:18 +0200 Subject: [PATCH 077/217] Remove unnecessary comment --- addons/overheating/functions/fnc_overheat.sqf | 1 - 1 file changed, 1 deletion(-) diff --git a/addons/overheating/functions/fnc_overheat.sqf b/addons/overheating/functions/fnc_overheat.sqf index 8b51ea9f6d..75ba1e1306 100644 --- a/addons/overheating/functions/fnc_overheat.sqf +++ b/addons/overheating/functions/fnc_overheat.sqf @@ -35,7 +35,6 @@ _temperature = _overheat select 0; _time = _overheat select 1; // Get physical parameters -// Bullet mass is read from config in grains and converted to grams _bulletMass = getNumber (configFile >> "CfgAmmo" >> _ammo >> "ACE_BulletMass"); if (_bulletMass == 0) then { // If the bullet mass is not configured, estimate it directly in grams From 8e3e38f91d4864f7b49fb732b4aea72d6cdef603 Mon Sep 17 00:00:00 2001 From: jaynus Date: Thu, 7 May 2015 12:28:33 -0700 Subject: [PATCH 078/217] Nobin added to server build. Fixes #1043 --- optionals/server/$NOBIN$ | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 optionals/server/$NOBIN$ diff --git a/optionals/server/$NOBIN$ b/optionals/server/$NOBIN$ new file mode 100644 index 0000000000..e69de29bb2 From 518dfb437317f505f7628a449a87d2e72348c4da Mon Sep 17 00:00:00 2001 From: Glowbal Date: Thu, 7 May 2015 21:51:03 +0200 Subject: [PATCH 079/217] Added missing privates --- addons/common/functions/fnc_loadSettingsOnServer.sqf | 2 ++ addons/common/functions/fnc_setSetting.sqf | 2 +- addons/common/functions/fnc_setSettingFromConfig.sqf | 2 ++ 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/addons/common/functions/fnc_loadSettingsOnServer.sqf b/addons/common/functions/fnc_loadSettingsOnServer.sqf index 9255d047b3..61431ff220 100644 --- a/addons/common/functions/fnc_loadSettingsOnServer.sqf +++ b/addons/common/functions/fnc_loadSettingsOnServer.sqf @@ -13,6 +13,8 @@ */ #include "script_component.hpp" +private ["_parseConfigForSettings"]; + GVAR(settings) = []; _parseConfigForSettings = { diff --git a/addons/common/functions/fnc_setSetting.sqf b/addons/common/functions/fnc_setSetting.sqf index 67068c6ad1..84ba255758 100644 --- a/addons/common/functions/fnc_setSetting.sqf +++ b/addons/common/functions/fnc_setSetting.sqf @@ -17,7 +17,7 @@ */ #include "script_component.hpp" -private ["_name","_value"]; +private ["_name","_value", "_force", "_settingData","_failed"]; _name = _this select 0; _value = _this select 1; diff --git a/addons/common/functions/fnc_setSettingFromConfig.sqf b/addons/common/functions/fnc_setSettingFromConfig.sqf index 3a1b6fd055..0b5d4ab767 100644 --- a/addons/common/functions/fnc_setSettingFromConfig.sqf +++ b/addons/common/functions/fnc_setSettingFromConfig.sqf @@ -14,6 +14,8 @@ EXPLODE_1_PVT(_this,_optionEntry); +private ["_fnc_getValueWithType", "_value","_name", "_typeName", "_settingData"]; + _fnc_getValueWithType = { EXPLODE_2_PVT(_this,_optionEntry,_typeName); From 027a3dd4ac1c89d8fb56c177a84d57c3f55ae785 Mon Sep 17 00:00:00 2001 From: jaynus Date: Thu, 7 May 2015 12:52:19 -0700 Subject: [PATCH 080/217] AB map tweaking. Just a bit of optimization and crash checking. --- .../advanced_ballistics/AdvancedBallistics.cpp | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/extensions/advanced_ballistics/AdvancedBallistics.cpp b/extensions/advanced_ballistics/AdvancedBallistics.cpp index 6e964f8921..554c21b601 100644 --- a/extensions/advanced_ballistics/AdvancedBallistics.cpp +++ b/extensions/advanced_ballistics/AdvancedBallistics.cpp @@ -2,7 +2,7 @@ #include #include -#include +#include #include #define M_PI 3.14159265358979323846f @@ -57,7 +57,7 @@ struct Map { }; std::vector bulletDatabase; -std::map mapDatabase; +std::unordered_map mapDatabase; std::string worldName = ""; Map* map = &mapDatabase[""]; @@ -339,10 +339,8 @@ void __stdcall RVExtension(char *output, int outputSize, const char *function) tickTime = strtod(strtok_s(NULL, ":", &next_token), NULL); tickTime += strtod(strtok_s(NULL, ":", &next_token), NULL); - while (index >= bulletDatabase.size()) { - Bullet bullet; - bulletDatabase.push_back(bullet); - } + if (index >= bulletDatabase.size()) + bulletDatabase.resize(index); bulletDatabase[index].airFriction = airFriction; bulletDatabase[index].ballisticCoefficients = ballisticCoefficients; @@ -611,8 +609,12 @@ void __stdcall RVExtension(char *output, int outputSize, const char *function) mapGrids = (int)ceil((double)mapSize / 50.0) + 1; gridCells = mapGrids * mapGrids; + + auto map_iter = mapDatabase.find(worldName); + if (map_iter == mapDatabase.end()) + return; + map = &map_iter->second; - map = &mapDatabase[worldName]; if (map->gridHeights.size() == gridCells) { int n = sprintf_s(output, outputSize, "%s", "Terrain already initialized"); return; From fa071103114cf1566448bc2144082cb0ce11488a Mon Sep 17 00:00:00 2001 From: ulteq Date: Fri, 8 May 2015 10:46:59 +0200 Subject: [PATCH 081/217] The stability factor calculation is all metric now --- .../fnc_calculateStabilityFactor.sqf | 22 +++++++++---------- .../functions/fnc_handleFired.sqf | 8 +++---- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/addons/advanced_ballistics/functions/fnc_calculateStabilityFactor.sqf b/addons/advanced_ballistics/functions/fnc_calculateStabilityFactor.sqf index 81b71aeb3b..9b205c3ec2 100644 --- a/addons/advanced_ballistics/functions/fnc_calculateStabilityFactor.sqf +++ b/addons/advanced_ballistics/functions/fnc_calculateStabilityFactor.sqf @@ -4,10 +4,10 @@ * Calculates the stability factor of a bullet * * Arguments: - * 0: caliber - inches - * 1: bullet length - inches - * 2: bullet mass - grains - * 3: barrel twist - inches + * 0: caliber - mm + * 1: bullet length - mm + * 2: bullet mass - grams + * 3: barrel twist - mm * 4: muzzle velocity shift - m/s * 5: temperature - degrees celcius * 6: barometric Pressure - hPA @@ -17,7 +17,8 @@ * * Public: No */ - +#include "script_component.hpp" + private ["_caliber", "_bulletLength", "_bulletMass", "_barrelTwist", "_muzzleVelocity", "_temperature", "_barometricPressure", "_l", "_t", "_stabilityFactor"]; _caliber = _this select 0; _bulletLength = _this select 1; @@ -31,15 +32,14 @@ _barometricPressure = _this select 6; _t = _barrelTwist / _caliber; _l = _bulletLength / _caliber; -_stabilityFactor = 30 * _bulletMass / (_t^2 * _caliber^3 * _l * (1 + _l^2)); +_stabilityFactor = 7587000 * _bulletMass / (_t^2 * _caliber^3 * _l * (1 + _l^2)); -_muzzleVelocity = _muzzleVelocity * 3.2808399; -if (_muzzleVelocity > 1120) then { - _stabilityFactor = _stabilityFactor * (_muzzleVelocity / 2800) ^ (1/3); +if (_muzzleVelocity > 341.376) then { + _stabilityFactor = _stabilityFactor * (_muzzleVelocity / 853.44) ^ (1/3); } else { - _stabilityFactor = _stabilityFactor * (_muzzleVelocity / 1120) ^ (1/3); + _stabilityFactor = _stabilityFactor * (_muzzleVelocity / 341.376) ^ (1/3); }; -_stabilityFactor = _stabilityFactor * (_temperature + 273) / (15 + 273) * 1013.25 / _barometricPressure; +_stabilityFactor = _stabilityFactor * KELVIN(_temperature) / KELVIN(15) * 1013.25 / _barometricPressure; _stabilityFactor diff --git a/addons/advanced_ballistics/functions/fnc_handleFired.sqf b/addons/advanced_ballistics/functions/fnc_handleFired.sqf index 23da76ad2c..2e2b0076d1 100644 --- a/addons/advanced_ballistics/functions/fnc_handleFired.sqf +++ b/addons/advanced_ballistics/functions/fnc_handleFired.sqf @@ -91,10 +91,10 @@ if (GVAR(bulletTraceEnabled) && cameraView == "GUNNER") then { }; }; -_caliber = 39.37 * getNumber(configFile >> "cfgAmmo" >> _ammo >> "ACE_caliber"); -_bulletLength = 39.37 * getNumber(configFile >> "cfgAmmo" >> _ammo >> "ACE_bulletLength"); -_bulletMass = 15.432 * getNumber(configFile >> "cfgAmmo" >> _ammo >> "ACE_bulletMass"); -_barrelTwist = 39.37 * getNumber(configFile >> "cfgWeapons" >> _weapon >> "ACE_barrelTwist"); +_caliber = 1000 * getNumber(configFile >> "cfgAmmo" >> _ammo >> "ACE_caliber"); +_bulletLength = 1000 * getNumber(configFile >> "cfgAmmo" >> _ammo >> "ACE_bulletLength"); +_bulletMass = getNumber(configFile >> "cfgAmmo" >> _ammo >> "ACE_bulletMass"); +_barrelTwist = 1000 * getNumber(configFile >> "cfgWeapons" >> _weapon >> "ACE_barrelTwist"); _stabilityFactor = 1.5; if (_caliber > 0 && _bulletLength > 0 && _bulletMass > 0 && _barrelTwist > 0) then { From ce8e192a01a23940281cfb4b545c052690d483ca Mon Sep 17 00:00:00 2001 From: KoffeinFlummi Date: Fri, 8 May 2015 12:44:06 +0200 Subject: [PATCH 082/217] Convert ACE_caliber to millimeters --- .../functions/fnc_handleFired.sqf | 2 +- addons/ballistics/CfgAmmo.hpp | 92 ++-- extras/CfgAmmoReference.hpp | 410 +++++++++--------- optionals/compat_cup/CfgAmmo.hpp | 64 +-- optionals/compat_hlcmods_core/CfgAmmo.hpp | 44 +- optionals/compat_rh_de/CfgAmmo.hpp | 24 +- optionals/compat_rh_m4/CfgAmmo.hpp | 30 +- optionals/compat_rh_pdw/CfgAmmo.hpp | 2 +- optionals/compat_rhs_afrf3/CfgAmmo.hpp | 18 +- optionals/compat_rhs_usf3/CfgAmmo.hpp | 14 +- 10 files changed, 350 insertions(+), 350 deletions(-) diff --git a/addons/advanced_ballistics/functions/fnc_handleFired.sqf b/addons/advanced_ballistics/functions/fnc_handleFired.sqf index 2e2b0076d1..d54caf6f03 100644 --- a/addons/advanced_ballistics/functions/fnc_handleFired.sqf +++ b/addons/advanced_ballistics/functions/fnc_handleFired.sqf @@ -91,7 +91,7 @@ if (GVAR(bulletTraceEnabled) && cameraView == "GUNNER") then { }; }; -_caliber = 1000 * getNumber(configFile >> "cfgAmmo" >> _ammo >> "ACE_caliber"); +_caliber = getNumber(configFile >> "cfgAmmo" >> _ammo >> "ACE_caliber"); _bulletLength = 1000 * getNumber(configFile >> "cfgAmmo" >> _ammo >> "ACE_bulletLength"); _bulletMass = getNumber(configFile >> "cfgAmmo" >> _ammo >> "ACE_bulletMass"); _barrelTwist = 1000 * getNumber(configFile >> "cfgWeapons" >> _weapon >> "ACE_barrelTwist"); diff --git a/addons/ballistics/CfgAmmo.hpp b/addons/ballistics/CfgAmmo.hpp index 8c47af9ac3..d693a1f44c 100644 --- a/addons/ballistics/CfgAmmo.hpp +++ b/addons/ballistics/CfgAmmo.hpp @@ -25,7 +25,7 @@ class CfgAmmo { typicalSpeed=750; tracerStartTime = 0.073; //M856 tracer burns out to 800m tracerEndTime = 1.579; //Time in seconds calculated with ballistics calculator - ACE_caliber=0.00569; + ACE_caliber=5.69; ACE_bulletLength=0.023012; ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; @@ -42,7 +42,7 @@ class CfgAmmo { deflecting=18; hit=11; typicalSpeed=836; - ACE_caliber=0.00569; + ACE_caliber=5.69; ACE_bulletLength=0.023012; ACE_bulletMass=4.9896; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -59,7 +59,7 @@ class CfgAmmo { deflecting=18; hit=9; typicalSpeed=886; - ACE_caliber=0.00569; + ACE_caliber=5.69; ACE_bulletLength=0.023012; ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -76,7 +76,7 @@ class CfgAmmo { deflecting=18; hit=6; typicalSpeed=886; - ACE_caliber=0.00569; + ACE_caliber=5.69; ACE_bulletLength=0.023012; ACE_bulletMass=2.9808; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -97,7 +97,7 @@ class CfgAmmo { deflecting=18; hit=7; typicalSpeed=880; - ACE_caliber=0.005588; + ACE_caliber=5.588; ACE_bulletLength=0.02159; ACE_bulletMass=3.42792; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -117,7 +117,7 @@ class CfgAmmo { typicalSpeed=883; tracerStartTime = 0.073; //7T3M tracer burns out to 850m tracerEndTime = 1.736; //Time in seconds calculated with ballistics calculator - ACE_caliber=0.005588; + ACE_caliber=5.588; ACE_bulletLength=0.02159; ACE_bulletMass=3.22704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -131,7 +131,7 @@ class CfgAmmo { class B_65x39_Caseless : BulletBase { airFriction=-0.000785; typicalSpeed=800; - ACE_caliber=0.006706; + ACE_caliber=6.706; ACE_bulletLength=0.032893; ACE_bulletMass=7.9704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -154,7 +154,7 @@ class CfgAmmo { airFriction=-0.00078; typicalSpeed=820 ; caliber=0.9; - ACE_caliber=0.006706; + ACE_caliber=6.706; ACE_bulletLength=0.034646; ACE_bulletMass=9.0072; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -169,7 +169,7 @@ class CfgAmmo { airFriction=-0.000651; typicalSpeed=860 ; caliber=1.1; - ACE_caliber=0.006706; + ACE_caliber=6.706; ACE_bulletLength=0.03622; ACE_bulletMass=9.072; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -186,7 +186,7 @@ class CfgAmmo { hit=9; tracerStartTime = 0.073; //Based on the British L5A1 which burns out to 1000m tracerEndTime = 2.058; //Time in seconds calculated with ballistics calculator - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.028956; ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -206,7 +206,7 @@ class CfgAmmo { caliber=1.8; hit=16; typicalSpeed=790; - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.031496; ACE_bulletMass=11.34; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -222,7 +222,7 @@ class CfgAmmo { caliber=1.8; hit=16; typicalSpeed=790; - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.031496; ACE_bulletMass=11.34; ACE_ammoTempMuzzleVelocityShifts[]={-5.3, -5.1, -4.6, -4.2, -3.4, -2.6, -1.4, -0.3, 1.4, 3.0, 5.2}; @@ -238,7 +238,7 @@ class CfgAmmo { caliber=1.5; hit=14; typicalSpeed=900; - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.031496; ACE_bulletMass=8.424; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -254,7 +254,7 @@ class CfgAmmo { caliber=2.2; hit=11; typicalSpeed=930; - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.031496; ACE_bulletMass=8.2296; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -270,7 +270,7 @@ class CfgAmmo { caliber=1; hit=6; typicalSpeed=320; - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.034036; ACE_bulletMass=12.96; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -286,7 +286,7 @@ class CfgAmmo { typicalSpeed=800; caliber=2.0; hit=10; - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.030734; ACE_bulletMass=11.2752; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -302,7 +302,7 @@ class CfgAmmo { typicalSpeed=820; caliber=2.1; hit=8; - ACE_caliber=0.007214; + ACE_caliber=7.214; ACE_bulletLength=0.038837; ACE_bulletMass=11.664; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -318,7 +318,7 @@ class CfgAmmo { typicalSpeed=915; caliber=2.3; hit=6; - ACE_caliber=0.006172; + ACE_caliber=6.172; ACE_bulletLength=0.032563; ACE_bulletMass=11.664; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -334,7 +334,7 @@ class CfgAmmo { caliber=1.8; hit=17; typicalSpeed=900; - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.034366; ACE_bulletMass=12.312; ACE_ammoTempMuzzleVelocityShifts[]={-5.3, -5.1, -4.6, -4.2, -3.4, -2.6, -1.4, -0.3, 1.4, 3.0, 5.2}; @@ -350,7 +350,7 @@ class CfgAmmo { caliber=1.9; hit=18; typicalSpeed=867; - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.037821; ACE_bulletMass=14.256; ACE_ammoTempMuzzleVelocityShifts[]={-5.3, -5.1, -4.6, -4.2, -3.4, -2.6, -1.4, -0.3, 1.4, 3.0, 5.2}; @@ -366,7 +366,7 @@ class CfgAmmo { caliber=2.0; hit=19; typicalSpeed=853; - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.040691; ACE_bulletMass=14.904; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -380,7 +380,7 @@ class CfgAmmo { class B_762x54_Ball: B_762x51_Ball { airFriction=-0.001023; typicalSpeed=820; - ACE_caliber=0.007925; + ACE_caliber=7.925; ACE_bulletLength=0.028956; ACE_bulletMass=9.8496; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -396,7 +396,7 @@ class CfgAmmo { caliber=1.5; hit=15; typicalSpeed=820; - ACE_caliber=0.007925; + ACE_caliber=7.925; ACE_bulletLength=0.028956; ACE_bulletMass=9.8496; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -415,7 +415,7 @@ class CfgAmmo { typicalSpeed=800; tracerStartTime = 0.073; //Based on the 7T2 which burns three seconds tracerEndTime = 3; - ACE_caliber=0.007925; + ACE_caliber=7.925; ACE_bulletLength=0.028956; ACE_bulletMass=9.6552; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -431,7 +431,7 @@ class CfgAmmo { caliber=1.5; hit=11; typicalSpeed=790; - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.029286; ACE_bulletMass=8.1; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -447,7 +447,7 @@ class CfgAmmo { hit=12; caliber=1.5; typicalSpeed=716; - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.028956; ACE_bulletMass=7.9704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -465,7 +465,7 @@ class CfgAmmo { typicalSpeed=716; tracerStartTime = 0.073; //57N231P tracer burns out to 800m tracerEndTime = 2.082; //Time in seconds calculated with ballistics calculator - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.028956; ACE_bulletMass=7.5816; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -480,7 +480,7 @@ class CfgAmmo { airFriction=-0.00125; typicalSpeed=390; hit=6; - ACE_caliber=0.009042; + ACE_caliber=9.042; ACE_bulletLength=0.015494; ACE_bulletMass=7.452; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -495,7 +495,7 @@ class CfgAmmo { hit=5; airFriction=-0.001234; typicalSpeed=298; - ACE_caliber=0.009271; + ACE_caliber=9.271; ACE_bulletLength=0.015494; ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -510,7 +510,7 @@ class CfgAmmo { airFriction=-0.001234; typicalSpeed=370; hit=6; - ACE_caliber=0.009017; + ACE_caliber=9.017; ACE_bulletLength=0.015494; ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -525,7 +525,7 @@ class CfgAmmo { airFriction=-0.00168; typicalSpeed=425; hit=7; - ACE_caliber=0.0127; + ACE_caliber=12.7; ACE_bulletLength=0.019406; ACE_bulletMass=10.692; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -540,7 +540,7 @@ class CfgAmmo { airFriction=-0.001213; typicalSpeed=282; hit=7; - ACE_caliber=0.007938; + ACE_caliber=7.938; ACE_bulletLength=0.015494; ACE_bulletMass=4.212; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -555,7 +555,7 @@ class CfgAmmo { airFriction=-0.00083; typicalSpeed=761; caliber=2.0; - ACE_caliber=0.007899; + ACE_caliber=7.899; ACE_bulletLength=0.031166; ACE_bulletMass=11.2752; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -569,7 +569,7 @@ class CfgAmmo { class B_93x64_Ball : BulletBase { airFriction=-0.00106; typicalSpeed=880; - ACE_caliber=0.009296; + ACE_caliber=9.296; ACE_bulletLength=0.03429; ACE_bulletMass=14.904; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -584,7 +584,7 @@ class CfgAmmo { timeToLive=10; airFriction=-0.000395; typicalSpeed=910; - ACE_caliber=0.010363; + ACE_caliber=10.363; ACE_bulletLength=0.054; ACE_bulletMass=26.568; ACE_transonicStabilityCoef=1; @@ -598,7 +598,7 @@ class CfgAmmo { }; class ACE_106x83mm_Ball : B_408_Ball { timeToLive=10; - ACE_caliber=0.010566; + ACE_caliber=10.566; ACE_bulletLength=0.053061; ACE_bulletMass=25.7904; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -613,7 +613,7 @@ class CfgAmmo { timeToLive=10; airFriction=-0.000606; typicalSpeed=915; - ACE_caliber=0.008585; + ACE_caliber=8.585; ACE_bulletLength=0.039573; ACE_bulletMass=16.2; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -627,7 +627,7 @@ class CfgAmmo { class B_338_NM_Ball : BulletBase { airFriction=-0.000537; typicalSpeed=820; - ACE_caliber=0.008585; + ACE_caliber=8.585; ACE_bulletLength=0.04318; ACE_bulletMass=19.44; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -642,7 +642,7 @@ class CfgAmmo { timeToLive=10; airFriction=-0.000535; typicalSpeed=826; - ACE_caliber=0.008585; + ACE_caliber=8.585; ACE_bulletLength=0.04318; ACE_bulletMass=19.44; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -658,7 +658,7 @@ class CfgAmmo { airFriction=-0.000673; caliber=2.8; typicalSpeed=826; - ACE_caliber=0.008585; + ACE_caliber=8.585; ACE_bulletLength=0.038989; ACE_bulletMass=16.3944; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -672,7 +672,7 @@ class CfgAmmo { class B_127x54_Ball : BulletBase { airFriction=-0.00014; typicalSpeed=300; - ACE_caliber=0.012954; + ACE_caliber=12.954; ACE_bulletLength=0.064516; ACE_bulletMass=48.6; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -687,7 +687,7 @@ class CfgAmmo { timeToLive=10; airFriction=-0.0006; typicalSpeed=900; - ACE_caliber=0.012954; + ACE_caliber=12.954; ACE_bulletLength=0.058674; ACE_bulletMass=41.9256; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -704,7 +704,7 @@ class CfgAmmo { typicalSpeed=900; hit=25; caliber=4.0; - ACE_caliber=0.012954; + ACE_caliber=12.954; ACE_bulletLength=0.058674; ACE_bulletMass=41.9904; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -720,7 +720,7 @@ class CfgAmmo { airFriction=-0.000374; typicalSpeed=860; caliber=3.0; - ACE_caliber=0.012954; + ACE_caliber=12.954; ACE_bulletLength=0.064516; ACE_bulletMass=48.6; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -735,7 +735,7 @@ class CfgAmmo { timeToLive=10; airFriction=-0.00064; typicalSpeed=820; - ACE_caliber=0.012979; + ACE_caliber=12.979; ACE_bulletLength=0.064008; ACE_bulletMass=48.276; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -749,7 +749,7 @@ class CfgAmmo { class B_45ACP_Ball : BulletBase { airFriction=-0.0007182; typicalSpeed=250; - ACE_caliber=0.011481; + ACE_caliber=11.481; ACE_bulletLength=0.017272; ACE_bulletMass=14.904; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; diff --git a/extras/CfgAmmoReference.hpp b/extras/CfgAmmoReference.hpp index 1d2d5b2700..ab90e6bbd0 100644 --- a/extras/CfgAmmoReference.hpp +++ b/extras/CfgAmmoReference.hpp @@ -5,7 +5,7 @@ class CfgAmmo airFriction=-0.001265; hit=8; typicalSpeed=750; - ACE_caliber=0.00569; + ACE_caliber=5.69; ACE_bulletLength=0.023012; ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; @@ -22,7 +22,7 @@ class CfgAmmo deflecting=18; hit=11; typicalSpeed=836; - ACE_caliber=0.00569; + ACE_caliber=5.69; ACE_bulletLength=0.023012; ACE_bulletMass=4.9896; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -39,7 +39,7 @@ class CfgAmmo deflecting=18; hit=9; typicalSpeed=886; - ACE_caliber=0.00569; + ACE_caliber=5.69; ACE_bulletLength=0.023012; ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -60,7 +60,7 @@ class CfgAmmo deflecting=18; hit=7; typicalSpeed=880; - ACE_caliber=0.005588; + ACE_caliber=5.588; ACE_bulletLength=0.02159; ACE_bulletMass=3.42792; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -78,7 +78,7 @@ class CfgAmmo deflecting=18; hit=7; typicalSpeed=883; - ACE_caliber=0.005588; + ACE_caliber=5.588; ACE_bulletLength=0.02159; ACE_bulletMass=3.22704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -92,7 +92,7 @@ class CfgAmmo class B_65x39_Caseless : BulletBase { airFriction=-0.000785; typicalSpeed=800; - ACE_caliber=0.006706; + ACE_caliber=6.706; ACE_bulletLength=0.032893; ACE_bulletMass=7.9704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -115,7 +115,7 @@ class CfgAmmo { airFriction=-0.00078; typicalSpeed=820 ; - ACE_caliber=0.006706; + ACE_caliber=6.706; ACE_bulletLength=0.034646; ACE_bulletMass=9.0072; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -130,7 +130,7 @@ class CfgAmmo airFriction=-0.001035; typicalSpeed=833; hit=9; - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.028956; ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -150,7 +150,7 @@ class CfgAmmo caliber=1.05; hit=16; typicalSpeed=790; - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.031496; ACE_bulletMass=11.34; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -166,7 +166,7 @@ class CfgAmmo caliber=0.85; hit=14; typicalSpeed=890; - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.031496; ACE_bulletMass=8.424; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -182,7 +182,7 @@ class CfgAmmo caliber=0.5; hit=6; typicalSpeed=790; - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.034036; ACE_bulletMass=12.96; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -198,7 +198,7 @@ class CfgAmmo caliber=1.08; hit=17; typicalSpeed=900; - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.034366; ACE_bulletMass=12.312; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -214,7 +214,7 @@ class CfgAmmo caliber=1.12; hit=18; typicalSpeed=867; - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.037821; ACE_bulletMass=14.256; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -230,7 +230,7 @@ class CfgAmmo caliber=1.15; hit=19; typicalSpeed=853; - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.040691; ACE_bulletMass=14.904; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -244,7 +244,7 @@ class CfgAmmo class B_762x54_Ball: B_762x51_Ball { airFriction=-0.001023; typicalSpeed=820; - ACE_caliber=0.007925; + ACE_caliber=7.925; ACE_bulletLength=0.028956; ACE_bulletMass=9.8496; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -260,7 +260,7 @@ class CfgAmmo caliber=0.95; hit=15; typicalSpeed=820; - ACE_caliber=0.007925; + ACE_caliber=7.925; ACE_bulletLength=0.028956; ACE_bulletMass=9.8496; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -277,7 +277,7 @@ class CfgAmmo caliber=0.9; hit=15; typicalSpeed=800; - ACE_caliber=0.007925; + ACE_caliber=7.925; ACE_bulletLength=0.028956; ACE_bulletMass=9.6552; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -293,7 +293,7 @@ class CfgAmmo caliber=0.9; hit=11; typicalSpeed=790; - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.029286; ACE_bulletMass=8.1; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -308,7 +308,7 @@ class CfgAmmo airFriction=-0.0015168; hit=12; typicalSpeed=716; - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.028956; ACE_bulletMass=7.9704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -323,7 +323,7 @@ class CfgAmmo airFriction=-0.0015168; hit=12; typicalSpeed=716; - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.028956; ACE_bulletMass=7.5816; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -338,7 +338,7 @@ class CfgAmmo airFriction=-0.00125; typicalSpeed=390; hit=6; - ACE_caliber=0.009042; + ACE_caliber=9.042; ACE_bulletLength=0.015494; ACE_bulletMass=7.452; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -353,7 +353,7 @@ class CfgAmmo hit=5; airFriction=-0.001234; typicalSpeed=298; - ACE_caliber=0.009271; + ACE_caliber=9.271; ACE_bulletLength=0.015494; ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -368,7 +368,7 @@ class CfgAmmo airFriction=-0.001234; typicalSpeed=370; hit=6; - ACE_caliber=0.009017; + ACE_caliber=9.017; ACE_bulletLength=0.015494; ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -383,7 +383,7 @@ class CfgAmmo airFriction=-0.00168; typicalSpeed=425; hit=7; - ACE_caliber=0.0127; + ACE_caliber=12.7; ACE_bulletLength=0.019406; ACE_bulletMass=10.692; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -398,7 +398,7 @@ class CfgAmmo airFriction=-0.001213; typicalSpeed=282; hit=7; - ACE_caliber=0.007938; + ACE_caliber=7.938; ACE_bulletLength=0.015494; ACE_bulletMass=4.212; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -412,7 +412,7 @@ class CfgAmmo class ACE_303_Ball : ACE_762x51_Ball_M118LR { airFriction=-0.00083; typicalSpeed=761; - ACE_caliber=0.007899; + ACE_caliber=7.899; ACE_bulletLength=0.031166; ACE_bulletMass=11.2752; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -426,7 +426,7 @@ class CfgAmmo class B_93x64_Ball : BulletBase { airFriction=-0.00106; typicalSpeed=880; - ACE_caliber=0.009296; + ACE_caliber=9.296; ACE_bulletLength=0.03429; ACE_bulletMass=14.904; ACE_transonicStabilityCoef=1; @@ -442,7 +442,7 @@ class CfgAmmo timeToLive=10; airFriction=-0.000395; typicalSpeed=910; - ACE_caliber=0.010363; + ACE_caliber=10.363; ACE_bulletLength=0.054; ACE_bulletMass=26.568; ACE_transonicStabilityCoef=1; @@ -456,7 +456,7 @@ class CfgAmmo }; class ACE_106x83mm_Ball : B_408_Ball { timeToLive=10; - ACE_caliber=0.010566; + ACE_caliber=10.566; ACE_bulletLength=0.053061; ACE_bulletMass=25.7904; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -471,7 +471,7 @@ class CfgAmmo timeToLive=10; airFriction=-0.000606; typicalSpeed=915; - ACE_caliber=0.008585; + ACE_caliber=8.585; ACE_bulletLength=0.039573; ACE_bulletMass=16.2; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -485,7 +485,7 @@ class CfgAmmo class B_338_NM_Ball : BulletBase { airFriction=-0.000537; typicalSpeed=820; - ACE_caliber=0.008585; + ACE_caliber=8.585; ACE_bulletLength=0.04318; ACE_bulletMass=19.44; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -501,7 +501,7 @@ class CfgAmmo airFriction=-0.000535; caliber=1.55; typicalSpeed=826; - ACE_caliber=0.008585; + ACE_caliber=8.585; ACE_bulletLength=0.04318; ACE_bulletMass=19.44; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -517,7 +517,7 @@ class CfgAmmo airFriction=-0.000673; caliber=2.4; typicalSpeed=826; - ACE_caliber=0.008585; + ACE_caliber=8.585; ACE_bulletLength=0.038989; ACE_bulletMass=16.3944; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -531,7 +531,7 @@ class CfgAmmo class B_127x54_Ball : BulletBase { airFriction=-0.00014; typicalSpeed=300; - ACE_caliber=0.012954; + ACE_caliber=12.954; ACE_bulletLength=0.064516; ACE_bulletMass=48.6; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -546,7 +546,7 @@ class CfgAmmo timeToLive=10; airFriction=-0.0006; typicalSpeed=853; - ACE_caliber=0.012954; + ACE_caliber=12.954; ACE_bulletLength=0.058674; ACE_bulletMass=41.9256; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -561,7 +561,7 @@ class CfgAmmo timeToLive=10; airFriction=-0.000374; typicalSpeed=860; - ACE_caliber=0.012954; + ACE_caliber=12.954; ACE_bulletLength=0.064516; ACE_bulletMass=48.6; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -576,7 +576,7 @@ class CfgAmmo timeToLive=10; airFriction=-0.00064; typicalSpeed=820; - ACE_caliber=0.012979; + ACE_caliber=12.979; ACE_bulletLength=0.064008; ACE_bulletMass=48.276; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -590,7 +590,7 @@ class CfgAmmo class B_45ACP_Ball : BulletBase { airFriction=-0.0007182; typicalSpeed=250; - ACE_caliber=0.011481; + ACE_caliber=11.481; ACE_bulletLength=0.017272; ACE_bulletMass=14.904; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -604,7 +604,7 @@ class CfgAmmo class TMR_B_762x51_M118LR : B_762x51_Ball { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.031496; ACE_bulletMass=11.34; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -618,7 +618,7 @@ class CfgAmmo class RH_50_AE_Ball: BulletBase { - ACE_caliber=0.0127; + ACE_caliber=12.7; ACE_bulletLength=0.028194; ACE_bulletMass=21.06; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -631,7 +631,7 @@ class CfgAmmo }; class RH_454_Casull: BulletBase { - ACE_caliber=0.011481; + ACE_caliber=11.481; ACE_bulletLength=0.022733; ACE_bulletMass=21.06; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -644,7 +644,7 @@ class CfgAmmo }; class RH_32ACP: BulletBase { - ACE_caliber=0.007938; + ACE_caliber=7.938; ACE_bulletLength=0.015494; ACE_bulletMass=4.212; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -657,7 +657,7 @@ class CfgAmmo }; class RH_45ACP: BulletBase { - ACE_caliber=0.011481; + ACE_caliber=11.481; ACE_bulletLength=0.017272; ACE_bulletMass=14.904; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -670,7 +670,7 @@ class CfgAmmo }; class RH_B_40SW: BulletBase { - ACE_caliber=0.01016; + ACE_caliber=10.16; ACE_bulletLength=0.011354; ACE_bulletMass=8.748; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -683,7 +683,7 @@ class CfgAmmo }; class RH_44mag_ball: BulletBase { - ACE_caliber=0.010897; + ACE_caliber=10.897; ACE_bulletLength=0.020422; ACE_bulletMass=12.96; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -696,7 +696,7 @@ class CfgAmmo }; class RH_357mag_ball: BulletBase { - ACE_caliber=0.009068; + ACE_caliber=9.068; ACE_bulletLength=0.013741; ACE_bulletMass=8.1; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -709,7 +709,7 @@ class CfgAmmo }; class RH_762x25: BulletBase { - ACE_caliber=0.007874; + ACE_caliber=7.874; ACE_bulletLength=0.013856; ACE_bulletMass=5.5728; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -722,7 +722,7 @@ class CfgAmmo }; class RH_9x18_Ball: BulletBase { - ACE_caliber=0.009271; + ACE_caliber=9.271; ACE_bulletLength=0.015494; ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -735,7 +735,7 @@ class CfgAmmo }; class RH_B_9x19_Ball: BulletBase { - ACE_caliber=0.009017; + ACE_caliber=9.017; ACE_bulletLength=0.015494; ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -748,7 +748,7 @@ class CfgAmmo }; class RH_B_22LR_SD: BulletBase { - ACE_caliber=0.005664; + ACE_caliber=5.664; ACE_bulletLength=0.01143; ACE_bulletMass=2.4624; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -761,7 +761,7 @@ class CfgAmmo }; class RH_57x28mm: BulletBase { - ACE_caliber=0.00569; + ACE_caliber=5.69; ACE_bulletLength=0.012573; ACE_bulletMass=1.8144; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -775,7 +775,7 @@ class CfgAmmo class RH_9x19_B_M822: BulletBase { - ACE_caliber=0.009017; + ACE_caliber=9.017; ACE_bulletLength=0.015494; ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -788,7 +788,7 @@ class CfgAmmo }; class RH_9x19_B_HP: BulletBase { - ACE_caliber=0.009017; + ACE_caliber=9.017; ACE_bulletLength=0.015494; ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -801,7 +801,7 @@ class CfgAmmo }; class RH_9x19_B_HPSB: BulletBase { - ACE_caliber=0.009017; + ACE_caliber=9.017; ACE_bulletLength=0.015316; ACE_bulletMass=9.5256; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -814,7 +814,7 @@ class CfgAmmo }; class RH_B_6x35: BulletBase { - ACE_caliber=0.00569; + ACE_caliber=5.69; ACE_bulletLength=0.011303; ACE_bulletMass=4.212; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -827,7 +827,7 @@ class CfgAmmo }; class RH_556x45_B_M855A1 : B_556x45_Ball { - ACE_caliber=0.00569; + ACE_caliber=5.69; ACE_bulletLength=0.023012; ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; @@ -840,7 +840,7 @@ class CfgAmmo }; class RH_556x45_B_Mk262 : B_556x45_Ball { - ACE_caliber=0.00569; + ACE_caliber=5.69; ACE_bulletLength=0.023012; ACE_bulletMass=4.9896; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -853,7 +853,7 @@ class CfgAmmo }; class RH_556x45_B_Mk318 : B_556x45_Ball { - ACE_caliber=0.00569; + ACE_caliber=5.69; ACE_bulletLength=0.023012; ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -866,7 +866,7 @@ class CfgAmmo }; class RH_68x43_B_FMJ: B_65x39_Caseless { - ACE_caliber=0.007036; + ACE_caliber=7.036; ACE_bulletLength=0.024359; ACE_bulletMass=7.452; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -879,7 +879,7 @@ class CfgAmmo }; class RH_68x43_B_Match: B_65x39_Caseless { - ACE_caliber=0.007036; + ACE_caliber=7.036; ACE_bulletLength=0.03175; ACE_bulletMass=8.748; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -892,7 +892,7 @@ class CfgAmmo }; class RH_762x35_B_FMJ: B_65x39_Caseless { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.028397; ACE_bulletMass=9.5256; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -905,7 +905,7 @@ class CfgAmmo }; class RH_762x35_B_Match: B_65x39_Caseless { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.029286; ACE_bulletMass=8.1; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -918,7 +918,7 @@ class CfgAmmo }; class RH_762x35_B_MSB: B_65x39_Caseless { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.037821; ACE_bulletMass=14.256; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -931,7 +931,7 @@ class CfgAmmo }; class RH_762x51_B_M80A1 : B_762x51_Ball { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.028956; ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -944,7 +944,7 @@ class CfgAmmo }; class RH_762x51_B_Mk316LR : B_762x51_Ball { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.031496; ACE_bulletMass=11.34; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -957,7 +957,7 @@ class CfgAmmo }; class RH_762x51_B_Mk319 : B_762x51_Ball { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.02728; ACE_bulletMass=8.424; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -970,7 +970,7 @@ class CfgAmmo }; class RH_762x51_B_LFMJSB: B_762x51_Ball { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.034036; ACE_bulletMass=12.96; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -984,7 +984,7 @@ class CfgAmmo class HLC_556NATO_SOST: BulletBase { - ACE_caliber=0.00569; + ACE_caliber=5.69; ACE_bulletLength=0.023012; ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -997,7 +997,7 @@ class CfgAmmo }; class HLC_556NATO_SPR: BulletBase { - ACE_caliber=0.00569; + ACE_caliber=5.69; ACE_bulletLength=0.023012; ACE_bulletMass=4.9896; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1010,7 +1010,7 @@ class CfgAmmo }; class HLC_556NATO_EPR: BulletBase { - ACE_caliber=0.00569; + ACE_caliber=5.69; ACE_bulletLength=0.023012; ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; @@ -1023,7 +1023,7 @@ class CfgAmmo }; class HLC_300Blackout_Ball: BulletBase { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.028397; ACE_bulletMass=9.5256; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1036,7 +1036,7 @@ class CfgAmmo }; class HLC_300Blackout_SMK: BulletBase { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.037821; ACE_bulletMass=14.256; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1049,7 +1049,7 @@ class CfgAmmo }; class HLC_762x51_BTSub: BulletBase { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.034036; ACE_bulletMass=12.96; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -1062,7 +1062,7 @@ class CfgAmmo }; class HLC_762x54_ball: BulletBase { - ACE_caliber=0.007925; + ACE_caliber=7.925; ACE_bulletLength=0.028956; ACE_bulletMass=9.8496; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1075,7 +1075,7 @@ class CfgAmmo }; class HLC_762x54_tracer: BulletBase { - ACE_caliber=0.007925; + ACE_caliber=7.925; ACE_bulletLength=0.028956; ACE_bulletMass=9.6552; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1088,7 +1088,7 @@ class CfgAmmo }; class HLC_303Brit_B: BulletBase { - ACE_caliber=0.007899; + ACE_caliber=7.899; ACE_bulletLength=0.031166; ACE_bulletMass=11.2752; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1101,7 +1101,7 @@ class CfgAmmo }; class HLC_792x57_Ball: BulletBase { - ACE_caliber=0.008077; + ACE_caliber=8.077; ACE_bulletLength=0.028651; ACE_bulletMass=12.7008; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1114,7 +1114,7 @@ class CfgAmmo }; class FH_545x39_Ball: BulletBase { - ACE_caliber=0.005588; + ACE_caliber=5.588; ACE_bulletLength=0.02159; ACE_bulletMass=3.42792; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1134,7 +1134,7 @@ class CfgAmmo }; class HLC_9x19_Ball: BulletBase { - ACE_caliber=0.009017; + ACE_caliber=9.017; ACE_bulletLength=0.015494; ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -1155,7 +1155,7 @@ class CfgAmmo }; class HLC_10mm_FMJ: HLC_9x19_Ball { - ACE_caliber=0.0127; + ACE_caliber=12.7; ACE_bulletLength=0.019406; ACE_bulletMass=10.692; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -1168,7 +1168,7 @@ class CfgAmmo }; class HLC_9x19_M882_SMG: HLC_9x19_Ball { - ACE_caliber=0.009017; + ACE_caliber=9.017; ACE_bulletLength=0.015494; ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -1182,7 +1182,7 @@ class CfgAmmo class M_mas_545x39_Ball_7N6M : BulletBase { - ACE_caliber=0.005588; + ACE_caliber=5.588; ACE_bulletLength=0.02159; ACE_bulletMass=3.42792; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1195,7 +1195,7 @@ class CfgAmmo }; class M_mas_545x39_Ball_7T3M : BulletBase { - ACE_caliber=0.005588; + ACE_caliber=5.588; ACE_bulletLength=0.02159; ACE_bulletMass=3.22704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1208,7 +1208,7 @@ class CfgAmmo }; class B_mas_556x45_Ball_Mk262 : B_556x45_Ball { - ACE_caliber=0.00569; + ACE_caliber=5.69; ACE_bulletLength=0.023012; ACE_bulletMass=4.9896; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1221,7 +1221,7 @@ class CfgAmmo }; class B_mas_9x18_Ball_57N181S : BulletBase { - ACE_caliber=0.009271; + ACE_caliber=9.271; ACE_bulletLength=0.015494; ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -1234,7 +1234,7 @@ class CfgAmmo }; class B_mas_9x21p_Ball: BulletBase { - ACE_caliber=0.009017; + ACE_caliber=9.017; ACE_bulletLength=0.015494; ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -1247,7 +1247,7 @@ class CfgAmmo }; class B_mas_9x21_Ball: BulletBase { - ACE_caliber=0.009017; + ACE_caliber=9.017; ACE_bulletLength=0.015494; ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -1260,7 +1260,7 @@ class CfgAmmo }; class B_mas_9x21d_Ball: BulletBase { - ACE_caliber=0.009017; + ACE_caliber=9.017; ACE_bulletLength=0.015494; ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -1273,7 +1273,7 @@ class CfgAmmo }; class B_mas_765x17_Ball: BulletBase { - ACE_caliber=0.007938; + ACE_caliber=7.938; ACE_bulletLength=0.015494; ACE_bulletMass=4.212; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -1286,7 +1286,7 @@ class CfgAmmo }; class B_mas_762x39_Ball: BulletBase { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.028956; ACE_bulletMass=7.9704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1299,7 +1299,7 @@ class CfgAmmo }; class B_mas_762x39_Ball_T: BulletBase { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.028956; ACE_bulletMass=7.5816; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1312,7 +1312,7 @@ class CfgAmmo }; class B_mas_762x51_Ball_M118LR : B_762x51_Ball { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.031496; ACE_bulletMass=11.34; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1325,7 +1325,7 @@ class CfgAmmo }; class B_mas_762x67_Ball_Mk248_Mod_0 : B_762x51_Ball { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.034366; ACE_bulletMass=12.312; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1338,7 +1338,7 @@ class CfgAmmo }; class B_mas_762x67_Ball_Mk248_Mod_1 : B_762x51_Ball { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.037821; ACE_bulletMass=14.256; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1351,7 +1351,7 @@ class CfgAmmo }; class B_mas_762x67_Ball_Berger_Hybrid_OTM : B_762x51_Ball { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.040691; ACE_bulletMass=14.904; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1364,7 +1364,7 @@ class CfgAmmo }; class B_mas_762x54_Ball : BulletBase { - ACE_caliber=0.007925; + ACE_caliber=7.925; ACE_bulletLength=0.028956; ACE_bulletMass=9.8496; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1377,7 +1377,7 @@ class CfgAmmo }; class B_mas_762x54_Ball_T : BulletBase { - ACE_caliber=0.007925; + ACE_caliber=7.925; ACE_bulletLength=0.028956; ACE_bulletMass=9.6552; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1390,7 +1390,7 @@ class CfgAmmo }; class BWA3_B_762x51_Ball_LR : BulletBase { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.031496; ACE_bulletMass=11.34; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1403,7 +1403,7 @@ class CfgAmmo }; class BWA3_B_762x51_Ball_SD : BulletBase { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.031496; ACE_bulletMass=11.34; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -1417,7 +1417,7 @@ class CfgAmmo class BWA3_B_46x30_Ball : BulletBase { - ACE_caliber=0.004902; + ACE_caliber=4.902; ACE_bulletLength=0.013005; ACE_bulletMass=2.0088; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1431,7 +1431,7 @@ class CfgAmmo class Trixie_338_Ball : BulletBase { - ACE_caliber=0.008585; + ACE_caliber=8.585; ACE_bulletLength=0.04318; ACE_bulletMass=19.44; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1444,7 +1444,7 @@ class CfgAmmo }; class Trixie_303_Ball : BulletBase { - ACE_caliber=0.007899; + ACE_caliber=7.899; ACE_bulletLength=0.031166; ACE_bulletMass=11.2752; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1458,7 +1458,7 @@ class CfgAmmo class rhs_ammo_556x45_Mk318_Ball : BulletBase { - ACE_caliber=0.00569; + ACE_caliber=5.69; ACE_bulletLength=0.023012; ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1471,7 +1471,7 @@ class CfgAmmo }; class rhs_ammo_556x45_Mk262_Ball : BulletBase { - ACE_caliber=0.00569; + ACE_caliber=5.69; ACE_bulletLength=0.023012; ACE_bulletMass=4.9896; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1484,7 +1484,7 @@ class CfgAmmo }; class rhsammo_762x51_Ball : BulletBase { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.028956; ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1497,7 +1497,7 @@ class CfgAmmo }; class rhs_B_545x39_Ball : BulletBase { - ACE_caliber=0.005588; + ACE_caliber=5.588; ACE_bulletLength=0.02159; ACE_bulletMass=3.42792; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1510,7 +1510,7 @@ class CfgAmmo }; class rhs_B_545x39_Ball_Tracer_Green : BulletBase { - ACE_caliber=0.005588; + ACE_caliber=5.588; ACE_bulletLength=0.02159; ACE_bulletMass=3.22704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1523,7 +1523,7 @@ class CfgAmmo }; class rhs_ammo_762x51_M118_Special_Ball : BulletBase { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.031496; ACE_bulletMass=11.34; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1536,7 +1536,7 @@ class CfgAmmo }; class rhs_B_762x54_Ball : BulletBase { - ACE_caliber=0.007925; + ACE_caliber=7.925; ACE_bulletLength=0.028956; ACE_bulletMass=9.8496; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1549,7 +1549,7 @@ class CfgAmmo }; class rhs_B_762x54_Ball_Tracer_Green : BulletBase { - ACE_caliber=0.007925; + ACE_caliber=7.925; ACE_bulletLength=0.028956; ACE_bulletMass=9.6552; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1562,7 +1562,7 @@ class CfgAmmo }; class rhs_B_762x39_Ball : BulletBase { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.028956; ACE_bulletMass=7.9704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1575,7 +1575,7 @@ class CfgAmmo }; class rhs_B_762x39_Tracer : BulletBase { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.028956; ACE_bulletMass=7.5816; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1588,7 +1588,7 @@ class CfgAmmo }; class rhs_ammo_762x51_M80_Ball : BulletBase { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.028956; ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1601,7 +1601,7 @@ class CfgAmmo }; class rhsusf_B_300winmag : BulletBase { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.037821; ACE_bulletMass=14.256; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1615,7 +1615,7 @@ class CfgAmmo class R3F_9x19_Ball: BulletBase { - ACE_caliber=0.009017; + ACE_caliber=9.017; ACE_bulletLength=0.015494; ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -1628,7 +1628,7 @@ class CfgAmmo }; class R3F_556x45_Ball: BulletBase { - ACE_caliber=0.00569; + ACE_caliber=5.69; ACE_bulletLength=0.023012; ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; @@ -1641,7 +1641,7 @@ class CfgAmmo }; class R3F_762x51_Ball: BulletBase { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.028956; ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1654,7 +1654,7 @@ class CfgAmmo }; class R3F_762x51_Ball2: BulletBase { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.031496; ACE_bulletMass=11.34; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1667,7 +1667,7 @@ class CfgAmmo }; class R3F_127x99_Ball: BulletBase { - ACE_caliber=0.012954; + ACE_caliber=12.954; ACE_bulletLength=0.058674; ACE_bulletMass=41.9256; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1680,7 +1680,7 @@ class CfgAmmo }; class R3F_127x99_Ball2: BulletBase { - ACE_caliber=0.012954; + ACE_caliber=12.954; ACE_bulletLength=0.058674; ACE_bulletMass=41.9256; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1694,7 +1694,7 @@ class CfgAmmo class CUP_B_545x39_Ball: BulletBase { - ACE_caliber=0.005588; + ACE_caliber=5.588; ACE_bulletLength=0.02159; ACE_bulletMass=3.42792; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1707,7 +1707,7 @@ class CfgAmmo }; class CUP_B_545x39_Ball_Tracer_Green: BulletBase { - ACE_caliber=0.005588; + ACE_caliber=5.588; ACE_bulletLength=0.02159; ACE_bulletMass=3.22704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1720,7 +1720,7 @@ class CfgAmmo }; class CUP_B_545x39_Ball_Tracer_Red: BulletBase { - ACE_caliber=0.005588; + ACE_caliber=5.588; ACE_bulletLength=0.02159; ACE_bulletMass=3.22704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1733,7 +1733,7 @@ class CfgAmmo }; class CUP_B_545x39_Ball_Tracer_White: BulletBase { - ACE_caliber=0.005588; + ACE_caliber=5.588; ACE_bulletLength=0.02159; ACE_bulletMass=3.22704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1746,7 +1746,7 @@ class CfgAmmo }; class CUP_B_545x39_Ball_Tracer_Yellow: BulletBase { - ACE_caliber=0.005588; + ACE_caliber=5.588; ACE_bulletLength=0.02159; ACE_bulletMass=3.22704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1759,7 +1759,7 @@ class CfgAmmo }; class CUP_B_762x39_Ball: BulletBase { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.028956; ACE_bulletMass=7.9704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1772,7 +1772,7 @@ class CfgAmmo }; class CUP_B_762x39_Ball_Tracer_Green: BulletBase { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.028956; ACE_bulletMass=7.5816; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1785,7 +1785,7 @@ class CfgAmmo }; class B_762x39mm_KLT: BulletBase { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.028956; ACE_bulletMass=7.9704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1798,7 +1798,7 @@ class CfgAmmo }; class CUP_B_9x18_Ball: BulletBase { - ACE_caliber=0.009271; + ACE_caliber=9.271; ACE_bulletLength=0.015494; ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -1811,7 +1811,7 @@ class CfgAmmo }; class CUP_B_9x18_Ball_Tracer_Green: BulletBase { - ACE_caliber=0.009271; + ACE_caliber=9.271; ACE_bulletLength=0.015494; ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -1824,7 +1824,7 @@ class CfgAmmo }; class CUP_B_9x18_Ball_Tracer_Red: BulletBase { - ACE_caliber=0.009271; + ACE_caliber=9.271; ACE_bulletLength=0.015494; ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -1837,7 +1837,7 @@ class CfgAmmo }; class CUP_B_9x18_Ball_Tracer_Yellow: BulletBase { - ACE_caliber=0.009271; + ACE_caliber=9.271; ACE_bulletLength=0.015494; ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -1850,7 +1850,7 @@ class CfgAmmo }; class CUP_B_9x18_Ball_White_Tracer: BulletBase { - ACE_caliber=0.009271; + ACE_caliber=9.271; ACE_bulletLength=0.015494; ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -1863,7 +1863,7 @@ class CfgAmmo }; class CUP_B_9x19_Ball: BulletBase { - ACE_caliber=0.009017; + ACE_caliber=9.017; ACE_bulletLength=0.015494; ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -1876,7 +1876,7 @@ class CfgAmmo }; class CUP_B_762x51_noTracer: BulletBase { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.028956; ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1889,7 +1889,7 @@ class CfgAmmo }; class CUP_B_762x51_Red_Tracer_3RndBurst: BulletBase { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.028956; ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1902,7 +1902,7 @@ class CfgAmmo }; class CUP_B_762x51_White_Tracer_3RndBurst: BulletBase { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.028956; ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1915,7 +1915,7 @@ class CfgAmmo }; class CUP_B_303_Ball: BulletBase { - ACE_caliber=0.007899; + ACE_caliber=7.899; ACE_bulletLength=0.031166; ACE_bulletMass=11.2752; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1928,7 +1928,7 @@ class CfgAmmo }; class CUP_B_127x107_Ball_Green_Tracer: BulletBase { - ACE_caliber=0.012979; + ACE_caliber=12.979; ACE_bulletLength=0.064008; ACE_bulletMass=48.276; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1941,7 +1941,7 @@ class CfgAmmo }; class CUP_B_127x108_Ball_Green_Tracer: BulletBase { - ACE_caliber=0.012979; + ACE_caliber=12.979; ACE_bulletLength=0.064008; ACE_bulletMass=48.276; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1954,7 +1954,7 @@ class CfgAmmo }; class CUP_B_762x54_Ball_White_Tracer: BulletBase { - ACE_caliber=0.007925; + ACE_caliber=7.925; ACE_bulletLength=0.028956; ACE_bulletMass=9.6552; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1967,7 +1967,7 @@ class CfgAmmo }; class CUP_B_762x54_Ball_Red_Tracer: BulletBase { - ACE_caliber=0.007925; + ACE_caliber=7.925; ACE_bulletLength=0.028956; ACE_bulletMass=9.6552; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1980,7 +1980,7 @@ class CfgAmmo }; class CUP_B_762x54_Ball_Green_Tracer: BulletBase { - ACE_caliber=0.007925; + ACE_caliber=7.925; ACE_bulletLength=0.028956; ACE_bulletMass=9.6552; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1993,7 +1993,7 @@ class CfgAmmo }; class CUP_B_762x54_Ball_Yellow_Tracer: BulletBase { - ACE_caliber=0.007925; + ACE_caliber=7.925; ACE_bulletLength=0.028956; ACE_bulletMass=9.6552; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -2006,7 +2006,7 @@ class CfgAmmo }; class CUP_B_9x39_SP5: BulletBase { - ACE_caliber=0.009246; + ACE_caliber=9.246; ACE_bulletLength=0.031496; ACE_bulletMass=16.2; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -2019,7 +2019,7 @@ class CfgAmmo }; class CUP_B_762x51_Tracer_Green: BulletBase { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.028956; ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -2032,7 +2032,7 @@ class CfgAmmo }; class CUP_B_762x51_Tracer_Red: BulletBase { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.028956; ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -2045,7 +2045,7 @@ class CfgAmmo }; class CUP_B_762x51_Tracer_Yellow: BulletBase { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.028956; ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -2058,7 +2058,7 @@ class CfgAmmo }; class CUP_B_762x51_Tracer_White: BulletBase { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.028956; ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -2071,7 +2071,7 @@ class CfgAmmo }; class B_127x107_Ball: BulletBase { - ACE_caliber=0.012979; + ACE_caliber=12.979; ACE_bulletLength=0.064008; ACE_bulletMass=48.276; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -2084,7 +2084,7 @@ class CfgAmmo }; class CUP_B_9x18_SD: BulletBase { - ACE_caliber=0.009271; + ACE_caliber=9.271; ACE_bulletLength=0.015494; ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -2097,7 +2097,7 @@ class CfgAmmo }; class CUP_B_765x17_Ball: BulletBase { - ACE_caliber=0.007938; + ACE_caliber=7.938; ACE_bulletLength=0.015494; ACE_bulletMass=4.212; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -2110,7 +2110,7 @@ class CfgAmmo }; class CUP_B_145x115_AP_Green_Tracer: BulletBase { - ACE_caliber=0.014884; + ACE_caliber=14.884; ACE_bulletLength=0.0508; ACE_bulletMass=65.448; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -2123,7 +2123,7 @@ class CfgAmmo }; class CUP_B_127x99_Ball_White_Tracer: BulletBase { - ACE_caliber=0.012954; + ACE_caliber=12.954; ACE_bulletLength=0.058674; ACE_bulletMass=41.9256; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -2136,7 +2136,7 @@ class CfgAmmo }; class CUP_B_86x70_Ball_noTracer: BulletBase { - ACE_caliber=0.008585; + ACE_caliber=8.585; ACE_bulletLength=0.04318; ACE_bulletMass=19.44; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -2150,7 +2150,7 @@ class CfgAmmo class VTN_9x18_Ball_FMJ: B_9x21_Ball { - ACE_caliber=0.009271; + ACE_caliber=9.271; ACE_bulletLength=0.015494; ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -2163,7 +2163,7 @@ class CfgAmmo }; class VTN_9x18_Ball_SC: VTN_9x18_Ball_FMJ { - ACE_caliber=0.009271; + ACE_caliber=9.271; ACE_bulletLength=0.015494; ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -2176,7 +2176,7 @@ class CfgAmmo }; class VTN_9x18_Ball_TRC: VTN_9x18_Ball_FMJ { - ACE_caliber=0.009271; + ACE_caliber=9.271; ACE_bulletLength=0.015494; ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -2189,7 +2189,7 @@ class CfgAmmo }; class VTN_9x18_Ball_AP1: VTN_9x18_Ball_FMJ { - ACE_caliber=0.009271; + ACE_caliber=9.271; ACE_bulletLength=0.015494; ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -2202,7 +2202,7 @@ class CfgAmmo }; class VTN_9x18_Ball_AP2: VTN_9x18_Ball_FMJ { - ACE_caliber=0.009271; + ACE_caliber=9.271; ACE_bulletLength=0.015494; ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -2215,7 +2215,7 @@ class CfgAmmo }; class VTN_9x18_Ball_PRS: VTN_9x18_Ball_FMJ { - ACE_caliber=0.009271; + ACE_caliber=9.271; ACE_bulletLength=0.015494; ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -2228,7 +2228,7 @@ class CfgAmmo }; class VTN_9x19_Ball_SC: VTN_9x18_Ball_FMJ { - ACE_caliber=0.009017; + ACE_caliber=9.017; ACE_bulletLength=0.015494; ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -2241,7 +2241,7 @@ class CfgAmmo }; class VTN_9x19_Ball_TRC: VTN_9x19_Ball_SC { - ACE_caliber=0.009017; + ACE_caliber=9.017; ACE_bulletLength=0.015494; ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -2254,7 +2254,7 @@ class CfgAmmo }; class VTN_9x19_Ball_AP: VTN_9x19_Ball_SC { - ACE_caliber=0.009017; + ACE_caliber=9.017; ACE_bulletLength=0.015494; ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -2267,7 +2267,7 @@ class CfgAmmo }; class VTN_9x19_Ball_PRS: VTN_9x19_Ball_SC { - ACE_caliber=0.009017; + ACE_caliber=9.017; ACE_bulletLength=0.015494; ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -2280,7 +2280,7 @@ class CfgAmmo }; class VTN_9x39_Ball_SC: B_9x21_Ball { - ACE_caliber=0.009246; + ACE_caliber=9.246; ACE_bulletLength=0.031496; ACE_bulletMass=16.2; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -2293,7 +2293,7 @@ class CfgAmmo }; class VTN_9x39_Ball_AP: VTN_9x39_Ball_SC { - ACE_caliber=0.009246; + ACE_caliber=9.246; ACE_bulletLength=0.031496; ACE_bulletMass=16.2; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -2306,7 +2306,7 @@ class CfgAmmo }; class VTN_545x39_Ball_SC: B_556x45_Ball { - ACE_caliber=0.005588; + ACE_caliber=5.588; ACE_bulletLength=0.02159; ACE_bulletMass=3.42792; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -2319,7 +2319,7 @@ class CfgAmmo }; class VTN_545x39_Ball_TRC: VTN_545x39_Ball_SC { - ACE_caliber=0.005588; + ACE_caliber=5.588; ACE_bulletLength=0.02159; ACE_bulletMass=3.22704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -2332,7 +2332,7 @@ class CfgAmmo }; class VTN_545x39_Ball_AP: VTN_545x39_Ball_TRC { - ACE_caliber=0.005588; + ACE_caliber=5.588; ACE_bulletLength=0.02159; ACE_bulletMass=3.42792; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -2345,7 +2345,7 @@ class CfgAmmo }; class VTN_545x39_Ball_AP2: VTN_545x39_Ball_AP { - ACE_caliber=0.005588; + ACE_caliber=5.588; ACE_bulletLength=0.02159; ACE_bulletMass=3.42792; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -2358,7 +2358,7 @@ class CfgAmmo }; class VTN_545x39_Ball_SS: VTN_545x39_Ball_SC { - ACE_caliber=0.005588; + ACE_caliber=5.588; ACE_bulletLength=0.02159; ACE_bulletMass=3.42792; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -2371,7 +2371,7 @@ class CfgAmmo }; class VTN_762x39_Ball_SC: B_762x51_Ball { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.028956; ACE_bulletMass=7.9704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -2384,7 +2384,7 @@ class CfgAmmo }; class VTN_762x39_Ball_TRC: VTN_762x39_Ball_SC { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.028956; ACE_bulletMass=7.5816; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -2397,7 +2397,7 @@ class CfgAmmo }; class VTN_762x39_Ball_AP: VTN_762x39_Ball_TRC { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.028956; ACE_bulletMass=7.9704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -2410,7 +2410,7 @@ class CfgAmmo }; class VTN_762x39_Ball_INC: VTN_762x39_Ball_AP { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.028956; ACE_bulletMass=7.9704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -2423,7 +2423,7 @@ class CfgAmmo }; class VTN_762x39_Ball_API: VTN_762x39_Ball_INC { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.028956; ACE_bulletMass=7.9704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -2436,7 +2436,7 @@ class CfgAmmo }; class VTN_762x39_Ball_SS: VTN_762x39_Ball_SC { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.028956; ACE_bulletMass=7.9704; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -2449,7 +2449,7 @@ class CfgAmmo }; class VTN_762x41_Ball_SS: B_762x51_Ball { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.013462; ACE_bulletMass=9.2664; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -2462,7 +2462,7 @@ class CfgAmmo }; class VTN_762x54_Ball_SC: VTN_762x39_Ball_SC { - ACE_caliber=0.007925; + ACE_caliber=7.925; ACE_bulletLength=0.028956; ACE_bulletMass=9.8496; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -2475,7 +2475,7 @@ class CfgAmmo }; class VTN_762x54_Ball_TRC: VTN_762x54_Ball_SC { - ACE_caliber=0.007925; + ACE_caliber=7.925; ACE_bulletLength=0.028956; ACE_bulletMass=9.6552; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -2488,7 +2488,7 @@ class CfgAmmo }; class VTN_762x54_Ball_AP: VTN_762x54_Ball_TRC { - ACE_caliber=0.007925; + ACE_caliber=7.925; ACE_bulletLength=0.028956; ACE_bulletMass=9.8496; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -2501,7 +2501,7 @@ class CfgAmmo }; class VTN_762x54_Ball_INC: VTN_762x54_Ball_AP { - ACE_caliber=0.007925; + ACE_caliber=7.925; ACE_bulletLength=0.028956; ACE_bulletMass=9.8496; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -2514,7 +2514,7 @@ class CfgAmmo }; class VTN_762x54_Ball_API: VTN_762x54_Ball_INC { - ACE_caliber=0.007925; + ACE_caliber=7.925; ACE_bulletLength=0.028956; ACE_bulletMass=9.8496; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -2527,7 +2527,7 @@ class CfgAmmo }; class VTN_145x114_Ball_APT: B_127x108_Ball { - ACE_caliber=0.014884; + ACE_caliber=14.884; ACE_bulletLength=0.0508; ACE_bulletMass=65.448; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -2540,7 +2540,7 @@ class CfgAmmo }; class VTN_6mm_BB: B_65x39_Caseless { - ACE_caliber=0.006096; + ACE_caliber=6.096; ACE_bulletLength=0.006096; ACE_bulletMass=0.3888; ACE_ammoTempMuzzleVelocityShifts[]={}; @@ -2553,7 +2553,7 @@ class CfgAmmo }; class VTN_9x19_Ball_FMJ: B_9x21_Ball { - ACE_caliber=0.009017; + ACE_caliber=9.017; ACE_bulletLength=0.015494; ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -2566,7 +2566,7 @@ class CfgAmmo }; class VTN_556x45_Ball_FMJ: B_556x45_Ball { - ACE_caliber=0.00569; + ACE_caliber=5.69; ACE_bulletLength=0.023012; ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; @@ -2579,7 +2579,7 @@ class CfgAmmo }; class VTN_556x45_Ball_TRC: VTN_556x45_Ball_FMJ { - ACE_caliber=0.00569; + ACE_caliber=5.69; ACE_bulletLength=0.023012; ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; @@ -2592,7 +2592,7 @@ class CfgAmmo }; class VTN_556x45_Ball_TRCN: VTN_556x45_Ball_TRC { - ACE_caliber=0.00569; + ACE_caliber=5.69; ACE_bulletLength=0.023012; ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; @@ -2605,7 +2605,7 @@ class CfgAmmo }; class VTN_556x45_Ball_SC: VTN_556x45_Ball_FMJ { - ACE_caliber=0.00569; + ACE_caliber=5.69; ACE_bulletLength=0.023012; ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; @@ -2618,7 +2618,7 @@ class CfgAmmo }; class VTN_556x45_Ball_AP: VTN_556x45_Ball_TRC { - ACE_caliber=0.00569; + ACE_caliber=5.69; ACE_bulletLength=0.023012; ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; @@ -2631,7 +2631,7 @@ class CfgAmmo }; class VTN_556x45_Ball_INC: VTN_556x45_Ball_AP { - ACE_caliber=0.00569; + ACE_caliber=5.69; ACE_bulletLength=0.023012; ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; @@ -2644,7 +2644,7 @@ class CfgAmmo }; class VTN_556x45_Ball_LR: VTN_556x45_Ball_FMJ { - ACE_caliber=0.00569; + ACE_caliber=5.69; ACE_bulletLength=0.023012; ACE_bulletMass=4.9896; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -2657,7 +2657,7 @@ class CfgAmmo }; class VTN_556x45_Ball_SS: B_556x45_Ball { - ACE_caliber=0.00569; + ACE_caliber=5.69; ACE_bulletLength=0.023012; ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -2670,7 +2670,7 @@ class CfgAmmo }; class VTN_762x51_Ball_SC: B_762x51_Ball { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.028956; ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -2683,7 +2683,7 @@ class CfgAmmo }; class VTN_762x51_Ball_TRC: VTN_762x51_Ball_SC { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.028956; ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -2696,7 +2696,7 @@ class CfgAmmo }; class VTN_762x51_Ball_TRCN: VTN_762x51_Ball_TRC { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.028956; ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -2709,7 +2709,7 @@ class CfgAmmo }; class VTN_762x51_Ball_AP: VTN_762x51_Ball_TRC { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.028956; ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -2722,7 +2722,7 @@ class CfgAmmo }; class VTN_762x51_Ball_LR: VTN_762x51_Ball_SC { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.031496; ACE_bulletMass=11.34; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -2735,7 +2735,7 @@ class CfgAmmo }; class VTN_1143x23_Ball_FMJ: B_408_Ball { - ACE_caliber=0.011481; + ACE_caliber=11.481; ACE_bulletLength=0.017272; ACE_bulletMass=14.904; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -2748,7 +2748,7 @@ class CfgAmmo }; class VTN_1143x23_Ball_HP: VTN_1143x23_Ball_FMJ { - ACE_caliber=0.011481; + ACE_caliber=11.481; ACE_bulletLength=0.017272; ACE_bulletMass=14.904; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -2761,7 +2761,7 @@ class CfgAmmo }; class VTN_1143x23_Ball_JHP: VTN_1143x23_Ball_FMJ { - ACE_caliber=0.011481; + ACE_caliber=11.481; ACE_bulletLength=0.017272; ACE_bulletMass=14.904; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -2774,7 +2774,7 @@ class CfgAmmo }; class VTN_762x39_Ball_FMJ: B_762x51_Ball { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.028956; ACE_bulletMass=7.9704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -2787,7 +2787,7 @@ class CfgAmmo }; class VTN_45_Pellet: B_762x51_Ball { - ACE_caliber=0.005588; + ACE_caliber=5.588; ACE_bulletLength=0.005842; ACE_bulletMass=0.1944; ACE_ammoTempMuzzleVelocityShifts[]={}; diff --git a/optionals/compat_cup/CfgAmmo.hpp b/optionals/compat_cup/CfgAmmo.hpp index a03d38bf03..b8c8faa30b 100644 --- a/optionals/compat_cup/CfgAmmo.hpp +++ b/optionals/compat_cup/CfgAmmo.hpp @@ -5,7 +5,7 @@ class CfgAmmo class B_127x99_Ball; class CUP_B_545x39_Ball: BulletBase { - ACE_caliber=0.005588; + ACE_caliber=5.588; ACE_bulletLength=0.02159; ACE_bulletMass=3.42792; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -18,7 +18,7 @@ class CfgAmmo }; class CUP_B_545x39_Ball_Tracer_Green: CUP_B_545x39_Ball { - ACE_caliber=0.005588; + ACE_caliber=5.588; ACE_bulletLength=0.02159; ACE_bulletMass=3.22704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -31,7 +31,7 @@ class CfgAmmo }; class CUP_B_545x39_Ball_Tracer_Red: BulletBase { - ACE_caliber=0.005588; + ACE_caliber=5.588; ACE_bulletLength=0.02159; ACE_bulletMass=3.22704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -44,7 +44,7 @@ class CfgAmmo }; class CUP_B_545x39_Ball_Tracer_White: BulletBase { - ACE_caliber=0.005588; + ACE_caliber=5.588; ACE_bulletLength=0.02159; ACE_bulletMass=3.22704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -57,7 +57,7 @@ class CfgAmmo }; class CUP_B_545x39_Ball_Tracer_Yellow: BulletBase { - ACE_caliber=0.005588; + ACE_caliber=5.588; ACE_bulletLength=0.02159; ACE_bulletMass=3.22704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -70,7 +70,7 @@ class CfgAmmo }; class CUP_B_762x39_Ball: BulletBase { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.028956; ACE_bulletMass=7.9704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -83,7 +83,7 @@ class CfgAmmo }; class CUP_B_762x39_Ball_Tracer_Green: BulletBase { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.028956; ACE_bulletMass=7.5816; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -96,7 +96,7 @@ class CfgAmmo }; class CUP_B_9x18_Ball: BulletBase { - ACE_caliber=0.009271; + ACE_caliber=9.271; ACE_bulletLength=0.015494; ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -109,7 +109,7 @@ class CfgAmmo }; class CUP_B_9x18_Ball_Tracer_Green: BulletBase { - ACE_caliber=0.009271; + ACE_caliber=9.271; ACE_bulletLength=0.015494; ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -122,7 +122,7 @@ class CfgAmmo }; class CUP_B_9x18_Ball_Tracer_Red: BulletBase { - ACE_caliber=0.009271; + ACE_caliber=9.271; ACE_bulletLength=0.015494; ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -135,7 +135,7 @@ class CfgAmmo }; class CUP_B_9x18_Ball_Tracer_Yellow: BulletBase { - ACE_caliber=0.009271; + ACE_caliber=9.271; ACE_bulletLength=0.015494; ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -148,7 +148,7 @@ class CfgAmmo }; class CUP_B_9x18_Ball_White_Tracer: BulletBase { - ACE_caliber=0.009271; + ACE_caliber=9.271; ACE_bulletLength=0.015494; ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -161,7 +161,7 @@ class CfgAmmo }; class CUP_B_9x19_Ball: BulletBase { - ACE_caliber=0.009017; + ACE_caliber=9.017; ACE_bulletLength=0.015494; ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -174,7 +174,7 @@ class CfgAmmo }; class CUP_B_762x51_noTracer: B_762x51_Ball { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.028956; ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -187,7 +187,7 @@ class CfgAmmo }; class CUP_B_303_Ball: BulletBase { - ACE_caliber=0.007899; + ACE_caliber=7.899; ACE_bulletLength=0.031166; ACE_bulletMass=11.2752; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -200,7 +200,7 @@ class CfgAmmo }; class CUP_B_127x107_Ball_Green_Tracer: BulletBase { - ACE_caliber=0.012979; + ACE_caliber=12.979; ACE_bulletLength=0.064008; ACE_bulletMass=48.276; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -213,7 +213,7 @@ class CfgAmmo }; class CUP_B_127x108_Ball_Green_Tracer: BulletBase { - ACE_caliber=0.012979; + ACE_caliber=12.979; ACE_bulletLength=0.064008; ACE_bulletMass=48.276; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -226,7 +226,7 @@ class CfgAmmo }; class CUP_B_762x54_Ball_White_Tracer: BulletBase { - ACE_caliber=0.007925; + ACE_caliber=7.925; ACE_bulletLength=0.028956; ACE_bulletMass=9.6552; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -239,7 +239,7 @@ class CfgAmmo }; class CUP_B_762x54_Ball_Red_Tracer: BulletBase { - ACE_caliber=0.007925; + ACE_caliber=7.925; ACE_bulletLength=0.028956; ACE_bulletMass=9.6552; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -252,7 +252,7 @@ class CfgAmmo }; class CUP_B_762x54_Ball_Green_Tracer: BulletBase { - ACE_caliber=0.007925; + ACE_caliber=7.925; ACE_bulletLength=0.028956; ACE_bulletMass=9.6552; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -265,7 +265,7 @@ class CfgAmmo }; class CUP_B_762x54_Ball_Yellow_Tracer: BulletBase { - ACE_caliber=0.007925; + ACE_caliber=7.925; ACE_bulletLength=0.028956; ACE_bulletMass=9.6552; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -278,7 +278,7 @@ class CfgAmmo }; class CUP_B_9x39_SP5: BulletBase { - ACE_caliber=0.009246; + ACE_caliber=9.246; ACE_bulletLength=0.031496; ACE_bulletMass=16.2; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -291,7 +291,7 @@ class CfgAmmo }; class CUP_B_762x51_Tracer_Green: BulletBase { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.028956; ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -304,7 +304,7 @@ class CfgAmmo }; class CUP_B_762x51_Tracer_Red: BulletBase { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.028956; ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -317,7 +317,7 @@ class CfgAmmo }; class CUP_B_762x51_Tracer_Yellow: BulletBase { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.028956; ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -330,7 +330,7 @@ class CfgAmmo }; class CUP_B_762x51_Tracer_White: BulletBase { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.028956; ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -343,7 +343,7 @@ class CfgAmmo }; class B_127x107_Ball: BulletBase { - ACE_caliber=0.012979; + ACE_caliber=12.979; ACE_bulletLength=0.064008; ACE_bulletMass=48.276; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -356,7 +356,7 @@ class CfgAmmo }; class CUP_B_9x18_SD: BulletBase { - ACE_caliber=0.009271; + ACE_caliber=9.271; ACE_bulletLength=0.015494; ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -369,7 +369,7 @@ class CfgAmmo }; class CUP_B_765x17_Ball: BulletBase { - ACE_caliber=0.007938; + ACE_caliber=7.938; ACE_bulletLength=0.015494; ACE_bulletMass=4.212; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -382,7 +382,7 @@ class CfgAmmo }; class CUP_B_145x115_AP_Green_Tracer: BulletBase { - ACE_caliber=0.014884; + ACE_caliber=14.884; ACE_bulletLength=0.0508; ACE_bulletMass=65.448; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -395,7 +395,7 @@ class CfgAmmo }; class CUP_B_127x99_Ball_White_Tracer: B_127x99_Ball { - ACE_caliber=0.012954; + ACE_caliber=12.954; ACE_bulletLength=0.058674; ACE_bulletMass=41.9256; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -408,7 +408,7 @@ class CfgAmmo }; class CUP_B_86x70_Ball_noTracer: BulletBase { - ACE_caliber=0.008585; + ACE_caliber=8.585; ACE_bulletLength=0.04318; ACE_bulletMass=19.44; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; diff --git a/optionals/compat_hlcmods_core/CfgAmmo.hpp b/optionals/compat_hlcmods_core/CfgAmmo.hpp index fdc4e538b7..d2127d5d82 100644 --- a/optionals/compat_hlcmods_core/CfgAmmo.hpp +++ b/optionals/compat_hlcmods_core/CfgAmmo.hpp @@ -8,7 +8,7 @@ class CfgAmmo class HLC_762x51_ball; class HLC_556NATO_EPR: B_556x45_Ball { - ACE_caliber=0.00569; + ACE_caliber=5.69; ACE_bulletLength=0.023012; ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; @@ -21,7 +21,7 @@ class CfgAmmo }; class HLC_556NATO_SOST: B_556x45_Ball { - ACE_caliber=0.00569; + ACE_caliber=5.69; ACE_bulletLength=0.023012; ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -34,7 +34,7 @@ class CfgAmmo }; class HLC_556NATO_SPR: B_556x45_Ball { - ACE_caliber=0.00569; + ACE_caliber=5.69; ACE_bulletLength=0.023012; ACE_bulletMass=4.9896; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -47,7 +47,7 @@ class CfgAmmo }; class HLC_300Blackout_Ball: B_556x45_Ball { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.028397; ACE_bulletMass=9.5256; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -60,7 +60,7 @@ class CfgAmmo }; class HLC_300Blackout_SMK: HLC_300Blackout_Ball { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.037821; ACE_bulletMass=14.256; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -73,7 +73,7 @@ class CfgAmmo }; class HLC_762x39_Ball: HLC_300Blackout_Ball { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.028956; ACE_bulletMass=7.9704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -86,7 +86,7 @@ class CfgAmmo }; class HLC_762x39_Tracer: HLC_762x39_Ball { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.028956; ACE_bulletMass=7.5816; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -99,7 +99,7 @@ class CfgAmmo }; class HLC_762x51_MK316_20in: B_762x51_Ball { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.031496; ACE_bulletMass=11.34; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -112,7 +112,7 @@ class CfgAmmo }; class HLC_762x51_BTSub: B_762x51_Ball { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.034036; ACE_bulletMass=12.96; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -125,7 +125,7 @@ class CfgAmmo }; class HLC_762x54_ball: HLC_762x51_ball { - ACE_caliber=0.007925; + ACE_caliber=7.925; ACE_bulletLength=0.028956; ACE_bulletMass=9.8496; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -138,7 +138,7 @@ class CfgAmmo }; class HLC_762x54_tracer: HLC_762x51_tracer { - ACE_caliber=0.007925; + ACE_caliber=7.925; ACE_bulletLength=0.028956; ACE_bulletMass=9.6552; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -151,7 +151,7 @@ class CfgAmmo }; class HLC_303Brit_B: B_556x45_Ball { - ACE_caliber=0.007899; + ACE_caliber=7.899; ACE_bulletLength=0.031166; ACE_bulletMass=11.2752; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -164,7 +164,7 @@ class CfgAmmo }; class HLC_792x57_Ball: HLC_303Brit_B { - ACE_caliber=0.008077; + ACE_caliber=8.077; ACE_bulletLength=0.028651; ACE_bulletMass=12.7008; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -183,7 +183,7 @@ class CfgAmmo }; class FH_545x39_Ball: B_556x45_Ball { - ACE_caliber=0.005588; + ACE_caliber=5.588; ACE_bulletLength=0.02159; ACE_bulletMass=3.42792; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -203,7 +203,7 @@ class CfgAmmo }; class HLC_57x28mm_JHP: FH_545x39_Ball { - ACE_caliber=0.00569; + ACE_caliber=5.69; ACE_bulletLength=0.012573; ACE_bulletMass=1.8144; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -216,7 +216,7 @@ class CfgAmmo }; class HLC_9x19_Ball: B_556x45_Ball { - ACE_caliber=0.009017; + ACE_caliber=9.017; ACE_bulletLength=0.015494; ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -229,7 +229,7 @@ class CfgAmmo }; class HLC_9x19_M882_SMG: B_556x45_Ball { - ACE_caliber=0.009017; + ACE_caliber=9.017; ACE_bulletLength=0.015494; ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -250,7 +250,7 @@ class CfgAmmo }; class HLC_10mm_FMJ: HLC_9x19_Ball { - ACE_caliber=0.0127; + ACE_caliber=12.7; ACE_bulletLength=0.019406; ACE_bulletMass=10.692; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -263,7 +263,7 @@ class CfgAmmo }; class HLC_45ACP_Ball: B_556x45_Ball { - ACE_caliber=0.011481; + ACE_caliber=11.481; ACE_bulletLength=0.017272; ACE_bulletMass=14.904; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -276,7 +276,7 @@ class CfgAmmo }; class FH_44Mag: HLC_45ACP_Ball { - ACE_caliber=0.010897; + ACE_caliber=10.897; ACE_bulletLength=0.020422; ACE_bulletMass=12.96; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -289,7 +289,7 @@ class CfgAmmo }; class FH_50BMG_SLAP: B_127x99_Ball { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.03175; ACE_bulletMass=22.68; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -302,7 +302,7 @@ class CfgAmmo }; class FH_50BMG_Raufoss: B_127x99_Ball { - ACE_caliber=0.012954; + ACE_caliber=12.954; ACE_bulletLength=0.060452; ACE_bulletMass=42.768; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; diff --git a/optionals/compat_rh_de/CfgAmmo.hpp b/optionals/compat_rh_de/CfgAmmo.hpp index cceef5ef4f..e95bcdcad0 100644 --- a/optionals/compat_rh_de/CfgAmmo.hpp +++ b/optionals/compat_rh_de/CfgAmmo.hpp @@ -4,7 +4,7 @@ class CfgAmmo class BulletBase; class RH_50_AE_Ball: BulletBase { - ACE_caliber=0.0127; + ACE_caliber=12.7; ACE_bulletLength=0.028194; ACE_bulletMass=21.06; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -17,7 +17,7 @@ class CfgAmmo }; class RH_454_Casull: BulletBase { - ACE_caliber=0.011481; + ACE_caliber=11.481; ACE_bulletLength=0.022733; ACE_bulletMass=21.06; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -30,7 +30,7 @@ class CfgAmmo }; class RH_32ACP: BulletBase { - ACE_caliber=0.007938; + ACE_caliber=7.938; ACE_bulletLength=0.015494; ACE_bulletMass=4.212; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -43,7 +43,7 @@ class CfgAmmo }; class RH_45ACP: BulletBase { - ACE_caliber=0.011481; + ACE_caliber=11.481; ACE_bulletLength=0.017272; ACE_bulletMass=14.904; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -56,7 +56,7 @@ class CfgAmmo }; class RH_B_40SW: BulletBase { - ACE_caliber=0.01016; + ACE_caliber=10.16; ACE_bulletLength=0.011354; ACE_bulletMass=8.748; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -69,7 +69,7 @@ class CfgAmmo }; class RH_44mag_ball: BulletBase { - ACE_caliber=0.010897; + ACE_caliber=10.897; ACE_bulletLength=0.020422; ACE_bulletMass=12.96; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -82,7 +82,7 @@ class CfgAmmo }; class RH_357mag_ball: BulletBase { - ACE_caliber=0.009068; + ACE_caliber=9.068; ACE_bulletLength=0.013741; ACE_bulletMass=8.1; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -95,7 +95,7 @@ class CfgAmmo }; class RH_762x25: BulletBase { - ACE_caliber=0.007874; + ACE_caliber=7.874; ACE_bulletLength=0.013856; ACE_bulletMass=5.5728; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -108,7 +108,7 @@ class CfgAmmo }; class RH_9x18_Ball: BulletBase { - ACE_caliber=0.009271; + ACE_caliber=9.271; ACE_bulletLength=0.015494; ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -121,7 +121,7 @@ class CfgAmmo }; class RH_B_9x19_Ball: BulletBase { - ACE_caliber=0.009017; + ACE_caliber=9.017; ACE_bulletLength=0.015494; ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -134,7 +134,7 @@ class CfgAmmo }; class RH_B_22LR_SD: BulletBase { - ACE_caliber=0.005664; + ACE_caliber=5.664; ACE_bulletLength=0.01143; ACE_bulletMass=2.4624; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -147,7 +147,7 @@ class CfgAmmo }; class RH_57x28mm: BulletBase { - ACE_caliber=0.00569; + ACE_caliber=5.69; ACE_bulletLength=0.012573; ACE_bulletMass=1.8144; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; diff --git a/optionals/compat_rh_m4/CfgAmmo.hpp b/optionals/compat_rh_m4/CfgAmmo.hpp index 3138de15f0..38c58bb7d4 100644 --- a/optionals/compat_rh_m4/CfgAmmo.hpp +++ b/optionals/compat_rh_m4/CfgAmmo.hpp @@ -10,7 +10,7 @@ class CfgAmmo { class RH_9x19_B_M822: BulletBase { - ACE_caliber=0.009017; + ACE_caliber=9.017; ACE_bulletLength=0.015494; ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -23,7 +23,7 @@ class CfgAmmo { }; class RH_9x19_B_HP: BulletBase { - ACE_caliber=0.009017; + ACE_caliber=9.017; ACE_bulletLength=0.015494; ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -36,7 +36,7 @@ class CfgAmmo { }; class RH_9x19_B_HPSB: BulletBase { - ACE_caliber=0.009017; + ACE_caliber=9.017; ACE_bulletLength=0.015316; ACE_bulletMass=9.5256; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -49,7 +49,7 @@ class CfgAmmo { }; class RH_556x45_B_M855A1: B_556x45_Ball { - ACE_caliber=0.00569; + ACE_caliber=5.69; ACE_bulletLength=0.023012; ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; @@ -62,7 +62,7 @@ class CfgAmmo { }; class RH_556x45_B_Mk318: B_556x45_Ball { - ACE_caliber=0.00569; + ACE_caliber=5.69; ACE_bulletLength=0.023012; ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -75,7 +75,7 @@ class CfgAmmo { }; class RH_556x45_B_Mk262: B_556x45_Ball { - ACE_caliber=0.00569; + ACE_caliber=5.69; ACE_bulletLength=0.023012; ACE_bulletMass=4.9896; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -88,7 +88,7 @@ class CfgAmmo { }; class RH_68x43_B_FMJ: B_65x39_Caseless { - ACE_caliber=0.007036; + ACE_caliber=7.036; ACE_bulletLength=0.024359; ACE_bulletMass=7.452; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -101,7 +101,7 @@ class CfgAmmo { }; class RH_68x43_B_Match: B_65x39_Caseless { - ACE_caliber=0.007036; + ACE_caliber=7.036; ACE_bulletLength=0.03175; ACE_bulletMass=8.748; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -114,7 +114,7 @@ class CfgAmmo { }; class RH_762x35_B_FMJ: B_65x39_Caseless { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.028397; ACE_bulletMass=9.5256; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -127,7 +127,7 @@ class CfgAmmo { }; class RH_762x35_B_Match: B_65x39_Caseless { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.029286; ACE_bulletMass=8.1; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -140,7 +140,7 @@ class CfgAmmo { }; class RH_762x35_B_MSB: B_65x39_Caseless { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.037821; ACE_bulletMass=14.256; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -153,7 +153,7 @@ class CfgAmmo { }; class RH_762x51_B_M80A1: B_762x51_Ball { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.028956; ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -166,7 +166,7 @@ class CfgAmmo { }; class RH_762x51_B_Mk316LR: B_762x51_Ball { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.031496; ACE_bulletMass=11.34; ACE_ammoTempMuzzleVelocityShifts[]={-5.3, -5.1, -4.6, -4.2, -3.4, -2.6, -1.4, -0.3, 1.4, 3.0, 5.2}; @@ -179,7 +179,7 @@ class CfgAmmo { }; class RH_762x51_B_Mk319: B_762x51_Ball { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.031496; ACE_bulletMass=8.424; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -192,7 +192,7 @@ class CfgAmmo { }; class RH_762x51_B_LFMJSB: B_762x51_Ball { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.034036; ACE_bulletMass=12.96; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; diff --git a/optionals/compat_rh_pdw/CfgAmmo.hpp b/optionals/compat_rh_pdw/CfgAmmo.hpp index dad1d093d4..f003c9599e 100644 --- a/optionals/compat_rh_pdw/CfgAmmo.hpp +++ b/optionals/compat_rh_pdw/CfgAmmo.hpp @@ -2,7 +2,7 @@ class BulletBase; class RH_B_6x35: BulletBase { - ACE_caliber=0.00569; + ACE_caliber=5.69; ACE_bulletLength=0.011303; ACE_bulletMass=4.212; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; diff --git a/optionals/compat_rhs_afrf3/CfgAmmo.hpp b/optionals/compat_rhs_afrf3/CfgAmmo.hpp index 486fc265f6..15161e1fff 100644 --- a/optionals/compat_rhs_afrf3/CfgAmmo.hpp +++ b/optionals/compat_rhs_afrf3/CfgAmmo.hpp @@ -5,7 +5,7 @@ class CfgAmmo class B_556x45_Ball; class rhs_B_545x39_Ball: B_556x45_Ball { - ACE_caliber=0.005588; + ACE_caliber=5.588; ACE_bulletLength=0.02159; ACE_bulletMass=3.42792; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -18,7 +18,7 @@ class CfgAmmo }; class rhs_B_545x39_Ball_Tracer_Green: rhs_B_545x39_Ball { - ACE_caliber=0.005588; + ACE_caliber=5.588; ACE_bulletLength=0.02159; ACE_bulletMass=3.22704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -32,7 +32,7 @@ class CfgAmmo class B_762x51_Ball; class rhs_B_762x54_Ball: B_762x51_Ball { - ACE_caliber=0.007925; + ACE_caliber=7.925; ACE_bulletLength=0.028956; ACE_bulletMass=9.8496; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -45,7 +45,7 @@ class CfgAmmo }; class rhs_B_762x54_Ball_Tracer_Green: B_762x51_Ball { - ACE_caliber=0.007925; + ACE_caliber=7.925; ACE_bulletLength=0.028956; ACE_bulletMass=9.6552; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -58,7 +58,7 @@ class CfgAmmo }; class rhs_B_762x54_7N1_Ball: rhs_B_762x54_Ball { - ACE_caliber=0.007925; + ACE_caliber=7.925; ACE_bulletLength=0.028956; ACE_bulletMass=9.8496; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -71,7 +71,7 @@ class CfgAmmo }; class rhs_B_762x39_Ball: B_762x51_Ball { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.028956; ACE_bulletMass=7.9704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -84,7 +84,7 @@ class CfgAmmo }; class rhs_B_762x39_Tracer: rhs_B_762x39_Ball { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.028956; ACE_bulletMass=7.5816; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -98,7 +98,7 @@ class CfgAmmo class B_9x21_Ball; class rhs_B_9x19_7N21: B_9x21_Ball { - ACE_caliber=0.009017; + ACE_caliber=9.017; ACE_bulletLength=0.015494; ACE_bulletMass=5.19696; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -111,7 +111,7 @@ class CfgAmmo }; class rhs_B_9x18_57N181S: B_9x21_Ball { - ACE_caliber=0.009271; + ACE_caliber=9.271; ACE_bulletLength=0.015494; ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; diff --git a/optionals/compat_rhs_usf3/CfgAmmo.hpp b/optionals/compat_rhs_usf3/CfgAmmo.hpp index 58b50b68cf..35c03f09ae 100644 --- a/optionals/compat_rhs_usf3/CfgAmmo.hpp +++ b/optionals/compat_rhs_usf3/CfgAmmo.hpp @@ -4,7 +4,7 @@ class CfgAmmo class BulletBase; class rhsusf_B_300winmag: BulletBase { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.037821; ACE_bulletMass=14.256; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -18,7 +18,7 @@ class CfgAmmo class B_556x45_Ball; class rhs_ammo_556x45_Mk318_Ball: B_556x45_Ball { - ACE_caliber=0.00569; + ACE_caliber=5.69; ACE_bulletLength=0.023012; ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -31,7 +31,7 @@ class CfgAmmo }; class rhs_ammo_556x45_Mk262_Ball: B_556x45_Ball { - ACE_caliber=0.00569; + ACE_caliber=5.69; ACE_bulletLength=0.023012; ACE_bulletMass=4.9896; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -44,7 +44,7 @@ class CfgAmmo }; class rhs_ammo_762x51_M80_Ball: BulletBase { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.028956; ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -57,7 +57,7 @@ class CfgAmmo }; class rhs_ammo_762x51_M118_Special_Ball: rhs_ammo_762x51_M80_Ball { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.031496; ACE_bulletMass=11.34; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -70,7 +70,7 @@ class CfgAmmo }; class rhs_ammo_762x51_M993_Ball: rhs_ammo_762x51_M80_Ball { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.031496; ACE_bulletMass=8.2296; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -83,7 +83,7 @@ class CfgAmmo }; class rhs_ammo_45ACP_MHP: BulletBase { - ACE_caliber=0.011481; + ACE_caliber=11.481; ACE_bulletLength=0.017272; ACE_bulletMass=14.904; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; From adc758cd1451e03ba1c3d3db13480800c3e81038 Mon Sep 17 00:00:00 2001 From: KoffeinFlummi Date: Fri, 8 May 2015 12:45:17 +0200 Subject: [PATCH 083/217] Convert ACE_bulletLength to millimeters --- .../functions/fnc_handleFired.sqf | 2 +- addons/ballistics/CfgAmmo.hpp | 92 ++-- extras/CfgAmmoReference.hpp | 410 +++++++++--------- optionals/compat_cup/CfgAmmo.hpp | 64 +-- optionals/compat_hlcmods_core/CfgAmmo.hpp | 44 +- optionals/compat_rh_de/CfgAmmo.hpp | 24 +- optionals/compat_rh_m4/CfgAmmo.hpp | 30 +- optionals/compat_rh_pdw/CfgAmmo.hpp | 2 +- optionals/compat_rhs_afrf3/CfgAmmo.hpp | 18 +- optionals/compat_rhs_usf3/CfgAmmo.hpp | 14 +- 10 files changed, 350 insertions(+), 350 deletions(-) diff --git a/addons/advanced_ballistics/functions/fnc_handleFired.sqf b/addons/advanced_ballistics/functions/fnc_handleFired.sqf index d54caf6f03..a8528cfec5 100644 --- a/addons/advanced_ballistics/functions/fnc_handleFired.sqf +++ b/addons/advanced_ballistics/functions/fnc_handleFired.sqf @@ -92,7 +92,7 @@ if (GVAR(bulletTraceEnabled) && cameraView == "GUNNER") then { }; _caliber = getNumber(configFile >> "cfgAmmo" >> _ammo >> "ACE_caliber"); -_bulletLength = 1000 * getNumber(configFile >> "cfgAmmo" >> _ammo >> "ACE_bulletLength"); +_bulletLength = getNumber(configFile >> "cfgAmmo" >> _ammo >> "ACE_bulletLength"); _bulletMass = getNumber(configFile >> "cfgAmmo" >> _ammo >> "ACE_bulletMass"); _barrelTwist = 1000 * getNumber(configFile >> "cfgWeapons" >> _weapon >> "ACE_barrelTwist"); _stabilityFactor = 1.5; diff --git a/addons/ballistics/CfgAmmo.hpp b/addons/ballistics/CfgAmmo.hpp index d693a1f44c..f4e954017a 100644 --- a/addons/ballistics/CfgAmmo.hpp +++ b/addons/ballistics/CfgAmmo.hpp @@ -26,7 +26,7 @@ class CfgAmmo { tracerStartTime = 0.073; //M856 tracer burns out to 800m tracerEndTime = 1.579; //Time in seconds calculated with ballistics calculator ACE_caliber=5.69; - ACE_bulletLength=0.023012; + ACE_bulletLength=23.012; ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; ACE_ballisticCoefficients[]={0.151}; @@ -43,7 +43,7 @@ class CfgAmmo { hit=11; typicalSpeed=836; ACE_caliber=5.69; - ACE_bulletLength=0.023012; + ACE_bulletLength=23.012; ACE_bulletMass=4.9896; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.361}; @@ -60,7 +60,7 @@ class CfgAmmo { hit=9; typicalSpeed=886; ACE_caliber=5.69; - ACE_bulletLength=0.023012; + ACE_bulletLength=23.012; ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.307}; @@ -77,7 +77,7 @@ class CfgAmmo { hit=6; typicalSpeed=886; ACE_caliber=5.69; - ACE_bulletLength=0.023012; + ACE_bulletLength=23.012; ACE_bulletMass=2.9808; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.151}; @@ -98,7 +98,7 @@ class CfgAmmo { hit=7; typicalSpeed=880; ACE_caliber=5.588; - ACE_bulletLength=0.02159; + ACE_bulletLength=21.59; ACE_bulletMass=3.42792; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; @@ -118,7 +118,7 @@ class CfgAmmo { tracerStartTime = 0.073; //7T3M tracer burns out to 850m tracerEndTime = 1.736; //Time in seconds calculated with ballistics calculator ACE_caliber=5.588; - ACE_bulletLength=0.02159; + ACE_bulletLength=21.59; ACE_bulletMass=3.22704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; @@ -132,7 +132,7 @@ class CfgAmmo { airFriction=-0.000785; typicalSpeed=800; ACE_caliber=6.706; - ACE_bulletLength=0.032893; + ACE_bulletLength=32.893; ACE_bulletMass=7.9704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.263}; @@ -155,7 +155,7 @@ class CfgAmmo { typicalSpeed=820 ; caliber=0.9; ACE_caliber=6.706; - ACE_bulletLength=0.034646; + ACE_bulletLength=34.646; ACE_bulletMass=9.0072; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.290}; @@ -170,7 +170,7 @@ class CfgAmmo { typicalSpeed=860 ; caliber=1.1; ACE_caliber=6.706; - ACE_bulletLength=0.03622; + ACE_bulletLength=36.22; ACE_bulletMass=9.072; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.317}; @@ -187,7 +187,7 @@ class CfgAmmo { tracerStartTime = 0.073; //Based on the British L5A1 which burns out to 1000m tracerEndTime = 2.058; //Time in seconds calculated with ballistics calculator ACE_caliber=7.823; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; @@ -207,7 +207,7 @@ class CfgAmmo { hit=16; typicalSpeed=790; ACE_caliber=7.823; - ACE_bulletLength=0.031496; + ACE_bulletLength=31.496; ACE_bulletMass=11.34; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.243}; @@ -223,7 +223,7 @@ class CfgAmmo { hit=16; typicalSpeed=790; ACE_caliber=7.823; - ACE_bulletLength=0.031496; + ACE_bulletLength=31.496; ACE_bulletMass=11.34; ACE_ammoTempMuzzleVelocityShifts[]={-5.3, -5.1, -4.6, -4.2, -3.4, -2.6, -1.4, -0.3, 1.4, 3.0, 5.2}; ACE_ballisticCoefficients[]={0.243}; @@ -239,7 +239,7 @@ class CfgAmmo { hit=14; typicalSpeed=900; ACE_caliber=7.823; - ACE_bulletLength=0.031496; + ACE_bulletLength=31.496; ACE_bulletMass=8.424; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.377}; @@ -255,7 +255,7 @@ class CfgAmmo { hit=11; typicalSpeed=930; ACE_caliber=7.823; - ACE_bulletLength=0.031496; + ACE_bulletLength=31.496; ACE_bulletMass=8.2296; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.377}; @@ -271,7 +271,7 @@ class CfgAmmo { hit=6; typicalSpeed=320; ACE_caliber=7.823; - ACE_bulletLength=0.034036; + ACE_bulletLength=34.036; ACE_bulletMass=12.96; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.235}; @@ -287,7 +287,7 @@ class CfgAmmo { caliber=2.0; hit=10; ACE_caliber=7.823; - ACE_bulletLength=0.030734; + ACE_bulletLength=30.734; ACE_bulletMass=11.2752; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.494}; @@ -303,7 +303,7 @@ class CfgAmmo { caliber=2.1; hit=8; ACE_caliber=7.214; - ACE_bulletLength=0.038837; + ACE_bulletLength=38.837; ACE_bulletMass=11.664; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.345}; @@ -319,7 +319,7 @@ class CfgAmmo { caliber=2.3; hit=6; ACE_caliber=6.172; - ACE_bulletLength=0.032563; + ACE_bulletLength=32.563; ACE_bulletMass=11.664; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.278}; @@ -335,7 +335,7 @@ class CfgAmmo { hit=17; typicalSpeed=900; ACE_caliber=7.823; - ACE_bulletLength=0.034366; + ACE_bulletLength=34.366; ACE_bulletMass=12.312; ACE_ammoTempMuzzleVelocityShifts[]={-5.3, -5.1, -4.6, -4.2, -3.4, -2.6, -1.4, -0.3, 1.4, 3.0, 5.2}; ACE_ballisticCoefficients[]={0.268}; @@ -351,7 +351,7 @@ class CfgAmmo { hit=18; typicalSpeed=867; ACE_caliber=7.823; - ACE_bulletLength=0.037821; + ACE_bulletLength=37.821; ACE_bulletMass=14.256; ACE_ammoTempMuzzleVelocityShifts[]={-5.3, -5.1, -4.6, -4.2, -3.4, -2.6, -1.4, -0.3, 1.4, 3.0, 5.2}; ACE_ballisticCoefficients[]={0.310}; @@ -367,7 +367,7 @@ class CfgAmmo { hit=19; typicalSpeed=853; ACE_caliber=7.823; - ACE_bulletLength=0.040691; + ACE_bulletLength=40.691; ACE_bulletMass=14.904; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.368}; @@ -381,7 +381,7 @@ class CfgAmmo { airFriction=-0.001023; typicalSpeed=820; ACE_caliber=7.925; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=9.8496; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.4}; @@ -397,7 +397,7 @@ class CfgAmmo { hit=15; typicalSpeed=820; ACE_caliber=7.925; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=9.8496; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.4}; @@ -416,7 +416,7 @@ class CfgAmmo { tracerStartTime = 0.073; //Based on the 7T2 which burns three seconds tracerEndTime = 3; ACE_caliber=7.925; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=9.6552; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.395}; @@ -432,7 +432,7 @@ class CfgAmmo { hit=11; typicalSpeed=790; ACE_caliber=7.823; - ACE_bulletLength=0.029286; + ACE_bulletLength=29.286; ACE_bulletMass=8.1; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.349, 0.338, 0.330, 0.310}; @@ -448,7 +448,7 @@ class CfgAmmo { caliber=1.5; typicalSpeed=716; ACE_caliber=7.823; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=7.9704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; @@ -466,7 +466,7 @@ class CfgAmmo { tracerStartTime = 0.073; //57N231P tracer burns out to 800m tracerEndTime = 2.082; //Time in seconds calculated with ballistics calculator ACE_caliber=7.823; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=7.5816; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; @@ -481,7 +481,7 @@ class CfgAmmo { typicalSpeed=390; hit=6; ACE_caliber=9.042; - ACE_bulletLength=0.015494; + ACE_bulletLength=15.494; ACE_bulletMass=7.452; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.17}; @@ -496,7 +496,7 @@ class CfgAmmo { airFriction=-0.001234; typicalSpeed=298; ACE_caliber=9.271; - ACE_bulletLength=0.015494; + ACE_bulletLength=15.494; ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; @@ -511,7 +511,7 @@ class CfgAmmo { typicalSpeed=370; hit=6; ACE_caliber=9.017; - ACE_bulletLength=0.015494; + ACE_bulletLength=15.494; ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; @@ -526,7 +526,7 @@ class CfgAmmo { typicalSpeed=425; hit=7; ACE_caliber=12.7; - ACE_bulletLength=0.019406; + ACE_bulletLength=19.406; ACE_bulletMass=10.692; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.189}; @@ -541,7 +541,7 @@ class CfgAmmo { typicalSpeed=282; hit=7; ACE_caliber=7.938; - ACE_bulletLength=0.015494; + ACE_bulletLength=15.494; ACE_bulletMass=4.212; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.118}; @@ -556,7 +556,7 @@ class CfgAmmo { typicalSpeed=761; caliber=2.0; ACE_caliber=7.899; - ACE_bulletLength=0.031166; + ACE_bulletLength=31.166; ACE_bulletMass=11.2752; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.499, 0.493, 0.48}; @@ -570,7 +570,7 @@ class CfgAmmo { airFriction=-0.00106; typicalSpeed=880; ACE_caliber=9.296; - ACE_bulletLength=0.03429; + ACE_bulletLength=34.29; ACE_bulletMass=14.904; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.368}; @@ -585,7 +585,7 @@ class CfgAmmo { airFriction=-0.000395; typicalSpeed=910; ACE_caliber=10.363; - ACE_bulletLength=0.054; + ACE_bulletLength=54.0; ACE_bulletMass=26.568; ACE_transonicStabilityCoef=1; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -599,7 +599,7 @@ class CfgAmmo { class ACE_106x83mm_Ball : B_408_Ball { timeToLive=10; ACE_caliber=10.566; - ACE_bulletLength=0.053061; + ACE_bulletLength=53.061; ACE_bulletMass=25.7904; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.72}; @@ -614,7 +614,7 @@ class CfgAmmo { airFriction=-0.000606; typicalSpeed=915; ACE_caliber=8.585; - ACE_bulletLength=0.039573; + ACE_bulletLength=39.573; ACE_bulletMass=16.2; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.322}; @@ -628,7 +628,7 @@ class CfgAmmo { airFriction=-0.000537; typicalSpeed=820; ACE_caliber=8.585; - ACE_bulletLength=0.04318; + ACE_bulletLength=43.18; ACE_bulletMass=19.44; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.381}; @@ -643,7 +643,7 @@ class CfgAmmo { airFriction=-0.000535; typicalSpeed=826; ACE_caliber=8.585; - ACE_bulletLength=0.04318; + ACE_bulletLength=43.18; ACE_bulletMass=19.44; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.381}; @@ -659,7 +659,7 @@ class CfgAmmo { caliber=2.8; typicalSpeed=826; ACE_caliber=8.585; - ACE_bulletLength=0.038989; + ACE_bulletLength=38.989; ACE_bulletMass=16.3944; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.290}; @@ -673,7 +673,7 @@ class CfgAmmo { airFriction=-0.00014; typicalSpeed=300; ACE_caliber=12.954; - ACE_bulletLength=0.064516; + ACE_bulletLength=64.516; ACE_bulletMass=48.6; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={1.050}; @@ -688,7 +688,7 @@ class CfgAmmo { airFriction=-0.0006; typicalSpeed=900; ACE_caliber=12.954; - ACE_bulletLength=0.058674; + ACE_bulletLength=58.674; ACE_bulletMass=41.9256; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.670}; @@ -705,7 +705,7 @@ class CfgAmmo { hit=25; caliber=4.0; ACE_caliber=12.954; - ACE_bulletLength=0.058674; + ACE_bulletLength=58.674; ACE_bulletMass=41.9904; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.670}; @@ -721,7 +721,7 @@ class CfgAmmo { typicalSpeed=860; caliber=3.0; ACE_caliber=12.954; - ACE_bulletLength=0.064516; + ACE_bulletLength=64.516; ACE_bulletMass=48.6; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={1.050}; @@ -736,7 +736,7 @@ class CfgAmmo { airFriction=-0.00064; typicalSpeed=820; ACE_caliber=12.979; - ACE_bulletLength=0.064008; + ACE_bulletLength=64.008; ACE_bulletMass=48.276; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.63}; @@ -750,7 +750,7 @@ class CfgAmmo { airFriction=-0.0007182; typicalSpeed=250; ACE_caliber=11.481; - ACE_bulletLength=0.017272; + ACE_bulletLength=17.272; ACE_bulletMass=14.904; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.195}; diff --git a/extras/CfgAmmoReference.hpp b/extras/CfgAmmoReference.hpp index ab90e6bbd0..3072d1d196 100644 --- a/extras/CfgAmmoReference.hpp +++ b/extras/CfgAmmoReference.hpp @@ -6,7 +6,7 @@ class CfgAmmo hit=8; typicalSpeed=750; ACE_caliber=5.69; - ACE_bulletLength=0.023012; + ACE_bulletLength=23.012; ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; ACE_ballisticCoefficients[]={0.151}; @@ -23,7 +23,7 @@ class CfgAmmo hit=11; typicalSpeed=836; ACE_caliber=5.69; - ACE_bulletLength=0.023012; + ACE_bulletLength=23.012; ACE_bulletMass=4.9896; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.361}; @@ -40,7 +40,7 @@ class CfgAmmo hit=9; typicalSpeed=886; ACE_caliber=5.69; - ACE_bulletLength=0.023012; + ACE_bulletLength=23.012; ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.307}; @@ -61,7 +61,7 @@ class CfgAmmo hit=7; typicalSpeed=880; ACE_caliber=5.588; - ACE_bulletLength=0.02159; + ACE_bulletLength=21.59; ACE_bulletMass=3.42792; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; @@ -79,7 +79,7 @@ class CfgAmmo hit=7; typicalSpeed=883; ACE_caliber=5.588; - ACE_bulletLength=0.02159; + ACE_bulletLength=21.59; ACE_bulletMass=3.22704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; @@ -93,7 +93,7 @@ class CfgAmmo airFriction=-0.000785; typicalSpeed=800; ACE_caliber=6.706; - ACE_bulletLength=0.032893; + ACE_bulletLength=32.893; ACE_bulletMass=7.9704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.263}; @@ -116,7 +116,7 @@ class CfgAmmo airFriction=-0.00078; typicalSpeed=820 ; ACE_caliber=6.706; - ACE_bulletLength=0.034646; + ACE_bulletLength=34.646; ACE_bulletMass=9.0072; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.290}; @@ -131,7 +131,7 @@ class CfgAmmo typicalSpeed=833; hit=9; ACE_caliber=7.823; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; @@ -151,7 +151,7 @@ class CfgAmmo hit=16; typicalSpeed=790; ACE_caliber=7.823; - ACE_bulletLength=0.031496; + ACE_bulletLength=31.496; ACE_bulletMass=11.34; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.243}; @@ -167,7 +167,7 @@ class CfgAmmo hit=14; typicalSpeed=890; ACE_caliber=7.823; - ACE_bulletLength=0.031496; + ACE_bulletLength=31.496; ACE_bulletMass=8.424; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.377}; @@ -183,7 +183,7 @@ class CfgAmmo hit=6; typicalSpeed=790; ACE_caliber=7.823; - ACE_bulletLength=0.034036; + ACE_bulletLength=34.036; ACE_bulletMass=12.96; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.235}; @@ -199,7 +199,7 @@ class CfgAmmo hit=17; typicalSpeed=900; ACE_caliber=7.823; - ACE_bulletLength=0.034366; + ACE_bulletLength=34.366; ACE_bulletMass=12.312; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.268}; @@ -215,7 +215,7 @@ class CfgAmmo hit=18; typicalSpeed=867; ACE_caliber=7.823; - ACE_bulletLength=0.037821; + ACE_bulletLength=37.821; ACE_bulletMass=14.256; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.310}; @@ -231,7 +231,7 @@ class CfgAmmo hit=19; typicalSpeed=853; ACE_caliber=7.823; - ACE_bulletLength=0.040691; + ACE_bulletLength=40.691; ACE_bulletMass=14.904; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.368}; @@ -245,7 +245,7 @@ class CfgAmmo airFriction=-0.001023; typicalSpeed=820; ACE_caliber=7.925; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=9.8496; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.4}; @@ -261,7 +261,7 @@ class CfgAmmo hit=15; typicalSpeed=820; ACE_caliber=7.925; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=9.8496; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.4}; @@ -278,7 +278,7 @@ class CfgAmmo hit=15; typicalSpeed=800; ACE_caliber=7.925; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=9.6552; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.395}; @@ -294,7 +294,7 @@ class CfgAmmo hit=11; typicalSpeed=790; ACE_caliber=7.823; - ACE_bulletLength=0.029286; + ACE_bulletLength=29.286; ACE_bulletMass=8.1; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.349, 0.338, 0.330, 0.310}; @@ -309,7 +309,7 @@ class CfgAmmo hit=12; typicalSpeed=716; ACE_caliber=7.823; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=7.9704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; @@ -324,7 +324,7 @@ class CfgAmmo hit=12; typicalSpeed=716; ACE_caliber=7.823; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=7.5816; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; @@ -339,7 +339,7 @@ class CfgAmmo typicalSpeed=390; hit=6; ACE_caliber=9.042; - ACE_bulletLength=0.015494; + ACE_bulletLength=15.494; ACE_bulletMass=7.452; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.17}; @@ -354,7 +354,7 @@ class CfgAmmo airFriction=-0.001234; typicalSpeed=298; ACE_caliber=9.271; - ACE_bulletLength=0.015494; + ACE_bulletLength=15.494; ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; @@ -369,7 +369,7 @@ class CfgAmmo typicalSpeed=370; hit=6; ACE_caliber=9.017; - ACE_bulletLength=0.015494; + ACE_bulletLength=15.494; ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; @@ -384,7 +384,7 @@ class CfgAmmo typicalSpeed=425; hit=7; ACE_caliber=12.7; - ACE_bulletLength=0.019406; + ACE_bulletLength=19.406; ACE_bulletMass=10.692; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.189}; @@ -399,7 +399,7 @@ class CfgAmmo typicalSpeed=282; hit=7; ACE_caliber=7.938; - ACE_bulletLength=0.015494; + ACE_bulletLength=15.494; ACE_bulletMass=4.212; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.118}; @@ -413,7 +413,7 @@ class CfgAmmo airFriction=-0.00083; typicalSpeed=761; ACE_caliber=7.899; - ACE_bulletLength=0.031166; + ACE_bulletLength=31.166; ACE_bulletMass=11.2752; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.499, 0.493, 0.48}; @@ -427,7 +427,7 @@ class CfgAmmo airFriction=-0.00106; typicalSpeed=880; ACE_caliber=9.296; - ACE_bulletLength=0.03429; + ACE_bulletLength=34.29; ACE_bulletMass=14.904; ACE_transonicStabilityCoef=1; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -443,7 +443,7 @@ class CfgAmmo airFriction=-0.000395; typicalSpeed=910; ACE_caliber=10.363; - ACE_bulletLength=0.054; + ACE_bulletLength=54.0; ACE_bulletMass=26.568; ACE_transonicStabilityCoef=1; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -457,7 +457,7 @@ class CfgAmmo class ACE_106x83mm_Ball : B_408_Ball { timeToLive=10; ACE_caliber=10.566; - ACE_bulletLength=0.053061; + ACE_bulletLength=53.061; ACE_bulletMass=25.7904; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.72}; @@ -472,7 +472,7 @@ class CfgAmmo airFriction=-0.000606; typicalSpeed=915; ACE_caliber=8.585; - ACE_bulletLength=0.039573; + ACE_bulletLength=39.573; ACE_bulletMass=16.2; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.322}; @@ -486,7 +486,7 @@ class CfgAmmo airFriction=-0.000537; typicalSpeed=820; ACE_caliber=8.585; - ACE_bulletLength=0.04318; + ACE_bulletLength=43.18; ACE_bulletMass=19.44; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.381}; @@ -502,7 +502,7 @@ class CfgAmmo caliber=1.55; typicalSpeed=826; ACE_caliber=8.585; - ACE_bulletLength=0.04318; + ACE_bulletLength=43.18; ACE_bulletMass=19.44; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.381}; @@ -518,7 +518,7 @@ class CfgAmmo caliber=2.4; typicalSpeed=826; ACE_caliber=8.585; - ACE_bulletLength=0.038989; + ACE_bulletLength=38.989; ACE_bulletMass=16.3944; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.290}; @@ -532,7 +532,7 @@ class CfgAmmo airFriction=-0.00014; typicalSpeed=300; ACE_caliber=12.954; - ACE_bulletLength=0.064516; + ACE_bulletLength=64.516; ACE_bulletMass=48.6; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={1.050}; @@ -547,7 +547,7 @@ class CfgAmmo airFriction=-0.0006; typicalSpeed=853; ACE_caliber=12.954; - ACE_bulletLength=0.058674; + ACE_bulletLength=58.674; ACE_bulletMass=41.9256; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.670}; @@ -562,7 +562,7 @@ class CfgAmmo airFriction=-0.000374; typicalSpeed=860; ACE_caliber=12.954; - ACE_bulletLength=0.064516; + ACE_bulletLength=64.516; ACE_bulletMass=48.6; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={1.050}; @@ -577,7 +577,7 @@ class CfgAmmo airFriction=-0.00064; typicalSpeed=820; ACE_caliber=12.979; - ACE_bulletLength=0.064008; + ACE_bulletLength=64.008; ACE_bulletMass=48.276; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.63}; @@ -591,7 +591,7 @@ class CfgAmmo airFriction=-0.0007182; typicalSpeed=250; ACE_caliber=11.481; - ACE_bulletLength=0.017272; + ACE_bulletLength=17.272; ACE_bulletMass=14.904; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.195}; @@ -605,7 +605,7 @@ class CfgAmmo class TMR_B_762x51_M118LR : B_762x51_Ball { ACE_caliber=7.823; - ACE_bulletLength=0.031496; + ACE_bulletLength=31.496; ACE_bulletMass=11.34; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.505, 0.496, 0.485, 0.485, 0.485}; @@ -619,7 +619,7 @@ class CfgAmmo class RH_50_AE_Ball: BulletBase { ACE_caliber=12.7; - ACE_bulletLength=0.028194; + ACE_bulletLength=28.194; ACE_bulletMass=21.06; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.228}; @@ -632,7 +632,7 @@ class CfgAmmo class RH_454_Casull: BulletBase { ACE_caliber=11.481; - ACE_bulletLength=0.022733; + ACE_bulletLength=22.733; ACE_bulletMass=21.06; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.171}; @@ -645,7 +645,7 @@ class CfgAmmo class RH_32ACP: BulletBase { ACE_caliber=7.938; - ACE_bulletLength=0.015494; + ACE_bulletLength=15.494; ACE_bulletMass=4.212; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.118}; @@ -658,7 +658,7 @@ class CfgAmmo class RH_45ACP: BulletBase { ACE_caliber=11.481; - ACE_bulletLength=0.017272; + ACE_bulletLength=17.272; ACE_bulletMass=14.904; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.195}; @@ -671,7 +671,7 @@ class CfgAmmo class RH_B_40SW: BulletBase { ACE_caliber=10.16; - ACE_bulletLength=0.011354; + ACE_bulletLength=11.354; ACE_bulletMass=8.748; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.105, 0.115, 0.120, 0.105}; @@ -684,7 +684,7 @@ class CfgAmmo class RH_44mag_ball: BulletBase { ACE_caliber=10.897; - ACE_bulletLength=0.020422; + ACE_bulletLength=20.422; ACE_bulletMass=12.96; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.172}; @@ -697,7 +697,7 @@ class CfgAmmo class RH_357mag_ball: BulletBase { ACE_caliber=9.068; - ACE_bulletLength=0.013741; + ACE_bulletLength=13.741; ACE_bulletMass=8.1; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.148}; @@ -710,7 +710,7 @@ class CfgAmmo class RH_762x25: BulletBase { ACE_caliber=7.874; - ACE_bulletLength=0.013856; + ACE_bulletLength=13.856; ACE_bulletMass=5.5728; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.17}; @@ -723,7 +723,7 @@ class CfgAmmo class RH_9x18_Ball: BulletBase { ACE_caliber=9.271; - ACE_bulletLength=0.015494; + ACE_bulletLength=15.494; ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; @@ -736,7 +736,7 @@ class CfgAmmo class RH_B_9x19_Ball: BulletBase { ACE_caliber=9.017; - ACE_bulletLength=0.015494; + ACE_bulletLength=15.494; ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; @@ -749,7 +749,7 @@ class CfgAmmo class RH_B_22LR_SD: BulletBase { ACE_caliber=5.664; - ACE_bulletLength=0.01143; + ACE_bulletLength=11.43; ACE_bulletMass=2.4624; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.111}; @@ -762,7 +762,7 @@ class CfgAmmo class RH_57x28mm: BulletBase { ACE_caliber=5.69; - ACE_bulletLength=0.012573; + ACE_bulletLength=12.573; ACE_bulletMass=1.8144; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.144}; @@ -776,7 +776,7 @@ class CfgAmmo class RH_9x19_B_M822: BulletBase { ACE_caliber=9.017; - ACE_bulletLength=0.015494; + ACE_bulletLength=15.494; ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; @@ -789,7 +789,7 @@ class CfgAmmo class RH_9x19_B_HP: BulletBase { ACE_caliber=9.017; - ACE_bulletLength=0.015494; + ACE_bulletLength=15.494; ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; @@ -802,7 +802,7 @@ class CfgAmmo class RH_9x19_B_HPSB: BulletBase { ACE_caliber=9.017; - ACE_bulletLength=0.015316; + ACE_bulletLength=15.316; ACE_bulletMass=9.5256; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.212}; @@ -815,7 +815,7 @@ class CfgAmmo class RH_B_6x35: BulletBase { ACE_caliber=5.69; - ACE_bulletLength=0.011303; + ACE_bulletLength=11.303; ACE_bulletMass=4.212; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.26}; @@ -828,7 +828,7 @@ class CfgAmmo class RH_556x45_B_M855A1 : B_556x45_Ball { ACE_caliber=5.69; - ACE_bulletLength=0.023012; + ACE_bulletLength=23.012; ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; ACE_ballisticCoefficients[]={0.152}; @@ -841,7 +841,7 @@ class CfgAmmo class RH_556x45_B_Mk262 : B_556x45_Ball { ACE_caliber=5.69; - ACE_bulletLength=0.023012; + ACE_bulletLength=23.012; ACE_bulletMass=4.9896; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.361}; @@ -854,7 +854,7 @@ class CfgAmmo class RH_556x45_B_Mk318 : B_556x45_Ball { ACE_caliber=5.69; - ACE_bulletLength=0.023012; + ACE_bulletLength=23.012; ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.307}; @@ -867,7 +867,7 @@ class CfgAmmo class RH_68x43_B_FMJ: B_65x39_Caseless { ACE_caliber=7.036; - ACE_bulletLength=0.024359; + ACE_bulletLength=24.359; ACE_bulletMass=7.452; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.162}; @@ -880,7 +880,7 @@ class CfgAmmo class RH_68x43_B_Match: B_65x39_Caseless { ACE_caliber=7.036; - ACE_bulletLength=0.03175; + ACE_bulletLength=31.75; ACE_bulletMass=8.748; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.253}; @@ -893,7 +893,7 @@ class CfgAmmo class RH_762x35_B_FMJ: B_65x39_Caseless { ACE_caliber=7.823; - ACE_bulletLength=0.028397; + ACE_bulletLength=28.397; ACE_bulletMass=9.5256; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.398}; @@ -906,7 +906,7 @@ class CfgAmmo class RH_762x35_B_Match: B_65x39_Caseless { ACE_caliber=7.823; - ACE_bulletLength=0.029286; + ACE_bulletLength=29.286; ACE_bulletMass=8.1; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.349, 0.338, 0.330, 0.310}; @@ -919,7 +919,7 @@ class CfgAmmo class RH_762x35_B_MSB: B_65x39_Caseless { ACE_caliber=7.823; - ACE_bulletLength=0.037821; + ACE_bulletLength=37.821; ACE_bulletMass=14.256; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.608}; @@ -932,7 +932,7 @@ class CfgAmmo class RH_762x51_B_M80A1 : B_762x51_Ball { ACE_caliber=7.823; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; @@ -945,7 +945,7 @@ class CfgAmmo class RH_762x51_B_Mk316LR : B_762x51_Ball { ACE_caliber=7.823; - ACE_bulletLength=0.031496; + ACE_bulletLength=31.496; ACE_bulletMass=11.34; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.243}; @@ -958,7 +958,7 @@ class CfgAmmo class RH_762x51_B_Mk319 : B_762x51_Ball { ACE_caliber=7.823; - ACE_bulletLength=0.02728; + ACE_bulletLength=27.28; ACE_bulletMass=8.424; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.277}; @@ -971,7 +971,7 @@ class CfgAmmo class RH_762x51_B_LFMJSB: B_762x51_Ball { ACE_caliber=7.823; - ACE_bulletLength=0.034036; + ACE_bulletLength=34.036; ACE_bulletMass=12.96; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.252}; @@ -985,7 +985,7 @@ class CfgAmmo class HLC_556NATO_SOST: BulletBase { ACE_caliber=5.69; - ACE_bulletLength=0.023012; + ACE_bulletLength=23.012; ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.307}; @@ -998,7 +998,7 @@ class CfgAmmo class HLC_556NATO_SPR: BulletBase { ACE_caliber=5.69; - ACE_bulletLength=0.023012; + ACE_bulletLength=23.012; ACE_bulletMass=4.9896; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.361}; @@ -1011,7 +1011,7 @@ class CfgAmmo class HLC_556NATO_EPR: BulletBase { ACE_caliber=5.69; - ACE_bulletLength=0.023012; + ACE_bulletLength=23.012; ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; ACE_ballisticCoefficients[]={0.152}; @@ -1024,7 +1024,7 @@ class CfgAmmo class HLC_300Blackout_Ball: BulletBase { ACE_caliber=7.823; - ACE_bulletLength=0.028397; + ACE_bulletLength=28.397; ACE_bulletMass=9.5256; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.398}; @@ -1037,7 +1037,7 @@ class CfgAmmo class HLC_300Blackout_SMK: BulletBase { ACE_caliber=7.823; - ACE_bulletLength=0.037821; + ACE_bulletLength=37.821; ACE_bulletMass=14.256; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.608}; @@ -1050,7 +1050,7 @@ class CfgAmmo class HLC_762x51_BTSub: BulletBase { ACE_caliber=7.823; - ACE_bulletLength=0.034036; + ACE_bulletLength=34.036; ACE_bulletMass=12.96; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.235}; @@ -1063,7 +1063,7 @@ class CfgAmmo class HLC_762x54_ball: BulletBase { ACE_caliber=7.925; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=9.8496; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.4}; @@ -1076,7 +1076,7 @@ class CfgAmmo class HLC_762x54_tracer: BulletBase { ACE_caliber=7.925; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=9.6552; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.395}; @@ -1089,7 +1089,7 @@ class CfgAmmo class HLC_303Brit_B: BulletBase { ACE_caliber=7.899; - ACE_bulletLength=0.031166; + ACE_bulletLength=31.166; ACE_bulletMass=11.2752; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.499, 0.493, 0.48}; @@ -1102,7 +1102,7 @@ class CfgAmmo class HLC_792x57_Ball: BulletBase { ACE_caliber=8.077; - ACE_bulletLength=0.028651; + ACE_bulletLength=28.651; ACE_bulletMass=12.7008; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.315}; @@ -1115,7 +1115,7 @@ class CfgAmmo class FH_545x39_Ball: BulletBase { ACE_caliber=5.588; - ACE_bulletLength=0.02159; + ACE_bulletLength=21.59; ACE_bulletMass=3.42792; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; @@ -1135,7 +1135,7 @@ class CfgAmmo class HLC_9x19_Ball: BulletBase { ACE_caliber=9.017; - ACE_bulletLength=0.015494; + ACE_bulletLength=15.494; ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; @@ -1156,7 +1156,7 @@ class CfgAmmo class HLC_10mm_FMJ: HLC_9x19_Ball { ACE_caliber=12.7; - ACE_bulletLength=0.019406; + ACE_bulletLength=19.406; ACE_bulletMass=10.692; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.189}; @@ -1169,7 +1169,7 @@ class CfgAmmo class HLC_9x19_M882_SMG: HLC_9x19_Ball { ACE_caliber=9.017; - ACE_bulletLength=0.015494; + ACE_bulletLength=15.494; ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; @@ -1183,7 +1183,7 @@ class CfgAmmo class M_mas_545x39_Ball_7N6M : BulletBase { ACE_caliber=5.588; - ACE_bulletLength=0.02159; + ACE_bulletLength=21.59; ACE_bulletMass=3.42792; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; @@ -1196,7 +1196,7 @@ class CfgAmmo class M_mas_545x39_Ball_7T3M : BulletBase { ACE_caliber=5.588; - ACE_bulletLength=0.02159; + ACE_bulletLength=21.59; ACE_bulletMass=3.22704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; @@ -1209,7 +1209,7 @@ class CfgAmmo class B_mas_556x45_Ball_Mk262 : B_556x45_Ball { ACE_caliber=5.69; - ACE_bulletLength=0.023012; + ACE_bulletLength=23.012; ACE_bulletMass=4.9896; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.361}; @@ -1222,7 +1222,7 @@ class CfgAmmo class B_mas_9x18_Ball_57N181S : BulletBase { ACE_caliber=9.271; - ACE_bulletLength=0.015494; + ACE_bulletLength=15.494; ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; @@ -1235,7 +1235,7 @@ class CfgAmmo class B_mas_9x21p_Ball: BulletBase { ACE_caliber=9.017; - ACE_bulletLength=0.015494; + ACE_bulletLength=15.494; ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; @@ -1248,7 +1248,7 @@ class CfgAmmo class B_mas_9x21_Ball: BulletBase { ACE_caliber=9.017; - ACE_bulletLength=0.015494; + ACE_bulletLength=15.494; ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; @@ -1261,7 +1261,7 @@ class CfgAmmo class B_mas_9x21d_Ball: BulletBase { ACE_caliber=9.017; - ACE_bulletLength=0.015494; + ACE_bulletLength=15.494; ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; @@ -1274,7 +1274,7 @@ class CfgAmmo class B_mas_765x17_Ball: BulletBase { ACE_caliber=7.938; - ACE_bulletLength=0.015494; + ACE_bulletLength=15.494; ACE_bulletMass=4.212; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.118}; @@ -1287,7 +1287,7 @@ class CfgAmmo class B_mas_762x39_Ball: BulletBase { ACE_caliber=7.823; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=7.9704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; @@ -1300,7 +1300,7 @@ class CfgAmmo class B_mas_762x39_Ball_T: BulletBase { ACE_caliber=7.823; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=7.5816; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; @@ -1313,7 +1313,7 @@ class CfgAmmo class B_mas_762x51_Ball_M118LR : B_762x51_Ball { ACE_caliber=7.823; - ACE_bulletLength=0.031496; + ACE_bulletLength=31.496; ACE_bulletMass=11.34; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.505, 0.496, 0.485, 0.485, 0.485}; @@ -1326,7 +1326,7 @@ class CfgAmmo class B_mas_762x67_Ball_Mk248_Mod_0 : B_762x51_Ball { ACE_caliber=7.823; - ACE_bulletLength=0.034366; + ACE_bulletLength=34.366; ACE_bulletMass=12.312; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.268}; @@ -1339,7 +1339,7 @@ class CfgAmmo class B_mas_762x67_Ball_Mk248_Mod_1 : B_762x51_Ball { ACE_caliber=7.823; - ACE_bulletLength=0.037821; + ACE_bulletLength=37.821; ACE_bulletMass=14.256; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.310}; @@ -1352,7 +1352,7 @@ class CfgAmmo class B_mas_762x67_Ball_Berger_Hybrid_OTM : B_762x51_Ball { ACE_caliber=7.823; - ACE_bulletLength=0.040691; + ACE_bulletLength=40.691; ACE_bulletMass=14.904; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.368}; @@ -1365,7 +1365,7 @@ class CfgAmmo class B_mas_762x54_Ball : BulletBase { ACE_caliber=7.925; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=9.8496; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.4}; @@ -1378,7 +1378,7 @@ class CfgAmmo class B_mas_762x54_Ball_T : BulletBase { ACE_caliber=7.925; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=9.6552; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.395}; @@ -1391,7 +1391,7 @@ class CfgAmmo class BWA3_B_762x51_Ball_LR : BulletBase { ACE_caliber=7.823; - ACE_bulletLength=0.031496; + ACE_bulletLength=31.496; ACE_bulletMass=11.34; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.505, 0.496, 0.485, 0.485, 0.485}; @@ -1404,7 +1404,7 @@ class CfgAmmo class BWA3_B_762x51_Ball_SD : BulletBase { ACE_caliber=7.823; - ACE_bulletLength=0.031496; + ACE_bulletLength=31.496; ACE_bulletMass=11.34; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.2}; @@ -1418,7 +1418,7 @@ class CfgAmmo class BWA3_B_46x30_Ball : BulletBase { ACE_caliber=4.902; - ACE_bulletLength=0.013005; + ACE_bulletLength=13.005; ACE_bulletMass=2.0088; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.1455}; @@ -1432,7 +1432,7 @@ class CfgAmmo class Trixie_338_Ball : BulletBase { ACE_caliber=8.585; - ACE_bulletLength=0.04318; + ACE_bulletLength=43.18; ACE_bulletMass=19.44; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.381}; @@ -1445,7 +1445,7 @@ class CfgAmmo class Trixie_303_Ball : BulletBase { ACE_caliber=7.899; - ACE_bulletLength=0.031166; + ACE_bulletLength=31.166; ACE_bulletMass=11.2752; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.499, 0.493, 0.48}; @@ -1459,7 +1459,7 @@ class CfgAmmo class rhs_ammo_556x45_Mk318_Ball : BulletBase { ACE_caliber=5.69; - ACE_bulletLength=0.023012; + ACE_bulletLength=23.012; ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.307}; @@ -1472,7 +1472,7 @@ class CfgAmmo class rhs_ammo_556x45_Mk262_Ball : BulletBase { ACE_caliber=5.69; - ACE_bulletLength=0.023012; + ACE_bulletLength=23.012; ACE_bulletMass=4.9896; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.361}; @@ -1485,7 +1485,7 @@ class CfgAmmo class rhsammo_762x51_Ball : BulletBase { ACE_caliber=7.823; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; @@ -1498,7 +1498,7 @@ class CfgAmmo class rhs_B_545x39_Ball : BulletBase { ACE_caliber=5.588; - ACE_bulletLength=0.02159; + ACE_bulletLength=21.59; ACE_bulletMass=3.42792; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; @@ -1511,7 +1511,7 @@ class CfgAmmo class rhs_B_545x39_Ball_Tracer_Green : BulletBase { ACE_caliber=5.588; - ACE_bulletLength=0.02159; + ACE_bulletLength=21.59; ACE_bulletMass=3.22704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; @@ -1524,7 +1524,7 @@ class CfgAmmo class rhs_ammo_762x51_M118_Special_Ball : BulletBase { ACE_caliber=7.823; - ACE_bulletLength=0.031496; + ACE_bulletLength=31.496; ACE_bulletMass=11.34; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.243}; @@ -1537,7 +1537,7 @@ class CfgAmmo class rhs_B_762x54_Ball : BulletBase { ACE_caliber=7.925; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=9.8496; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.4}; @@ -1550,7 +1550,7 @@ class CfgAmmo class rhs_B_762x54_Ball_Tracer_Green : BulletBase { ACE_caliber=7.925; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=9.6552; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.395}; @@ -1563,7 +1563,7 @@ class CfgAmmo class rhs_B_762x39_Ball : BulletBase { ACE_caliber=7.823; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=7.9704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; @@ -1576,7 +1576,7 @@ class CfgAmmo class rhs_B_762x39_Tracer : BulletBase { ACE_caliber=7.823; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=7.5816; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; @@ -1589,7 +1589,7 @@ class CfgAmmo class rhs_ammo_762x51_M80_Ball : BulletBase { ACE_caliber=7.823; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; @@ -1602,7 +1602,7 @@ class CfgAmmo class rhsusf_B_300winmag : BulletBase { ACE_caliber=7.823; - ACE_bulletLength=0.037821; + ACE_bulletLength=37.821; ACE_bulletMass=14.256; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.310}; @@ -1616,7 +1616,7 @@ class CfgAmmo class R3F_9x19_Ball: BulletBase { ACE_caliber=9.017; - ACE_bulletLength=0.015494; + ACE_bulletLength=15.494; ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; @@ -1629,7 +1629,7 @@ class CfgAmmo class R3F_556x45_Ball: BulletBase { ACE_caliber=5.69; - ACE_bulletLength=0.023012; + ACE_bulletLength=23.012; ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; ACE_ballisticCoefficients[]={0.151}; @@ -1642,7 +1642,7 @@ class CfgAmmo class R3F_762x51_Ball: BulletBase { ACE_caliber=7.823; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; @@ -1655,7 +1655,7 @@ class CfgAmmo class R3F_762x51_Ball2: BulletBase { ACE_caliber=7.823; - ACE_bulletLength=0.031496; + ACE_bulletLength=31.496; ACE_bulletMass=11.34; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.505, 0.496, 0.485, 0.485, 0.485}; @@ -1668,7 +1668,7 @@ class CfgAmmo class R3F_127x99_Ball: BulletBase { ACE_caliber=12.954; - ACE_bulletLength=0.058674; + ACE_bulletLength=58.674; ACE_bulletMass=41.9256; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.670}; @@ -1681,7 +1681,7 @@ class CfgAmmo class R3F_127x99_Ball2: BulletBase { ACE_caliber=12.954; - ACE_bulletLength=0.058674; + ACE_bulletLength=58.674; ACE_bulletMass=41.9256; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.670}; @@ -1695,7 +1695,7 @@ class CfgAmmo class CUP_B_545x39_Ball: BulletBase { ACE_caliber=5.588; - ACE_bulletLength=0.02159; + ACE_bulletLength=21.59; ACE_bulletMass=3.42792; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; @@ -1708,7 +1708,7 @@ class CfgAmmo class CUP_B_545x39_Ball_Tracer_Green: BulletBase { ACE_caliber=5.588; - ACE_bulletLength=0.02159; + ACE_bulletLength=21.59; ACE_bulletMass=3.22704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; @@ -1721,7 +1721,7 @@ class CfgAmmo class CUP_B_545x39_Ball_Tracer_Red: BulletBase { ACE_caliber=5.588; - ACE_bulletLength=0.02159; + ACE_bulletLength=21.59; ACE_bulletMass=3.22704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; @@ -1734,7 +1734,7 @@ class CfgAmmo class CUP_B_545x39_Ball_Tracer_White: BulletBase { ACE_caliber=5.588; - ACE_bulletLength=0.02159; + ACE_bulletLength=21.59; ACE_bulletMass=3.22704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; @@ -1747,7 +1747,7 @@ class CfgAmmo class CUP_B_545x39_Ball_Tracer_Yellow: BulletBase { ACE_caliber=5.588; - ACE_bulletLength=0.02159; + ACE_bulletLength=21.59; ACE_bulletMass=3.22704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; @@ -1760,7 +1760,7 @@ class CfgAmmo class CUP_B_762x39_Ball: BulletBase { ACE_caliber=7.823; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=7.9704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; @@ -1773,7 +1773,7 @@ class CfgAmmo class CUP_B_762x39_Ball_Tracer_Green: BulletBase { ACE_caliber=7.823; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=7.5816; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; @@ -1786,7 +1786,7 @@ class CfgAmmo class B_762x39mm_KLT: BulletBase { ACE_caliber=7.823; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=7.9704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; @@ -1799,7 +1799,7 @@ class CfgAmmo class CUP_B_9x18_Ball: BulletBase { ACE_caliber=9.271; - ACE_bulletLength=0.015494; + ACE_bulletLength=15.494; ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; @@ -1812,7 +1812,7 @@ class CfgAmmo class CUP_B_9x18_Ball_Tracer_Green: BulletBase { ACE_caliber=9.271; - ACE_bulletLength=0.015494; + ACE_bulletLength=15.494; ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; @@ -1825,7 +1825,7 @@ class CfgAmmo class CUP_B_9x18_Ball_Tracer_Red: BulletBase { ACE_caliber=9.271; - ACE_bulletLength=0.015494; + ACE_bulletLength=15.494; ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; @@ -1838,7 +1838,7 @@ class CfgAmmo class CUP_B_9x18_Ball_Tracer_Yellow: BulletBase { ACE_caliber=9.271; - ACE_bulletLength=0.015494; + ACE_bulletLength=15.494; ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; @@ -1851,7 +1851,7 @@ class CfgAmmo class CUP_B_9x18_Ball_White_Tracer: BulletBase { ACE_caliber=9.271; - ACE_bulletLength=0.015494; + ACE_bulletLength=15.494; ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; @@ -1864,7 +1864,7 @@ class CfgAmmo class CUP_B_9x19_Ball: BulletBase { ACE_caliber=9.017; - ACE_bulletLength=0.015494; + ACE_bulletLength=15.494; ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; @@ -1877,7 +1877,7 @@ class CfgAmmo class CUP_B_762x51_noTracer: BulletBase { ACE_caliber=7.823; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; @@ -1890,7 +1890,7 @@ class CfgAmmo class CUP_B_762x51_Red_Tracer_3RndBurst: BulletBase { ACE_caliber=7.823; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; @@ -1903,7 +1903,7 @@ class CfgAmmo class CUP_B_762x51_White_Tracer_3RndBurst: BulletBase { ACE_caliber=7.823; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; @@ -1916,7 +1916,7 @@ class CfgAmmo class CUP_B_303_Ball: BulletBase { ACE_caliber=7.899; - ACE_bulletLength=0.031166; + ACE_bulletLength=31.166; ACE_bulletMass=11.2752; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.499, 0.493, 0.48}; @@ -1929,7 +1929,7 @@ class CfgAmmo class CUP_B_127x107_Ball_Green_Tracer: BulletBase { ACE_caliber=12.979; - ACE_bulletLength=0.064008; + ACE_bulletLength=64.008; ACE_bulletMass=48.276; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.63}; @@ -1942,7 +1942,7 @@ class CfgAmmo class CUP_B_127x108_Ball_Green_Tracer: BulletBase { ACE_caliber=12.979; - ACE_bulletLength=0.064008; + ACE_bulletLength=64.008; ACE_bulletMass=48.276; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.63}; @@ -1955,7 +1955,7 @@ class CfgAmmo class CUP_B_762x54_Ball_White_Tracer: BulletBase { ACE_caliber=7.925; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=9.6552; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.395}; @@ -1968,7 +1968,7 @@ class CfgAmmo class CUP_B_762x54_Ball_Red_Tracer: BulletBase { ACE_caliber=7.925; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=9.6552; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.395}; @@ -1981,7 +1981,7 @@ class CfgAmmo class CUP_B_762x54_Ball_Green_Tracer: BulletBase { ACE_caliber=7.925; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=9.6552; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.395}; @@ -1994,7 +1994,7 @@ class CfgAmmo class CUP_B_762x54_Ball_Yellow_Tracer: BulletBase { ACE_caliber=7.925; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=9.6552; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.395}; @@ -2007,7 +2007,7 @@ class CfgAmmo class CUP_B_9x39_SP5: BulletBase { ACE_caliber=9.246; - ACE_bulletLength=0.031496; + ACE_bulletLength=31.496; ACE_bulletMass=16.2; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.275}; @@ -2020,7 +2020,7 @@ class CfgAmmo class CUP_B_762x51_Tracer_Green: BulletBase { ACE_caliber=7.823; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; @@ -2033,7 +2033,7 @@ class CfgAmmo class CUP_B_762x51_Tracer_Red: BulletBase { ACE_caliber=7.823; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; @@ -2046,7 +2046,7 @@ class CfgAmmo class CUP_B_762x51_Tracer_Yellow: BulletBase { ACE_caliber=7.823; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; @@ -2059,7 +2059,7 @@ class CfgAmmo class CUP_B_762x51_Tracer_White: BulletBase { ACE_caliber=7.823; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; @@ -2072,7 +2072,7 @@ class CfgAmmo class B_127x107_Ball: BulletBase { ACE_caliber=12.979; - ACE_bulletLength=0.064008; + ACE_bulletLength=64.008; ACE_bulletMass=48.276; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.63}; @@ -2085,7 +2085,7 @@ class CfgAmmo class CUP_B_9x18_SD: BulletBase { ACE_caliber=9.271; - ACE_bulletLength=0.015494; + ACE_bulletLength=15.494; ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; @@ -2098,7 +2098,7 @@ class CfgAmmo class CUP_B_765x17_Ball: BulletBase { ACE_caliber=7.938; - ACE_bulletLength=0.015494; + ACE_bulletLength=15.494; ACE_bulletMass=4.212; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.118}; @@ -2111,7 +2111,7 @@ class CfgAmmo class CUP_B_145x115_AP_Green_Tracer: BulletBase { ACE_caliber=14.884; - ACE_bulletLength=0.0508; + ACE_bulletLength=50.8; ACE_bulletMass=65.448; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.620}; @@ -2124,7 +2124,7 @@ class CfgAmmo class CUP_B_127x99_Ball_White_Tracer: BulletBase { ACE_caliber=12.954; - ACE_bulletLength=0.058674; + ACE_bulletLength=58.674; ACE_bulletMass=41.9256; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.670}; @@ -2137,7 +2137,7 @@ class CfgAmmo class CUP_B_86x70_Ball_noTracer: BulletBase { ACE_caliber=8.585; - ACE_bulletLength=0.04318; + ACE_bulletLength=43.18; ACE_bulletMass=19.44; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.381}; @@ -2151,7 +2151,7 @@ class CfgAmmo class VTN_9x18_Ball_FMJ: B_9x21_Ball { ACE_caliber=9.271; - ACE_bulletLength=0.015494; + ACE_bulletLength=15.494; ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; @@ -2164,7 +2164,7 @@ class CfgAmmo class VTN_9x18_Ball_SC: VTN_9x18_Ball_FMJ { ACE_caliber=9.271; - ACE_bulletLength=0.015494; + ACE_bulletLength=15.494; ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; @@ -2177,7 +2177,7 @@ class CfgAmmo class VTN_9x18_Ball_TRC: VTN_9x18_Ball_FMJ { ACE_caliber=9.271; - ACE_bulletLength=0.015494; + ACE_bulletLength=15.494; ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; @@ -2190,7 +2190,7 @@ class CfgAmmo class VTN_9x18_Ball_AP1: VTN_9x18_Ball_FMJ { ACE_caliber=9.271; - ACE_bulletLength=0.015494; + ACE_bulletLength=15.494; ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; @@ -2203,7 +2203,7 @@ class CfgAmmo class VTN_9x18_Ball_AP2: VTN_9x18_Ball_FMJ { ACE_caliber=9.271; - ACE_bulletLength=0.015494; + ACE_bulletLength=15.494; ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; @@ -2216,7 +2216,7 @@ class CfgAmmo class VTN_9x18_Ball_PRS: VTN_9x18_Ball_FMJ { ACE_caliber=9.271; - ACE_bulletLength=0.015494; + ACE_bulletLength=15.494; ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; @@ -2229,7 +2229,7 @@ class CfgAmmo class VTN_9x19_Ball_SC: VTN_9x18_Ball_FMJ { ACE_caliber=9.017; - ACE_bulletLength=0.015494; + ACE_bulletLength=15.494; ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; @@ -2242,7 +2242,7 @@ class CfgAmmo class VTN_9x19_Ball_TRC: VTN_9x19_Ball_SC { ACE_caliber=9.017; - ACE_bulletLength=0.015494; + ACE_bulletLength=15.494; ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; @@ -2255,7 +2255,7 @@ class CfgAmmo class VTN_9x19_Ball_AP: VTN_9x19_Ball_SC { ACE_caliber=9.017; - ACE_bulletLength=0.015494; + ACE_bulletLength=15.494; ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; @@ -2268,7 +2268,7 @@ class CfgAmmo class VTN_9x19_Ball_PRS: VTN_9x19_Ball_SC { ACE_caliber=9.017; - ACE_bulletLength=0.015494; + ACE_bulletLength=15.494; ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; @@ -2281,7 +2281,7 @@ class CfgAmmo class VTN_9x39_Ball_SC: B_9x21_Ball { ACE_caliber=9.246; - ACE_bulletLength=0.031496; + ACE_bulletLength=31.496; ACE_bulletMass=16.2; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.275}; @@ -2294,7 +2294,7 @@ class CfgAmmo class VTN_9x39_Ball_AP: VTN_9x39_Ball_SC { ACE_caliber=9.246; - ACE_bulletLength=0.031496; + ACE_bulletLength=31.496; ACE_bulletMass=16.2; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.275}; @@ -2307,7 +2307,7 @@ class CfgAmmo class VTN_545x39_Ball_SC: B_556x45_Ball { ACE_caliber=5.588; - ACE_bulletLength=0.02159; + ACE_bulletLength=21.59; ACE_bulletMass=3.42792; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; @@ -2320,7 +2320,7 @@ class CfgAmmo class VTN_545x39_Ball_TRC: VTN_545x39_Ball_SC { ACE_caliber=5.588; - ACE_bulletLength=0.02159; + ACE_bulletLength=21.59; ACE_bulletMass=3.22704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; @@ -2333,7 +2333,7 @@ class CfgAmmo class VTN_545x39_Ball_AP: VTN_545x39_Ball_TRC { ACE_caliber=5.588; - ACE_bulletLength=0.02159; + ACE_bulletLength=21.59; ACE_bulletMass=3.42792; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; @@ -2346,7 +2346,7 @@ class CfgAmmo class VTN_545x39_Ball_AP2: VTN_545x39_Ball_AP { ACE_caliber=5.588; - ACE_bulletLength=0.02159; + ACE_bulletLength=21.59; ACE_bulletMass=3.42792; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; @@ -2359,7 +2359,7 @@ class CfgAmmo class VTN_545x39_Ball_SS: VTN_545x39_Ball_SC { ACE_caliber=5.588; - ACE_bulletLength=0.02159; + ACE_bulletLength=21.59; ACE_bulletMass=3.42792; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.168}; @@ -2372,7 +2372,7 @@ class CfgAmmo class VTN_762x39_Ball_SC: B_762x51_Ball { ACE_caliber=7.823; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=7.9704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; @@ -2385,7 +2385,7 @@ class CfgAmmo class VTN_762x39_Ball_TRC: VTN_762x39_Ball_SC { ACE_caliber=7.823; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=7.5816; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; @@ -2398,7 +2398,7 @@ class CfgAmmo class VTN_762x39_Ball_AP: VTN_762x39_Ball_TRC { ACE_caliber=7.823; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=7.9704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; @@ -2411,7 +2411,7 @@ class CfgAmmo class VTN_762x39_Ball_INC: VTN_762x39_Ball_AP { ACE_caliber=7.823; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=7.9704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; @@ -2424,7 +2424,7 @@ class CfgAmmo class VTN_762x39_Ball_API: VTN_762x39_Ball_INC { ACE_caliber=7.823; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=7.9704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; @@ -2437,7 +2437,7 @@ class CfgAmmo class VTN_762x39_Ball_SS: VTN_762x39_Ball_SC { ACE_caliber=7.823; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=7.9704; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.275}; @@ -2450,7 +2450,7 @@ class CfgAmmo class VTN_762x41_Ball_SS: B_762x51_Ball { ACE_caliber=7.823; - ACE_bulletLength=0.013462; + ACE_bulletLength=13.462; ACE_bulletMass=9.2664; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.275}; @@ -2463,7 +2463,7 @@ class CfgAmmo class VTN_762x54_Ball_SC: VTN_762x39_Ball_SC { ACE_caliber=7.925; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=9.8496; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.4}; @@ -2476,7 +2476,7 @@ class CfgAmmo class VTN_762x54_Ball_TRC: VTN_762x54_Ball_SC { ACE_caliber=7.925; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=9.6552; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.395}; @@ -2489,7 +2489,7 @@ class CfgAmmo class VTN_762x54_Ball_AP: VTN_762x54_Ball_TRC { ACE_caliber=7.925; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=9.8496; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.4}; @@ -2502,7 +2502,7 @@ class CfgAmmo class VTN_762x54_Ball_INC: VTN_762x54_Ball_AP { ACE_caliber=7.925; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=9.8496; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.4}; @@ -2515,7 +2515,7 @@ class CfgAmmo class VTN_762x54_Ball_API: VTN_762x54_Ball_INC { ACE_caliber=7.925; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=9.8496; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.4}; @@ -2528,7 +2528,7 @@ class CfgAmmo class VTN_145x114_Ball_APT: B_127x108_Ball { ACE_caliber=14.884; - ACE_bulletLength=0.0508; + ACE_bulletLength=50.8; ACE_bulletMass=65.448; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.620}; @@ -2541,7 +2541,7 @@ class CfgAmmo class VTN_6mm_BB: B_65x39_Caseless { ACE_caliber=6.096; - ACE_bulletLength=0.006096; + ACE_bulletLength=6.096; ACE_bulletMass=0.3888; ACE_ammoTempMuzzleVelocityShifts[]={}; ACE_ballisticCoefficients[]={}; @@ -2554,7 +2554,7 @@ class CfgAmmo class VTN_9x19_Ball_FMJ: B_9x21_Ball { ACE_caliber=9.017; - ACE_bulletLength=0.015494; + ACE_bulletLength=15.494; ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; @@ -2567,7 +2567,7 @@ class CfgAmmo class VTN_556x45_Ball_FMJ: B_556x45_Ball { ACE_caliber=5.69; - ACE_bulletLength=0.023012; + ACE_bulletLength=23.012; ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; ACE_ballisticCoefficients[]={0.151}; @@ -2580,7 +2580,7 @@ class CfgAmmo class VTN_556x45_Ball_TRC: VTN_556x45_Ball_FMJ { ACE_caliber=5.69; - ACE_bulletLength=0.023012; + ACE_bulletLength=23.012; ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; ACE_ballisticCoefficients[]={0.151}; @@ -2593,7 +2593,7 @@ class CfgAmmo class VTN_556x45_Ball_TRCN: VTN_556x45_Ball_TRC { ACE_caliber=5.69; - ACE_bulletLength=0.023012; + ACE_bulletLength=23.012; ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; ACE_ballisticCoefficients[]={0.151}; @@ -2606,7 +2606,7 @@ class CfgAmmo class VTN_556x45_Ball_SC: VTN_556x45_Ball_FMJ { ACE_caliber=5.69; - ACE_bulletLength=0.023012; + ACE_bulletLength=23.012; ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; ACE_ballisticCoefficients[]={0.151}; @@ -2619,7 +2619,7 @@ class CfgAmmo class VTN_556x45_Ball_AP: VTN_556x45_Ball_TRC { ACE_caliber=5.69; - ACE_bulletLength=0.023012; + ACE_bulletLength=23.012; ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; ACE_ballisticCoefficients[]={0.151}; @@ -2632,7 +2632,7 @@ class CfgAmmo class VTN_556x45_Ball_INC: VTN_556x45_Ball_AP { ACE_caliber=5.69; - ACE_bulletLength=0.023012; + ACE_bulletLength=23.012; ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; ACE_ballisticCoefficients[]={0.151}; @@ -2645,7 +2645,7 @@ class CfgAmmo class VTN_556x45_Ball_LR: VTN_556x45_Ball_FMJ { ACE_caliber=5.69; - ACE_bulletLength=0.023012; + ACE_bulletLength=23.012; ACE_bulletMass=4.9896; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.361}; @@ -2658,7 +2658,7 @@ class CfgAmmo class VTN_556x45_Ball_SS: B_556x45_Ball { ACE_caliber=5.69; - ACE_bulletLength=0.023012; + ACE_bulletLength=23.012; ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.151}; @@ -2671,7 +2671,7 @@ class CfgAmmo class VTN_762x51_Ball_SC: B_762x51_Ball { ACE_caliber=7.823; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; @@ -2684,7 +2684,7 @@ class CfgAmmo class VTN_762x51_Ball_TRC: VTN_762x51_Ball_SC { ACE_caliber=7.823; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; @@ -2697,7 +2697,7 @@ class CfgAmmo class VTN_762x51_Ball_TRCN: VTN_762x51_Ball_TRC { ACE_caliber=7.823; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; @@ -2710,7 +2710,7 @@ class CfgAmmo class VTN_762x51_Ball_AP: VTN_762x51_Ball_TRC { ACE_caliber=7.823; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; @@ -2723,7 +2723,7 @@ class CfgAmmo class VTN_762x51_Ball_LR: VTN_762x51_Ball_SC { ACE_caliber=7.823; - ACE_bulletLength=0.031496; + ACE_bulletLength=31.496; ACE_bulletMass=11.34; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.243}; @@ -2736,7 +2736,7 @@ class CfgAmmo class VTN_1143x23_Ball_FMJ: B_408_Ball { ACE_caliber=11.481; - ACE_bulletLength=0.017272; + ACE_bulletLength=17.272; ACE_bulletMass=14.904; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.195}; @@ -2749,7 +2749,7 @@ class CfgAmmo class VTN_1143x23_Ball_HP: VTN_1143x23_Ball_FMJ { ACE_caliber=11.481; - ACE_bulletLength=0.017272; + ACE_bulletLength=17.272; ACE_bulletMass=14.904; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.195}; @@ -2762,7 +2762,7 @@ class CfgAmmo class VTN_1143x23_Ball_JHP: VTN_1143x23_Ball_FMJ { ACE_caliber=11.481; - ACE_bulletLength=0.017272; + ACE_bulletLength=17.272; ACE_bulletMass=14.904; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.195}; @@ -2775,7 +2775,7 @@ class CfgAmmo class VTN_762x39_Ball_FMJ: B_762x51_Ball { ACE_caliber=7.823; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=7.9704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; @@ -2788,7 +2788,7 @@ class CfgAmmo class VTN_45_Pellet: B_762x51_Ball { ACE_caliber=5.588; - ACE_bulletLength=0.005842; + ACE_bulletLength=5.842; ACE_bulletMass=0.1944; ACE_ammoTempMuzzleVelocityShifts[]={}; ACE_ballisticCoefficients[]={}; diff --git a/optionals/compat_cup/CfgAmmo.hpp b/optionals/compat_cup/CfgAmmo.hpp index b8c8faa30b..e58561ec1f 100644 --- a/optionals/compat_cup/CfgAmmo.hpp +++ b/optionals/compat_cup/CfgAmmo.hpp @@ -6,7 +6,7 @@ class CfgAmmo class CUP_B_545x39_Ball: BulletBase { ACE_caliber=5.588; - ACE_bulletLength=0.02159; + ACE_bulletLength=21.59; ACE_bulletMass=3.42792; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; @@ -19,7 +19,7 @@ class CfgAmmo class CUP_B_545x39_Ball_Tracer_Green: CUP_B_545x39_Ball { ACE_caliber=5.588; - ACE_bulletLength=0.02159; + ACE_bulletLength=21.59; ACE_bulletMass=3.22704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; @@ -32,7 +32,7 @@ class CfgAmmo class CUP_B_545x39_Ball_Tracer_Red: BulletBase { ACE_caliber=5.588; - ACE_bulletLength=0.02159; + ACE_bulletLength=21.59; ACE_bulletMass=3.22704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; @@ -45,7 +45,7 @@ class CfgAmmo class CUP_B_545x39_Ball_Tracer_White: BulletBase { ACE_caliber=5.588; - ACE_bulletLength=0.02159; + ACE_bulletLength=21.59; ACE_bulletMass=3.22704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; @@ -58,7 +58,7 @@ class CfgAmmo class CUP_B_545x39_Ball_Tracer_Yellow: BulletBase { ACE_caliber=5.588; - ACE_bulletLength=0.02159; + ACE_bulletLength=21.59; ACE_bulletMass=3.22704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; @@ -71,7 +71,7 @@ class CfgAmmo class CUP_B_762x39_Ball: BulletBase { ACE_caliber=7.823; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=7.9704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; @@ -84,7 +84,7 @@ class CfgAmmo class CUP_B_762x39_Ball_Tracer_Green: BulletBase { ACE_caliber=7.823; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=7.5816; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; @@ -97,7 +97,7 @@ class CfgAmmo class CUP_B_9x18_Ball: BulletBase { ACE_caliber=9.271; - ACE_bulletLength=0.015494; + ACE_bulletLength=15.494; ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; @@ -110,7 +110,7 @@ class CfgAmmo class CUP_B_9x18_Ball_Tracer_Green: BulletBase { ACE_caliber=9.271; - ACE_bulletLength=0.015494; + ACE_bulletLength=15.494; ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; @@ -123,7 +123,7 @@ class CfgAmmo class CUP_B_9x18_Ball_Tracer_Red: BulletBase { ACE_caliber=9.271; - ACE_bulletLength=0.015494; + ACE_bulletLength=15.494; ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; @@ -136,7 +136,7 @@ class CfgAmmo class CUP_B_9x18_Ball_Tracer_Yellow: BulletBase { ACE_caliber=9.271; - ACE_bulletLength=0.015494; + ACE_bulletLength=15.494; ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; @@ -149,7 +149,7 @@ class CfgAmmo class CUP_B_9x18_Ball_White_Tracer: BulletBase { ACE_caliber=9.271; - ACE_bulletLength=0.015494; + ACE_bulletLength=15.494; ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; @@ -162,7 +162,7 @@ class CfgAmmo class CUP_B_9x19_Ball: BulletBase { ACE_caliber=9.017; - ACE_bulletLength=0.015494; + ACE_bulletLength=15.494; ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; @@ -175,7 +175,7 @@ class CfgAmmo class CUP_B_762x51_noTracer: B_762x51_Ball { ACE_caliber=7.823; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; @@ -188,7 +188,7 @@ class CfgAmmo class CUP_B_303_Ball: BulletBase { ACE_caliber=7.899; - ACE_bulletLength=0.031166; + ACE_bulletLength=31.166; ACE_bulletMass=11.2752; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.499, 0.493, 0.48}; @@ -201,7 +201,7 @@ class CfgAmmo class CUP_B_127x107_Ball_Green_Tracer: BulletBase { ACE_caliber=12.979; - ACE_bulletLength=0.064008; + ACE_bulletLength=64.008; ACE_bulletMass=48.276; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.63}; @@ -214,7 +214,7 @@ class CfgAmmo class CUP_B_127x108_Ball_Green_Tracer: BulletBase { ACE_caliber=12.979; - ACE_bulletLength=0.064008; + ACE_bulletLength=64.008; ACE_bulletMass=48.276; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.63}; @@ -227,7 +227,7 @@ class CfgAmmo class CUP_B_762x54_Ball_White_Tracer: BulletBase { ACE_caliber=7.925; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=9.6552; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.395}; @@ -240,7 +240,7 @@ class CfgAmmo class CUP_B_762x54_Ball_Red_Tracer: BulletBase { ACE_caliber=7.925; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=9.6552; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.395}; @@ -253,7 +253,7 @@ class CfgAmmo class CUP_B_762x54_Ball_Green_Tracer: BulletBase { ACE_caliber=7.925; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=9.6552; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.395}; @@ -266,7 +266,7 @@ class CfgAmmo class CUP_B_762x54_Ball_Yellow_Tracer: BulletBase { ACE_caliber=7.925; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=9.6552; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.395}; @@ -279,7 +279,7 @@ class CfgAmmo class CUP_B_9x39_SP5: BulletBase { ACE_caliber=9.246; - ACE_bulletLength=0.031496; + ACE_bulletLength=31.496; ACE_bulletMass=16.2; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.275}; @@ -292,7 +292,7 @@ class CfgAmmo class CUP_B_762x51_Tracer_Green: BulletBase { ACE_caliber=7.823; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; @@ -305,7 +305,7 @@ class CfgAmmo class CUP_B_762x51_Tracer_Red: BulletBase { ACE_caliber=7.823; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; @@ -318,7 +318,7 @@ class CfgAmmo class CUP_B_762x51_Tracer_Yellow: BulletBase { ACE_caliber=7.823; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; @@ -331,7 +331,7 @@ class CfgAmmo class CUP_B_762x51_Tracer_White: BulletBase { ACE_caliber=7.823; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; @@ -344,7 +344,7 @@ class CfgAmmo class B_127x107_Ball: BulletBase { ACE_caliber=12.979; - ACE_bulletLength=0.064008; + ACE_bulletLength=64.008; ACE_bulletMass=48.276; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.63}; @@ -357,7 +357,7 @@ class CfgAmmo class CUP_B_9x18_SD: BulletBase { ACE_caliber=9.271; - ACE_bulletLength=0.015494; + ACE_bulletLength=15.494; ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; @@ -370,7 +370,7 @@ class CfgAmmo class CUP_B_765x17_Ball: BulletBase { ACE_caliber=7.938; - ACE_bulletLength=0.015494; + ACE_bulletLength=15.494; ACE_bulletMass=4.212; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.118}; @@ -383,7 +383,7 @@ class CfgAmmo class CUP_B_145x115_AP_Green_Tracer: BulletBase { ACE_caliber=14.884; - ACE_bulletLength=0.0508; + ACE_bulletLength=50.8; ACE_bulletMass=65.448; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.620}; @@ -396,7 +396,7 @@ class CfgAmmo class CUP_B_127x99_Ball_White_Tracer: B_127x99_Ball { ACE_caliber=12.954; - ACE_bulletLength=0.058674; + ACE_bulletLength=58.674; ACE_bulletMass=41.9256; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.670}; @@ -409,7 +409,7 @@ class CfgAmmo class CUP_B_86x70_Ball_noTracer: BulletBase { ACE_caliber=8.585; - ACE_bulletLength=0.04318; + ACE_bulletLength=43.18; ACE_bulletMass=19.44; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.381}; diff --git a/optionals/compat_hlcmods_core/CfgAmmo.hpp b/optionals/compat_hlcmods_core/CfgAmmo.hpp index d2127d5d82..c9446ff29e 100644 --- a/optionals/compat_hlcmods_core/CfgAmmo.hpp +++ b/optionals/compat_hlcmods_core/CfgAmmo.hpp @@ -9,7 +9,7 @@ class CfgAmmo class HLC_556NATO_EPR: B_556x45_Ball { ACE_caliber=5.69; - ACE_bulletLength=0.023012; + ACE_bulletLength=23.012; ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; ACE_ballisticCoefficients[]={0.151}; @@ -22,7 +22,7 @@ class CfgAmmo class HLC_556NATO_SOST: B_556x45_Ball { ACE_caliber=5.69; - ACE_bulletLength=0.023012; + ACE_bulletLength=23.012; ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.307}; @@ -35,7 +35,7 @@ class CfgAmmo class HLC_556NATO_SPR: B_556x45_Ball { ACE_caliber=5.69; - ACE_bulletLength=0.023012; + ACE_bulletLength=23.012; ACE_bulletMass=4.9896; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.361}; @@ -48,7 +48,7 @@ class CfgAmmo class HLC_300Blackout_Ball: B_556x45_Ball { ACE_caliber=7.823; - ACE_bulletLength=0.028397; + ACE_bulletLength=28.397; ACE_bulletMass=9.5256; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.398}; @@ -61,7 +61,7 @@ class CfgAmmo class HLC_300Blackout_SMK: HLC_300Blackout_Ball { ACE_caliber=7.823; - ACE_bulletLength=0.037821; + ACE_bulletLength=37.821; ACE_bulletMass=14.256; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.608}; @@ -74,7 +74,7 @@ class CfgAmmo class HLC_762x39_Ball: HLC_300Blackout_Ball { ACE_caliber=7.823; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=7.9704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; @@ -87,7 +87,7 @@ class CfgAmmo class HLC_762x39_Tracer: HLC_762x39_Ball { ACE_caliber=7.823; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=7.5816; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; @@ -100,7 +100,7 @@ class CfgAmmo class HLC_762x51_MK316_20in: B_762x51_Ball { ACE_caliber=7.823; - ACE_bulletLength=0.031496; + ACE_bulletLength=31.496; ACE_bulletMass=11.34; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.243}; @@ -113,7 +113,7 @@ class CfgAmmo class HLC_762x51_BTSub: B_762x51_Ball { ACE_caliber=7.823; - ACE_bulletLength=0.034036; + ACE_bulletLength=34.036; ACE_bulletMass=12.96; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.235}; @@ -126,7 +126,7 @@ class CfgAmmo class HLC_762x54_ball: HLC_762x51_ball { ACE_caliber=7.925; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=9.8496; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.4}; @@ -139,7 +139,7 @@ class CfgAmmo class HLC_762x54_tracer: HLC_762x51_tracer { ACE_caliber=7.925; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=9.6552; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.395}; @@ -152,7 +152,7 @@ class CfgAmmo class HLC_303Brit_B: B_556x45_Ball { ACE_caliber=7.899; - ACE_bulletLength=0.031166; + ACE_bulletLength=31.166; ACE_bulletMass=11.2752; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.499, 0.493, 0.48}; @@ -165,7 +165,7 @@ class CfgAmmo class HLC_792x57_Ball: HLC_303Brit_B { ACE_caliber=8.077; - ACE_bulletLength=0.028651; + ACE_bulletLength=28.651; ACE_bulletMass=12.7008; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.315}; @@ -184,7 +184,7 @@ class CfgAmmo class FH_545x39_Ball: B_556x45_Ball { ACE_caliber=5.588; - ACE_bulletLength=0.02159; + ACE_bulletLength=21.59; ACE_bulletMass=3.42792; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; @@ -204,7 +204,7 @@ class CfgAmmo class HLC_57x28mm_JHP: FH_545x39_Ball { ACE_caliber=5.69; - ACE_bulletLength=0.012573; + ACE_bulletLength=12.573; ACE_bulletMass=1.8144; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.144}; @@ -217,7 +217,7 @@ class CfgAmmo class HLC_9x19_Ball: B_556x45_Ball { ACE_caliber=9.017; - ACE_bulletLength=0.015494; + ACE_bulletLength=15.494; ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; @@ -230,7 +230,7 @@ class CfgAmmo class HLC_9x19_M882_SMG: B_556x45_Ball { ACE_caliber=9.017; - ACE_bulletLength=0.015494; + ACE_bulletLength=15.494; ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; @@ -251,7 +251,7 @@ class CfgAmmo class HLC_10mm_FMJ: HLC_9x19_Ball { ACE_caliber=12.7; - ACE_bulletLength=0.019406; + ACE_bulletLength=19.406; ACE_bulletMass=10.692; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.189}; @@ -264,7 +264,7 @@ class CfgAmmo class HLC_45ACP_Ball: B_556x45_Ball { ACE_caliber=11.481; - ACE_bulletLength=0.017272; + ACE_bulletLength=17.272; ACE_bulletMass=14.904; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.195}; @@ -277,7 +277,7 @@ class CfgAmmo class FH_44Mag: HLC_45ACP_Ball { ACE_caliber=10.897; - ACE_bulletLength=0.020422; + ACE_bulletLength=20.422; ACE_bulletMass=12.96; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.172}; @@ -290,7 +290,7 @@ class CfgAmmo class FH_50BMG_SLAP: B_127x99_Ball { ACE_caliber=7.823; - ACE_bulletLength=0.03175; + ACE_bulletLength=31.75; ACE_bulletMass=22.68; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={1.056}; @@ -303,7 +303,7 @@ class CfgAmmo class FH_50BMG_Raufoss: B_127x99_Ball { ACE_caliber=12.954; - ACE_bulletLength=0.060452; + ACE_bulletLength=60.452; ACE_bulletMass=42.768; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.670}; diff --git a/optionals/compat_rh_de/CfgAmmo.hpp b/optionals/compat_rh_de/CfgAmmo.hpp index e95bcdcad0..8d3e230e1c 100644 --- a/optionals/compat_rh_de/CfgAmmo.hpp +++ b/optionals/compat_rh_de/CfgAmmo.hpp @@ -5,7 +5,7 @@ class CfgAmmo class RH_50_AE_Ball: BulletBase { ACE_caliber=12.7; - ACE_bulletLength=0.028194; + ACE_bulletLength=28.194; ACE_bulletMass=21.06; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.228}; @@ -18,7 +18,7 @@ class CfgAmmo class RH_454_Casull: BulletBase { ACE_caliber=11.481; - ACE_bulletLength=0.022733; + ACE_bulletLength=22.733; ACE_bulletMass=21.06; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.171}; @@ -31,7 +31,7 @@ class CfgAmmo class RH_32ACP: BulletBase { ACE_caliber=7.938; - ACE_bulletLength=0.015494; + ACE_bulletLength=15.494; ACE_bulletMass=4.212; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.118}; @@ -44,7 +44,7 @@ class CfgAmmo class RH_45ACP: BulletBase { ACE_caliber=11.481; - ACE_bulletLength=0.017272; + ACE_bulletLength=17.272; ACE_bulletMass=14.904; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.195}; @@ -57,7 +57,7 @@ class CfgAmmo class RH_B_40SW: BulletBase { ACE_caliber=10.16; - ACE_bulletLength=0.011354; + ACE_bulletLength=11.354; ACE_bulletMass=8.748; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.105, 0.115, 0.120, 0.105}; @@ -70,7 +70,7 @@ class CfgAmmo class RH_44mag_ball: BulletBase { ACE_caliber=10.897; - ACE_bulletLength=0.020422; + ACE_bulletLength=20.422; ACE_bulletMass=12.96; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.172}; @@ -83,7 +83,7 @@ class CfgAmmo class RH_357mag_ball: BulletBase { ACE_caliber=9.068; - ACE_bulletLength=0.013741; + ACE_bulletLength=13.741; ACE_bulletMass=8.1; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.148}; @@ -96,7 +96,7 @@ class CfgAmmo class RH_762x25: BulletBase { ACE_caliber=7.874; - ACE_bulletLength=0.013856; + ACE_bulletLength=13.856; ACE_bulletMass=5.5728; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.17}; @@ -109,7 +109,7 @@ class CfgAmmo class RH_9x18_Ball: BulletBase { ACE_caliber=9.271; - ACE_bulletLength=0.015494; + ACE_bulletLength=15.494; ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; @@ -122,7 +122,7 @@ class CfgAmmo class RH_B_9x19_Ball: BulletBase { ACE_caliber=9.017; - ACE_bulletLength=0.015494; + ACE_bulletLength=15.494; ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; @@ -135,7 +135,7 @@ class CfgAmmo class RH_B_22LR_SD: BulletBase { ACE_caliber=5.664; - ACE_bulletLength=0.01143; + ACE_bulletLength=11.43; ACE_bulletMass=2.4624; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.111}; @@ -148,7 +148,7 @@ class CfgAmmo class RH_57x28mm: BulletBase { ACE_caliber=5.69; - ACE_bulletLength=0.012573; + ACE_bulletLength=12.573; ACE_bulletMass=1.8144; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.144}; diff --git a/optionals/compat_rh_m4/CfgAmmo.hpp b/optionals/compat_rh_m4/CfgAmmo.hpp index 38c58bb7d4..fa4cc2ba07 100644 --- a/optionals/compat_rh_m4/CfgAmmo.hpp +++ b/optionals/compat_rh_m4/CfgAmmo.hpp @@ -11,7 +11,7 @@ class CfgAmmo { class RH_9x19_B_M822: BulletBase { ACE_caliber=9.017; - ACE_bulletLength=0.015494; + ACE_bulletLength=15.494; ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; @@ -24,7 +24,7 @@ class CfgAmmo { class RH_9x19_B_HP: BulletBase { ACE_caliber=9.017; - ACE_bulletLength=0.015494; + ACE_bulletLength=15.494; ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; @@ -37,7 +37,7 @@ class CfgAmmo { class RH_9x19_B_HPSB: BulletBase { ACE_caliber=9.017; - ACE_bulletLength=0.015316; + ACE_bulletLength=15.316; ACE_bulletMass=9.5256; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.212}; @@ -50,7 +50,7 @@ class CfgAmmo { class RH_556x45_B_M855A1: B_556x45_Ball { ACE_caliber=5.69; - ACE_bulletLength=0.023012; + ACE_bulletLength=23.012; ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; ACE_ballisticCoefficients[]={0.151}; @@ -63,7 +63,7 @@ class CfgAmmo { class RH_556x45_B_Mk318: B_556x45_Ball { ACE_caliber=5.69; - ACE_bulletLength=0.023012; + ACE_bulletLength=23.012; ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.307}; @@ -76,7 +76,7 @@ class CfgAmmo { class RH_556x45_B_Mk262: B_556x45_Ball { ACE_caliber=5.69; - ACE_bulletLength=0.023012; + ACE_bulletLength=23.012; ACE_bulletMass=4.9896; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.361}; @@ -89,7 +89,7 @@ class CfgAmmo { class RH_68x43_B_FMJ: B_65x39_Caseless { ACE_caliber=7.036; - ACE_bulletLength=0.024359; + ACE_bulletLength=24.359; ACE_bulletMass=7.452; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.162}; @@ -102,7 +102,7 @@ class CfgAmmo { class RH_68x43_B_Match: B_65x39_Caseless { ACE_caliber=7.036; - ACE_bulletLength=0.03175; + ACE_bulletLength=31.75; ACE_bulletMass=8.748; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.253}; @@ -115,7 +115,7 @@ class CfgAmmo { class RH_762x35_B_FMJ: B_65x39_Caseless { ACE_caliber=7.823; - ACE_bulletLength=0.028397; + ACE_bulletLength=28.397; ACE_bulletMass=9.5256; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.398}; @@ -128,7 +128,7 @@ class CfgAmmo { class RH_762x35_B_Match: B_65x39_Caseless { ACE_caliber=7.823; - ACE_bulletLength=0.029286; + ACE_bulletLength=29.286; ACE_bulletMass=8.1; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.349, 0.338, 0.330, 0.310}; @@ -141,7 +141,7 @@ class CfgAmmo { class RH_762x35_B_MSB: B_65x39_Caseless { ACE_caliber=7.823; - ACE_bulletLength=0.037821; + ACE_bulletLength=37.821; ACE_bulletMass=14.256; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.608}; @@ -154,7 +154,7 @@ class CfgAmmo { class RH_762x51_B_M80A1: B_762x51_Ball { ACE_caliber=7.823; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; @@ -167,7 +167,7 @@ class CfgAmmo { class RH_762x51_B_Mk316LR: B_762x51_Ball { ACE_caliber=7.823; - ACE_bulletLength=0.031496; + ACE_bulletLength=31.496; ACE_bulletMass=11.34; ACE_ammoTempMuzzleVelocityShifts[]={-5.3, -5.1, -4.6, -4.2, -3.4, -2.6, -1.4, -0.3, 1.4, 3.0, 5.2}; ACE_ballisticCoefficients[]={0.243}; @@ -180,7 +180,7 @@ class CfgAmmo { class RH_762x51_B_Mk319: B_762x51_Ball { ACE_caliber=7.823; - ACE_bulletLength=0.031496; + ACE_bulletLength=31.496; ACE_bulletMass=8.424; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.377}; @@ -193,7 +193,7 @@ class CfgAmmo { class RH_762x51_B_LFMJSB: B_762x51_Ball { ACE_caliber=7.823; - ACE_bulletLength=0.034036; + ACE_bulletLength=34.036; ACE_bulletMass=12.96; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.235}; diff --git a/optionals/compat_rh_pdw/CfgAmmo.hpp b/optionals/compat_rh_pdw/CfgAmmo.hpp index f003c9599e..a1503f2284 100644 --- a/optionals/compat_rh_pdw/CfgAmmo.hpp +++ b/optionals/compat_rh_pdw/CfgAmmo.hpp @@ -3,7 +3,7 @@ class BulletBase; class RH_B_6x35: BulletBase { ACE_caliber=5.69; - ACE_bulletLength=0.011303; + ACE_bulletLength=11.303; ACE_bulletMass=4.212; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.26}; diff --git a/optionals/compat_rhs_afrf3/CfgAmmo.hpp b/optionals/compat_rhs_afrf3/CfgAmmo.hpp index 15161e1fff..4cf181b9fc 100644 --- a/optionals/compat_rhs_afrf3/CfgAmmo.hpp +++ b/optionals/compat_rhs_afrf3/CfgAmmo.hpp @@ -6,7 +6,7 @@ class CfgAmmo class rhs_B_545x39_Ball: B_556x45_Ball { ACE_caliber=5.588; - ACE_bulletLength=0.02159; + ACE_bulletLength=21.59; ACE_bulletMass=3.42792; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; @@ -19,7 +19,7 @@ class CfgAmmo class rhs_B_545x39_Ball_Tracer_Green: rhs_B_545x39_Ball { ACE_caliber=5.588; - ACE_bulletLength=0.02159; + ACE_bulletLength=21.59; ACE_bulletMass=3.22704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; @@ -33,7 +33,7 @@ class CfgAmmo class rhs_B_762x54_Ball: B_762x51_Ball { ACE_caliber=7.925; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=9.8496; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.4}; @@ -46,7 +46,7 @@ class CfgAmmo class rhs_B_762x54_Ball_Tracer_Green: B_762x51_Ball { ACE_caliber=7.925; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=9.6552; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.395}; @@ -59,7 +59,7 @@ class CfgAmmo class rhs_B_762x54_7N1_Ball: rhs_B_762x54_Ball { ACE_caliber=7.925; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=9.8496; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.4}; @@ -72,7 +72,7 @@ class CfgAmmo class rhs_B_762x39_Ball: B_762x51_Ball { ACE_caliber=7.823; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=7.9704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; @@ -85,7 +85,7 @@ class CfgAmmo class rhs_B_762x39_Tracer: rhs_B_762x39_Ball { ACE_caliber=7.823; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=7.5816; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; @@ -99,7 +99,7 @@ class CfgAmmo class rhs_B_9x19_7N21: B_9x21_Ball { ACE_caliber=9.017; - ACE_bulletLength=0.015494; + ACE_bulletLength=15.494; ACE_bulletMass=5.19696; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.14}; @@ -112,7 +112,7 @@ class CfgAmmo class rhs_B_9x18_57N181S: B_9x21_Ball { ACE_caliber=9.271; - ACE_bulletLength=0.015494; + ACE_bulletLength=15.494; ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; diff --git a/optionals/compat_rhs_usf3/CfgAmmo.hpp b/optionals/compat_rhs_usf3/CfgAmmo.hpp index 35c03f09ae..b46f155b17 100644 --- a/optionals/compat_rhs_usf3/CfgAmmo.hpp +++ b/optionals/compat_rhs_usf3/CfgAmmo.hpp @@ -5,7 +5,7 @@ class CfgAmmo class rhsusf_B_300winmag: BulletBase { ACE_caliber=7.823; - ACE_bulletLength=0.037821; + ACE_bulletLength=37.821; ACE_bulletMass=14.256; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.310}; @@ -19,7 +19,7 @@ class CfgAmmo class rhs_ammo_556x45_Mk318_Ball: B_556x45_Ball { ACE_caliber=5.69; - ACE_bulletLength=0.023012; + ACE_bulletLength=23.012; ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.307}; @@ -32,7 +32,7 @@ class CfgAmmo class rhs_ammo_556x45_Mk262_Ball: B_556x45_Ball { ACE_caliber=5.69; - ACE_bulletLength=0.023012; + ACE_bulletLength=23.012; ACE_bulletMass=4.9896; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.361}; @@ -45,7 +45,7 @@ class CfgAmmo class rhs_ammo_762x51_M80_Ball: BulletBase { ACE_caliber=7.823; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; @@ -58,7 +58,7 @@ class CfgAmmo class rhs_ammo_762x51_M118_Special_Ball: rhs_ammo_762x51_M80_Ball { ACE_caliber=7.823; - ACE_bulletLength=0.031496; + ACE_bulletLength=31.496; ACE_bulletMass=11.34; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.243}; @@ -71,7 +71,7 @@ class CfgAmmo class rhs_ammo_762x51_M993_Ball: rhs_ammo_762x51_M80_Ball { ACE_caliber=7.823; - ACE_bulletLength=0.031496; + ACE_bulletLength=31.496; ACE_bulletMass=8.2296; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.377}; @@ -84,7 +84,7 @@ class CfgAmmo class rhs_ammo_45ACP_MHP: BulletBase { ACE_caliber=11.481; - ACE_bulletLength=0.017272; + ACE_bulletLength=17.272; ACE_bulletMass=14.904; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.195}; From aa9561f287bc59f4def0376e5665a7910a4196f4 Mon Sep 17 00:00:00 2001 From: KoffeinFlummi Date: Fri, 8 May 2015 12:46:44 +0200 Subject: [PATCH 084/217] Convert ACE_barrelTwist to millimeters --- .../functions/fnc_handleFired.sqf | 2 +- addons/ballistics/CfgWeapons.hpp | 82 +- extras/CfgWeaponsReference.hpp | 720 +++++++++--------- optionals/compat_hlc_ar15/CfgWeapons.hpp | 24 +- optionals/compat_hlc_wp_mp5/CfgWeapons.hpp | 22 +- optionals/compat_hlcmods_ak/CfgWeapons.hpp | 16 +- optionals/compat_hlcmods_aug/CfgWeapons.hpp | 18 +- optionals/compat_hlcmods_fal/CfgWeapons.hpp | 18 +- optionals/compat_hlcmods_g3/CfgWeapons.hpp | 16 +- optionals/compat_hlcmods_m14/CfgWeapons.hpp | 4 +- optionals/compat_hlcmods_m60e4/CfgWeapons.hpp | 4 +- optionals/compat_rh_de/CfgWeapons.hpp | 54 +- optionals/compat_rh_m4/CfgWeapons.hpp | 50 +- optionals/compat_rh_pdw/CfgWeapons.hpp | 2 +- optionals/compat_rhs_afrf3/CfgWeapons.hpp | 20 +- optionals/compat_rhs_usf3/CfgWeapons.hpp | 20 +- 16 files changed, 536 insertions(+), 536 deletions(-) diff --git a/addons/advanced_ballistics/functions/fnc_handleFired.sqf b/addons/advanced_ballistics/functions/fnc_handleFired.sqf index a8528cfec5..e63b1d7dfc 100644 --- a/addons/advanced_ballistics/functions/fnc_handleFired.sqf +++ b/addons/advanced_ballistics/functions/fnc_handleFired.sqf @@ -94,7 +94,7 @@ if (GVAR(bulletTraceEnabled) && cameraView == "GUNNER") then { _caliber = getNumber(configFile >> "cfgAmmo" >> _ammo >> "ACE_caliber"); _bulletLength = getNumber(configFile >> "cfgAmmo" >> _ammo >> "ACE_bulletLength"); _bulletMass = getNumber(configFile >> "cfgAmmo" >> _ammo >> "ACE_bulletMass"); -_barrelTwist = 1000 * getNumber(configFile >> "cfgWeapons" >> _weapon >> "ACE_barrelTwist"); +_barrelTwist = getNumber(configFile >> "cfgWeapons" >> _weapon >> "ACE_barrelTwist"); _stabilityFactor = 1.5; if (_caliber > 0 && _bulletLength > 0 && _bulletMass > 0 && _barrelTwist > 0) then { diff --git a/addons/ballistics/CfgWeapons.hpp b/addons/ballistics/CfgWeapons.hpp index 59589f73be..7394cda002 100644 --- a/addons/ballistics/CfgWeapons.hpp +++ b/addons/ballistics/CfgWeapons.hpp @@ -65,7 +65,7 @@ class CfgWeapons { "ACE_30Rnd_65x39_caseless_mag_Tracer_Dim" }; initSpeed = -1.0; - ACE_barrelTwist=0.2286; + ACE_barrelTwist=228.6; ACE_barrelLength=0.4064; class WeaponSlotsInfo: WeaponSlotsInfo { class MuzzleSlot: MuzzleSlot { @@ -92,7 +92,7 @@ class CfgWeapons { "ACE_30Rnd_65_Creedmor_mag" }; initSpeed = -1.018; - ACE_barrelTwist=0.2286; + ACE_barrelTwist=228.6; ACE_barrelLength=0.4572; class Single: Single { dispersion = 0.00029; // radians. Equal to 1 MOA. @@ -137,7 +137,7 @@ class CfgWeapons { compatibleItems[] += {"ACE_muzzle_mzls_H"}; }; }; - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.3175; class manual: Mode_FullAuto { dispersion = 0.00175; // radians. Equal to 6 MOA. @@ -154,7 +154,7 @@ class CfgWeapons { compatibleItems[] += {"ACE_muzzle_mzls_B"}; }; }; - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.45974; class FullAuto: Mode_FullAuto { dispersion = 0.00175; // radians. Equal to 6 MOA. @@ -241,7 +241,7 @@ class CfgWeapons { class hgun_P07_F: Pistol_Base_F { initSpeed = -0.9778; - ACE_barrelTwist=0.254; + ACE_barrelTwist=254.0; ACE_barrelLength=0.1016; class WeaponSlotsInfo: WeaponSlotsInfo { class MuzzleSlot: MuzzleSlot { @@ -253,7 +253,7 @@ class CfgWeapons { class hgun_Rook40_F: Pistol_Base_F { initSpeed = -1.0; - ACE_barrelTwist=0.254; + ACE_barrelTwist=254.0; ACE_barrelLength=0.11176; class WeaponSlotsInfo: WeaponSlotsInfo { class MuzzleSlot: MuzzleSlot { @@ -265,7 +265,7 @@ class CfgWeapons { class hgun_ACPC2_F: Pistol_Base_F { initSpeed = -1.0; - ACE_barrelTwist=0.4064; + ACE_barrelTwist=406.4; ACE_barrelLength=0.127; class WeaponSlotsInfo: WeaponSlotsInfo { class MuzzleSlot: MuzzleSlot { @@ -276,7 +276,7 @@ class CfgWeapons { class hgun_Pistol_heavy_01_F: Pistol_Base_F { initSpeed = -0.96; - ACE_barrelTwist=0.4064; + ACE_barrelTwist=406.4; ACE_barrelLength=0.1143; class WeaponSlotsInfo: WeaponSlotsInfo { class MuzzleSlot: MuzzleSlot { @@ -287,7 +287,7 @@ class CfgWeapons { class hgun_Pistol_heavy_02_F: Pistol_Base_F { initSpeed = -0.92; - ACE_barrelTwist=0.4064; + ACE_barrelTwist=406.4; ACE_barrelLength=0.0762; /* class WeaponSlotsInfo: WeaponSlotsInfo { @@ -300,7 +300,7 @@ class CfgWeapons { }; class hgun_PDW2000_F: pdw2000_base_F { initSpeed = -1.157; - ACE_barrelTwist=0.2286; + ACE_barrelTwist=228.6; ACE_barrelLength=0.1778; }; class arifle_Katiba_F: arifle_katiba_Base_F { @@ -310,7 +310,7 @@ class CfgWeapons { "ACE_30Rnd_65x39_caseless_green_mag_Tracer_Dim" }; initSpeed = -1.08; - ACE_barrelTwist=0.2032; + ACE_barrelTwist=203.2; ACE_barrelLength=0.72898; }; class arifle_Katiba_C_F: arifle_katiba_Base_F { @@ -320,7 +320,7 @@ class CfgWeapons { "ACE_30Rnd_65x39_caseless_green_mag_Tracer_Dim" }; initSpeed = -1.07; - ACE_barrelTwist=0.2032; + ACE_barrelTwist=203.2; ACE_barrelLength=0.68072; }; class arifle_Katiba_GL_F: arifle_katiba_Base_F { @@ -330,7 +330,7 @@ class CfgWeapons { "ACE_30Rnd_65x39_caseless_green_mag_Tracer_Dim" }; initSpeed = -1.08; - ACE_barrelTwist=0.2032; + ACE_barrelTwist=203.2; ACE_barrelLength=0.72898; }; class arifle_MX_F: arifle_MX_Base_F { @@ -340,7 +340,7 @@ class CfgWeapons { "ACE_30Rnd_65x39_caseless_mag_Tracer_Dim" }; initSpeed = -0.99; - ACE_barrelTwist=0.2286; + ACE_barrelTwist=228.6; ACE_barrelLength=0.3683; }; class arifle_MX_GL_F: arifle_MX_Base_F { @@ -350,12 +350,12 @@ class CfgWeapons { "ACE_30Rnd_65x39_caseless_mag_Tracer_Dim" }; initSpeed = -0.99; - ACE_barrelTwist=0.2286; + ACE_barrelTwist=228.6; ACE_barrelLength=0.3683; }; /* class arifle_MX_SW_F: arifle_MX_Base_F { - ACE_barrelTwist=0.2286; + ACE_barrelTwist=228.6; ACE_barrelLength=0.4064; }; */ @@ -366,12 +366,12 @@ class CfgWeapons { "ACE_30Rnd_65x39_caseless_mag_Tracer_Dim" }; initSpeed = -0.965; - ACE_barrelTwist=0.2032; + ACE_barrelTwist=203.2; ACE_barrelLength=0.2667; }; /* class arifle_MXM_F: arifle_MX_Base_F { - ACE_barrelTwist=0.2286; + ACE_barrelTwist=228.6; ACE_barrelLength=0.4572; }; */ @@ -388,12 +388,12 @@ class CfgWeapons { "ACE_30Rnd_556x45_Stanag_Tracer_Dim" }; initSpeed = -0.989; - ACE_barrelTwist=0.28575; + ACE_barrelTwist=285.75; ACE_barrelLength=0.4572; }; class SMG_02_F: SMG_02_base_F { initSpeed = -1.054; - ACE_barrelTwist=0.254; + ACE_barrelTwist=254.0; ACE_barrelLength=0.19558; }; class arifle_TRG20_F: Tavor_base_F { @@ -408,7 +408,7 @@ class CfgWeapons { "ACE_30Rnd_556x45_Stanag_Tracer_Dim" }; initSpeed = -0.95; - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.381; }; class arifle_TRG21_F: Tavor_base_F { @@ -423,7 +423,7 @@ class CfgWeapons { "ACE_30Rnd_556x45_Stanag_Tracer_Dim" }; initSpeed = -0.989; - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.45974; }; class arifle_TRG21_GL_F: arifle_TRG21_F { @@ -438,12 +438,12 @@ class CfgWeapons { "ACE_30Rnd_556x45_Stanag_Tracer_Dim" }; initSpeed = -0.989; - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.45974; }; /* class LMG_Zafir_F: Rifle_Long_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.45974; }; */ @@ -459,7 +459,7 @@ class CfgWeapons { "ACE_30Rnd_556x45_Stanag_Tracer_Dim" }; initSpeed = -0.98; - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.44196; }; class arifle_Mk20C_F: mk20_base_F { @@ -474,7 +474,7 @@ class CfgWeapons { "ACE_30Rnd_556x45_Stanag_Tracer_Dim" }; initSpeed = -0.956; - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.4064; }; class arifle_Mk20_GL_F: mk20_base_F { @@ -489,12 +489,12 @@ class CfgWeapons { "ACE_30Rnd_556x45_Stanag_Tracer_Dim" }; initSpeed = -0.956; - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.4064; }; class SMG_01_F: SMG_01_Base { initSpeed = -1.016; - ACE_barrelTwist=0.4064; + ACE_barrelTwist=406.4; ACE_barrelLength=0.1397; }; class srifle_DMR_01_F: DMR_01_base_F { @@ -503,7 +503,7 @@ class CfgWeapons { "ACE_10Rnd_762x54_Tracer_mag" }; initSpeed = -1.025; - ACE_barrelTwist=0.2413; + ACE_barrelTwist=241.3; ACE_barrelLength=0.6096; }; class srifle_EBR_F: EBR_base_F { @@ -518,19 +518,19 @@ class CfgWeapons { "ACE_20Rnd_762x51_Mag_SD" }; initSpeed = -0.9724; - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.4572; }; /* class LMG_Mk200_F: Rifle_Long_Base_F { initSpeed = -1.0; - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.3175; }; */ class srifle_LRR_F: LRR_base_F { initSpeed = -1.0; - ACE_barrelTwist=0.3302; + ACE_barrelTwist=330.2; ACE_barrelLength=0.7366; }; class srifle_GM6_F: GM6_base_F { @@ -542,7 +542,7 @@ class CfgWeapons { "ACE_5Rnd_127x99_AMAX_Mag" }; initSpeed = -1.0; - ACE_barrelTwist=0.381; + ACE_barrelTwist=381.0; ACE_barrelLength=0.92964; }; class srifle_DMR_02_F: DMR_02_base_F { @@ -555,7 +555,7 @@ class CfgWeapons { "ACE_20Rnd_762x67_Berger_Hybrid_OTM_Mag" }; initSpeed = -0.962; - ACE_barrelTwist=0.254; + ACE_barrelTwist=254.0; ACE_barrelLength=0.508; }; class srifle_DMR_03_F: DMR_03_base_F { @@ -570,17 +570,17 @@ class CfgWeapons { "ACE_20Rnd_762x51_Mag_SD" }; initSpeed = -0.9843; - ACE_barrelTwist=0.254; + ACE_barrelTwist=254.0; ACE_barrelLength=0.508; }; class srifle_DMR_04_F: DMR_04_base_F { initSpeed = -1.0; - ACE_barrelTwist=0.2032; + ACE_barrelTwist=203.2; ACE_barrelLength=0.450088; }; class srifle_DMR_05_blk_F: DMR_05_base_F { initSpeed = -1.0; - ACE_barrelTwist=0.359918; + ACE_barrelTwist=359.918; ACE_barrelLength=0.620014; }; class srifle_DMR_06_camo_F: DMR_06_base_F { @@ -595,17 +595,17 @@ class CfgWeapons { "ACE_20Rnd_762x51_Mag_SD" }; initSpeed = -0.9916; - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.5588; }; class MMG_01_hex_F: MMG_01_base_F { initSpeed = -1.0; - ACE_barrelTwist=0.359918; + ACE_barrelTwist=359.918; ACE_barrelLength=0.54991; }; class MMG_02_camo_F: MMG_02_base_F { initSpeed = -1.0; - ACE_barrelTwist=0.23495; + ACE_barrelTwist=234.95; ACE_barrelLength=0.6096; }; @@ -615,7 +615,7 @@ class CfgWeapons { }; class HMG_M2: HMG_01 { initSpeed = -1.0; - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=1.143; }; diff --git a/extras/CfgWeaponsReference.hpp b/extras/CfgWeaponsReference.hpp index 3aecdb325c..d46f8c7033 100644 --- a/extras/CfgWeaponsReference.hpp +++ b/extras/CfgWeaponsReference.hpp @@ -27,456 +27,456 @@ class CfgWeapons class MMG_02_base_F; class hgun_P07_F : Pistol_Base_F { - ACE_barrelTwist=0.254; + ACE_barrelTwist=254.0; ACE_barrelLength=0.1016; }; class hgun_Rook40_F : Pistol_Base_F { - ACE_barrelTwist=0.254; + ACE_barrelTwist=254.0; ACE_barrelLength=0.11176; }; class hgun_Pistol_heavy_01_F : Pistol_Base_F { - ACE_barrelTwist=0.4064; + ACE_barrelTwist=406.4; ACE_barrelLength=0.1143; }; class hgun_Pistol_heavy_02_F : Pistol_Base_F { - ACE_barrelTwist=0.4064; + ACE_barrelTwist=406.4; ACE_barrelLength=0.0762; }; class hgun_ACPC2_F : Pistol_Base_F { - ACE_barrelTwist=0.4064; + ACE_barrelTwist=406.4; ACE_barrelLength=0.127; }; class hgun_PDW2000_F : PDW2000_Base_F { - ACE_barrelTwist=0.2286; + ACE_barrelTwist=228.6; ACE_barrelLength=0.1778; }; class arifle_Katiba_F : arifle_Katiba_Base_F { - ACE_barrelTwist=0.2032; + ACE_barrelTwist=203.2; ACE_barrelLength=0.72898; }; class arifle_Katiba_C_F : arifle_Katiba_Base_F { - ACE_barrelTwist=0.2032; + ACE_barrelTwist=203.2; ACE_barrelLength=0.68072; }; class arifle_Katiba_GL_F : arifle_Katiba_Base_F { - ACE_barrelTwist=0.2032; + ACE_barrelTwist=203.2; ACE_barrelLength=0.72898; }; class arifle_MX_F: arifle_MX_Base_F { - ACE_barrelTwist=0.2286; + ACE_barrelTwist=228.6; ACE_barrelLength=0.3683; }; class arifle_MX_GL_F: arifle_MX_Base_F { - ACE_barrelTwist=0.2286; + ACE_barrelTwist=228.6; ACE_barrelLength=0.3683; }; class arifle_MX_SW_F: arifle_MX_Base_F { - ACE_barrelTwist=0.2286; + ACE_barrelTwist=228.6; ACE_barrelLength=0.4064; }; class arifle_MXC_F: arifle_MX_Base_F { - ACE_barrelTwist=0.2032; + ACE_barrelTwist=203.2; ACE_barrelLength=0.2667; }; class arifle_MXM_F: arifle_MX_Base_F { - ACE_barrelTwist=0.2286; + ACE_barrelTwist=228.6; ACE_barrelLength=0.4572; }; class arifle_SDAR_F : SDAR_base_F { - ACE_barrelTwist=0.28575; + ACE_barrelTwist=285.75; ACE_barrelLength=0.4572; }; class SMG_02_F : SMG_02_Base_F { - ACE_barrelTwist=0.254; + ACE_barrelTwist=254.0; ACE_barrelLength=0.19558; }; class arifle_TRG20_F : Tavor_base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.381; }; class arifle_TRG21_F : Tavor_base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.45974; }; class LMG_Zafir_F : Rifle_Long_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.45974; }; class arifle_Mk20_F : Mk20_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.44196; }; class arifle_Mk20C_F : Mk20_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.4064; }; class arifle_Mk20_GL_F : Mk20_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.4064; }; class SMG_01_F : SMG_01_Base { - ACE_barrelTwist=0.4064; + ACE_barrelTwist=406.4; ACE_barrelLength=0.1397; }; class srifle_DMR_01_F : DMR_01_base_F { - ACE_barrelTwist=0.2413; + ACE_barrelTwist=241.3; ACE_barrelLength=0.6096; }; class srifle_EBR_F : EBR_base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.6096; }; class LMG_Mk200_F : Rifle_Long_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.3175; }; class srifle_LRR_F : LRR_base_F { - ACE_barrelTwist=0.3302; + ACE_barrelTwist=330.2; ACE_barrelLength=0.7366; }; class srifle_GM6_F : GM6_base_F { - ACE_barrelTwist=0.381; + ACE_barrelTwist=381.0; ACE_barrelLength=1.09982; }; class srifle_DMR_02_F: DMR_02_base_F { - ACE_barrelTwist=0.254; + ACE_barrelTwist=254.0; ACE_barrelLength=0.6604; }; class srifle_DMR_03_F: DMR_03_base_F { - ACE_barrelTwist=0.254; + ACE_barrelTwist=254.0; ACE_barrelLength=0.508; }; class srifle_DMR_04_F: DMR_04_base_F { - ACE_barrelTwist=0.2032; + ACE_barrelTwist=203.2; ACE_barrelLength=0.450088; }; class srifle_DMR_05_blk_F: DMR_05_base_F { - ACE_barrelTwist=0.359918; + ACE_barrelTwist=359.918; ACE_barrelLength=0.620014; }; class srifle_DMR_06_camo_F: DMR_06_base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.5588; }; class MMG_01_hex_F: MMG_01_base_F { - ACE_barrelTwist=0.359918; + ACE_barrelTwist=359.918; ACE_barrelLength=0.54991; }; class MMG_02_camo_F: MMG_02_base_F { - ACE_barrelTwist=0.23495; + ACE_barrelTwist=234.95; ACE_barrelLength=0.6096; }; class HMG_M2 : HMG_127 { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=1.143; }; class RH_deagle : Pistol_Base_F { - ACE_barrelTwist=0.4826; + ACE_barrelTwist=482.6; ACE_barrelLength=0.1524; }; class RH_sw659 : Pistol_Base_F { - ACE_barrelTwist=0.24892; + ACE_barrelTwist=248.92; ACE_barrelLength=0.188976; }; class RH_usp : Pistol_Base_F { - ACE_barrelTwist=0.4064; + ACE_barrelTwist=406.4; ACE_barrelLength=0.112014; }; class RH_uspm : Pistol_Base_F { - ACE_barrelTwist=0.4064; + ACE_barrelTwist=406.4; ACE_barrelLength=0.1524; }; class RH_mak : Pistol_Base_F { - ACE_barrelTwist=0.24003; + ACE_barrelTwist=240.03; ACE_barrelLength=0.093472; }; class RH_m1911 : Pistol_Base_F { - ACE_barrelTwist=0.4064; + ACE_barrelTwist=406.4; ACE_barrelLength=0.127; }; class RH_kimber : Pistol_Base_F { - ACE_barrelTwist=0.4064; + ACE_barrelTwist=406.4; ACE_barrelLength=0.127; }; class RH_m9 : Pistol_Base_F { - ACE_barrelTwist=0.24892; + ACE_barrelTwist=248.92; ACE_barrelLength=0.12446; }; class RH_vz61 : Pistol_Base_F { - ACE_barrelTwist=0.4064; + ACE_barrelTwist=406.4; ACE_barrelLength=0.1143; }; class RH_tec9 : Pistol_Base_F { - ACE_barrelTwist=0.24892; + ACE_barrelTwist=248.92; ACE_barrelLength=0.127; }; class RH_muzi : Pistol_Base_F { - ACE_barrelTwist=0.24892; + ACE_barrelTwist=248.92; ACE_barrelLength=0.127; }; class RH_g18 : Pistol_Base_F { - ACE_barrelTwist=0.24892; + ACE_barrelTwist=248.92; ACE_barrelLength=0.114046; }; class RH_g17 : Pistol_Base_F { - ACE_barrelTwist=0.24892; + ACE_barrelTwist=248.92; ACE_barrelLength=0.114046; }; class RH_tt33 : Pistol_Base_F { - ACE_barrelTwist=0.24003; + ACE_barrelTwist=240.03; ACE_barrelLength=0.11684; }; class RH_mk2 : Pistol_Base_F { - ACE_barrelTwist=0.4064; + ACE_barrelTwist=406.4; ACE_barrelLength=0.1016; }; class RH_p226 : Pistol_Base_F { - ACE_barrelTwist=0.24892; + ACE_barrelTwist=248.92; ACE_barrelLength=0.11176; }; class RH_g19 : Pistol_Base_F { - ACE_barrelTwist=0.24892; + ACE_barrelTwist=248.92; ACE_barrelLength=0.1016; }; class RH_gsh18 : Pistol_Base_F { - ACE_barrelTwist=0.24892; + ACE_barrelTwist=248.92; ACE_barrelLength=0.10414; }; class RH_mateba : Pistol_Base_F { - ACE_barrelTwist=0.3556; + ACE_barrelTwist=355.6; ACE_barrelLength=0.1524; }; class RH_python : Pistol_Base_F { - ACE_barrelTwist=0.3556; + ACE_barrelTwist=355.6; ACE_barrelLength=0.1524; }; class RH_bull : Pistol_Base_F { - ACE_barrelTwist=0.6096; + ACE_barrelTwist=609.6; ACE_barrelLength=0.1651; }; class RH_ttracker : Pistol_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.1016; }; class RH_mp412 : Pistol_Base_F { - ACE_barrelTwist=0.254; + ACE_barrelTwist=254.0; ACE_barrelLength=0.1524; }; class RH_fnp45 : Pistol_Base_F { - ACE_barrelTwist=0.4064; + ACE_barrelTwist=406.4; ACE_barrelLength=0.1143; }; class RH_fn57 : Pistol_Base_F { - ACE_barrelTwist=0.23114; + ACE_barrelTwist=231.14; ACE_barrelLength=0.12192; }; class RH_vp70 : Pistol_Base_F { - ACE_barrelTwist=0.24892; + ACE_barrelTwist=248.92; ACE_barrelLength=0.11684; }; class RH_cz75 : Pistol_Base_F { - ACE_barrelTwist=0.24638; + ACE_barrelTwist=246.38; ACE_barrelLength=0.11938; }; class RH_PDW : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.254; }; class RH_hb : Rifle_Base_F { - ACE_barrelTwist=0.2032; + ACE_barrelTwist=203.2; ACE_barrelLength=0.1524; }; class RH_sbr9 : Rifle_Base_F { - ACE_barrelTwist=0.24638; + ACE_barrelTwist=246.38; ACE_barrelLength=0.2286; }; class RH_ar10 : Rifle_Base_F { - ACE_barrelTwist=0.28575; + ACE_barrelTwist=285.75; ACE_barrelLength=0.52832; }; class RH_m4 : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.3683; }; class RH_M4m : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.2667; }; class RH_M4sbr : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.2667; }; class RH_M16a1 : Rifle_Base_F { - ACE_barrelTwist=0.3556; + ACE_barrelTwist=355.6; ACE_barrelLength=0.508; }; class RH_M16A2 : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.508; }; class RH_M16A3 : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.508; }; class RH_M16A4 : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.508; }; class RH_M16A6 : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.508; }; class RH_hk416 : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.3683; }; class RH_hk416c : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.2286; }; class RH_hk416s : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.26416; }; class RH_m27iar : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.4191; }; class RH_Mk12mod1 : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.4572; }; class RH_SAMR : Rifle_Base_F { - ACE_barrelTwist=0.19558; + ACE_barrelTwist=195.58; ACE_barrelLength=0.508; }; class RH_m110 : Rifle_Base_F { - ACE_barrelTwist=0.254; + ACE_barrelTwist=254.0; ACE_barrelLength=0.508; }; class RH_mk11 : Rifle_Base_F { - ACE_barrelTwist=0.28575; + ACE_barrelTwist=285.75; ACE_barrelLength=0.6096; }; class RH_sr25ec : Rifle_Base_F { - ACE_barrelTwist=0.28575; + ACE_barrelTwist=285.75; ACE_barrelLength=0.508; }; class hlc_rifle_ak74 : Rifle_Base_F { - ACE_barrelTwist=0.199898; + ACE_barrelTwist=199.898; ACE_barrelLength=0.41402; }; class hlc_rifle_aks74u : Rifle_Base_F { - ACE_barrelTwist=0.16002; + ACE_barrelTwist=160.02; ACE_barrelLength=0.21082; }; class hlc_rifle_ak47 : Rifle_Base_F { - ACE_barrelTwist=0.24003; + ACE_barrelTwist=240.03; ACE_barrelLength=0.41402; }; class hlc_rifle_akm : Rifle_Base_F { - ACE_barrelTwist=0.199898; + ACE_barrelTwist=199.898; ACE_barrelLength=0.41402; }; class hlc_rifle_rpk : Rifle_Base_F { - ACE_barrelTwist=0.24003; + ACE_barrelTwist=240.03; ACE_barrelLength=0.58928; }; class hlc_rifle_aek971 : Rifle_Base_F { - ACE_barrelTwist=0.2413; + ACE_barrelTwist=241.3; ACE_barrelLength=0.4318; }; class hlc_rifle_saiga12k : Rifle_Base_F @@ -487,274 +487,274 @@ class CfgWeapons }; class hlc_ar15_base : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.2921; }; class hlc_rifle_bcmjack : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.3683; }; class hlc_rifle_Bushmaster300 : Rifle_Base_F { - ACE_barrelTwist=0.2032; + ACE_barrelTwist=203.2; ACE_barrelLength=0.4064; }; class hlc_rifle_SAMR : Rifle_Base_F { - ACE_barrelTwist=0.2286; + ACE_barrelTwist=228.6; ACE_barrelLength=0.4064; }; class hlc_rifle_honeybase : Rifle_Base_F { - ACE_barrelTwist=0.2032; + ACE_barrelTwist=203.2; ACE_barrelLength=0.1524; }; class hlc_rifle_SLRchopmod : Rifle_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.5334; }; class hlc_rifle_LAR : Rifle_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.5334; }; class hlc_rifle_c1A1 : Rifle_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.55118; }; class hlc_rifle_FAL5061 : Rifle_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.4572; }; class hlc_rifle_STG58F : Rifle_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.5334; }; class hlc_rifle_SLR : Rifle_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.55118; }; class hlc_rifle_falosw : Rifle_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.3302; }; class hlc_rifle_psg1 : Rifle_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.65024; }; class hlc_rifle_g3sg1 : Rifle_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.44958; }; class hlc_rifle_hk51 : Rifle_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.211074; }; class hlc_rifle_hk53 : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.211074; }; class hlc_rifle_g3a3 : Rifle_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.44958; }; class hlc_M14_base : Rifle_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.5588; }; class hlc_rifle_m14sopmod : Rifle_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.4572; }; class hlc_lmg_M60E4 : Rifle_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.4318; }; class hlc_lmg_m60 : Rifle_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.5588; }; class hlc_smg_mp5k_PDW : Rifle_Base_F { - ACE_barrelTwist=0.254; + ACE_barrelTwist=254.0; ACE_barrelLength=0.1143; }; class hlc_smg_mp5a2 : Rifle_Base_F { - ACE_barrelTwist=0.254; + ACE_barrelTwist=254.0; ACE_barrelLength=0.22606; }; class hlc_smg_mp5a4 : Rifle_Base_F { - ACE_barrelTwist=0.254; + ACE_barrelTwist=254.0; ACE_barrelLength=0.22606; }; class hlc_smg_mp5n : Rifle_Base_F { - ACE_barrelTwist=0.254; + ACE_barrelTwist=254.0; ACE_barrelLength=0.22606; }; class hlc_smg_mp5sd5 : Rifle_Base_F { - ACE_barrelTwist=0.254; + ACE_barrelTwist=254.0; ACE_barrelLength=0.14478; }; class hlc_smg_mp5sd6 : Rifle_Base_F { - ACE_barrelTwist=0.254; + ACE_barrelTwist=254.0; ACE_barrelLength=0.14478; }; class hlc_smg_9mmar : Rifle_Base_F { - ACE_barrelTwist=0.254; + ACE_barrelTwist=254.0; ACE_barrelLength=0.22606; }; class hlc_smg_mp510 : Rifle_Base_F { - ACE_barrelTwist=0.381; + ACE_barrelTwist=381.0; ACE_barrelLength=0.22606; }; class hlc_smg_mp5a3 : Rifle_Base_F { - ACE_barrelTwist=0.254; + ACE_barrelTwist=254.0; ACE_barrelLength=0.22606; }; class hgun_mas_usp_F: Pistol_Base_F { - ACE_barrelTwist=0.4064; + ACE_barrelTwist=406.4; ACE_barrelLength=0.112014; }; class hgun_mas_m23_F: Pistol_Base_F { - ACE_barrelTwist=0.4064; + ACE_barrelTwist=406.4; ACE_barrelLength=0.149098; }; class hgun_mas_acp_F: Pistol_Base_F { - ACE_barrelTwist=0.4064; + ACE_barrelTwist=406.4; ACE_barrelLength=0.127762; }; class hgun_mas_m9_F: Pistol_Base_F { - ACE_barrelTwist=0.254; + ACE_barrelTwist=254.0; ACE_barrelLength=0.12446; }; class hgun_mas_bhp_F: Pistol_Base_F { - ACE_barrelTwist=0.254; + ACE_barrelTwist=254.0; ACE_barrelLength=0.11938; }; class hgun_mas_glock_F: Pistol_Base_F { - ACE_barrelTwist=0.249936; + ACE_barrelTwist=249.936; ACE_barrelLength=0.113792; }; class hgun_mas_glocksf_F: Pistol_Base_F { - ACE_barrelTwist=0.40005; + ACE_barrelTwist=400.05; ACE_barrelLength=0.11684; }; class hgun_mas_grach_F: Pistol_Base_F { - ACE_barrelTwist=0.254; + ACE_barrelTwist=254.0; ACE_barrelLength=0.11176; }; class hgun_mas_mak_F: Pistol_Base_F { - ACE_barrelTwist=0.24003; + ACE_barrelTwist=240.03; ACE_barrelLength=0.093472; }; class hgun_mas_sa61_F: Pistol_Base_F { - ACE_barrelTwist=0.4064; + ACE_barrelTwist=406.4; ACE_barrelLength=0.1143; }; class hgun_mas_uzi_F: Pistol_Base_F { - ACE_barrelTwist=0.254; + ACE_barrelTwist=254.0; ACE_barrelLength=0.134112; }; class arifle_mas_mk16 : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.35052; }; class arifle_mas_mk16_l : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.4572; }; class arifle_mas_mk17 : Rifle_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.4064; }; class srifle_mas_m110 : Rifle_Base_F { - ACE_barrelTwist=0.254; + ACE_barrelTwist=254.0; ACE_barrelLength=0.508; }; class arifle_mas_ak_74m : Rifle_Base_F { - ACE_barrelTwist=0.199898; + ACE_barrelTwist=199.898; ACE_barrelLength=0.415036; }; class arifle_mas_ak_74m_gl : Rifle_Base_F { - ACE_barrelTwist=0.199898; + ACE_barrelTwist=199.898; ACE_barrelLength=0.415036; }; class srifle_mas_svd : Rifle_Base_F { - ACE_barrelTwist=0.23876; + ACE_barrelTwist=238.76; ACE_barrelLength=0.61976; }; class srifle_mas_m91 : Rifle_Base_F { - ACE_barrelTwist=0.254; + ACE_barrelTwist=254.0; ACE_barrelLength=0.7366; }; class srifle_mas_ksvk : Rifle_Base_F { - ACE_barrelTwist=0.4572; + ACE_barrelTwist=457.2; ACE_barrelLength=0.999998; }; class LMG_mas_rpk_F : Rifle_Base_F { - ACE_barrelTwist=0.195072; + ACE_barrelTwist=195.072; ACE_barrelLength=0.58928; }; class LMG_mas_pkm_F : Rifle_Base_F { - ACE_barrelTwist=0.24003; + ACE_barrelTwist=240.03; ACE_barrelLength=0.64516; }; class arifle_mas_aks74u : Rifle_Base_F { - ACE_barrelTwist=0.16002; + ACE_barrelTwist=160.02; ACE_barrelLength=0.21082; }; class arifle_mas_bizon : Rifle_Base_F { - ACE_barrelTwist=0.24003; + ACE_barrelTwist=240.03; ACE_barrelLength=0.23114; }; class arifle_mas_saiga : Rifle_Base_F @@ -765,142 +765,142 @@ class CfgWeapons }; class arifle_mas_hk416 : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.3683; }; class arifle_mas_hk416_gl : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.3683; }; class arifle_mas_hk416c : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.2286; }; class arifle_mas_hk416_m203c : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.2286; }; class arifle_mas_hk417c : Rifle_Base_F { - ACE_barrelTwist=0.2794; + ACE_barrelTwist=279.4; ACE_barrelLength=0.3302; }; class arifle_mas_m4 : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.3683; }; class arifle_mas_m4c : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.26162; }; class arifle_mas_l119 : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.4064; }; class arifle_mas_l119_gl : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.4064; }; class arifle_mas_l119_m203 : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.4064; }; class arifle_mas_m16 : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.508; }; class arifle_mas_m16_gl : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.508; }; class srifle_mas_hk417 : Rifle_Base_F { - ACE_barrelTwist=0.2794; + ACE_barrelTwist=279.4; ACE_barrelLength=0.4191; }; class srifle_mas_sr25 : Rifle_Base_F { - ACE_barrelTwist=0.28575; + ACE_barrelTwist=285.75; ACE_barrelLength=0.6096; }; class srifle_mas_ebr : Rifle_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.4572; }; class srifle_mas_m24 : Rifle_Base_F { - ACE_barrelTwist=0.28575; + ACE_barrelTwist=285.75; ACE_barrelLength=0.6096; }; class arifle_mas_mp5 : Rifle_Base_F { - ACE_barrelTwist=0.254; + ACE_barrelTwist=254.0; ACE_barrelLength=0.22606; }; class arifle_mas_mp5sd : Rifle_Base_F { - ACE_barrelTwist=0.254; + ACE_barrelTwist=254.0; ACE_barrelLength=0.14478; }; class srifle_mas_m107 : Rifle_Base_F { - ACE_barrelTwist=0.381; + ACE_barrelTwist=381.0; ACE_barrelLength=0.7366; }; class LMG_mas_M249_F : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.41402; }; class LMG_mas_M249a_F : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.4572; }; class LMG_mas_mk48_F : Rifle_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.50165; }; class LMG_mas_m240_F : Rifle_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.62992; }; class LMG_mas_mg3_F : Rifle_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.56388; }; class arifle_mas_g3 : Rifle_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.44958; }; class arifle_mas_g3_m203 : Rifle_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.44958; }; class arifle_mas_fal : Rifle_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.5334; }; class arifle_mas_fal_m203 : Rifle_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.5334; }; class arifle_mas_m1014 : Rifle_Base_F @@ -912,275 +912,275 @@ class CfgWeapons class BWA3_P8 : Pistol_Base_F { - ACE_barrelTwist=0.24892; + ACE_barrelTwist=248.92; ACE_barrelLength=0.10795; }; class BWA3_MP7 : Pistol_Base_F { - ACE_barrelTwist=0.16002; + ACE_barrelTwist=160.02; ACE_barrelLength=0.18034; }; class BWA3_G36 : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.48006; }; class BWA3_G36K : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.3175; }; class BWA3_G28_Standard : Rifle_Long_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.4191; }; class BWA3_G27 : Rifle_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.4064; }; class BWA3_MG4 : Rifle_Long_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.48006; }; class BWA3_MG5 : Rifle_Long_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.54864; }; class BWA3_G82 : Rifle_Long_Base_F { - ACE_barrelTwist=0.381; + ACE_barrelTwist=381.0; ACE_barrelLength=0.7366; }; class Trixie_L131A1 : Pistol_Base_F { - ACE_barrelTwist=0.24892; + ACE_barrelTwist=248.92; ACE_barrelLength=0.1143; }; class Trixie_XM8_Carbine : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.3175; }; class Trixie_XM8_Compact : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.2286; }; class Trixie_XM8_SAW : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.508; }; class Trixie_XM8_SAW_NB : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.508; }; class Trixie_XM8_DMR : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.508; }; class Trixie_XM8_DMR_NB : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.508; }; class L129A1_base : Rifle_Base_F { - ACE_barrelTwist=0.254; + ACE_barrelTwist=254.0; ACE_barrelLength=0.4064; }; class Trixie_Enfield : Rifle_Base_F { - ACE_barrelTwist=0.254; + ACE_barrelTwist=254.0; ACE_barrelLength=0.64008; }; class Trixie_CZ550_Rail : Rifle_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.599999; }; class Trixie_FNFAL_Rail : Rifle_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.5334; }; class Trixie_M110 : Rifle_Base_F { - ACE_barrelTwist=0.2794; + ACE_barrelTwist=279.4; ACE_barrelLength=0.508; }; class Trixie_MK12 : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.4572; }; class Trixie_LM308MWS : Rifle_Base_F { - ACE_barrelTwist=0.28575; + ACE_barrelTwist=285.75; ACE_barrelLength=0.4064; }; class Trixie_M14DMR : Rifle_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.5588; }; class Trixie_M14DMR_NG_Black_Short : Rifle_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.4572; }; class Trixie_M14DMR_NG_Short : Rifle_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.4572; }; class Trixie_M14 : Rifle_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.5588; }; class Trixie_M40A3 : Rifle_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.6096; }; class Trixie_CZ750 : Rifle_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.6604; }; class Trixie_M24 : Rifle_Base_F { - ACE_barrelTwist=0.28575; + ACE_barrelTwist=285.75; ACE_barrelLength=0.6096; }; class Trixie_AWM338 : Rifle_Base_F { - ACE_barrelTwist=0.2794; + ACE_barrelTwist=279.4; ACE_barrelLength=0.6858; }; class Trixie_M107 : Rifle_Base_F { - ACE_barrelTwist=0.381; + ACE_barrelTwist=381.0; ACE_barrelLength=0.7366; }; class Trixie_AS50 : Rifle_Base_F { - ACE_barrelTwist=0.381; + ACE_barrelTwist=381.0; ACE_barrelLength=0.7366; }; class L110A1_base : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.34798; }; class Trixie_L86A2_base : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.64516; }; class Trixie_l85a2_base : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.51816; }; class L7A2_base : Rifle_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.62992; }; class rhs_weap_pya : Pistol_Base_F { - ACE_barrelTwist=0.254; + ACE_barrelTwist=254.0; ACE_barrelLength=0.11176; }; class rhs_weap_pkp : Rifle_Long_Base_F { - ACE_barrelTwist=0.24003; + ACE_barrelTwist=240.03; ACE_barrelLength=0.65786; }; class rhs_weap_pkm : Rifle_Long_Base_F { - ACE_barrelTwist=0.24003; + ACE_barrelTwist=240.03; ACE_barrelLength=0.64516; }; class rhs_weap_rpk74m : Rifle_Long_Base_F { - ACE_barrelTwist=0.195072; + ACE_barrelTwist=195.072; ACE_barrelLength=0.58928; }; class rhs_weap_rpk74 : Rifle_Long_Base_F { - ACE_barrelTwist=0.195072; + ACE_barrelTwist=195.072; ACE_barrelLength=0.58928; }; class rhs_weap_ak74m : Rifle_Base_F { - ACE_barrelTwist=0.199898; + ACE_barrelTwist=199.898; ACE_barrelLength=0.41402; }; class rhs_weap_aks74u : Rifle_Base_F { - ACE_barrelTwist=0.16002; + ACE_barrelTwist=160.02; ACE_barrelLength=0.21082; }; class rhs_weap_akm : Rifle_Base_F { - ACE_barrelTwist=0.199898; + ACE_barrelTwist=199.898; ACE_barrelLength=0.41402; }; class rhs_weap_svd : Rifle_Base_F { - ACE_barrelTwist=0.23876; + ACE_barrelTwist=238.76; ACE_barrelLength=0.61976; }; class rhs_weap_svds : Rifle_Base_F { - ACE_barrelTwist=0.23876; + ACE_barrelTwist=238.76; ACE_barrelLength=0.56388; }; class rhs_weap_m4_Base : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.3683; }; class rhs_weap_m16a4 : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.508; }; class rhs_weap_m16a4_carryhandle : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.508; }; class rhs_weap_m16a4_grip : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.508; }; class rhs_weap_m240B : Rifle_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.62992; }; class rhs_weap_m249_pip : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.41402; }; class rhs_weap_mk18 : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.26162; }; class rhs_weap_M590_5RD : Rifle_Base_F @@ -1197,89 +1197,89 @@ class CfgWeapons }; class rhs_weap_sr25 : Rifle_Base_F { - ACE_barrelTwist=0.28575; + ACE_barrelTwist=285.75; ACE_barrelLength=0.6096; }; class rhs_weap_sr25_ec : Rifle_Base_F { - ACE_barrelTwist=0.28575; + ACE_barrelTwist=285.75; ACE_barrelLength=0.508; }; class rhs_weap_XM2010_Base_F: Rifle_Base_F { - ACE_barrelTwist=0.254; + ACE_barrelTwist=254.0; ACE_barrelLength=0.6096; }; class R3F_PAMAS : Pistol_Base_F { - ACE_barrelTwist=0.24892; + ACE_barrelTwist=248.92; ACE_barrelLength=0.12446; }; class R3F_Famas_F1: Rifle_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.48768; }; class R3F_Famas_surb: Rifle_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.40386; }; class R3F_Minimi: Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.34798; }; class R3F_Minimi_762: Rifle_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.50292; }; class R3F_FRF2: Rifle_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.649986; }; class R3F_PGM_Hecate_II: Rifle_Base_F { - ACE_barrelTwist=0.381; + ACE_barrelTwist=381.0; ACE_barrelLength=0.70104; }; class R3F_HK417S_HG : Rifle_Base_F { - ACE_barrelTwist=0.2794; + ACE_barrelTwist=279.4; ACE_barrelLength=0.3048; }; class R3F_HK417M : Rifle_Base_F { - ACE_barrelTwist=0.2794; + ACE_barrelTwist=279.4; ACE_barrelLength=0.4064; }; class R3F_HK417L : Rifle_Base_F { - ACE_barrelTwist=0.2794; + ACE_barrelTwist=279.4; ACE_barrelLength=0.508; }; class R3F_M107 : Rifle_Base_F { - ACE_barrelTwist=0.381; + ACE_barrelTwist=381.0; ACE_barrelLength=0.7366; }; class R3F_HK416M : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.3556; }; class R3F_MP5SD : Rifle_Base_F { - ACE_barrelTwist=0.254; + ACE_barrelTwist=254.0; ACE_barrelLength=0.14478; }; class CUP_hgun_Colt1911 : Pistol_Base_F { - ACE_barrelTwist=0.4064; + ACE_barrelTwist=406.4; ACE_barrelLength=0.127; }; class CUP_sgun_AA12 : Rifle_Base_F @@ -1290,197 +1290,197 @@ class CfgWeapons }; class CUP_arifle_AK_Base : Rifle_Base_F { - ACE_barrelTwist=0.24003; + ACE_barrelTwist=240.03; ACE_barrelLength=0.41402; }; class CUP_arifle_AK107_Base : Rifle_Base_F { - ACE_barrelTwist=0.199898; + ACE_barrelTwist=199.898; ACE_barrelLength=0.41402; }; class CUP_arifle_AKS_Base : Rifle_Base_F { - ACE_barrelTwist=0.199898; + ACE_barrelTwist=199.898; ACE_barrelLength=0.41402; }; class CUP_arifle_AKS74U : Rifle_Base_F { - ACE_barrelTwist=0.16002; + ACE_barrelTwist=160.02; ACE_barrelLength=0.21082; }; class CUP_arifle_RPK74 : Rifle_Long_Base_F { - ACE_barrelTwist=0.195072; + ACE_barrelTwist=195.072; ACE_barrelLength=0.58928; }; class CUP_srifle_AS50 : Rifle_Long_Base_F { - ACE_barrelTwist=0.381; + ACE_barrelTwist=381.0; ACE_barrelLength=0.7366; }; class CUP_srifle_AWM_Base : Rifle_Long_Base_F { - ACE_barrelTwist=0.2794; + ACE_barrelTwist=279.4; ACE_barrelLength=0.6858; }; class CUP_smg_bizon : Rifle_Base_F { - ACE_barrelTwist=0.24003; + ACE_barrelTwist=240.03; ACE_barrelLength=0.23114; }; class CUP_hgun_Compact : Pistol_Base_F { - ACE_barrelTwist=0.24892; + ACE_barrelTwist=248.92; ACE_barrelLength=0.094996; }; class CUP_srifle_CZ750 : Rifle_Long_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.6604; }; class CUP_arifle_CZ805_Base : Rifle_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.3556; }; class CUP_arifle_CZ805_A1 : Rifle_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.3556; }; class CUP_arifle_CZ805_A2 : Rifle_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.27686; }; class CUP_srifle_DMR : Rifle_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.5588; }; class CUP_hgun_Duty : Pistol_Base_F { - ACE_barrelTwist=0.24892; + ACE_barrelTwist=248.92; ACE_barrelLength=0.094996; }; class CUP_arifle_FNFAL : Rifle_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.5334; }; class CUP_arifle_G36A : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.48006; }; class CUP_arifle_G36K : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.3175; }; class CUP_arifle_G36C : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.2286; }; class CUP_arifle_MG36 : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.48006; }; class CUP_hgun_Glock17 : Pistol_Base_F { - ACE_barrelTwist=0.24892; + ACE_barrelTwist=248.92; ACE_barrelLength=0.114046; }; class CUP_srifle_CZ550 : Rifle_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.599999; }; class CUP_srifle_ksvk : Rifle_Long_Base_F { - ACE_barrelTwist=0.4572; + ACE_barrelTwist=457.2; ACE_barrelLength=0.999998; }; class CUP_lmg_L7A2 : Rifle_Long_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.62992; }; class CUP_arifle_L85A2_Base : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.51816; }; class CUP_lmg_L110A1 : Rifle_Long_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.34798; }; class CUP_srifle_LeeEnfield : Rifle_Base_F { - ACE_barrelTwist=0.254; + ACE_barrelTwist=254.0; ACE_barrelLength=0.64008; }; class CUP_hgun_M9 : Pistol_Base_F { - ACE_barrelTwist=0.24892; + ACE_barrelTwist=248.92; ACE_barrelLength=0.12446; }; class CUP_srifle_M14 : Rifle_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.5588; }; class CUP_arifle_M16_Base : Rifle_Base_F { - ACE_barrelTwist=0.3556; + ACE_barrelTwist=355.6; ACE_barrelLength=0.508; }; class CUP_arifle_M4_Base : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.3683; }; class CUP_srifle_Mk12SPR : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.4572; }; class CUP_srifle_M24_des : Rifle_Base_F { - ACE_barrelTwist=0.28575; + ACE_barrelTwist=285.75; ACE_barrelLength=0.6096; }; class CUP_lmg_M60A4 : Rifle_Long_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.4318; }; class CUP_srifle_M107_Base : Rifle_Long_Base_F { - ACE_barrelTwist=0.381; + ACE_barrelTwist=381.0; ACE_barrelLength=0.7366; }; class CUP_srifle_M110 : Rifle_Base_F { - ACE_barrelTwist=0.2794; + ACE_barrelTwist=279.4; ACE_barrelLength=0.508; }; class CUP_lmg_M240 : Rifle_Long_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.62992; }; class CUP_lmg_M249_para : Rifle_Long_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.41402; }; class CUP_lmg_M249 : Rifle_Long_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.4572; }; class CUP_sgun_M1014 : Rifle_Base_F @@ -1491,67 +1491,67 @@ class CfgWeapons }; class CUP_hgun_Makarov : Pistol_Base_F { - ACE_barrelTwist=0.24003; + ACE_barrelTwist=240.03; ACE_barrelLength=0.093472; }; class CUP_hgun_MicroUzi : Pistol_Base_F { - ACE_barrelTwist=0.24892; + ACE_barrelTwist=248.92; ACE_barrelLength=0.127; }; class CUP_lmg_Mk48_Base : Rifle_Long_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.50165; }; class CUP_smg_MP5SD6 : Rifle_Base_F { - ACE_barrelTwist=0.254; + ACE_barrelTwist=254.0; ACE_barrelLength=0.14478; }; class CUP_smg_MP5A5 : Rifle_Base_F { - ACE_barrelTwist=0.254; + ACE_barrelTwist=254.0; ACE_barrelLength=0.22606; }; class CUP_hgun_PB6P9 : Rifle_Base_F { - ACE_barrelTwist=0.24003; + ACE_barrelTwist=240.03; ACE_barrelLength=0.10414; }; class CUP_hgun_Phantom : Rifle_Base_F { - ACE_barrelTwist=0.24638; + ACE_barrelTwist=246.38; ACE_barrelLength=0.11938; }; class CUP_lmg_PKM : Rifle_Long_Base_F { - ACE_barrelTwist=0.24003; + ACE_barrelTwist=240.03; ACE_barrelLength=0.64516; }; class CUP_lmg_Pecheneg : Rifle_Long_Base_F { - ACE_barrelTwist=0.24003; + ACE_barrelTwist=240.03; ACE_barrelLength=0.65786; }; class CUP_hgun_TaurusTracker455 : Pistol_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.1016; }; class CUP_arifle_Sa58P : Rifle_Base_F { - ACE_barrelTwist=0.24003; + ACE_barrelTwist=240.03; ACE_barrelLength=0.39116; }; class CUP_arifle_Sa58V : Rifle_Base_F { - ACE_barrelTwist=0.24003; + ACE_barrelTwist=240.03; ACE_barrelLength=0.39116; }; class CUP_hgun_SA61 : Pistol_Base_F { - ACE_barrelTwist=0.4064; + ACE_barrelTwist=406.4; ACE_barrelLength=0.1143; }; class CUP_sgun_Saiga12K: Rifle_Base_F @@ -1562,328 +1562,328 @@ class CfgWeapons } class CUP_arifle_Mk16_CQC : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.254; }; class CUP_arifle_Mk16_STD : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.3556; }; class CUP_arifle_Mk16_SV : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.4572; }; class CUP_arifle_Mk17_CQC : Rifle_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.3302; }; class CUP_arifle_Mk17_STD : Rifle_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.4064; }; class CUP_arifle_Mk20 : Rifle_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.508; }; class CUP_srifle_SVD : Rifle_Base_F { - ACE_barrelTwist=0.23876; + ACE_barrelTwist=238.76; ACE_barrelLength=0.61976; }; class CUP_lmg_UK59 : Rifle_Long_Base_F { - ACE_barrelTwist=0.381; + ACE_barrelTwist=381.0; ACE_barrelLength=0.55118; }; class CUP_DSHKM_W : MGun { - ACE_barrelTwist=0.381; + ACE_barrelTwist=381.0; ACE_barrelLength=1.06934; }; class CUP_KPVT_W : MGun { - ACE_barrelTwist=0.454914; + ACE_barrelTwist=454.914; ACE_barrelLength=1.3462; }; class CUP_KPVB_W : MGun { - ACE_barrelTwist=0.454914; + ACE_barrelTwist=454.914; ACE_barrelLength=1.3462; }; class CUP_M134 : MGunCore { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.5588; }; class CUP_M240_veh_W : Rifle_Long_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.62992; }; class CUP_PKT_W : MGun { - ACE_barrelTwist=0.24003; + ACE_barrelTwist=240.03; ACE_barrelLength=0.722122; }; class CUP_srifle_VSSVintorez : Rifle_Base_F { - ACE_barrelTwist=0.21082; + ACE_barrelTwist=210.82; ACE_barrelLength=0.20066; }; class CUP_arifle_XM8_Base : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.3175; }; class CUP_arifle_XM8_Carbine : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.3175; }; class CUP_arifle_xm8_sharpshooter : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.508; }; class CUP_arifle_xm8_SAW : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.508; }; class CUP_arifle_XM8_Compact : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.2286; }; class CUP_arifle_XM8_Railed_Base : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.3175; }; class CUP_arifle_XM8_Carbine_FG : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.3175; }; class VTN_AK_BASE: Rifle_Base_F { - ACE_barrelTwist=0.199898; + ACE_barrelTwist=199.898; ACE_barrelLength=0.41402; }; class VTN_AK74M: Rifle_Base_F { - ACE_barrelTwist=0.199898; + ACE_barrelTwist=199.898; ACE_barrelLength=0.41402; }; class VTN_AK74M_GP25: Rifle_Base_F { - ACE_barrelTwist=0.199898; + ACE_barrelTwist=199.898; ACE_barrelLength=0.41402; }; class VTN_AK74M_GP30M: Rifle_Base_F { - ACE_barrelTwist=0.199898; + ACE_barrelTwist=199.898; ACE_barrelLength=0.41402; }; class VTN_AKS74: Rifle_Base_F { - ACE_barrelTwist=0.199898; + ACE_barrelTwist=199.898; ACE_barrelLength=0.41402; }; class VTN_AKS74N: Rifle_Base_F { - ACE_barrelTwist=0.199898; + ACE_barrelTwist=199.898; ACE_barrelLength=0.41402; }; class VTN_AKS74N_76: Rifle_Base_F { - ACE_barrelTwist=0.199898; + ACE_barrelTwist=199.898; ACE_barrelLength=0.41402; }; class VTN_AK74_76: Rifle_Base_F { - ACE_barrelTwist=0.199898; + ACE_barrelTwist=199.898; ACE_barrelLength=0.41402; }; class VTN_AKMS_aa: Rifle_Base_F { - ACE_barrelTwist=0.199898; + ACE_barrelTwist=199.898; ACE_barrelLength=0.26162; }; class VTN_AKS74U_BASE: Rifle_Base_F { - ACE_barrelTwist=0.16002; + ACE_barrelTwist=160.02; ACE_barrelLength=0.21082; }; class VTN_AKM_BASE: Rifle_Base_F { - ACE_barrelTwist=0.199898; + ACE_barrelTwist=199.898; ACE_barrelLength=0.41402; }; class VTN_AKMS: Rifle_Base_F { - ACE_barrelTwist=0.199898; + ACE_barrelTwist=199.898; ACE_barrelLength=0.41402; }; class VTN_AKMS_T_P: Rifle_Base_F { - ACE_barrelTwist=0.199898; + ACE_barrelTwist=199.898; ACE_barrelLength=0.41402; }; class VTN_AK103_BASE: Rifle_Base_F { - ACE_barrelTwist=0.24003; + ACE_barrelTwist=240.03; ACE_barrelLength=0.41402; }; class VTN_AK104_BASE: Rifle_Base_F { - ACE_barrelTwist=0.24003; + ACE_barrelTwist=240.03; ACE_barrelLength=0.31496; }; class VTN_AK105_BASE: Rifle_Base_F { - ACE_barrelTwist=0.254; + ACE_barrelTwist=254.0; ACE_barrelLength=0.31496; }; class VTN_AK105_P_BASE: Rifle_Base_F { - ACE_barrelTwist=0.254; + ACE_barrelTwist=254.0; ACE_barrelLength=0.31496; }; class VTN_SVD_BASE: Rifle_Base_F { - ACE_barrelTwist=0.23876; + ACE_barrelTwist=238.76; ACE_barrelLength=0.61976; }; class VTN_SVD_63: Rifle_Base_F { - ACE_barrelTwist=0.23876; + ACE_barrelTwist=238.76; ACE_barrelLength=0.61976; }; class VTN_SVD_86: Rifle_Base_F { - ACE_barrelTwist=0.23876; + ACE_barrelTwist=238.76; ACE_barrelLength=0.61976; }; class VTN_SV98_BASE: Rifle_Base_F { - ACE_barrelTwist=0.32004; + ACE_barrelTwist=320.04; ACE_barrelLength=0.649986; }; class VTN_PKM_BAS: Rifle_Base_F { - ACE_barrelTwist=0.24003; + ACE_barrelTwist=240.03; ACE_barrelLength=0.64516; }; class VTN_PKP: Rifle_Base_F { - ACE_barrelTwist=0.24003; + ACE_barrelTwist=240.03; ACE_barrelLength=0.65786; }; class VTN_PYA: Pistol_Base_F { - ACE_barrelTwist=0.254; + ACE_barrelTwist=254.0; ACE_barrelLength=0.11176; }; class VTN_PM: Pistol_Base_F { - ACE_barrelTwist=0.24003; + ACE_barrelTwist=240.03; ACE_barrelLength=0.093472; }; class VTN_PB: Pistol_Base_F { - ACE_barrelTwist=0.24003; + ACE_barrelTwist=240.03; ACE_barrelLength=0.10414; }; class VTN_GSH18: Pistol_Base_F { - ACE_barrelTwist=0.24892; + ACE_barrelTwist=248.92; ACE_barrelLength=0.10414; }; class VTN_PSS: Pistol_Base_F { - ACE_barrelTwist=0.4064; + ACE_barrelTwist=406.4; ACE_barrelLength=0.03556; }; class VTN_PKT: Rifle_Base_F { - ACE_barrelTwist=0.24003; + ACE_barrelTwist=240.03; ACE_barrelLength=0.722122; }; class VTN_KORD: Rifle_Base_F { - ACE_barrelTwist=0.454914; + ACE_barrelTwist=454.914; ACE_barrelLength=1.3462; }; class VTN_KPVT: Rifle_Base_F { - ACE_barrelTwist=0.454914; + ACE_barrelTwist=454.914; ACE_barrelLength=1.3462; }; class VTN_C_M4A1 : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.3683; }; class VTN_MK18MOD0: Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.26162; }; class VTN_M16_BASE: Rifle_Base_F { - ACE_barrelTwist=0.3556; + ACE_barrelTwist=355.6; ACE_barrelLength=0.508; }; class VTN_FN_SAMR_BASE: Rifle_Base_F { - ACE_barrelTwist=0.19558; + ACE_barrelTwist=195.58; ACE_barrelLength=0.508; }; class VTN_M249_SAW_BASE: Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.4572; }; class VTN_M249_PARA: Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.41402; }; class VTN_M240G_BASE: Rifle_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.62992; }; class VTN_M9: Pistol_Base_F { - ACE_barrelTwist=0.24892; + ACE_barrelTwist=248.92; ACE_barrelLength=0.12446; }; class VTN_M45A1: Pistol_Base_F { - ACE_barrelTwist=0.4064; + ACE_barrelTwist=406.4; ACE_barrelLength=0.127; }; class VTN_M24: Rifle_Base_F { - ACE_barrelTwist=0.28575; + ACE_barrelTwist=285.75; ACE_barrelLength=0.6096; }; class VTN_M240: Rifle_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.62992; }; class VTN_KO44: Rifle_Base_F { - ACE_barrelTwist=0.2413; + ACE_barrelTwist=241.3; ACE_barrelLength=0.51308; }; class VTN_SAIGA_MK03: Rifle_Base_F diff --git a/optionals/compat_hlc_ar15/CfgWeapons.hpp b/optionals/compat_hlc_ar15/CfgWeapons.hpp index 31caabbe78..4f3fb2328c 100644 --- a/optionals/compat_hlc_ar15/CfgWeapons.hpp +++ b/optionals/compat_hlc_ar15/CfgWeapons.hpp @@ -4,62 +4,62 @@ class CfgWeapons class Rifle_Base_F; class hlc_ar15_base: Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.2921; }; class hlc_rifle_RU556: hlc_ar15_base { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.26162; }; class hlc_rifle_RU5562: hlc_rifle_RU556 { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.26162; }; class hlc_rifle_CQBR: hlc_rifle_RU556 { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.254; }; class hlc_rifle_M4: hlc_rifle_RU556 { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.3683; }; class hlc_rifle_bcmjack: hlc_ar15_base { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.3683; }; class hlc_rifle_Colt727: hlc_ar15_base { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.3683; }; class hlc_rifle_Colt727_GL: hlc_rifle_Colt727 { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.3683; }; class hlc_rifle_Bushmaster300: hlc_rifle_Colt727 { - ACE_barrelTwist=0.2032; + ACE_barrelTwist=203.2; ACE_barrelLength=0.3683; }; class hlc_rifle_vendimus: hlc_rifle_Bushmaster300 { - ACE_barrelTwist=0.2032; + ACE_barrelTwist=203.2; ACE_barrelLength=0.4064; }; class hlc_rifle_SAMR: hlc_rifle_RU556 { - ACE_barrelTwist=0.2286; + ACE_barrelTwist=228.6; ACE_barrelLength=0.4064; }; class hlc_rifle_honeybase: hlc_rifle_RU556 { - ACE_barrelTwist=0.2032; + ACE_barrelTwist=203.2; ACE_barrelLength=0.1524; }; }; \ No newline at end of file diff --git a/optionals/compat_hlc_wp_mp5/CfgWeapons.hpp b/optionals/compat_hlc_wp_mp5/CfgWeapons.hpp index e100d90a78..1c67a19815 100644 --- a/optionals/compat_hlc_wp_mp5/CfgWeapons.hpp +++ b/optionals/compat_hlc_wp_mp5/CfgWeapons.hpp @@ -4,57 +4,57 @@ class CfgWeapons class Rifle_Base_F; class hlc_MP5_base: Rifle_Base_F { - ACE_barrelTwist=0.254; + ACE_barrelTwist=254.0; ACE_barrelLength=0.2286; }; class hlc_smg_mp5k_PDW: hlc_MP5_base { - ACE_barrelTwist=0.254; + ACE_barrelTwist=254.0; ACE_barrelLength=0.1143; }; class hlc_smg_mp5k: hlc_smg_mp5k_PDW { - ACE_barrelTwist=0.254; + ACE_barrelTwist=254.0; ACE_barrelLength=0.1143; }; class hlc_smg_mp5a2: hlc_MP5_base { - ACE_barrelTwist=0.254; + ACE_barrelTwist=254.0; ACE_barrelLength=0.2286; }; class hlc_smg_MP5N: hlc_MP5_base { - ACE_barrelTwist=0.254; + ACE_barrelTwist=254.0; ACE_barrelLength=0.2286; }; class hlc_smg_9mmar: hlc_smg_MP5N { - ACE_barrelTwist=0.254; + ACE_barrelTwist=254.0; ACE_barrelLength=0.2286; }; class hlc_smg_mp5a4: hlc_MP5_base { - ACE_barrelTwist=0.254; + ACE_barrelTwist=254.0; ACE_barrelLength=0.2286; }; class hlc_smg_mp510: hlc_smg_MP5N { - ACE_barrelTwist=0.381; + ACE_barrelTwist=381.0; ACE_barrelLength=0.2286; }; class hlc_smg_mp5sd5: hlc_MP5_base { - ACE_barrelTwist=0.254; + ACE_barrelTwist=254.0; ACE_barrelLength=0.2286; }; class hlc_smg_mp5a3: hlc_smg_mp5a2 { - ACE_barrelTwist=0.254; + ACE_barrelTwist=254.0; ACE_barrelLength=0.2286; }; class hlc_smg_mp5sd6: hlc_smg_mp5sd5 { - ACE_barrelTwist=0.254; + ACE_barrelTwist=254.0; ACE_barrelLength=0.2286; }; }; diff --git a/optionals/compat_hlcmods_ak/CfgWeapons.hpp b/optionals/compat_hlcmods_ak/CfgWeapons.hpp index 2655b1f182..a69f1b192e 100644 --- a/optionals/compat_hlcmods_ak/CfgWeapons.hpp +++ b/optionals/compat_hlcmods_ak/CfgWeapons.hpp @@ -6,12 +6,12 @@ class CfgWeapons class InventoryOpticsItem_Base_F; class hlc_rifle_ak74: hlc_ak_base { - ACE_barrelTwist=0.199898; + ACE_barrelTwist=199.898; ACE_barrelLength=0.41402; }; class hlc_rifle_aku12: hlc_rifle_ak12 { - ACE_barrelTwist=0.16002; + ACE_barrelTwist=160.02; ACE_barrelLength=0.21082; }; class hlc_rifle_RPK12: hlc_rifle_ak12 @@ -20,32 +20,32 @@ class CfgWeapons }; class hlc_rifle_aks74u: hlc_rifle_ak74 { - ACE_barrelTwist=0.16002; + ACE_barrelTwist=160.02; ACE_barrelLength=0.21082; }; class hlc_rifle_ak47: hlc_rifle_ak74 { - ACE_barrelTwist=0.24003; + ACE_barrelTwist=240.03; ACE_barrelLength=0.41402; }; class hlc_rifle_akm: hlc_rifle_ak47 { - ACE_barrelTwist=0.199898; + ACE_barrelTwist=199.898; ACE_barrelLength=0.41402; }; class hlc_rifle_rpk: hlc_rifle_ak47 { - ACE_barrelTwist=0.24003; + ACE_barrelTwist=240.03; ACE_barrelLength=0.58928; }; class hlc_rifle_rpk74n: hlc_rifle_rpk { - ACE_barrelTwist=0.24003; + ACE_barrelTwist=240.03; ACE_barrelLength=0.58928; }; class hlc_rifle_aek971: hlc_rifle_ak74 { - ACE_barrelTwist=0.2413; + ACE_barrelTwist=241.3; ACE_barrelLength=0.4318; }; class hlc_rifle_saiga12k: hlc_rifle_ak47 diff --git a/optionals/compat_hlcmods_aug/CfgWeapons.hpp b/optionals/compat_hlcmods_aug/CfgWeapons.hpp index ebb5d17675..9e34e45f2f 100644 --- a/optionals/compat_hlcmods_aug/CfgWeapons.hpp +++ b/optionals/compat_hlcmods_aug/CfgWeapons.hpp @@ -5,47 +5,47 @@ class CfgWeapons class hlc_aug_base; class hlc_rifle_aug: hlc_aug_base { - ACE_barrelTwist=0.2286; + ACE_barrelTwist=228.6; ACE_barrelLength=0.508; }; class hlc_rifle_auga1carb: hlc_rifle_aug { - ACE_barrelTwist=0.2286; + ACE_barrelTwist=228.6; ACE_barrelLength=0.4064; }; class hlc_rifle_aughbar: hlc_rifle_aug { - ACE_barrelTwist=0.2286; + ACE_barrelTwist=228.6; ACE_barrelLength=0.6096; }; class hlc_rifle_augpara: hlc_rifle_aug { - ACE_barrelTwist=0.2286; + ACE_barrelTwist=228.6; ACE_barrelLength=0.4191; }; class hlc_rifle_auga2: hlc_rifle_aug { - ACE_barrelTwist=0.2286; + ACE_barrelTwist=228.6; ACE_barrelLength=0.508; }; class hlc_rifle_auga2para: hlc_rifle_auga2 { - ACE_barrelTwist=0.2286; + ACE_barrelTwist=228.6; ACE_barrelLength=0.4191; }; class hlc_rifle_auga2carb: hlc_rifle_auga2 { - ACE_barrelTwist=0.2286; + ACE_barrelTwist=228.6; ACE_barrelLength=0.4572; }; class hlc_rifle_auga2lsw: hlc_rifle_aughbar { - ACE_barrelTwist=0.2286; + ACE_barrelTwist=228.6; ACE_barrelLength=0.6096; }; class hlc_rifle_auga3: hlc_rifle_aug { - ACE_barrelTwist=0.2286; + ACE_barrelTwist=228.6; ACE_barrelLength=0.4572; }; }; \ No newline at end of file diff --git a/optionals/compat_hlcmods_fal/CfgWeapons.hpp b/optionals/compat_hlcmods_fal/CfgWeapons.hpp index 6be462773b..5e4a18caf1 100644 --- a/optionals/compat_hlcmods_fal/CfgWeapons.hpp +++ b/optionals/compat_hlcmods_fal/CfgWeapons.hpp @@ -4,47 +4,47 @@ class CfgWeapons class hlc_fal_base; class hlc_rifle_falosw: hlc_fal_base { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.3302; }; class hlc_rifle_osw_GL: hlc_rifle_falosw { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.3302; }; class hlc_rifle_SLR: hlc_fal_base { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.55118; }; class hlc_rifle_STG58F: hlc_fal_base { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.5334; }; class hlc_rifle_FAL5061: hlc_fal_base { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.4572; }; class hlc_rifle_L1A1SLR: hlc_rifle_SLR { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.55118; }; class hlc_rifle_c1A1: hlc_rifle_SLR { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.55118; }; class hlc_rifle_LAR: hlc_rifle_FAL5061 { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.5334; }; class hlc_rifle_SLRchopmod: hlc_rifle_FAL5061 { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.4572; }; }; \ No newline at end of file diff --git a/optionals/compat_hlcmods_g3/CfgWeapons.hpp b/optionals/compat_hlcmods_g3/CfgWeapons.hpp index 9c5b5585ad..f6b7a9c133 100644 --- a/optionals/compat_hlcmods_g3/CfgWeapons.hpp +++ b/optionals/compat_hlcmods_g3/CfgWeapons.hpp @@ -4,42 +4,42 @@ class CfgWeapons class hlc_g3_base; class hlc_rifle_g3sg1: hlc_g3_base { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.44958; }; class hlc_rifle_psg1: hlc_rifle_g3sg1 { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.65024; }; class hlc_rifle_g3a3: hlc_rifle_g3sg1 { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.44958; }; class hlc_rifle_g3a3ris: hlc_rifle_g3a3 { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.44958; }; class hlc_rifle_g3ka4: hlc_rifle_g3a3 { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.31496; }; class HLC_Rifle_g3ka4_GL: hlc_rifle_g3ka4 { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.31496; }; class hlc_rifle_hk51: hlc_rifle_g3sg1 { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.211074; }; class hlc_rifle_hk53: hlc_rifle_g3sg1 { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.211074; }; }; \ No newline at end of file diff --git a/optionals/compat_hlcmods_m14/CfgWeapons.hpp b/optionals/compat_hlcmods_m14/CfgWeapons.hpp index 8082678f9f..e2f081c547 100644 --- a/optionals/compat_hlcmods_m14/CfgWeapons.hpp +++ b/optionals/compat_hlcmods_m14/CfgWeapons.hpp @@ -5,12 +5,12 @@ class CfgWeapons class hlc_rifle_M14; class hlc_M14_base: Rifle_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.5588; }; class hlc_rifle_m14sopmod: hlc_rifle_M14 { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.4572; }; }; diff --git a/optionals/compat_hlcmods_m60e4/CfgWeapons.hpp b/optionals/compat_hlcmods_m60e4/CfgWeapons.hpp index ea93b263c5..682e2cd5fa 100644 --- a/optionals/compat_hlcmods_m60e4/CfgWeapons.hpp +++ b/optionals/compat_hlcmods_m60e4/CfgWeapons.hpp @@ -4,12 +4,12 @@ class CfgWeapons class hlc_M60e4_base; class hlc_lmg_M60E4: hlc_M60e4_base { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.4318; }; class hlc_lmg_m60: hlc_M60e4_base { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.5588; }; }; diff --git a/optionals/compat_rh_de/CfgWeapons.hpp b/optionals/compat_rh_de/CfgWeapons.hpp index 17f3bd2191..bfb45732e5 100644 --- a/optionals/compat_rh_de/CfgWeapons.hpp +++ b/optionals/compat_rh_de/CfgWeapons.hpp @@ -4,137 +4,137 @@ class CfgWeapons class RH_Pistol_Base_F; class RH_deagle: RH_Pistol_Base_F { - ACE_barrelTwist=0.4826; + ACE_barrelTwist=482.6; ACE_barrelLength=0.1524; }; class RH_mateba: Pistol_Base_F { - ACE_barrelTwist=0.3556; + ACE_barrelTwist=355.6; ACE_barrelLength=0.1524; }; class RH_mp412: Pistol_Base_F { - ACE_barrelTwist=0.254; + ACE_barrelTwist=254.0; ACE_barrelLength=0.1524; }; class RH_python: Pistol_Base_F { - ACE_barrelTwist=0.3556; + ACE_barrelTwist=355.6; ACE_barrelLength=0.1524; }; class RH_bull: RH_python { - ACE_barrelTwist=0.6096; + ACE_barrelTwist=609.6; ACE_barrelLength=0.1651; }; class RH_ttracker: Pistol_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.1016; }; class RH_cz75: RH_Pistol_Base_F { - ACE_barrelTwist=0.24638; + ACE_barrelTwist=246.38; ACE_barrelLength=0.11938; }; class RH_p226: RH_Pistol_Base_F { - ACE_barrelTwist=0.24892; + ACE_barrelTwist=248.92; ACE_barrelLength=0.11176; }; class RH_sw659: RH_Pistol_Base_F { - ACE_barrelTwist=0.24892; + ACE_barrelTwist=248.92; ACE_barrelLength=0.188976; }; class RH_usp: RH_Pistol_Base_F { - ACE_barrelTwist=0.4064; + ACE_barrelTwist=406.4; ACE_barrelLength=0.112014; }; class RH_uspm: RH_Pistol_Base_F { - ACE_barrelTwist=0.4064; + ACE_barrelTwist=406.4; ACE_barrelLength=0.1524; }; class RH_kimber: RH_Pistol_Base_F { - ACE_barrelTwist=0.4064; + ACE_barrelTwist=406.4; ACE_barrelLength=0.127; }; class RH_m1911: RH_Pistol_Base_F { - ACE_barrelTwist=0.4064; + ACE_barrelTwist=406.4; ACE_barrelLength=0.127; }; class RH_tt33: RH_Pistol_Base_F { - ACE_barrelTwist=0.24003; + ACE_barrelTwist=240.03; ACE_barrelLength=0.11684; }; class RH_mak: RH_Pistol_Base_F { - ACE_barrelTwist=0.24003; + ACE_barrelTwist=240.03; ACE_barrelLength=0.093472; }; class RH_mk2: RH_Pistol_Base_F { - ACE_barrelTwist=0.4064; + ACE_barrelTwist=406.4; ACE_barrelLength=0.1016; }; class RH_m9: RH_Pistol_Base_F { - ACE_barrelTwist=0.24892; + ACE_barrelTwist=248.92; ACE_barrelLength=0.12446; }; class RH_g18: RH_Pistol_Base_F { - ACE_barrelTwist=0.24892; + ACE_barrelTwist=248.92; ACE_barrelLength=0.114046; }; class RH_g17: RH_Pistol_Base_F { - ACE_barrelTwist=0.24892; + ACE_barrelTwist=248.92; ACE_barrelLength=0.114046; }; class RH_g19: RH_Pistol_Base_F { - ACE_barrelTwist=0.24892; + ACE_barrelTwist=248.92; ACE_barrelLength=0.1016; }; class RH_gsh18: RH_Pistol_Base_F { - ACE_barrelTwist=0.24892; + ACE_barrelTwist=248.92; ACE_barrelLength=0.10414; }; class RH_fnp45: RH_Pistol_Base_F { - ACE_barrelTwist=0.4064; + ACE_barrelTwist=406.4; ACE_barrelLength=0.1143; }; class RH_fn57: RH_fnp45 { - ACE_barrelTwist=0.23114; + ACE_barrelTwist=231.14; ACE_barrelLength=0.12192; }; class RH_vp70: RH_Pistol_Base_F { - ACE_barrelTwist=0.24892; + ACE_barrelTwist=248.92; ACE_barrelLength=0.11684; }; class RH_vz61: RH_Pistol_Base_F { - ACE_barrelTwist=0.4064; + ACE_barrelTwist=406.4; ACE_barrelLength=0.1143; }; class RH_tec9: RH_Pistol_Base_F { - ACE_barrelTwist=0.24892; + ACE_barrelTwist=248.92; ACE_barrelLength=0.127; }; class RH_muzi: RH_Pistol_Base_F { - ACE_barrelTwist=0.24892; + ACE_barrelTwist=248.92; ACE_barrelLength=0.127; }; }; \ No newline at end of file diff --git a/optionals/compat_rh_m4/CfgWeapons.hpp b/optionals/compat_rh_m4/CfgWeapons.hpp index 6b703ed2b4..0cebd83fa6 100644 --- a/optionals/compat_rh_m4/CfgWeapons.hpp +++ b/optionals/compat_rh_m4/CfgWeapons.hpp @@ -4,127 +4,127 @@ class CfgWeapons class Rifle_Base_F; class RH_ar10: Rifle_Base_F { - ACE_barrelTwist=0.28575; + ACE_barrelTwist=285.75; ACE_barrelLength=0.52832; }; class RH_m110: Rifle_Base_F { - ACE_barrelTwist=0.254; + ACE_barrelTwist=254.0; ACE_barrelLength=0.508; }; class RH_Mk11: RH_m110 { - ACE_barrelTwist=0.28575; + ACE_barrelTwist=285.75; ACE_barrelLength=0.6096; }; class RH_SR25EC: RH_m110 { - ACE_barrelTwist=0.28575; + ACE_barrelTwist=285.75; ACE_barrelLength=0.508; }; class RH_m4: Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.3683; }; class RH_M4_ris: RH_m4 { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.3683; }; class RH_M4A1_ris: RH_M4_ris { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.3683; }; class RH_M4m: RH_M4A1_ris { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.2667; }; class RH_M4sbr: RH_M4A1_ris { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.2667; }; class RH_hb: Rifle_Base_F { - ACE_barrelTwist=0.2032; + ACE_barrelTwist=203.2; ACE_barrelLength=0.1524; }; class RH_hb_b: RH_hb { - ACE_barrelTwist=0.2032; + ACE_barrelTwist=203.2; ACE_barrelLength=0.1524; }; class RH_sbr9: Rifle_Base_F { - ACE_barrelTwist=0.24638; + ACE_barrelTwist=246.38; ACE_barrelLength=0.2286; }; class RH_M4A6: RH_M4A1_ris { - ACE_barrelTwist=0.254; + ACE_barrelTwist=254.0; ACE_barrelLength=0.3683; }; class RH_M16a1: RH_m4 { - ACE_barrelTwist=0.3556; + ACE_barrelTwist=355.6; ACE_barrelLength=0.508; }; class RH_M16A2: RH_m4 { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.508; }; class RH_M16A4 : RH_M4_ris { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.508; }; class RH_M16A3: RH_M16A4 { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.508; }; class RH_M16A4_m: RH_M16A4 { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.508; }; class RH_M16A6: RH_M16A4 { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.508; }; class RH_Mk12mod1: RH_M16A4 { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.4572; }; class RH_SAMR: RH_Mk12mod1 { - ACE_barrelTwist=0.19558; + ACE_barrelTwist=195.58; ACE_barrelLength=0.508; }; class RH_Hk416: RH_M4A1_ris { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.3683; }; class RH_Hk416s: RH_M4sbr { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.26416; }; class RH_Hk416c: RH_M4sbr { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.2286; }; class RH_M27IAR: RH_Mk12mod1 { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.4191; }; }; \ No newline at end of file diff --git a/optionals/compat_rh_pdw/CfgWeapons.hpp b/optionals/compat_rh_pdw/CfgWeapons.hpp index c9921f3ace..7f86318c55 100644 --- a/optionals/compat_rh_pdw/CfgWeapons.hpp +++ b/optionals/compat_rh_pdw/CfgWeapons.hpp @@ -4,7 +4,7 @@ class CfgWeapons class Rifle_Base_F; class RH_PDW: Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.254; }; }; diff --git a/optionals/compat_rhs_afrf3/CfgWeapons.hpp b/optionals/compat_rhs_afrf3/CfgWeapons.hpp index a6c9416f1e..d557111b6f 100644 --- a/optionals/compat_rhs_afrf3/CfgWeapons.hpp +++ b/optionals/compat_rhs_afrf3/CfgWeapons.hpp @@ -4,57 +4,57 @@ class CfgWeapons class hgun_Rook40_F; class rhs_weap_pya: hgun_Rook40_F { - ACE_barrelTwist=0.254; + ACE_barrelTwist=254.0; ACE_barrelLength=0.11176; }; class Pistol_Base_F; class rhs_weap_makarov_pmm: rhs_weap_pya { - ACE_barrelTwist=0.24003; + ACE_barrelTwist=240.03; ACE_barrelLength=0.093472; }; class rhs_weap_ak74m_Base_F; class rhs_weap_ak74m: rhs_weap_ak74m_Base_F { - ACE_barrelTwist=0.199898; + ACE_barrelTwist=199.898; ACE_barrelLength=0.41402; }; class rhs_weap_akm: rhs_weap_ak74m { - ACE_barrelTwist=0.199898; + ACE_barrelTwist=199.898; ACE_barrelLength=0.41402; }; class rhs_weap_aks74; class rhs_weap_aks74u: rhs_weap_aks74 { - ACE_barrelTwist=0.16002; + ACE_barrelTwist=160.02; ACE_barrelLength=0.21082; }; class rhs_weap_svd: rhs_weap_ak74m { - ACE_barrelTwist=0.23876; + ACE_barrelTwist=238.76; ACE_barrelLength=0.61976; }; class rhs_weap_svdp; class rhs_weap_svds: rhs_weap_svdp { - ACE_barrelTwist=0.23876; + ACE_barrelTwist=238.76; ACE_barrelLength=0.56388; }; class rhs_pkp_base; class rhs_weap_pkp: rhs_pkp_base { - ACE_barrelTwist=0.24003; + ACE_barrelTwist=240.03; ACE_barrelLength=0.65786; }; class rhs_weap_pkm: rhs_weap_pkp { - ACE_barrelTwist=0.24003; + ACE_barrelTwist=240.03; ACE_barrelLength=0.64516; }; class rhs_weap_rpk74m: rhs_weap_pkp { - ACE_barrelTwist=0.195072; + ACE_barrelTwist=195.072; ACE_barrelLength=0.58928; }; diff --git a/optionals/compat_rhs_usf3/CfgWeapons.hpp b/optionals/compat_rhs_usf3/CfgWeapons.hpp index e531676a24..36968ce6c7 100644 --- a/optionals/compat_rhs_usf3/CfgWeapons.hpp +++ b/optionals/compat_rhs_usf3/CfgWeapons.hpp @@ -6,51 +6,51 @@ class CfgWeapons class srifle_EBR_F; class rhs_weap_XM2010_Base_F: Rifle_Base_F { - ACE_barrelTwist=0.254; + ACE_barrelTwist=254.0; ACE_barrelLength=0.6096; }; class arifle_MX_Base_F; class rhs_weap_m4_Base: arifle_MX_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.3683; }; class rhs_weap_m4a1; class rhs_weap_mk18: rhs_weap_m4a1 { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.26162; }; class rhs_weap_m16a4: rhs_weap_m4_Base { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.508; }; class rhs_M249_base; class rhs_weap_m249_pip: rhs_M249_base { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.41402; }; class weap_m240_base; class rhs_weap_m240B: weap_m240_base { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.62992; }; class rhs_weap_m14ebrri: srifle_EBR_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.5588; }; class rhs_weap_sr25: rhs_weap_m14ebrri { - ACE_barrelTwist=0.28575; + ACE_barrelTwist=285.75; ACE_barrelLength=0.6096; }; class rhs_weap_sr25_ec: rhs_weap_sr25 { - ACE_barrelTwist=0.28575; + ACE_barrelTwist=285.75; ACE_barrelLength=0.508; }; class rhs_weap_M590_5RD: Rifle_Base_F @@ -68,7 +68,7 @@ class CfgWeapons class hgun_ACPC2_F; class rhsusf_weap_m1911a1: hgun_ACPC2_F { - ACE_barrelTwist=0.4064; + ACE_barrelTwist=406.4; ACE_barrelLength=0.127; }; From 5e33176b5203d181ebe8847db55dc9b5f1821ba9 Mon Sep 17 00:00:00 2001 From: KoffeinFlummi Date: Fri, 8 May 2015 12:47:45 +0200 Subject: [PATCH 085/217] Convert ACE_barrelLength(s) to millimeters --- addons/ballistics/CfgAmmo.hpp | 92 +-- addons/ballistics/CfgWeapons.hpp | 82 +- extras/CfgAmmoReference.hpp | 412 +++++----- extras/CfgWeaponsReference.hpp | 738 +++++++++--------- optionals/compat_cup/CfgAmmo.hpp | 64 +- optionals/compat_hlc_ar15/CfgWeapons.hpp | 24 +- optionals/compat_hlc_wp_mp5/CfgWeapons.hpp | 22 +- optionals/compat_hlcmods_ak/CfgWeapons.hpp | 20 +- optionals/compat_hlcmods_aug/CfgWeapons.hpp | 18 +- optionals/compat_hlcmods_core/CfgAmmo.hpp | 46 +- optionals/compat_hlcmods_fal/CfgWeapons.hpp | 18 +- optionals/compat_hlcmods_g3/CfgWeapons.hpp | 16 +- optionals/compat_hlcmods_m14/CfgWeapons.hpp | 4 +- optionals/compat_hlcmods_m60e4/CfgWeapons.hpp | 4 +- optionals/compat_rh_de/CfgAmmo.hpp | 24 +- optionals/compat_rh_de/CfgWeapons.hpp | 54 +- optionals/compat_rh_m4/CfgAmmo.hpp | 30 +- optionals/compat_rh_m4/CfgWeapons.hpp | 50 +- optionals/compat_rh_pdw/CfgAmmo.hpp | 2 +- optionals/compat_rh_pdw/CfgWeapons.hpp | 2 +- optionals/compat_rhs_afrf3/CfgAmmo.hpp | 18 +- optionals/compat_rhs_afrf3/CfgWeapons.hpp | 20 +- optionals/compat_rhs_usf3/CfgAmmo.hpp | 14 +- optionals/compat_rhs_usf3/CfgWeapons.hpp | 24 +- 24 files changed, 899 insertions(+), 899 deletions(-) diff --git a/addons/ballistics/CfgAmmo.hpp b/addons/ballistics/CfgAmmo.hpp index f4e954017a..59fa7cf621 100644 --- a/addons/ballistics/CfgAmmo.hpp +++ b/addons/ballistics/CfgAmmo.hpp @@ -34,7 +34,7 @@ class CfgAmmo { ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={723, 764, 796, 825, 843, 866, 878, 892, 906, 915, 922, 900}; - ACE_barrelLengths[]={0.21082, 0.23876, 0.26924, 0.29972, 0.3302, 0.36068, 0.39116, 0.4191, 0.44958, 0.48006, 0.508, 0.6096}; + ACE_barrelLengths[]={210.82, 238.76, 269.24, 299.72, 330.2, 360.68, 391.16, 419.1, 449.58, 480.06, 508.0, 609.6}; }; class ACE_556x45_Ball_Mk262 : B_556x45_Ball { airFriction=-0.001125; @@ -51,7 +51,7 @@ class CfgAmmo { ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={624, 816, 832, 838}; - ACE_barrelLengths[]={0.1905, 0.3683, 0.4572, 0.508}; + ACE_barrelLengths[]={190.5, 368.3, 457.2, 508.0}; }; class ACE_556x45_Ball_Mk318 : B_556x45_Ball { airFriction=-0.001120; @@ -68,7 +68,7 @@ class CfgAmmo { ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={780, 886, 950}; - ACE_barrelLengths[]={0.254, 0.3937, 0.508}; + ACE_barrelLengths[]={254.0, 393.7, 508.0}; }; class ACE_556x45_Ball_M995_AP : B_556x45_Ball { airFriction=-0.001120; @@ -85,7 +85,7 @@ class CfgAmmo { ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={950, 1030, 1040}; - ACE_barrelLengths[]={0.254, 0.3937, 0.508}; + ACE_barrelLengths[]={254.0, 393.7, 508.0}; }; class B_556x45_Ball_Tracer_Red; class ACE_B_556x45_Ball_Tracer_Dim: B_556x45_Ball_Tracer_Red { @@ -106,7 +106,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={780, 880, 920}; - ACE_barrelLengths[]={0.254, 0.41402, 0.508}; + ACE_barrelLengths[]={254.0, 414.02, 508.0}; }; class B_556x45_Ball_Tracer_Green; class ACE_545x39_Ball_7T3M : B_556x45_Ball_Tracer_Green { @@ -126,7 +126,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={785, 883, 925}; - ACE_barrelLengths[]={0.254, 0.41402, 0.508}; + ACE_barrelLengths[]={254.0, 414.02, 508.0}; }; class B_65x39_Caseless : BulletBase { airFriction=-0.000785; @@ -140,7 +140,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={730, 760, 788, 800, 810, 830}; - ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604, 0.762}; + ACE_barrelLengths[]={254.0, 406.4, 508.0, 609.6, 660.4, 762.0}; }; class B_65x39_Case_yellow; class ACE_65x39_Caseless_Tracer_Dim : B_65x39_Case_yellow { @@ -163,7 +163,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={730, 760, 790, 820, 830}; - ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={254.0, 406.4, 508.0, 609.6, 660.4}; }; class ACE_65_Creedmor_Ball: B_65x39_Caseless { airFriction=-0.000651; @@ -178,7 +178,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={750, 820, 840, 852, 860}; - ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={254.0, 406.4, 508.0, 609.6, 660.4}; }; class B_762x51_Ball : BulletBase { airFriction=-0.001035; @@ -195,7 +195,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={700, 800, 820, 833, 845}; - ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={254.0, 406.4, 508.0, 609.6, 660.4}; }; class B_762x51_Tracer_Yellow; class ACE_B_762x51_Tracer_Dim: B_762x51_Tracer_Yellow { @@ -215,7 +215,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={750, 780, 790, 794}; - ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={406.4, 508.0, 609.6, 660.4}; }; class ACE_762x51_Ball_Mk316_Mod_0 : B_762x51_Ball { airFriction=-0.0008525; @@ -231,7 +231,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={775, 790, 805, 810}; - ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={406.4, 508.0, 609.6, 660.4}; }; class ACE_762x51_Ball_Mk319_Mod_0 : B_762x51_Ball { airFriction=-0.00103; @@ -247,7 +247,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={838, 892, 910}; - ACE_barrelLengths[]={0.3302, 0.4064, 0.508}; + ACE_barrelLengths[]={330.2, 406.4, 508.0}; }; class ACE_762x51_Ball_M993_AP : B_762x51_Ball { airFriction=-0.00103; @@ -263,7 +263,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={875, 910, 930}; - ACE_barrelLengths[]={0.3302, 0.4064, 0.508}; + ACE_barrelLengths[]={330.2, 406.4, 508.0}; }; class ACE_762x51_Ball_Subsonic : B_762x51_Ball { airFriction=-0.000535; @@ -279,7 +279,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={305, 325, 335, 340}; - ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={406.4, 508.0, 609.6, 660.4}; }; class ACE_30_06_M1_Ball : B_762x51_Ball { airFriction=-0.0009; @@ -295,7 +295,7 @@ class CfgAmmo { ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={700, 785, 800, 830, 840}; - ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={254.0, 406.4, 508.0, 609.6, 660.4}; }; class ACE_7_Remington_Magnum_Ball : B_762x51_Ball { airFriction=-0.0008; @@ -311,7 +311,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={720, 780, 812, 822, 830}; - ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={254.0, 406.4, 508.0, 609.6, 660.4}; }; class ACE_243_Winchester_Ball : B_762x51_Ball { airFriction=-0.00095; @@ -327,7 +327,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={830, 875, 900, 915, 920}; - ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={254.0, 406.4, 508.0, 609.6, 660.4}; }; class ACE_762x67_Ball_Mk248_Mod_0 : B_762x51_Ball { airFriction=-0.000830; @@ -343,7 +343,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={865, 900, 924}; - ACE_barrelLengths[]={0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={508.0, 609.6, 660.4}; }; class ACE_762x67_Ball_Mk248_Mod_1 : B_762x51_Ball { airFriction=-0.000815; @@ -359,7 +359,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={847, 867, 877}; - ACE_barrelLengths[]={0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={508.0, 609.6, 660.4}; }; class ACE_762x67_Ball_Berger_Hybrid_OTM : B_762x51_Ball { airFriction=-0.00076; @@ -375,7 +375,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={800, 853, 884}; - ACE_barrelLengths[]={0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={508.0, 609.6, 660.4}; }; class B_762x54_Ball: B_762x51_Ball { airFriction=-0.001023; @@ -389,7 +389,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={700, 800, 820, 833}; - ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={406.4, 508.0, 609.6, 660.4}; }; class ACE_762x54_Ball_7N14 : B_762x51_Ball { airFriction=-0.001023; @@ -405,7 +405,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={700, 800, 820, 833}; - ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={406.4, 508.0, 609.6, 660.4}; }; class B_762x54_Tracer_Green; class ACE_762x54_Ball_7T2 : B_762x54_Tracer_Green { @@ -424,7 +424,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={680, 750, 798, 800}; - ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={406.4, 508.0, 609.6, 660.4}; }; class ACE_762x35_Ball : B_762x51_Ball { airFriction=-0.000821; @@ -440,7 +440,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={620, 655, 675}; - ACE_barrelLengths[]={0.2286, 0.4064, 0.508}; + ACE_barrelLengths[]={228.6, 406.4, 508.0}; }; class ACE_762x39_Ball : B_762x51_Ball { airFriction=-0.0015168; @@ -456,7 +456,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={650, 716, 750}; - ACE_barrelLengths[]={0.254, 0.41402, 0.508}; + ACE_barrelLengths[]={254.0, 414.02, 508.0}; }; class ACE_762x39_Ball_57N231P : B_762x54_Tracer_Green { airFriction=-0.0015168; @@ -474,7 +474,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={650, 716, 750}; - ACE_barrelLengths[]={0.254, 0.41402, 0.508}; + ACE_barrelLengths[]={254.0, 414.02, 508.0}; }; class B_9x21_Ball : BulletBase { airFriction=-0.00125; @@ -489,7 +489,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={440, 460, 480}; - ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; + ACE_barrelLengths[]={101.6, 127.0, 228.6}; }; class ACE_9x18_Ball_57N181S : B_9x21_Ball { hit=5; @@ -504,7 +504,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={298, 330, 350}; - ACE_barrelLengths[]={0.09652, 0.127, 0.2286}; + ACE_barrelLengths[]={96.52, 127.0, 228.6}; }; class ACE_9x19_Ball : B_9x21_Ball { airFriction=-0.001234; @@ -519,7 +519,7 @@ class CfgAmmo { ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={340, 370, 400}; - ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; + ACE_barrelLengths[]={101.6, 127.0, 228.6}; }; class ACE_10x25_Ball : B_9x21_Ball { airFriction=-0.00168; @@ -534,7 +534,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={360, 400, 430}; - ACE_barrelLengths[]={0.1016, 0.117094, 0.2286}; + ACE_barrelLengths[]={101.6, 117.094, 228.6}; }; class ACE_765x17_Ball: B_9x21_Ball { airFriction=-0.001213; @@ -549,7 +549,7 @@ class CfgAmmo { ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={282, 300, 320}; - ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; + ACE_barrelLengths[]={101.6, 127.0, 228.6}; }; class ACE_303_Ball : ACE_762x51_Ball_M118LR { airFriction=-0.00083; @@ -564,7 +564,7 @@ class CfgAmmo { ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={748, 761, 765}; - ACE_barrelLengths[]={0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={508.0, 609.6, 660.4}; }; class B_93x64_Ball : BulletBase { airFriction=-0.00106; @@ -578,7 +578,7 @@ class CfgAmmo { ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={850, 870, 880}; - ACE_barrelLengths[]={0.508, 0.620014, 0.6604}; + ACE_barrelLengths[]={508.0, 620.014, 660.4}; }; class B_408_Ball : BulletBase { timeToLive=10; @@ -594,7 +594,7 @@ class CfgAmmo { ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={910}; - ACE_barrelLengths[]={0.7366}; + ACE_barrelLengths[]={736.6}; }; class ACE_106x83mm_Ball : B_408_Ball { timeToLive=10; @@ -607,7 +607,7 @@ class CfgAmmo { ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={960}; - ACE_barrelLengths[]={0.7366}; + ACE_barrelLengths[]={736.6}; }; class B_338_Ball : BulletBase { timeToLive=10; @@ -622,7 +622,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={880, 915, 925}; - ACE_barrelLengths[]={0.508, 0.6604, 0.7112}; + ACE_barrelLengths[]={508.0, 660.4, 711.2}; }; class B_338_NM_Ball : BulletBase { airFriction=-0.000537; @@ -636,7 +636,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={790, 807, 820}; - ACE_barrelLengths[]={0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={508.0, 609.6, 660.4}; }; class ACE_338_Ball : B_338_Ball { timeToLive=10; @@ -651,7 +651,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={800, 820, 826, 830}; - ACE_barrelLengths[]={0.508, 0.6096, 0.6731, 0.7112}; + ACE_barrelLengths[]={508.0, 609.6, 673.1, 711.2}; }; class ACE_338_Ball_API526 : B_338_Ball { timeToLive=10; @@ -667,7 +667,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={880, 915, 925}; - ACE_barrelLengths[]={0.508, 0.6604, 0.7112}; + ACE_barrelLengths[]={508.0, 660.4, 711.2}; }; class B_127x54_Ball : BulletBase { airFriction=-0.00014; @@ -681,7 +681,7 @@ class CfgAmmo { ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={300}; - ACE_barrelLengths[]={0.43688}; + ACE_barrelLengths[]={436.88}; }; class B_127x99_Ball : BulletBase { timeToLive=10; @@ -696,7 +696,7 @@ class CfgAmmo { ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={900}; - ACE_barrelLengths[]={0.7366}; + ACE_barrelLengths[]={736.6}; }; class ACE_127x99_API : BulletBase { timeToLive=10; @@ -713,7 +713,7 @@ class CfgAmmo { ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={900}; - ACE_barrelLengths[]={0.7366}; + ACE_barrelLengths[]={736.6}; }; class ACE_127x99_Ball_AMAX : B_127x99_Ball { timeToLive=10; @@ -729,7 +729,7 @@ class CfgAmmo { ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={860}; - ACE_barrelLengths[]={0.7366}; + ACE_barrelLengths[]={736.6}; }; class B_127x108_Ball : BulletBase { timeToLive=10; @@ -744,7 +744,7 @@ class CfgAmmo { ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={820}; - ACE_barrelLengths[]={0.72898}; + ACE_barrelLengths[]={728.98}; }; class B_45ACP_Ball : BulletBase { airFriction=-0.0007182; @@ -758,6 +758,6 @@ class CfgAmmo { ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={230, 250, 285}; - ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; + ACE_barrelLengths[]={101.6, 127.0, 228.6}; }; }; diff --git a/addons/ballistics/CfgWeapons.hpp b/addons/ballistics/CfgWeapons.hpp index 7394cda002..34c18a90dd 100644 --- a/addons/ballistics/CfgWeapons.hpp +++ b/addons/ballistics/CfgWeapons.hpp @@ -66,7 +66,7 @@ class CfgWeapons { }; initSpeed = -1.0; ACE_barrelTwist=228.6; - ACE_barrelLength=0.4064; + ACE_barrelLength=406.4; class WeaponSlotsInfo: WeaponSlotsInfo { class MuzzleSlot: MuzzleSlot { // Shit is broken again @@ -93,7 +93,7 @@ class CfgWeapons { }; initSpeed = -1.018; ACE_barrelTwist=228.6; - ACE_barrelLength=0.4572; + ACE_barrelLength=457.2; class Single: Single { dispersion = 0.00029; // radians. Equal to 1 MOA. // 6.5mm is easily capable of this in a half-tuned rifle. @@ -138,7 +138,7 @@ class CfgWeapons { }; }; ACE_barrelTwist=177.8; - ACE_barrelLength=0.3175; + ACE_barrelLength=317.5; class manual: Mode_FullAuto { dispersion = 0.00175; // radians. Equal to 6 MOA. }; @@ -155,7 +155,7 @@ class CfgWeapons { }; }; ACE_barrelTwist=304.8; - ACE_barrelLength=0.45974; + ACE_barrelLength=459.74; class FullAuto: Mode_FullAuto { dispersion = 0.00175; // radians. Equal to 6 MOA. }; @@ -242,7 +242,7 @@ class CfgWeapons { class hgun_P07_F: Pistol_Base_F { initSpeed = -0.9778; ACE_barrelTwist=254.0; - ACE_barrelLength=0.1016; + ACE_barrelLength=101.6; class WeaponSlotsInfo: WeaponSlotsInfo { class MuzzleSlot: MuzzleSlot { linkProxy = "\A3\data_f\proxies\weapon_slots\MUZZLE"; @@ -254,7 +254,7 @@ class CfgWeapons { class hgun_Rook40_F: Pistol_Base_F { initSpeed = -1.0; ACE_barrelTwist=254.0; - ACE_barrelLength=0.11176; + ACE_barrelLength=111.76; class WeaponSlotsInfo: WeaponSlotsInfo { class MuzzleSlot: MuzzleSlot { linkProxy = "\A3\data_f\proxies\weapon_slots\MUZZLE"; @@ -266,7 +266,7 @@ class CfgWeapons { class hgun_ACPC2_F: Pistol_Base_F { initSpeed = -1.0; ACE_barrelTwist=406.4; - ACE_barrelLength=0.127; + ACE_barrelLength=127.0; class WeaponSlotsInfo: WeaponSlotsInfo { class MuzzleSlot: MuzzleSlot { compatibleItems[] += {"ACE_muzzle_mzls_smg_01"}; @@ -277,7 +277,7 @@ class CfgWeapons { class hgun_Pistol_heavy_01_F: Pistol_Base_F { initSpeed = -0.96; ACE_barrelTwist=406.4; - ACE_barrelLength=0.1143; + ACE_barrelLength=114.3; class WeaponSlotsInfo: WeaponSlotsInfo { class MuzzleSlot: MuzzleSlot { compatibleItems[] += {"ACE_muzzle_mzls_smg_01"}; @@ -288,7 +288,7 @@ class CfgWeapons { class hgun_Pistol_heavy_02_F: Pistol_Base_F { initSpeed = -0.92; ACE_barrelTwist=406.4; - ACE_barrelLength=0.0762; + ACE_barrelLength=76.2; /* class WeaponSlotsInfo: WeaponSlotsInfo { class MuzzleSlot { @@ -301,7 +301,7 @@ class CfgWeapons { class hgun_PDW2000_F: pdw2000_base_F { initSpeed = -1.157; ACE_barrelTwist=228.6; - ACE_barrelLength=0.1778; + ACE_barrelLength=177.8; }; class arifle_Katiba_F: arifle_katiba_Base_F { magazines[] = { @@ -311,7 +311,7 @@ class CfgWeapons { }; initSpeed = -1.08; ACE_barrelTwist=203.2; - ACE_barrelLength=0.72898; + ACE_barrelLength=728.98; }; class arifle_Katiba_C_F: arifle_katiba_Base_F { magazines[] = { @@ -321,7 +321,7 @@ class CfgWeapons { }; initSpeed = -1.07; ACE_barrelTwist=203.2; - ACE_barrelLength=0.68072; + ACE_barrelLength=680.72; }; class arifle_Katiba_GL_F: arifle_katiba_Base_F { magazines[] = { @@ -331,7 +331,7 @@ class CfgWeapons { }; initSpeed = -1.08; ACE_barrelTwist=203.2; - ACE_barrelLength=0.72898; + ACE_barrelLength=728.98; }; class arifle_MX_F: arifle_MX_Base_F { magazines[] = { @@ -341,7 +341,7 @@ class CfgWeapons { }; initSpeed = -0.99; ACE_barrelTwist=228.6; - ACE_barrelLength=0.3683; + ACE_barrelLength=368.3; }; class arifle_MX_GL_F: arifle_MX_Base_F { magazines[] = { @@ -351,12 +351,12 @@ class CfgWeapons { }; initSpeed = -0.99; ACE_barrelTwist=228.6; - ACE_barrelLength=0.3683; + ACE_barrelLength=368.3; }; /* class arifle_MX_SW_F: arifle_MX_Base_F { ACE_barrelTwist=228.6; - ACE_barrelLength=0.4064; + ACE_barrelLength=406.4; }; */ class arifle_MXC_F: arifle_MX_Base_F { @@ -367,12 +367,12 @@ class CfgWeapons { }; initSpeed = -0.965; ACE_barrelTwist=203.2; - ACE_barrelLength=0.2667; + ACE_barrelLength=266.7; }; /* class arifle_MXM_F: arifle_MX_Base_F { ACE_barrelTwist=228.6; - ACE_barrelLength=0.4572; + ACE_barrelLength=457.2; }; */ class arifle_SDAR_F: SDAR_base_F { @@ -389,12 +389,12 @@ class CfgWeapons { }; initSpeed = -0.989; ACE_barrelTwist=285.75; - ACE_barrelLength=0.4572; + ACE_barrelLength=457.2; }; class SMG_02_F: SMG_02_base_F { initSpeed = -1.054; ACE_barrelTwist=254.0; - ACE_barrelLength=0.19558; + ACE_barrelLength=195.58; }; class arifle_TRG20_F: Tavor_base_F { magazines[] = { @@ -409,7 +409,7 @@ class CfgWeapons { }; initSpeed = -0.95; ACE_barrelTwist=177.8; - ACE_barrelLength=0.381; + ACE_barrelLength=381.0; }; class arifle_TRG21_F: Tavor_base_F { magazines[] = { @@ -424,7 +424,7 @@ class CfgWeapons { }; initSpeed = -0.989; ACE_barrelTwist=177.8; - ACE_barrelLength=0.45974; + ACE_barrelLength=459.74; }; class arifle_TRG21_GL_F: arifle_TRG21_F { magazines[] = { @@ -439,12 +439,12 @@ class CfgWeapons { }; initSpeed = -0.989; ACE_barrelTwist=177.8; - ACE_barrelLength=0.45974; + ACE_barrelLength=459.74; }; /* class LMG_Zafir_F: Rifle_Long_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.45974; + ACE_barrelLength=459.74; }; */ class arifle_Mk20_F: mk20_base_F { @@ -460,7 +460,7 @@ class CfgWeapons { }; initSpeed = -0.98; ACE_barrelTwist=177.8; - ACE_barrelLength=0.44196; + ACE_barrelLength=441.96; }; class arifle_Mk20C_F: mk20_base_F { magazines[] = { @@ -475,7 +475,7 @@ class CfgWeapons { }; initSpeed = -0.956; ACE_barrelTwist=177.8; - ACE_barrelLength=0.4064; + ACE_barrelLength=406.4; }; class arifle_Mk20_GL_F: mk20_base_F { magazines[] = { @@ -490,12 +490,12 @@ class CfgWeapons { }; initSpeed = -0.956; ACE_barrelTwist=177.8; - ACE_barrelLength=0.4064; + ACE_barrelLength=406.4; }; class SMG_01_F: SMG_01_Base { initSpeed = -1.016; ACE_barrelTwist=406.4; - ACE_barrelLength=0.1397; + ACE_barrelLength=139.7; }; class srifle_DMR_01_F: DMR_01_base_F { magazines[] = { @@ -504,7 +504,7 @@ class CfgWeapons { }; initSpeed = -1.025; ACE_barrelTwist=241.3; - ACE_barrelLength=0.6096; + ACE_barrelLength=609.6; }; class srifle_EBR_F: EBR_base_F { magazines[] = { @@ -519,19 +519,19 @@ class CfgWeapons { }; initSpeed = -0.9724; ACE_barrelTwist=304.8; - ACE_barrelLength=0.4572; + ACE_barrelLength=457.2; }; /* class LMG_Mk200_F: Rifle_Long_Base_F { initSpeed = -1.0; ACE_barrelTwist=177.8; - ACE_barrelLength=0.3175; + ACE_barrelLength=317.5; }; */ class srifle_LRR_F: LRR_base_F { initSpeed = -1.0; ACE_barrelTwist=330.2; - ACE_barrelLength=0.7366; + ACE_barrelLength=736.6; }; class srifle_GM6_F: GM6_base_F { magazines[] = { @@ -543,7 +543,7 @@ class CfgWeapons { }; initSpeed = -1.0; ACE_barrelTwist=381.0; - ACE_barrelLength=0.92964; + ACE_barrelLength=929.64; }; class srifle_DMR_02_F: DMR_02_base_F { magazines[] = { @@ -556,7 +556,7 @@ class CfgWeapons { }; initSpeed = -0.962; ACE_barrelTwist=254.0; - ACE_barrelLength=0.508; + ACE_barrelLength=508.0; }; class srifle_DMR_03_F: DMR_03_base_F { magazines[] = { @@ -571,17 +571,17 @@ class CfgWeapons { }; initSpeed = -0.9843; ACE_barrelTwist=254.0; - ACE_barrelLength=0.508; + ACE_barrelLength=508.0; }; class srifle_DMR_04_F: DMR_04_base_F { initSpeed = -1.0; ACE_barrelTwist=203.2; - ACE_barrelLength=0.450088; + ACE_barrelLength=450.088; }; class srifle_DMR_05_blk_F: DMR_05_base_F { initSpeed = -1.0; ACE_barrelTwist=359.918; - ACE_barrelLength=0.620014; + ACE_barrelLength=620.014; }; class srifle_DMR_06_camo_F: DMR_06_base_F { magazines[] = { @@ -596,17 +596,17 @@ class CfgWeapons { }; initSpeed = -0.9916; ACE_barrelTwist=304.8; - ACE_barrelLength=0.5588; + ACE_barrelLength=558.8; }; class MMG_01_hex_F: MMG_01_base_F { initSpeed = -1.0; ACE_barrelTwist=359.918; - ACE_barrelLength=0.54991; + ACE_barrelLength=549.91; }; class MMG_02_camo_F: MMG_02_base_F { initSpeed = -1.0; ACE_barrelTwist=234.95; - ACE_barrelLength=0.6096; + ACE_barrelLength=609.6; }; class HMG_127 : LMG_RCWS { @@ -616,7 +616,7 @@ class CfgWeapons { class HMG_M2: HMG_01 { initSpeed = -1.0; ACE_barrelTwist=304.8; - ACE_barrelLength=1.143; + ACE_barrelLength=1143.0; }; /* Silencers */ diff --git a/extras/CfgAmmoReference.hpp b/extras/CfgAmmoReference.hpp index 3072d1d196..5c0ef9e3f2 100644 --- a/extras/CfgAmmoReference.hpp +++ b/extras/CfgAmmoReference.hpp @@ -14,7 +14,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={723, 764, 796, 825, 843, 866, 878, 892, 906, 915, 922, 900}; - ACE_barrelLengths[]={0.21082, 0.23876, 0.26924, 0.29972, 0.3302, 0.36068, 0.39116, 0.4191, 0.44958, 0.48006, 0.508, 0.6096}; + ACE_barrelLengths[]={210.82, 238.76, 269.24, 299.72, 330.2, 360.68, 391.16, 419.1, 449.58, 480.06, 508.0, 609.6}; }; class ACE_556x45_Ball_Mk262 : B_556x45_Ball { airFriction=-0.001125; @@ -31,7 +31,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={624, 816, 832, 838}; - ACE_barrelLengths[]={0.1905, 0.3683, 0.4572, 0.508}; + ACE_barrelLengths[]={190.5, 368.3, 457.2, 508.0}; }; class ACE_556x45_Ball_Mk318 : B_556x45_Ball { airFriction=-0.001120; @@ -48,7 +48,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={780, 886, 950}; - ACE_barrelLengths[]={0.254, 0.3937, 0.508}; + ACE_barrelLengths[]={254.0, 393.7, 508.0}; }; class B_556x45_Ball_Tracer_Red; class ACE_B_556x45_Ball_Tracer_Dim: B_556x45_Ball_Tracer_Red { @@ -69,7 +69,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={780, 880, 920}; - ACE_barrelLengths[]={0.254, 0.41402, 0.508}; + ACE_barrelLengths[]={254.0, 414.02, 508.0}; }; class B_556x45_Ball_Tracer_Yellow; class ACE_545x39_Ball_7T3M : B_556x45_Ball_Tracer_Yellow { @@ -87,7 +87,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={785, 883, 925}; - ACE_barrelLengths[]={0.254, 0.41402, 0.508}; + ACE_barrelLengths[]={254.0, 414.02, 508.0}; }; class B_65x39_Caseless : BulletBase { airFriction=-0.000785; @@ -101,7 +101,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={730, 760, 788, 800, 810, 830}; - ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604, 0.762}; + ACE_barrelLengths[]={254.0, 406.4, 508.0, 609.6, 660.4, 762.0}; }; class B_65x39_Case_yellow; class ACE_65x39_Caseless_Tracer_Dim : B_65x39_Case_yellow { @@ -124,7 +124,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={730, 760, 790, 820, 830}; - ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={254.0, 406.4, 508.0, 609.6, 660.4}; }; class B_762x51_Ball : BulletBase { airFriction=-0.001035; @@ -139,7 +139,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={700, 800, 820, 833, 845}; - ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={254.0, 406.4, 508.0, 609.6, 660.4}; }; class B_762x51_Tracer_Yellow; class ACE_B_762x51_Tracer_Dim: B_762x51_Tracer_Yellow { @@ -159,7 +159,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={750, 780, 790, 794}; - ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={406.4, 508.0, 609.6, 660.4}; }; class ACE_762x51_Ball_Mk319_Mod_0 : B_762x51_Ball { airFriction=-0.00103; @@ -175,7 +175,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={838, 892, 910}; - ACE_barrelLengths[]={0.3302, 0.4064, 0.508}; + ACE_barrelLengths[]={330.2, 406.4, 508.0}; }; class ACE_762x51_Ball_Subsonic : B_762x51_Ball { airFriction=-0.000535; @@ -191,7 +191,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={305, 325, 335, 340}; - ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={406.4, 508.0, 609.6, 660.4}; }; class ACE_762x67_Ball_Mk248_Mod_0 : B_762x51_Ball { airFriction=-0.000830; @@ -207,7 +207,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={865, 900, 924}; - ACE_barrelLengths[]={0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={508.0, 609.6, 660.4}; }; class ACE_762x67_Ball_Mk248_Mod_1 : B_762x51_Ball { airFriction=-0.000815; @@ -223,7 +223,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={847, 867, 877}; - ACE_barrelLengths[]={0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={508.0, 609.6, 660.4}; }; class ACE_762x67_Ball_Berger_Hybrid_OTM : B_762x51_Ball { airFriction=-0.00076; @@ -239,7 +239,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={800, 853, 884}; - ACE_barrelLengths[]={0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={508.0, 609.6, 660.4}; }; class B_762x54_Ball: B_762x51_Ball { airFriction=-0.001023; @@ -253,7 +253,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={700, 800, 820, 833}; - ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={406.4, 508.0, 609.6, 660.4}; }; class ACE_762x54_Ball_7N14 : B_762x51_Ball { airFriction=-0.001023; @@ -269,7 +269,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={700, 800, 820, 833}; - ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={406.4, 508.0, 609.6, 660.4}; }; class B_762x54_Tracer_Green; class ACE_762x54_Ball_7T2 : B_762x54_Tracer_Green { @@ -286,7 +286,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={680, 750, 798, 800}; - ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={406.4, 508.0, 609.6, 660.4}; }; class ACE_762x35_Ball : B_762x51_Ball { airFriction=-0.000821; @@ -302,7 +302,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={620, 655, 675}; - ACE_barrelLengths[]={0.2286, 0.4064, 0.508}; + ACE_barrelLengths[]={228.6, 406.4, 508.0}; }; class ACE_762x39_Ball : B_762x51_Ball { airFriction=-0.0015168; @@ -317,7 +317,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={650, 716, 750}; - ACE_barrelLengths[]={0.254, 0.41402, 0.508}; + ACE_barrelLengths[]={254.0, 414.02, 508.0}; }; class ACE_762x39_Ball_57N231P : B_762x51_Tracer_Yellow { airFriction=-0.0015168; @@ -332,7 +332,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={650, 716, 750}; - ACE_barrelLengths[]={0.254, 0.41402, 0.508}; + ACE_barrelLengths[]={254.0, 414.02, 508.0}; }; class B_9x21_Ball : BulletBase { airFriction=-0.00125; @@ -347,7 +347,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={440, 460, 480}; - ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; + ACE_barrelLengths[]={101.6, 127.0, 228.6}; }; class ACE_9x18_Ball_57N181S : B_9x21_Ball { hit=5; @@ -362,7 +362,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={298, 330, 350}; - ACE_barrelLengths[]={0.09652, 0.127, 0.2286}; + ACE_barrelLengths[]={96.52, 127.0, 228.6}; }; class ACE_9x19_Ball : B_9x21_Ball { airFriction=-0.001234; @@ -377,7 +377,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={340, 370, 400}; - ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; + ACE_barrelLengths[]={101.6, 127.0, 228.6}; }; class ACE_10x25_Ball : B_9x21_Ball { airFriction=-0.00168; @@ -392,7 +392,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={360, 400, 430}; - ACE_barrelLengths[]={0.1016, 0.117094, 0.2286}; + ACE_barrelLengths[]={101.6, 117.094, 228.6}; }; class ACE_765x17_Ball: B_9x21_Ball { airFriction=-0.001213; @@ -407,7 +407,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={282, 300, 320}; - ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; + ACE_barrelLengths[]={101.6, 127.0, 228.6}; }; class ACE_303_Ball : ACE_762x51_Ball_M118LR { airFriction=-0.00083; @@ -421,7 +421,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={748, 761, 765}; - ACE_barrelLengths[]={0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={508.0, 609.6, 660.4}; }; class B_93x64_Ball : BulletBase { airFriction=-0.00106; @@ -436,7 +436,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={850, 870, 880}; - ACE_barrelLengths[]={0.508, 0.620014, 0.6604}; + ACE_barrelLengths[]={508.0, 620.014, 660.4}; }; class B_408_Ball : BulletBase { timeToLive=10; @@ -452,7 +452,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={910}; - ACE_barrelLengths[]={0.7366}; + ACE_barrelLengths[]={736.6}; }; class ACE_106x83mm_Ball : B_408_Ball { timeToLive=10; @@ -465,7 +465,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={960}; - ACE_barrelLengths[]={0.7366}; + ACE_barrelLengths[]={736.6}; }; class B_338_Ball : BulletBase { timeToLive=10; @@ -480,7 +480,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={880, 915, 925}; - ACE_barrelLengths[]={0.508, 0.6604, 0.7112}; + ACE_barrelLengths[]={508.0, 660.4, 711.2}; }; class B_338_NM_Ball : BulletBase { airFriction=-0.000537; @@ -494,7 +494,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={790, 807, 820}; - ACE_barrelLengths[]={0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={508.0, 609.6, 660.4}; }; class ACE_338_Ball : B_338_Ball { timeToLive=10; @@ -510,7 +510,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={800, 820, 826, 830}; - ACE_barrelLengths[]={0.508, 0.6096, 0.6731, 0.7112}; + ACE_barrelLengths[]={508.0, 609.6, 673.1, 711.2}; }; class ACE_338_Ball_API526 : B_338_Ball { timeToLive=10; @@ -526,7 +526,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={880, 915, 925}; - ACE_barrelLengths[]={0.508, 0.6604, 0.7112}; + ACE_barrelLengths[]={508.0, 660.4, 711.2}; }; class B_127x54_Ball : BulletBase { airFriction=-0.00014; @@ -540,7 +540,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={300}; - ACE_barrelLengths[]={0.43688}; + ACE_barrelLengths[]={436.88}; }; class B_127x99_Ball : BulletBase { timeToLive=10; @@ -555,7 +555,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={853}; - ACE_barrelLengths[]={0.7366}; + ACE_barrelLengths[]={736.6}; }; class ACE_127x99_Ball_AMAX : B_127x99_Ball { timeToLive=10; @@ -570,7 +570,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={860}; - ACE_barrelLengths[]={0.7366}; + ACE_barrelLengths[]={736.6}; }; class B_127x108_Ball : BulletBase { timeToLive=10; @@ -585,7 +585,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={820}; - ACE_barrelLengths[]={0.72898}; + ACE_barrelLengths[]={728.98}; }; class B_45ACP_Ball : BulletBase { airFriction=-0.0007182; @@ -599,7 +599,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={230, 250, 285}; - ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; + ACE_barrelLengths[]={101.6, 127.0, 228.6}; }; class TMR_B_762x51_M118LR : B_762x51_Ball @@ -613,7 +613,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={750, 780, 790, 794}; - ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={406.4, 508.0, 609.6, 660.4}; }; class RH_50_AE_Ball: BulletBase @@ -627,7 +627,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={360, 398, 420}; - ACE_barrelLengths[]={0.1016, 0.1524, 0.2286}; + ACE_barrelLengths[]={101.6, 152.4, 228.6}; }; class RH_454_Casull: BulletBase { @@ -640,7 +640,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={450, 490, 500}; - ACE_barrelLengths[]={0.1016, 0.1905, 0.2286}; + ACE_barrelLengths[]={101.6, 190.5, 228.6}; }; class RH_32ACP: BulletBase { @@ -653,7 +653,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={282, 300, 320}; - ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; + ACE_barrelLengths[]={101.6, 127.0, 228.6}; }; class RH_45ACP: BulletBase { @@ -666,7 +666,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={230, 250, 285}; - ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; + ACE_barrelLengths[]={101.6, 127.0, 228.6}; }; class RH_B_40SW: BulletBase { @@ -679,7 +679,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={360, 380, 400}; - ACE_barrelLengths[]={0.1016, 0.1524, 0.2286}; + ACE_barrelLengths[]={101.6, 152.4, 228.6}; }; class RH_44mag_ball: BulletBase { @@ -692,7 +692,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={360, 390, 420}; - ACE_barrelLengths[]={0.1016, 0.1905, 0.2286}; + ACE_barrelLengths[]={101.6, 190.5, 228.6}; }; class RH_357mag_ball: BulletBase { @@ -705,7 +705,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={490, 510, 535}; - ACE_barrelLengths[]={0.1016, 0.1524, 0.2286}; + ACE_barrelLengths[]={101.6, 152.4, 228.6}; }; class RH_762x25: BulletBase { @@ -718,7 +718,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={360, 380, 400}; - ACE_barrelLengths[]={0.1016, 0.1524, 0.2286}; + ACE_barrelLengths[]={101.6, 152.4, 228.6}; }; class RH_9x18_Ball: BulletBase { @@ -731,7 +731,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={298, 330, 350}; - ACE_barrelLengths[]={0.09652, 0.127, 0.2286}; + ACE_barrelLengths[]={96.52, 127.0, 228.6}; }; class RH_B_9x19_Ball: BulletBase { @@ -744,7 +744,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={340, 370, 400}; - ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; + ACE_barrelLengths[]={101.6, 127.0, 228.6}; }; class RH_B_22LR_SD: BulletBase { @@ -757,7 +757,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={330, 340, 360}; - ACE_barrelLengths[]={0.1016, 0.1524, 0.2286}; + ACE_barrelLengths[]={101.6, 152.4, 228.6}; }; class RH_57x28mm: BulletBase { @@ -770,7 +770,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={550, 625, 720}; - ACE_barrelLengths[]={0.1016, 0.1524, 0.26289}; + ACE_barrelLengths[]={101.6, 152.4, 262.89}; }; class RH_9x19_B_M822: BulletBase @@ -784,7 +784,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={340, 370, 400}; - ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; + ACE_barrelLengths[]={101.6, 127.0, 228.6}; }; class RH_9x19_B_HP: BulletBase { @@ -797,7 +797,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={340, 370, 400}; - ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; + ACE_barrelLengths[]={101.6, 127.0, 228.6}; }; class RH_9x19_B_HPSB: BulletBase { @@ -810,7 +810,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={295, 310, 330}; - ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; + ACE_barrelLengths[]={101.6, 127.0, 228.6}; }; class RH_B_6x35: BulletBase { @@ -823,7 +823,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={730, 750, 760}; - ACE_barrelLengths[]={0.2032, 0.254, 0.3048}; + ACE_barrelLengths[]={203.2, 254.0, 304.8}; }; class RH_556x45_B_M855A1 : B_556x45_Ball { @@ -836,7 +836,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={723, 764, 796, 825, 843, 866, 878, 892, 906, 915, 922, 900}; - ACE_barrelLengths[]={0.21082, 0.23876, 0.26924, 0.29972, 0.3302, 0.36068, 0.39116, 0.4191, 0.44958, 0.48006, 0.508, 0.6096}; + ACE_barrelLengths[]={210.82, 238.76, 269.24, 299.72, 330.2, 360.68, 391.16, 419.1, 449.58, 480.06, 508.0, 609.6}; }; class RH_556x45_B_Mk262 : B_556x45_Ball { @@ -849,7 +849,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={624, 816, 832, 838}; - ACE_barrelLengths[]={0.1905, 0.3683, 0.4572, 0.508}; + ACE_barrelLengths[]={190.5, 368.3, 457.2, 508.0}; }; class RH_556x45_B_Mk318 : B_556x45_Ball { @@ -862,7 +862,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={780, 886, 950}; - ACE_barrelLengths[]={0.254, 0.3937, 0.508}; + ACE_barrelLengths[]={254.0, 393.7, 508.0}; }; class RH_68x43_B_FMJ: B_65x39_Caseless { @@ -875,7 +875,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={713, 785, 810, 850}; - ACE_barrelLengths[]={0.3048, 0.4064, 0.508, 0.6096}; + ACE_barrelLengths[]={304.8, 406.4, 508.0, 609.6}; }; class RH_68x43_B_Match: B_65x39_Caseless { @@ -888,7 +888,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={700, 732, 750, 780}; - ACE_barrelLengths[]={0.3048, 0.4064, 0.508, 0.6096}; + ACE_barrelLengths[]={304.8, 406.4, 508.0, 609.6}; }; class RH_762x35_B_FMJ: B_65x39_Caseless { @@ -901,7 +901,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={559, 609, 625}; - ACE_barrelLengths[]={0.1524, 0.4064, 0.508}; + ACE_barrelLengths[]={152.4, 406.4, 508.0}; }; class RH_762x35_B_Match: B_65x39_Caseless { @@ -914,7 +914,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={590, 650, 665}; - ACE_barrelLengths[]={0.1524, 0.4064, 0.508}; + ACE_barrelLengths[]={152.4, 406.4, 508.0}; }; class RH_762x35_B_MSB: B_65x39_Caseless { @@ -927,7 +927,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={300, 320, 340}; - ACE_barrelLengths[]={0.2286, 0.4064, 0.508}; + ACE_barrelLengths[]={228.6, 406.4, 508.0}; }; class RH_762x51_B_M80A1 : B_762x51_Ball { @@ -940,7 +940,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={700, 800, 820, 833, 845}; - ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={254.0, 406.4, 508.0, 609.6, 660.4}; }; class RH_762x51_B_Mk316LR : B_762x51_Ball { @@ -953,7 +953,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={750, 780, 790, 794}; - ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={406.4, 508.0, 609.6, 660.4}; }; class RH_762x51_B_Mk319 : B_762x51_Ball { @@ -966,7 +966,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={838, 892, 920}; - ACE_barrelLengths[]={0.3302, 0.4064, 0.508}; + ACE_barrelLengths[]={330.2, 406.4, 508.0}; }; class RH_762x51_B_LFMJSB: B_762x51_Ball { @@ -979,7 +979,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={305, 325, 335, 340}; - ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={406.4, 508.0, 609.6, 660.4}; }; class HLC_556NATO_SOST: BulletBase @@ -993,7 +993,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={780, 886, 950}; - ACE_barrelLengths[]={0.254, 0.3937, 0.508}; + ACE_barrelLengths[]={254.0, 393.7, 508.0}; }; class HLC_556NATO_SPR: BulletBase { @@ -1006,7 +1006,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={624, 816, 832, 838}; - ACE_barrelLengths[]={0.1905, 0.3683, 0.4572, 0.508}; + ACE_barrelLengths[]={190.5, 368.3, 457.2, 508.0}; }; class HLC_556NATO_EPR: BulletBase { @@ -1019,7 +1019,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={723, 764, 796, 825, 843, 866, 878, 892, 906, 915, 922, 900}; - ACE_barrelLengths[]={0.21082, 0.23876, 0.26924, 0.29972, 0.3302, 0.36068, 0.39116, 0.4191, 0.44958, 0.48006, 0.508, 0.6096}; + ACE_barrelLengths[]={210.82, 238.76, 269.24, 299.72, 330.2, 360.68, 391.16, 419.1, 449.58, 480.06, 508.0, 609.6}; }; class HLC_300Blackout_Ball: BulletBase { @@ -1032,7 +1032,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={559, 609, 625}; - ACE_barrelLengths[]={0.1524, 0.4064, 0.508}; + ACE_barrelLengths[]={152.4, 406.4, 508.0}; }; class HLC_300Blackout_SMK: BulletBase { @@ -1045,7 +1045,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={300, 320, 340}; - ACE_barrelLengths[]={0.2286, 0.4064, 0.508}; + ACE_barrelLengths[]={228.6, 406.4, 508.0}; }; class HLC_762x51_BTSub: BulletBase { @@ -1058,7 +1058,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={305, 325, 335, 340}; - ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={406.4, 508.0, 609.6, 660.4}; }; class HLC_762x54_ball: BulletBase { @@ -1071,7 +1071,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={700, 800, 820, 833}; - ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={406.4, 508.0, 609.6, 660.4}; }; class HLC_762x54_tracer: BulletBase { @@ -1084,7 +1084,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={680, 750, 798, 800}; - ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={406.4, 508.0, 609.6, 660.4}; }; class HLC_303Brit_B: BulletBase { @@ -1097,7 +1097,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={748, 761, 765}; - ACE_barrelLengths[]={0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={508.0, 609.6, 660.4}; }; class HLC_792x57_Ball: BulletBase { @@ -1110,7 +1110,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={785, 800, 815}; - ACE_barrelLengths[]={0.508, 0.599948, 0.6604}; + ACE_barrelLengths[]={508.0, 599.948, 660.4}; }; class FH_545x39_Ball: BulletBase { @@ -1123,14 +1123,14 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={780, 880, 920}; - ACE_barrelLengths[]={0.254, 0.41402, 0.508}; + ACE_barrelLengths[]={254.0, 414.02, 508.0}; }; class FH_545x39_7u1: FH_545x39_Ball { ACE_bulletMass=5.184; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_muzzleVelocities[]={260, 303, 320}; - ACE_barrelLengths[]={0.254, 0.41402, 0.508}; + ACE_barrelLengths[]={254.0, 414.02, 508.0}; }; class HLC_9x19_Ball: BulletBase { @@ -1143,7 +1143,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={340, 370, 400}; - ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; + ACE_barrelLengths[]={101.6, 127.0, 228.6}; }; class HLC_9x19_GoldDot: HLC_9x19_Ball { @@ -1164,7 +1164,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={360, 400, 430}; - ACE_barrelLengths[]={0.1016, 0.117094, 0.2286}; + ACE_barrelLengths[]={101.6, 117.094, 228.6}; }; class HLC_9x19_M882_SMG: HLC_9x19_Ball { @@ -1177,7 +1177,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={340, 370, 400}; - ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; + ACE_barrelLengths[]={101.6, 127.0, 228.6}; }; class M_mas_545x39_Ball_7N6M : BulletBase @@ -1191,7 +1191,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={780, 880, 920}; - ACE_barrelLengths[]={0.254, 0.41402, 0.508}; + ACE_barrelLengths[]={254.0, 414.02, 508.0}; }; class M_mas_545x39_Ball_7T3M : BulletBase { @@ -1204,7 +1204,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={785, 883, 925}; - ACE_barrelLengths[]={0.254, 0.41402, 0.508}; + ACE_barrelLengths[]={254.0, 414.02, 508.0}; }; class B_mas_556x45_Ball_Mk262 : B_556x45_Ball { @@ -1217,7 +1217,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={624, 816, 832, 838}; - ACE_barrelLengths[]={0.1905, 0.3683, 0.4572, 0.508}; + ACE_barrelLengths[]={190.5, 368.3, 457.2, 508.0}; }; class B_mas_9x18_Ball_57N181S : BulletBase { @@ -1230,7 +1230,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={298, 330, 350}; - ACE_barrelLengths[]={0.09652, 0.127, 0.2286}; + ACE_barrelLengths[]={96.52, 127.0, 228.6}; }; class B_mas_9x21p_Ball: BulletBase { @@ -1243,7 +1243,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={340, 370, 400}; - ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; + ACE_barrelLengths[]={101.6, 127.0, 228.6}; }; class B_mas_9x21_Ball: BulletBase { @@ -1256,7 +1256,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={340, 370, 400}; - ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; + ACE_barrelLengths[]={101.6, 127.0, 228.6}; }; class B_mas_9x21d_Ball: BulletBase { @@ -1269,7 +1269,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={210, 250, 285}; - ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; + ACE_barrelLengths[]={101.6, 127.0, 228.6}; }; class B_mas_765x17_Ball: BulletBase { @@ -1282,7 +1282,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={282, 300, 320}; - ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; + ACE_barrelLengths[]={101.6, 127.0, 228.6}; }; class B_mas_762x39_Ball: BulletBase { @@ -1295,7 +1295,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={650, 716, 750}; - ACE_barrelLengths[]={0.254, 0.41402, 0.508}; + ACE_barrelLengths[]={254.0, 414.02, 508.0}; }; class B_mas_762x39_Ball_T: BulletBase { @@ -1308,7 +1308,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={650, 716, 750}; - ACE_barrelLengths[]={0.254, 0.41402, 0.508}; + ACE_barrelLengths[]={254.0, 414.02, 508.0}; }; class B_mas_762x51_Ball_M118LR : B_762x51_Ball { @@ -1321,7 +1321,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={750, 780, 790, 794}; - ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={406.4, 508.0, 609.6, 660.4}; }; class B_mas_762x67_Ball_Mk248_Mod_0 : B_762x51_Ball { @@ -1334,7 +1334,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={865, 900, 924}; - ACE_barrelLengths[]={0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={508.0, 609.6, 660.4}; }; class B_mas_762x67_Ball_Mk248_Mod_1 : B_762x51_Ball { @@ -1347,7 +1347,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={820, 867, 900}; - ACE_barrelLengths[]={0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={508.0, 609.6, 660.4}; }; class B_mas_762x67_Ball_Berger_Hybrid_OTM : B_762x51_Ball { @@ -1360,7 +1360,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={800, 853, 884}; - ACE_barrelLengths[]={0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={508.0, 609.6, 660.4}; }; class B_mas_762x54_Ball : BulletBase { @@ -1373,7 +1373,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={700, 800, 820, 833}; - ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={406.4, 508.0, 609.6, 660.4}; }; class B_mas_762x54_Ball_T : BulletBase { @@ -1386,7 +1386,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={680, 750, 798, 800}; - ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={406.4, 508.0, 609.6, 660.4}; }; class BWA3_B_762x51_Ball_LR : BulletBase { @@ -1399,7 +1399,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={750, 780, 790, 794}; - ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={406.4, 508.0, 609.6, 660.4}; }; class BWA3_B_762x51_Ball_SD : BulletBase { @@ -1412,7 +1412,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={300, 340}; - ACE_barrelLengths[]={0.4064, 0.6096}; + ACE_barrelLengths[]={406.4, 609.6}; }; class BWA3_B_46x30_Ball : BulletBase @@ -1426,7 +1426,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={680, 720, 730, 740}; - ACE_barrelLengths[]={0.1016, 0.1778, 0.2286, 0.3048}; + ACE_barrelLengths[]={101.6, 177.8, 228.6, 304.8}; }; class Trixie_338_Ball : BulletBase @@ -1440,7 +1440,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={820, 826, 830}; - ACE_barrelLengths[]={0.6096, 0.6731, 0.7112}; + ACE_barrelLengths[]={609.6, 673.1, 711.2}; }; class Trixie_303_Ball : BulletBase { @@ -1453,7 +1453,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={748, 761, 765}; - ACE_barrelLengths[]={0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={508.0, 609.6, 660.4}; }; class rhs_ammo_556x45_Mk318_Ball : BulletBase @@ -1467,7 +1467,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={780, 886, 950}; - ACE_barrelLengths[]={0.254, 0.3937, 0.508}; + ACE_barrelLengths[]={254.0, 393.7, 508.0}; }; class rhs_ammo_556x45_Mk262_Ball : BulletBase { @@ -1480,7 +1480,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={624, 816, 832, 838}; - ACE_barrelLengths[]={0.1905, 0.3683, 0.4572, 0.508}; + ACE_barrelLengths[]={190.5, 368.3, 457.2, 508.0}; }; class rhsammo_762x51_Ball : BulletBase { @@ -1493,7 +1493,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={700, 800, 820, 833, 845}; - ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={254.0, 406.4, 508.0, 609.6, 660.4}; }; class rhs_B_545x39_Ball : BulletBase { @@ -1506,7 +1506,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={780, 880, 920}; - ACE_barrelLengths[]={0.254, 0.41402, 0.508}; + ACE_barrelLengths[]={254.0, 414.02, 508.0}; }; class rhs_B_545x39_Ball_Tracer_Green : BulletBase { @@ -1519,7 +1519,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={785, 883, 925}; - ACE_barrelLengths[]={0.254, 0.41402, 0.508}; + ACE_barrelLengths[]={254.0, 414.02, 508.0}; }; class rhs_ammo_762x51_M118_Special_Ball : BulletBase { @@ -1532,7 +1532,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={750, 780, 790, 794}; - ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={406.4, 508.0, 609.6, 660.4}; }; class rhs_B_762x54_Ball : BulletBase { @@ -1545,7 +1545,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={700, 800, 820, 833}; - ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={406.4, 508.0, 609.6, 660.4}; }; class rhs_B_762x54_Ball_Tracer_Green : BulletBase { @@ -1558,7 +1558,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={680, 750, 798, 800}; - ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={406.4, 508.0, 609.6, 660.4}; }; class rhs_B_762x39_Ball : BulletBase { @@ -1571,7 +1571,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={650, 716, 750}; - ACE_barrelLengths[]={0.254, 0.41402, 0.508}; + ACE_barrelLengths[]={254.0, 414.02, 508.0}; }; class rhs_B_762x39_Tracer : BulletBase { @@ -1584,7 +1584,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={650, 716, 750}; - ACE_barrelLengths[]={0.254, 0.41402, 0.508}; + ACE_barrelLengths[]={254.0, 414.02, 508.0}; }; class rhs_ammo_762x51_M80_Ball : BulletBase { @@ -1597,7 +1597,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={700, 800, 820, 833, 845}; - ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={254.0, 406.4, 508.0, 609.6, 660.4}; }; class rhsusf_B_300winmag : BulletBase { @@ -1610,7 +1610,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={847, 867, 877}; - ACE_barrelLengths[]={0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={508.0, 609.6, 660.4}; }; class R3F_9x19_Ball: BulletBase @@ -1624,7 +1624,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={340, 370, 400}; - ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; + ACE_barrelLengths[]={101.6, 127.0, 228.6}; }; class R3F_556x45_Ball: BulletBase { @@ -1637,7 +1637,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={723, 764, 796, 825, 843, 866, 878, 892, 906, 915, 922, 900}; - ACE_barrelLengths[]={0.21082, 0.23876, 0.26924, 0.29972, 0.3302, 0.36068, 0.39116, 0.4191, 0.44958, 0.48006, 0.508, 0.6096}; + ACE_barrelLengths[]={210.82, 238.76, 269.24, 299.72, 330.2, 360.68, 391.16, 419.1, 449.58, 480.06, 508.0, 609.6}; }; class R3F_762x51_Ball: BulletBase { @@ -1650,7 +1650,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={700, 800, 820, 833, 845}; - ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={254.0, 406.4, 508.0, 609.6, 660.4}; }; class R3F_762x51_Ball2: BulletBase { @@ -1663,7 +1663,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={750, 780, 790, 794}; - ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={406.4, 508.0, 609.6, 660.4}; }; class R3F_127x99_Ball: BulletBase { @@ -1676,7 +1676,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={853}; - ACE_barrelLengths[]={0.7366}; + ACE_barrelLengths[]={736.6}; }; class R3F_127x99_Ball2: BulletBase { @@ -1689,7 +1689,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={853}; - ACE_barrelLengths[]={0.7366}; + ACE_barrelLengths[]={736.6}; }; class CUP_B_545x39_Ball: BulletBase @@ -1703,7 +1703,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={780, 880, 920}; - ACE_barrelLengths[]={0.254, 0.41402, 0.508}; + ACE_barrelLengths[]={254.0, 414.02, 508.0}; }; class CUP_B_545x39_Ball_Tracer_Green: BulletBase { @@ -1716,7 +1716,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={785, 883, 925}; - ACE_barrelLengths[]={0.254, 0.41402, 0.508}; + ACE_barrelLengths[]={254.0, 414.02, 508.0}; }; class CUP_B_545x39_Ball_Tracer_Red: BulletBase { @@ -1729,7 +1729,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={785, 883, 925}; - ACE_barrelLengths[]={0.254, 0.41402, 0.508}; + ACE_barrelLengths[]={254.0, 414.02, 508.0}; }; class CUP_B_545x39_Ball_Tracer_White: BulletBase { @@ -1742,7 +1742,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={785, 883, 925}; - ACE_barrelLengths[]={0.254, 0.41402, 0.508}; + ACE_barrelLengths[]={254.0, 414.02, 508.0}; }; class CUP_B_545x39_Ball_Tracer_Yellow: BulletBase { @@ -1755,7 +1755,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={785, 883, 925}; - ACE_barrelLengths[]={0.254, 0.41402, 0.508}; + ACE_barrelLengths[]={254.0, 414.02, 508.0}; }; class CUP_B_762x39_Ball: BulletBase { @@ -1768,7 +1768,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={650, 716, 750}; - ACE_barrelLengths[]={0.254, 0.41402, 0.508}; + ACE_barrelLengths[]={254.0, 414.02, 508.0}; }; class CUP_B_762x39_Ball_Tracer_Green: BulletBase { @@ -1781,7 +1781,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={650, 716, 750}; - ACE_barrelLengths[]={0.254, 0.41402, 0.508}; + ACE_barrelLengths[]={254.0, 414.02, 508.0}; }; class B_762x39mm_KLT: BulletBase { @@ -1794,7 +1794,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={650, 716, 750}; - ACE_barrelLengths[]={0.254, 0.41402, 0.508}; + ACE_barrelLengths[]={254.0, 414.02, 508.0}; }; class CUP_B_9x18_Ball: BulletBase { @@ -1807,7 +1807,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={298, 330, 350}; - ACE_barrelLengths[]={0.09652, 0.127, 0.2286}; + ACE_barrelLengths[]={96.52, 127.0, 228.6}; }; class CUP_B_9x18_Ball_Tracer_Green: BulletBase { @@ -1820,7 +1820,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={298, 330, 350}; - ACE_barrelLengths[]={0.09652, 0.127, 0.2286}; + ACE_barrelLengths[]={96.52, 127.0, 228.6}; }; class CUP_B_9x18_Ball_Tracer_Red: BulletBase { @@ -1833,7 +1833,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={298, 330, 350}; - ACE_barrelLengths[]={0.09652, 0.127, 0.2286}; + ACE_barrelLengths[]={96.52, 127.0, 228.6}; }; class CUP_B_9x18_Ball_Tracer_Yellow: BulletBase { @@ -1846,7 +1846,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={298, 330, 350}; - ACE_barrelLengths[]={0.09652, 0.127, 0.2286}; + ACE_barrelLengths[]={96.52, 127.0, 228.6}; }; class CUP_B_9x18_Ball_White_Tracer: BulletBase { @@ -1859,7 +1859,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={298, 330, 350}; - ACE_barrelLengths[]={0.09652, 0.127, 0.2286}; + ACE_barrelLengths[]={96.52, 127.0, 228.6}; }; class CUP_B_9x19_Ball: BulletBase { @@ -1872,7 +1872,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={340, 370, 400}; - ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; + ACE_barrelLengths[]={101.6, 127.0, 228.6}; }; class CUP_B_762x51_noTracer: BulletBase { @@ -1885,7 +1885,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={700, 800, 820, 833, 845}; - ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={254.0, 406.4, 508.0, 609.6, 660.4}; }; class CUP_B_762x51_Red_Tracer_3RndBurst: BulletBase { @@ -1898,7 +1898,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={700, 800, 820, 833, 845}; - ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={254.0, 406.4, 508.0, 609.6, 660.4}; }; class CUP_B_762x51_White_Tracer_3RndBurst: BulletBase { @@ -1911,7 +1911,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={700, 800, 820, 833, 845}; - ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={254.0, 406.4, 508.0, 609.6, 660.4}; }; class CUP_B_303_Ball: BulletBase { @@ -1924,7 +1924,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={748, 761, 765}; - ACE_barrelLengths[]={0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={508.0, 609.6, 660.4}; }; class CUP_B_127x107_Ball_Green_Tracer: BulletBase { @@ -1937,7 +1937,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={820}; - ACE_barrelLengths[]={0.72898}; + ACE_barrelLengths[]={728.98}; }; class CUP_B_127x108_Ball_Green_Tracer: BulletBase { @@ -1950,7 +1950,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={820}; - ACE_barrelLengths[]={0.72898}; + ACE_barrelLengths[]={728.98}; }; class CUP_B_762x54_Ball_White_Tracer: BulletBase { @@ -1963,7 +1963,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={680, 750, 798, 800}; - ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={406.4, 508.0, 609.6, 660.4}; }; class CUP_B_762x54_Ball_Red_Tracer: BulletBase { @@ -1976,7 +1976,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={680, 750, 798, 800}; - ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={406.4, 508.0, 609.6, 660.4}; }; class CUP_B_762x54_Ball_Green_Tracer: BulletBase { @@ -1989,7 +1989,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={680, 750, 798, 800}; - ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={406.4, 508.0, 609.6, 660.4}; }; class CUP_B_762x54_Ball_Yellow_Tracer: BulletBase { @@ -2002,7 +2002,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={680, 750, 798, 800}; - ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={406.4, 508.0, 609.6, 660.4}; }; class CUP_B_9x39_SP5: BulletBase { @@ -2015,7 +2015,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={280, 300, 320}; - ACE_barrelLengths[]={0.254, 0.41402, 0.508}; + ACE_barrelLengths[]={254.0, 414.02, 508.0}; }; class CUP_B_762x51_Tracer_Green: BulletBase { @@ -2028,7 +2028,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={700, 800, 820, 833, 845}; - ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={254.0, 406.4, 508.0, 609.6, 660.4}; }; class CUP_B_762x51_Tracer_Red: BulletBase { @@ -2041,7 +2041,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={700, 800, 820, 833, 845}; - ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={254.0, 406.4, 508.0, 609.6, 660.4}; }; class CUP_B_762x51_Tracer_Yellow: BulletBase { @@ -2054,7 +2054,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={700, 800, 820, 833, 845}; - ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={254.0, 406.4, 508.0, 609.6, 660.4}; }; class CUP_B_762x51_Tracer_White: BulletBase { @@ -2067,7 +2067,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={700, 800, 820, 833, 845}; - ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={254.0, 406.4, 508.0, 609.6, 660.4}; }; class B_127x107_Ball: BulletBase { @@ -2080,7 +2080,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={820}; - ACE_barrelLengths[]={0.72898}; + ACE_barrelLengths[]={728.98}; }; class CUP_B_9x18_SD: BulletBase { @@ -2093,7 +2093,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={298, 330, 340}; - ACE_barrelLengths[]={0.09652, 0.127, 0.2286}; + ACE_barrelLengths[]={96.52, 127.0, 228.6}; }; class CUP_B_765x17_Ball: BulletBase { @@ -2106,7 +2106,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={282, 300, 320}; - ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; + ACE_barrelLengths[]={101.6, 127.0, 228.6}; }; class CUP_B_145x115_AP_Green_Tracer: BulletBase { @@ -2119,7 +2119,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={1000}; - ACE_barrelLengths[]={1.3462}; + ACE_barrelLengths[]={1346.2}; }; class CUP_B_127x99_Ball_White_Tracer: BulletBase { @@ -2132,7 +2132,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={853}; - ACE_barrelLengths[]={0.7366}; + ACE_barrelLengths[]={736.6}; }; class CUP_B_86x70_Ball_noTracer: BulletBase { @@ -2145,7 +2145,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={820, 826, 830}; - ACE_barrelLengths[]={0.6096, 0.6731, 0.7112}; + ACE_barrelLengths[]={609.6, 673.1, 711.2}; }; class VTN_9x18_Ball_FMJ: B_9x21_Ball @@ -2159,7 +2159,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={298, 330, 350}; - ACE_barrelLengths[]={0.09652, 0.127, 0.2286}; + ACE_barrelLengths[]={96.52, 127.0, 228.6}; }; class VTN_9x18_Ball_SC: VTN_9x18_Ball_FMJ { @@ -2172,7 +2172,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={298, 330, 350}; - ACE_barrelLengths[]={0.09652, 0.127, 0.2286}; + ACE_barrelLengths[]={96.52, 127.0, 228.6}; }; class VTN_9x18_Ball_TRC: VTN_9x18_Ball_FMJ { @@ -2185,7 +2185,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={298, 330, 350}; - ACE_barrelLengths[]={0.09652, 0.127, 0.2286}; + ACE_barrelLengths[]={96.52, 127.0, 228.6}; }; class VTN_9x18_Ball_AP1: VTN_9x18_Ball_FMJ { @@ -2198,7 +2198,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={298, 330, 350}; - ACE_barrelLengths[]={0.09652, 0.127, 0.2286}; + ACE_barrelLengths[]={96.52, 127.0, 228.6}; }; class VTN_9x18_Ball_AP2: VTN_9x18_Ball_FMJ { @@ -2211,7 +2211,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={298, 330, 350}; - ACE_barrelLengths[]={0.09652, 0.127, 0.2286}; + ACE_barrelLengths[]={96.52, 127.0, 228.6}; }; class VTN_9x18_Ball_PRS: VTN_9x18_Ball_FMJ { @@ -2224,7 +2224,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={298, 330, 350}; - ACE_barrelLengths[]={0.09652, 0.127, 0.2286}; + ACE_barrelLengths[]={96.52, 127.0, 228.6}; }; class VTN_9x19_Ball_SC: VTN_9x18_Ball_FMJ { @@ -2237,7 +2237,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={340, 370, 400}; - ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; + ACE_barrelLengths[]={101.6, 127.0, 228.6}; }; class VTN_9x19_Ball_TRC: VTN_9x19_Ball_SC { @@ -2250,7 +2250,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={340, 370, 400}; - ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; + ACE_barrelLengths[]={101.6, 127.0, 228.6}; }; class VTN_9x19_Ball_AP: VTN_9x19_Ball_SC { @@ -2263,7 +2263,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={340, 370, 400}; - ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; + ACE_barrelLengths[]={101.6, 127.0, 228.6}; }; class VTN_9x19_Ball_PRS: VTN_9x19_Ball_SC { @@ -2276,7 +2276,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={340, 370, 400}; - ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; + ACE_barrelLengths[]={101.6, 127.0, 228.6}; }; class VTN_9x39_Ball_SC: B_9x21_Ball { @@ -2289,7 +2289,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={280, 300, 320}; - ACE_barrelLengths[]={0.254, 0.41402, 0.508}; + ACE_barrelLengths[]={254.0, 414.02, 508.0}; }; class VTN_9x39_Ball_AP: VTN_9x39_Ball_SC { @@ -2302,7 +2302,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={280, 300, 320}; - ACE_barrelLengths[]={0.254, 0.41402, 0.508}; + ACE_barrelLengths[]={254.0, 414.02, 508.0}; }; class VTN_545x39_Ball_SC: B_556x45_Ball { @@ -2315,7 +2315,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={780, 880, 920}; - ACE_barrelLengths[]={0.254, 0.41402, 0.508}; + ACE_barrelLengths[]={254.0, 414.02, 508.0}; }; class VTN_545x39_Ball_TRC: VTN_545x39_Ball_SC { @@ -2328,7 +2328,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={785, 883, 925}; - ACE_barrelLengths[]={0.254, 0.41402, 0.508}; + ACE_barrelLengths[]={254.0, 414.02, 508.0}; }; class VTN_545x39_Ball_AP: VTN_545x39_Ball_TRC { @@ -2341,7 +2341,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={780, 880, 920}; - ACE_barrelLengths[]={0.254, 0.41402, 0.508}; + ACE_barrelLengths[]={254.0, 414.02, 508.0}; }; class VTN_545x39_Ball_AP2: VTN_545x39_Ball_AP { @@ -2354,7 +2354,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={780, 880, 920}; - ACE_barrelLengths[]={0.254, 0.41402, 0.508}; + ACE_barrelLengths[]={254.0, 414.02, 508.0}; }; class VTN_545x39_Ball_SS: VTN_545x39_Ball_SC { @@ -2367,7 +2367,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={300, 320, 340}; - ACE_barrelLengths[]={0.254, 0.41402, 0.508}; + ACE_barrelLengths[]={254.0, 414.02, 508.0}; }; class VTN_762x39_Ball_SC: B_762x51_Ball { @@ -2380,7 +2380,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={650, 716, 750}; - ACE_barrelLengths[]={0.254, 0.41402, 0.508}; + ACE_barrelLengths[]={254.0, 414.02, 508.0}; }; class VTN_762x39_Ball_TRC: VTN_762x39_Ball_SC { @@ -2393,7 +2393,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={650, 716, 750}; - ACE_barrelLengths[]={0.254, 0.41402, 0.508}; + ACE_barrelLengths[]={254.0, 414.02, 508.0}; }; class VTN_762x39_Ball_AP: VTN_762x39_Ball_TRC { @@ -2406,7 +2406,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={650, 716, 750}; - ACE_barrelLengths[]={0.254, 0.41402, 0.508}; + ACE_barrelLengths[]={254.0, 414.02, 508.0}; }; class VTN_762x39_Ball_INC: VTN_762x39_Ball_AP { @@ -2419,7 +2419,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={650, 716, 750}; - ACE_barrelLengths[]={0.254, 0.41402, 0.508}; + ACE_barrelLengths[]={254.0, 414.02, 508.0}; }; class VTN_762x39_Ball_API: VTN_762x39_Ball_INC { @@ -2432,7 +2432,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={650, 716, 750}; - ACE_barrelLengths[]={0.254, 0.41402, 0.508}; + ACE_barrelLengths[]={254.0, 414.02, 508.0}; }; class VTN_762x39_Ball_SS: VTN_762x39_Ball_SC { @@ -2445,7 +2445,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={300, 320, 340}; - ACE_barrelLengths[]={0.254, 0.41402, 0.508}; + ACE_barrelLengths[]={254.0, 414.02, 508.0}; }; class VTN_762x41_Ball_SS: B_762x51_Ball { @@ -2458,7 +2458,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={200, 210, 220}; - ACE_barrelLengths[]={0.1016, 0.1524, 0.2032}; + ACE_barrelLengths[]={101.6, 152.4, 203.2}; }; class VTN_762x54_Ball_SC: VTN_762x39_Ball_SC { @@ -2471,7 +2471,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={700, 800, 820, 833}; - ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={406.4, 508.0, 609.6, 660.4}; }; class VTN_762x54_Ball_TRC: VTN_762x54_Ball_SC { @@ -2484,7 +2484,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={680, 750, 798, 800}; - ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={406.4, 508.0, 609.6, 660.4}; }; class VTN_762x54_Ball_AP: VTN_762x54_Ball_TRC { @@ -2497,7 +2497,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={700, 800, 820, 833}; - ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={406.4, 508.0, 609.6, 660.4}; }; class VTN_762x54_Ball_INC: VTN_762x54_Ball_AP { @@ -2510,7 +2510,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={700, 800, 820, 833}; - ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={406.4, 508.0, 609.6, 660.4}; }; class VTN_762x54_Ball_API: VTN_762x54_Ball_INC { @@ -2523,7 +2523,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={700, 800, 820, 833}; - ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={406.4, 508.0, 609.6, 660.4}; }; class VTN_145x114_Ball_APT: B_127x108_Ball { @@ -2536,7 +2536,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={1000}; - ACE_barrelLengths[]={1.3462}; + ACE_barrelLengths[]={1346.2}; }; class VTN_6mm_BB: B_65x39_Caseless { @@ -2549,7 +2549,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={100}; - ACE_barrelLengths[]={0.381}; + ACE_barrelLengths[]={381.0}; }; class VTN_9x19_Ball_FMJ: B_9x21_Ball { @@ -2562,7 +2562,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={340, 370, 400}; - ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; + ACE_barrelLengths[]={101.6, 127.0, 228.6}; }; class VTN_556x45_Ball_FMJ: B_556x45_Ball { @@ -2575,7 +2575,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={723, 764, 796, 825, 843, 866, 878, 892, 906, 915, 922, 900}; - ACE_barrelLengths[]={0.21082, 0.23876, 0.26924, 0.29972, 0.3302, 0.36068, 0.39116, 0.4191, 0.44958, 0.48006, 0.508, 0.6096}; + ACE_barrelLengths[]={210.82, 238.76, 269.24, 299.72, 330.2, 360.68, 391.16, 419.1, 449.58, 480.06, 508.0, 609.6}; }; class VTN_556x45_Ball_TRC: VTN_556x45_Ball_FMJ { @@ -2588,7 +2588,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={723, 764, 796, 825, 843, 866, 878, 892, 906, 915, 922, 900}; - ACE_barrelLengths[]={0.21082, 0.23876, 0.26924, 0.29972, 0.3302, 0.36068, 0.39116, 0.4191, 0.44958, 0.48006, 0.508, 0.6096}; + ACE_barrelLengths[]={210.82, 238.76, 269.24, 299.72, 330.2, 360.68, 391.16, 419.1, 449.58, 480.06, 508.0, 609.6}; }; class VTN_556x45_Ball_TRCN: VTN_556x45_Ball_TRC { @@ -2601,7 +2601,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={723, 764, 796, 825, 843, 866, 878, 892, 906, 915, 922, 900}; - ACE_barrelLengths[]={0.21082, 0.23876, 0.26924, 0.29972, 0.3302, 0.36068, 0.39116, 0.4191, 0.44958, 0.48006, 0.508, 0.6096}; + ACE_barrelLengths[]={210.82, 238.76, 269.24, 299.72, 330.2, 360.68, 391.16, 419.1, 449.58, 480.06, 508.0, 609.6}; }; class VTN_556x45_Ball_SC: VTN_556x45_Ball_FMJ { @@ -2614,7 +2614,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={723, 764, 796, 825, 843, 866, 878, 892, 906, 915, 922, 900}; - ACE_barrelLengths[]={0.21082, 0.23876, 0.26924, 0.29972, 0.3302, 0.36068, 0.39116, 0.4191, 0.44958, 0.48006, 0.508, 0.6096}; + ACE_barrelLengths[]={210.82, 238.76, 269.24, 299.72, 330.2, 360.68, 391.16, 419.1, 449.58, 480.06, 508.0, 609.6}; }; class VTN_556x45_Ball_AP: VTN_556x45_Ball_TRC { @@ -2627,7 +2627,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={723, 764, 796, 825, 843, 866, 878, 892, 906, 915, 922, 900}; - ACE_barrelLengths[]={0.21082, 0.23876, 0.26924, 0.29972, 0.3302, 0.36068, 0.39116, 0.4191, 0.44958, 0.48006, 0.508, 0.6096}; + ACE_barrelLengths[]={210.82, 238.76, 269.24, 299.72, 330.2, 360.68, 391.16, 419.1, 449.58, 480.06, 508.0, 609.6}; }; class VTN_556x45_Ball_INC: VTN_556x45_Ball_AP { @@ -2640,7 +2640,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={723, 764, 796, 825, 843, 866, 878, 892, 906, 915, 922, 900}; - ACE_barrelLengths[]={0.21082, 0.23876, 0.26924, 0.29972, 0.3302, 0.36068, 0.39116, 0.4191, 0.44958, 0.48006, 0.508, 0.6096}; + ACE_barrelLengths[]={210.82, 238.76, 269.24, 299.72, 330.2, 360.68, 391.16, 419.1, 449.58, 480.06, 508.0, 609.6}; }; class VTN_556x45_Ball_LR: VTN_556x45_Ball_FMJ { @@ -2653,7 +2653,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={624, 816, 832, 838}; - ACE_barrelLengths[]={0.1905, 0.3683, 0.4572, 0.508}; + ACE_barrelLengths[]={190.5, 368.3, 457.2, 508.0}; }; class VTN_556x45_Ball_SS: B_556x45_Ball { @@ -2666,7 +2666,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={300, 320, 340}; - ACE_barrelLengths[]={0.254, 0.508, 0.6096}; + ACE_barrelLengths[]={254.0, 508.0, 609.6}; }; class VTN_762x51_Ball_SC: B_762x51_Ball { @@ -2679,7 +2679,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={700, 800, 820, 833, 845}; - ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={254.0, 406.4, 508.0, 609.6, 660.4}; }; class VTN_762x51_Ball_TRC: VTN_762x51_Ball_SC { @@ -2692,7 +2692,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={700, 800, 820, 833, 845}; - ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={254.0, 406.4, 508.0, 609.6, 660.4}; }; class VTN_762x51_Ball_TRCN: VTN_762x51_Ball_TRC { @@ -2705,7 +2705,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={700, 800, 820, 833, 845}; - ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={254.0, 406.4, 508.0, 609.6, 660.4}; }; class VTN_762x51_Ball_AP: VTN_762x51_Ball_TRC { @@ -2718,7 +2718,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={700, 800, 820, 833, 845}; - ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={254.0, 406.4, 508.0, 609.6, 660.4}; }; class VTN_762x51_Ball_LR: VTN_762x51_Ball_SC { @@ -2731,7 +2731,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={750, 780, 790, 794}; - ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={406.4, 508.0, 609.6, 660.4}; }; class VTN_1143x23_Ball_FMJ: B_408_Ball { @@ -2744,7 +2744,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={230, 250, 285}; - ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; + ACE_barrelLengths[]={101.6, 127.0, 228.6}; }; class VTN_1143x23_Ball_HP: VTN_1143x23_Ball_FMJ { @@ -2757,7 +2757,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={230, 250, 285}; - ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; + ACE_barrelLengths[]={101.6, 127.0, 228.6}; }; class VTN_1143x23_Ball_JHP: VTN_1143x23_Ball_FMJ { @@ -2770,7 +2770,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={230, 250, 285}; - ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; + ACE_barrelLengths[]={101.6, 127.0, 228.6}; }; class VTN_762x39_Ball_FMJ: B_762x51_Ball { @@ -2783,7 +2783,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={650, 716, 750}; - ACE_barrelLengths[]={0.254, 0.41402, 0.508}; + ACE_barrelLengths[]={254.0, 414.02, 508.0}; }; class VTN_45_Pellet: B_762x51_Ball { @@ -2796,6 +2796,6 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={100, 138, 150}; - ACE_barrelLengths[]={0.127, 0.254, 0.4064}; + ACE_barrelLengths[]={127.0, 254.0, 406.4}; }; }; \ No newline at end of file diff --git a/extras/CfgWeaponsReference.hpp b/extras/CfgWeaponsReference.hpp index d46f8c7033..15df01e306 100644 --- a/extras/CfgWeaponsReference.hpp +++ b/extras/CfgWeaponsReference.hpp @@ -28,1867 +28,1867 @@ class CfgWeapons class hgun_P07_F : Pistol_Base_F { ACE_barrelTwist=254.0; - ACE_barrelLength=0.1016; + ACE_barrelLength=101.6; }; class hgun_Rook40_F : Pistol_Base_F { ACE_barrelTwist=254.0; - ACE_barrelLength=0.11176; + ACE_barrelLength=111.76; }; class hgun_Pistol_heavy_01_F : Pistol_Base_F { ACE_barrelTwist=406.4; - ACE_barrelLength=0.1143; + ACE_barrelLength=114.3; }; class hgun_Pistol_heavy_02_F : Pistol_Base_F { ACE_barrelTwist=406.4; - ACE_barrelLength=0.0762; + ACE_barrelLength=76.2; }; class hgun_ACPC2_F : Pistol_Base_F { ACE_barrelTwist=406.4; - ACE_barrelLength=0.127; + ACE_barrelLength=127.0; }; class hgun_PDW2000_F : PDW2000_Base_F { ACE_barrelTwist=228.6; - ACE_barrelLength=0.1778; + ACE_barrelLength=177.8; }; class arifle_Katiba_F : arifle_Katiba_Base_F { ACE_barrelTwist=203.2; - ACE_barrelLength=0.72898; + ACE_barrelLength=728.98; }; class arifle_Katiba_C_F : arifle_Katiba_Base_F { ACE_barrelTwist=203.2; - ACE_barrelLength=0.68072; + ACE_barrelLength=680.72; }; class arifle_Katiba_GL_F : arifle_Katiba_Base_F { ACE_barrelTwist=203.2; - ACE_barrelLength=0.72898; + ACE_barrelLength=728.98; }; class arifle_MX_F: arifle_MX_Base_F { ACE_barrelTwist=228.6; - ACE_barrelLength=0.3683; + ACE_barrelLength=368.3; }; class arifle_MX_GL_F: arifle_MX_Base_F { ACE_barrelTwist=228.6; - ACE_barrelLength=0.3683; + ACE_barrelLength=368.3; }; class arifle_MX_SW_F: arifle_MX_Base_F { ACE_barrelTwist=228.6; - ACE_barrelLength=0.4064; + ACE_barrelLength=406.4; }; class arifle_MXC_F: arifle_MX_Base_F { ACE_barrelTwist=203.2; - ACE_barrelLength=0.2667; + ACE_barrelLength=266.7; }; class arifle_MXM_F: arifle_MX_Base_F { ACE_barrelTwist=228.6; - ACE_barrelLength=0.4572; + ACE_barrelLength=457.2; }; class arifle_SDAR_F : SDAR_base_F { ACE_barrelTwist=285.75; - ACE_barrelLength=0.4572; + ACE_barrelLength=457.2; }; class SMG_02_F : SMG_02_Base_F { ACE_barrelTwist=254.0; - ACE_barrelLength=0.19558; + ACE_barrelLength=195.58; }; class arifle_TRG20_F : Tavor_base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.381; + ACE_barrelLength=381.0; }; class arifle_TRG21_F : Tavor_base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.45974; + ACE_barrelLength=459.74; }; class LMG_Zafir_F : Rifle_Long_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.45974; + ACE_barrelLength=459.74; }; class arifle_Mk20_F : Mk20_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.44196; + ACE_barrelLength=441.96; }; class arifle_Mk20C_F : Mk20_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.4064; + ACE_barrelLength=406.4; }; class arifle_Mk20_GL_F : Mk20_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.4064; + ACE_barrelLength=406.4; }; class SMG_01_F : SMG_01_Base { ACE_barrelTwist=406.4; - ACE_barrelLength=0.1397; + ACE_barrelLength=139.7; }; class srifle_DMR_01_F : DMR_01_base_F { ACE_barrelTwist=241.3; - ACE_barrelLength=0.6096; + ACE_barrelLength=609.6; }; class srifle_EBR_F : EBR_base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.6096; + ACE_barrelLength=609.6; }; class LMG_Mk200_F : Rifle_Long_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.3175; + ACE_barrelLength=317.5; }; class srifle_LRR_F : LRR_base_F { ACE_barrelTwist=330.2; - ACE_barrelLength=0.7366; + ACE_barrelLength=736.6; }; class srifle_GM6_F : GM6_base_F { ACE_barrelTwist=381.0; - ACE_barrelLength=1.09982; + ACE_barrelLength=1099.82; }; class srifle_DMR_02_F: DMR_02_base_F { ACE_barrelTwist=254.0; - ACE_barrelLength=0.6604; + ACE_barrelLength=660.4; }; class srifle_DMR_03_F: DMR_03_base_F { ACE_barrelTwist=254.0; - ACE_barrelLength=0.508; + ACE_barrelLength=508.0; }; class srifle_DMR_04_F: DMR_04_base_F { ACE_barrelTwist=203.2; - ACE_barrelLength=0.450088; + ACE_barrelLength=450.088; }; class srifle_DMR_05_blk_F: DMR_05_base_F { ACE_barrelTwist=359.918; - ACE_barrelLength=0.620014; + ACE_barrelLength=620.014; }; class srifle_DMR_06_camo_F: DMR_06_base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.5588; + ACE_barrelLength=558.8; }; class MMG_01_hex_F: MMG_01_base_F { ACE_barrelTwist=359.918; - ACE_barrelLength=0.54991; + ACE_barrelLength=549.91; }; class MMG_02_camo_F: MMG_02_base_F { ACE_barrelTwist=234.95; - ACE_barrelLength=0.6096; + ACE_barrelLength=609.6; }; class HMG_M2 : HMG_127 { ACE_barrelTwist=304.8; - ACE_barrelLength=1.143; + ACE_barrelLength=1143.0; }; class RH_deagle : Pistol_Base_F { ACE_barrelTwist=482.6; - ACE_barrelLength=0.1524; + ACE_barrelLength=152.4; }; class RH_sw659 : Pistol_Base_F { ACE_barrelTwist=248.92; - ACE_barrelLength=0.188976; + ACE_barrelLength=188.976; }; class RH_usp : Pistol_Base_F { ACE_barrelTwist=406.4; - ACE_barrelLength=0.112014; + ACE_barrelLength=112.014; }; class RH_uspm : Pistol_Base_F { ACE_barrelTwist=406.4; - ACE_barrelLength=0.1524; + ACE_barrelLength=152.4; }; class RH_mak : Pistol_Base_F { ACE_barrelTwist=240.03; - ACE_barrelLength=0.093472; + ACE_barrelLength=93.472; }; class RH_m1911 : Pistol_Base_F { ACE_barrelTwist=406.4; - ACE_barrelLength=0.127; + ACE_barrelLength=127.0; }; class RH_kimber : Pistol_Base_F { ACE_barrelTwist=406.4; - ACE_barrelLength=0.127; + ACE_barrelLength=127.0; }; class RH_m9 : Pistol_Base_F { ACE_barrelTwist=248.92; - ACE_barrelLength=0.12446; + ACE_barrelLength=124.46; }; class RH_vz61 : Pistol_Base_F { ACE_barrelTwist=406.4; - ACE_barrelLength=0.1143; + ACE_barrelLength=114.3; }; class RH_tec9 : Pistol_Base_F { ACE_barrelTwist=248.92; - ACE_barrelLength=0.127; + ACE_barrelLength=127.0; }; class RH_muzi : Pistol_Base_F { ACE_barrelTwist=248.92; - ACE_barrelLength=0.127; + ACE_barrelLength=127.0; }; class RH_g18 : Pistol_Base_F { ACE_barrelTwist=248.92; - ACE_barrelLength=0.114046; + ACE_barrelLength=114.046; }; class RH_g17 : Pistol_Base_F { ACE_barrelTwist=248.92; - ACE_barrelLength=0.114046; + ACE_barrelLength=114.046; }; class RH_tt33 : Pistol_Base_F { ACE_barrelTwist=240.03; - ACE_barrelLength=0.11684; + ACE_barrelLength=116.84; }; class RH_mk2 : Pistol_Base_F { ACE_barrelTwist=406.4; - ACE_barrelLength=0.1016; + ACE_barrelLength=101.6; }; class RH_p226 : Pistol_Base_F { ACE_barrelTwist=248.92; - ACE_barrelLength=0.11176; + ACE_barrelLength=111.76; }; class RH_g19 : Pistol_Base_F { ACE_barrelTwist=248.92; - ACE_barrelLength=0.1016; + ACE_barrelLength=101.6; }; class RH_gsh18 : Pistol_Base_F { ACE_barrelTwist=248.92; - ACE_barrelLength=0.10414; + ACE_barrelLength=104.14; }; class RH_mateba : Pistol_Base_F { ACE_barrelTwist=355.6; - ACE_barrelLength=0.1524; + ACE_barrelLength=152.4; }; class RH_python : Pistol_Base_F { ACE_barrelTwist=355.6; - ACE_barrelLength=0.1524; + ACE_barrelLength=152.4; }; class RH_bull : Pistol_Base_F { ACE_barrelTwist=609.6; - ACE_barrelLength=0.1651; + ACE_barrelLength=165.1; }; class RH_ttracker : Pistol_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.1016; + ACE_barrelLength=101.6; }; class RH_mp412 : Pistol_Base_F { ACE_barrelTwist=254.0; - ACE_barrelLength=0.1524; + ACE_barrelLength=152.4; }; class RH_fnp45 : Pistol_Base_F { ACE_barrelTwist=406.4; - ACE_barrelLength=0.1143; + ACE_barrelLength=114.3; }; class RH_fn57 : Pistol_Base_F { ACE_barrelTwist=231.14; - ACE_barrelLength=0.12192; + ACE_barrelLength=121.92; }; class RH_vp70 : Pistol_Base_F { ACE_barrelTwist=248.92; - ACE_barrelLength=0.11684; + ACE_barrelLength=116.84; }; class RH_cz75 : Pistol_Base_F { ACE_barrelTwist=246.38; - ACE_barrelLength=0.11938; + ACE_barrelLength=119.38; }; class RH_PDW : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.254; + ACE_barrelLength=254.0; }; class RH_hb : Rifle_Base_F { ACE_barrelTwist=203.2; - ACE_barrelLength=0.1524; + ACE_barrelLength=152.4; }; class RH_sbr9 : Rifle_Base_F { ACE_barrelTwist=246.38; - ACE_barrelLength=0.2286; + ACE_barrelLength=228.6; }; class RH_ar10 : Rifle_Base_F { ACE_barrelTwist=285.75; - ACE_barrelLength=0.52832; + ACE_barrelLength=528.32; }; class RH_m4 : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.3683; + ACE_barrelLength=368.3; }; class RH_M4m : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.2667; + ACE_barrelLength=266.7; }; class RH_M4sbr : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.2667; + ACE_barrelLength=266.7; }; class RH_M16a1 : Rifle_Base_F { ACE_barrelTwist=355.6; - ACE_barrelLength=0.508; + ACE_barrelLength=508.0; }; class RH_M16A2 : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.508; + ACE_barrelLength=508.0; }; class RH_M16A3 : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.508; + ACE_barrelLength=508.0; }; class RH_M16A4 : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.508; + ACE_barrelLength=508.0; }; class RH_M16A6 : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.508; + ACE_barrelLength=508.0; }; class RH_hk416 : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.3683; + ACE_barrelLength=368.3; }; class RH_hk416c : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.2286; + ACE_barrelLength=228.6; }; class RH_hk416s : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.26416; + ACE_barrelLength=264.16; }; class RH_m27iar : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.4191; + ACE_barrelLength=419.1; }; class RH_Mk12mod1 : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.4572; + ACE_barrelLength=457.2; }; class RH_SAMR : Rifle_Base_F { ACE_barrelTwist=195.58; - ACE_barrelLength=0.508; + ACE_barrelLength=508.0; }; class RH_m110 : Rifle_Base_F { ACE_barrelTwist=254.0; - ACE_barrelLength=0.508; + ACE_barrelLength=508.0; }; class RH_mk11 : Rifle_Base_F { ACE_barrelTwist=285.75; - ACE_barrelLength=0.6096; + ACE_barrelLength=609.6; }; class RH_sr25ec : Rifle_Base_F { ACE_barrelTwist=285.75; - ACE_barrelLength=0.508; + ACE_barrelLength=508.0; }; class hlc_rifle_ak74 : Rifle_Base_F { ACE_barrelTwist=199.898; - ACE_barrelLength=0.41402; + ACE_barrelLength=414.02; }; class hlc_rifle_aks74u : Rifle_Base_F { ACE_barrelTwist=160.02; - ACE_barrelLength=0.21082; + ACE_barrelLength=210.82; }; class hlc_rifle_ak47 : Rifle_Base_F { ACE_barrelTwist=240.03; - ACE_barrelLength=0.41402; + ACE_barrelLength=414.02; }; class hlc_rifle_akm : Rifle_Base_F { ACE_barrelTwist=199.898; - ACE_barrelLength=0.41402; + ACE_barrelLength=414.02; }; class hlc_rifle_rpk : Rifle_Base_F { ACE_barrelTwist=240.03; - ACE_barrelLength=0.58928; + ACE_barrelLength=589.28; }; class hlc_rifle_aek971 : Rifle_Base_F { ACE_barrelTwist=241.3; - ACE_barrelLength=0.4318; + ACE_barrelLength=431.8; }; class hlc_rifle_saiga12k : Rifle_Base_F { ACE_barrelTwist=0.0; ACE_twistDirection=0; - ACE_barrelLength=0.42926; + ACE_barrelLength=429.26; }; class hlc_ar15_base : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.2921; + ACE_barrelLength=292.1; }; class hlc_rifle_bcmjack : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.3683; + ACE_barrelLength=368.3; }; class hlc_rifle_Bushmaster300 : Rifle_Base_F { ACE_barrelTwist=203.2; - ACE_barrelLength=0.4064; + ACE_barrelLength=406.4; }; class hlc_rifle_SAMR : Rifle_Base_F { ACE_barrelTwist=228.6; - ACE_barrelLength=0.4064; + ACE_barrelLength=406.4; }; class hlc_rifle_honeybase : Rifle_Base_F { ACE_barrelTwist=203.2; - ACE_barrelLength=0.1524; + ACE_barrelLength=152.4; }; class hlc_rifle_SLRchopmod : Rifle_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.5334; + ACE_barrelLength=533.4; }; class hlc_rifle_LAR : Rifle_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.5334; + ACE_barrelLength=533.4; }; class hlc_rifle_c1A1 : Rifle_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.55118; + ACE_barrelLength=551.18; }; class hlc_rifle_FAL5061 : Rifle_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.4572; + ACE_barrelLength=457.2; }; class hlc_rifle_STG58F : Rifle_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.5334; + ACE_barrelLength=533.4; }; class hlc_rifle_SLR : Rifle_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.55118; + ACE_barrelLength=551.18; }; class hlc_rifle_falosw : Rifle_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.3302; + ACE_barrelLength=330.2; }; class hlc_rifle_psg1 : Rifle_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.65024; + ACE_barrelLength=650.24; }; class hlc_rifle_g3sg1 : Rifle_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.44958; + ACE_barrelLength=449.58; }; class hlc_rifle_hk51 : Rifle_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.211074; + ACE_barrelLength=211.074; }; class hlc_rifle_hk53 : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.211074; + ACE_barrelLength=211.074; }; class hlc_rifle_g3a3 : Rifle_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.44958; + ACE_barrelLength=449.58; }; class hlc_M14_base : Rifle_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.5588; + ACE_barrelLength=558.8; }; class hlc_rifle_m14sopmod : Rifle_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.4572; + ACE_barrelLength=457.2; }; class hlc_lmg_M60E4 : Rifle_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.4318; + ACE_barrelLength=431.8; }; class hlc_lmg_m60 : Rifle_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.5588; + ACE_barrelLength=558.8; }; class hlc_smg_mp5k_PDW : Rifle_Base_F { ACE_barrelTwist=254.0; - ACE_barrelLength=0.1143; + ACE_barrelLength=114.3; }; class hlc_smg_mp5a2 : Rifle_Base_F { ACE_barrelTwist=254.0; - ACE_barrelLength=0.22606; + ACE_barrelLength=226.06; }; class hlc_smg_mp5a4 : Rifle_Base_F { ACE_barrelTwist=254.0; - ACE_barrelLength=0.22606; + ACE_barrelLength=226.06; }; class hlc_smg_mp5n : Rifle_Base_F { ACE_barrelTwist=254.0; - ACE_barrelLength=0.22606; + ACE_barrelLength=226.06; }; class hlc_smg_mp5sd5 : Rifle_Base_F { ACE_barrelTwist=254.0; - ACE_barrelLength=0.14478; + ACE_barrelLength=144.78; }; class hlc_smg_mp5sd6 : Rifle_Base_F { ACE_barrelTwist=254.0; - ACE_barrelLength=0.14478; + ACE_barrelLength=144.78; }; class hlc_smg_9mmar : Rifle_Base_F { ACE_barrelTwist=254.0; - ACE_barrelLength=0.22606; + ACE_barrelLength=226.06; }; class hlc_smg_mp510 : Rifle_Base_F { ACE_barrelTwist=381.0; - ACE_barrelLength=0.22606; + ACE_barrelLength=226.06; }; class hlc_smg_mp5a3 : Rifle_Base_F { ACE_barrelTwist=254.0; - ACE_barrelLength=0.22606; + ACE_barrelLength=226.06; }; class hgun_mas_usp_F: Pistol_Base_F { ACE_barrelTwist=406.4; - ACE_barrelLength=0.112014; + ACE_barrelLength=112.014; }; class hgun_mas_m23_F: Pistol_Base_F { ACE_barrelTwist=406.4; - ACE_barrelLength=0.149098; + ACE_barrelLength=149.098; }; class hgun_mas_acp_F: Pistol_Base_F { ACE_barrelTwist=406.4; - ACE_barrelLength=0.127762; + ACE_barrelLength=127.762; }; class hgun_mas_m9_F: Pistol_Base_F { ACE_barrelTwist=254.0; - ACE_barrelLength=0.12446; + ACE_barrelLength=124.46; }; class hgun_mas_bhp_F: Pistol_Base_F { ACE_barrelTwist=254.0; - ACE_barrelLength=0.11938; + ACE_barrelLength=119.38; }; class hgun_mas_glock_F: Pistol_Base_F { ACE_barrelTwist=249.936; - ACE_barrelLength=0.113792; + ACE_barrelLength=113.792; }; class hgun_mas_glocksf_F: Pistol_Base_F { ACE_barrelTwist=400.05; - ACE_barrelLength=0.11684; + ACE_barrelLength=116.84; }; class hgun_mas_grach_F: Pistol_Base_F { ACE_barrelTwist=254.0; - ACE_barrelLength=0.11176; + ACE_barrelLength=111.76; }; class hgun_mas_mak_F: Pistol_Base_F { ACE_barrelTwist=240.03; - ACE_barrelLength=0.093472; + ACE_barrelLength=93.472; }; class hgun_mas_sa61_F: Pistol_Base_F { ACE_barrelTwist=406.4; - ACE_barrelLength=0.1143; + ACE_barrelLength=114.3; }; class hgun_mas_uzi_F: Pistol_Base_F { ACE_barrelTwist=254.0; - ACE_barrelLength=0.134112; + ACE_barrelLength=134.112; }; class arifle_mas_mk16 : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.35052; + ACE_barrelLength=350.52; }; class arifle_mas_mk16_l : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.4572; + ACE_barrelLength=457.2; }; class arifle_mas_mk17 : Rifle_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.4064; + ACE_barrelLength=406.4; }; class srifle_mas_m110 : Rifle_Base_F { ACE_barrelTwist=254.0; - ACE_barrelLength=0.508; + ACE_barrelLength=508.0; }; class arifle_mas_ak_74m : Rifle_Base_F { ACE_barrelTwist=199.898; - ACE_barrelLength=0.415036; + ACE_barrelLength=415.036; }; class arifle_mas_ak_74m_gl : Rifle_Base_F { ACE_barrelTwist=199.898; - ACE_barrelLength=0.415036; + ACE_barrelLength=415.036; }; class srifle_mas_svd : Rifle_Base_F { ACE_barrelTwist=238.76; - ACE_barrelLength=0.61976; + ACE_barrelLength=619.76; }; class srifle_mas_m91 : Rifle_Base_F { ACE_barrelTwist=254.0; - ACE_barrelLength=0.7366; + ACE_barrelLength=736.6; }; class srifle_mas_ksvk : Rifle_Base_F { ACE_barrelTwist=457.2; - ACE_barrelLength=0.999998; + ACE_barrelLength=999.998; }; class LMG_mas_rpk_F : Rifle_Base_F { ACE_barrelTwist=195.072; - ACE_barrelLength=0.58928; + ACE_barrelLength=589.28; }; class LMG_mas_pkm_F : Rifle_Base_F { ACE_barrelTwist=240.03; - ACE_barrelLength=0.64516; + ACE_barrelLength=645.16; }; class arifle_mas_aks74u : Rifle_Base_F { ACE_barrelTwist=160.02; - ACE_barrelLength=0.21082; + ACE_barrelLength=210.82; }; class arifle_mas_bizon : Rifle_Base_F { ACE_barrelTwist=240.03; - ACE_barrelLength=0.23114; + ACE_barrelLength=231.14; }; class arifle_mas_saiga : Rifle_Base_F { ACE_barrelTwist=0.0; ACE_twistDirection=0; - ACE_barrelLength=0.430022; + ACE_barrelLength=430.022; }; class arifle_mas_hk416 : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.3683; + ACE_barrelLength=368.3; }; class arifle_mas_hk416_gl : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.3683; + ACE_barrelLength=368.3; }; class arifle_mas_hk416c : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.2286; + ACE_barrelLength=228.6; }; class arifle_mas_hk416_m203c : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.2286; + ACE_barrelLength=228.6; }; class arifle_mas_hk417c : Rifle_Base_F { ACE_barrelTwist=279.4; - ACE_barrelLength=0.3302; + ACE_barrelLength=330.2; }; class arifle_mas_m4 : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.3683; + ACE_barrelLength=368.3; }; class arifle_mas_m4c : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.26162; + ACE_barrelLength=261.62; }; class arifle_mas_l119 : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.4064; + ACE_barrelLength=406.4; }; class arifle_mas_l119_gl : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.4064; + ACE_barrelLength=406.4; }; class arifle_mas_l119_m203 : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.4064; + ACE_barrelLength=406.4; }; class arifle_mas_m16 : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.508; + ACE_barrelLength=508.0; }; class arifle_mas_m16_gl : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.508; + ACE_barrelLength=508.0; }; class srifle_mas_hk417 : Rifle_Base_F { ACE_barrelTwist=279.4; - ACE_barrelLength=0.4191; + ACE_barrelLength=419.1; }; class srifle_mas_sr25 : Rifle_Base_F { ACE_barrelTwist=285.75; - ACE_barrelLength=0.6096; + ACE_barrelLength=609.6; }; class srifle_mas_ebr : Rifle_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.4572; + ACE_barrelLength=457.2; }; class srifle_mas_m24 : Rifle_Base_F { ACE_barrelTwist=285.75; - ACE_barrelLength=0.6096; + ACE_barrelLength=609.6; }; class arifle_mas_mp5 : Rifle_Base_F { ACE_barrelTwist=254.0; - ACE_barrelLength=0.22606; + ACE_barrelLength=226.06; }; class arifle_mas_mp5sd : Rifle_Base_F { ACE_barrelTwist=254.0; - ACE_barrelLength=0.14478; + ACE_barrelLength=144.78; }; class srifle_mas_m107 : Rifle_Base_F { ACE_barrelTwist=381.0; - ACE_barrelLength=0.7366; + ACE_barrelLength=736.6; }; class LMG_mas_M249_F : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.41402; + ACE_barrelLength=414.02; }; class LMG_mas_M249a_F : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.4572; + ACE_barrelLength=457.2; }; class LMG_mas_mk48_F : Rifle_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.50165; + ACE_barrelLength=501.65; }; class LMG_mas_m240_F : Rifle_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.62992; + ACE_barrelLength=629.92; }; class LMG_mas_mg3_F : Rifle_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.56388; + ACE_barrelLength=563.88; }; class arifle_mas_g3 : Rifle_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.44958; + ACE_barrelLength=449.58; }; class arifle_mas_g3_m203 : Rifle_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.44958; + ACE_barrelLength=449.58; }; class arifle_mas_fal : Rifle_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.5334; + ACE_barrelLength=533.4; }; class arifle_mas_fal_m203 : Rifle_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.5334; + ACE_barrelLength=533.4; }; class arifle_mas_m1014 : Rifle_Base_F { ACE_barrelTwist=0.0; ACE_twistDirection=0; - ACE_barrelLength=0.4699; + ACE_barrelLength=469.9; }; class BWA3_P8 : Pistol_Base_F { ACE_barrelTwist=248.92; - ACE_barrelLength=0.10795; + ACE_barrelLength=107.95; }; class BWA3_MP7 : Pistol_Base_F { ACE_barrelTwist=160.02; - ACE_barrelLength=0.18034; + ACE_barrelLength=180.34; }; class BWA3_G36 : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.48006; + ACE_barrelLength=480.06; }; class BWA3_G36K : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.3175; + ACE_barrelLength=317.5; }; class BWA3_G28_Standard : Rifle_Long_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.4191; + ACE_barrelLength=419.1; }; class BWA3_G27 : Rifle_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.4064; + ACE_barrelLength=406.4; }; class BWA3_MG4 : Rifle_Long_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.48006; + ACE_barrelLength=480.06; }; class BWA3_MG5 : Rifle_Long_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.54864; + ACE_barrelLength=548.64; }; class BWA3_G82 : Rifle_Long_Base_F { ACE_barrelTwist=381.0; - ACE_barrelLength=0.7366; + ACE_barrelLength=736.6; }; class Trixie_L131A1 : Pistol_Base_F { ACE_barrelTwist=248.92; - ACE_barrelLength=0.1143; + ACE_barrelLength=114.3; }; class Trixie_XM8_Carbine : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.3175; + ACE_barrelLength=317.5; }; class Trixie_XM8_Compact : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.2286; + ACE_barrelLength=228.6; }; class Trixie_XM8_SAW : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.508; + ACE_barrelLength=508.0; }; class Trixie_XM8_SAW_NB : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.508; + ACE_barrelLength=508.0; }; class Trixie_XM8_DMR : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.508; + ACE_barrelLength=508.0; }; class Trixie_XM8_DMR_NB : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.508; + ACE_barrelLength=508.0; }; class L129A1_base : Rifle_Base_F { ACE_barrelTwist=254.0; - ACE_barrelLength=0.4064; + ACE_barrelLength=406.4; }; class Trixie_Enfield : Rifle_Base_F { ACE_barrelTwist=254.0; - ACE_barrelLength=0.64008; + ACE_barrelLength=640.08; }; class Trixie_CZ550_Rail : Rifle_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.599999; + ACE_barrelLength=599.999; }; class Trixie_FNFAL_Rail : Rifle_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.5334; + ACE_barrelLength=533.4; }; class Trixie_M110 : Rifle_Base_F { ACE_barrelTwist=279.4; - ACE_barrelLength=0.508; + ACE_barrelLength=508.0; }; class Trixie_MK12 : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.4572; + ACE_barrelLength=457.2; }; class Trixie_LM308MWS : Rifle_Base_F { ACE_barrelTwist=285.75; - ACE_barrelLength=0.4064; + ACE_barrelLength=406.4; }; class Trixie_M14DMR : Rifle_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.5588; + ACE_barrelLength=558.8; }; class Trixie_M14DMR_NG_Black_Short : Rifle_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.4572; + ACE_barrelLength=457.2; }; class Trixie_M14DMR_NG_Short : Rifle_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.4572; + ACE_barrelLength=457.2; }; class Trixie_M14 : Rifle_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.5588; + ACE_barrelLength=558.8; }; class Trixie_M40A3 : Rifle_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.6096; + ACE_barrelLength=609.6; }; class Trixie_CZ750 : Rifle_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.6604; + ACE_barrelLength=660.4; }; class Trixie_M24 : Rifle_Base_F { ACE_barrelTwist=285.75; - ACE_barrelLength=0.6096; + ACE_barrelLength=609.6; }; class Trixie_AWM338 : Rifle_Base_F { ACE_barrelTwist=279.4; - ACE_barrelLength=0.6858; + ACE_barrelLength=685.8; }; class Trixie_M107 : Rifle_Base_F { ACE_barrelTwist=381.0; - ACE_barrelLength=0.7366; + ACE_barrelLength=736.6; }; class Trixie_AS50 : Rifle_Base_F { ACE_barrelTwist=381.0; - ACE_barrelLength=0.7366; + ACE_barrelLength=736.6; }; class L110A1_base : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.34798; + ACE_barrelLength=347.98; }; class Trixie_L86A2_base : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.64516; + ACE_barrelLength=645.16; }; class Trixie_l85a2_base : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.51816; + ACE_barrelLength=518.16; }; class L7A2_base : Rifle_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.62992; + ACE_barrelLength=629.92; }; class rhs_weap_pya : Pistol_Base_F { ACE_barrelTwist=254.0; - ACE_barrelLength=0.11176; + ACE_barrelLength=111.76; }; class rhs_weap_pkp : Rifle_Long_Base_F { ACE_barrelTwist=240.03; - ACE_barrelLength=0.65786; + ACE_barrelLength=657.86; }; class rhs_weap_pkm : Rifle_Long_Base_F { ACE_barrelTwist=240.03; - ACE_barrelLength=0.64516; + ACE_barrelLength=645.16; }; class rhs_weap_rpk74m : Rifle_Long_Base_F { ACE_barrelTwist=195.072; - ACE_barrelLength=0.58928; + ACE_barrelLength=589.28; }; class rhs_weap_rpk74 : Rifle_Long_Base_F { ACE_barrelTwist=195.072; - ACE_barrelLength=0.58928; + ACE_barrelLength=589.28; }; class rhs_weap_ak74m : Rifle_Base_F { ACE_barrelTwist=199.898; - ACE_barrelLength=0.41402; + ACE_barrelLength=414.02; }; class rhs_weap_aks74u : Rifle_Base_F { ACE_barrelTwist=160.02; - ACE_barrelLength=0.21082; + ACE_barrelLength=210.82; }; class rhs_weap_akm : Rifle_Base_F { ACE_barrelTwist=199.898; - ACE_barrelLength=0.41402; + ACE_barrelLength=414.02; }; class rhs_weap_svd : Rifle_Base_F { ACE_barrelTwist=238.76; - ACE_barrelLength=0.61976; + ACE_barrelLength=619.76; }; class rhs_weap_svds : Rifle_Base_F { ACE_barrelTwist=238.76; - ACE_barrelLength=0.56388; + ACE_barrelLength=563.88; }; class rhs_weap_m4_Base : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.3683; + ACE_barrelLength=368.3; }; class rhs_weap_m16a4 : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.508; + ACE_barrelLength=508.0; }; class rhs_weap_m16a4_carryhandle : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.508; + ACE_barrelLength=508.0; }; class rhs_weap_m16a4_grip : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.508; + ACE_barrelLength=508.0; }; class rhs_weap_m240B : Rifle_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.62992; + ACE_barrelLength=629.92; }; class rhs_weap_m249_pip : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.41402; + ACE_barrelLength=414.02; }; class rhs_weap_mk18 : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.26162; + ACE_barrelLength=261.62; }; class rhs_weap_M590_5RD : Rifle_Base_F { ACE_barrelTwist=0.0; ACE_twistDirection=0; - ACE_barrelLength=0.4699; + ACE_barrelLength=469.9; }; class rhs_weap_M590_8RD : Rifle_Base_F { ACE_barrelTwist=0.0; ACE_twistDirection=0; - ACE_barrelLength=0.508; + ACE_barrelLength=508.0; }; class rhs_weap_sr25 : Rifle_Base_F { ACE_barrelTwist=285.75; - ACE_barrelLength=0.6096; + ACE_barrelLength=609.6; }; class rhs_weap_sr25_ec : Rifle_Base_F { ACE_barrelTwist=285.75; - ACE_barrelLength=0.508; + ACE_barrelLength=508.0; }; class rhs_weap_XM2010_Base_F: Rifle_Base_F { ACE_barrelTwist=254.0; - ACE_barrelLength=0.6096; + ACE_barrelLength=609.6; }; class R3F_PAMAS : Pistol_Base_F { ACE_barrelTwist=248.92; - ACE_barrelLength=0.12446; + ACE_barrelLength=124.46; }; class R3F_Famas_F1: Rifle_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.48768; + ACE_barrelLength=487.68; }; class R3F_Famas_surb: Rifle_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.40386; + ACE_barrelLength=403.86; }; class R3F_Minimi: Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.34798; + ACE_barrelLength=347.98; }; class R3F_Minimi_762: Rifle_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.50292; + ACE_barrelLength=502.92; }; class R3F_FRF2: Rifle_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.649986; + ACE_barrelLength=649.986; }; class R3F_PGM_Hecate_II: Rifle_Base_F { ACE_barrelTwist=381.0; - ACE_barrelLength=0.70104; + ACE_barrelLength=701.04; }; class R3F_HK417S_HG : Rifle_Base_F { ACE_barrelTwist=279.4; - ACE_barrelLength=0.3048; + ACE_barrelLength=304.8; }; class R3F_HK417M : Rifle_Base_F { ACE_barrelTwist=279.4; - ACE_barrelLength=0.4064; + ACE_barrelLength=406.4; }; class R3F_HK417L : Rifle_Base_F { ACE_barrelTwist=279.4; - ACE_barrelLength=0.508; + ACE_barrelLength=508.0; }; class R3F_M107 : Rifle_Base_F { ACE_barrelTwist=381.0; - ACE_barrelLength=0.7366; + ACE_barrelLength=736.6; }; class R3F_HK416M : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.3556; + ACE_barrelLength=355.6; }; class R3F_MP5SD : Rifle_Base_F { ACE_barrelTwist=254.0; - ACE_barrelLength=0.14478; + ACE_barrelLength=144.78; }; class CUP_hgun_Colt1911 : Pistol_Base_F { ACE_barrelTwist=406.4; - ACE_barrelLength=0.127; + ACE_barrelLength=127.0; }; class CUP_sgun_AA12 : Rifle_Base_F { ACE_barrelTwist=0.0; ACE_twistDirection=0; - ACE_barrelLength=0.4572; + ACE_barrelLength=457.2; }; class CUP_arifle_AK_Base : Rifle_Base_F { ACE_barrelTwist=240.03; - ACE_barrelLength=0.41402; + ACE_barrelLength=414.02; }; class CUP_arifle_AK107_Base : Rifle_Base_F { ACE_barrelTwist=199.898; - ACE_barrelLength=0.41402; + ACE_barrelLength=414.02; }; class CUP_arifle_AKS_Base : Rifle_Base_F { ACE_barrelTwist=199.898; - ACE_barrelLength=0.41402; + ACE_barrelLength=414.02; }; class CUP_arifle_AKS74U : Rifle_Base_F { ACE_barrelTwist=160.02; - ACE_barrelLength=0.21082; + ACE_barrelLength=210.82; }; class CUP_arifle_RPK74 : Rifle_Long_Base_F { ACE_barrelTwist=195.072; - ACE_barrelLength=0.58928; + ACE_barrelLength=589.28; }; class CUP_srifle_AS50 : Rifle_Long_Base_F { ACE_barrelTwist=381.0; - ACE_barrelLength=0.7366; + ACE_barrelLength=736.6; }; class CUP_srifle_AWM_Base : Rifle_Long_Base_F { ACE_barrelTwist=279.4; - ACE_barrelLength=0.6858; + ACE_barrelLength=685.8; }; class CUP_smg_bizon : Rifle_Base_F { ACE_barrelTwist=240.03; - ACE_barrelLength=0.23114; + ACE_barrelLength=231.14; }; class CUP_hgun_Compact : Pistol_Base_F { ACE_barrelTwist=248.92; - ACE_barrelLength=0.094996; + ACE_barrelLength=94.996; }; class CUP_srifle_CZ750 : Rifle_Long_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.6604; + ACE_barrelLength=660.4; }; class CUP_arifle_CZ805_Base : Rifle_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.3556; + ACE_barrelLength=355.6; }; class CUP_arifle_CZ805_A1 : Rifle_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.3556; + ACE_barrelLength=355.6; }; class CUP_arifle_CZ805_A2 : Rifle_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.27686; + ACE_barrelLength=276.86; }; class CUP_srifle_DMR : Rifle_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.5588; + ACE_barrelLength=558.8; }; class CUP_hgun_Duty : Pistol_Base_F { ACE_barrelTwist=248.92; - ACE_barrelLength=0.094996; + ACE_barrelLength=94.996; }; class CUP_arifle_FNFAL : Rifle_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.5334; + ACE_barrelLength=533.4; }; class CUP_arifle_G36A : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.48006; + ACE_barrelLength=480.06; }; class CUP_arifle_G36K : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.3175; + ACE_barrelLength=317.5; }; class CUP_arifle_G36C : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.2286; + ACE_barrelLength=228.6; }; class CUP_arifle_MG36 : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.48006; + ACE_barrelLength=480.06; }; class CUP_hgun_Glock17 : Pistol_Base_F { ACE_barrelTwist=248.92; - ACE_barrelLength=0.114046; + ACE_barrelLength=114.046; }; class CUP_srifle_CZ550 : Rifle_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.599999; + ACE_barrelLength=599.999; }; class CUP_srifle_ksvk : Rifle_Long_Base_F { ACE_barrelTwist=457.2; - ACE_barrelLength=0.999998; + ACE_barrelLength=999.998; }; class CUP_lmg_L7A2 : Rifle_Long_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.62992; + ACE_barrelLength=629.92; }; class CUP_arifle_L85A2_Base : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.51816; + ACE_barrelLength=518.16; }; class CUP_lmg_L110A1 : Rifle_Long_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.34798; + ACE_barrelLength=347.98; }; class CUP_srifle_LeeEnfield : Rifle_Base_F { ACE_barrelTwist=254.0; - ACE_barrelLength=0.64008; + ACE_barrelLength=640.08; }; class CUP_hgun_M9 : Pistol_Base_F { ACE_barrelTwist=248.92; - ACE_barrelLength=0.12446; + ACE_barrelLength=124.46; }; class CUP_srifle_M14 : Rifle_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.5588; + ACE_barrelLength=558.8; }; class CUP_arifle_M16_Base : Rifle_Base_F { ACE_barrelTwist=355.6; - ACE_barrelLength=0.508; + ACE_barrelLength=508.0; }; class CUP_arifle_M4_Base : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.3683; + ACE_barrelLength=368.3; }; class CUP_srifle_Mk12SPR : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.4572; + ACE_barrelLength=457.2; }; class CUP_srifle_M24_des : Rifle_Base_F { ACE_barrelTwist=285.75; - ACE_barrelLength=0.6096; + ACE_barrelLength=609.6; }; class CUP_lmg_M60A4 : Rifle_Long_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.4318; + ACE_barrelLength=431.8; }; class CUP_srifle_M107_Base : Rifle_Long_Base_F { ACE_barrelTwist=381.0; - ACE_barrelLength=0.7366; + ACE_barrelLength=736.6; }; class CUP_srifle_M110 : Rifle_Base_F { ACE_barrelTwist=279.4; - ACE_barrelLength=0.508; + ACE_barrelLength=508.0; }; class CUP_lmg_M240 : Rifle_Long_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.62992; + ACE_barrelLength=629.92; }; class CUP_lmg_M249_para : Rifle_Long_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.41402; + ACE_barrelLength=414.02; }; class CUP_lmg_M249 : Rifle_Long_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.4572; + ACE_barrelLength=457.2; }; class CUP_sgun_M1014 : Rifle_Base_F { ACE_twistDirection=0; ACE_barrelTwist=0.0; - ACE_barrelLength=0.4699; + ACE_barrelLength=469.9; }; class CUP_hgun_Makarov : Pistol_Base_F { ACE_barrelTwist=240.03; - ACE_barrelLength=0.093472; + ACE_barrelLength=93.472; }; class CUP_hgun_MicroUzi : Pistol_Base_F { ACE_barrelTwist=248.92; - ACE_barrelLength=0.127; + ACE_barrelLength=127.0; }; class CUP_lmg_Mk48_Base : Rifle_Long_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.50165; + ACE_barrelLength=501.65; }; class CUP_smg_MP5SD6 : Rifle_Base_F { ACE_barrelTwist=254.0; - ACE_barrelLength=0.14478; + ACE_barrelLength=144.78; }; class CUP_smg_MP5A5 : Rifle_Base_F { ACE_barrelTwist=254.0; - ACE_barrelLength=0.22606; + ACE_barrelLength=226.06; }; class CUP_hgun_PB6P9 : Rifle_Base_F { ACE_barrelTwist=240.03; - ACE_barrelLength=0.10414; + ACE_barrelLength=104.14; }; class CUP_hgun_Phantom : Rifle_Base_F { ACE_barrelTwist=246.38; - ACE_barrelLength=0.11938; + ACE_barrelLength=119.38; }; class CUP_lmg_PKM : Rifle_Long_Base_F { ACE_barrelTwist=240.03; - ACE_barrelLength=0.64516; + ACE_barrelLength=645.16; }; class CUP_lmg_Pecheneg : Rifle_Long_Base_F { ACE_barrelTwist=240.03; - ACE_barrelLength=0.65786; + ACE_barrelLength=657.86; }; class CUP_hgun_TaurusTracker455 : Pistol_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.1016; + ACE_barrelLength=101.6; }; class CUP_arifle_Sa58P : Rifle_Base_F { ACE_barrelTwist=240.03; - ACE_barrelLength=0.39116; + ACE_barrelLength=391.16; }; class CUP_arifle_Sa58V : Rifle_Base_F { ACE_barrelTwist=240.03; - ACE_barrelLength=0.39116; + ACE_barrelLength=391.16; }; class CUP_hgun_SA61 : Pistol_Base_F { ACE_barrelTwist=406.4; - ACE_barrelLength=0.1143; + ACE_barrelLength=114.3; }; class CUP_sgun_Saiga12K: Rifle_Base_F { ACE_barrelTwist=0.0; ACE_twistDirection=0; - ACE_barrelLength=0.42926; + ACE_barrelLength=429.26; } class CUP_arifle_Mk16_CQC : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.254; + ACE_barrelLength=254.0; }; class CUP_arifle_Mk16_STD : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.3556; + ACE_barrelLength=355.6; }; class CUP_arifle_Mk16_SV : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.4572; + ACE_barrelLength=457.2; }; class CUP_arifle_Mk17_CQC : Rifle_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.3302; + ACE_barrelLength=330.2; }; class CUP_arifle_Mk17_STD : Rifle_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.4064; + ACE_barrelLength=406.4; }; class CUP_arifle_Mk20 : Rifle_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.508; + ACE_barrelLength=508.0; }; class CUP_srifle_SVD : Rifle_Base_F { ACE_barrelTwist=238.76; - ACE_barrelLength=0.61976; + ACE_barrelLength=619.76; }; class CUP_lmg_UK59 : Rifle_Long_Base_F { ACE_barrelTwist=381.0; - ACE_barrelLength=0.55118; + ACE_barrelLength=551.18; }; class CUP_DSHKM_W : MGun { ACE_barrelTwist=381.0; - ACE_barrelLength=1.06934; + ACE_barrelLength=1069.34; }; class CUP_KPVT_W : MGun { ACE_barrelTwist=454.914; - ACE_barrelLength=1.3462; + ACE_barrelLength=1346.2; }; class CUP_KPVB_W : MGun { ACE_barrelTwist=454.914; - ACE_barrelLength=1.3462; + ACE_barrelLength=1346.2; }; class CUP_M134 : MGunCore { ACE_barrelTwist=304.8; - ACE_barrelLength=0.5588; + ACE_barrelLength=558.8; }; class CUP_M240_veh_W : Rifle_Long_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.62992; + ACE_barrelLength=629.92; }; class CUP_PKT_W : MGun { ACE_barrelTwist=240.03; - ACE_barrelLength=0.722122; + ACE_barrelLength=722.122; }; class CUP_srifle_VSSVintorez : Rifle_Base_F { ACE_barrelTwist=210.82; - ACE_barrelLength=0.20066; + ACE_barrelLength=200.66; }; class CUP_arifle_XM8_Base : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.3175; + ACE_barrelLength=317.5; }; class CUP_arifle_XM8_Carbine : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.3175; + ACE_barrelLength=317.5; }; class CUP_arifle_xm8_sharpshooter : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.508; + ACE_barrelLength=508.0; }; class CUP_arifle_xm8_SAW : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.508; + ACE_barrelLength=508.0; }; class CUP_arifle_XM8_Compact : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.2286; + ACE_barrelLength=228.6; }; class CUP_arifle_XM8_Railed_Base : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.3175; + ACE_barrelLength=317.5; }; class CUP_arifle_XM8_Carbine_FG : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.3175; + ACE_barrelLength=317.5; }; class VTN_AK_BASE: Rifle_Base_F { ACE_barrelTwist=199.898; - ACE_barrelLength=0.41402; + ACE_barrelLength=414.02; }; class VTN_AK74M: Rifle_Base_F { ACE_barrelTwist=199.898; - ACE_barrelLength=0.41402; + ACE_barrelLength=414.02; }; class VTN_AK74M_GP25: Rifle_Base_F { ACE_barrelTwist=199.898; - ACE_barrelLength=0.41402; + ACE_barrelLength=414.02; }; class VTN_AK74M_GP30M: Rifle_Base_F { ACE_barrelTwist=199.898; - ACE_barrelLength=0.41402; + ACE_barrelLength=414.02; }; class VTN_AKS74: Rifle_Base_F { ACE_barrelTwist=199.898; - ACE_barrelLength=0.41402; + ACE_barrelLength=414.02; }; class VTN_AKS74N: Rifle_Base_F { ACE_barrelTwist=199.898; - ACE_barrelLength=0.41402; + ACE_barrelLength=414.02; }; class VTN_AKS74N_76: Rifle_Base_F { ACE_barrelTwist=199.898; - ACE_barrelLength=0.41402; + ACE_barrelLength=414.02; }; class VTN_AK74_76: Rifle_Base_F { ACE_barrelTwist=199.898; - ACE_barrelLength=0.41402; + ACE_barrelLength=414.02; }; class VTN_AKMS_aa: Rifle_Base_F { ACE_barrelTwist=199.898; - ACE_barrelLength=0.26162; + ACE_barrelLength=261.62; }; class VTN_AKS74U_BASE: Rifle_Base_F { ACE_barrelTwist=160.02; - ACE_barrelLength=0.21082; + ACE_barrelLength=210.82; }; class VTN_AKM_BASE: Rifle_Base_F { ACE_barrelTwist=199.898; - ACE_barrelLength=0.41402; + ACE_barrelLength=414.02; }; class VTN_AKMS: Rifle_Base_F { ACE_barrelTwist=199.898; - ACE_barrelLength=0.41402; + ACE_barrelLength=414.02; }; class VTN_AKMS_T_P: Rifle_Base_F { ACE_barrelTwist=199.898; - ACE_barrelLength=0.41402; + ACE_barrelLength=414.02; }; class VTN_AK103_BASE: Rifle_Base_F { ACE_barrelTwist=240.03; - ACE_barrelLength=0.41402; + ACE_barrelLength=414.02; }; class VTN_AK104_BASE: Rifle_Base_F { ACE_barrelTwist=240.03; - ACE_barrelLength=0.31496; + ACE_barrelLength=314.96; }; class VTN_AK105_BASE: Rifle_Base_F { ACE_barrelTwist=254.0; - ACE_barrelLength=0.31496; + ACE_barrelLength=314.96; }; class VTN_AK105_P_BASE: Rifle_Base_F { ACE_barrelTwist=254.0; - ACE_barrelLength=0.31496; + ACE_barrelLength=314.96; }; class VTN_SVD_BASE: Rifle_Base_F { ACE_barrelTwist=238.76; - ACE_barrelLength=0.61976; + ACE_barrelLength=619.76; }; class VTN_SVD_63: Rifle_Base_F { ACE_barrelTwist=238.76; - ACE_barrelLength=0.61976; + ACE_barrelLength=619.76; }; class VTN_SVD_86: Rifle_Base_F { ACE_barrelTwist=238.76; - ACE_barrelLength=0.61976; + ACE_barrelLength=619.76; }; class VTN_SV98_BASE: Rifle_Base_F { ACE_barrelTwist=320.04; - ACE_barrelLength=0.649986; + ACE_barrelLength=649.986; }; class VTN_PKM_BAS: Rifle_Base_F { ACE_barrelTwist=240.03; - ACE_barrelLength=0.64516; + ACE_barrelLength=645.16; }; class VTN_PKP: Rifle_Base_F { ACE_barrelTwist=240.03; - ACE_barrelLength=0.65786; + ACE_barrelLength=657.86; }; class VTN_PYA: Pistol_Base_F { ACE_barrelTwist=254.0; - ACE_barrelLength=0.11176; + ACE_barrelLength=111.76; }; class VTN_PM: Pistol_Base_F { ACE_barrelTwist=240.03; - ACE_barrelLength=0.093472; + ACE_barrelLength=93.472; }; class VTN_PB: Pistol_Base_F { ACE_barrelTwist=240.03; - ACE_barrelLength=0.10414; + ACE_barrelLength=104.14; }; class VTN_GSH18: Pistol_Base_F { ACE_barrelTwist=248.92; - ACE_barrelLength=0.10414; + ACE_barrelLength=104.14; }; class VTN_PSS: Pistol_Base_F { ACE_barrelTwist=406.4; - ACE_barrelLength=0.03556; + ACE_barrelLength=35.56; }; class VTN_PKT: Rifle_Base_F { ACE_barrelTwist=240.03; - ACE_barrelLength=0.722122; + ACE_barrelLength=722.122; }; class VTN_KORD: Rifle_Base_F { ACE_barrelTwist=454.914; - ACE_barrelLength=1.3462; + ACE_barrelLength=1346.2; }; class VTN_KPVT: Rifle_Base_F { ACE_barrelTwist=454.914; - ACE_barrelLength=1.3462; + ACE_barrelLength=1346.2; }; class VTN_C_M4A1 : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.3683; + ACE_barrelLength=368.3; }; class VTN_MK18MOD0: Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.26162; + ACE_barrelLength=261.62; }; class VTN_M16_BASE: Rifle_Base_F { ACE_barrelTwist=355.6; - ACE_barrelLength=0.508; + ACE_barrelLength=508.0; }; class VTN_FN_SAMR_BASE: Rifle_Base_F { ACE_barrelTwist=195.58; - ACE_barrelLength=0.508; + ACE_barrelLength=508.0; }; class VTN_M249_SAW_BASE: Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.4572; + ACE_barrelLength=457.2; }; class VTN_M249_PARA: Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.41402; + ACE_barrelLength=414.02; }; class VTN_M240G_BASE: Rifle_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.62992; + ACE_barrelLength=629.92; }; class VTN_M9: Pistol_Base_F { ACE_barrelTwist=248.92; - ACE_barrelLength=0.12446; + ACE_barrelLength=124.46; }; class VTN_M45A1: Pistol_Base_F { ACE_barrelTwist=406.4; - ACE_barrelLength=0.127; + ACE_barrelLength=127.0; }; class VTN_M24: Rifle_Base_F { ACE_barrelTwist=285.75; - ACE_barrelLength=0.6096; + ACE_barrelLength=609.6; }; class VTN_M240: Rifle_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.62992; + ACE_barrelLength=629.92; }; class VTN_KO44: Rifle_Base_F { ACE_barrelTwist=241.3; - ACE_barrelLength=0.51308; + ACE_barrelLength=513.08; }; class VTN_SAIGA_MK03: Rifle_Base_F { ACE_twistDirection=9.45; - ACE_barrelLength=0.41402; + ACE_barrelLength=414.02; }; }; \ No newline at end of file diff --git a/optionals/compat_cup/CfgAmmo.hpp b/optionals/compat_cup/CfgAmmo.hpp index e58561ec1f..58f61aedce 100644 --- a/optionals/compat_cup/CfgAmmo.hpp +++ b/optionals/compat_cup/CfgAmmo.hpp @@ -14,7 +14,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={780, 880, 920}; - ACE_barrelLengths[]={0.254, 0.41402, 0.508}; + ACE_barrelLengths[]={254.0, 414.02, 508.0}; }; class CUP_B_545x39_Ball_Tracer_Green: CUP_B_545x39_Ball { @@ -27,7 +27,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={785, 883, 925}; - ACE_barrelLengths[]={0.254, 0.41402, 0.508}; + ACE_barrelLengths[]={254.0, 414.02, 508.0}; }; class CUP_B_545x39_Ball_Tracer_Red: BulletBase { @@ -40,7 +40,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={785, 883, 925}; - ACE_barrelLengths[]={0.254, 0.41402, 0.508}; + ACE_barrelLengths[]={254.0, 414.02, 508.0}; }; class CUP_B_545x39_Ball_Tracer_White: BulletBase { @@ -53,7 +53,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={785, 883, 925}; - ACE_barrelLengths[]={0.254, 0.41402, 0.508}; + ACE_barrelLengths[]={254.0, 414.02, 508.0}; }; class CUP_B_545x39_Ball_Tracer_Yellow: BulletBase { @@ -66,7 +66,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={785, 883, 925}; - ACE_barrelLengths[]={0.254, 0.41402, 0.508}; + ACE_barrelLengths[]={254.0, 414.02, 508.0}; }; class CUP_B_762x39_Ball: BulletBase { @@ -79,7 +79,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={650, 716, 750}; - ACE_barrelLengths[]={0.254, 0.41402, 0.508}; + ACE_barrelLengths[]={254.0, 414.02, 508.0}; }; class CUP_B_762x39_Ball_Tracer_Green: BulletBase { @@ -92,7 +92,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={650, 716, 750}; - ACE_barrelLengths[]={0.254, 0.41402, 0.508}; + ACE_barrelLengths[]={254.0, 414.02, 508.0}; }; class CUP_B_9x18_Ball: BulletBase { @@ -105,7 +105,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={298, 330, 350}; - ACE_barrelLengths[]={0.09652, 0.127, 0.2286}; + ACE_barrelLengths[]={96.52, 127.0, 228.6}; }; class CUP_B_9x18_Ball_Tracer_Green: BulletBase { @@ -118,7 +118,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={298, 330, 350}; - ACE_barrelLengths[]={0.09652, 0.127, 0.2286}; + ACE_barrelLengths[]={96.52, 127.0, 228.6}; }; class CUP_B_9x18_Ball_Tracer_Red: BulletBase { @@ -131,7 +131,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={298, 330, 350}; - ACE_barrelLengths[]={0.09652, 0.127, 0.2286}; + ACE_barrelLengths[]={96.52, 127.0, 228.6}; }; class CUP_B_9x18_Ball_Tracer_Yellow: BulletBase { @@ -144,7 +144,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={298, 330, 350}; - ACE_barrelLengths[]={0.09652, 0.127, 0.2286}; + ACE_barrelLengths[]={96.52, 127.0, 228.6}; }; class CUP_B_9x18_Ball_White_Tracer: BulletBase { @@ -157,7 +157,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={298, 330, 350}; - ACE_barrelLengths[]={0.09652, 0.127, 0.2286}; + ACE_barrelLengths[]={96.52, 127.0, 228.6}; }; class CUP_B_9x19_Ball: BulletBase { @@ -170,7 +170,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={340, 370, 400}; - ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; + ACE_barrelLengths[]={101.6, 127.0, 228.6}; }; class CUP_B_762x51_noTracer: B_762x51_Ball { @@ -183,7 +183,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={700, 800, 820, 833, 845}; - ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={254.0, 406.4, 508.0, 609.6, 660.4}; }; class CUP_B_303_Ball: BulletBase { @@ -196,7 +196,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={748, 761, 765}; - ACE_barrelLengths[]={0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={508.0, 609.6, 660.4}; }; class CUP_B_127x107_Ball_Green_Tracer: BulletBase { @@ -209,7 +209,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={820}; - ACE_barrelLengths[]={0.72898}; + ACE_barrelLengths[]={728.98}; }; class CUP_B_127x108_Ball_Green_Tracer: BulletBase { @@ -222,7 +222,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={820}; - ACE_barrelLengths[]={0.72898}; + ACE_barrelLengths[]={728.98}; }; class CUP_B_762x54_Ball_White_Tracer: BulletBase { @@ -235,7 +235,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={680, 750, 798, 800}; - ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={406.4, 508.0, 609.6, 660.4}; }; class CUP_B_762x54_Ball_Red_Tracer: BulletBase { @@ -248,7 +248,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={680, 750, 798, 800}; - ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={406.4, 508.0, 609.6, 660.4}; }; class CUP_B_762x54_Ball_Green_Tracer: BulletBase { @@ -261,7 +261,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={680, 750, 798, 800}; - ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={406.4, 508.0, 609.6, 660.4}; }; class CUP_B_762x54_Ball_Yellow_Tracer: BulletBase { @@ -274,7 +274,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={680, 750, 798, 800}; - ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={406.4, 508.0, 609.6, 660.4}; }; class CUP_B_9x39_SP5: BulletBase { @@ -287,7 +287,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={280, 300, 320}; - ACE_barrelLengths[]={0.254, 0.41402, 0.508}; + ACE_barrelLengths[]={254.0, 414.02, 508.0}; }; class CUP_B_762x51_Tracer_Green: BulletBase { @@ -300,7 +300,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={700, 800, 820, 833, 845}; - ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={254.0, 406.4, 508.0, 609.6, 660.4}; }; class CUP_B_762x51_Tracer_Red: BulletBase { @@ -313,7 +313,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={700, 800, 820, 833, 845}; - ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={254.0, 406.4, 508.0, 609.6, 660.4}; }; class CUP_B_762x51_Tracer_Yellow: BulletBase { @@ -326,7 +326,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={700, 800, 820, 833, 845}; - ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={254.0, 406.4, 508.0, 609.6, 660.4}; }; class CUP_B_762x51_Tracer_White: BulletBase { @@ -339,7 +339,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={700, 800, 820, 833, 845}; - ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={254.0, 406.4, 508.0, 609.6, 660.4}; }; class B_127x107_Ball: BulletBase { @@ -352,7 +352,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={820}; - ACE_barrelLengths[]={0.72898}; + ACE_barrelLengths[]={728.98}; }; class CUP_B_9x18_SD: BulletBase { @@ -365,7 +365,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={298, 330, 340}; - ACE_barrelLengths[]={0.09652, 0.127, 0.2286}; + ACE_barrelLengths[]={96.52, 127.0, 228.6}; }; class CUP_B_765x17_Ball: BulletBase { @@ -378,7 +378,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={282, 300, 320}; - ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; + ACE_barrelLengths[]={101.6, 127.0, 228.6}; }; class CUP_B_145x115_AP_Green_Tracer: BulletBase { @@ -391,7 +391,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={1000}; - ACE_barrelLengths[]={1.3462}; + ACE_barrelLengths[]={1346.2}; }; class CUP_B_127x99_Ball_White_Tracer: B_127x99_Ball { @@ -404,7 +404,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={853}; - ACE_barrelLengths[]={0.7366}; + ACE_barrelLengths[]={736.6}; }; class CUP_B_86x70_Ball_noTracer: BulletBase { @@ -417,6 +417,6 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={820, 826, 830}; - ACE_barrelLengths[]={0.6096, 0.6731, 0.7112}; + ACE_barrelLengths[]={609.6, 673.1, 711.2}; }; }; \ No newline at end of file diff --git a/optionals/compat_hlc_ar15/CfgWeapons.hpp b/optionals/compat_hlc_ar15/CfgWeapons.hpp index 4f3fb2328c..53928f25d4 100644 --- a/optionals/compat_hlc_ar15/CfgWeapons.hpp +++ b/optionals/compat_hlc_ar15/CfgWeapons.hpp @@ -5,61 +5,61 @@ class CfgWeapons class hlc_ar15_base: Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.2921; + ACE_barrelLength=292.1; }; class hlc_rifle_RU556: hlc_ar15_base { ACE_barrelTwist=177.8; - ACE_barrelLength=0.26162; + ACE_barrelLength=261.62; }; class hlc_rifle_RU5562: hlc_rifle_RU556 { ACE_barrelTwist=177.8; - ACE_barrelLength=0.26162; + ACE_barrelLength=261.62; }; class hlc_rifle_CQBR: hlc_rifle_RU556 { ACE_barrelTwist=177.8; - ACE_barrelLength=0.254; + ACE_barrelLength=254.0; }; class hlc_rifle_M4: hlc_rifle_RU556 { ACE_barrelTwist=177.8; - ACE_barrelLength=0.3683; + ACE_barrelLength=368.3; }; class hlc_rifle_bcmjack: hlc_ar15_base { ACE_barrelTwist=177.8; - ACE_barrelLength=0.3683; + ACE_barrelLength=368.3; }; class hlc_rifle_Colt727: hlc_ar15_base { ACE_barrelTwist=177.8; - ACE_barrelLength=0.3683; + ACE_barrelLength=368.3; }; class hlc_rifle_Colt727_GL: hlc_rifle_Colt727 { ACE_barrelTwist=177.8; - ACE_barrelLength=0.3683; + ACE_barrelLength=368.3; }; class hlc_rifle_Bushmaster300: hlc_rifle_Colt727 { ACE_barrelTwist=203.2; - ACE_barrelLength=0.3683; + ACE_barrelLength=368.3; }; class hlc_rifle_vendimus: hlc_rifle_Bushmaster300 { ACE_barrelTwist=203.2; - ACE_barrelLength=0.4064; + ACE_barrelLength=406.4; }; class hlc_rifle_SAMR: hlc_rifle_RU556 { ACE_barrelTwist=228.6; - ACE_barrelLength=0.4064; + ACE_barrelLength=406.4; }; class hlc_rifle_honeybase: hlc_rifle_RU556 { ACE_barrelTwist=203.2; - ACE_barrelLength=0.1524; + ACE_barrelLength=152.4; }; }; \ No newline at end of file diff --git a/optionals/compat_hlc_wp_mp5/CfgWeapons.hpp b/optionals/compat_hlc_wp_mp5/CfgWeapons.hpp index 1c67a19815..b9cc94818e 100644 --- a/optionals/compat_hlc_wp_mp5/CfgWeapons.hpp +++ b/optionals/compat_hlc_wp_mp5/CfgWeapons.hpp @@ -5,56 +5,56 @@ class CfgWeapons class hlc_MP5_base: Rifle_Base_F { ACE_barrelTwist=254.0; - ACE_barrelLength=0.2286; + ACE_barrelLength=228.6; }; class hlc_smg_mp5k_PDW: hlc_MP5_base { ACE_barrelTwist=254.0; - ACE_barrelLength=0.1143; + ACE_barrelLength=114.3; }; class hlc_smg_mp5k: hlc_smg_mp5k_PDW { ACE_barrelTwist=254.0; - ACE_barrelLength=0.1143; + ACE_barrelLength=114.3; }; class hlc_smg_mp5a2: hlc_MP5_base { ACE_barrelTwist=254.0; - ACE_barrelLength=0.2286; + ACE_barrelLength=228.6; }; class hlc_smg_MP5N: hlc_MP5_base { ACE_barrelTwist=254.0; - ACE_barrelLength=0.2286; + ACE_barrelLength=228.6; }; class hlc_smg_9mmar: hlc_smg_MP5N { ACE_barrelTwist=254.0; - ACE_barrelLength=0.2286; + ACE_barrelLength=228.6; }; class hlc_smg_mp5a4: hlc_MP5_base { ACE_barrelTwist=254.0; - ACE_barrelLength=0.2286; + ACE_barrelLength=228.6; }; class hlc_smg_mp510: hlc_smg_MP5N { ACE_barrelTwist=381.0; - ACE_barrelLength=0.2286; + ACE_barrelLength=228.6; }; class hlc_smg_mp5sd5: hlc_MP5_base { ACE_barrelTwist=254.0; - ACE_barrelLength=0.2286; + ACE_barrelLength=228.6; }; class hlc_smg_mp5a3: hlc_smg_mp5a2 { ACE_barrelTwist=254.0; - ACE_barrelLength=0.2286; + ACE_barrelLength=228.6; }; class hlc_smg_mp5sd6: hlc_smg_mp5sd5 { ACE_barrelTwist=254.0; - ACE_barrelLength=0.2286; + ACE_barrelLength=228.6; }; }; diff --git a/optionals/compat_hlcmods_ak/CfgWeapons.hpp b/optionals/compat_hlcmods_ak/CfgWeapons.hpp index a69f1b192e..82e319ef7c 100644 --- a/optionals/compat_hlcmods_ak/CfgWeapons.hpp +++ b/optionals/compat_hlcmods_ak/CfgWeapons.hpp @@ -7,52 +7,52 @@ class CfgWeapons class hlc_rifle_ak74: hlc_ak_base { ACE_barrelTwist=199.898; - ACE_barrelLength=0.41402; + ACE_barrelLength=414.02; }; class hlc_rifle_aku12: hlc_rifle_ak12 { ACE_barrelTwist=160.02; - ACE_barrelLength=0.21082; + ACE_barrelLength=210.82; }; class hlc_rifle_RPK12: hlc_rifle_ak12 { - ACE_barrelLength=0.58928; + ACE_barrelLength=589.28; }; class hlc_rifle_aks74u: hlc_rifle_ak74 { ACE_barrelTwist=160.02; - ACE_barrelLength=0.21082; + ACE_barrelLength=210.82; }; class hlc_rifle_ak47: hlc_rifle_ak74 { ACE_barrelTwist=240.03; - ACE_barrelLength=0.41402; + ACE_barrelLength=414.02; }; class hlc_rifle_akm: hlc_rifle_ak47 { ACE_barrelTwist=199.898; - ACE_barrelLength=0.41402; + ACE_barrelLength=414.02; }; class hlc_rifle_rpk: hlc_rifle_ak47 { ACE_barrelTwist=240.03; - ACE_barrelLength=0.58928; + ACE_barrelLength=589.28; }; class hlc_rifle_rpk74n: hlc_rifle_rpk { ACE_barrelTwist=240.03; - ACE_barrelLength=0.58928; + ACE_barrelLength=589.28; }; class hlc_rifle_aek971: hlc_rifle_ak74 { ACE_barrelTwist=241.3; - ACE_barrelLength=0.4318; + ACE_barrelLength=431.8; }; class hlc_rifle_saiga12k: hlc_rifle_ak47 { ACE_barrelTwist=0.0; ACE_twistDirection=0; - ACE_barrelLength=0.42926; + ACE_barrelLength=429.26; }; class HLC_Optic_PSO1 : optic_dms { diff --git a/optionals/compat_hlcmods_aug/CfgWeapons.hpp b/optionals/compat_hlcmods_aug/CfgWeapons.hpp index 9e34e45f2f..4666605348 100644 --- a/optionals/compat_hlcmods_aug/CfgWeapons.hpp +++ b/optionals/compat_hlcmods_aug/CfgWeapons.hpp @@ -6,46 +6,46 @@ class CfgWeapons class hlc_rifle_aug: hlc_aug_base { ACE_barrelTwist=228.6; - ACE_barrelLength=0.508; + ACE_barrelLength=508.0; }; class hlc_rifle_auga1carb: hlc_rifle_aug { ACE_barrelTwist=228.6; - ACE_barrelLength=0.4064; + ACE_barrelLength=406.4; }; class hlc_rifle_aughbar: hlc_rifle_aug { ACE_barrelTwist=228.6; - ACE_barrelLength=0.6096; + ACE_barrelLength=609.6; }; class hlc_rifle_augpara: hlc_rifle_aug { ACE_barrelTwist=228.6; - ACE_barrelLength=0.4191; + ACE_barrelLength=419.1; }; class hlc_rifle_auga2: hlc_rifle_aug { ACE_barrelTwist=228.6; - ACE_barrelLength=0.508; + ACE_barrelLength=508.0; }; class hlc_rifle_auga2para: hlc_rifle_auga2 { ACE_barrelTwist=228.6; - ACE_barrelLength=0.4191; + ACE_barrelLength=419.1; }; class hlc_rifle_auga2carb: hlc_rifle_auga2 { ACE_barrelTwist=228.6; - ACE_barrelLength=0.4572; + ACE_barrelLength=457.2; }; class hlc_rifle_auga2lsw: hlc_rifle_aughbar { ACE_barrelTwist=228.6; - ACE_barrelLength=0.6096; + ACE_barrelLength=609.6; }; class hlc_rifle_auga3: hlc_rifle_aug { ACE_barrelTwist=228.6; - ACE_barrelLength=0.4572; + ACE_barrelLength=457.2; }; }; \ No newline at end of file diff --git a/optionals/compat_hlcmods_core/CfgAmmo.hpp b/optionals/compat_hlcmods_core/CfgAmmo.hpp index c9446ff29e..afe3f03973 100644 --- a/optionals/compat_hlcmods_core/CfgAmmo.hpp +++ b/optionals/compat_hlcmods_core/CfgAmmo.hpp @@ -17,7 +17,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={723, 764, 796, 825, 843, 866, 878, 892, 906, 915, 922, 900}; - ACE_barrelLengths[]={0.21082, 0.23876, 0.26924, 0.29972, 0.3302, 0.36068, 0.39116, 0.4191, 0.44958, 0.48006, 0.508, 0.6096}; + ACE_barrelLengths[]={210.82, 238.76, 269.24, 299.72, 330.2, 360.68, 391.16, 419.1, 449.58, 480.06, 508.0, 609.6}; }; class HLC_556NATO_SOST: B_556x45_Ball { @@ -30,7 +30,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={780, 886, 950}; - ACE_barrelLengths[]={0.254, 0.3937, 0.508}; + ACE_barrelLengths[]={254.0, 393.7, 508.0}; }; class HLC_556NATO_SPR: B_556x45_Ball { @@ -43,7 +43,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={624, 816, 832, 838}; - ACE_barrelLengths[]={0.1905, 0.3683, 0.4572, 0.508}; + ACE_barrelLengths[]={190.5, 368.3, 457.2, 508.0}; }; class HLC_300Blackout_Ball: B_556x45_Ball { @@ -56,7 +56,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={559, 609, 625}; - ACE_barrelLengths[]={0.1524, 0.4064, 0.508}; + ACE_barrelLengths[]={152.4, 406.4, 508.0}; }; class HLC_300Blackout_SMK: HLC_300Blackout_Ball { @@ -69,7 +69,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={300, 320, 340}; - ACE_barrelLengths[]={0.2286, 0.4064, 0.508}; + ACE_barrelLengths[]={228.6, 406.4, 508.0}; }; class HLC_762x39_Ball: HLC_300Blackout_Ball { @@ -82,7 +82,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={650, 716, 750}; - ACE_barrelLengths[]={0.254, 0.41402, 0.508}; + ACE_barrelLengths[]={254.0, 414.02, 508.0}; }; class HLC_762x39_Tracer: HLC_762x39_Ball { @@ -95,7 +95,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={650, 716, 750}; - ACE_barrelLengths[]={0.254, 0.41402, 0.508}; + ACE_barrelLengths[]={254.0, 414.02, 508.0}; }; class HLC_762x51_MK316_20in: B_762x51_Ball { @@ -108,7 +108,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={750, 780, 790, 794}; - ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={406.4, 508.0, 609.6, 660.4}; }; class HLC_762x51_BTSub: B_762x51_Ball { @@ -121,7 +121,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={305, 325, 335, 340}; - ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={406.4, 508.0, 609.6, 660.4}; }; class HLC_762x54_ball: HLC_762x51_ball { @@ -134,7 +134,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={700, 800, 820, 833}; - ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={406.4, 508.0, 609.6, 660.4}; }; class HLC_762x54_tracer: HLC_762x51_tracer { @@ -147,7 +147,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={680, 750, 798, 800}; - ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={406.4, 508.0, 609.6, 660.4}; }; class HLC_303Brit_B: B_556x45_Ball { @@ -160,7 +160,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={748, 761, 765}; - ACE_barrelLengths[]={0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={508.0, 609.6, 660.4}; }; class HLC_792x57_Ball: HLC_303Brit_B { @@ -173,7 +173,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={785, 800, 815}; - ACE_barrelLengths[]={0.508, 0.599948, 0.6604}; + ACE_barrelLengths[]={508.0, 599.948, 660.4}; }; class HLC_542x42_ball: HLC_303Brit_B { @@ -192,14 +192,14 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={780, 880, 920}; - ACE_barrelLengths[]={0.254, 0.41402, 0.508}; + ACE_barrelLengths[]={254.0, 414.02, 508.0}; }; class FH_545x39_7u1: FH_545x39_Ball { ACE_bulletMass=5.184; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_muzzleVelocities[]={260, 303, 320}; - ACE_barrelLengths[]={0.254, 0.41402, 0.508}; + ACE_barrelLengths[]={254.0, 414.02, 508.0}; }; class HLC_57x28mm_JHP: FH_545x39_Ball { @@ -212,7 +212,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={550, 625, 720}; - ACE_barrelLengths[]={0.1016, 0.1524, 0.26289}; + ACE_barrelLengths[]={101.6, 152.4, 262.89}; }; class HLC_9x19_Ball: B_556x45_Ball { @@ -225,7 +225,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={340, 370, 400}; - ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; + ACE_barrelLengths[]={101.6, 127.0, 228.6}; }; class HLC_9x19_M882_SMG: B_556x45_Ball { @@ -238,7 +238,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={340, 370, 400}; - ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; + ACE_barrelLengths[]={101.6, 127.0, 228.6}; }; class HLC_9x19_GoldDot: HLC_9x19_Ball { @@ -259,7 +259,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={360, 400, 430}; - ACE_barrelLengths[]={0.1016, 0.117094, 0.2286}; + ACE_barrelLengths[]={101.6, 117.094, 228.6}; }; class HLC_45ACP_Ball: B_556x45_Ball { @@ -272,7 +272,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={230, 250, 285}; - ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; + ACE_barrelLengths[]={101.6, 127.0, 228.6}; }; class FH_44Mag: HLC_45ACP_Ball { @@ -285,7 +285,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={360, 390, 420}; - ACE_barrelLengths[]={0.1016, 0.1905, 0.2286}; + ACE_barrelLengths[]={101.6, 190.5, 228.6}; }; class FH_50BMG_SLAP: B_127x99_Ball { @@ -298,7 +298,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={1204}; - ACE_barrelLengths[]={0.7366}; + ACE_barrelLengths[]={736.6}; }; class FH_50BMG_Raufoss: B_127x99_Ball { @@ -311,6 +311,6 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={817}; - ACE_barrelLengths[]={0.7366}; + ACE_barrelLengths[]={736.6}; }; }; diff --git a/optionals/compat_hlcmods_fal/CfgWeapons.hpp b/optionals/compat_hlcmods_fal/CfgWeapons.hpp index 5e4a18caf1..fd826a6804 100644 --- a/optionals/compat_hlcmods_fal/CfgWeapons.hpp +++ b/optionals/compat_hlcmods_fal/CfgWeapons.hpp @@ -5,46 +5,46 @@ class CfgWeapons class hlc_rifle_falosw: hlc_fal_base { ACE_barrelTwist=304.8; - ACE_barrelLength=0.3302; + ACE_barrelLength=330.2; }; class hlc_rifle_osw_GL: hlc_rifle_falosw { ACE_barrelTwist=304.8; - ACE_barrelLength=0.3302; + ACE_barrelLength=330.2; }; class hlc_rifle_SLR: hlc_fal_base { ACE_barrelTwist=304.8; - ACE_barrelLength=0.55118; + ACE_barrelLength=551.18; }; class hlc_rifle_STG58F: hlc_fal_base { ACE_barrelTwist=304.8; - ACE_barrelLength=0.5334; + ACE_barrelLength=533.4; }; class hlc_rifle_FAL5061: hlc_fal_base { ACE_barrelTwist=304.8; - ACE_barrelLength=0.4572; + ACE_barrelLength=457.2; }; class hlc_rifle_L1A1SLR: hlc_rifle_SLR { ACE_barrelTwist=304.8; - ACE_barrelLength=0.55118; + ACE_barrelLength=551.18; }; class hlc_rifle_c1A1: hlc_rifle_SLR { ACE_barrelTwist=304.8; - ACE_barrelLength=0.55118; + ACE_barrelLength=551.18; }; class hlc_rifle_LAR: hlc_rifle_FAL5061 { ACE_barrelTwist=304.8; - ACE_barrelLength=0.5334; + ACE_barrelLength=533.4; }; class hlc_rifle_SLRchopmod: hlc_rifle_FAL5061 { ACE_barrelTwist=304.8; - ACE_barrelLength=0.4572; + ACE_barrelLength=457.2; }; }; \ No newline at end of file diff --git a/optionals/compat_hlcmods_g3/CfgWeapons.hpp b/optionals/compat_hlcmods_g3/CfgWeapons.hpp index f6b7a9c133..dc02124667 100644 --- a/optionals/compat_hlcmods_g3/CfgWeapons.hpp +++ b/optionals/compat_hlcmods_g3/CfgWeapons.hpp @@ -5,41 +5,41 @@ class CfgWeapons class hlc_rifle_g3sg1: hlc_g3_base { ACE_barrelTwist=304.8; - ACE_barrelLength=0.44958; + ACE_barrelLength=449.58; }; class hlc_rifle_psg1: hlc_rifle_g3sg1 { ACE_barrelTwist=304.8; - ACE_barrelLength=0.65024; + ACE_barrelLength=650.24; }; class hlc_rifle_g3a3: hlc_rifle_g3sg1 { ACE_barrelTwist=304.8; - ACE_barrelLength=0.44958; + ACE_barrelLength=449.58; }; class hlc_rifle_g3a3ris: hlc_rifle_g3a3 { ACE_barrelTwist=304.8; - ACE_barrelLength=0.44958; + ACE_barrelLength=449.58; }; class hlc_rifle_g3ka4: hlc_rifle_g3a3 { ACE_barrelTwist=304.8; - ACE_barrelLength=0.31496; + ACE_barrelLength=314.96; }; class HLC_Rifle_g3ka4_GL: hlc_rifle_g3ka4 { ACE_barrelTwist=304.8; - ACE_barrelLength=0.31496; + ACE_barrelLength=314.96; }; class hlc_rifle_hk51: hlc_rifle_g3sg1 { ACE_barrelTwist=304.8; - ACE_barrelLength=0.211074; + ACE_barrelLength=211.074; }; class hlc_rifle_hk53: hlc_rifle_g3sg1 { ACE_barrelTwist=177.8; - ACE_barrelLength=0.211074; + ACE_barrelLength=211.074; }; }; \ No newline at end of file diff --git a/optionals/compat_hlcmods_m14/CfgWeapons.hpp b/optionals/compat_hlcmods_m14/CfgWeapons.hpp index e2f081c547..64db736003 100644 --- a/optionals/compat_hlcmods_m14/CfgWeapons.hpp +++ b/optionals/compat_hlcmods_m14/CfgWeapons.hpp @@ -6,11 +6,11 @@ class CfgWeapons class hlc_M14_base: Rifle_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.5588; + ACE_barrelLength=558.8; }; class hlc_rifle_m14sopmod: hlc_rifle_M14 { ACE_barrelTwist=304.8; - ACE_barrelLength=0.4572; + ACE_barrelLength=457.2; }; }; diff --git a/optionals/compat_hlcmods_m60e4/CfgWeapons.hpp b/optionals/compat_hlcmods_m60e4/CfgWeapons.hpp index 682e2cd5fa..50b4ffbc80 100644 --- a/optionals/compat_hlcmods_m60e4/CfgWeapons.hpp +++ b/optionals/compat_hlcmods_m60e4/CfgWeapons.hpp @@ -5,11 +5,11 @@ class CfgWeapons class hlc_lmg_M60E4: hlc_M60e4_base { ACE_barrelTwist=304.8; - ACE_barrelLength=0.4318; + ACE_barrelLength=431.8; }; class hlc_lmg_m60: hlc_M60e4_base { ACE_barrelTwist=304.8; - ACE_barrelLength=0.5588; + ACE_barrelLength=558.8; }; }; diff --git a/optionals/compat_rh_de/CfgAmmo.hpp b/optionals/compat_rh_de/CfgAmmo.hpp index 8d3e230e1c..2297d89023 100644 --- a/optionals/compat_rh_de/CfgAmmo.hpp +++ b/optionals/compat_rh_de/CfgAmmo.hpp @@ -13,7 +13,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={360, 398, 420}; - ACE_barrelLengths[]={0.1016, 0.1524, 0.2286}; + ACE_barrelLengths[]={101.6, 152.4, 228.6}; }; class RH_454_Casull: BulletBase { @@ -26,7 +26,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={450, 490, 500}; - ACE_barrelLengths[]={0.1016, 0.1905, 0.2286}; + ACE_barrelLengths[]={101.6, 190.5, 228.6}; }; class RH_32ACP: BulletBase { @@ -39,7 +39,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={282, 300, 320}; - ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; + ACE_barrelLengths[]={101.6, 127.0, 228.6}; }; class RH_45ACP: BulletBase { @@ -52,7 +52,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={230, 250, 285}; - ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; + ACE_barrelLengths[]={101.6, 127.0, 228.6}; }; class RH_B_40SW: BulletBase { @@ -65,7 +65,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={360, 380, 400}; - ACE_barrelLengths[]={0.1016, 0.1524, 0.2286}; + ACE_barrelLengths[]={101.6, 152.4, 228.6}; }; class RH_44mag_ball: BulletBase { @@ -78,7 +78,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={360, 390, 420}; - ACE_barrelLengths[]={0.1016, 0.1905, 0.2286}; + ACE_barrelLengths[]={101.6, 190.5, 228.6}; }; class RH_357mag_ball: BulletBase { @@ -91,7 +91,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={490, 510, 535}; - ACE_barrelLengths[]={0.1016, 0.1524, 0.2286}; + ACE_barrelLengths[]={101.6, 152.4, 228.6}; }; class RH_762x25: BulletBase { @@ -104,7 +104,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={360, 380, 400}; - ACE_barrelLengths[]={0.1016, 0.1524, 0.2286}; + ACE_barrelLengths[]={101.6, 152.4, 228.6}; }; class RH_9x18_Ball: BulletBase { @@ -117,7 +117,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={298, 330, 350}; - ACE_barrelLengths[]={0.09652, 0.127, 0.2286}; + ACE_barrelLengths[]={96.52, 127.0, 228.6}; }; class RH_B_9x19_Ball: BulletBase { @@ -130,7 +130,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={340, 370, 400}; - ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; + ACE_barrelLengths[]={101.6, 127.0, 228.6}; }; class RH_B_22LR_SD: BulletBase { @@ -143,7 +143,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={330, 340, 360}; - ACE_barrelLengths[]={0.1016, 0.1524, 0.2286}; + ACE_barrelLengths[]={101.6, 152.4, 228.6}; }; class RH_57x28mm: BulletBase { @@ -156,6 +156,6 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={550, 625, 720}; - ACE_barrelLengths[]={0.1016, 0.1524, 0.26289}; + ACE_barrelLengths[]={101.6, 152.4, 262.89}; }; }; \ No newline at end of file diff --git a/optionals/compat_rh_de/CfgWeapons.hpp b/optionals/compat_rh_de/CfgWeapons.hpp index bfb45732e5..eb7d902a8b 100644 --- a/optionals/compat_rh_de/CfgWeapons.hpp +++ b/optionals/compat_rh_de/CfgWeapons.hpp @@ -5,136 +5,136 @@ class CfgWeapons class RH_deagle: RH_Pistol_Base_F { ACE_barrelTwist=482.6; - ACE_barrelLength=0.1524; + ACE_barrelLength=152.4; }; class RH_mateba: Pistol_Base_F { ACE_barrelTwist=355.6; - ACE_barrelLength=0.1524; + ACE_barrelLength=152.4; }; class RH_mp412: Pistol_Base_F { ACE_barrelTwist=254.0; - ACE_barrelLength=0.1524; + ACE_barrelLength=152.4; }; class RH_python: Pistol_Base_F { ACE_barrelTwist=355.6; - ACE_barrelLength=0.1524; + ACE_barrelLength=152.4; }; class RH_bull: RH_python { ACE_barrelTwist=609.6; - ACE_barrelLength=0.1651; + ACE_barrelLength=165.1; }; class RH_ttracker: Pistol_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.1016; + ACE_barrelLength=101.6; }; class RH_cz75: RH_Pistol_Base_F { ACE_barrelTwist=246.38; - ACE_barrelLength=0.11938; + ACE_barrelLength=119.38; }; class RH_p226: RH_Pistol_Base_F { ACE_barrelTwist=248.92; - ACE_barrelLength=0.11176; + ACE_barrelLength=111.76; }; class RH_sw659: RH_Pistol_Base_F { ACE_barrelTwist=248.92; - ACE_barrelLength=0.188976; + ACE_barrelLength=188.976; }; class RH_usp: RH_Pistol_Base_F { ACE_barrelTwist=406.4; - ACE_barrelLength=0.112014; + ACE_barrelLength=112.014; }; class RH_uspm: RH_Pistol_Base_F { ACE_barrelTwist=406.4; - ACE_barrelLength=0.1524; + ACE_barrelLength=152.4; }; class RH_kimber: RH_Pistol_Base_F { ACE_barrelTwist=406.4; - ACE_barrelLength=0.127; + ACE_barrelLength=127.0; }; class RH_m1911: RH_Pistol_Base_F { ACE_barrelTwist=406.4; - ACE_barrelLength=0.127; + ACE_barrelLength=127.0; }; class RH_tt33: RH_Pistol_Base_F { ACE_barrelTwist=240.03; - ACE_barrelLength=0.11684; + ACE_barrelLength=116.84; }; class RH_mak: RH_Pistol_Base_F { ACE_barrelTwist=240.03; - ACE_barrelLength=0.093472; + ACE_barrelLength=93.472; }; class RH_mk2: RH_Pistol_Base_F { ACE_barrelTwist=406.4; - ACE_barrelLength=0.1016; + ACE_barrelLength=101.6; }; class RH_m9: RH_Pistol_Base_F { ACE_barrelTwist=248.92; - ACE_barrelLength=0.12446; + ACE_barrelLength=124.46; }; class RH_g18: RH_Pistol_Base_F { ACE_barrelTwist=248.92; - ACE_barrelLength=0.114046; + ACE_barrelLength=114.046; }; class RH_g17: RH_Pistol_Base_F { ACE_barrelTwist=248.92; - ACE_barrelLength=0.114046; + ACE_barrelLength=114.046; }; class RH_g19: RH_Pistol_Base_F { ACE_barrelTwist=248.92; - ACE_barrelLength=0.1016; + ACE_barrelLength=101.6; }; class RH_gsh18: RH_Pistol_Base_F { ACE_barrelTwist=248.92; - ACE_barrelLength=0.10414; + ACE_barrelLength=104.14; }; class RH_fnp45: RH_Pistol_Base_F { ACE_barrelTwist=406.4; - ACE_barrelLength=0.1143; + ACE_barrelLength=114.3; }; class RH_fn57: RH_fnp45 { ACE_barrelTwist=231.14; - ACE_barrelLength=0.12192; + ACE_barrelLength=121.92; }; class RH_vp70: RH_Pistol_Base_F { ACE_barrelTwist=248.92; - ACE_barrelLength=0.11684; + ACE_barrelLength=116.84; }; class RH_vz61: RH_Pistol_Base_F { ACE_barrelTwist=406.4; - ACE_barrelLength=0.1143; + ACE_barrelLength=114.3; }; class RH_tec9: RH_Pistol_Base_F { ACE_barrelTwist=248.92; - ACE_barrelLength=0.127; + ACE_barrelLength=127.0; }; class RH_muzi: RH_Pistol_Base_F { ACE_barrelTwist=248.92; - ACE_barrelLength=0.127; + ACE_barrelLength=127.0; }; }; \ No newline at end of file diff --git a/optionals/compat_rh_m4/CfgAmmo.hpp b/optionals/compat_rh_m4/CfgAmmo.hpp index fa4cc2ba07..763d96e3e7 100644 --- a/optionals/compat_rh_m4/CfgAmmo.hpp +++ b/optionals/compat_rh_m4/CfgAmmo.hpp @@ -19,7 +19,7 @@ class CfgAmmo { ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={340, 370, 400}; - ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; + ACE_barrelLengths[]={101.6, 127.0, 228.6}; }; class RH_9x19_B_HP: BulletBase { @@ -32,7 +32,7 @@ class CfgAmmo { ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={340, 370, 400}; - ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; + ACE_barrelLengths[]={101.6, 127.0, 228.6}; }; class RH_9x19_B_HPSB: BulletBase { @@ -45,7 +45,7 @@ class CfgAmmo { ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={295, 310, 330}; - ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; + ACE_barrelLengths[]={101.6, 127.0, 228.6}; }; class RH_556x45_B_M855A1: B_556x45_Ball { @@ -58,7 +58,7 @@ class CfgAmmo { ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={723, 764, 796, 825, 843, 866, 878, 892, 906, 915, 922, 900}; - ACE_barrelLengths[]={0.21082, 0.23876, 0.26924, 0.29972, 0.3302, 0.36068, 0.39116, 0.4191, 0.44958, 0.48006, 0.508, 0.6096}; + ACE_barrelLengths[]={210.82, 238.76, 269.24, 299.72, 330.2, 360.68, 391.16, 419.1, 449.58, 480.06, 508.0, 609.6}; }; class RH_556x45_B_Mk318: B_556x45_Ball { @@ -71,7 +71,7 @@ class CfgAmmo { ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={780, 886, 950}; - ACE_barrelLengths[]={0.254, 0.3937, 0.508}; + ACE_barrelLengths[]={254.0, 393.7, 508.0}; }; class RH_556x45_B_Mk262: B_556x45_Ball { @@ -84,7 +84,7 @@ class CfgAmmo { ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={624, 816, 832, 838}; - ACE_barrelLengths[]={0.1905, 0.3683, 0.4572, 0.508}; + ACE_barrelLengths[]={190.5, 368.3, 457.2, 508.0}; }; class RH_68x43_B_FMJ: B_65x39_Caseless { @@ -97,7 +97,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={713, 785, 810, 850}; - ACE_barrelLengths[]={0.3048, 0.4064, 0.508, 0.6096}; + ACE_barrelLengths[]={304.8, 406.4, 508.0, 609.6}; }; class RH_68x43_B_Match: B_65x39_Caseless { @@ -110,7 +110,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={700, 732, 750, 780}; - ACE_barrelLengths[]={0.3048, 0.4064, 0.508, 0.6096}; + ACE_barrelLengths[]={304.8, 406.4, 508.0, 609.6}; }; class RH_762x35_B_FMJ: B_65x39_Caseless { @@ -123,7 +123,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={559, 609, 625}; - ACE_barrelLengths[]={0.1524, 0.4064, 0.508}; + ACE_barrelLengths[]={152.4, 406.4, 508.0}; }; class RH_762x35_B_Match: B_65x39_Caseless { @@ -136,7 +136,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={572, 676, 700}; - ACE_barrelLengths[]={0.1524, 0.4064, 0.508}; + ACE_barrelLengths[]={152.4, 406.4, 508.0}; }; class RH_762x35_B_MSB: B_65x39_Caseless { @@ -149,7 +149,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={300, 320, 340}; - ACE_barrelLengths[]={0.2286, 0.4064, 0.508}; + ACE_barrelLengths[]={228.6, 406.4, 508.0}; }; class RH_762x51_B_M80A1: B_762x51_Ball { @@ -162,7 +162,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={700, 800, 820, 833, 845}; - ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={254.0, 406.4, 508.0, 609.6, 660.4}; }; class RH_762x51_B_Mk316LR: B_762x51_Ball { @@ -175,7 +175,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={775, 790, 805, 810}; - ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={406.4, 508.0, 609.6, 660.4}; }; class RH_762x51_B_Mk319: B_762x51_Ball { @@ -188,7 +188,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={838, 892, 910}; - ACE_barrelLengths[]={0.3302, 0.4064, 0.508}; + ACE_barrelLengths[]={330.2, 406.4, 508.0}; }; class RH_762x51_B_LFMJSB: B_762x51_Ball { @@ -201,6 +201,6 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={305, 325, 335, 340}; - ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={406.4, 508.0, 609.6, 660.4}; }; }; diff --git a/optionals/compat_rh_m4/CfgWeapons.hpp b/optionals/compat_rh_m4/CfgWeapons.hpp index 0cebd83fa6..ad612383d1 100644 --- a/optionals/compat_rh_m4/CfgWeapons.hpp +++ b/optionals/compat_rh_m4/CfgWeapons.hpp @@ -5,126 +5,126 @@ class CfgWeapons class RH_ar10: Rifle_Base_F { ACE_barrelTwist=285.75; - ACE_barrelLength=0.52832; + ACE_barrelLength=528.32; }; class RH_m110: Rifle_Base_F { ACE_barrelTwist=254.0; - ACE_barrelLength=0.508; + ACE_barrelLength=508.0; }; class RH_Mk11: RH_m110 { ACE_barrelTwist=285.75; - ACE_barrelLength=0.6096; + ACE_barrelLength=609.6; }; class RH_SR25EC: RH_m110 { ACE_barrelTwist=285.75; - ACE_barrelLength=0.508; + ACE_barrelLength=508.0; }; class RH_m4: Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.3683; + ACE_barrelLength=368.3; }; class RH_M4_ris: RH_m4 { ACE_barrelTwist=177.8; - ACE_barrelLength=0.3683; + ACE_barrelLength=368.3; }; class RH_M4A1_ris: RH_M4_ris { ACE_barrelTwist=177.8; - ACE_barrelLength=0.3683; + ACE_barrelLength=368.3; }; class RH_M4m: RH_M4A1_ris { ACE_barrelTwist=177.8; - ACE_barrelLength=0.2667; + ACE_barrelLength=266.7; }; class RH_M4sbr: RH_M4A1_ris { ACE_barrelTwist=177.8; - ACE_barrelLength=0.2667; + ACE_barrelLength=266.7; }; class RH_hb: Rifle_Base_F { ACE_barrelTwist=203.2; - ACE_barrelLength=0.1524; + ACE_barrelLength=152.4; }; class RH_hb_b: RH_hb { ACE_barrelTwist=203.2; - ACE_barrelLength=0.1524; + ACE_barrelLength=152.4; }; class RH_sbr9: Rifle_Base_F { ACE_barrelTwist=246.38; - ACE_barrelLength=0.2286; + ACE_barrelLength=228.6; }; class RH_M4A6: RH_M4A1_ris { ACE_barrelTwist=254.0; - ACE_barrelLength=0.3683; + ACE_barrelLength=368.3; }; class RH_M16a1: RH_m4 { ACE_barrelTwist=355.6; - ACE_barrelLength=0.508; + ACE_barrelLength=508.0; }; class RH_M16A2: RH_m4 { ACE_barrelTwist=177.8; - ACE_barrelLength=0.508; + ACE_barrelLength=508.0; }; class RH_M16A4 : RH_M4_ris { ACE_barrelTwist=177.8; - ACE_barrelLength=0.508; + ACE_barrelLength=508.0; }; class RH_M16A3: RH_M16A4 { ACE_barrelTwist=177.8; - ACE_barrelLength=0.508; + ACE_barrelLength=508.0; }; class RH_M16A4_m: RH_M16A4 { ACE_barrelTwist=177.8; - ACE_barrelLength=0.508; + ACE_barrelLength=508.0; }; class RH_M16A6: RH_M16A4 { ACE_barrelTwist=177.8; - ACE_barrelLength=0.508; + ACE_barrelLength=508.0; }; class RH_Mk12mod1: RH_M16A4 { ACE_barrelTwist=177.8; - ACE_barrelLength=0.4572; + ACE_barrelLength=457.2; }; class RH_SAMR: RH_Mk12mod1 { ACE_barrelTwist=195.58; - ACE_barrelLength=0.508; + ACE_barrelLength=508.0; }; class RH_Hk416: RH_M4A1_ris { ACE_barrelTwist=177.8; - ACE_barrelLength=0.3683; + ACE_barrelLength=368.3; }; class RH_Hk416s: RH_M4sbr { ACE_barrelTwist=177.8; - ACE_barrelLength=0.26416; + ACE_barrelLength=264.16; }; class RH_Hk416c: RH_M4sbr { ACE_barrelTwist=177.8; - ACE_barrelLength=0.2286; + ACE_barrelLength=228.6; }; class RH_M27IAR: RH_Mk12mod1 { ACE_barrelTwist=177.8; - ACE_barrelLength=0.4191; + ACE_barrelLength=419.1; }; }; \ No newline at end of file diff --git a/optionals/compat_rh_pdw/CfgAmmo.hpp b/optionals/compat_rh_pdw/CfgAmmo.hpp index a1503f2284..9474ec47eb 100644 --- a/optionals/compat_rh_pdw/CfgAmmo.hpp +++ b/optionals/compat_rh_pdw/CfgAmmo.hpp @@ -11,5 +11,5 @@ class RH_B_6x35: BulletBase ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={730, 750, 760}; - ACE_barrelLengths[]={0.2032, 0.254, 0.3048}; + ACE_barrelLengths[]={203.2, 254.0, 304.8}; }; \ No newline at end of file diff --git a/optionals/compat_rh_pdw/CfgWeapons.hpp b/optionals/compat_rh_pdw/CfgWeapons.hpp index 7f86318c55..37e7f7ffb4 100644 --- a/optionals/compat_rh_pdw/CfgWeapons.hpp +++ b/optionals/compat_rh_pdw/CfgWeapons.hpp @@ -5,6 +5,6 @@ class CfgWeapons class RH_PDW: Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.254; + ACE_barrelLength=254.0; }; }; diff --git a/optionals/compat_rhs_afrf3/CfgAmmo.hpp b/optionals/compat_rhs_afrf3/CfgAmmo.hpp index 4cf181b9fc..541437458e 100644 --- a/optionals/compat_rhs_afrf3/CfgAmmo.hpp +++ b/optionals/compat_rhs_afrf3/CfgAmmo.hpp @@ -14,7 +14,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={780, 880, 920}; - ACE_barrelLengths[]={0.254, 0.41402, 0.508}; + ACE_barrelLengths[]={254.0, 414.02, 508.0}; }; class rhs_B_545x39_Ball_Tracer_Green: rhs_B_545x39_Ball { @@ -27,7 +27,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={785, 883, 925}; - ACE_barrelLengths[]={0.254, 0.41402, 0.508}; + ACE_barrelLengths[]={254.0, 414.02, 508.0}; }; class B_762x51_Ball; class rhs_B_762x54_Ball: B_762x51_Ball @@ -41,7 +41,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={700, 800, 820, 833}; - ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={406.4, 508.0, 609.6, 660.4}; }; class rhs_B_762x54_Ball_Tracer_Green: B_762x51_Ball { @@ -54,7 +54,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={680, 750, 798, 800}; - ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={406.4, 508.0, 609.6, 660.4}; }; class rhs_B_762x54_7N1_Ball: rhs_B_762x54_Ball { @@ -67,7 +67,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={700, 800, 820, 833}; - ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={406.4, 508.0, 609.6, 660.4}; }; class rhs_B_762x39_Ball: B_762x51_Ball { @@ -80,7 +80,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={650, 716, 750}; - ACE_barrelLengths[]={0.254, 0.41402, 0.508}; + ACE_barrelLengths[]={254.0, 414.02, 508.0}; }; class rhs_B_762x39_Tracer: rhs_B_762x39_Ball { @@ -93,7 +93,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={650, 716, 750}; - ACE_barrelLengths[]={0.254, 0.41402, 0.508}; + ACE_barrelLengths[]={254.0, 414.02, 508.0}; }; class B_9x21_Ball; class rhs_B_9x19_7N21: B_9x21_Ball @@ -107,7 +107,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={445, 460, 480}; - ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; + ACE_barrelLengths[]={101.6, 127.0, 228.6}; }; class rhs_B_9x18_57N181S: B_9x21_Ball { @@ -120,6 +120,6 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={298, 330, 350}; - ACE_barrelLengths[]={0.09652, 0.127, 0.2286}; + ACE_barrelLengths[]={96.52, 127.0, 228.6}; }; }; \ No newline at end of file diff --git a/optionals/compat_rhs_afrf3/CfgWeapons.hpp b/optionals/compat_rhs_afrf3/CfgWeapons.hpp index d557111b6f..90474a958f 100644 --- a/optionals/compat_rhs_afrf3/CfgWeapons.hpp +++ b/optionals/compat_rhs_afrf3/CfgWeapons.hpp @@ -5,57 +5,57 @@ class CfgWeapons class rhs_weap_pya: hgun_Rook40_F { ACE_barrelTwist=254.0; - ACE_barrelLength=0.11176; + ACE_barrelLength=111.76; }; class Pistol_Base_F; class rhs_weap_makarov_pmm: rhs_weap_pya { ACE_barrelTwist=240.03; - ACE_barrelLength=0.093472; + ACE_barrelLength=93.472; }; class rhs_weap_ak74m_Base_F; class rhs_weap_ak74m: rhs_weap_ak74m_Base_F { ACE_barrelTwist=199.898; - ACE_barrelLength=0.41402; + ACE_barrelLength=414.02; }; class rhs_weap_akm: rhs_weap_ak74m { ACE_barrelTwist=199.898; - ACE_barrelLength=0.41402; + ACE_barrelLength=414.02; }; class rhs_weap_aks74; class rhs_weap_aks74u: rhs_weap_aks74 { ACE_barrelTwist=160.02; - ACE_barrelLength=0.21082; + ACE_barrelLength=210.82; }; class rhs_weap_svd: rhs_weap_ak74m { ACE_barrelTwist=238.76; - ACE_barrelLength=0.61976; + ACE_barrelLength=619.76; }; class rhs_weap_svdp; class rhs_weap_svds: rhs_weap_svdp { ACE_barrelTwist=238.76; - ACE_barrelLength=0.56388; + ACE_barrelLength=563.88; }; class rhs_pkp_base; class rhs_weap_pkp: rhs_pkp_base { ACE_barrelTwist=240.03; - ACE_barrelLength=0.65786; + ACE_barrelLength=657.86; }; class rhs_weap_pkm: rhs_weap_pkp { ACE_barrelTwist=240.03; - ACE_barrelLength=0.64516; + ACE_barrelLength=645.16; }; class rhs_weap_rpk74m: rhs_weap_pkp { ACE_barrelTwist=195.072; - ACE_barrelLength=0.58928; + ACE_barrelLength=589.28; }; class rhs_acc_sniper_base; diff --git a/optionals/compat_rhs_usf3/CfgAmmo.hpp b/optionals/compat_rhs_usf3/CfgAmmo.hpp index b46f155b17..382ad1480e 100644 --- a/optionals/compat_rhs_usf3/CfgAmmo.hpp +++ b/optionals/compat_rhs_usf3/CfgAmmo.hpp @@ -13,7 +13,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={847, 867, 877}; - ACE_barrelLengths[]={0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={508.0, 609.6, 660.4}; }; class B_556x45_Ball; class rhs_ammo_556x45_Mk318_Ball: B_556x45_Ball @@ -27,7 +27,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={780, 886, 950}; - ACE_barrelLengths[]={0.254, 0.3937, 0.508}; + ACE_barrelLengths[]={254.0, 393.7, 508.0}; }; class rhs_ammo_556x45_Mk262_Ball: B_556x45_Ball { @@ -40,7 +40,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={624, 816, 832, 838}; - ACE_barrelLengths[]={0.1905, 0.3683, 0.4572, 0.508}; + ACE_barrelLengths[]={190.5, 368.3, 457.2, 508.0}; }; class rhs_ammo_762x51_M80_Ball: BulletBase { @@ -53,7 +53,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={700, 800, 820, 833, 845}; - ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={254.0, 406.4, 508.0, 609.6, 660.4}; }; class rhs_ammo_762x51_M118_Special_Ball: rhs_ammo_762x51_M80_Ball { @@ -66,7 +66,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={750, 780, 790, 794}; - ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={406.4, 508.0, 609.6, 660.4}; }; class rhs_ammo_762x51_M993_Ball: rhs_ammo_762x51_M80_Ball { @@ -79,7 +79,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={875, 910, 930}; - ACE_barrelLengths[]={0.3302, 0.4064, 0.508}; + ACE_barrelLengths[]={330.2, 406.4, 508.0}; }; class rhs_ammo_45ACP_MHP: BulletBase { @@ -92,6 +92,6 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={230, 250, 285}; - ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; + ACE_barrelLengths[]={101.6, 127.0, 228.6}; }; }; \ No newline at end of file diff --git a/optionals/compat_rhs_usf3/CfgWeapons.hpp b/optionals/compat_rhs_usf3/CfgWeapons.hpp index 36968ce6c7..72ea2db1e7 100644 --- a/optionals/compat_rhs_usf3/CfgWeapons.hpp +++ b/optionals/compat_rhs_usf3/CfgWeapons.hpp @@ -7,69 +7,69 @@ class CfgWeapons class rhs_weap_XM2010_Base_F: Rifle_Base_F { ACE_barrelTwist=254.0; - ACE_barrelLength=0.6096; + ACE_barrelLength=609.6; }; class arifle_MX_Base_F; class rhs_weap_m4_Base: arifle_MX_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.3683; + ACE_barrelLength=368.3; }; class rhs_weap_m4a1; class rhs_weap_mk18: rhs_weap_m4a1 { ACE_barrelTwist=177.8; - ACE_barrelLength=0.26162; + ACE_barrelLength=261.62; }; class rhs_weap_m16a4: rhs_weap_m4_Base { ACE_barrelTwist=177.8; - ACE_barrelLength=0.508; + ACE_barrelLength=508.0; }; class rhs_M249_base; class rhs_weap_m249_pip: rhs_M249_base { ACE_barrelTwist=177.8; - ACE_barrelLength=0.41402; + ACE_barrelLength=414.02; }; class weap_m240_base; class rhs_weap_m240B: weap_m240_base { ACE_barrelTwist=304.8; - ACE_barrelLength=0.62992; + ACE_barrelLength=629.92; }; class rhs_weap_m14ebrri: srifle_EBR_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.5588; + ACE_barrelLength=558.8; }; class rhs_weap_sr25: rhs_weap_m14ebrri { ACE_barrelTwist=285.75; - ACE_barrelLength=0.6096; + ACE_barrelLength=609.6; }; class rhs_weap_sr25_ec: rhs_weap_sr25 { ACE_barrelTwist=285.75; - ACE_barrelLength=0.508; + ACE_barrelLength=508.0; }; class rhs_weap_M590_5RD: Rifle_Base_F { ACE_barrelTwist=0.0; ACE_twistDirection=0; - ACE_barrelLength=0.4699; + ACE_barrelLength=469.9; }; class rhs_weap_M590_8RD: rhs_weap_M590_5RD { ACE_barrelTwist=0.0; ACE_twistDirection=0; - ACE_barrelLength=0.508; + ACE_barrelLength=508.0; }; class hgun_ACPC2_F; class rhsusf_weap_m1911a1: hgun_ACPC2_F { ACE_barrelTwist=406.4; - ACE_barrelLength=0.127; + ACE_barrelLength=127.0; }; class rhsusf_acc_sniper_base; From 0e74fa56f70592e3e05a0a9775022693ec1f68a9 Mon Sep 17 00:00:00 2001 From: ulteq Date: Fri, 8 May 2015 13:45:00 +0200 Subject: [PATCH 086/217] Corrected several armour piercing round configs --- addons/atragmx/XEH_postInit.sqf | 6 ++++-- addons/atragmx/script_component.hpp | 2 +- addons/ballistics/CfgAmmo.hpp | 24 ++++++++++++------------ 3 files changed, 17 insertions(+), 15 deletions(-) diff --git a/addons/atragmx/XEH_postInit.sqf b/addons/atragmx/XEH_postInit.sqf index 7b0a2c9962..1e86838b8b 100644 --- a/addons/atragmx/XEH_postInit.sqf +++ b/addons/atragmx/XEH_postInit.sqf @@ -19,7 +19,7 @@ if ((profileNamespace getVariable ["ACE_ATragMX_profileNamespaceVersion", 0]) == [".338LM 250gr" , 880, 100, 0.0598, -0.0006060, 3.81, 0, 2, 10, 120, 0, 0, 16.20, 8.58, 25.40, 0.322, 7, "ICAO"], [".338LM 300gr" , 800, 100, 0.0677, -0.0005350, 3.81, 0, 2, 10, 120, 0, 0, 19.44, 8.58, 25.40, 0.381, 7, "ICAO"], - [".338LM API526" , 880, 100, 0.0601, -0.0006730, 3.81, 0, 2, 10, 120, 0, 0, 16.39, 8.58, 25.40, 0.290, 7, "ICAO"], + [".338LM API526" , 895, 100, 0.0601, -0.0006730, 3.81, 0, 2, 10, 120, 0, 0, 16.39, 8.58, 25.40, 0.560, 1, "ASM" ], [".300WM Mk248 Mod 0", 900, 100, 0.0584, -0.0008300, 3.81, 0, 2, 10, 120, 0, 0, 13.31, 7.80, 25.40, 0.268, 7, "ICAO"], [".300WM Mk248 Mod 1", 867, 100, 0.0611, -0.0008150, 3.81, 0, 2, 10, 120, 0, 0, 14.26, 7.80, 25.40, 0.310, 7, "ICAO"], @@ -30,6 +30,7 @@ if ((profileNamespace getVariable ["ACE_ATragMX_profileNamespaceVersion", 0]) == ["7.62x51mm M80" , 810, 100, 0.0679, -0.0010350, 3.81, 0, 2, 10, 120, 0, 0, 9.525, 7.82, 25.40, 0.200, 7, "ICAO"], ["7.62x51mm M118LR" , 780, 100, 0.0710, -0.0008525, 3.81, 0, 2, 10, 120, 0, 0, 11.34, 7.82, 25.40, 0.243, 7, "ICAO"], ["7.62x51mm Mk319" , 910, 100, 0.0585, -0.0010300, 3.81, 0, 2, 10, 120, 0, 0, 8.424, 7.82, 25.40, 0.377, 1, "ICAO"], + ["7.62x51mm M993" , 930, 100, 0.0585, -0.0010300, 3.81, 0, 2, 10, 120, 0, 0, 8.230, 7.82, 25.40, 0.359, 1, "ICAO"], ["7.62x51mm Subsonic", 320, 100, 0.3060, -0.0004910, 3.81, 0, 2, 10, 120, 0, 0, 12.96, 7.82, 25.40, 0.235, 7, "ICAO"], ["6.5x39mm" , 800, 100, 0.0683, -0.0007850, 3.81, 0, 2, 10, 120, 0, 0, 7.970, 6.71, 22.86, 0.263, 7, "ICAO"], @@ -38,7 +39,8 @@ if ((profileNamespace getVariable ["ACE_ATragMX_profileNamespaceVersion", 0]) == ["5.56x45mm M855" , 870, 100, 0.0626, -0.0012650, 3.81, 0, 2, 10, 120, 0, 0, 4.018, 5.70, 17.78, 0.151, 7, "ASM" ], ["5.56x45mm Mk262" , 820, 100, 0.0671, -0.0011250, 3.81, 0, 2, 10, 120, 0, 0, 4.990, 5.70, 17.78, 0.361, 1, "ASM" ], - ["5.56x45mm Mk318" , 880, 100, 0.0616, -0.0011200, 3.81, 0, 2, 10, 120, 0, 0, 4.018, 5.70, 17.78, 0.307, 1, "ASM" ]]; + ["5.56x45mm Mk318" , 880, 100, 0.0616, -0.0011200, 3.81, 0, 2, 10, 120, 0, 0, 4.018, 5.70, 17.78, 0.307, 1, "ASM" ], + ["5.56x45mm M995" , 869, 100, 0.0616, -0.0011200, 3.81, 0, 2, 10, 120, 0, 0, 4.536, 5.70, 17.78, 0.310, 1, "ASM" ]]; [] call FUNC(clear_user_data); profileNamespace setVariable ["ACE_ATragMX_gunList", GVAR(gunList)]; diff --git a/addons/atragmx/script_component.hpp b/addons/atragmx/script_component.hpp index 090e82246d..585070d401 100644 --- a/addons/atragmx/script_component.hpp +++ b/addons/atragmx/script_component.hpp @@ -11,4 +11,4 @@ #include "\z\ace\addons\main\script_macros.hpp" -#define ATRAGMX_PROFILE_NAMESPACE_VERSION 1.4 +#define ATRAGMX_PROFILE_NAMESPACE_VERSION 1.5 diff --git a/addons/ballistics/CfgAmmo.hpp b/addons/ballistics/CfgAmmo.hpp index 59fa7cf621..3ab265091e 100644 --- a/addons/ballistics/CfgAmmo.hpp +++ b/addons/ballistics/CfgAmmo.hpp @@ -75,16 +75,16 @@ class CfgAmmo { caliber=1.6; deflecting=18; hit=6; - typicalSpeed=886; + typicalSpeed=869; ACE_caliber=5.69; ACE_bulletLength=23.012; - ACE_bulletMass=2.9808; + ACE_bulletMass=4.5359237; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; - ACE_ballisticCoefficients[]={0.151}; + ACE_ballisticCoefficients[]={0.310}; ACE_velocityBoundaries[]={}; ACE_standardAtmosphere="ASM"; - ACE_dragModel=7; - ACE_muzzleVelocities[]={950, 1030, 1040}; + ACE_dragModel=1; + ACE_muzzleVelocities[]={820, 865, 880}; ACE_barrelLengths[]={254.0, 393.7, 508.0}; }; class B_556x45_Ball_Tracer_Red; @@ -253,12 +253,12 @@ class CfgAmmo { airFriction=-0.00103; caliber=2.2; hit=11; - typicalSpeed=930; + typicalSpeed=910; ACE_caliber=7.823; ACE_bulletLength=31.496; - ACE_bulletMass=8.2296; + ACE_bulletMass=8.22946157; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; - ACE_ballisticCoefficients[]={0.377}; + ACE_ballisticCoefficients[]={0.359}; ACE_velocityBoundaries[]={}; ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; @@ -657,15 +657,15 @@ class CfgAmmo { timeToLive=10; airFriction=-0.000673; caliber=2.8; - typicalSpeed=826; + typicalSpeed=895; ACE_caliber=8.585; ACE_bulletLength=38.989; - ACE_bulletMass=16.3944; + ACE_bulletMass=16.3941242; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; - ACE_ballisticCoefficients[]={0.290}; + ACE_ballisticCoefficients[]={0.560}; ACE_velocityBoundaries[]={}; ACE_standardAtmosphere="ICAO"; - ACE_dragModel=7; + ACE_dragModel=1; ACE_muzzleVelocities[]={880, 915, 925}; ACE_barrelLengths[]={508.0, 660.4, 711.2}; }; From 3495196f40b53984367b2d46d91d30a2db182670 Mon Sep 17 00:00:00 2001 From: ulteq Date: Fri, 8 May 2015 13:56:38 +0200 Subject: [PATCH 087/217] Fixes broken ATragMX (calculateStabilityFactor now requires metric input) --- addons/atragmx/functions/fnc_calculate_range_card.sqf | 4 ++-- addons/atragmx/functions/fnc_calculate_target_solution.sqf | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/addons/atragmx/functions/fnc_calculate_range_card.sqf b/addons/atragmx/functions/fnc_calculate_range_card.sqf index cfaf7441f8..5d5253d1bf 100644 --- a/addons/atragmx/functions/fnc_calculate_range_card.sqf +++ b/addons/atragmx/functions/fnc_calculate_range_card.sqf @@ -52,11 +52,11 @@ if (!GVAR(atmosphereModeTBH)) then { }; private ["_bulletLength", "_stabilityFactor"]; -_bulletLength = 1.8; +_bulletLength = 45.72; _stabilityFactor = 1.5; if (missionNamespace getVariable [QEGVAR(advanced_ballistics,enabled), false]) then { if (_bulletDiameter > 0 && _bulletLength > 0 && _bulletMass > 0 && _barrelTwist > 0) then { - _stabilityFactor = [_bulletDiameter / 10 / 2.54, _bulletLength, _bulletMass * 15.4323584, _barrelTwist / 2.54, _muzzleVelocity, _temperature, _barometricPressure] call EFUNC(advanced_ballistics,calculateStabilityFactor); + _stabilityFactor = [_bulletDiameter, _bulletLength, _bulletMass, _barrelTwist * 10, _muzzleVelocity, _temperature, _barometricPressure] call EFUNC(advanced_ballistics,calculateStabilityFactor); }; }; diff --git a/addons/atragmx/functions/fnc_calculate_target_solution.sqf b/addons/atragmx/functions/fnc_calculate_target_solution.sqf index 677c4bb793..2be1197a9b 100644 --- a/addons/atragmx/functions/fnc_calculate_target_solution.sqf +++ b/addons/atragmx/functions/fnc_calculate_target_solution.sqf @@ -52,11 +52,11 @@ if (!GVAR(atmosphereModeTBH)) then { }; private ["_bulletLength", "_stabilityFactor"]; -_bulletLength = 1.8; +_bulletLength = 45.72; _stabilityFactor = 1.5; if (missionNamespace getVariable [QEGVAR(advanced_ballistics,enabled), false]) then { if (_bulletDiameter > 0 && _bulletLength > 0 && _bulletMass > 0 && _barrelTwist > 0) then { - _stabilityFactor = [_bulletDiameter / 10 / 2.54, _bulletLength, _bulletMass * 15.4323584, _barrelTwist / 2.54, _muzzleVelocity, _temperature, _barometricPressure] call EFUNC(advanced_ballistics,calculateStabilityFactor); + _stabilityFactor = [_bulletDiameter, _bulletLength, _bulletMass, _barrelTwist * 10, _muzzleVelocity, _temperature, _barometricPressure] call EFUNC(advanced_ballistics,calculateStabilityFactor); }; }; From fd0ca58fe6c600c46b4a013ea787a36d129f92a8 Mon Sep 17 00:00:00 2001 From: ulteq Date: Fri, 8 May 2015 15:25:32 +0200 Subject: [PATCH 088/217] Fixes broken bullet trace effect (caliber is now in mm, not inches) --- addons/advanced_ballistics/functions/fnc_handleFired.sqf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/advanced_ballistics/functions/fnc_handleFired.sqf b/addons/advanced_ballistics/functions/fnc_handleFired.sqf index e63b1d7dfc..f6458b5f41 100644 --- a/addons/advanced_ballistics/functions/fnc_handleFired.sqf +++ b/addons/advanced_ballistics/functions/fnc_handleFired.sqf @@ -158,7 +158,7 @@ GVAR(currentbulletID) = (GVAR(currentbulletID) + 1) % 10000; }; if (_bulletTraceVisible && _bulletSpeed > 600) then { - drop ["\A3\data_f\ParticleEffects\Universal\Refract","","Billboard",1,0.1,getPos _bullet,[0,0,0],0,1.275,1,0,[0.4*_caliber,0.2*_caliber],[[0,0,0,0.6],[0,0,0,0.4]],[1,0],0,0,"","",""]; + drop ["\A3\data_f\ParticleEffects\Universal\Refract","","Billboard",1,0.1,getPos _bullet,[0,0,0],0,1.275,1,0,[0.0157480315*_caliber,0.00787401574*_caliber],[[0,0,0,0.6],[0,0,0,0.4]],[1,0],0,0,"","",""]; }; call compile ("ace_advanced_ballistics" callExtension format["simulate:%1:%2:%3:%4:%5:%6:%7", _index, _bulletVelocity, _bulletPosition, ACE_wind, ASLToATL(_bulletPosition) select 2, floor(time), time - floor(time)]); From 3e6c203655eacd9b88b7fdf504ca75e90ed28c97 Mon Sep 17 00:00:00 2001 From: jaynus Date: Fri, 8 May 2015 06:57:19 -0700 Subject: [PATCH 089/217] size+1 --- extensions/advanced_ballistics/AdvancedBallistics.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/extensions/advanced_ballistics/AdvancedBallistics.cpp b/extensions/advanced_ballistics/AdvancedBallistics.cpp index 554c21b601..e6c55184a7 100644 --- a/extensions/advanced_ballistics/AdvancedBallistics.cpp +++ b/extensions/advanced_ballistics/AdvancedBallistics.cpp @@ -340,7 +340,7 @@ void __stdcall RVExtension(char *output, int outputSize, const char *function) tickTime += strtod(strtok_s(NULL, ":", &next_token), NULL); if (index >= bulletDatabase.size()) - bulletDatabase.resize(index); + bulletDatabase.resize(index+1); bulletDatabase[index].airFriction = airFriction; bulletDatabase[index].ballisticCoefficients = ballisticCoefficients; From 1f15e68c304a3576b7cba709e13fcafd52be8f33 Mon Sep 17 00:00:00 2001 From: ulteq Date: Fri, 8 May 2015 16:00:41 +0200 Subject: [PATCH 090/217] Global variable cleanup --- addons/advanced_ballistics/XEH_postInit.sqf | 15 +-------------- .../functions/fnc_initializeTerrainExtension.sqf | 4 ++-- 2 files changed, 3 insertions(+), 16 deletions(-) diff --git a/addons/advanced_ballistics/XEH_postInit.sqf b/addons/advanced_ballistics/XEH_postInit.sqf index 8efdd6799b..b59737412a 100644 --- a/addons/advanced_ballistics/XEH_postInit.sqf +++ b/addons/advanced_ballistics/XEH_postInit.sqf @@ -4,24 +4,11 @@ GVAR(currentbulletID) = -1; -GVAR(bulletDatabase) = []; -GVAR(bulletDatabaseStartTime) = []; -GVAR(bulletDatabaseSpeed) = []; -GVAR(bulletDatabaseFrames) = []; -GVAR(bulletDatabaseLastFrame) = []; -GVAR(bulletDatabaseHDeflect) = []; -GVAR(bulletDatabaseSpinDrift) = []; -GVAR(bulletDatabaseOccupiedIndices) = []; -GVAR(bulletDatabaseFreeIndices) = []; - -GVAR(WindInfo) = false; -GVAR(WindInfoStart) = time; - GVAR(Protractor) = false; GVAR(ProtractorStart) = time; GVAR(currentGrid) = 0; -GVAR(INIT_MESSAGE_ENABLED) = false; +GVAR(initMessageEnabled) = false; GVAR(extensionAvailable) = true; /* @TODO: Remove this until versioning is in sync with cmake/build versioning diff --git a/addons/advanced_ballistics/functions/fnc_initializeTerrainExtension.sqf b/addons/advanced_ballistics/functions/fnc_initializeTerrainExtension.sqf index 3930526433..93a79138c6 100644 --- a/addons/advanced_ballistics/functions/fnc_initializeTerrainExtension.sqf +++ b/addons/advanced_ballistics/functions/fnc_initializeTerrainExtension.sqf @@ -22,7 +22,7 @@ _initStartTime = time; _mapSize = getNumber (configFile >> "CfgWorlds" >> worldName >> "MapSize"); if (("ace_advanced_ballistics" callExtension format["init:%1:%2", worldName, _mapSize]) == "Terrain already initialized") exitWith { - if (GVAR(INIT_MESSAGE_ENABLED)) then { + if (GVAR(initMessageEnabled)) then { systemChat "AdvancedBallistics: Terrain already initialized"; }; }; @@ -40,7 +40,7 @@ GVAR(currentGrid) = 0; _initStartTime = _args select 2; if (GVAR(currentGrid) >= _gridCells) exitWith { - if (GVAR(INIT_MESSAGE_ENABLED)) then { + if (GVAR(initMessageEnabled)) then { systemChat format["AdvancedBallistics: Finished terrain initialization in %1 seconds", ceil(time - _initStartTime)]; }; [_this select 1] call cba_fnc_removePerFrameHandler; From 9a0fcd4fece4a5580d0c43a7f40c17333208c771 Mon Sep 17 00:00:00 2001 From: ulteq Date: Fri, 8 May 2015 17:20:56 +0200 Subject: [PATCH 091/217] AB config read caching --- addons/advanced_ballistics/XEH_postInit.sqf | 5 + ..._calculateAmmoTemperatureVelocityShift.sqf | 18 +-- ...fnc_calculateBarrelLengthVelocityShift.sqf | 29 ++--- .../functions/fnc_handleFired.sqf | 123 +++++++++++------- 4 files changed, 97 insertions(+), 78 deletions(-) diff --git a/addons/advanced_ballistics/XEH_postInit.sqf b/addons/advanced_ballistics/XEH_postInit.sqf index b59737412a..faaa468bc8 100644 --- a/addons/advanced_ballistics/XEH_postInit.sqf +++ b/addons/advanced_ballistics/XEH_postInit.sqf @@ -4,6 +4,11 @@ GVAR(currentbulletID) = -1; +GVAR(AmmoCacheIndex) = []; +GVAR(AmmoCacheData) = []; +GVAR(WeaponCacheIndex) = []; +GVAR(WeaponCacheData) = []; + GVAR(Protractor) = false; GVAR(ProtractorStart) = time; diff --git a/addons/advanced_ballistics/functions/fnc_calculateAmmoTemperatureVelocityShift.sqf b/addons/advanced_ballistics/functions/fnc_calculateAmmoTemperatureVelocityShift.sqf index c92e679a66..28df9d1d97 100644 --- a/addons/advanced_ballistics/functions/fnc_calculateAmmoTemperatureVelocityShift.sqf +++ b/addons/advanced_ballistics/functions/fnc_calculateAmmoTemperatureVelocityShift.sqf @@ -4,7 +4,7 @@ * Calculates the ammo temperature induced muzzle velocity shift * * Arguments: - * 0: ammo - classname + * 0: muzzle velocity shift lookup table - m/s * 1: temperature - degrees celcius * * Return Value: @@ -15,17 +15,11 @@ */ #include "script_component.hpp" -private ["_ammo", "_temperature", "_muzzleVelocityTable", "_muzzleVelocityShift", "_temperatureIndexA", "_temperatureIndexB", "_temperatureRatio"]; -_ammo = _this select 0; -_temperature = _this select 1; +private ["_muzzleVelocityShiftTable", "_temperature", "_muzzleVelocityShift", "_temperatureIndexA", "_temperatureIndexB", "_temperatureRatio"]; +_muzzleVelocityShiftTable = _this select 0; +_temperature = _this select 1; -_muzzleVelocityTable = []; - -if (isArray(configFile >> "cfgAmmo" >> _ammo >> "ACE_ammoTempMuzzleVelocityShifts")) then { - _muzzleVelocityTable = getArray(configFile >> "cfgAmmo" >> _ammo >> "ACE_ammoTempMuzzleVelocityShifts"); -}; - -if (count _muzzleVelocityTable != 11) exitWith { 0 }; +if (count _muzzleVelocityShiftTable != 11) exitWith { 0 }; _temperatureIndexA = floor((_temperature + 15) / 5); _temperatureIndexA = 0 max _temperatureIndexA; @@ -37,6 +31,6 @@ _temperatureIndexB = _temperatureIndexB min 10; _temperatureRatio = ((_temperature + 15) / 5) - floor((_temperature + 15) / 5); -_muzzleVelocityShift = (_muzzleVelocityTable select _temperatureIndexA) * (1 - _temperatureRatio) + (_muzzleVelocityTable select _temperatureIndexB) * _temperatureRatio; +_muzzleVelocityShift = (_muzzleVelocityShiftTable select _temperatureIndexA) * (1 - _temperatureRatio) + (_muzzleVelocityShiftTable select _temperatureIndexB) * _temperatureRatio; _muzzleVelocityShift diff --git a/addons/advanced_ballistics/functions/fnc_calculateBarrelLengthVelocityShift.sqf b/addons/advanced_ballistics/functions/fnc_calculateBarrelLengthVelocityShift.sqf index b4cbd5bdc0..de037f49bc 100644 --- a/addons/advanced_ballistics/functions/fnc_calculateBarrelLengthVelocityShift.sqf +++ b/addons/advanced_ballistics/functions/fnc_calculateBarrelLengthVelocityShift.sqf @@ -4,9 +4,10 @@ * Calculates the muzzle velocity shift caused by different barrel lengths * * Arguments: - * 0: ammo - classname - * 0: weapon - classname - * 1: muzzle velocity - m/s + * 0: barrel length - mm + * 1: muzzle velocity lookup table - m/s + * 2: barrel length lookup table - mm + * 3: muzzle velocity - m/s * * Return Value: * 0: muzzle velocity shift - m/s @@ -16,25 +17,13 @@ */ #include "script_component.hpp" -private ["_ammo", "_weapon", "_barrelLength", "_muzzleVelocityTable", "_barrelLengthTable", "_muzzleVelocity", "_lowerIndex", "_upperIndex", "_barrelLengthRatio", "_muzzleVelocityNew"]; -_ammo = _this select 0; -_weapon = _this select 1; -_muzzleVelocity = _this select 2; - -_barrelLength = getNumber(configFile >> "cfgWeapons" >> _weapon >> "ACE_barrelLength"); +private ["_barrelLength", "_muzzleVelocityTable", "_barrelLengthTable", "_muzzleVelocity", "_lowerIndex", "_upperIndex", "_barrelLengthRatio", "_muzzleVelocityNew"]; +_barrelLength = _this select 0; +_muzzleVelocityTable = _this select 1; +_barrelLengthTable = _this select 2; +_muzzleVelocity = _this select 3; if (_barrelLength == 0) exitWith { 0 }; - -_muzzleVelocityTable = []; -_barrelLengthTable = []; - -if (isArray(configFile >> "cfgAmmo" >> _ammo >> "ACE_muzzleVelocities")) then { - _muzzleVelocityTable = getArray(configFile >> "cfgAmmo" >> _ammo >> "ACE_muzzleVelocities"); -}; -if (isArray(configFile >> "cfgAmmo" >> _ammo >> "ACE_barrelLengths")) then { - _barrelLengthTable = getArray(configFile >> "cfgAmmo" >> _ammo >> "ACE_barrelLengths"); -}; - if (count _muzzleVelocityTable != count _barrelLengthTable) exitWith { 0 }; if (count _muzzleVelocityTable == 0 || count _barrelLengthTable == 0) exitWith { 0 }; if (count _muzzleVelocityTable == 1) exitWith { (_muzzleVelocityTable select 0) - _muzzleVelocity }; diff --git a/addons/advanced_ballistics/functions/fnc_handleFired.sqf b/addons/advanced_ballistics/functions/fnc_handleFired.sqf index f6458b5f41..5862786228 100644 --- a/addons/advanced_ballistics/functions/fnc_handleFired.sqf +++ b/addons/advanced_ballistics/functions/fnc_handleFired.sqf @@ -19,7 +19,7 @@ */ #include "script_component.hpp" -private ["_unit", "_weapon", "_mode", "_ammo", "_magazine", "_caliber", "_bullet", "_abort", "_index", "_opticsName", "_opticType", "_bulletTraceVisible", "_temperature", "_barometricPressure", "_atmosphereModel", "_bulletMass", "_bulletLength", "_airFriction", "_dragModel", "_muzzleVelocity", "_muzzleVelocityShift", "_bulletVelocity", "_bulletSpeed", "_bulletLength", "_barrelTwist", "_twistDirection", "_stabilityFactor", "_transonicStabilityCoef", "_ballisticCoefficients", "_velocityBoundaries"]; +private ["_unit", "_weapon", "_mode", "_ammo", "_magazine", "_caliber", "_bullet", "_abort", "_AmmoCacheIndex", "_AmmoCacheEntry", "_WeaponCacheIndex", "_WeaponCacheEntry", "_opticsName", "_opticType", "_bulletTraceVisible", "_temperature", "_barometricPressure", "_atmosphereModel", "_ammoTempMuzzleVelocityShifts", "_muzzleVelocityTable", "_barrelLengthTable", "_barrelLength", "_bulletMass", "_bulletLength", "_airFriction", "_dragModel", "_muzzleVelocity", "_muzzleVelocityShift", "_bulletVelocity", "_bulletSpeed", "_bulletLength", "_barrelTwist", "_twistDirection", "_stabilityFactor", "_transonicStabilityCoef", "_ballisticCoefficients", "_velocityBoundaries"]; _unit = _this select 0; _weapon = _this select 1; _mode = _this select 3; @@ -40,7 +40,7 @@ if (GVAR(onlyActiveForLocalPlayers) && !(local _unit)) then { // The shooter is non local if (currentWeapon _unit == primaryWeapon _unit && count primaryWeaponItems _unit > 2) then { _opticsName = (primaryWeaponItems _unit) select 2; - _opticType = getNumber(configFile >> "cfgWeapons" >> _opticsName >> "ItemInfo" >> "opticType"); + _opticType = getNumber(configFile >> "CfgWeapons" >> _opticsName >> "ItemInfo" >> "opticType"); _abort = _opticType != 2; // We only abort if the non local shooter is not a sniper }; } else { @@ -48,19 +48,83 @@ if (GVAR(onlyActiveForLocalPlayers) && !(local _unit)) then { }; }; //if (!GVAR(vehicleGunnerEnabled) && !(_unit isKindOf "Man")) then { _abort = true; }; // We currently do not have firedEHs on vehicles -if (GVAR(disabledInFullAutoMode) && getNumber(configFile >> "cfgWeapons" >> _weapon >> _mode >> "autoFire") == 1) then { _abort = true; }; +if (GVAR(disabledInFullAutoMode) && getNumber(configFile >> "CfgWeapons" >> _weapon >> _mode >> "autoFire") == 1) then { _abort = true; }; if (_abort || !(GVAR(extensionAvailable))) exitWith { - [_bullet, getNumber(configFile >> "cfgAmmo" >> _ammo >> "airFriction")] call EFUNC(winddeflection,updateTrajectoryPFH); + [_bullet, getNumber(configFile >> "CfgAmmo" >> _ammo >> "airFriction")] call EFUNC(winddeflection,updateTrajectoryPFH); }; -_airFriction = getNumber(configFile >> "cfgAmmo" >> _ammo >> "airFriction"); +_AmmoCacheIndex = GVAR(AmmoCacheIndex) find _ammo; +if (_AmmoCacheIndex == -1) then { + _airFriction = getNumber(configFile >> "CfgAmmo" >> _ammo >> "airFriction"); + _caliber = getNumber(configFile >> "CfgAmmo" >> _ammo >> "ACE_caliber"); + _bulletLength = getNumber(configFile >> "CfgAmmo" >> _ammo >> "ACE_bulletLength"); + _bulletMass = getNumber(configFile >> "CfgAmmo" >> _ammo >> "ACE_bulletMass"); + _transonicStabilityCoef = 0.5; + if (isNumber(configFile >> "CfgAmmo" >> _ammo >> "ACE_transonicStabilityCoef")) then { + _transonicStabilityCoef = getNumber(configFile >> "CfgAmmo" >> _ammo >> "ACE_transonicStabilityCoef"); + }; + _dragModel = 1; + _ballisticCoefficients = []; + _velocityBoundaries = []; + _atmosphereModel = "ICAO"; + if (isNumber(configFile >> "CfgAmmo" >> _ammo >> "ACE_dragModel")) then { + _dragModel = getNumber(configFile >> "CfgAmmo" >> _ammo >> "ACE_dragModel"); + if (!(_dragModel in [1, 2, 5, 6, 7, 8])) then { + _dragModel = 1; + }; + }; + if (isArray(configFile >> "CfgAmmo" >> _ammo >> "ACE_ballisticCoefficients")) then { + _ballisticCoefficients = getArray(configFile >> "CfgAmmo" >> _ammo >> "ACE_ballisticCoefficients"); + }; + if (isArray(configFile >> "CfgAmmo" >> _ammo >> "ACE_velocityBoundaries")) then { + _velocityBoundaries = getArray(configFile >> "CfgAmmo" >> _ammo >> "ACE_velocityBoundaries"); + }; + if (isText(configFile >> "CfgAmmo" >> _ammo >> "ACE_standardAtmosphere")) then { + _atmosphereModel = getText(configFile >> "CfgAmmo" >> _ammo >> "ACE_standardAtmosphere"); + }; + _ammoTempMuzzleVelocityShifts = []; + if (isArray(configFile >> "CfgAmmo" >> _ammo >> "ACE_ammoTempMuzzleVelocityShifts")) then { + _ammoTempMuzzleVelocityShifts = getArray(configFile >> "CfgAmmo" >> _ammo >> "ACE_ammoTempMuzzleVelocityShifts"); + }; + _muzzleVelocityTable = []; + _barrelLengthTable = []; + if (isArray(configFile >> "CfgAmmo" >> _ammo >> "ACE_muzzleVelocityTable")) then { + _muzzleVelocityTable = getArray(configFile >> "CfgAmmo" >> _ammo >> "ACE_muzzleVelocityTable"); + }; + if (isArray(configFile >> "CfgAmmo" >> _ammo >> "ACE_barrelLengths")) then { + _barrelLengthTable = getArray(configFile >> "CfgAmmo" >> _ammo >> "ACE_barrelLengthTable"); + }; + _AmmoCacheIndex = count GVAR(AmmoCacheIndex); + GVAR(AmmoCacheIndex) pushBack _ammo; + GVAR(AmmoCacheData) pushBack [_ammo, _airFriction, _caliber, _bulletLength, _bulletMass, _transonicStabilityCoef, _dragModel, _ballisticCoefficients, _velocityBoundaries, _atmosphereModel, _ammoTempMuzzleVelocityShifts, _muzzleVelocityTable, _barrelLengthTable]; +}; +_AmmoCacheEntry = GVAR(AmmoCacheData) select _AmmoCacheIndex; + +_WeaponCacheIndex = GVAR(WeaponCacheIndex) find _weapon; +if (_WeaponCacheIndex == -1) then { + _barrelTwist = getNumber(configFile >> "CfgWeapons" >> _weapon >> "ACE_barrelTwist"); + _twistDirection = 1; + if (isNumber(configFile >> "CfgWeapons" >> _weapon >> "ACE_twistDirection")) then { + _twistDirection = getNumber(configFile >> "CfgWeapons" >> _weapon >> "ACE_twistDirection"); + if (_twistDirection != -1 && _twistDirection != 0 && _twistDirection != 1) then { + _twistDirection = 1; + }; + }; + _barrelLength = getNumber(configFile >> "CfgWeapons" >> _weapon >> "ACE_barrelLength"); + _WeaponCacheIndex = count GVAR(WeaponCacheIndex); + GVAR(WeaponCacheIndex) pushBack _weapon; + GVAR(WeaponCacheData) pushBack [_weapon, _barrelTwist, _twistDirection, _barrelLength]; +}; +_WeaponCacheEntry = GVAR(WeaponCacheData) select _WeaponCacheIndex; + +_airFriction = _AmmoCacheEntry select 1; _bulletVelocity = velocity _bullet; _muzzleVelocity = vectorMagnitude _bulletVelocity; if (GVAR(barrelLengthInfluenceEnabled)) then { - _muzzleVelocityShift = [_ammo, _weapon, _muzzleVelocity] call FUNC(calculateBarrelLengthVelocityShift); + _muzzleVelocityShift = [_WeaponCacheEntry select 3, _AmmoCacheEntry select 11, _AmmoCacheEntry select 12, _muzzleVelocity] call FUNC(calculateBarrelLengthVelocityShift); if (_muzzleVelocityShift != 0) then { _bulletVelocity = _bulletVelocity vectorAdd ((vectorNormalized _bulletVelocity) vectorMultiply (_muzzleVelocityShift)); _bullet setVelocity _bulletVelocity; @@ -70,7 +134,7 @@ if (GVAR(barrelLengthInfluenceEnabled)) then { if (GVAR(ammoTemperatureEnabled)) then { _temperature = GET_TEMPERATURE_AT_HEIGHT((getPosASL _unit) select 2); - _muzzleVelocityShift = [_ammo, _temperature] call FUNC(calculateAmmoTemperatureVelocityShift); + _muzzleVelocityShift = [_AmmoCacheEntry select 10, _temperature] call FUNC(calculateAmmoTemperatureVelocityShift); if (_muzzleVelocityShift != 0) then { _bulletVelocity = _bulletVelocity vectorAdd ((vectorNormalized _bulletVelocity) vectorMultiply (_muzzleVelocityShift)); _bullet setVelocity _bulletVelocity; @@ -85,16 +149,16 @@ if (GVAR(bulletTraceEnabled) && cameraView == "GUNNER") then { } else { if (currentWeapon ACE_player == primaryWeapon ACE_player && count primaryWeaponItems ACE_player > 2) then { _opticsName = (primaryWeaponItems ACE_player) select 2; - _opticType = getNumber(configFile >> "cfgWeapons" >> _opticsName >> "ItemInfo" >> "opticType"); + _opticType = getNumber(configFile >> "CfgWeapons" >> _opticsName >> "ItemInfo" >> "opticType"); _bulletTraceVisible = _opticType == 2; }; }; }; -_caliber = getNumber(configFile >> "cfgAmmo" >> _ammo >> "ACE_caliber"); -_bulletLength = getNumber(configFile >> "cfgAmmo" >> _ammo >> "ACE_bulletLength"); -_bulletMass = getNumber(configFile >> "cfgAmmo" >> _ammo >> "ACE_bulletMass"); -_barrelTwist = getNumber(configFile >> "cfgWeapons" >> _weapon >> "ACE_barrelTwist"); +_caliber = _AmmoCacheEntry select 2; +_bulletLength = _AmmoCacheEntry select 3; +_bulletMass = _AmmoCacheEntry select 4; +_barrelTwist = _WeaponCacheEntry select 1; _stabilityFactor = 1.5; if (_caliber > 0 && _bulletLength > 0 && _bulletMass > 0 && _barrelTwist > 0) then { @@ -103,42 +167,9 @@ if (_caliber > 0 && _bulletLength > 0 && _bulletMass > 0 && _barrelTwist > 0) th _stabilityFactor = [_caliber, _bulletLength, _bulletMass, _barrelTwist, _muzzleVelocity, _temperature, _barometricPressure] call FUNC(calculateStabilityFactor); }; -_twistDirection = 1; -if (isNumber(configFile >> "cfgWeapons" >> _weapon >> "ACE_twistDirection")) then { - _twistDirection = getNumber(configFile >> "cfgWeapons" >> _weapon >> "ACE_twistDirection"); - if (_twistDirection != -1 && _twistDirection != 0 && _twistDirection != 1) then { - _twistDirection = 1; - }; -}; - -_transonicStabilityCoef = 0.5; -if (isNumber(configFile >> "cfgAmmo" >> _ammo >> "ACE_transonicStabilityCoef")) then { - _transonicStabilityCoef = getNumber(configFile >> "cfgAmmo" >> _ammo >> "ACE_transonicStabilityCoef"); -}; - -_dragModel = 1; -_ballisticCoefficients = []; -_velocityBoundaries = []; -_atmosphereModel = "ICAO"; -if (isNumber(configFile >> "cfgAmmo" >> _ammo >> "ACE_dragModel")) then { - _dragModel = getNumber(configFile >> "cfgAmmo" >> _ammo >> "ACE_dragModel"); - if (!(_dragModel in [1, 2, 5, 6, 7, 8])) then { - _dragModel = 1; - }; -}; -if (isArray(configFile >> "cfgAmmo" >> _ammo >> "ACE_ballisticCoefficients")) then { - _ballisticCoefficients = getArray(configFile >> "cfgAmmo" >> _ammo >> "ACE_ballisticCoefficients"); -}; -if (isArray(configFile >> "cfgAmmo" >> _ammo >> "ACE_velocityBoundaries")) then { - _velocityBoundaries = getArray(configFile >> "cfgAmmo" >> _ammo >> "ACE_velocityBoundaries"); -}; -if (isText(configFile >> "cfgAmmo" >> _ammo >> "ACE_standardAtmosphere")) then { - _atmosphereModel = getText(configFile >> "cfgAmmo" >> _ammo >> "ACE_standardAtmosphere"); -}; - GVAR(currentbulletID) = (GVAR(currentbulletID) + 1) % 10000; -"ace_advanced_ballistics" callExtension format["new:%1:%2:%3:%4:%5:%6:%7:%8:%9:%10:%11:%12:%13:%14:%15:%16:%17:%18", GVAR(currentbulletID), _airFriction, _ballisticCoefficients, _velocityBoundaries, _atmosphereModel, _dragModel, _stabilityFactor, _twistDirection, _muzzleVelocity, _transonicStabilityCoef, getPosASL _bullet, EGVAR(weather,Latitude), EGVAR(weather,currentTemperature), EGVAR(weather,Altitude), EGVAR(weather,currentHumidity), overcast, floor(time), time - floor(time)]; +"ace_advanced_ballistics" callExtension format["new:%1:%2:%3:%4:%5:%6:%7:%8:%9:%10:%11:%12:%13:%14:%15:%16:%17:%18", GVAR(currentbulletID), _AmmoCacheEntry select 1, _AmmoCacheEntry select 7, _AmmoCacheEntry select 8, _AmmoCacheEntry select 9, _AmmoCacheEntry select 6, _stabilityFactor, _WeaponCacheEntry select 2, _muzzleVelocity, _AmmoCacheEntry select 5, getPosASL _bullet, EGVAR(weather,Latitude), EGVAR(weather,currentTemperature), EGVAR(weather,Altitude), EGVAR(weather,currentHumidity), overcast, floor(time), time - floor(time)]; [{ private ["_args", "_index", "_bullet", "_caliber", "_bulletTraceVisible", "_bulletVelocity", "_bulletPosition"]; From 03fd740f8eebd6b707fd20cfc77c3a7133c77743 Mon Sep 17 00:00:00 2001 From: ulteq Date: Fri, 8 May 2015 18:43:26 +0200 Subject: [PATCH 092/217] Config caching is now done in the uiNamespace --- addons/advanced_ballistics/XEH_postInit.sqf | 5 -- addons/advanced_ballistics/XEH_preInit.sqf | 2 + .../functions/fnc_handleFired.sqf | 83 ++++--------------- .../functions/fnc_readAmmoDataFromConfig.sqf | 64 ++++++++++++++ .../fnc_readWeaponDataFromConfig.sqf | 34 ++++++++ 5 files changed, 114 insertions(+), 74 deletions(-) create mode 100644 addons/advanced_ballistics/functions/fnc_readAmmoDataFromConfig.sqf create mode 100644 addons/advanced_ballistics/functions/fnc_readWeaponDataFromConfig.sqf diff --git a/addons/advanced_ballistics/XEH_postInit.sqf b/addons/advanced_ballistics/XEH_postInit.sqf index faaa468bc8..b59737412a 100644 --- a/addons/advanced_ballistics/XEH_postInit.sqf +++ b/addons/advanced_ballistics/XEH_postInit.sqf @@ -4,11 +4,6 @@ GVAR(currentbulletID) = -1; -GVAR(AmmoCacheIndex) = []; -GVAR(AmmoCacheData) = []; -GVAR(WeaponCacheIndex) = []; -GVAR(WeaponCacheData) = []; - GVAR(Protractor) = false; GVAR(ProtractorStart) = time; diff --git a/addons/advanced_ballistics/XEH_preInit.sqf b/addons/advanced_ballistics/XEH_preInit.sqf index 1d19a9c492..b5ffa62fe8 100644 --- a/addons/advanced_ballistics/XEH_preInit.sqf +++ b/addons/advanced_ballistics/XEH_preInit.sqf @@ -13,5 +13,7 @@ PREP(displayProtractor); PREP(handleFired); PREP(initializeTerrainExtension); PREP(initModuleSettings); +PREP(readAmmoDataFromConfig); +PREP(readWeaponDataFromConfig); ADDON = true; diff --git a/addons/advanced_ballistics/functions/fnc_handleFired.sqf b/addons/advanced_ballistics/functions/fnc_handleFired.sqf index 5862786228..73c7a28f32 100644 --- a/addons/advanced_ballistics/functions/fnc_handleFired.sqf +++ b/addons/advanced_ballistics/functions/fnc_handleFired.sqf @@ -19,7 +19,7 @@ */ #include "script_component.hpp" -private ["_unit", "_weapon", "_mode", "_ammo", "_magazine", "_caliber", "_bullet", "_abort", "_AmmoCacheIndex", "_AmmoCacheEntry", "_WeaponCacheIndex", "_WeaponCacheEntry", "_opticsName", "_opticType", "_bulletTraceVisible", "_temperature", "_barometricPressure", "_atmosphereModel", "_ammoTempMuzzleVelocityShifts", "_muzzleVelocityTable", "_barrelLengthTable", "_barrelLength", "_bulletMass", "_bulletLength", "_airFriction", "_dragModel", "_muzzleVelocity", "_muzzleVelocityShift", "_bulletVelocity", "_bulletSpeed", "_bulletLength", "_barrelTwist", "_twistDirection", "_stabilityFactor", "_transonicStabilityCoef", "_ballisticCoefficients", "_velocityBoundaries"]; +private ["_unit", "_weapon", "_mode", "_ammo", "_magazine", "_caliber", "_bullet", "_abort", "_AmmoCacheEntry", "_WeaponCacheEntry", "_opticsName", "_opticType", "_bulletTraceVisible", "_temperature", "_barometricPressure", "_atmosphereModel", "_ammoTempMuzzleVelocityShifts", "_muzzleVelocityTable", "_barrelLengthTable", "_barrelLength", "_bulletMass", "_bulletLength", "_airFriction", "_dragModel", "_muzzleVelocity", "_muzzleVelocityShift", "_bulletVelocity", "_bulletSpeed", "_bulletLength", "_barrelTwist", "_twistDirection", "_stabilityFactor", "_transonicStabilityCoef", "_ballisticCoefficients", "_velocityBoundaries"]; _unit = _this select 0; _weapon = _this select 1; _mode = _this select 3; @@ -54,69 +54,14 @@ if (_abort || !(GVAR(extensionAvailable))) exitWith { [_bullet, getNumber(configFile >> "CfgAmmo" >> _ammo >> "airFriction")] call EFUNC(winddeflection,updateTrajectoryPFH); }; -_AmmoCacheIndex = GVAR(AmmoCacheIndex) find _ammo; -if (_AmmoCacheIndex == -1) then { - _airFriction = getNumber(configFile >> "CfgAmmo" >> _ammo >> "airFriction"); - _caliber = getNumber(configFile >> "CfgAmmo" >> _ammo >> "ACE_caliber"); - _bulletLength = getNumber(configFile >> "CfgAmmo" >> _ammo >> "ACE_bulletLength"); - _bulletMass = getNumber(configFile >> "CfgAmmo" >> _ammo >> "ACE_bulletMass"); - _transonicStabilityCoef = 0.5; - if (isNumber(configFile >> "CfgAmmo" >> _ammo >> "ACE_transonicStabilityCoef")) then { - _transonicStabilityCoef = getNumber(configFile >> "CfgAmmo" >> _ammo >> "ACE_transonicStabilityCoef"); - }; - _dragModel = 1; - _ballisticCoefficients = []; - _velocityBoundaries = []; - _atmosphereModel = "ICAO"; - if (isNumber(configFile >> "CfgAmmo" >> _ammo >> "ACE_dragModel")) then { - _dragModel = getNumber(configFile >> "CfgAmmo" >> _ammo >> "ACE_dragModel"); - if (!(_dragModel in [1, 2, 5, 6, 7, 8])) then { - _dragModel = 1; - }; - }; - if (isArray(configFile >> "CfgAmmo" >> _ammo >> "ACE_ballisticCoefficients")) then { - _ballisticCoefficients = getArray(configFile >> "CfgAmmo" >> _ammo >> "ACE_ballisticCoefficients"); - }; - if (isArray(configFile >> "CfgAmmo" >> _ammo >> "ACE_velocityBoundaries")) then { - _velocityBoundaries = getArray(configFile >> "CfgAmmo" >> _ammo >> "ACE_velocityBoundaries"); - }; - if (isText(configFile >> "CfgAmmo" >> _ammo >> "ACE_standardAtmosphere")) then { - _atmosphereModel = getText(configFile >> "CfgAmmo" >> _ammo >> "ACE_standardAtmosphere"); - }; - _ammoTempMuzzleVelocityShifts = []; - if (isArray(configFile >> "CfgAmmo" >> _ammo >> "ACE_ammoTempMuzzleVelocityShifts")) then { - _ammoTempMuzzleVelocityShifts = getArray(configFile >> "CfgAmmo" >> _ammo >> "ACE_ammoTempMuzzleVelocityShifts"); - }; - _muzzleVelocityTable = []; - _barrelLengthTable = []; - if (isArray(configFile >> "CfgAmmo" >> _ammo >> "ACE_muzzleVelocityTable")) then { - _muzzleVelocityTable = getArray(configFile >> "CfgAmmo" >> _ammo >> "ACE_muzzleVelocityTable"); - }; - if (isArray(configFile >> "CfgAmmo" >> _ammo >> "ACE_barrelLengths")) then { - _barrelLengthTable = getArray(configFile >> "CfgAmmo" >> _ammo >> "ACE_barrelLengthTable"); - }; - _AmmoCacheIndex = count GVAR(AmmoCacheIndex); - GVAR(AmmoCacheIndex) pushBack _ammo; - GVAR(AmmoCacheData) pushBack [_ammo, _airFriction, _caliber, _bulletLength, _bulletMass, _transonicStabilityCoef, _dragModel, _ballisticCoefficients, _velocityBoundaries, _atmosphereModel, _ammoTempMuzzleVelocityShifts, _muzzleVelocityTable, _barrelLengthTable]; +_AmmoCacheEntry = uiNamespace getVariable format[QGVAR(%1), _ammo]; +if (isNil {_AmmoCacheEntry}) then { + _AmmoCacheEntry = _ammo call FUNC(readAmmoDataFromConfig); }; -_AmmoCacheEntry = GVAR(AmmoCacheData) select _AmmoCacheIndex; - -_WeaponCacheIndex = GVAR(WeaponCacheIndex) find _weapon; -if (_WeaponCacheIndex == -1) then { - _barrelTwist = getNumber(configFile >> "CfgWeapons" >> _weapon >> "ACE_barrelTwist"); - _twistDirection = 1; - if (isNumber(configFile >> "CfgWeapons" >> _weapon >> "ACE_twistDirection")) then { - _twistDirection = getNumber(configFile >> "CfgWeapons" >> _weapon >> "ACE_twistDirection"); - if (_twistDirection != -1 && _twistDirection != 0 && _twistDirection != 1) then { - _twistDirection = 1; - }; - }; - _barrelLength = getNumber(configFile >> "CfgWeapons" >> _weapon >> "ACE_barrelLength"); - _WeaponCacheIndex = count GVAR(WeaponCacheIndex); - GVAR(WeaponCacheIndex) pushBack _weapon; - GVAR(WeaponCacheData) pushBack [_weapon, _barrelTwist, _twistDirection, _barrelLength]; +_WeaponCacheEntry = uiNamespace getVariable format[QGVAR(%1), _weapon]; +if (isNil {_WeaponCacheEntry}) then { + _WeaponCacheEntry = _weapon call FUNC(readWeaponDataFromConfig); }; -_WeaponCacheEntry = GVAR(WeaponCacheData) select _WeaponCacheIndex; _airFriction = _AmmoCacheEntry select 1; @@ -124,7 +69,7 @@ _bulletVelocity = velocity _bullet; _muzzleVelocity = vectorMagnitude _bulletVelocity; if (GVAR(barrelLengthInfluenceEnabled)) then { - _muzzleVelocityShift = [_WeaponCacheEntry select 3, _AmmoCacheEntry select 11, _AmmoCacheEntry select 12, _muzzleVelocity] call FUNC(calculateBarrelLengthVelocityShift); + _muzzleVelocityShift = [_WeaponCacheEntry select 2, _AmmoCacheEntry select 10, _AmmoCacheEntry select 11, _muzzleVelocity] call FUNC(calculateBarrelLengthVelocityShift); if (_muzzleVelocityShift != 0) then { _bulletVelocity = _bulletVelocity vectorAdd ((vectorNormalized _bulletVelocity) vectorMultiply (_muzzleVelocityShift)); _bullet setVelocity _bulletVelocity; @@ -134,7 +79,7 @@ if (GVAR(barrelLengthInfluenceEnabled)) then { if (GVAR(ammoTemperatureEnabled)) then { _temperature = GET_TEMPERATURE_AT_HEIGHT((getPosASL _unit) select 2); - _muzzleVelocityShift = [_AmmoCacheEntry select 10, _temperature] call FUNC(calculateAmmoTemperatureVelocityShift); + _muzzleVelocityShift = [_AmmoCacheEntry select 9, _temperature] call FUNC(calculateAmmoTemperatureVelocityShift); if (_muzzleVelocityShift != 0) then { _bulletVelocity = _bulletVelocity vectorAdd ((vectorNormalized _bulletVelocity) vectorMultiply (_muzzleVelocityShift)); _bullet setVelocity _bulletVelocity; @@ -155,10 +100,10 @@ if (GVAR(bulletTraceEnabled) && cameraView == "GUNNER") then { }; }; -_caliber = _AmmoCacheEntry select 2; -_bulletLength = _AmmoCacheEntry select 3; -_bulletMass = _AmmoCacheEntry select 4; -_barrelTwist = _WeaponCacheEntry select 1; +_caliber = _AmmoCacheEntry select 1; +_bulletLength = _AmmoCacheEntry select 2; +_bulletMass = _AmmoCacheEntry select 3; +_barrelTwist = _WeaponCacheEntry select 0; _stabilityFactor = 1.5; if (_caliber > 0 && _bulletLength > 0 && _bulletMass > 0 && _barrelTwist > 0) then { @@ -169,7 +114,7 @@ if (_caliber > 0 && _bulletLength > 0 && _bulletMass > 0 && _barrelTwist > 0) th GVAR(currentbulletID) = (GVAR(currentbulletID) + 1) % 10000; -"ace_advanced_ballistics" callExtension format["new:%1:%2:%3:%4:%5:%6:%7:%8:%9:%10:%11:%12:%13:%14:%15:%16:%17:%18", GVAR(currentbulletID), _AmmoCacheEntry select 1, _AmmoCacheEntry select 7, _AmmoCacheEntry select 8, _AmmoCacheEntry select 9, _AmmoCacheEntry select 6, _stabilityFactor, _WeaponCacheEntry select 2, _muzzleVelocity, _AmmoCacheEntry select 5, getPosASL _bullet, EGVAR(weather,Latitude), EGVAR(weather,currentTemperature), EGVAR(weather,Altitude), EGVAR(weather,currentHumidity), overcast, floor(time), time - floor(time)]; +"ace_advanced_ballistics" callExtension format["new:%1:%2:%3:%4:%5:%6:%7:%8:%9:%10:%11:%12:%13:%14:%15:%16:%17:%18", GVAR(currentbulletID), _AmmoCacheEntry select 0, _AmmoCacheEntry select 6, _AmmoCacheEntry select 7, _AmmoCacheEntry select 8, _AmmoCacheEntry select 5, _stabilityFactor, _WeaponCacheEntry select 1, _muzzleVelocity, _AmmoCacheEntry select 4, getPosASL _bullet, EGVAR(weather,Latitude), EGVAR(weather,currentTemperature), EGVAR(weather,Altitude), EGVAR(weather,currentHumidity), overcast, floor(time), time - floor(time)]; [{ private ["_args", "_index", "_bullet", "_caliber", "_bulletTraceVisible", "_bulletVelocity", "_bulletPosition"]; diff --git a/addons/advanced_ballistics/functions/fnc_readAmmoDataFromConfig.sqf b/addons/advanced_ballistics/functions/fnc_readAmmoDataFromConfig.sqf new file mode 100644 index 0000000000..7ff94387d1 --- /dev/null +++ b/addons/advanced_ballistics/functions/fnc_readAmmoDataFromConfig.sqf @@ -0,0 +1,64 @@ +/* + * Author: Ruthberg + * + * Reads the ammo class config and updates the config cache + * + * Arguments: + * 0: ammo - classname + * + * Return Value: + * 0: [_airFriction, _caliber, _bulletLength, _bulletMass, _transonicStabilityCoef, _dragModel, _ballisticCoefficients, _velocityBoundaries, _atmosphereModel, _ammoTempMuzzleVelocityShifts, _muzzleVelocityTable, _barrelLengthTable] + * + * Return value: + * None + */ +#include "script_component.hpp" + +private ["_ammo", "_airFriction", "_caliber", "_bulletLength", "_bulletMass", "_transonicStabilityCoef", "_dragModel", "_ballisticCoefficients", "_velocityBoundaries", "_atmosphereModel", "_ammoTempMuzzleVelocityShifts", "_muzzleVelocityTable", "_barrelLengthTable", "_result"]; +_ammo = _this; + +_airFriction = getNumber(configFile >> "CfgAmmo" >> _ammo >> "airFriction"); +_caliber = getNumber(configFile >> "CfgAmmo" >> _ammo >> "ACE_caliber"); +_bulletLength = getNumber(configFile >> "CfgAmmo" >> _ammo >> "ACE_bulletLength"); +_bulletMass = getNumber(configFile >> "CfgAmmo" >> _ammo >> "ACE_bulletMass"); +_transonicStabilityCoef = 0.5; +if (isNumber(configFile >> "CfgAmmo" >> _ammo >> "ACE_transonicStabilityCoef")) then { + _transonicStabilityCoef = getNumber(configFile >> "CfgAmmo" >> _ammo >> "ACE_transonicStabilityCoef"); +}; +_dragModel = 1; +_ballisticCoefficients = []; +_velocityBoundaries = []; +_atmosphereModel = "ICAO"; +if (isNumber(configFile >> "CfgAmmo" >> _ammo >> "ACE_dragModel")) then { + _dragModel = getNumber(configFile >> "CfgAmmo" >> _ammo >> "ACE_dragModel"); + if (!(_dragModel in [1, 2, 5, 6, 7, 8])) then { + _dragModel = 1; + }; +}; +if (isArray(configFile >> "CfgAmmo" >> _ammo >> "ACE_ballisticCoefficients")) then { + _ballisticCoefficients = getArray(configFile >> "CfgAmmo" >> _ammo >> "ACE_ballisticCoefficients"); +}; +if (isArray(configFile >> "CfgAmmo" >> _ammo >> "ACE_velocityBoundaries")) then { + _velocityBoundaries = getArray(configFile >> "CfgAmmo" >> _ammo >> "ACE_velocityBoundaries"); +}; +if (isText(configFile >> "CfgAmmo" >> _ammo >> "ACE_standardAtmosphere")) then { + _atmosphereModel = getText(configFile >> "CfgAmmo" >> _ammo >> "ACE_standardAtmosphere"); +}; +_ammoTempMuzzleVelocityShifts = []; +if (isArray(configFile >> "CfgAmmo" >> _ammo >> "ACE_ammoTempMuzzleVelocityShifts")) then { + _ammoTempMuzzleVelocityShifts = getArray(configFile >> "CfgAmmo" >> _ammo >> "ACE_ammoTempMuzzleVelocityShifts"); +}; +_muzzleVelocityTable = []; +_barrelLengthTable = []; +if (isArray(configFile >> "CfgAmmo" >> _ammo >> "ACE_muzzleVelocityTable")) then { + _muzzleVelocityTable = getArray(configFile >> "CfgAmmo" >> _ammo >> "ACE_muzzleVelocityTable"); +}; +if (isArray(configFile >> "CfgAmmo" >> _ammo >> "ACE_barrelLengths")) then { + _barrelLengthTable = getArray(configFile >> "CfgAmmo" >> _ammo >> "ACE_barrelLengthTable"); +}; + +_result = [_airFriction, _caliber, _bulletLength, _bulletMass, _transonicStabilityCoef, _dragModel, _ballisticCoefficients, _velocityBoundaries, _atmosphereModel, _ammoTempMuzzleVelocityShifts, _muzzleVelocityTable, _barrelLengthTable]; + +uiNamespace setVariable [format[QGVAR(%1), _ammo], _result]; + +_result diff --git a/addons/advanced_ballistics/functions/fnc_readWeaponDataFromConfig.sqf b/addons/advanced_ballistics/functions/fnc_readWeaponDataFromConfig.sqf new file mode 100644 index 0000000000..cbf8731336 --- /dev/null +++ b/addons/advanced_ballistics/functions/fnc_readWeaponDataFromConfig.sqf @@ -0,0 +1,34 @@ +/* + * Author: Ruthberg + * + * Reads the weapon class config and updates the config cache + * + * Arguments: + * 0: ammo - classname + * + * Return Value: + * 0: [_barrelTwist, _twistDirection, _barrelLength] + * + * Return value: + * None + */ +#include "script_component.hpp" + +private ["_weapon", "_barrelTwist", "_twistDirection", "_barrelLength", "_result"]; +_weapon = _this; + +_barrelTwist = getNumber(configFile >> "CfgWeapons" >> _weapon >> "ACE_barrelTwist"); +_twistDirection = 1; +if (isNumber(configFile >> "CfgWeapons" >> _weapon >> "ACE_twistDirection")) then { + _twistDirection = getNumber(configFile >> "CfgWeapons" >> _weapon >> "ACE_twistDirection"); + if (_twistDirection != -1 && _twistDirection != 0 && _twistDirection != 1) then { + _twistDirection = 1; + }; +}; +_barrelLength = getNumber(configFile >> "CfgWeapons" >> _weapon >> "ACE_barrelLength"); + +_result = [_barrelTwist, _twistDirection, _barrelLength]; + +uiNamespace setVariable [format[QGVAR(%1), _weapon], _result]; + +_result From 0a9dbfba871a892b14466dcd50db4004af96ef6a Mon Sep 17 00:00:00 2001 From: ulteq Date: Fri, 8 May 2015 18:47:17 +0200 Subject: [PATCH 093/217] Privates cleanup --- addons/advanced_ballistics/functions/fnc_handleFired.sqf | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/addons/advanced_ballistics/functions/fnc_handleFired.sqf b/addons/advanced_ballistics/functions/fnc_handleFired.sqf index 73c7a28f32..5404953bd0 100644 --- a/addons/advanced_ballistics/functions/fnc_handleFired.sqf +++ b/addons/advanced_ballistics/functions/fnc_handleFired.sqf @@ -19,7 +19,7 @@ */ #include "script_component.hpp" -private ["_unit", "_weapon", "_mode", "_ammo", "_magazine", "_caliber", "_bullet", "_abort", "_AmmoCacheEntry", "_WeaponCacheEntry", "_opticsName", "_opticType", "_bulletTraceVisible", "_temperature", "_barometricPressure", "_atmosphereModel", "_ammoTempMuzzleVelocityShifts", "_muzzleVelocityTable", "_barrelLengthTable", "_barrelLength", "_bulletMass", "_bulletLength", "_airFriction", "_dragModel", "_muzzleVelocity", "_muzzleVelocityShift", "_bulletVelocity", "_bulletSpeed", "_bulletLength", "_barrelTwist", "_twistDirection", "_stabilityFactor", "_transonicStabilityCoef", "_ballisticCoefficients", "_velocityBoundaries"]; +private ["_unit", "_weapon", "_mode", "_ammo", "_magazine", "_caliber", "_bullet", "_abort", "_AmmoCacheEntry", "_WeaponCacheEntry", "_opticsName", "_opticType", "_bulletTraceVisible", "_temperature", "_barometricPressure", "_bulletMass", "_bulletLength", "_muzzleVelocity", "_muzzleVelocityShift", "_bulletVelocity", "_bulletSpeed", "_bulletLength", "_barrelTwist", "_stabilityFactor"]; _unit = _this select 0; _weapon = _this select 1; _mode = _this select 3; @@ -63,8 +63,6 @@ if (isNil {_WeaponCacheEntry}) then { _WeaponCacheEntry = _weapon call FUNC(readWeaponDataFromConfig); }; -_airFriction = _AmmoCacheEntry select 1; - _bulletVelocity = velocity _bullet; _muzzleVelocity = vectorMagnitude _bulletVelocity; From 24505f59e16559b6eb176f6843a43aa83e800a74 Mon Sep 17 00:00:00 2001 From: KoffeinFlummi Date: Fri, 8 May 2015 19:27:42 +0200 Subject: [PATCH 094/217] Add option to stringtablediag to only show markdown --- tools/stringtablediag.py | 44 ++++++++++++++++++++++------------------ 1 file changed, 24 insertions(+), 20 deletions(-) diff --git a/tools/stringtablediag.py b/tools/stringtablediag.py index c4aab0b104..8cd585ac2a 100755 --- a/tools/stringtablediag.py +++ b/tools/stringtablediag.py @@ -57,14 +57,16 @@ def main(): projectpath = os.path.dirname(os.path.dirname(scriptpath)) projectpath = os.path.join(projectpath, "addons") - print("#########################") - print("# Stringtable Diag Tool #") - print("#########################") + if "--markdown" not in sys.argv: + print("#########################") + print("# Stringtable Diag Tool #") + print("#########################") languages = get_all_languages(projectpath) - print("\nLanguages present in the repo:") - print(", ".join(languages)) + if "--markdown" not in sys.argv: + print("\nLanguages present in the repo:") + print(", ".join(languages)) keysum = 0 localizedsum = list(map(lambda x: 0, languages)) @@ -76,31 +78,33 @@ def main(): if keynumber == 0: continue - print("\n# " + module) + if "--markdown" not in sys.argv: + print("\n# " + module) keysum += keynumber for i in range(len(localized)): - print(" %s %s / %i" % ((languages[i]+":").ljust(10), str(localized[i]).ljust(3), keynumber)) + if "--markdown" not in sys.argv: + print(" %s %s / %i" % ((languages[i]+":").ljust(10), str(localized[i]).ljust(3), keynumber)) localizedsum[i] += localized[i] if localized[i] < keynumber: missing[i].append(module) - print("\n###########") - print("# RESULTS #") - print("###########") + if "--markdown" not in sys.argv: + print("\n###########") + print("# RESULTS #") + print("###########") + print("\nTotal number of keys: %i\n" % (keysum)) - print("\nTotal number of keys: %i\n" % (keysum)) + for i in range(len(languages)): + if localizedsum[i] == keysum: + print("%s No missing stringtable entries." % ((languages[i] + ":").ljust(12))) + else: + print("%s %s missing stringtable entry/entries." % ((languages[i] + ":").ljust(12), str(keysum - localizedsum[i]).rjust(4)), end="") + print(" ("+", ".join(missing[i])+")") - for i in range(len(languages)): - if localizedsum[i] == keysum: - print("%s No missing stringtable entries." % ((languages[i] + ":").ljust(12))) - else: - print("%s %s missing stringtable entry/entries." % ((languages[i] + ":").ljust(12), str(keysum - localizedsum[i]).rjust(4)), end="") - print(" ("+", ".join(missing[i])+")") + print("\n\n### MARKDOWN ###\n") - print("\n\n### MARKDOWN ###") - - print("\nTotal number of keys: %i\n" % (keysum)) + print("Total number of keys: %i\n" % (keysum)) print("| Language | Missing Entries | Relevant Modules | % done |") print("|----------|----------------:|------------------|--------|") From 6d44889292e093d032ebfaba0debfd630507841f Mon Sep 17 00:00:00 2001 From: KoffeinFlummi Date: Fri, 8 May 2015 19:27:58 +0200 Subject: [PATCH 095/217] Add deploy script --- tools/deploy.py | 101 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 101 insertions(+) create mode 100755 tools/deploy.py diff --git a/tools/deploy.py b/tools/deploy.py new file mode 100755 index 0000000000..baefbf44e2 --- /dev/null +++ b/tools/deploy.py @@ -0,0 +1,101 @@ +#!/usr/bin/env python3 + +#################################### +# ACE3 automatic deployment script # +# ================================ # +# This is not meant to be run # +# directly! # +#################################### + +import os +import sys +import shutil +import traceback +import subprocess as sp +from pygithub3 import Github + + +TRANSLATIONISSUE = 367 +TRANSLATIONBODY = """**How to translate ACE3:** +https://github.com/acemod/ACE3/blob/master/documentation/development/how-to-translate-ace3.md + +{} +""" + +REPOUSER = "acemod" +REPONAME = "ACE3" +REPOPATH = "{}/{}".format(REPOUSER,REPONAME) + +USERNAME = "ACE3 Travis" +USEREMAIL = "travis@ace3mod.com" + + +def update_translations(token): + diag = sp.check_output(["python3", "tools/stringtablediag.py", "--markdown"]) + diag = str(diag, "utf-8") + repo = Github(token).get_repo(REPOPATH) + issue = repo.get_issue(TRANSLATIONISSUE) + issue.edit(body=TRANSLATIONBODY.format(diag)) + + +def deploy_documentation(token): + devnull = open(os.devnull, "w") + url = "https://{}@github.com/{}".format(token, REPOPATH) + + sp.check_call(["git", "clone", url, "out", "--depth", "10", "--branch", "gh-pages"], stdout=devnull, stderr=devnull) + os.chdir("out") + + sp.check_call(["git", "config", "user.name", USERNAME]) + sp.check_call(["git", "config", "user.email", USEREMAIL]) + + for root, dirs, files in os.walk("../documentation", topdown=False): + target = root.replace("../documentation", "wiki") + if root == "../documentation": + continue + for name in files: + print("{} => {}".format(os.path.join(root, name), os.path.join(target, name))) + shutil.copyfile(os.path.join(root, name), os.path.join(target, name)) + + sp.check_call(["git", "add", "--all", "."]) + sp.check_call(["git", "commit", "-m", "Automatic gh-pages deployment"]) + sp.check_call(["git", "push", "origin", "gh-pages"], stdout=devnull, stderr=devnull) + + os.chdir("..") + + +def main(): + print("Obtaining token ...") + try: + token = os.environ["GH_TOKEN"] + except: + print("Could not obtain token.") + print(traceback.format_exc()) + return 1 + else: + print("done.") + + print("\nUpdating translation issue ...") + try: + update_translations(token) + except: + print("Failed to update translation issue.") + print(traceback.format_exc()) + return 1 + else: + print("done.") + + print("\nDeploying documentation ...") + try: + deploy_documentation(token) + except: + print("Failed to deploy documentation.") + print(traceback.format_exc()) + return 1 + else: + print("done.") + + return 0 + + +if __name__ == "__main__": + sys.exit(main()) From b1f16132e561814278d68f8ff98a18a52c6e8f77 Mon Sep 17 00:00:00 2001 From: KoffeinFlummi Date: Fri, 8 May 2015 19:28:06 +0200 Subject: [PATCH 096/217] Add travis file --- .travis.yml | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 .travis.yml diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000000..65990248bf --- /dev/null +++ b/.travis.yml @@ -0,0 +1,11 @@ +language: python +python: + - "3.4" +before_script: + - pip install pygithub + - pip install pygithub3 +script: + - python3 tools/deploy.py +env: + global: + - secure: "KcJQbknBOdC5lA4nFGKPXVRVIGLDXDRzC8XkHuXJCE9pIR/wbxbkvx8fHKcC6SC9eHgzneC3+o4m4+CjIbVvIwDgslRbJ8Y59i90ncONmdoRx1HUYHwuYWVZm9HJFjCsIbrEqhSyyKS+PB3WZVOLbErtNHsgS8f43PTh5Ujg7Vg=" From 38b03e2b180c9236bc58c49e3a157aee0cdc224f Mon Sep 17 00:00:00 2001 From: KoffeinFlummi Date: Fri, 8 May 2015 19:37:14 +0200 Subject: [PATCH 097/217] Only commit if there's something to do --- tools/deploy.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/tools/deploy.py b/tools/deploy.py index baefbf44e2..501987810a 100755 --- a/tools/deploy.py +++ b/tools/deploy.py @@ -57,8 +57,12 @@ def deploy_documentation(token): shutil.copyfile(os.path.join(root, name), os.path.join(target, name)) sp.check_call(["git", "add", "--all", "."]) - sp.check_call(["git", "commit", "-m", "Automatic gh-pages deployment"]) - sp.check_call(["git", "push", "origin", "gh-pages"], stdout=devnull, stderr=devnull) + + filenum = sp.check_output(["git", "status", "--porcelain"]) + filenum = len(str(filenum, "utf-8").split("\n")) - 1 + if filenum > 0: + sp.check_call(["git", "commit", "-m", "Automatic gh-pages deployment"]) + sp.check_call(["git", "push", "origin", "gh-pages"], stdout=devnull, stderr=devnull) os.chdir("..") From a5fb8a1a4f7fe5cbbe81d0ec1491a4de9b13b693 Mon Sep 17 00:00:00 2001 From: KoffeinFlummi Date: Fri, 8 May 2015 19:37:25 +0200 Subject: [PATCH 098/217] Restore missing line --- .../development/setting-up-the-development-environment.md | 1 + 1 file changed, 1 insertion(+) diff --git a/documentation/development/setting-up-the-development-environment.md b/documentation/development/setting-up-the-development-environment.md index 14d5e067c9..8a572c1ec6 100644 --- a/documentation/development/setting-up-the-development-environment.md +++ b/documentation/development/setting-up-the-development-environment.md @@ -14,6 +14,7 @@ This page describes how you can setup your development environment for ACE3, all - Arma 3 (duh) - A proper installation of the Arma 3 Tools (available on Steam) - A properly setup P-drive +- Run ArmA 3 and Arma 3 Tools directly from steam once to install registry entries (and again after every update) - Python 3.x, available [here](http://www.python.org) - The following Mikero Tools (available [here](https://dev.withsix.com/projects/mikero-pbodll/files)): DePBO, Rapify, MakePBO, PBOProject - A properly setup PATH variable (containing Python and the Mikero tools) From e674229dde4d49dd51d5e23e4fe637e365c6e52c Mon Sep 17 00:00:00 2001 From: Glowbal Date: Fri, 8 May 2015 20:10:40 +0200 Subject: [PATCH 099/217] enabledFor > enableFor --- addons/medical/XEH_postInit.sqf | 2 -- addons/medical/functions/fnc_hasMedicalEnabled.sqf | 2 +- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/addons/medical/XEH_postInit.sqf b/addons/medical/XEH_postInit.sqf index 1bb0e744bc..f8129e5e78 100644 --- a/addons/medical/XEH_postInit.sqf +++ b/addons/medical/XEH_postInit.sqf @@ -2,8 +2,6 @@ #include "script_component.hpp" -GVAR(enabledFor) = 1; // TODO remove this once we implement settings. Just here to get the vitals working. - GVAR(heartBeatSounds_Fast) = ["ACE_heartbeat_fast_1", "ACE_heartbeat_fast_2", "ACE_heartbeat_fast_3"]; GVAR(heartBeatSounds_Normal) = ["ACE_heartbeat_norm_1", "ACE_heartbeat_norm_2"]; GVAR(heartBeatSounds_Slow) = ["ACE_heartbeat_slow_1", "ACE_heartbeat_slow_2"]; diff --git a/addons/medical/functions/fnc_hasMedicalEnabled.sqf b/addons/medical/functions/fnc_hasMedicalEnabled.sqf index ee433c1715..fb5a45fe70 100644 --- a/addons/medical/functions/fnc_hasMedicalEnabled.sqf +++ b/addons/medical/functions/fnc_hasMedicalEnabled.sqf @@ -15,7 +15,7 @@ _unit = _this select 0; _medicalEnabled = _unit getvariable QGVAR(enableMedical); if (isnil "_medicalEnabled") exitwith { - (((GVAR(enabledFor) == 0 && (isPlayer _unit || (_unit getvariable [QEGVAR(common,isDeadPlayer), false])))) || (GVAR(enabledFor) == 1)); + (((GVAR(enableFor) == 0 && (isPlayer _unit || (_unit getvariable [QEGVAR(common,isDeadPlayer), false])))) || (GVAR(enableFor) == 1)); }; _medicalEnabled; From 7294056da0b2412c7c3443fef670cfe4f31d3481 Mon Sep 17 00:00:00 2001 From: commy2 Date: Fri, 8 May 2015 20:13:20 +0200 Subject: [PATCH 100/217] keep ai tweaks except of relaod --- addons/ai/CfgAISkill.hpp | 3 ++- addons/ai/config.cpp | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/addons/ai/CfgAISkill.hpp b/addons/ai/CfgAISkill.hpp index dfa0299509..c01b5eb96e 100644 --- a/addons/ai/CfgAISkill.hpp +++ b/addons/ai/CfgAISkill.hpp @@ -21,7 +21,8 @@ class CfgAISkill { courage[] = {0,0, 1,0.7}; // {0,0,1,1}; endurance[] = {0,0, 1,0.7}; // {0,0,1,1}; general[] = {0,0, 1,0.9}; // {0,0,1,1}; - reloadSpeed[] = {0,0, 1,0.8}; // {0,0,1,1}; + // apparently breaks rapid firing in single fire mode for players + //reloadSpeed[] = {0,0, 1,0.8}; // {0,0,1,1}; spotDistance[] = {0,0, 1,0.9}; // {0,0.2,1,0.4}; spotTime[] = {0,0, 1,0.7}; // {0,0,1,0.7}; }; diff --git a/addons/ai/config.cpp b/addons/ai/config.cpp index 0d5f7c62c3..fdcb6afe9d 100644 --- a/addons/ai/config.cpp +++ b/addons/ai/config.cpp @@ -12,5 +12,5 @@ class CfgPatches { }; }; -//#include "CfgAISkill.hpp" +#include "CfgAISkill.hpp" #include "CfgWeapons.hpp" From b7b6cb60860ec724f56ecbfcd360c0c6e3623bad Mon Sep 17 00:00:00 2001 From: jaynus Date: Fri, 8 May 2015 11:27:17 -0700 Subject: [PATCH 101/217] Fixed: Adds an enabler config to ace_frag, disabling the PFH for any round not enabled. --- addons/frag/CfgAmmo.hpp | 30 +++++++++++++++++++++++++++++ addons/frag/functions/fnc_fired.sqf | 6 +++++- 2 files changed, 35 insertions(+), 1 deletion(-) diff --git a/addons/frag/CfgAmmo.hpp b/addons/frag/CfgAmmo.hpp index ac20dabf5e..19414965b2 100644 --- a/addons/frag/CfgAmmo.hpp +++ b/addons/frag/CfgAmmo.hpp @@ -10,6 +10,8 @@ class CfgAmmo { //}; class Bo_GBU12_LGB; class ACE_GBU12 : Bo_GBU12_LGB { + GVAR(enabled) = 1; + GVAR(classes)[] = {"ACE_frag_large", "ACE_frag_large", "ACE_frag_large_HD", "ACE_frag_large", "ACE_frag_huge", "ACE_frag_huge_HD", "ACE_frag_huge"}; GVAR(metal) = 140000; GVAR(charge) = 87000; @@ -23,6 +25,8 @@ class CfgAmmo { class GrenadeBase; class Grenade; class GrenadeHand: Grenade { + GVAR(enabled) = 1; + GVAR(skip) = 0; GVAR(force) = 1; // This is a good high-drag frag type for grenades. @@ -46,6 +50,8 @@ class CfgAmmo { class RocketBase; class R_Hydra_HE: RocketBase { // Source: http://fas.org/man/dod-101/sys/missile/hydra-70.htm + GVAR(enabled) = 1; + GVAR(classes)[] = {"ACE_frag_medium", "ACE_frag_medium_HD"}; GVAR(metal) = 3850; GVAR(charge) = 1040; @@ -66,6 +72,8 @@ class CfgAmmo { class BombCore; class Bo_Mk82: BombCore { + GVAR(enabled) = 1; + GVAR(classes)[] = {"ACE_frag_large", "ACE_frag_large", "ACE_frag_large_HD", "ACE_frag_large", "ACE_frag_huge", "ACE_frag_huge_HD", "ACE_frag_huge"}; GVAR(metal) = 140000; GVAR(charge) = 87000; @@ -75,6 +83,8 @@ class CfgAmmo { class G_40mm_HE: GrenadeBase { // Source: http://www.inetres.com/gp/military/infantry/grenade/40mm_ammo.html#M441 + GVAR(enabled) = 1; + GVAR(classes)[] = {"ACE_frag_tiny_HD"}; GVAR(metal) = 200; GVAR(charge) = 32; @@ -83,6 +93,8 @@ class CfgAmmo { }; class G_40mm_HEDP: G_40mm_HE { // Source: http://www.inetres.com/gp/military/infantry/grenade/40mm_ammo.html#M433 + GVAR(enabled) = 1; + GVAR(classes)[] = {"ACE_frag_tiny_HD"}; GVAR(metal) = 200; GVAR(charge) = 45; @@ -107,6 +119,8 @@ class CfgAmmo { class Sh_125mm_HEAT; class Sh_155mm_AMOS: ShellBase { // Source: http://www.globalsecurity.org/military/systems/munitions/m795.htm + GVAR(enabled) = 1; + GVAR(classes)[] = {"ACE_frag_large", "ACE_frag_large", "ACE_frag_large_HD", "ACE_frag_large", "ACE_frag_huge", "ACE_frag_huge_HD", "ACE_frag_huge"}; GVAR(metal) = 36000; GVAR(charge) = 9979; @@ -115,6 +129,8 @@ class CfgAmmo { }; class Sh_82mm_AMOS : Sh_155mm_AMOS { // Source: http://www.arsenal-bg.com/defense_police/mortar_bombs_82mm.htm + GVAR(enabled) = 1; + GVAR(classes)[] = {"ACE_frag_medium", "ACE_frag_medium_HD"}; GVAR(metal) = 3200; GVAR(charge) = 420; @@ -122,6 +138,8 @@ class CfgAmmo { GVAR(gurney_k) = 1/2; }; class ModuleOrdnanceMortar_F_Ammo: Sh_82mm_AMOS { + GVAR(enabled) = 1; + GVAR(classes)[] = {"ACE_frag_medium", "ACE_frag_medium_HD"}; GVAR(metal) = 800; GVAR(charge) = 4200; @@ -129,6 +147,8 @@ class CfgAmmo { GVAR(gurney_k) = 1/2; }; class Sh_105mm_HEAT_MP : Sh_125mm_HEAT { + GVAR(enabled) = 1; + GVAR(classes)[] = {"ACE_frag_medium", "ACE_frag_medium_HD"}; GVAR(metal) = 11400; GVAR(charge) = 7100; @@ -136,6 +156,8 @@ class CfgAmmo { GVAR(gurney_k) = 1/2; }; class Sh_120mm_HE : ShellBase { + GVAR(enabled) = 1; + GVAR(classes)[] = {"ACE_frag_medium", "ACE_frag_medium_HD"}; GVAR(metal) = 23000; GVAR(charge) = 3148; @@ -143,6 +165,8 @@ class CfgAmmo { GVAR(gurney_k) = 1/2; }; class Sh_125mm_HE: Sh_120mm_HE { + GVAR(enabled) = 1; + GVAR(classes)[] = {"ACE_frag_medium", "ACE_frag_medium_HD"}; GVAR(metal) = 16000; GVAR(charge) = 3200; @@ -150,6 +174,8 @@ class CfgAmmo { GVAR(gurney_k) = 1/2; }; class ModuleOrdnanceHowitzer_F_ammo: Sh_155mm_AMOS { + GVAR(enabled) = 1; + GVAR(classes)[] = {"ACE_frag_large", "ACE_frag_large", "ACE_frag_large_HD", "ACE_frag_large", "ACE_frag_huge", "ACE_frag_huge_HD", "ACE_frag_huge"}; GVAR(metal) = 1950; GVAR(charge) = 15800; @@ -175,6 +201,8 @@ class CfgAmmo { class MissileBase; class Missile_AGM_02_F : MissileBase { // Source: http://fas.org/man/dod-101/sys/smart/agm-65.htm + GVAR(enabled) = 1; + GVAR(classes)[] = {"ACE_frag_medium", "ACE_frag_medium_HD"}; GVAR(metal) = 56250; GVAR(charge) = 39000; @@ -183,6 +211,8 @@ class CfgAmmo { }; class M_Hellfire_AT: MissileBase { // Source: http://www.designation-systems.net/dusrm/m-114.html + GVAR(enabled) = 1; + GVAR(classes)[] = {"ACE_frag_medium", "ACE_frag_medium_HD"}; GVAR(metal) = 8000; GVAR(charge) = 2400; diff --git a/addons/frag/functions/fnc_fired.sqf b/addons/frag/functions/fnc_fired.sqf index 7ed717c2b8..9b89e40897 100644 --- a/addons/frag/functions/fnc_fired.sqf +++ b/addons/frag/functions/fnc_fired.sqf @@ -1,6 +1,6 @@ #include "script_component.hpp" -private ["_gun", "_type", "_round", "_doFragTrack", "_doSpall", "_spallTrack", "_spallTrackID"]; +private ["_enabled", "_gun", "_type", "_round", "_doFragTrack", "_doSpall", "_spallTrack", "_spallTrackID"]; if (!GVAR(enabled)) exitWith {}; @@ -8,10 +8,14 @@ _gun = _this select 0; _type = _this select 4; _round = _this select 6; +_enabled = getNumber (configFile >> "CfgAmmo" >> _type >> QGVAR(enabled)); +if(_enabled < 1) exitWith {}; + if(_round in GVAR(blackList)) exitWith { GVAR(blackList) = GVAR(blackList) - [_round]; }; + _doFragTrack = false; if(_gun == ACE_player) then { _doFragTrack = true; From a4c710bd28c5822912f46088e0bd92ce9620408d Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Fri, 8 May 2015 13:36:24 -0500 Subject: [PATCH 102/217] Switch scopes to use firedBIS --- addons/scopes/CfgEventHandlers.hpp | 4 ++-- addons/scopes/functions/fnc_firedEH.sqf | 27 ++++++++++++++----------- 2 files changed, 17 insertions(+), 14 deletions(-) diff --git a/addons/scopes/CfgEventHandlers.hpp b/addons/scopes/CfgEventHandlers.hpp index b3d70a2861..5c23e0c462 100644 --- a/addons/scopes/CfgEventHandlers.hpp +++ b/addons/scopes/CfgEventHandlers.hpp @@ -10,10 +10,10 @@ class Extended_PostInit_EventHandlers { }; }; -class Extended_Fired_EventHandlers { +class Extended_FiredBIS_EventHandlers { class CAManBase { class ADDON { - fired = QUOTE(_this call FUNC(firedEH);); + firedBIS = QUOTE(_this call FUNC(firedEH);); }; }; }; diff --git a/addons/scopes/functions/fnc_firedEH.sqf b/addons/scopes/functions/fnc_firedEH.sqf index 8753019931..1b692e340a 100644 --- a/addons/scopes/functions/fnc_firedEH.sqf +++ b/addons/scopes/functions/fnc_firedEH.sqf @@ -3,12 +3,13 @@ * Adjusts the flight path of the bullet according to the zeroing * * Argument: - * 0: Unit - * 1: Weapon - * 3: Muzzle - * 4: Magazine - * 5: Ammo - * 6: Projectile + * 0: unit - Object the event handler is assigned to + * 1: weapon - Fired weapon + * 2: muzzle - Muzzle that was used + * 3: mode - Current mode of the fired weapon + * 4: ammo - Ammo used + * 5: magazine - magazine name which was used + * 6: projectile - Object of the projectile that was shot * * Return value: * None @@ -20,23 +21,25 @@ private ["_unit", "_adjustment", "_weapon", "_projectile", "_weaponIndex", "_zeroing", "_adjustment"]; _unit = _this select 0; +_weapon = _this select 1; +_projectile = _this select 6; // Exit if the unit doesn't have any adjusment variable -_adjustment = _unit getVariable QGVAR(Adjustment); -if (isNil "_adjustment") exitWith {}; +_adjustment = _unit getVariable [QGVAR(Adjustment), []]; +if (_adjustment isEqualTo []) exitWith {}; // Exit if the unit isn't a player if !([_unit] call EFUNC(common,isPlayer)) exitWith {}; -_weapon = _this select 1; -_projectile = _this select 5; - _weaponIndex = [_unit, currentWeapon _unit] call EFUNC(common,getWeaponIndex); if (_weaponIndex < 0) exitWith {}; _zeroing = _adjustment select _weaponIndex; +//Exit if adjusment is zero: +if (_zeroing isEqualTo [0,0,0]) exitWith {}; + // Convert zeroing from mils to degrees -_zeroing = [_zeroing, {_this * 0.05625}] call EFUNC(common,map); +_zeroing = _zeroing vectorMultiply 0.05625; [_projectile, (_zeroing select 1), (_zeroing select 0) + (_zeroing select 2), 0] call EFUNC(common,changeProjectileDirection); From 53360ff0a736dc5f3de4c4885af42476d2bae4b3 Mon Sep 17 00:00:00 2001 From: KoffeinFlummi Date: Fri, 8 May 2015 20:40:40 +0200 Subject: [PATCH 103/217] Add some more descriptive output to deploy.py --- tools/deploy.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tools/deploy.py b/tools/deploy.py index 501987810a..b9fade83a0 100755 --- a/tools/deploy.py +++ b/tools/deploy.py @@ -62,7 +62,10 @@ def deploy_documentation(token): filenum = len(str(filenum, "utf-8").split("\n")) - 1 if filenum > 0: sp.check_call(["git", "commit", "-m", "Automatic gh-pages deployment"]) + print("Pushing changes ...") sp.check_call(["git", "push", "origin", "gh-pages"], stdout=devnull, stderr=devnull) + else: + print("No changes.") os.chdir("..") From b57f731dd06facd0531685ac3d753e66252badd6 Mon Sep 17 00:00:00 2001 From: commy2 Date: Sat, 9 May 2015 04:59:10 +0200 Subject: [PATCH 104/217] disable laserpointer inheritance for rhs --- .../laserpointer/functions/fnc_switchLaserLightMode.sqf | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/addons/laserpointer/functions/fnc_switchLaserLightMode.sqf b/addons/laserpointer/functions/fnc_switchLaserLightMode.sqf index f996d6b270..423090796f 100644 --- a/addons/laserpointer/functions/fnc_switchLaserLightMode.sqf +++ b/addons/laserpointer/functions/fnc_switchLaserLightMode.sqf @@ -29,11 +29,17 @@ _pointer = switch (_weapon) do { if (_pointer == "") exitWith {}; +private "_config"; +_config = configFile >> "CfgWeapons" >> _pointer; + private "_nextPointer"; -_nextPointer = getText (configFile >> "CfgWeapons" >> _pointer >> "ACE_nextModeClass"); +_nextPointer = getText (_config >> "ACE_nextModeClass"); if (_nextPointer == "") exitWith {}; +// disable inheritance for this entry, because addons claim this as a base class for convenience +if !((_config >> "ACE_nextModeClass") in configProperties [_config, "true", false]) exitWith {}; + private ["_description", "_picture"]; _description = getText (configFile >> "CfgWeapons" >> _nextPointer >> "ACE_modeDescription"); From 818d6c49003416920596aa3df3b72390a5a28db3 Mon Sep 17 00:00:00 2001 From: jonpas Date: Sat, 9 May 2015 05:12:29 +0200 Subject: [PATCH 105/217] Possibly fixed FUNC Macros list in Coding Guidelines --- documentation/development/coding-guidelines.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/documentation/development/coding-guidelines.md b/documentation/development/coding-guidelines.md index 04d6adba80..d2ae7b8d28 100644 --- a/documentation/development/coding-guidelines.md +++ b/documentation/development/coding-guidelines.md @@ -121,7 +121,7 @@ Every function should have a header of the following format: ## 4. Macro Usage ### 4.1 Module/PBO specific Macro Usage -The family of `GVAR` macro's define global variable strings or constants for use within a module. Please use these to make sure we follow naming conventions across all modules and also prevent duplicate/overwriting between variables in different modules. The macro family expands as follows, for the example of the module 'balls' +The family of `GVAR` macro's define global variable strings or constants for use within a module. Please use these to make sure we follow naming conventions across all modules and also prevent duplicate/overwriting between variables in different modules. The macro family expands as follows, for the example of the module 'balls': * `GVAR(face)` is `ace_balls_face` * `QGVAR(face)` is `"ace_balls_face"` @@ -130,7 +130,8 @@ The family of `GVAR` macro's define global variable strings or constants for use * `QEGVAR(leg,face)` is `"ace_leg_face"` -There also exists the FUNC family of Macros +There also exists the FUNC family of Macros: + * `FUNC(face)` is `ace_balls_fnc_face` or the call trace wrapper for that function. * `EFUNC(balls,face)` is `ace_balls_fnc_face` or the call trace wrapper for that function. * `EFUNC(leg,face)` is `ace_leg_fnc_face` or the call trace wrapper for that function. From ddf32052c4cd9f1a8460048c607cf47d96369487 Mon Sep 17 00:00:00 2001 From: bux578 Date: Sat, 9 May 2015 08:02:13 +0200 Subject: [PATCH 106/217] fix removeWhiteSpace function name used `string_removeWhiteSpace` but had to be `stringRemoveWhiteSpace` due to 612fa69c1c4cf7ed8b81c5086dc90877d0eda400 --- .../functions/fnc_moduleAmbianceSound.sqf | 38 +++++++++---------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/addons/missionmodules/functions/fnc_moduleAmbianceSound.sqf b/addons/missionmodules/functions/fnc_moduleAmbianceSound.sqf index c02d19aa5f..6e5643754c 100644 --- a/addons/missionmodules/functions/fnc_moduleAmbianceSound.sqf +++ b/addons/missionmodules/functions/fnc_moduleAmbianceSound.sqf @@ -26,39 +26,39 @@ _activated = [_this,2,true,[true]] call BIS_fnc_param; // We only play this on the locality of the logic, since the sounds are broadcasted across the network if (_activated && local _logic) then { _ambianceSounds = []; - _unparsedSounds = _logic getvariable ["soundFiles", ""]; - _minimalDistance = (_logic getvariable ["minimalDistance", 400]) max 1; - _maximalDistance = (_logic getvariable ["maximalDistance", 10]) max _minimalDistance; - _minDelayBetweensounds = (_logic getvariable ["minimalDelay", 10]) max 1; - _maxDelayBetweenSounds = (_logic getvariable ["maximalDelay", 170]) max _minDelayBetweensounds; - _volume = (_logic getvariable ["soundVolume", 30]) max 1; - _followPlayers = _logic getvariable ["followPlayers", false]; + _unparsedSounds = _logic getVariable ["soundFiles", ""]; + _minimalDistance = (_logic getVariable ["minimalDistance", 400]) max 1; + _maximalDistance = (_logic getVariable ["maximalDistance", 10]) max _minimalDistance; + _minDelayBetweensounds = (_logic getVariable ["minimalDelay", 10]) max 1; + _maxDelayBetweenSounds = (_logic getVariable ["maximalDelay", 170]) max _minDelayBetweensounds; + _volume = (_logic getVariable ["soundVolume", 30]) max 1; + _followPlayers = _logic getVariable ["followPlayers", false]; _splittedList = [_unparsedSounds, ","] call BIS_fnc_splitString; _nilCheckPassedList = ""; { - _x = [_x] call EFUNC(common,string_removeWhiteSpace); - _splittedList set [_foreachIndex, _x]; - }foreach _splittedList; + _x = [_x] call EFUNC(common,stringRemoveWhiteSpace); + _splittedList set [_forEachIndex, _x]; + }forEach _splittedList; _soundPath = [(str missionConfigFile), 0, -15] call BIS_fnc_trimString; { - if (isclass (missionConfigFile >> "CfgSounds" >> _x)) then { - _ambianceSounds pushback (_soundPath + (getArray(missionConfigFile >> "CfgSounds" >> _x >> "sound") select 0)); + if (isClass (missionConfigFile >> "CfgSounds" >> _x)) then { + _ambianceSounds pushBack (_soundPath + (getArray(missionConfigFile >> "CfgSounds" >> _x >> "sound") select 0)); } else { - if (isclass (configFile >> "CfgSounds" >> _x)) then { - _ambianceSounds pushback ((getArray(configFile >> "CfgSounds" >> _x >> "sound") select 0)); + if (isClass (configFile >> "CfgSounds" >> _x)) then { + _ambianceSounds pushBack ((getArray(configFile >> "CfgSounds" >> _x >> "sound") select 0)); }; }; - }foreach _splittedList; + }forEach _splittedList; - if (count _ambianceSounds == 0) exitwith {}; + if (count _ambianceSounds == 0) exitWith {}; { if !([".", _x, true] call BIS_fnc_inString) then { - _ambianceSounds set [_foreachIndex, _x + ".wss"]; + _ambianceSounds set [_forEachIndex, _x + ".wss"]; }; - }foreach _ambianceSounds; + }forEach _ambianceSounds; [{ private ["_args", "_logic", "_ambianceSounds", "_minimalDistance", "_maximalDistance", "_minDelayBetweensounds", "_maxDelayBetweenSounds", "_volume", "_followPlayers","_lastTimePlayed", "_newPos"]; @@ -68,7 +68,7 @@ if (_activated && local _logic) then { _maxDelayBetweenSounds = _args select 5; _lastTimePlayed = _args select 8; - if (!alive _logic) exitwith { + if (!alive _logic) exitWith { [(_this select 1)] call cba_fnc_removePerFrameHandler; }; From fb284faa6611ebbdfcff9a7954223105b06de426 Mon Sep 17 00:00:00 2001 From: bux578 Date: Sat, 9 May 2015 08:18:44 +0200 Subject: [PATCH 107/217] adjust ambiance sound module description and docs --- addons/missionmodules/CfgVehicles.hpp | 14 +++++++------- documentation/missionmaker/modules.md | 25 ++++++++++++++++--------- 2 files changed, 23 insertions(+), 16 deletions(-) diff --git a/addons/missionmodules/CfgVehicles.hpp b/addons/missionmodules/CfgVehicles.hpp index 6a1dc71705..35a937c660 100644 --- a/addons/missionmodules/CfgVehicles.hpp +++ b/addons/missionmodules/CfgVehicles.hpp @@ -19,31 +19,31 @@ class CfgVehicles { class Arguments { class soundFiles { displayName = "Sounds"; - description = "Classnames of the ambiance sounds played. Seperated by ','. "; + description = "Class names of the ambiance sounds to be played. Seperated by ','"; typeName = "STRING"; defaultValue = ""; }; class minimalDistance { displayName = "Minimal Distance"; - description = "Minimal Distance"; + description = "Used for calculating a random position and sets the minimal distance between the players and the played sound file(s)"; typeName = "NUMBER"; defaultValue = 400; }; class maximalDistance { - displayName = "Maximal Distance"; - description = "Maximal Distance"; + displayName = "Maximum Distance"; + description = "Used for calculating a random position and sets the maximum distance between the players and the played sound file(s)"; typeName = "NUMBER"; defaultValue = 900; }; class minimalDelay { displayName = "Minimal Delay"; - description = "Minimal Delay between sounds played"; + description = "Minimal delay between sounds played"; typeName = "NUMBER"; defaultValue = 10; }; class maximalDelay { - displayName = "Maximal Delay"; - description = "Maximal Delay between sounds played"; + displayName = "Maximum Delay"; + description = "Maximum delay between sounds played"; typeName = "NUMBER"; defaultValue = 170; }; diff --git a/documentation/missionmaker/modules.md b/documentation/missionmaker/modules.md index 9cb17e001f..a6d75531dc 100644 --- a/documentation/missionmaker/modules.md +++ b/documentation/missionmaker/modules.md @@ -501,25 +501,32 @@ Whether or not the objects in the list will be a medical vehicle.
### 3.1 Ambiance Sounds -Used for ambiance sounds loop (synced across MP) +Used for ambiance sounds loop (synced across MP). + +This module randomizes the time when the sound file is played and the position where the sound file is played (If "Follow Players" is set to No). +`Minimal Distance` and `Maximal Distance` influence the position from where the sound file is played. Setting both values to 0 forces the module to play the sound from where it was placed in the editor. +`Minimal Delay` and `Maximal Delay` work in a similar fashion but are used to randomize when the sound file is played. Setting both values to 0 plays the sound from mission start. **Settings:** 1. **Sounds (String)**
-Class names of the ambiance sounds played. Separated by ','.
+Class names of the ambiance sounds played. Separated by ','. (Example: `radio_track_01, electricity_loop`).
`Default value: ""` 2. **Minimal Distance (Number)**
-Minimal Distance (in meters)
+Used for calculating a random position and sets the minimal distance between the players and the played sound file(s) (in meters)
`Default value: 400` -3. **Minimal Delay (Number)**
-Minimal Delay (in seconds) between sounds played
+3. **Maximum Distance (Number)**
+Used for calculating a random position and sets the maximum distance between the players and the played sound file(s) (in meters)
+`Default value: 900` +4. **Minimal Delay (Number)**
+Minimal delay (in seconds) between sounds played
`Default value: 10` -4. **Maximal Delay (Number)**
-Maximal Delay (in seconds) between sounds played
+5. **Maximum Delay (Number)**
+Maximum delay (in seconds) between sounds played
`Default value: 10` -5. **Follow Players (Boolean)**
+6. **Follow Players (Boolean)**
Follow players. If set to false, loop will play sounds only nearby logic position.
`Default value: No` -6. **Volume (Number)**
+7. **Volume (Number)**
The volume of the sounds played
`Default value: 1` From 57131496f2b25f0ad98be39ee0a26c3325c596ea Mon Sep 17 00:00:00 2001 From: commy2 Date: Sat, 9 May 2015 13:25:19 +0200 Subject: [PATCH 108/217] check for outdated pbo files --- addons/common/XEH_postInit.sqf | 12 +---- addons/common/XEH_preInit.sqf | 1 + addons/common/functions/fnc_checkFiles.sqf | 59 ++++++++++++++++++++++ 3 files changed, 61 insertions(+), 11 deletions(-) create mode 100644 addons/common/functions/fnc_checkFiles.sqf diff --git a/addons/common/XEH_postInit.sqf b/addons/common/XEH_postInit.sqf index 53de6b5d69..1c9155b3a2 100644 --- a/addons/common/XEH_postInit.sqf +++ b/addons/common/XEH_postInit.sqf @@ -84,6 +84,7 @@ if(!isServer) then { ["SEH_s", FUNC(_handleRequestSyncedEvent)] call FUNC(addEventHandler); [FUNC(syncedEventPFH), 0.5, []] call cba_fnc_addPerFrameHandler; +call FUNC(checkFiles); /***************************************************************/ /***************************************************************/ @@ -250,14 +251,3 @@ if(isMultiplayer && { time > 0 || isNull player } ) then { }; }, 0, []] call cba_fnc_addPerFrameHandler; }; - -// check dlls -{ - if (_x callExtension "version" == "") then { - private "_errorMsg"; - _errorMsg = format ["Extension %1.dll not installed.", _x]; - - diag_log text format ["[ACE] ERROR: %1", _errorMsg]; - ["[ACE] ERROR", _errorMsg, {findDisplay 46 closeDisplay 0}] call FUNC(errorMessage); - }; -} forEach getArray (configFile >> "ACE_Extensions" >> "extensions"); diff --git a/addons/common/XEH_preInit.sqf b/addons/common/XEH_preInit.sqf index 54a5118cb0..5c2ad1e592 100644 --- a/addons/common/XEH_preInit.sqf +++ b/addons/common/XEH_preInit.sqf @@ -21,6 +21,7 @@ PREP(canInteract); PREP(canInteractWith); PREP(canUseWeapon); PREP(changeProjectileDirection); +PREP(checkFiles); PREP(checkPBOs); PREP(claim); PREP(closeDialogIfTargetMoves); diff --git a/addons/common/functions/fnc_checkFiles.sqf b/addons/common/functions/fnc_checkFiles.sqf new file mode 100644 index 0000000000..868882151d --- /dev/null +++ b/addons/common/functions/fnc_checkFiles.sqf @@ -0,0 +1,59 @@ +/* + * Author: commy2 + * + * Compares version numbers of PBOs and DLLs. + * + * Argument: + * 0: Mode (Number) + * + * Return value: + * None. + */ +#include "script_component.hpp" + +/////////////// +// check addons +/////////////// +private "_version"; +_version = getText (configFile >> "CfgPatches" >> "ace_main" >> "versionStr"); + +diag_log text format ["[ACE]: ACE is version %1", _version]; /////////////////////////////////////////////////////////////////////////// + +private ["_addons", "_index"]; + +_addons = activatedAddons; + +// speed up search. all ace pbos are loaded after ace_main. +_index = _addons find "ace_main"; +reverse _addons; +_addons resize (count _addons - _index); +_addons = [_addons, {_this find "ace_" == 0}] call FUNC(filter); + +{ + if (getText (configFile >> "CfgPatches" >> _x >> "versionStr") != _version) then { + private "_errorMsg"; + _errorMsg = format ["File %1.pbo is outdated.", _x]; + + diag_log text format ["[ACE] ERROR: %1", _errorMsg]; + + if (hasInterface) then { + ["[ACE] ERROR", _errorMsg, {findDisplay 46 closeDisplay 0}] call FUNC(errorMessage); + }; + }; +} forEach _addons; + +/////////////// +// check dlls +/////////////// +{ + if (_x callExtension "version" == "") then { + private "_errorMsg"; + _errorMsg = format ["Extension %1.dll not installed.", _x]; + + diag_log text format ["[ACE] ERROR: %1", _errorMsg]; + + if (hasInterface) then { + ["[ACE] ERROR", _errorMsg, {findDisplay 46 closeDisplay 0}] call FUNC(errorMessage); + }; + }; +} forEach getArray (configFile >> "ACE_Extensions" >> "extensions"); From 8c937a707d194347faf50b74e6abcce2aa6b187f Mon Sep 17 00:00:00 2001 From: bux578 Date: Sat, 9 May 2015 13:49:26 +0200 Subject: [PATCH 109/217] starting to fix switchunits --- addons/switchunits/functions/fnc_initPlayer.sqf | 2 -- addons/switchunits/functions/fnc_startSwitchUnits.sqf | 7 ++----- 2 files changed, 2 insertions(+), 7 deletions(-) diff --git a/addons/switchunits/functions/fnc_initPlayer.sqf b/addons/switchunits/functions/fnc_initPlayer.sqf index c2857f1091..67669c071c 100644 --- a/addons/switchunits/functions/fnc_initPlayer.sqf +++ b/addons/switchunits/functions/fnc_initPlayer.sqf @@ -17,8 +17,6 @@ #include "script_component.hpp" -private ["_playerUnit", "_sides"]; - PARAMS_2(_playerUnit,_sides); if (vehicle _playerUnit == _playerUnit) then { diff --git a/addons/switchunits/functions/fnc_startSwitchUnits.sqf b/addons/switchunits/functions/fnc_startSwitchUnits.sqf index ef344475b9..7985bfa094 100644 --- a/addons/switchunits/functions/fnc_startSwitchUnits.sqf +++ b/addons/switchunits/functions/fnc_startSwitchUnits.sqf @@ -16,13 +16,10 @@ #include "script_component.hpp" - -private "_player"; -_player = _this select 0; - +PARAMS_1(_player); if (GVAR(EnableSwitchUnits)) then { - private ["_sides"]; + private "_sides"; _sides = []; if(GVAR(SwitchToWest)) then {_sides pushBack west;}; From f1798aa739a66e82acdf8029f51c5b24ba03a332 Mon Sep 17 00:00:00 2001 From: bux578 Date: Sat, 9 May 2015 14:05:58 +0200 Subject: [PATCH 110/217] fix switchunits --- .../functions/fnc_handleMapClick.sqf | 9 ++------- .../switchunits/functions/fnc_switchUnit.sqf | 18 +++++++++--------- 2 files changed, 11 insertions(+), 16 deletions(-) diff --git a/addons/switchunits/functions/fnc_handleMapClick.sqf b/addons/switchunits/functions/fnc_handleMapClick.sqf index bfe36f13ea..e8efa2640f 100644 --- a/addons/switchunits/functions/fnc_handleMapClick.sqf +++ b/addons/switchunits/functions/fnc_handleMapClick.sqf @@ -28,14 +28,9 @@ _sideNearest = []; if ([_x] call FUNC(isValidAi) && (side group _x in _sides)) then { _sideNearest pushBack _x; }; -} forEach (nearestObjects [_pos, ["Man"], 20]); - +} forEach (nearestObjects [_pos, ["Man"], 15]); if (count _sideNearest > 0) then { - private ["_switchUnit"]; - - _switchUnit = _sideNearest select 0; - [ACE_player, _switchUnit] call FUNC(switchUnit); - + [_sideNearest select 0] call FUNC(switchUnit); openMap false; }; diff --git a/addons/switchunits/functions/fnc_switchUnit.sqf b/addons/switchunits/functions/fnc_switchUnit.sqf index b1879b0999..c263bdd721 100644 --- a/addons/switchunits/functions/fnc_switchUnit.sqf +++ b/addons/switchunits/functions/fnc_switchUnit.sqf @@ -32,11 +32,11 @@ if (GVAR(EnableSafeZone)) then { _allNearestPlayers = [position _unit, GVAR(SafeZoneRadius)] call FUNC(nearestPlayers); _nearestEnemyPlayers = [_allNearestPlayers, {((side GVAR(OriginalGroup)) getFriend (side _this) < 0.6) && !(_this getVariable [QGVAR(IsPlayerControlled), false])}] call EFUNC(common,filter); - + if (count _nearestEnemyPlayers > 0) exitWith { _leave = true; }; - + }; // exitWith doesn't exit past the "if(EnableSafeZone)" block @@ -56,14 +56,14 @@ DFUNC(pfhSwitchUnit) = { private ["_args", "_unit", "_oldUnit", "_respawnEhId", "_oldOwner"]; _args = _this select 0; - + _unit = _args select 0; _oldUnit = _args select 1; - - - + + + if (local _unit) exitWith { - + _oldUnit setVariable [QGVAR(IsPlayerControlled), false, true]; _oldUnit setVariable [QGVAR(PlayerControlledName), "", true]; @@ -89,9 +89,9 @@ DFUNC(pfhSwitchUnit) = { }; [localize "STR_ACE_SwitchUnits_SwitchedUnit"] call EFUNC(common,displayTextStructured); - + [(_this select 1)] call cba_fnc_removePerFrameHandler; - + }; }; From 7d28fbcdbd2c4937e8fe7c8b646d44b2a24401fc Mon Sep 17 00:00:00 2001 From: bux578 Date: Sat, 9 May 2015 14:12:54 +0200 Subject: [PATCH 111/217] force travis to only build for master --- .travis.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.travis.yml b/.travis.yml index 65990248bf..388b1f114f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,3 +1,6 @@ +branches: + only: + - master language: python python: - "3.4" From 4f6d0599e0316e345a70a5427bab0edeb421fa57 Mon Sep 17 00:00:00 2001 From: bux578 Date: Sat, 9 May 2015 14:30:10 +0200 Subject: [PATCH 112/217] travis build test --- .../development/setting-up-the-development-environment.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/development/setting-up-the-development-environment.md b/documentation/development/setting-up-the-development-environment.md index 8a572c1ec6..2a88e185bf 100644 --- a/documentation/development/setting-up-the-development-environment.md +++ b/documentation/development/setting-up-the-development-environment.md @@ -11,7 +11,7 @@ This page describes how you can setup your development environment for ACE3, all ## 1. Requirements -- Arma 3 (duh) +- Arma 3 - A proper installation of the Arma 3 Tools (available on Steam) - A properly setup P-drive - Run ArmA 3 and Arma 3 Tools directly from steam once to install registry entries (and again after every update) From f848ff740fa9abf5080ff1f123644753489927d3 Mon Sep 17 00:00:00 2001 From: bux578 Date: Sat, 9 May 2015 15:05:55 +0200 Subject: [PATCH 113/217] Revert "travis build test" This reverts commit 4f6d0599e0316e345a70a5427bab0edeb421fa57. --- .../development/setting-up-the-development-environment.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/development/setting-up-the-development-environment.md b/documentation/development/setting-up-the-development-environment.md index 2a88e185bf..8a572c1ec6 100644 --- a/documentation/development/setting-up-the-development-environment.md +++ b/documentation/development/setting-up-the-development-environment.md @@ -11,7 +11,7 @@ This page describes how you can setup your development environment for ACE3, all ## 1. Requirements -- Arma 3 +- Arma 3 (duh) - A proper installation of the Arma 3 Tools (available on Steam) - A properly setup P-drive - Run ArmA 3 and Arma 3 Tools directly from steam once to install registry entries (and again after every update) From 52a904478be97ceda7377003aedfc6c95a1870a0 Mon Sep 17 00:00:00 2001 From: commy2 Date: Sat, 9 May 2015 15:32:34 +0200 Subject: [PATCH 114/217] laser selfdesignate has wrong version number macro setup --- addons/laser_selfdesignate/config.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/laser_selfdesignate/config.cpp b/addons/laser_selfdesignate/config.cpp index 19ec28063b..597500caf6 100644 --- a/addons/laser_selfdesignate/config.cpp +++ b/addons/laser_selfdesignate/config.cpp @@ -6,7 +6,7 @@ class CfgPatches { weapons[] = {}; requiredVersion = REQUIRED_VERSION; requiredAddons[] = {"ace_laser"}; - version = VERSION; + VERSION_CONFIG; }; }; From f0cca5b33ea1b341bedd5f06c1d59f0526c2f88c Mon Sep 17 00:00:00 2001 From: commy2 Date: Sat, 9 May 2015 16:01:53 +0200 Subject: [PATCH 115/217] ignore ace in checkPBO module, also fix #1020 --- addons/common/XEH_postInit.sqf | 2 - addons/common/functions/fnc_checkFiles.sqf | 2 +- .../common/functions/fnc_moduleCheckPBOs.sqf | 108 ++++---- .../scripts/Version/checkVersionNumber.sqf | 261 ++++++++---------- 4 files changed, 169 insertions(+), 204 deletions(-) diff --git a/addons/common/XEH_postInit.sqf b/addons/common/XEH_postInit.sqf index 1c9155b3a2..696aa16f9b 100644 --- a/addons/common/XEH_postInit.sqf +++ b/addons/common/XEH_postInit.sqf @@ -64,8 +64,6 @@ if (_currentVersion != _previousVersion) then { profileNamespace setVariable ["ACE_VersionNumberString", _currentVersion]; }; -0 spawn COMPILE_FILE(scripts\Version\checkVersionNumber); - // ACE events "ACEg" addPublicVariableEventHandler { _this call FUNC(_handleNetEvent); }; "ACEc" addPublicVariableEventHandler { _this call FUNC(_handleNetEvent); }; diff --git a/addons/common/functions/fnc_checkFiles.sqf b/addons/common/functions/fnc_checkFiles.sqf index 868882151d..35cb552a8a 100644 --- a/addons/common/functions/fnc_checkFiles.sqf +++ b/addons/common/functions/fnc_checkFiles.sqf @@ -17,7 +17,7 @@ private "_version"; _version = getText (configFile >> "CfgPatches" >> "ace_main" >> "versionStr"); -diag_log text format ["[ACE]: ACE is version %1", _version]; /////////////////////////////////////////////////////////////////////////// +diag_log text format ["[ACE]: ACE is version %1", _version]; private ["_addons", "_index"]; diff --git a/addons/common/functions/fnc_moduleCheckPBOs.sqf b/addons/common/functions/fnc_moduleCheckPBOs.sqf index 4b5ea2374a..5f06f6d60e 100644 --- a/addons/common/functions/fnc_moduleCheckPBOs.sqf +++ b/addons/common/functions/fnc_moduleCheckPBOs.sqf @@ -22,7 +22,7 @@ _checkAll = _logic getVariable ["CheckAll", false]; _whitelist = call compile (_logic getVariable ["Whitelist", "[]"]); if (isNil "_whitelist") then { - _whitelist = []; + _whitelist = []; }; _whitelist = [_whitelist, {toLower _this}] call FUNC(map); @@ -31,67 +31,71 @@ ACE_Version_CheckAll = _checkAll; ACE_Version_Whitelist = _whitelist; if (!isServer) then { - [_mode, _checkAll, _whitelist] spawn { - _mode = _this select 0; - _checkAll = _this select 1; - _whitelist = _this select 2; + [_mode, _checkAll, _whitelist] spawn { + _mode = _this select 0; + _checkAll = _this select 1; + _whitelist = _this select 2; - waitUntil { - sleep 1; - !isNil "ACE_Version_ClientErrors" - }; + waitUntil { + sleep 1; + !isNil "ACE_Version_ClientErrors" + }; - _missingAddon = ACE_Version_ClientErrors select 0; - _missingAddonServer = ACE_Version_ClientErrors select 1; - _oldVersionClient = ACE_Version_ClientErrors select 2; - _oldVersionServer = ACE_Version_ClientErrors select 3; + _missingAddon = ACE_Version_ClientErrors select 0; + _missingAddonServer = ACE_Version_ClientErrors select 1; + _oldVersionClient = ACE_Version_ClientErrors select 2; + _oldVersionServer = ACE_Version_ClientErrors select 3; - // Display error message. - if (_missingAddon || {_missingAddonServer} || {_oldVersionClient} || {_oldVersionServer}) then { - _text = "[ACE] Version mismatch:

"; - _error = format ["ACE version mismatch: %1: ", profileName]; + // Display error message. + if (_missingAddon || {_missingAddonServer} || {_oldVersionClient} || {_oldVersionServer}) then { + _text = "[ACE] Version mismatch:

"; + _error = format ["ACE version mismatch: %1: ", profileName]; - if (_missingAddon) then { - _text = _text + "Detected missing addon on client
"; - _error = _error + "Missing file(s); "; - }; - if (_missingAddonServer) then { - _text = _text + "Detected missing addon on server
"; - _error = _error + "Additional file(s); "; - }; - if (_oldVersionClient) then { - _text = _text + "Detected old client version
"; - _error = _error + "Older version; "; - }; - if (_oldVersionServer) then { - _text = _text + "Detected old server version
"; - _error = _error + "Newer version; "; - }; + if (_missingAddon) then { + _text = _text + "Detected missing addon on client
"; + _error = _error + "Missing file(s); "; + }; + if (_missingAddonServer) then { + _text = _text + "Detected missing addon on server
"; + _error = _error + "Additional file(s); "; + }; + if (_oldVersionClient) then { + _text = _text + "Detected old client version
"; + _error = _error + "Older version; "; + }; + if (_oldVersionServer) then { + _text = _text + "Detected old server version
"; + _error = _error + "Newer version; "; + }; - //[_error, "{systemChat _this}"] call FUNC(execRemoteFnc); - diag_log text _error; + //[_error, "{systemChat _this}"] call FUNC(execRemoteFnc); + diag_log text _error; - _text = composeText [lineBreak, parseText format ["%1", _text]]; + _text = composeText [lineBreak, parseText format ["%1", _text]]; - _rscLayer = "ACE_RscErrorHint" call BIS_fnc_rscLayer; - _rscLayer cutRsc ["ACE_RscErrorHint", "PLAIN", 0, true]; + _rscLayer = "ACE_RscErrorHint" call BIS_fnc_rscLayer; + _rscLayer cutRsc ["ACE_RscErrorHint", "PLAIN", 0, true]; - disableSerialization; - _ctrlHint = uiNamespace getVariable "ACE_ctrlErrorHint"; - _ctrlHint ctrlSetStructuredText _text; + disableSerialization; + _ctrlHint = uiNamespace getVariable "ACE_ctrlErrorHint"; + _ctrlHint ctrlSetStructuredText _text; - if (_mode == 0) then { - sleep 10; - _rscLayer cutFadeOut 0.2; - }; + if (_mode == 0) then { + sleep 10; + _rscLayer cutFadeOut 0.2; + }; - if (_mode == 2) then { - sleep 10; - waitUntil {alive player}; - [player] call FUNC(adminKick); - }; - }; - }; + if (_mode == 2) then { + sleep 10; + waitUntil {alive player}; + [player] call FUNC(adminKick); + }; + }; + }; }; diag_log text format ["[ACE]: Check-PBOs Module Initialized. Mode: %1.", _mode]; + +if (_checkAll) then { + 0 spawn COMPILE_FILE(scripts\Version\checkVersionNumber); +}; diff --git a/addons/common/scripts/Version/checkVersionNumber.sqf b/addons/common/scripts/Version/checkVersionNumber.sqf index e6509cd9c4..1bc002153c 100644 --- a/addons/common/scripts/Version/checkVersionNumber.sqf +++ b/addons/common/scripts/Version/checkVersionNumber.sqf @@ -1,193 +1,156 @@ // by commy2 #include "script_component.hpp" -sleep 1; //wait for module - _files = []; -if (missionNamespace getVariable ["ACE_Version_CheckAll", false]) then { - { - if (toLower _x find "a3_" != 0 && {!(toLower _x in (missionNamespace getVariable ["ACE_Version_Whitelist", []]))}) then { - _files pushBack _x; +{ + if (_x find "a3_" != 0 && {_x find "ace_" != 0} && {!(toLower _x in (missionNamespace getVariable ["ACE_Version_Whitelist", []]))}) then { + _files pushBack _x; }; - } forEach activatedAddons; -} else { - { - if (toLower _x find "ace_" == 0) then { - _files pushBack _x; - }; - } forEach activatedAddons; -}; - -_versionMain = parseNumber getText (configFile >> "CfgPatches" >> QUOTE(ADDON) >> "version"); +} forEach activatedAddons; _versions = []; { - _version = parseNumber getText (configFile >> "CfgPatches" >> _x >> "version"); - _versions set [_forEachIndex, _version]; + _version = parseNumber getText (configFile >> "CfgPatches" >> _x >> "version"); + _versions set [_forEachIndex, _version]; } forEach _files; -_versionFull = getText (configFile >> "CfgPatches" >> QUOTE(ADDON) >> "versionStr"); -diag_log text format ["[ACE] Full Version Number: %1", _versionFull]; - if (isServer) then { - diag_log text format ["[ACE] Server: ACE_Common is Version %1.", _versionMain]; - - { - if (toLower _x find "ace_" == 0) then {// - _version = _versions select _forEachIndex; - if (_version != _versionMain) then { - diag_log text format ["[ACE] Server: %1 is Version %2.", _x, _version]; - }; - }; - } forEach _files; - - ACE_Version_ServerVersions = [_files, _versions]; - publicVariable "ACE_Version_ServerVersions"; + ACE_Version_ServerVersions = [_files, _versions]; + publicVariable "ACE_Version_ServerVersions"; } else { - diag_log text format ["[ACE] Client: ACE_Common is Version %1.", _versionMain]; - - { - if (toLower _x find "ace_" == 0) then {// - _version = _versions select _forEachIndex; - if (_version != _versionMain) then { - diag_log text format ["[ACE] Client: %1 is Version %2.", _x, _version]; - }; - }; - } forEach _files; - - ACE_Version_ClientVersions = [_files, _versions]; + ACE_Version_ClientVersions = [_files, _versions]; }; // Begin client version check if (!isServer) then { - // Wait for server to send the servers files and version numbers - waitUntil { - sleep 1; - !isNil "ACE_Version_ClientVersions" && {!isNil "ACE_Version_ServerVersions"} - }; - - _client = profileName; - - _files = ACE_Version_ClientVersions select 0; - _versions = ACE_Version_ClientVersions select 1; - - _serverFiles = ACE_Version_ServerVersions select 0; - _serverVersions = ACE_Version_ServerVersions select 1; - - // Compare client and server files and versions - _missingAddons = []; - _oldVersionsClient = []; - _oldVersionsServer = []; - { - _serverVersion = _serverVersions select _forEachIndex; - - _index = _files find _x; - if (_index == -1) then { - if (_x != "ace_serverconfig") then {_missingAddons pushBack _x;}; - } else { - - _clientVersion = _versions select _index; - - if (_clientVersion < _serverVersion) then { - _oldVersionsClient pushBack [_x, _clientVersion, _serverVersion]; - }; - - if (_clientVersion > _serverVersion) then { - _oldVersionsServer pushBack [_x, _clientVersion, _serverVersion]; - }; + // Wait for server to send the servers files and version numbers + waitUntil { + sleep 1; + !isNil "ACE_Version_ClientVersions" && {!isNil "ACE_Version_ServerVersions"} }; - } forEach _serverFiles; - // find client files which the server doesn't have - _missingAddonsServer = []; - { - _index = _serverFiles find _x; - if (_index == -1) then { - _missingAddonsServer pushBack _x; - } - } forEach _files; + _client = profileName; - // display and log error messages - _fnc_cutComma = { - _string = _this; - _string = toArray _string; + _files = ACE_Version_ClientVersions select 0; + _versions = ACE_Version_ClientVersions select 1; - _count = count _string; - _string set [_count - 2, toArray "." select 0]; - _string set [_count - 1, -1]; - _string = _string - [-1]; + _serverFiles = ACE_Version_ServerVersions select 0; + _serverVersions = ACE_Version_ServerVersions select 1; - toString _string; - }; - - _missingAddon = false; - if (count _missingAddons > 0) then { - _missingAddon = true; - - _error = format ["[ACE] %1: ERROR missing addon(s): ", _client]; + // Compare client and server files and versions + _missingAddons = []; + _oldVersionsClient = []; + _oldVersionsServer = []; { - _error = _error + format ["%1, ", _x]; + _serverVersion = _serverVersions select _forEachIndex; - if (_forEachIndex > 9) exitWith {};// - } forEach _missingAddons; + _index = _files find _x; + if (_index == -1) then { + if (_x != "ace_serverconfig") then {_missingAddons pushBack _x;}; + } else { - _error = _error call _fnc_cutComma; + _clientVersion = _versions select _index; - diag_log text _error; - [_error, "{systemChat _this}"] call FUNC(execRemoteFnc); - }; + if (_clientVersion < _serverVersion) then { + _oldVersionsClient pushBack [_x, _clientVersion, _serverVersion]; + }; - _missingAddonServer = false; - if (count _missingAddonsServer > 0) then { - _missingAddonServer = true; + if (_clientVersion > _serverVersion) then { + _oldVersionsServer pushBack [_x, _clientVersion, _serverVersion]; + }; + }; + } forEach _serverFiles; - _error = format ["[ACE] %1: ERROR missing server addon(s): ", _client]; + // find client files which the server doesn't have + _missingAddonsServer = []; { - _error = _error + format ["%1, ", _x]; + _index = _serverFiles find _x; + if (_index == -1) then { + _missingAddonsServer pushBack _x; + } + } forEach _files; - if (_forEachIndex > 9) exitWith {};// - } forEach _missingAddonsServer; + // display and log error messages + _fnc_cutComma = { + _string = _this; + _string = toArray _string; - _error = _error call _fnc_cutComma; + _count = count _string; + _string set [_count - 2, toArray "." select 0]; + _string set [_count - 1, -1]; + _string = _string - [-1]; - diag_log text _error; - [_error, "{systemChat _this}"] call FUNC(execRemoteFnc); - }; + toString _string; + }; - _oldVersionClient = false; - if (count _oldVersionsClient > 0) then { - _oldVersionClient = true; + _missingAddon = false; + if (count _missingAddons > 0) then { + _missingAddon = true; - _error = format ["[ACE] %1: ERROR outdated addon(s): ", _client]; - { - _error = _error + format ["%1 (client: %2, server: %3), ", _x select 0, _x select 1, _x select 2]; + _error = format ["[ACE] %1: ERROR missing addon(s): ", _client]; + { + _error = _error + format ["%1, ", _x]; - if (_forEachIndex > 9) exitWith {};// - } forEach _oldVersionsClient; + if (_forEachIndex > 9) exitWith {};// + } forEach _missingAddons; - _error = _error call _fnc_cutComma; + _error = _error call _fnc_cutComma; - diag_log text _error; - [_error, "{systemChat _this}"] call FUNC(execRemoteFnc); - }; + diag_log text _error; + [_error, "{systemChat _this}"] call FUNC(execRemoteFnc); + }; - _oldVersionServer = false; - if (count _oldVersionsServer > 0) then { - _oldVersionServer = true; + _missingAddonServer = false; + if (count _missingAddonsServer > 0) then { + _missingAddonServer = true; - _error = format ["[ACE] %1: ERROR outdated server addon(s): ", _client]; - { - _error = _error + format ["%1 (client: %2, server: %3), ", _x select 0, _x select 1, _x select 2]; + _error = format ["[ACE] %1: ERROR missing server addon(s): ", _client]; + { + _error = _error + format ["%1, ", _x]; - if (_forEachIndex > 9) exitWith {};// - } forEach _oldVersionsServer; + if (_forEachIndex > 9) exitWith {};// + } forEach _missingAddonsServer; - _error = _error call _fnc_cutComma; + _error = _error call _fnc_cutComma; - diag_log text _error; - [_error, "{systemChat _this}"] call FUNC(execRemoteFnc); - }; + diag_log text _error; + [_error, "{systemChat _this}"] call FUNC(execRemoteFnc); + }; - ACE_Version_ClientErrors = [_missingAddon, _missingAddonServer, _oldVersionClient, _oldVersionServer]; + _oldVersionClient = false; + if (count _oldVersionsClient > 0) then { + _oldVersionClient = true; + + _error = format ["[ACE] %1: ERROR outdated addon(s): ", _client]; + { + _error = _error + format ["%1 (client: %2, server: %3), ", _x select 0, _x select 1, _x select 2]; + + if (_forEachIndex > 9) exitWith {};// + } forEach _oldVersionsClient; + + _error = _error call _fnc_cutComma; + + diag_log text _error; + [_error, "{systemChat _this}"] call FUNC(execRemoteFnc); + }; + + _oldVersionServer = false; + if (count _oldVersionsServer > 0) then { + _oldVersionServer = true; + + _error = format ["[ACE] %1: ERROR outdated server addon(s): ", _client]; + { + _error = _error + format ["%1 (client: %2, server: %3), ", _x select 0, _x select 1, _x select 2]; + + if (_forEachIndex > 9) exitWith {};// + } forEach _oldVersionsServer; + + _error = _error call _fnc_cutComma; + + diag_log text _error; + [_error, "{systemChat _this}"] call FUNC(execRemoteFnc); + }; + + ACE_Version_ClientErrors = [_missingAddon, _missingAddonServer, _oldVersionClient, _oldVersionServer]; }; From 3976c4d64ff7e723b7daf55f332282ebd3697ca4 Mon Sep 17 00:00:00 2001 From: commy2 Date: Sat, 9 May 2015 16:06:44 +0200 Subject: [PATCH 116/217] the spaces --- addons/common/functions/fnc_checkPBOs.sqf | 4 +- .../common/functions/fnc_moduleCheckPBOs.sqf | 104 +++++++++--------- 2 files changed, 54 insertions(+), 54 deletions(-) diff --git a/addons/common/functions/fnc_checkPBOs.sqf b/addons/common/functions/fnc_checkPBOs.sqf index 7c4aaeba13..2b738e2f1a 100644 --- a/addons/common/functions/fnc_checkPBOs.sqf +++ b/addons/common/functions/fnc_checkPBOs.sqf @@ -25,11 +25,11 @@ _checkAll = _this select 1; _whitelist = _this select 2; if (isNil "_checkAll") then { - _checkAll = false; + _checkAll = false; }; if (isNil "_whitelist") then { - _whitelist = "[]"; + _whitelist = "[]"; }; _logic = "Logic" createVehicleLocal [0,0,0]; diff --git a/addons/common/functions/fnc_moduleCheckPBOs.sqf b/addons/common/functions/fnc_moduleCheckPBOs.sqf index 5f06f6d60e..7137f1ea1d 100644 --- a/addons/common/functions/fnc_moduleCheckPBOs.sqf +++ b/addons/common/functions/fnc_moduleCheckPBOs.sqf @@ -22,7 +22,7 @@ _checkAll = _logic getVariable ["CheckAll", false]; _whitelist = call compile (_logic getVariable ["Whitelist", "[]"]); if (isNil "_whitelist") then { - _whitelist = []; + _whitelist = []; }; _whitelist = [_whitelist, {toLower _this}] call FUNC(map); @@ -31,67 +31,67 @@ ACE_Version_CheckAll = _checkAll; ACE_Version_Whitelist = _whitelist; if (!isServer) then { - [_mode, _checkAll, _whitelist] spawn { - _mode = _this select 0; - _checkAll = _this select 1; - _whitelist = _this select 2; + [_mode, _checkAll, _whitelist] spawn { + _mode = _this select 0; + _checkAll = _this select 1; + _whitelist = _this select 2; - waitUntil { - sleep 1; - !isNil "ACE_Version_ClientErrors" - }; + waitUntil { + sleep 1; + !isNil "ACE_Version_ClientErrors" + }; - _missingAddon = ACE_Version_ClientErrors select 0; - _missingAddonServer = ACE_Version_ClientErrors select 1; - _oldVersionClient = ACE_Version_ClientErrors select 2; - _oldVersionServer = ACE_Version_ClientErrors select 3; + _missingAddon = ACE_Version_ClientErrors select 0; + _missingAddonServer = ACE_Version_ClientErrors select 1; + _oldVersionClient = ACE_Version_ClientErrors select 2; + _oldVersionServer = ACE_Version_ClientErrors select 3; - // Display error message. - if (_missingAddon || {_missingAddonServer} || {_oldVersionClient} || {_oldVersionServer}) then { - _text = "[ACE] Version mismatch:

"; - _error = format ["ACE version mismatch: %1: ", profileName]; + // Display error message. + if (_missingAddon || {_missingAddonServer} || {_oldVersionClient} || {_oldVersionServer}) then { + _text = "[ACE] Version mismatch:

"; + _error = format ["ACE version mismatch: %1: ", profileName]; - if (_missingAddon) then { - _text = _text + "Detected missing addon on client
"; - _error = _error + "Missing file(s); "; - }; - if (_missingAddonServer) then { - _text = _text + "Detected missing addon on server
"; - _error = _error + "Additional file(s); "; - }; - if (_oldVersionClient) then { - _text = _text + "Detected old client version
"; - _error = _error + "Older version; "; - }; - if (_oldVersionServer) then { - _text = _text + "Detected old server version
"; - _error = _error + "Newer version; "; - }; + if (_missingAddon) then { + _text = _text + "Detected missing addon on client
"; + _error = _error + "Missing file(s); "; + }; + if (_missingAddonServer) then { + _text = _text + "Detected missing addon on server
"; + _error = _error + "Additional file(s); "; + }; + if (_oldVersionClient) then { + _text = _text + "Detected old client version
"; + _error = _error + "Older version; "; + }; + if (_oldVersionServer) then { + _text = _text + "Detected old server version
"; + _error = _error + "Newer version; "; + }; - //[_error, "{systemChat _this}"] call FUNC(execRemoteFnc); - diag_log text _error; + //[_error, "{systemChat _this}"] call FUNC(execRemoteFnc); + diag_log text _error; - _text = composeText [lineBreak, parseText format ["%1", _text]]; + _text = composeText [lineBreak, parseText format ["%1", _text]]; - _rscLayer = "ACE_RscErrorHint" call BIS_fnc_rscLayer; - _rscLayer cutRsc ["ACE_RscErrorHint", "PLAIN", 0, true]; + _rscLayer = "ACE_RscErrorHint" call BIS_fnc_rscLayer; + _rscLayer cutRsc ["ACE_RscErrorHint", "PLAIN", 0, true]; - disableSerialization; - _ctrlHint = uiNamespace getVariable "ACE_ctrlErrorHint"; - _ctrlHint ctrlSetStructuredText _text; + disableSerialization; + _ctrlHint = uiNamespace getVariable "ACE_ctrlErrorHint"; + _ctrlHint ctrlSetStructuredText _text; - if (_mode == 0) then { - sleep 10; - _rscLayer cutFadeOut 0.2; - }; + if (_mode == 0) then { + sleep 10; + _rscLayer cutFadeOut 0.2; + }; - if (_mode == 2) then { - sleep 10; - waitUntil {alive player}; - [player] call FUNC(adminKick); - }; - }; - }; + if (_mode == 2) then { + sleep 10; + waitUntil {alive player}; + [player] call FUNC(adminKick); + }; + }; + }; }; diag_log text format ["[ACE]: Check-PBOs Module Initialized. Mode: %1.", _mode]; From 7fb56d4fd56ff032511477108f45cee65c340e04 Mon Sep 17 00:00:00 2001 From: commy2 Date: Sat, 9 May 2015 17:03:51 +0200 Subject: [PATCH 117/217] simple check to compare client and server version of ace --- addons/common/functions/fnc_checkFiles.sqf | 34 +++++++++++++++++++- addons/common/functions/fnc_errorMessage.sqf | 15 +++++++++ 2 files changed, 48 insertions(+), 1 deletion(-) diff --git a/addons/common/functions/fnc_checkFiles.sqf b/addons/common/functions/fnc_checkFiles.sqf index 35cb552a8a..6aa38d61c0 100644 --- a/addons/common/functions/fnc_checkFiles.sqf +++ b/addons/common/functions/fnc_checkFiles.sqf @@ -17,7 +17,7 @@ private "_version"; _version = getText (configFile >> "CfgPatches" >> "ace_main" >> "versionStr"); -diag_log text format ["[ACE]: ACE is version %1", _version]; +diag_log text format ["[ACE]: ACE is version %1.", _version]; private ["_addons", "_index"]; @@ -57,3 +57,35 @@ _addons = [_addons, {_this find "ace_" == 0}] call FUNC(filter); }; }; } forEach getArray (configFile >> "ACE_Extensions" >> "extensions"); + +/////////////// +// check server version +/////////////// +if (isMultiplayer) then { + if (isServer) then { + // send servers version of ACE to all clients + GVAR(ServerVersion) = _version; + publicVariable QGVAR(ServerVersion); + } else { + // clients have to wait for the variable + [{ + if (isNil QGVAR(ServerVersion)) exitWith {}; + + private "_version"; + _version = _this select 0; + + if (_version != GVAR(ServerVersion)) then { + private "_errorMsg"; + _errorMsg = format ["Client/Server Version Mismatch. Server: %1, Client: %2.", GVAR(ServerVersion), _version]; + + diag_log text format ["[ACE] ERROR: %1", _errorMsg]; + + if (hasInterface) then {diag_log str "1"; + ["[ACE] ERROR", _errorMsg, {findDisplay 46 closeDisplay 0}] call FUNC(errorMessage); + }; + }; + + [_this select 1] call CBA_fnc_removePerFrameHandler; + }, 1, _version] call CBA_fnc_addPerFrameHandler; + }; +}; diff --git a/addons/common/functions/fnc_errorMessage.sqf b/addons/common/functions/fnc_errorMessage.sqf index e061772942..9665fed5bb 100644 --- a/addons/common/functions/fnc_errorMessage.sqf +++ b/addons/common/functions/fnc_errorMessage.sqf @@ -15,6 +15,21 @@ disableSerialization; endLoadingScreen; + +// no message without player possible +if (!hasInterface) exitWith {}; + +// wait for display +if (isNull (call BIS_fnc_displayMission)) exitWith { + [{ + if (isNull (call BIS_fnc_displayMission)) exitWith {}; + + (_this select 0) call FUNC(errorMessage); + [_this select 1] call CBA_fnc_removePerFrameHandler; + + }, 1, _this] call CBA_fnc_addPerFrameHandler; +}; + private ["_textHeader", "_textMessage", "_onOK", "_onCancel"]; _textHeader = _this select 0; From 30ff90453bdc7a143f4b02253b844a991b760fdf Mon Sep 17 00:00:00 2001 From: ulteq Date: Sat, 9 May 2015 18:32:19 +0200 Subject: [PATCH 118/217] wind deflection has wrong version number macro setup --- addons/winddeflection/config.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/winddeflection/config.cpp b/addons/winddeflection/config.cpp index e0c77420cf..02480bf013 100644 --- a/addons/winddeflection/config.cpp +++ b/addons/winddeflection/config.cpp @@ -7,9 +7,9 @@ class CfgPatches { requiredVersion = REQUIRED_VERSION; requiredAddons[] = {"ace_weather"}; versionDesc = "ACE Wind Deflection"; - version = VERSION; author[] = {$STR_ACE_Common_ACETeam, "Glowbal", "Ruthberg"}; authorUrl = "http://csemod.com"; + VERSION_CONFIG;` }; }; From b80602fbae025d0862a219a76ff6302b49386b52 Mon Sep 17 00:00:00 2001 From: ulteq Date: Sat, 9 May 2015 18:55:00 +0200 Subject: [PATCH 119/217] Fixed a typo --- addons/winddeflection/config.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/winddeflection/config.cpp b/addons/winddeflection/config.cpp index 02480bf013..e420debb66 100644 --- a/addons/winddeflection/config.cpp +++ b/addons/winddeflection/config.cpp @@ -9,7 +9,7 @@ class CfgPatches { versionDesc = "ACE Wind Deflection"; author[] = {$STR_ACE_Common_ACETeam, "Glowbal", "Ruthberg"}; authorUrl = "http://csemod.com"; - VERSION_CONFIG;` + VERSION_CONFIG; }; }; From e56089737b5ca6ae4509c5e0a1a96c28526629b3 Mon Sep 17 00:00:00 2001 From: ViperMaul Date: Sat, 9 May 2015 10:30:58 -0700 Subject: [PATCH 120/217] $NOBIN$ mode now respects the signature key blacklist --- tools/make.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/make.py b/tools/make.py index f3d71f3f34..4c8ba2f5b2 100644 --- a/tools/make.py +++ b/tools/make.py @@ -969,7 +969,7 @@ See the make.cfg file for additional build options. raise print_error("Could not rename built PBO with prefix.") # Sign result - if key: + if (key and not "ace_{}.pbo".format(module) in signature_blacklist): print("Signing with {}.".format(key)) if pbo_name_prefix: ret = subprocess.call([dssignfile, key, os.path.join(module_root, release_dir, project, "addons", pbo_name_prefix + module + ".pbo")]) From aa6c3ddf2c53d95fe843265f416d2aa0a69ca3a7 Mon Sep 17 00:00:00 2001 From: commy2 Date: Sat, 9 May 2015 19:34:35 +0200 Subject: [PATCH 121/217] fix: check files script, order in activatedAddons is not guaranteed --- addons/common/functions/fnc_checkFiles.sqf | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/addons/common/functions/fnc_checkFiles.sqf b/addons/common/functions/fnc_checkFiles.sqf index 6aa38d61c0..b0ea8a5200 100644 --- a/addons/common/functions/fnc_checkFiles.sqf +++ b/addons/common/functions/fnc_checkFiles.sqf @@ -4,7 +4,7 @@ * Compares version numbers of PBOs and DLLs. * * Argument: - * 0: Mode (Number) + * None. * * Return value: * None. @@ -19,14 +19,8 @@ _version = getText (configFile >> "CfgPatches" >> "ace_main" >> "versionStr"); diag_log text format ["[ACE]: ACE is version %1.", _version]; -private ["_addons", "_index"]; - +private "_addons"; _addons = activatedAddons; - -// speed up search. all ace pbos are loaded after ace_main. -_index = _addons find "ace_main"; -reverse _addons; -_addons resize (count _addons - _index); _addons = [_addons, {_this find "ace_" == 0}] call FUNC(filter); { From 253ed6946e3f270db9c21ecdb622b5a09f4472f6 Mon Sep 17 00:00:00 2001 From: ulteq Date: Sat, 9 May 2015 20:02:22 +0200 Subject: [PATCH 122/217] scope firedEH cleanup --- addons/scopes/functions/fnc_firedEH.sqf | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/addons/scopes/functions/fnc_firedEH.sqf b/addons/scopes/functions/fnc_firedEH.sqf index 1b692e340a..020431c27b 100644 --- a/addons/scopes/functions/fnc_firedEH.sqf +++ b/addons/scopes/functions/fnc_firedEH.sqf @@ -18,25 +18,20 @@ */ #include "script_component.hpp" -private ["_unit", "_adjustment", "_weapon", "_projectile", "_weaponIndex", "_zeroing", "_adjustment"]; - +private ["_unit", "_adjustment", "_projectile", "_weaponIndex", "_zeroing", "_adjustment"]; _unit = _this select 0; -_weapon = _this select 1; _projectile = _this select 6; -// Exit if the unit doesn't have any adjusment variable +if !([_unit] call EFUNC(common,isPlayer)) exitWith {}; + _adjustment = _unit getVariable [QGVAR(Adjustment), []]; if (_adjustment isEqualTo []) exitWith {}; -// Exit if the unit isn't a player -if !([_unit] call EFUNC(common,isPlayer)) exitWith {}; - _weaponIndex = [_unit, currentWeapon _unit] call EFUNC(common,getWeaponIndex); if (_weaponIndex < 0) exitWith {}; _zeroing = _adjustment select _weaponIndex; -//Exit if adjusment is zero: if (_zeroing isEqualTo [0,0,0]) exitWith {}; // Convert zeroing from mils to degrees From ec2d3ff99d2dfe4cef3f588ca5f8717ecfa22e9b Mon Sep 17 00:00:00 2001 From: ViperMaul Date: Sat, 9 May 2015 11:05:35 -0700 Subject: [PATCH 123/217] add some debug --- tools/make.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tools/make.py b/tools/make.py index 4c8ba2f5b2..3db62337a8 100644 --- a/tools/make.py +++ b/tools/make.py @@ -102,6 +102,8 @@ def get_directory_hash(directory): traceback.print_exc() return -2 + retVal = directory_hash.hexdigest() + #print_yellow("Hash Value for {} is {}".format(directory,retVal)) return directory_hash.hexdigest() # Copyright (c) André Burgaud From 21ea66746380c25180b6fad3f24df1d0f4fad59b Mon Sep 17 00:00:00 2001 From: ViperMaul Date: Sat, 9 May 2015 11:07:27 -0700 Subject: [PATCH 124/217] $NOBIN$ file must not be a zero-byte file in order to affect the cache to trigger a proper rebuild. --- addons/common/config - Copy.cpp | 167 ++++++++++++++++++++++++++++++++ addons/config.cpp | 167 ++++++++++++++++++++++++++++++++ optionals/server/$NOBIN$ | 1 + server.md5 | 2 + server2.md5 | 3 + server3.md5 | 3 + tools/vm_build.py | 6 ++ 7 files changed, 349 insertions(+) create mode 100644 addons/common/config - Copy.cpp create mode 100644 addons/config.cpp create mode 100644 server.md5 create mode 100644 server2.md5 create mode 100644 server3.md5 create mode 100644 tools/vm_build.py diff --git a/addons/common/config - Copy.cpp b/addons/common/config - Copy.cpp new file mode 100644 index 0000000000..27647f8d00 --- /dev/null +++ b/addons/common/config - Copy.cpp @@ -0,0 +1,167 @@ +#include "script_component.hpp" + +class CfgPatches { + class ADDON { + units[] = {"ACE_Box_Misc", "ACE_bananaItem"}; + weapons[] = {"ACE_ItemCore","ACE_FakePrimaryWeapon", "ACE_Banana"}; + requiredVersion = REQUIRED_VERSION; + requiredAddons[] = {"ace_main"}; + author[] = {"KoffeinFlummi"}; + authorUrl = "https://github.com/KoffeinFlummi/"; + VERSION_CONFIG; + }; +}; + +#include "CfgEventHandlers.hpp" + +#include "CfgSounds.hpp" +#include "CfgVehicles.hpp" +#include "CfgWeapons.hpp" +#include "CfgMagazines.hpp" + +#include "CfgActions.hpp" +#include "CfgMoves.hpp" +#include "CfgVoice.hpp" +#include "CfgUnitInsignia.hpp" + +class ACE_Rsc_Display_Base { + idd = -1; + type = 0; + style = 48; + name = ""; + duration = 999999; + fadeIn = 0; + fadeOut = 0; + font = "TahomaB"; + size = 1; + colorBackground[] = {1, 1, 1, 0}; + colorText[] = {1, 1, 1, 1}; +}; + +class ACE_Rsc_Control_Base { + idc = 1; + type = 0; + style = 48; + access = 0; + lineSpacing = 0; + moving = 1; + text = ""; + size = 1; + sizeEx = 0; + font = "TahomaB"; + colorBackground[] = {1, 1, 1, 0}; + colorText[] = {1, 1, 1, 1}; + x = 0; + y = 0; + w = 0; + h = 0; +}; + +class ACE_Settings { + /* + *class GVAR(sampleSetting) { + * Value + * value = 1; + * + * Type (SCALAR, BOOL, STRING, ARRAY, COLOR) + * typeName = "SCALAR"; + * + * Force the setting? + * force = 0; + * + * Does it appear on the options menu? + * isClientSettable = 1; + * + * The following settings only apply when isClientSettable == 1 + * Stringtable entry with the setting name + * displayName = "$STR_ACE_Common_SettingName"; + * + * Stringtable entry with the setting description + * description = "$STR_ACE_Common_SettingDescription"; + * + * Stringtable entries that describe the options + * Only applies if typeName == "SCALAR"; + * values[] = {"Disabled", "Enabled", "Only Cursor", "Only On Keypress", "Only Cursor and KeyPress"}; + *}; + */ + class GVAR(forceAllSettings) { + value = 0; + typeName = "BOOL"; + }; + /*class GVAR(enableNumberHotkeys) { + value = 1; + typeName = "BOOL"; + isClientSettable = 1; + displayName = "$STR_ACE_Common_EnableNumberHotkeys"; + };*/ + class GVAR(settingFeedbackIcons) { + value = 1; + typeName = "SCALAR"; + force = 0; + isClientSettable = 1; + displayName = "$STR_ACE_Common_SettingFeedbackIconsName"; + description = "$STR_ACE_Common_SettingFeedbackIconsDesc"; + values[] = {"Hide", "Top right, downwards", "Top right, to the left", "Top left, downwards", "Top left, to the right"}; + }; + class GVAR(SettingProgressBarLocation) { + value = 0; + typeName = "SCALAR"; + force = 0; + isClientSettable = 1; + displayName = "$STR_ACE_Common_SettingProgressbarLocationName"; + description = "$STR_ACE_Common_SettingProgressbarLocationDesc"; + values[] = {"Top", "Bottom"}; + }; + class GVAR(displayTextColor) { + value[] = {0,0,0,0.1}; + typeName = "COLOR"; + isClientSettable = 1; + displayName = "$STR_ACE_Common_SettingDisplayTextColorName"; + description = "$STR_ACE_Common_SettingDisplayTextColorDesc"; + }; + class GVAR(displayTextFontColor) { + value[] = {1,1,1,1}; + typeName = "COLOR"; + isClientSettable = 1; + displayName = "$STR_ACE_Common_SettingDisplayTextFontColorName"; + description = "$STR_ACE_Common_SettingDisplayTextFontColorDesc"; + }; +}; + +#include "define.hpp" +#include +#include +#include + +class CfgUIGrids { + class IGUI { + class Presets { + class Arma3 { + class Variables { + grid_ACE_displayText[] = {{((safezoneX + safezoneW) - (10 *(((safezoneW / safezoneH) min 1.2) / 40)) - 2.9 *(((safezoneW / safezoneH) min 1.2) / 40)),safeZoneY + 0.175 * safezoneH, (10 *(((safezoneW / safezoneH) min 1.2) / 40)), (2 *((((safezoneW / safezoneH) min 1.2) / 1.2) / 25))}, "(((safezoneW / safezoneH) min 1.2) / 40)","((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"}; + }; + }; + }; + + class Variables { + class grid_ACE_displayText { + displayName = "ACE Hint"; + description = "Textual in game feedback to the player."; + preview = "\a3\Ui_f\data\GUI\Cfg\UIGrids\grid_hint_ca.paa"; + saveToProfile[] = {0,1}; + }; + }; + }; +}; + +/* +// check dll +class RscStandardDisplay; +class RscDisplayMain: RscStandardDisplay { + onLoad = QUOTE([ARR_4(""onLoad"",_this,""RscDisplayMain"",'GUI')] call (uinamespace getvariable 'BIS_fnc_initDisplay'); [ARR_5('header','tail',{0},{},_this select 0)] call COMPILE_FILE(functions\fnc_errorMessage)); +}; +*/ + +class ACE_Extensions { + extensions[] = {}; +}; diff --git a/addons/config.cpp b/addons/config.cpp new file mode 100644 index 0000000000..27647f8d00 --- /dev/null +++ b/addons/config.cpp @@ -0,0 +1,167 @@ +#include "script_component.hpp" + +class CfgPatches { + class ADDON { + units[] = {"ACE_Box_Misc", "ACE_bananaItem"}; + weapons[] = {"ACE_ItemCore","ACE_FakePrimaryWeapon", "ACE_Banana"}; + requiredVersion = REQUIRED_VERSION; + requiredAddons[] = {"ace_main"}; + author[] = {"KoffeinFlummi"}; + authorUrl = "https://github.com/KoffeinFlummi/"; + VERSION_CONFIG; + }; +}; + +#include "CfgEventHandlers.hpp" + +#include "CfgSounds.hpp" +#include "CfgVehicles.hpp" +#include "CfgWeapons.hpp" +#include "CfgMagazines.hpp" + +#include "CfgActions.hpp" +#include "CfgMoves.hpp" +#include "CfgVoice.hpp" +#include "CfgUnitInsignia.hpp" + +class ACE_Rsc_Display_Base { + idd = -1; + type = 0; + style = 48; + name = ""; + duration = 999999; + fadeIn = 0; + fadeOut = 0; + font = "TahomaB"; + size = 1; + colorBackground[] = {1, 1, 1, 0}; + colorText[] = {1, 1, 1, 1}; +}; + +class ACE_Rsc_Control_Base { + idc = 1; + type = 0; + style = 48; + access = 0; + lineSpacing = 0; + moving = 1; + text = ""; + size = 1; + sizeEx = 0; + font = "TahomaB"; + colorBackground[] = {1, 1, 1, 0}; + colorText[] = {1, 1, 1, 1}; + x = 0; + y = 0; + w = 0; + h = 0; +}; + +class ACE_Settings { + /* + *class GVAR(sampleSetting) { + * Value + * value = 1; + * + * Type (SCALAR, BOOL, STRING, ARRAY, COLOR) + * typeName = "SCALAR"; + * + * Force the setting? + * force = 0; + * + * Does it appear on the options menu? + * isClientSettable = 1; + * + * The following settings only apply when isClientSettable == 1 + * Stringtable entry with the setting name + * displayName = "$STR_ACE_Common_SettingName"; + * + * Stringtable entry with the setting description + * description = "$STR_ACE_Common_SettingDescription"; + * + * Stringtable entries that describe the options + * Only applies if typeName == "SCALAR"; + * values[] = {"Disabled", "Enabled", "Only Cursor", "Only On Keypress", "Only Cursor and KeyPress"}; + *}; + */ + class GVAR(forceAllSettings) { + value = 0; + typeName = "BOOL"; + }; + /*class GVAR(enableNumberHotkeys) { + value = 1; + typeName = "BOOL"; + isClientSettable = 1; + displayName = "$STR_ACE_Common_EnableNumberHotkeys"; + };*/ + class GVAR(settingFeedbackIcons) { + value = 1; + typeName = "SCALAR"; + force = 0; + isClientSettable = 1; + displayName = "$STR_ACE_Common_SettingFeedbackIconsName"; + description = "$STR_ACE_Common_SettingFeedbackIconsDesc"; + values[] = {"Hide", "Top right, downwards", "Top right, to the left", "Top left, downwards", "Top left, to the right"}; + }; + class GVAR(SettingProgressBarLocation) { + value = 0; + typeName = "SCALAR"; + force = 0; + isClientSettable = 1; + displayName = "$STR_ACE_Common_SettingProgressbarLocationName"; + description = "$STR_ACE_Common_SettingProgressbarLocationDesc"; + values[] = {"Top", "Bottom"}; + }; + class GVAR(displayTextColor) { + value[] = {0,0,0,0.1}; + typeName = "COLOR"; + isClientSettable = 1; + displayName = "$STR_ACE_Common_SettingDisplayTextColorName"; + description = "$STR_ACE_Common_SettingDisplayTextColorDesc"; + }; + class GVAR(displayTextFontColor) { + value[] = {1,1,1,1}; + typeName = "COLOR"; + isClientSettable = 1; + displayName = "$STR_ACE_Common_SettingDisplayTextFontColorName"; + description = "$STR_ACE_Common_SettingDisplayTextFontColorDesc"; + }; +}; + +#include "define.hpp" +#include +#include +#include + +class CfgUIGrids { + class IGUI { + class Presets { + class Arma3 { + class Variables { + grid_ACE_displayText[] = {{((safezoneX + safezoneW) - (10 *(((safezoneW / safezoneH) min 1.2) / 40)) - 2.9 *(((safezoneW / safezoneH) min 1.2) / 40)),safeZoneY + 0.175 * safezoneH, (10 *(((safezoneW / safezoneH) min 1.2) / 40)), (2 *((((safezoneW / safezoneH) min 1.2) / 1.2) / 25))}, "(((safezoneW / safezoneH) min 1.2) / 40)","((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"}; + }; + }; + }; + + class Variables { + class grid_ACE_displayText { + displayName = "ACE Hint"; + description = "Textual in game feedback to the player."; + preview = "\a3\Ui_f\data\GUI\Cfg\UIGrids\grid_hint_ca.paa"; + saveToProfile[] = {0,1}; + }; + }; + }; +}; + +/* +// check dll +class RscStandardDisplay; +class RscDisplayMain: RscStandardDisplay { + onLoad = QUOTE([ARR_4(""onLoad"",_this,""RscDisplayMain"",'GUI')] call (uinamespace getvariable 'BIS_fnc_initDisplay'); [ARR_5('header','tail',{0},{},_this select 0)] call COMPILE_FILE(functions\fnc_errorMessage)); +}; +*/ + +class ACE_Extensions { + extensions[] = {}; +}; diff --git a/optionals/server/$NOBIN$ b/optionals/server/$NOBIN$ index e69de29bb2..c2037c2142 100644 --- a/optionals/server/$NOBIN$ +++ b/optionals/server/$NOBIN$ @@ -0,0 +1 @@ +NOBIN \ No newline at end of file diff --git a/server.md5 b/server.md5 new file mode 100644 index 0000000000..4b55677c68 --- /dev/null +++ b/server.md5 @@ -0,0 +1,2 @@ +9f932a56f6d56912c3ed64583086c699 *server\config.cpp +a0d9c8926a9c729e96bb6f5e83072526 *server\script_component.hpp diff --git a/server2.md5 b/server2.md5 new file mode 100644 index 0000000000..e5a17d9cc0 --- /dev/null +++ b/server2.md5 @@ -0,0 +1,3 @@ +d41d8cd98f00b204e9800998ecf8427e *server\$NOBIN$ +9f932a56f6d56912c3ed64583086c699 *server\config.cpp +a0d9c8926a9c729e96bb6f5e83072526 *server\script_component.hpp diff --git a/server3.md5 b/server3.md5 new file mode 100644 index 0000000000..8c7d3ace7c --- /dev/null +++ b/server3.md5 @@ -0,0 +1,3 @@ +76717b52157b1d55caa07359c789c148 *server\$NOBIN$ +9f932a56f6d56912c3ed64583086c699 *server\config.cpp +a0d9c8926a9c729e96bb6f5e83072526 *server\script_component.hpp diff --git a/tools/vm_build.py b/tools/vm_build.py new file mode 100644 index 0000000000..1d43c6ee30 --- /dev/null +++ b/tools/vm_build.py @@ -0,0 +1,6 @@ +import subprocess +try: + result = subprocess.call("python make.py checkexternal test") + print (result) +except: + raise \ No newline at end of file From 70e1310d28c10adf8ec0e6ac5cca5d609ced9463 Mon Sep 17 00:00:00 2001 From: ViperMaul Date: Sat, 9 May 2015 11:29:42 -0700 Subject: [PATCH 125/217] Give builders a clue where to look to find what the cause for the error may be. #1051 --- tools/make.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/make.py b/tools/make.py index 3db62337a8..a3651b74a7 100644 --- a/tools/make.py +++ b/tools/make.py @@ -985,7 +985,7 @@ See the make.cfg file for additional build options. if not build_successful: print_error("pboProject return code == {}".format(str(ret))) - print_error("Module not successfully built/signed.") + print_error("Module not successfully built/signed. Check your {}temp\{}_packing.log for more info.".format(work_drive,module)) print ("Resuming build...") continue @@ -1057,7 +1057,7 @@ See the make.cfg file for additional build options. build_successful = True if not build_successful: - print_error("Module not successfully built.") + print_error("Module not successfully built. Check your {}temp\{}_packing.log for more info.".format(work_drive,module)) # Back to the root os.chdir(make_root) From 071f40eb2fff9d9bd094959cb9d3d94f01f3610a Mon Sep 17 00:00:00 2001 From: ViperMaul Date: Sat, 9 May 2015 12:13:03 -0700 Subject: [PATCH 126/217] Remove obsolete *.dll files #1038 --- tools/make.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/tools/make.py b/tools/make.py index a3651b74a7..e90beb7703 100644 --- a/tools/make.py +++ b/tools/make.py @@ -661,6 +661,7 @@ See the make.cfg file for additional build options. module_root_parent = os.path.abspath(os.path.join(os.path.join(work_drive, prefix), os.pardir)) module_root = cfg.get(make_target, "module_root", fallback=os.path.join(make_root_parent, "addons")) optionals_root = os.path.join(module_root_parent, "optionals") + extensions_root = os.path.join(module_root_parent, "extensions") print_green ("module_root: {}".format(module_root)) if (os.path.isdir(module_root)): @@ -807,6 +808,18 @@ See the make.cfg file for additional build options. print_yellow("Removing obsolete file => {}".format(file)) purge(obsolete_check_path,fileName+"\..",fileName+".*") + obsolete_check_path = os.path.join(module_root, release_dir, project) + for file in os.listdir(obsolete_check_path): + if (file.endswith(".dll") and os.path.isfile(os.path.join(obsolete_check_path,file))): + if check_for_obsolete_pbos(extensions_root, file): + fileName = os.path.splitext(file)[0] + print_yellow("Removing obsolete file => {}".format(file)) + try: + os.remove(os.path.join(obsolete_check_path,file)) + except: + print_error("\nFailed to delete {}".format(os.path.join(obsolete_check_path,file))) + pass + # For each module, prep files and then build. print_blue("\nBuilding...") for module in modules: From 6b5d95906d357f4432f94c75736d9aed3e501a90 Mon Sep 17 00:00:00 2001 From: jaynus Date: Sat, 9 May 2015 12:41:01 -0700 Subject: [PATCH 127/217] Disables multiple openings of the kestrel & atrag. Allows the overlay toggle, but disables the opening of multiple ones. Used onUnload handlers. Supports both limiting interact and keybinds. Fixes #1086 --- addons/atragmx/RscTitles.hpp | 1 + addons/atragmx/XEH_preInit.sqf | 1 + addons/atragmx/functions/fnc_create_dialog.sqf | 3 +++ addons/atragmx/functions/fnc_init.sqf | 2 ++ addons/atragmx/functions/fnc_on_close_dialog.sqf | 4 ++++ addons/atragmx/initKeybinds.sqf | 2 +- addons/kestrel4500/RscTitles.hpp | 2 ++ addons/kestrel4500/XEH_postInit.sqf | 2 +- addons/kestrel4500/XEH_preInit.sqf | 3 +++ addons/kestrel4500/functions/fnc_createKestrelDialog.sqf | 1 + addons/kestrel4500/functions/fnc_onCloseDialog.sqf | 4 ++++ addons/kestrel4500/functions/fnc_onCloseDisplay.sqf | 4 ++++ addons/kestrel4500/initKeybinds.sqf | 5 +++-- 13 files changed, 30 insertions(+), 4 deletions(-) create mode 100644 addons/atragmx/functions/fnc_on_close_dialog.sqf create mode 100644 addons/kestrel4500/functions/fnc_onCloseDialog.sqf create mode 100644 addons/kestrel4500/functions/fnc_onCloseDisplay.sqf diff --git a/addons/atragmx/RscTitles.hpp b/addons/atragmx/RscTitles.hpp index 4ae08c20aa..cefc7a26eb 100644 --- a/addons/atragmx/RscTitles.hpp +++ b/addons/atragmx/RscTitles.hpp @@ -142,6 +142,7 @@ class ATragMX_Display { name="ATragMX_Display"; idd=-1; onLoad="uiNamespace setVariable ['ATragMX_Display', (_this select 0)]"; + onUnload=QUOTE(_this call FUNC(on_close_dialog)); movingEnable=1; controlsBackground[]={}; objects[]={}; diff --git a/addons/atragmx/XEH_preInit.sqf b/addons/atragmx/XEH_preInit.sqf index 6ec288b9c7..62bf2181c7 100644 --- a/addons/atragmx/XEH_preInit.sqf +++ b/addons/atragmx/XEH_preInit.sqf @@ -68,5 +68,6 @@ PREP(update_target_data); PREP(update_target_selection); PREP(update_unit_selection); PREP(update_zero_range); +PREP(on_close_dialog); ADDON = true; diff --git a/addons/atragmx/functions/fnc_create_dialog.sqf b/addons/atragmx/functions/fnc_create_dialog.sqf index 09e413d535..e0be3c6941 100644 --- a/addons/atragmx/functions/fnc_create_dialog.sqf +++ b/addons/atragmx/functions/fnc_create_dialog.sqf @@ -16,6 +16,7 @@ #include "script_component.hpp" //if (dialog) exitWith { false }; +if(GVAR(active)) exitWith { false }; if (underwater ACE_player) exitWith { false }; if (!("ACE_ATragMX" in (uniformItems ACE_player)) && !("ACE_ATragMX" in (vestItems ACE_player))) exitWith { false }; @@ -47,4 +48,6 @@ GVAR(showTargetSpeedAssistTimer) call FUNC(show_target_speed_assist_timer); lbAdd [6000, _x select 0]; } forEach GVAR(gunList); +GVAR(active) = true; + true diff --git a/addons/atragmx/functions/fnc_init.sqf b/addons/atragmx/functions/fnc_init.sqf index e4fe1b67a4..30b17ebf90 100644 --- a/addons/atragmx/functions/fnc_init.sqf +++ b/addons/atragmx/functions/fnc_init.sqf @@ -15,6 +15,8 @@ */ #include "script_component.hpp" +GVAR(active) = false; + GVAR(workingMemory) = +(GVAR(gunList) select 0); GVAR(scopeUnits) = ["MILs", "TMOA", "SMOA", "Clicks"]; diff --git a/addons/atragmx/functions/fnc_on_close_dialog.sqf b/addons/atragmx/functions/fnc_on_close_dialog.sqf new file mode 100644 index 0000000000..32ba4e4c43 --- /dev/null +++ b/addons/atragmx/functions/fnc_on_close_dialog.sqf @@ -0,0 +1,4 @@ +#include "script_component.hpp" + +uiNamespace setVariable ['ATragMX_Display', nil]; +GVAR(active) = false; \ No newline at end of file diff --git a/addons/atragmx/initKeybinds.sqf b/addons/atragmx/initKeybinds.sqf index 796d7f9d97..98bddf04e4 100644 --- a/addons/atragmx/initKeybinds.sqf +++ b/addons/atragmx/initKeybinds.sqf @@ -2,7 +2,7 @@ { // Conditions: canInteract if !([ACE_player, objNull, []] call EFUNC(common,canInteractWith)) exitWith {false}; - + if(GVAR(active)) exitWith {}; // Statement [] call FUNC(create_dialog); false diff --git a/addons/kestrel4500/RscTitles.hpp b/addons/kestrel4500/RscTitles.hpp index defb954292..b091a07561 100644 --- a/addons/kestrel4500/RscTitles.hpp +++ b/addons/kestrel4500/RscTitles.hpp @@ -54,6 +54,7 @@ class Kestrel4500_Display name="Kestrel4500_Display"; idd=-1; onLoad="uiNamespace setVariable ['Kestrel4500_Display', (_this select 0)]"; + onUnload=QUOTE(_this call FUNC(onCloseDialog)); movingEnable=1; controlsBackground[]={}; objects[]={}; @@ -217,6 +218,7 @@ class RscTitles { idd=-1; onLoad="with uiNameSpace do { RscKestrel4500 = _this select 0 };"; + onUnload=(_this call FUNC(onCloseDisplay)); movingEnable=0; duration=60; fadeIn="false"; diff --git a/addons/kestrel4500/XEH_postInit.sqf b/addons/kestrel4500/XEH_postInit.sqf index 461ed533db..24a972c326 100644 --- a/addons/kestrel4500/XEH_postInit.sqf +++ b/addons/kestrel4500/XEH_postInit.sqf @@ -22,4 +22,4 @@ GVAR(MeasuredWindSpeed) = 0; GVAR(ImpellerState) = 0; GVAR(Kestrel4500) = false; -GVAR(Overlay) = false; +GVAR(Overlay) = false; \ No newline at end of file diff --git a/addons/kestrel4500/XEH_preInit.sqf b/addons/kestrel4500/XEH_preInit.sqf index d081f485ec..2d5e211a54 100644 --- a/addons/kestrel4500/XEH_preInit.sqf +++ b/addons/kestrel4500/XEH_preInit.sqf @@ -13,4 +13,7 @@ PREP(measureWindSpeed); PREP(updateDisplay); PREP(updateImpellerState); +PREP(onCloseDialog); +PREP(onCloseDisplay); + ADDON = true; diff --git a/addons/kestrel4500/functions/fnc_createKestrelDialog.sqf b/addons/kestrel4500/functions/fnc_createKestrelDialog.sqf index f9cd6cf04a..77e36679de 100644 --- a/addons/kestrel4500/functions/fnc_createKestrelDialog.sqf +++ b/addons/kestrel4500/functions/fnc_createKestrelDialog.sqf @@ -16,6 +16,7 @@ //if (dialog) exitWith { false }; if (underwater ACE_player) exitWith { false }; +if(GVAR(Kestrel4500)) exitWith { false }; if (!("ACE_Kestrel4500" in (uniformItems ACE_player)) && !("ACE_Kestrel4500" in (vestItems ACE_player))) exitWith { false }; GVAR(Overlay) = false; diff --git a/addons/kestrel4500/functions/fnc_onCloseDialog.sqf b/addons/kestrel4500/functions/fnc_onCloseDialog.sqf new file mode 100644 index 0000000000..a45a9decc3 --- /dev/null +++ b/addons/kestrel4500/functions/fnc_onCloseDialog.sqf @@ -0,0 +1,4 @@ +#include "script_component.hpp" + +uiNamespace setVariable ['Kestrel4500_Display', nil]; +GVAR(Kestrel4500) = false; diff --git a/addons/kestrel4500/functions/fnc_onCloseDisplay.sqf b/addons/kestrel4500/functions/fnc_onCloseDisplay.sqf new file mode 100644 index 0000000000..efb60b322a --- /dev/null +++ b/addons/kestrel4500/functions/fnc_onCloseDisplay.sqf @@ -0,0 +1,4 @@ +#include "script_component.hpp" + +uiNamespace setVariable ['RscKestrel4500', nil]; +GVAR(Overlay) = false; diff --git a/addons/kestrel4500/initKeybinds.sqf b/addons/kestrel4500/initKeybinds.sqf index f6b4fec3ce..f910bdf552 100644 --- a/addons/kestrel4500/initKeybinds.sqf +++ b/addons/kestrel4500/initKeybinds.sqf @@ -2,7 +2,8 @@ { // Conditions: canInteract if !([ACE_player, objNull, []] call EFUNC(common,canInteractWith)) exitWith {false}; - + if(GVAR(Kestrel4500)) exitWith { false }; + // Statement [] call FUNC(createKestrelDialog); false @@ -14,7 +15,7 @@ { // Conditions: canInteract if !([ACE_player, objNull, []] call EFUNC(common,canInteractWith)) exitWith {false}; - + // Statement [] call FUNC(displayKestrel); false From 2e3e203d9f68a44699c96ca300ac52f4f5295b9d Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Sat, 9 May 2015 14:41:46 -0500 Subject: [PATCH 128/217] #1081 - Fix binocular dupe binocs are weapons and items at the same time. need to properly drop binocs because stuff like deisgnator can have ammo --- addons/disarming/functions/fnc_disarmDropItems.sqf | 14 ++++++++++++-- addons/disarming/functions/fnc_getAllGearUnit.sqf | 2 +- .../disarming/functions/fnc_showItemsInListbox.sqf | 8 ++++---- 3 files changed, 17 insertions(+), 7 deletions(-) diff --git a/addons/disarming/functions/fnc_disarmDropItems.sqf b/addons/disarming/functions/fnc_disarmDropItems.sqf index 2cb3e89b5d..cb5da77dd6 100644 --- a/addons/disarming/functions/fnc_disarmDropItems.sqf +++ b/addons/disarming/functions/fnc_disarmDropItems.sqf @@ -102,7 +102,7 @@ if (!([_targetMagazinesStart, _targetMagazinesEnd, _holderMagazinesStart, _holde //Remove Items, Assigned Items and NVG _holderItemsStart = getitemCargo _holder; -_targetItemsStart = (assignedItems _target) + (items _target); +_targetItemsStart = (assignedItems _target) + (items _target) - (weapons _target); if ((headgear _target) != "") then {_targetItemsStart pushBack (headgear _target);}; if ((goggles _target) != "") then {_targetItemsStart pushBack (goggles _target);}; @@ -132,7 +132,7 @@ _addToCrateCount = []; } forEach _addToCrateClassnames; _holderItemsEnd = getitemCargo _holder; -_targetItemsEnd = (assignedItems _target) + (items _target); +_targetItemsEnd = (assignedItems _target) + (items _target) - (weapons _target); if ((headgear _target) != "") then {_targetItemsEnd pushBack (headgear _target);}; if ((goggles _target) != "") then {_targetItemsEnd pushBack (goggles _target);}; @@ -146,6 +146,16 @@ if ((([_holderItemsEnd select 1] call _fncSumArray) - ([_holderItemsStart select [_caller, _target, "Debug: Items Not Added to Holder"] call FUNC(eventTargetFinish); }; +//Script drop uniforms/vest if empty +if (((uniform _target) != "") && {(uniform _target) in _listOfItemsToRemove} && {(uniformItems _target) isEqualTo []}) then { + _holder addItemCargoGlobal [(uniform _target), 1]; + removeUniform _target; +}; +if (((vest _target) != "") && {(vest _target) in _listOfItemsToRemove} && {(vestItems _target) isEqualTo []}) then { + _holder addItemCargoGlobal [(vest _target), 1]; + removeVest _target; +}; + //If holder is still empty, it will be 'garbage collected' while we wait for the drop 'action' to take place //So add a dummy item and just remove at the end diff --git a/addons/disarming/functions/fnc_getAllGearUnit.sqf b/addons/disarming/functions/fnc_getAllGearUnit.sqf index a319c006ee..99d4b2d7f2 100644 --- a/addons/disarming/functions/fnc_getAllGearUnit.sqf +++ b/addons/disarming/functions/fnc_getAllGearUnit.sqf @@ -19,7 +19,7 @@ PARAMS_1(_target); private ["_allItems", "_classnamesCount", "_index", "_uniqueClassnames"]; -_allItems = ((weapons _target) + (magazines _target) + (items _target) + (assignedItems _target)); +_allItems = (((items _target) + (assignedItems _target)) - (weapons _target)) + (weapons _target) + (magazines _target); if ((backpack _target) != "") then { _allItems pushBack (backpack _target); diff --git a/addons/disarming/functions/fnc_showItemsInListbox.sqf b/addons/disarming/functions/fnc_showItemsInListbox.sqf index 5c809de4a2..b36e53e820 100644 --- a/addons/disarming/functions/fnc_showItemsInListbox.sqf +++ b/addons/disarming/functions/fnc_showItemsInListbox.sqf @@ -28,7 +28,7 @@ private ["_classname", "_count", "_displayName", "_picture"]; _classname = _x; _count = (_itemsCountArray select 1) select _forEachIndex; - if (_classname != DUMMY_ITEM) then { //Don't show the dummy potato + if ((_classname != DUMMY_ITEM) && {_classname != "ACE_FakePrimaryWeapon"}) then { //Don't show the dummy potato or fake weapon switch (true) do { case (isClass (configFile >> "CfgWeapons" >> _classname)): { @@ -53,8 +53,8 @@ private ["_classname", "_count", "_displayName", "_picture"]; }; _listBoxCtrl lbAdd format ["%1", _displayName]; - _listBoxCtrl lbSetData [_forEachIndex, _classname]; - _listBoxCtrl lbSetPicture [_forEachIndex, _picture]; - _listBoxCtrl lbSetTextRight [_forEachIndex, str _count]; + _listBoxCtrl lbSetData [((lbSize _listBoxCtrl) - 1), _classname]; + _listBoxCtrl lbSetPicture [((lbSize _listBoxCtrl) - 1), _picture]; + _listBoxCtrl lbSetTextRight [((lbSize _listBoxCtrl) - 1), str _count]; }; } forEach (_itemsCountArray select 0); From 3a10c77f08e5bb90997e44cf31f540a787c6105e Mon Sep 17 00:00:00 2001 From: ulteq Date: Sat, 9 May 2015 22:09:36 +0200 Subject: [PATCH 129/217] Minor cleanup --- addons/atragmx/functions/fnc_create_dialog.sqf | 3 +-- addons/atragmx/initKeybinds.sqf | 2 +- addons/kestrel4500/functions/fnc_createKestrelDialog.sqf | 3 +-- 3 files changed, 3 insertions(+), 5 deletions(-) diff --git a/addons/atragmx/functions/fnc_create_dialog.sqf b/addons/atragmx/functions/fnc_create_dialog.sqf index e0be3c6941..6951137577 100644 --- a/addons/atragmx/functions/fnc_create_dialog.sqf +++ b/addons/atragmx/functions/fnc_create_dialog.sqf @@ -15,8 +15,7 @@ */ #include "script_component.hpp" -//if (dialog) exitWith { false }; -if(GVAR(active)) exitWith { false }; +if (GVAR(active)) exitWith { false }; if (underwater ACE_player) exitWith { false }; if (!("ACE_ATragMX" in (uniformItems ACE_player)) && !("ACE_ATragMX" in (vestItems ACE_player))) exitWith { false }; diff --git a/addons/atragmx/initKeybinds.sqf b/addons/atragmx/initKeybinds.sqf index 98bddf04e4..8bc37752f3 100644 --- a/addons/atragmx/initKeybinds.sqf +++ b/addons/atragmx/initKeybinds.sqf @@ -2,7 +2,7 @@ { // Conditions: canInteract if !([ACE_player, objNull, []] call EFUNC(common,canInteractWith)) exitWith {false}; - if(GVAR(active)) exitWith {}; + if (GVAR(active)) exitWith {false}; // Statement [] call FUNC(create_dialog); false diff --git a/addons/kestrel4500/functions/fnc_createKestrelDialog.sqf b/addons/kestrel4500/functions/fnc_createKestrelDialog.sqf index 77e36679de..289d0825fc 100644 --- a/addons/kestrel4500/functions/fnc_createKestrelDialog.sqf +++ b/addons/kestrel4500/functions/fnc_createKestrelDialog.sqf @@ -14,9 +14,8 @@ */ #include "script_component.hpp" -//if (dialog) exitWith { false }; +if (GVAR(Kestrel4500)) exitWith { false }; if (underwater ACE_player) exitWith { false }; -if(GVAR(Kestrel4500)) exitWith { false }; if (!("ACE_Kestrel4500" in (uniformItems ACE_player)) && !("ACE_Kestrel4500" in (vestItems ACE_player))) exitWith { false }; GVAR(Overlay) = false; From 4733818e9b09c4e3bf414b62583ee476ede12cfa Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Sat, 9 May 2015 15:10:01 -0500 Subject: [PATCH 130/217] Fix weather array for zargabad --- addons/weather/functions/fnc_getMapData.sqf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/weather/functions/fnc_getMapData.sqf b/addons/weather/functions/fnc_getMapData.sqf index 5a090c7388..55c6e9c3c0 100644 --- a/addons/weather/functions/fnc_getMapData.sqf +++ b/addons/weather/functions/fnc_getMapData.sqf @@ -103,7 +103,7 @@ if (toLower worldName in ["takistan", "zargabad", "mountains_acr", "shapur_baf", GVAR(Humidity) = [68, 69, 62, 60, 49, 37, 38, 39, 40, 41, 56, 61]; // Source: https://weatherspark.com/averages/32750/Kabul-Afghanistan - GVAR(WindSpeedMax) = [[4.0, 1.0], [4.1, 1.0], [5.1, 1.1], [6.9, 1.2], [8.9, 1.2], [10.0, 1.1], 0, [8.2, 1.0], [6.9, 1.0], [5.2, 1.0], [3.8, 0.9], [3.7, 0.9]]; + GVAR(WindSpeedMax) = [[4.0, 1.0], [4.1, 1.0], [5.1, 1.1], [6.9, 1.2], [8.9, 1.2], [10.0, 1.1], [9.1,1.0], [8.2, 1.0], [6.9, 1.0], [5.2, 1.0], [3.8, 0.9], [3.7, 0.9]]; GVAR(WindSpeedMean) = [2.2, 2.2, 2.5, 2.8, 3.8, 4.4, 0, 3.3, 2.7, 2.4, 1.8, 1.9]; GVAR(WindSpeedMin) = [[0.2, 0.4], [0.2, 0.4], [0.2, 0.4], [0.3, 0.4], [0.6, 0.4], [0.9, 0.4], [0.7, 0.4], [0.5, 0.4], [0.2, 0.5], [0.1, 0.1], [0, 0.1], [0, 0.1]]; GVAR(WindDirectionProbabilities) = [[0.04, 0.02, 0.05, 0.04, 0.05, 0.04, 0.11, 0.29], // January From fb6195875818a2f783db83456ec97b7829f108f4 Mon Sep 17 00:00:00 2001 From: Alessandro Foresi Date: Sat, 11 Apr 2015 15:33:21 +0200 Subject: [PATCH 131/217] Fixed: FUNC macros list --- documentation/development/coding-guidelines.md | 1 + 1 file changed, 1 insertion(+) diff --git a/documentation/development/coding-guidelines.md b/documentation/development/coding-guidelines.md index 04d6adba80..c9eadfa8b6 100644 --- a/documentation/development/coding-guidelines.md +++ b/documentation/development/coding-guidelines.md @@ -131,6 +131,7 @@ The family of `GVAR` macro's define global variable strings or constants for use There also exists the FUNC family of Macros + * `FUNC(face)` is `ace_balls_fnc_face` or the call trace wrapper for that function. * `EFUNC(balls,face)` is `ace_balls_fnc_face` or the call trace wrapper for that function. * `EFUNC(leg,face)` is `ace_leg_fnc_face` or the call trace wrapper for that function. From cde1ff9a646e54c56d8835225e84ae9ea094da68 Mon Sep 17 00:00:00 2001 From: Alessandro Foresi Date: Sat, 11 Apr 2015 15:36:14 +0200 Subject: [PATCH 132/217] Fixed: build.py instead of build.bat --- .../development/setting-up-the-development-environment.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/development/setting-up-the-development-environment.md b/documentation/development/setting-up-the-development-environment.md index 8a572c1ec6..52e80a37a3 100644 --- a/documentation/development/setting-up-the-development-environment.md +++ b/documentation/development/setting-up-the-development-environment.md @@ -107,4 +107,4 @@ Files must exist in the built PBOs for filepatching to work. If you create a new Configs are not patched during run time, only at load time. You do not have have to rebuild a PBO to make config changes, just restart Arma. You can get around this though if you are on the dev branch of Arma 3 and running the diagnostic exe. That includes `diag_mergeConfig` which takes a full system path (as in `p:\z\ace\addons\my_module\config.cpp`) and allows you selectivly reload config files. -If you need to add/remove files* Then you'll need to run build.bat again without the game running, and restart. That is all that is required to add new files to then further use in testing. +If you need to add/remove files* Then you'll need to run build.py again without the game running, and restart. That is all that is required to add new files to then further use in testing. From 76b66db9d8a4d38890d02411aaeb1f578abb9276 Mon Sep 17 00:00:00 2001 From: Alessandro Foresi Date: Sat, 11 Apr 2015 15:37:36 +0200 Subject: [PATCH 133/217] Fixed: typo, extra * --- .../development/setting-up-the-development-environment.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/development/setting-up-the-development-environment.md b/documentation/development/setting-up-the-development-environment.md index 52e80a37a3..f484c59722 100644 --- a/documentation/development/setting-up-the-development-environment.md +++ b/documentation/development/setting-up-the-development-environment.md @@ -107,4 +107,4 @@ Files must exist in the built PBOs for filepatching to work. If you create a new Configs are not patched during run time, only at load time. You do not have have to rebuild a PBO to make config changes, just restart Arma. You can get around this though if you are on the dev branch of Arma 3 and running the diagnostic exe. That includes `diag_mergeConfig` which takes a full system path (as in `p:\z\ace\addons\my_module\config.cpp`) and allows you selectivly reload config files. -If you need to add/remove files* Then you'll need to run build.py again without the game running, and restart. That is all that is required to add new files to then further use in testing. +If you need to add/remove files, then you'll need to run build.py again without the game running, and restart. That is all that is required to add new files to then further use in testing. From 6695a8793b9851c9b07a5d134d94095630e83c68 Mon Sep 17 00:00:00 2001 From: Alessandro Foresi Date: Sat, 11 Apr 2015 16:27:38 +0200 Subject: [PATCH 134/217] Added: Some italian translastions --- addons/aircraft/stringtable.xml | 6 +++--- addons/attach/stringtable.xml | 2 +- addons/captives/stringtable.xml | 16 ++++++++-------- addons/dragging/stringtable.xml | 6 +++--- addons/hearing/stringtable.xml | 4 ++-- addons/interact_menu/stringtable.xml | 6 +++--- addons/interaction/stringtable.xml | 20 ++++++++++++++------ addons/nametags/stringtable.xml | 8 ++++---- 8 files changed, 38 insertions(+), 30 deletions(-) diff --git a/addons/aircraft/stringtable.xml b/addons/aircraft/stringtable.xml index 1dd01e08ab..c467cda3ce 100644 --- a/addons/aircraft/stringtable.xml +++ b/addons/aircraft/stringtable.xml @@ -1,4 +1,4 @@ - + @@ -34,7 +34,7 @@ Otevřít nákladní prostor Rakodórámpa nyitása Открыть грузовой отсек - Apri la porta del cargo + Apri la rampa di carico Abrir porta de carga @@ -46,7 +46,7 @@ Zavřít nákladní prostor Rakodórámpa zárása Закрыть грузовой отсек - Chiudi la porta del cargo + Chiudi la rampa di carico Fechar porta de carga diff --git a/addons/attach/stringtable.xml b/addons/attach/stringtable.xml index 70b464a6cd..bc78cb3919 100644 --- a/addons/attach/stringtable.xml +++ b/addons/attach/stringtable.xml @@ -206,4 +206,4 @@ %1<br/>отсоединен(-а) - \ No newline at end of file + diff --git a/addons/captives/stringtable.xml b/addons/captives/stringtable.xml index 4c139897c9..5de0a18bec 100644 --- a/addons/captives/stringtable.xml +++ b/addons/captives/stringtable.xml @@ -8,7 +8,7 @@ Capturer le prisonnier Aresztuj Zajmout Osobu - Arresta il Prigioniero + Arresta il prigioniero Tomar Prisioneiro Foglyul ejtés Взять в плен @@ -20,7 +20,7 @@ Wypuść więźnia Libérer le prisonnier Osvobodit Zajatce - Libera il Prigioniero + Libera il prigioniero Libertar Prisioneiro Fogoly szabadon engedése Освободить пленника @@ -71,7 +71,7 @@ Fogoly berakása Загрузить пленного Embarcar Prisioneiro - Carica il prigioniero + Fai salire il prigioniero Unload Captive @@ -83,7 +83,7 @@ Fogoly kivevése Выгрузить пленного Desembarcar Prisioneiro - Scarica il prigioniero + Fai scendere il prigioniero Cable Tie @@ -105,7 +105,7 @@ Les Serflex permettent de menotter les prisonniers. Stahovací pásky vám umožní zadržet vězně. A algema plástica permite que você contenha prisioneiros. - Fascietta che ti consente di arrestare i prigionieri. + Fascetta per arrestare i prigionieri Gyorskötöző, emberek foglyulejtéséhez használható. Кабельные стяжки позволяют связывать пленников. @@ -119,7 +119,7 @@ Ekwipunek rewidowanej osoby Инвентарь обысканного человека Inventário da pessoa revistada - Inventario delle persone perquisite + Inventario della persona perquisita Frisk person @@ -143,7 +143,7 @@ Poddaj się Сдаться Megadás - Arreso + Arrenditi Stop Surrendering @@ -194,4 +194,4 @@ Niente selezionato - \ No newline at end of file + diff --git a/addons/dragging/stringtable.xml b/addons/dragging/stringtable.xml index dd2e11f72b..4e98513266 100644 --- a/addons/dragging/stringtable.xml +++ b/addons/dragging/stringtable.xml @@ -32,7 +32,7 @@ Przedmiot jest zbyt ciężki Objet trop lourd Objeto muito pesado - Non è possibile trascinare l'oggetto a causa del suo peso + L'oggetto pesa troppo Предмет слишком тяжёлый Moc težké Az objektum túl nehéz @@ -45,9 +45,9 @@ Porter Nést Carregar - Trascina + Porta Felvevés Нести - \ No newline at end of file + diff --git a/addons/hearing/stringtable.xml b/addons/hearing/stringtable.xml index f13947d095..40fc6929f7 100644 --- a/addons/hearing/stringtable.xml +++ b/addons/hearing/stringtable.xml @@ -106,8 +106,8 @@ Vypnout pískání v uších Wyłącz dzwonienie w uszach Fülcsengés letiltása - Disabilita il ronzio + Disabilita i fischi nelle orecchie Desabilitar zumbido de ouvidos - \ No newline at end of file + diff --git a/addons/interact_menu/stringtable.xml b/addons/interact_menu/stringtable.xml index 9e808eedff..6787d1e71e 100644 --- a/addons/interact_menu/stringtable.xml +++ b/addons/interact_menu/stringtable.xml @@ -10,7 +10,7 @@ Zawsze wyświetlaj kursor dla własnej interakcji Toujours afficher le curseur pour les interactions sur soi-même Mindig legyen a saját cselekvés kurzorja látható - Mostra sempre il cursore per le auto interazioni + Mostra sempre il cursore per le interazioni su se stessi Sempre mostrar cursor para interação pessoal @@ -58,7 +58,7 @@ Klawisz własnej interakcji Touche d'interaction personnelle Saját cselekvő gomb - Tasto per auto interazioni + Tasto interazione su se stessi Tecla de Interação Pessoal @@ -70,7 +70,7 @@ Własne akcje Interaction personnelle Saját cselekvések - Auto interazioni + Interazioni su se stessi Ações Pessoais diff --git a/addons/interaction/stringtable.xml b/addons/interaction/stringtable.xml index cc34994031..ee99e92544 100644 --- a/addons/interaction/stringtable.xml +++ b/addons/interaction/stringtable.xml @@ -1,4 +1,4 @@ - + @@ -443,7 +443,7 @@ Někdo tě poklepal na PRAVÉ rameno Вас похлопали по ПРАВОМУ плечу Você foi tocado no ombro - Ti è stato dato un colpetto sulla spalla + Ti è stato dato un colpetto sulla spalla destra You were tapped on the LEFT shoulder. @@ -455,7 +455,7 @@ Někdo tě poklepal na LEVÉ rameno Вас похлопали по ЛЕВОМУ плечу Você foi tocado no ombro. - Ti è stato dato un colpetto sulla spalla + Ti è stato dato un colpetto sulla spalla sinistra Cancel @@ -575,6 +575,7 @@ Přiřadit k červeným Назначить в Красную группу Assigner à rouge + Assegna al team rosso Assign Green @@ -586,6 +587,7 @@ Přiřadit k zeleným Назначить в Зеленую группу Assigner à vert + Assegna al team verde Assign Blue @@ -597,6 +599,7 @@ Přiřadit k modrým Назначить в Синюю группу Assigner à bleu + Assegna al team blu Assign Yellow @@ -608,6 +611,7 @@ Přiřadit ke žlutým Назначить в Желтую группу Assigner à jaune + Assegna al team giallo Join Red @@ -619,6 +623,7 @@ Připojit k červeným Присоединиться к Красной группе Rejoindre rouge + Unirsi al team rosso Join Green @@ -630,6 +635,7 @@ Připojit k zeleným Присоединиться к Зеленой группе Rejoindre vert + Unirsi al team verde Join Blue @@ -641,6 +647,7 @@ Připojit k modrým Присоединиться к Синей группе Rejoindre bleu + Unirsi al team blu Join Yellow @@ -652,6 +659,7 @@ Připojit ke žlutým Присоединиться к Жёлтой группе Rejoindre jaune + Unirsi al team giallo You joined Team %1 @@ -735,7 +743,7 @@ Hatótávolságon kívül Poza zasięgiem Mimo dosah - Non in raggio + Fuori limite Equipment @@ -758,8 +766,8 @@ Odstrčit Tolás Толкать - Spingi Empurrar + Spingere Interact @@ -770,7 +778,7 @@ Interakcja Interactuar Cselekvés - Interagisci + Interagire Interagir diff --git a/addons/nametags/stringtable.xml b/addons/nametags/stringtable.xml index 7c2d0356a9..fd88a8fbc2 100644 --- a/addons/nametags/stringtable.xml +++ b/addons/nametags/stringtable.xml @@ -70,8 +70,8 @@ Zobrazit info o posádce vozidla Показывать информацию об экипаже Jármű-legénység adatainak mutatása - Mostra le informazioni sull'equipaggio del veicolo Mostrar tripulantes + Mostra l'elenco del personale a bordo Show name tags for AI units @@ -82,7 +82,7 @@ Wyświetl imiona jednostek AI Afficher les noms des IA Névcímkék mutatása MI-egységeknél - Mostra le tag nomi per le unità AI + Mostra i nomi delle le unità AI Mostrar nomes para unidades de IA @@ -94,7 +94,7 @@ Pokaż fale dźwiękowe (wymagana opcja Pokaż imiona graczy) Afficher "qui parle" (si noms affichés) "Hanghullámok" mutatása (a nevek mutatása szükséges) - Mostra barra movimento audio (richiede mostra nomi abilitato) + Mostra movimento audio (richiede mostra nomi abilitato) Mostrar onda sonora (requer nome de jogadores) @@ -106,7 +106,7 @@ Couleur d'affichage par défaut (si dans aucun groupe) Standardní barva jmenovek (pro nečleny jednotky) Alap névcímke-szín (csoporton kívüli személyek) - Colore nametag di default (membri non del gruppo) + Colore dei nomi non appartenenti al gruppo Cor padrão do nome (unidades fora do grupo) From 9e093b94598bdddc0843fcc3c56d3e10ba6a0b84 Mon Sep 17 00:00:00 2001 From: Alessandro Foresi Date: Sat, 11 Apr 2015 16:45:23 +0200 Subject: [PATCH 135/217] Added: More italian translations --- addons/dragging/stringtable.xml | 2 +- addons/laser_selfdesignate/stringtable.xml | 2 +- addons/laserpointer/stringtable.xml | 4 ++-- addons/logistics_wirecutter/stringtable.xml | 6 +++--- addons/maptools/stringtable.xml | 2 +- addons/microdagr/stringtable.xml | 6 +++--- 6 files changed, 11 insertions(+), 11 deletions(-) diff --git a/addons/dragging/stringtable.xml b/addons/dragging/stringtable.xml index 4e98513266..a432bbfcf0 100644 --- a/addons/dragging/stringtable.xml +++ b/addons/dragging/stringtable.xml @@ -45,8 +45,8 @@ Porter Nést Carregar - Porta Felvevés + Trasporta Нести diff --git a/addons/laser_selfdesignate/stringtable.xml b/addons/laser_selfdesignate/stringtable.xml index f25689c5b9..cdd7439200 100644 --- a/addons/laser_selfdesignate/stringtable.xml +++ b/addons/laser_selfdesignate/stringtable.xml @@ -26,4 +26,4 @@ Designador Laser Desligado - \ No newline at end of file + diff --git a/addons/laserpointer/stringtable.xml b/addons/laserpointer/stringtable.xml index bf785781d0..1a4182bd8e 100644 --- a/addons/laserpointer/stringtable.xml +++ b/addons/laserpointer/stringtable.xml @@ -34,7 +34,7 @@ Wydziela widzialne światło. Látható fényt bocsát ki. Emite luz visible. - Emette luce visibile + Emette luce visibile. Emite luz visível. @@ -86,4 +86,4 @@ Alternar entre Laser / Laser IV - \ No newline at end of file + diff --git a/addons/logistics_wirecutter/stringtable.xml b/addons/logistics_wirecutter/stringtable.xml index c49243d91e..eb3ad70ce1 100644 --- a/addons/logistics_wirecutter/stringtable.xml +++ b/addons/logistics_wirecutter/stringtable.xml @@ -10,7 +10,7 @@ Štípací kleště Nożyce do cięcia drutu Drótvágó - Pinze da Taglio + Trancia Cortador de Arame @@ -22,7 +22,7 @@ Służą do cięcia drutu i płotów Pince coupante Drótok, huzalok, és kábelek vágására alkalmas olló. - Pinze da Taglio + Trancia da ferro Cortador de Arame @@ -62,4 +62,4 @@ Забор разрезан - \ No newline at end of file + diff --git a/addons/maptools/stringtable.xml b/addons/maptools/stringtable.xml index f2a14e8b33..a112096347 100644 --- a/addons/maptools/stringtable.xml +++ b/addons/maptools/stringtable.xml @@ -142,7 +142,7 @@ Dirección: %1° Irány: %1 Направление: %1° - Direzione : %1° + Direzione: %1° Direção: %1 diff --git a/addons/microdagr/stringtable.xml b/addons/microdagr/stringtable.xml index 09c96705b4..55eccb1acf 100644 --- a/addons/microdagr/stringtable.xml +++ b/addons/microdagr/stringtable.xml @@ -10,7 +10,7 @@ MicroDAGR GPS MicroDAGR GPS MicroDAGR GPS - MicroDAGR GPS + GPS MicroDAGR GPS MicroDAGR @@ -22,7 +22,7 @@ Récepteur GPS MicroDAGR MicroDAGR pokročílá GPS příjímač MicroDAGR fejlett GPS vevőegység - MicroDAGR ricevitore GPS avanzato + Ricevitore GPS avanzato MicroDAGR Recepitor GPS avançado MicroDAGR @@ -46,7 +46,7 @@ Mils Mils Mil - Miglia + Mils Mils: From 7e7c3ed053da1e1a3c40f372432e52265feebee4 Mon Sep 17 00:00:00 2001 From: Alessandro Foresi Date: Sat, 11 Apr 2015 21:00:13 +0200 Subject: [PATCH 136/217] Added: More italian translations --- addons/magazinerepack/stringtable.xml | 12 ++++++++---- addons/safemode/stringtable.xml | 1 + addons/vector/stringtable.xml | 4 ++-- addons/vehiclelock/stringtable.xml | 16 ++++++++-------- addons/weaponselect/stringtable.xml | 8 ++++---- addons/winddeflection/stringtable.xml | 2 +- 6 files changed, 24 insertions(+), 19 deletions(-) diff --git a/addons/magazinerepack/stringtable.xml b/addons/magazinerepack/stringtable.xml index 7030dc374e..135946f756 100644 --- a/addons/magazinerepack/stringtable.xml +++ b/addons/magazinerepack/stringtable.xml @@ -1,4 +1,8 @@  +<<<<<<< master +======= + +>>>>>>> HEAD~3 @@ -8,7 +12,7 @@ Réorganiser les chargeurs Przepakuj magazynki Přepáskovat Zásobníky - Ricarica Caricatori + Ricarica caricatori Reorganizar Carregadores Újratárazás Перепаковать магазины @@ -20,7 +24,7 @@ Sélectionner menu des chargeurs Menu wyboru magazynków Zvolit Menu zásobníků - Seleziona Menù di Ricarica + Seleziona menù di ricarica Menu de Seleção de Carregador Fegyvertár menü kiválasztás Меню выбора магазинов @@ -32,7 +36,7 @@ Sélectionner chargeur Wybierz magazynek Zvolit zásobník - Seleziona Caricatore + Seleziona caricatore Selecionar Carregador Tár kiválasztása Выбрать магазин @@ -68,7 +72,7 @@ %1 chargeur(s) plein(s) et %2 cartouche(s) en rab Pełnych magazynków: %1.<br/>Dodatkowych naboi: %2. %1 plný zásobník(y) a %2 munice navíc - %1 caricatore/i pieno e %2 munizioni extra + %1 caricatore(i) pieno e %2 munizioni extra %1 carregador(es) cheio(s) e %2 disparo(s) a mais %1 teljes tár és %2 extra lőszer %1 полных магазина(ов) и %2 патрона(ов) diff --git a/addons/safemode/stringtable.xml b/addons/safemode/stringtable.xml index f39ca84614..c997d026a2 100644 --- a/addons/safemode/stringtable.xml +++ b/addons/safemode/stringtable.xml @@ -47,6 +47,7 @@ Снят с предохранителя Sécurité enlevée Togli la sicura + Sicura tolta Tirou Segurança diff --git a/addons/vector/stringtable.xml b/addons/vector/stringtable.xml index 47832c33c1..80135294d4 100644 --- a/addons/vector/stringtable.xml +++ b/addons/vector/stringtable.xml @@ -44,10 +44,10 @@ Vector - Touche Distance Vector - Odległość Vector - Zobrazit vzdálenost - Vecto - Tasto Distanza + Vector - Tasto Distanza Vector - Tecla de Distância Vector - Távolság gomb Vector – Расстояние - \ No newline at end of file + diff --git a/addons/vehiclelock/stringtable.xml b/addons/vehiclelock/stringtable.xml index fc92b72dd2..f4162b3b03 100644 --- a/addons/vehiclelock/stringtable.xml +++ b/addons/vehiclelock/stringtable.xml @@ -10,7 +10,7 @@ Odemknout vozidlo Jármű nyitása Открыть машину - Apri il veicolo + Sblocca il veicolo Destravar veículo @@ -22,7 +22,7 @@ Zamknout vozidlo Jármű zárása Закрыть машину - Chiudi il veicolo + Chiudi il veicolo a chiave Travar Veículo @@ -70,7 +70,7 @@ Hlavní klíč otevře libovolný zámek, bez vyjímek! Egy főkulcs, ami minden zárat kinyit, helyzettől függetlenül! Универсальный ключ, открывающий любой замок. - Una chiave principale che apre qualsiasi serratura! + Un passe-partout che apre qualsiasi serratura! Uma chave mestre irá abrir qualquer fechadura, não importa qual! @@ -94,7 +94,7 @@ Klíč který by měl otevřít většinou Západních vozidel. Egy kulcs, ami a NYUGAT egységeinek legtöbb járművét ki tudja nyitni. Ключ для открытия большинства машин Красных. - Una chiave che apre la maggior parte dei veicoli WEST + Una chiave che apre la maggior parte dei veicoli occidentali Uma chave que abre a maioria dos veículos ocidentais @@ -106,7 +106,7 @@ Egy kulcs, ami a KELET egységeinek legtöbb járművét ki tudja nyitni. Klíč který by měl otevřít vetšinu Východních vozidel. Ключ для открытия большинства машин Синих. - Una chaive che apre la maggior parte dei veicoli EAST + Una chaive che apre la maggior parte dei veicoli orientali Uma chave que abre a maioria dos veículos orientais @@ -118,7 +118,7 @@ Egy kulcs, ami a FÜGGETLEN egységek legtöbb járművét ki tudja nyitni. Klíč který by měl otevřít většinu Nezávislých vozidel. Ключ для открытия большинства машин Независимых. - Una chaive che apr ela maggior parte dei veicoli INDEP + Una chaive che apr ela maggior parte dei veicoli degli indipendenti Uma chave que abre a maioria dos veículos independentes @@ -130,8 +130,8 @@ Klíč který by měl otevřít většinu Civilních vozidel. Egy kulcs, ami a CIVIL járművek többségét ki tudja nyitni. Ключ для открытия большинства машин Гражданских. - Una chaive che apr ela maggior parte dei veicoli CIV + Una chaive che apr ela maggior parte dei veicoli civili Uma chave que abre a maioria dos veículos civis. - \ No newline at end of file + diff --git a/addons/weaponselect/stringtable.xml b/addons/weaponselect/stringtable.xml index 2925b66e7d..0bce22becb 100644 --- a/addons/weaponselect/stringtable.xml +++ b/addons/weaponselect/stringtable.xml @@ -47,7 +47,7 @@ Sélectionner Fusil Puska Kiválasztása Selecionar Rifle - Seleziona il Fucile + Seleziona il fucile Select Launcher @@ -59,7 +59,7 @@ Sélectionner Lanceur Rakétavető Kiválasztása Selecionar Lançador - Seleziona il Lanciamissili + Seleziona il lanciamissili Select Grenade Launcher @@ -71,7 +71,7 @@ Sélectionner Lance-grenades Gránátvető Kiválasztása Selecionar Lança-Granadas - Seleziona il Lanciagranate + Seleziona il lanciagranate Select Binoculars @@ -278,4 +278,4 @@ Lançador de fumaça - \ No newline at end of file + diff --git a/addons/winddeflection/stringtable.xml b/addons/winddeflection/stringtable.xml index af6f05a912..4ebcc81bee 100644 --- a/addons/winddeflection/stringtable.xml +++ b/addons/winddeflection/stringtable.xml @@ -23,7 +23,7 @@ Direction %1 Windrichtung: %1 Irány: %1 - Direzione: %1 + Direzione: %1° Direção: %1 From 87974b12b2e64ff5815355b48a1f7123f5805548 Mon Sep 17 00:00:00 2001 From: Alessandro Foresi Date: Sun, 12 Apr 2015 20:37:02 +0200 Subject: [PATCH 137/217] Added: Myself as contributor --- AUTHORS.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/AUTHORS.txt b/AUTHORS.txt index 366664efbd..862cb23413 100644 --- a/AUTHORS.txt +++ b/AUTHORS.txt @@ -29,6 +29,7 @@ Walter Pearce ACCtomeek Adanteh aeroson +alef Aggr094 Alganthe Anthariel From 2da2794e205243f72ee93df86330d94630c9dc9d Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Sat, 9 May 2015 17:08:47 -0500 Subject: [PATCH 138/217] ACE_isUnique config for mags instead of static list --- addons/disarming/functions/fnc_disarmDropItems.sqf | 4 ++-- addons/disarming/script_component.hpp | 1 - addons/vehiclelock/CfgMagazines.hpp | 1 + 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/addons/disarming/functions/fnc_disarmDropItems.sqf b/addons/disarming/functions/fnc_disarmDropItems.sqf index cb5da77dd6..bc9abbf127 100644 --- a/addons/disarming/functions/fnc_disarmDropItems.sqf +++ b/addons/disarming/functions/fnc_disarmDropItems.sqf @@ -79,7 +79,7 @@ _holderMagazinesStart = magazinesAmmoCargo _holder; { EXPLODE_2_PVT(_x,_xClassname,_xAmmo); - if ((_xClassname in _listOfItemsToRemove) && {!(_xClassname in UNIQUE_MAGAZINES)}) then { + if ((_xClassname in _listOfItemsToRemove) && {(getNumber (configFile >> "CfgMagazines" >> _xClassname >> "ACE_isUnique")) == 0}) then { _holder addMagazineAmmoCargo [_xClassname, 1, _xAmmo]; _target removeMagazine _xClassname; }; @@ -89,7 +89,7 @@ _targetMagazinesEnd = magazinesAmmo _target; _holderMagazinesEnd = magazinesAmmoCargo _holder; //Verify Mags dropped from unit: -if ( ({((_x select 0) in _listOfItemsToRemove) && {!((_x select 0) in UNIQUE_MAGAZINES)}} count _targetMagazinesEnd) != 0) exitWith { +if (({((_x select 0) in _listOfItemsToRemove) && {(getNumber (configFile >> "CfgMagazines" >> (_x select 0) >> "ACE_isUnique")) == 0}} count _targetMagazinesEnd) != 0) exitWith { _holder setVariable [QGVAR(holderInUse), false]; [_caller, _target, "Debug: Didn't Remove Magazines"] call FUNC(eventTargetFinish); }; diff --git a/addons/disarming/script_component.hpp b/addons/disarming/script_component.hpp index d9bec366dc..9a1ef9156b 100644 --- a/addons/disarming/script_component.hpp +++ b/addons/disarming/script_component.hpp @@ -13,4 +13,3 @@ #define DISARM_CONTAINER "GroundWeaponHolder" #define DUMMY_ITEM "ACE_DebugPotato" -#define UNIQUE_MAGAZINES ["ACE_key_customKeyMagazine"] \ No newline at end of file diff --git a/addons/vehiclelock/CfgMagazines.hpp b/addons/vehiclelock/CfgMagazines.hpp index 100df8065b..d57e8fff6f 100644 --- a/addons/vehiclelock/CfgMagazines.hpp +++ b/addons/vehiclelock/CfgMagazines.hpp @@ -6,5 +6,6 @@ class CfgMagazines { descriptionShort = "$STR_ACE_Vehicle_Item_Custom_Description"; count = 1; mass = 0; + ACE_isUnique = 1; }; }; From b3833c665d4adbf37d8c18a566ae5276b0224c77 Mon Sep 17 00:00:00 2001 From: jaynus Date: Sat, 9 May 2015 22:53:20 -0700 Subject: [PATCH 139/217] Time magic. --- addons/common/XEH_preInit.sqf | 9 +++++++++ addons/common/functions/fnc_timePFH.sqf | 26 +++++++++++++++++++++++++ 2 files changed, 35 insertions(+) create mode 100644 addons/common/functions/fnc_timePFH.sqf diff --git a/addons/common/XEH_preInit.sqf b/addons/common/XEH_preInit.sqf index 5c2ad1e592..881d77e156 100644 --- a/addons/common/XEH_preInit.sqf +++ b/addons/common/XEH_preInit.sqf @@ -312,6 +312,15 @@ if (hasInterface) then { }, 0, []] call cba_fnc_addPerFrameHandler; }; +// Time handling +ACE_time = diag_tickTime; +ACE_realTime = diag_tickTime; +ACE_virtualTime = diag_tickTime; +ACE_gameTime = time; + +PREP(timePFH); +[FUNC(timePFH), 0, []] call cba_fnc_addPerFrameHandler; + // Init toHex [0] call FUNC(toHex); diff --git a/addons/common/functions/fnc_timePFH.sqf b/addons/common/functions/fnc_timePFH.sqf new file mode 100644 index 0000000000..7f1c815bac --- /dev/null +++ b/addons/common/functions/fnc_timePFH.sqf @@ -0,0 +1,26 @@ +//#define DEBUG_MODE_FULL +#include "script_component.hpp" + +private["_lastTime", "_lastRealTime", "_lastVirtualTime", "_lastGameTime", "_delta"]; + +_lastTime = ACE_time; +_lastRealTime = ACE_realTime; +_lastVirtualTime = ACE_virtualTime; +_lastGameTime = ACE_gameTime; +_lastPausedTime = ACE_pausedTime; +_lastVirtualPausedTime = ACE_virtualPausedTime; + +ACE_gameTime = time; +ACE_realTime = diag_tickTime; + +_delta = ACE_realTime - _lastRealTime; +if(time <= _lastGameTime) then { + // Game is paused or not running + ACE_pausedTime = ACE_pausedTime + _delta; + ACE_virtualPausedTime = ACE_pausedTime + (_delta * accTime); +} else { + // Time is updating + ACE_virtualTime = _lastVirtualTime + (_delta * accTime); + ACE_time = ACE_realTime + _delta; +}; + From 8e34b99c0f6969764b834c7c19cb58d50caf008f Mon Sep 17 00:00:00 2001 From: jaynus Date: Sat, 9 May 2015 23:09:33 -0700 Subject: [PATCH 140/217] Optimization of variables. --- addons/common/functions/fnc_timePFH.sqf | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/addons/common/functions/fnc_timePFH.sqf b/addons/common/functions/fnc_timePFH.sqf index 7f1c815bac..a3732c614f 100644 --- a/addons/common/functions/fnc_timePFH.sqf +++ b/addons/common/functions/fnc_timePFH.sqf @@ -3,24 +3,22 @@ private["_lastTime", "_lastRealTime", "_lastVirtualTime", "_lastGameTime", "_delta"]; -_lastTime = ACE_time; _lastRealTime = ACE_realTime; -_lastVirtualTime = ACE_virtualTime; _lastGameTime = ACE_gameTime; -_lastPausedTime = ACE_pausedTime; -_lastVirtualPausedTime = ACE_virtualPausedTime; ACE_gameTime = time; ACE_realTime = diag_tickTime; _delta = ACE_realTime - _lastRealTime; if(time <= _lastGameTime) then { + ACE_paused = true; // Game is paused or not running ACE_pausedTime = ACE_pausedTime + _delta; ACE_virtualPausedTime = ACE_pausedTime + (_delta * accTime); } else { + ACE_paused = false; // Time is updating - ACE_virtualTime = _lastVirtualTime + (_delta * accTime); - ACE_time = ACE_realTime + _delta; + ACE_virtualTime = ACE_virtualTime + (_delta * accTime); + ACE_time = ACE_time + _delta; }; From 7fb7b04a85dc37a254931ba1f22bf407671fdf5a Mon Sep 17 00:00:00 2001 From: jaynus Date: Sat, 9 May 2015 23:13:02 -0700 Subject: [PATCH 141/217] And one final bugfix for fast machines. --- addons/common/functions/fnc_timePFH.sqf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/common/functions/fnc_timePFH.sqf b/addons/common/functions/fnc_timePFH.sqf index a3732c614f..e8f0be1efd 100644 --- a/addons/common/functions/fnc_timePFH.sqf +++ b/addons/common/functions/fnc_timePFH.sqf @@ -10,7 +10,7 @@ ACE_gameTime = time; ACE_realTime = diag_tickTime; _delta = ACE_realTime - _lastRealTime; -if(time <= _lastGameTime) then { +if(ACE_gameTime <= _lastGameTime) then { ACE_paused = true; // Game is paused or not running ACE_pausedTime = ACE_pausedTime + _delta; From 59adf928622b3917dfb9e288e10c01ff2b2343eb Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Sun, 10 May 2015 01:47:50 -0500 Subject: [PATCH 142/217] Fix not being able to UnSurrender (currentWeapon) --- addons/captives/functions/fnc_canSurrender.sqf | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/addons/captives/functions/fnc_canSurrender.sqf b/addons/captives/functions/fnc_canSurrender.sqf index 3b810a0c5c..9ba7cf6de0 100644 --- a/addons/captives/functions/fnc_canSurrender.sqf +++ b/addons/captives/functions/fnc_canSurrender.sqf @@ -1,6 +1,6 @@ /* * Author: PabstMirror - * Checks the conditions for being able to surrender + * Checks the conditions for being able switch surrender states * * Arguments: * 0: caller (player) @@ -18,14 +18,14 @@ PARAMS_2(_unit,_newSurrenderState); -if (currentWeapon _unit != "") exitWith {false}; - private "_returnValue"; _returnValue = if (_newSurrenderState) then { - !(_unit getVariable [QGVAR(isSurrendering), false]); //Not currently surrendering + //no weapon equiped AND not currently surrendering and + (currentWeapon _unit == "") && {!(_unit getVariable [QGVAR(isSurrendering), false])} } else { - (_unit getVariable [QGVAR(isSurrendering), false]); //is Surrendering + //is Surrendering + (_unit getVariable [QGVAR(isSurrendering), false]) }; _returnValue From 643df719320d8d43b536101f57c7a9c6f0869251 Mon Sep 17 00:00:00 2001 From: Alessandro Foresi Date: Sun, 10 May 2015 09:23:02 +0200 Subject: [PATCH 143/217] Added: Italian translation from Blackedsoul p#20 --- addons/attach/stringtable.xml | 2 +- addons/captives/stringtable.xml | 4 ++-- addons/common/stringtable.xml | 15 +++++++------- addons/disposable/stringtable.xml | 8 ++++---- addons/dragging/stringtable.xml | 2 +- addons/explosives/stringtable.xml | 16 +++++++-------- addons/frag/stringtable.xml | 2 +- addons/interaction/stringtable.xml | 8 ++++---- addons/magazinerepack/stringtable.xml | 6 +----- addons/maptools/stringtable.xml | 6 +++--- addons/medical/stringtable.xml | 28 +++++++++++++-------------- addons/safemode/stringtable.xml | 3 +-- addons/vehiclelock/stringtable.xml | 2 +- addons/weaponselect/stringtable.xml | 2 +- addons/winddeflection/stringtable.xml | 1 - 15 files changed, 50 insertions(+), 55 deletions(-) diff --git a/addons/attach/stringtable.xml b/addons/attach/stringtable.xml index bc78cb3919..01e07c4096 100644 --- a/addons/attach/stringtable.xml +++ b/addons/attach/stringtable.xml @@ -179,7 +179,7 @@ Erro ao fixar Przyczepianie nie powiodło się Hozzácsatolás sikertelen - Impossibile Attaccare + Non si attacca %1<br/>Attached diff --git a/addons/captives/stringtable.xml b/addons/captives/stringtable.xml index 5de0a18bec..b45e8c3541 100644 --- a/addons/captives/stringtable.xml +++ b/addons/captives/stringtable.xml @@ -155,7 +155,7 @@ Podejmij walkę ponownie Прекратить сдачу в плен Megadás abbahagyása - Annulla la resa + Smetti di arrenderti Only use on alive units @@ -191,7 +191,7 @@ Nie ma nic pod kursorem Ничего не выделено Semmi sincs az egér alatt - Niente selezionato + Nessuna selezione diff --git a/addons/common/stringtable.xml b/addons/common/stringtable.xml index a78ff0a7fc..b3741bb5d2 100644 --- a/addons/common/stringtable.xml +++ b/addons/common/stringtable.xml @@ -275,7 +275,7 @@ Désactiver menu commande Выключить командное меню Parancsnoki menü kikapcsolása - Disabilita Menù di comando + Disabilita menù di comando Desabilitar menu de comando @@ -308,11 +308,11 @@ Aceptar peticiones Akceptuj prośby Přijmout žádost - Accetta Richieste Accepter requête Принять запросы Kérések elfogadása Aceitar Pedido + Accetta la richiesta Decline Requests @@ -320,11 +320,11 @@ Rechazar peticiones Ignoruj prośby Zamítnout žádost - Rifiuta Richieste Отклонить запросы Rejeter requête Kérések elutasítása Rejeitar pedido + Rifiuta la richiesta Accept Requests send by other players. These can be requests to use / share equipment, perform certain actions. @@ -402,7 +402,7 @@ Hint Background color Hintergrundfarbe der Hinweise Color de fondo de las notificaciones - Colore di sfondo dei Suggerimenti + Colore di sfondo dei suggerimenti Цвет фона всплывающих подсказок Kolor tła powiadomień Notification: couleur de l'arrière plan @@ -414,7 +414,7 @@ The color of the background from the ACE hints. Die Hintergrundfarbe der ACE-Hinweise. El color de fondo de las notificaciones del ACE - Il colore di sfondo dei suggerimenti dell'ACE. + Il colore di sfondo dei suggerimenti di ACE. Цвет фона всплывающих подсказок АСЕ. Kolor tła dla powiadomień ACE Notification ACE: couleur de l'arrière plan @@ -426,7 +426,7 @@ Hint text font color Textfarbe der Hinweise Color del texto de las notificaciones - Il colore del Testo dei Suggerimenti + Il colore del testo dei suggerimenti Цвет шрифта всплывающих подсказок Kolor tekstu powiadomień Notification: couleur du texte @@ -438,7 +438,7 @@ The color of the text font from the ACE hints. This color is the default color for all text displayed through the ACE Hint system, if the hint text has no other color specified. Wähle die Textfarbe für ACE-Hinweise. Die gewählte Farbe wird als Standartfarbe der Hinweise angezeigt, wenn der Hinweis selbst keine spezifische Farbe hat. El color del texto de las notificaciones del ACE. Este es el color predeterminado para todo el texto que se muestra a través del sistema de notificaciones del ACE, si el texto de notificación no tiene otro color especificado. - Il colore del testo dei suggerimenti dell'ACE. Questo è il colore standard per tutti i caratteri mostrati dal sistema di suggerimenti dell'ACE, se il colore del testo non è specificato. + Il colore del testo dei suggerimenti di ACE. Questo è il colore predefinito per tutto il testo mostrato dal sistema di suggerimenti di ACE quando il colore del testo non ha altro colore specificato. Цвет шрифта текста всплывающих подсказок АСЕ. Этот цвет является стандартным для всего текста, транслирующегося через систему подсказок АСЕ, если не установлено другого цвета для текста подсказок. Kolor tekstu dla powiadomień ACE. Ten kolor jest domyślnym dla wszystkich tekstów wyświetlanych poprzez System Powiadomień ACE, jeżeli dla powiadomienia nie określono innego koloru. Notification ACE: couleur du texte. C'est la couleur par défaut de tout texte affiché dans les notifications ACE, si aucune couleur n'est spécifiée pour les notifications @@ -457,6 +457,7 @@ Banane Banán Banana + Banana A banana is an edible fruit, botanically a berry, produced by several kinds of large herbaceous flowering plants in the genus Musa. diff --git a/addons/disposable/stringtable.xml b/addons/disposable/stringtable.xml index 625bb6a542..526844afcd 100644 --- a/addons/disposable/stringtable.xml +++ b/addons/disposable/stringtable.xml @@ -10,7 +10,7 @@ Lanzador utilizado Elhasznált kilövőcső Отстрелянная труба - Tubo utilizzato + Tubo usato Tubo utilizado @@ -22,7 +22,7 @@ Lanzador desechable utilizado Elhasznált eldobható rakétavető Отстрелянная одноразовая пусковая установка - Lanciarazzi monouso utilizzato + Lanciarazzi monouso già utilizzato Lança foguetes descartável utilizado @@ -34,8 +34,8 @@ Precargado misil inerte Előtöltött műrakéta Предзаряженная ракетная болванка - Missile stupido precaricato + Missile inerte precaricato Míssel inerte pré-carregado - \ No newline at end of file + diff --git a/addons/dragging/stringtable.xml b/addons/dragging/stringtable.xml index a432bbfcf0..956f004635 100644 --- a/addons/dragging/stringtable.xml +++ b/addons/dragging/stringtable.xml @@ -46,7 +46,7 @@ Nést Carregar Felvevés - Trasporta + Trasporta Нести diff --git a/addons/explosives/stringtable.xml b/addons/explosives/stringtable.xml index 0c088df962..628c334314 100644 --- a/addons/explosives/stringtable.xml +++ b/addons/explosives/stringtable.xml @@ -1,4 +1,4 @@ - +<<<<<<< translation/15bn/alef @@ -368,7 +368,7 @@ Wybierz zapalnik Sélectionner une mise à feu Zvolit Detonátor - Seleziona un Attivatore + Seleziona un attivatore Gyújtóeszköz kiválasztása Selecionar um Gatilho Выберите детонатор @@ -392,7 +392,7 @@ Druckplatte Plaque de pression Nášlapná nástraha - Piastra a Pressione + Piastra a pressione Nyomólap Placa de pressão Нажимная плита @@ -404,7 +404,7 @@ Stolperdraht Fil de détente Nástražný drát - Filo a Inciampo + Filo a inciampo Botlódrót Linha de tração Растяжка @@ -440,7 +440,7 @@ Infrarotsensor (Seitenangriff) Capteur IR (de flanc) IR Značkovač (Výbuch stranou) - Sensore IR (Attacco laterale) + Sensore IR (attacco laterale) Infravörös szenzor (Side Attack) Sensor infravermelho (ataque lateral) ИК сенсор (детонация вбок) @@ -452,7 +452,7 @@ Magnetfeldsensor (Bodenangriff) Capteur magnétique (par le bas) Magnetický Senzor (Výbuch ze spoda) - Sensore Magnetico di Prossimità (Attacco inferiore) + Sensore Magnetico di Prossimità (attacco inferiore) Mágneses mező érzékelő (Bottom Attack) Influência magnética (ataque inferior) Магнитный сенсор (детонация вверх) @@ -462,7 +462,7 @@ Keine Sprengladungen auf diesem Auslöser. Ningún explosivo en el detonador. Pas d'explosif à mettre à feu. - Nessun esplosivo sul sensore. + Nessun esplosivo Žádná výbušnina k odpálení. Nincs robbanóanyag a gyújtóeszközhöz kötve. Brak ładunków na zapalnik. @@ -491,7 +491,7 @@ Robbanóanyagok távoli robbantásához Usado para detonar remotamente o explosivo quando solto. Используется для дистанционного подрыва, после смерти оператора. - Usato per attivare esplosivi al momento del rilascio + Usato per attivare a distanza esplosivi al momento del rilascio Pick up diff --git a/addons/frag/stringtable.xml b/addons/frag/stringtable.xml index cfc28f9c4e..e7ebb7c1bf 100644 --- a/addons/frag/stringtable.xml +++ b/addons/frag/stringtable.xml @@ -14,4 +14,4 @@ Desabilitar Fragmentação - \ No newline at end of file + diff --git a/addons/interaction/stringtable.xml b/addons/interaction/stringtable.xml index ee99e92544..1da22b649e 100644 --- a/addons/interaction/stringtable.xml +++ b/addons/interaction/stringtable.xml @@ -119,7 +119,7 @@ Меню взаимодействия (с собой) Cselekvő menü (saját) Menu de Interação (Individual) - Menù interazione (Individuale) + Menù interazione (individuale) Open / Close Door @@ -263,7 +263,7 @@ Жесты Kézjelek Gestos - Segnali gestuali + Gesti Attack @@ -503,7 +503,7 @@ A földre! Ложись! Abaixe-se! - A Terra! + A terra! Team Management @@ -729,7 +729,7 @@ Tecla modificadora Клавиша-модификатор Tecla Modificadora - Modifica tasto + Tasto modifica Módosító billentyű Modifikátor diff --git a/addons/magazinerepack/stringtable.xml b/addons/magazinerepack/stringtable.xml index 135946f756..8c1a0e01dc 100644 --- a/addons/magazinerepack/stringtable.xml +++ b/addons/magazinerepack/stringtable.xml @@ -1,8 +1,4 @@  -<<<<<<< master -======= - ->>>>>>> HEAD~3 @@ -110,7 +106,7 @@ %1 plný a %2 částečně Pełnych: %1.<br/>Częściowo pełnych: %2. %1 teljes és %2 részleges - %1 pieno e %2 parziale + %1 pieno(i) e %2 parziale(i) %1 Total e %2 Parcial diff --git a/addons/maptools/stringtable.xml b/addons/maptools/stringtable.xml index a112096347..d9bdcb02c5 100644 --- a/addons/maptools/stringtable.xml +++ b/addons/maptools/stringtable.xml @@ -8,7 +8,7 @@ Narzędzia nawigacyjne Kartenwerkzeug Pomůcky k mapě - Strumenti Cartografici + Strumenti cartografici Ferramentas de Mapa Térképészeti eszközök Инструменты карты @@ -20,7 +20,7 @@ Narzędzia nawigacyjne pozwalają na mierzenie odległości i kątów na mapie. Das Kartenwerkzeug ermöglicht es dir, Distanzen und Winkel zu messen. Pomůcky k mapě slouží k měření vzdáleností a úhlů na mapě. - Gli Strumenti Cartografici ti consentono di misurare distanze ed angoli sulla mappa. + Gli strumenti cartografici ti consentono di misurare distanze ed angoli sulla mappa. As Ferramentas de Mapa permitem que você meça distâncias e ângulos no mapa. A térképészeti eszközökkel távolságokat és szögeket tudsz mérni a térképen. Картографические инструменты позволяют измерять расстояния и углы на карте. @@ -32,7 +32,7 @@ Narzędzia nawigacyjne Kartenwerkzeug Pomůcky k mapě - Strumenti Cartografici + Strumenti cartografici Ferramentas de Mapa Térképészeti eszközök Инструменты карты diff --git a/addons/medical/stringtable.xml b/addons/medical/stringtable.xml index f573f53b0d..42749f8ae8 100644 --- a/addons/medical/stringtable.xml +++ b/addons/medical/stringtable.xml @@ -83,7 +83,7 @@ Injecter de la morphine Morfium beadása Injetar Morfina - Inietta Morfina + Inietta morfina Transfuse Blood @@ -95,7 +95,7 @@ Transfusion Infúzió (vér) Transfundir Sangue - Effettua trasfusione di sangue + Trasfusione di sangue Transfuse Plasma @@ -106,7 +106,7 @@ Transfuser du Plasma Перелить плазму Infúzió (vérplazma) - Effettua trasfusione di plasma + Trasfusione di Plasma Transfundir Plasma @@ -118,7 +118,7 @@ Transfuser de la solution saline Перелить физраствор Infúzió (sós víz) - Effettua trasfusione di soluzione salina + Trasfusione di soluzione salina Transfundir Soro @@ -274,7 +274,7 @@ Transfusion de saline ... Переливание физраствора ... Infúzió sós vizzel ... - Effettuo la rasfusione di salina + Effettuo la rasfusione di soluzione salina Transfundindo Soro... @@ -370,7 +370,7 @@ QuikClot Hémostatique QuikClot - QuikClot(polvere emostatica) + QuikClot (polvere emostatica) QuikClot @@ -801,7 +801,7 @@ Bandage fait d'un matériel spécial utilisé pour couvrir une blessure, qui peut etre appliqué dès que le saignement a été stoppé. Opatrunek materiałowy, używany do przykrywania ran, zakładany na ranę po zatamowaniu krwawienia. Egy különleges anyagú kötszer sebek betakarására, amelyet a vérzés elállítása után helyeznek fel. - Una benda apposita, utilizzata per coprire una ferita, la quale è applicata sopra di essa una volta fermata l'emorragia. + Una benda apposita, utilizzata per coprire una ferita, la quale viene applicata su di essa una volta fermata l'emorragia. Uma curativo, material específico para cobrir um ferimento que é aplicado assim que o sangramento é estancando. Obvaz je vhodným způsobem upravený sterilní materiál, určený k překrytí rány, případně k fixaci poranění. @@ -825,7 +825,7 @@ Utilisé pour couvrir des blessures de taille moyenne à grande. Arrête l'hémorragies Używany w celu opatrywania średnich i dużych ran oraz tamowania krwawienia. Közepestől nagyig terjedő sebek betakarására és vérzés elállítására használt kötszer - Usato su medie o larghe ferite per fermare emorragie. + Usato su ferite medie o larghe per fermare emorragie. Usado para o preenchimento de cavidades geradas por ferimentos médios e grandes e estancar o sangramento. Používá se k zastavení středních až silnějších krvácení @@ -850,7 +850,7 @@ Bandaż (elastyczny) Obvaz (elastický) Rögzító kötszer - Benda (Elastica) + Benda (elastica) Bandagem (Elástica) @@ -861,7 +861,7 @@ Bandage compressif élastique Zestaw bandaży elastycznych. Rugalmas kötszercsomag, "rögzítő" - Kit bendaggio, elastico + Kit di bendaggio, elastico Kit de Bandagem, Elástica Sada obvazů, Elastická @@ -873,7 +873,7 @@ Elastyczna opaska podtrzymująca opatrunek oraz usztywniająca okolice stawów. Brinda una compresión uniforme y ofrece soporte extra a una zona lesionada Egyenletes nyomást és támogatást biztosít a sebesült felületnek. - Permette di comprimevere e aiutare la zone ferita. + Permette di comprimere e aiutare la zone ferita. Esta bandagem pode ser utilizada para comprimir o ferimento e diminuir o sangramento e garantir que o ferimento não abra em movimento. Hodí se k fixačním účelům a to i v oblastech kloubů. @@ -958,7 +958,7 @@ Atropin Autoinjektor Autoinjektor atropin Atropin autoinjektor - Autoiniettore di Atropina + Autoiniettore di atropina Auto-injetor de Atropina @@ -994,7 +994,7 @@ Epiniphrin Autoinjektor Autoinjektor adrenalin Epinefrin autoinjektor - Autoiniettore di Epinefrina + Autoiniettore di epinefrina Auto-injetor de epinefrina @@ -2693,4 +2693,4 @@ Снятие жгута ... - \ No newline at end of file + diff --git a/addons/safemode/stringtable.xml b/addons/safemode/stringtable.xml index c997d026a2..b31b5ab25f 100644 --- a/addons/safemode/stringtable.xml +++ b/addons/safemode/stringtable.xml @@ -34,7 +34,7 @@ Biztonsági kapcsoló helyretolása Поставить на предохранитель Sécurité mise - Inserisci la sicura + Metti la sicura Colocar Segurança @@ -46,7 +46,6 @@ Biztonságos mód megszüntetve Снят с предохранителя Sécurité enlevée - Togli la sicura Sicura tolta Tirou Segurança diff --git a/addons/vehiclelock/stringtable.xml b/addons/vehiclelock/stringtable.xml index f4162b3b03..498e526156 100644 --- a/addons/vehiclelock/stringtable.xml +++ b/addons/vehiclelock/stringtable.xml @@ -118,7 +118,7 @@ Egy kulcs, ami a FÜGGETLEN egységek legtöbb járművét ki tudja nyitni. Klíč který by měl otevřít většinu Nezávislých vozidel. Ключ для открытия большинства машин Независимых. - Una chaive che apr ela maggior parte dei veicoli degli indipendenti + Una chaive che apre la maggior parte dei veicoli degli indipendenti Uma chave que abre a maioria dos veículos independentes diff --git a/addons/weaponselect/stringtable.xml b/addons/weaponselect/stringtable.xml index 0bce22becb..810fda21c9 100644 --- a/addons/weaponselect/stringtable.xml +++ b/addons/weaponselect/stringtable.xml @@ -22,7 +22,7 @@ Wyświetla powiadomienie lub tekst przy rzucie granatem. Afficher texte/info au lancé de grenade Jelez egy súgót vagy szöveget a gránát eldobásakor. - Mostra un suggerimento quando si lanciano granate + Mostra una notifica quando si lanciano granate Mostra um hint ou texto ao lançar uma granada diff --git a/addons/winddeflection/stringtable.xml b/addons/winddeflection/stringtable.xml index 4ebcc81bee..9336e6c457 100644 --- a/addons/winddeflection/stringtable.xml +++ b/addons/winddeflection/stringtable.xml @@ -18,7 +18,6 @@ Direction: %1 Kierunek: %1 Dirección: %1 - Направление: %1° Směr: %1 Direction %1 Windrichtung: %1 From d32e1024d359e4cc427e6c86334e97cb2ae8798f Mon Sep 17 00:00:00 2001 From: ulteq Date: Sun, 10 May 2015 11:09:14 +0200 Subject: [PATCH 144/217] Fixed a typo --- .../functions/fnc_readAmmoDataFromConfig.sqf | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/addons/advanced_ballistics/functions/fnc_readAmmoDataFromConfig.sqf b/addons/advanced_ballistics/functions/fnc_readAmmoDataFromConfig.sqf index 7ff94387d1..10e7e60df2 100644 --- a/addons/advanced_ballistics/functions/fnc_readAmmoDataFromConfig.sqf +++ b/addons/advanced_ballistics/functions/fnc_readAmmoDataFromConfig.sqf @@ -50,11 +50,11 @@ if (isArray(configFile >> "CfgAmmo" >> _ammo >> "ACE_ammoTempMuzzleVelocityShift }; _muzzleVelocityTable = []; _barrelLengthTable = []; -if (isArray(configFile >> "CfgAmmo" >> _ammo >> "ACE_muzzleVelocityTable")) then { - _muzzleVelocityTable = getArray(configFile >> "CfgAmmo" >> _ammo >> "ACE_muzzleVelocityTable"); +if (isArray(configFile >> "CfgAmmo" >> _ammo >> "ACE_muzzleVelocities")) then { + _muzzleVelocityTable = getArray(configFile >> "CfgAmmo" >> _ammo >> "ACE_muzzleVelocities"); }; if (isArray(configFile >> "CfgAmmo" >> _ammo >> "ACE_barrelLengths")) then { - _barrelLengthTable = getArray(configFile >> "CfgAmmo" >> _ammo >> "ACE_barrelLengthTable"); + _barrelLengthTable = getArray(configFile >> "CfgAmmo" >> _ammo >> "ACE_barrelLengths"); }; _result = [_airFriction, _caliber, _bulletLength, _bulletMass, _transonicStabilityCoef, _dragModel, _ballisticCoefficients, _velocityBoundaries, _atmosphereModel, _ammoTempMuzzleVelocityShifts, _muzzleVelocityTable, _barrelLengthTable]; From 2dd06babecc734fb446ad7b5bbbaa9439b55c0d1 Mon Sep 17 00:00:00 2001 From: Alessandro Foresi Date: Sun, 10 May 2015 11:44:46 +0200 Subject: [PATCH 145/217] Added: Italian translations completed. Fixed: BOM markers where missing --- addons/aircraft/stringtable.xml | 2 +- addons/common/stringtable.xml | 3 +- addons/explosives/stringtable.xml | 2 +- addons/interact_menu/stringtable.xml | 14 ++++- addons/laser/stringtable.xml | 78 ++++++++++++++------------ addons/medical/stringtable.xml | 11 +++- addons/mk6mortar/stringtable.xml | 7 ++- addons/nightvision/stringtable.xml | 4 +- addons/optionsmenu/stringtable.xml | 2 + addons/reload/stringtable.xml | 2 +- addons/reloadlaunchers/stringtable.xml | 2 +- addons/respawn/stringtable.xml | 5 +- 12 files changed, 82 insertions(+), 50 deletions(-) diff --git a/addons/aircraft/stringtable.xml b/addons/aircraft/stringtable.xml index c467cda3ce..a1fb5aaacf 100644 --- a/addons/aircraft/stringtable.xml +++ b/addons/aircraft/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/common/stringtable.xml b/addons/common/stringtable.xml index b3741bb5d2..8d28704362 100644 --- a/addons/common/stringtable.xml +++ b/addons/common/stringtable.xml @@ -324,7 +324,7 @@ Rejeter requête Kérések elutasítása Rejeitar pedido - Rifiuta la richiesta + Rifiuta la richiesta Accept Requests send by other players. These can be requests to use / share equipment, perform certain actions. @@ -457,7 +457,6 @@ Banane Banán Banana - Banana A banana is an edible fruit, botanically a berry, produced by several kinds of large herbaceous flowering plants in the genus Musa. diff --git a/addons/explosives/stringtable.xml b/addons/explosives/stringtable.xml index 628c334314..9d885c236c 100644 --- a/addons/explosives/stringtable.xml +++ b/addons/explosives/stringtable.xml @@ -1,4 +1,4 @@ -<<<<<<< translation/15bn/alef + diff --git a/addons/interact_menu/stringtable.xml b/addons/interact_menu/stringtable.xml index 6787d1e71e..320fa34a5d 100644 --- a/addons/interact_menu/stringtable.xml +++ b/addons/interact_menu/stringtable.xml @@ -1,4 +1,5 @@  + @@ -58,7 +59,7 @@ Klawisz własnej interakcji Touche d'interaction personnelle Saját cselekvő gomb - Tasto interazione su se stessi + Tasto interazione su se stessi Tecla de Interação Pessoal @@ -70,7 +71,7 @@ Własne akcje Interaction personnelle Saját cselekvések - Interazioni su se stessi + Interazioni su se stessi Ações Pessoais @@ -143,6 +144,7 @@ Mantener el cursor centrado Udržuj kurzor na středu Manter o cursor centralizado + Mantieni il cursore centrato Keeps cursor centered and pans the option menu around. Useful if screen size is limited. @@ -154,6 +156,7 @@ Utrzymuje kursor na środku ekranu, zamiast tego ruch myszą powoduje przesuwanie menu interakcji. Użyteczne w przypadku kiedy rozmiar ekranu jest ograniczony. Mantiene el cursor centrado y despliega los menús alrededor. Útil si el tamaño de la pantalla es limitado. Manter o cursor centralizado e mover o menu de opções. Útil caso o tamanho da tela seja limitado. + Mantieni il cursore centrato e sposta il menù intorno. Utile se lo schermo è piccolo. Do action when releasing menu key @@ -165,6 +168,7 @@ Realizar la acción al soltar la tecla menu Execute a ação quando soltar a tecla de menu Cselekvés végrehajtása a menügomb elengedésekor + Esegui l'azione quando rilasci il tasto menu Interaction Text Size @@ -176,6 +180,7 @@ Rozmiar tekstu interakcji Tamanho do texto de interação Cselekvő szöveg mérete + Dimensione del testo d'interazione Interaction Text Shadow @@ -187,6 +192,7 @@ Cień tekstu interakcji Sombra do texto de interação Cselekvő szöveg árnyéka + Ombra del testo d'interazione Allows controlling the text's shadow. Outline ignores custom shadow colors. @@ -198,6 +204,7 @@ Pozwala kontrolować cień tekstu. Kontury ignorują niestandardowe kolory cienia. Permite controlar a sombra do texto. Contorno ignora sombras com cores customizadas. Hozzáférést biztosít a szöveg árnyékának kezeléséhez. A körvonal nem veszi figyelembe az egyedi árnyékszíneket. + Permette di controllare l'ombra del testo. L'impostazione "Contorno" ignora il colore dell'ombra. Outline @@ -209,6 +216,7 @@ Kontur Contorno Körvonal + Contorno - + \ No newline at end of file diff --git a/addons/laser/stringtable.xml b/addons/laser/stringtable.xml index 77a16db525..3cd5fa24fa 100644 --- a/addons/laser/stringtable.xml +++ b/addons/laser/stringtable.xml @@ -1,38 +1,42 @@ - - - - - Laser Code - Lasercode - Kod lasera - Code laser - Лазерный код - Código do Laser - Lézerkód - Código del láser - Laser kód - - - Laser - Cycle Code Up - Lasercode + - Laser - Następny kod - Laser - Code + - Лазер - увеличить частоту - Laser - Alternar Código para Cima - Lézer - kódciklus növelése - Láser - Aumentar código - Laser - Kód + - - - Laser - Cycle Code Down - Lasercode - - Laser - Poprzedni kod - Laser - Code - - Лазер - уменьшить частоту - Laser - Alternar Código para Baixo - Lézer - kódciklus csökkentése - Láser - Reducir código - Laser - Kód - - - + + + + + + Laser Code + Lasercode + Kod lasera + Code laser + Лазерный код + Código do Laser + Lézerkód + Código del láser + Laser kód + Codice laser + + + Laser - Cycle Code Up + Lasercode + + Laser - Następny kod + Laser - Code + + Лазер - увеличить частоту + Laser - Alternar Código para Cima + Lézer - kódciklus növelése + Láser - Aumentar código + Laser - Kód + + Codice laser + + + + Laser - Cycle Code Down + Lasercode - + Laser - Poprzedni kod + Laser - Code - + Лазер - уменьшить частоту + Laser - Alternar Código para Baixo + Lézer - kódciklus csökkentése + Láser - Reducir código + Laser - Kód - + Codice laser - + + \ No newline at end of file diff --git a/addons/medical/stringtable.xml b/addons/medical/stringtable.xml index 42749f8ae8..215d9ae766 100644 --- a/addons/medical/stringtable.xml +++ b/addons/medical/stringtable.xml @@ -1271,6 +1271,7 @@ Elsősegélycsomag, terepen való sebvarráshoz és haladó ellátáshoz Kit de primeiros socorros para sutura ou tratamentos avançados Osobní lékárnička obsahuje zdravotnický materiál umožňující šití a pokročilejší ošetřování raněných v poli + Pronto soccorso personale da campo per mettersi i punti o per trattamenti avanzati. Use Personal Aid Kit @@ -1282,6 +1283,7 @@ Elsősegélycsomag használata Usar o kit de primeiros socorros Použít osobní lékárničku + Usa il pronto soccorso personale Surgical Kit @@ -1777,7 +1779,7 @@ He's lost some blood - Ha perso molto sangue + Ha perso sangue Ha perdido un poco de sangre Есть кровопотеря Er hat etwas Blut verloren @@ -1797,6 +1799,7 @@ Il a perdu beaucoup de sang Ztratil hodně krve Ele perdeu muito sangue + Ha perso molto sangue He hasn't lost blood @@ -2240,6 +2243,7 @@ Styl menu (Zdravotní) Estilo do menu (Médico) Menü stílusa (Orvosi) + Stile del menù (medico) Select the type of menu you prefer; default 3d selections or radial. @@ -2251,6 +2255,7 @@ Selecione o tipo de menu que você prefere; padrão seleções 3d ou radial. Válaszd ki a neked megfelelő menüt: Alapértelmezett 3D válogatás, vagy kerek. Zvolte typ menu: základní 3D výběr nebo kruhový + Seleziona il tipo di menù che preferisci: selezione 3d predefinita o radiale. Selections (3d) @@ -2262,6 +2267,7 @@ Seleção (3d) Választékok (3D) 3D výběr + Selezione (3D) Radial @@ -2273,6 +2279,7 @@ Radial Kerek Kruhový + Radiale Scrape @@ -2680,6 +2687,7 @@ Tratando ... Tratando... Ošetřuji ... + Curando ... Removing Tourniquet ... @@ -2691,6 +2699,7 @@ Érszorító eltávolítása ... Sundavám škrtidlo ... Снятие жгута ... + Togliendo il laccio emostatico ... diff --git a/addons/mk6mortar/stringtable.xml b/addons/mk6mortar/stringtable.xml index 12472343be..076b38bbf1 100644 --- a/addons/mk6mortar/stringtable.xml +++ b/addons/mk6mortar/stringtable.xml @@ -1,4 +1,5 @@  + @@ -11,6 +12,7 @@ 82mm hatótáv-tábla Tabela de distâncias de para 82mm 82mm Rangetable + Tavola di tiro 82mm Range Table for the MK6 82mm Mortar @@ -22,6 +24,7 @@ Hatótáv-tábla a MK6 82mm-es mozsárhoz Tabela de distâncias para morteiro MK6 82mm Rangetable pro MK6 82mm minomet + Tavola di tiro per il mortaio calibro 82mm MK6 Open 82mm Rangetable @@ -33,6 +36,7 @@ 82mm hatótáv-tábla megnyitása Abrir tabela de distâncias para 82mm Otevřít 82mm Rangetable + Apri la tavola di tiro 82mm Charge @@ -44,6 +48,7 @@ Töltés Carregar Nabít + Carica - + \ No newline at end of file diff --git a/addons/nightvision/stringtable.xml b/addons/nightvision/stringtable.xml index b6f2431eef..0255ddfd89 100644 --- a/addons/nightvision/stringtable.xml +++ b/addons/nightvision/stringtable.xml @@ -1,4 +1,5 @@  + @@ -95,6 +96,7 @@ JVN (Large) Éjjellátó szemüveg (széles látószögű) Óculos de visão noturna (Panorâmico) + Occhiali notturni (Larghi) Brightness: %1 @@ -133,4 +135,4 @@ Riduci la luminosità dell'NVG - + \ No newline at end of file diff --git a/addons/optionsmenu/stringtable.xml b/addons/optionsmenu/stringtable.xml index 378661da50..444b3c6b7a 100644 --- a/addons/optionsmenu/stringtable.xml +++ b/addons/optionsmenu/stringtable.xml @@ -1,4 +1,5 @@  + @@ -239,6 +240,7 @@ UI Skalierung Beállításmenü kezelőfelületének skálázása Escalar o menu de opções + Proporzioni della interfaccia utente \ No newline at end of file diff --git a/addons/reload/stringtable.xml b/addons/reload/stringtable.xml index 316c7f2236..9e3cf6c1b0 100644 --- a/addons/reload/stringtable.xml +++ b/addons/reload/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/reloadlaunchers/stringtable.xml b/addons/reloadlaunchers/stringtable.xml index 2585358591..d82970a3d5 100644 --- a/addons/reloadlaunchers/stringtable.xml +++ b/addons/reloadlaunchers/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/respawn/stringtable.xml b/addons/respawn/stringtable.xml index cd0fda2780..5c701d7dc5 100644 --- a/addons/respawn/stringtable.xml +++ b/addons/respawn/stringtable.xml @@ -1,4 +1,5 @@  + @@ -35,6 +36,7 @@ Téléportation à la base Teletransportar para a Base Bázisra teleportálás + Teleporta alla base Teleport to Rallypoint @@ -46,6 +48,7 @@ Téléporation au point de ralliement Teletransportar para o ponto de encontro Gyülekezőpontra teleportálás + Teleporta al rallypoint Teleported to Base @@ -144,4 +147,4 @@ Ponto de encontro Independente - + \ No newline at end of file From 8ccb2a47ffb7f3786330b018240fcc74019fec92 Mon Sep 17 00:00:00 2001 From: bux578 Date: Sun, 10 May 2015 13:10:45 +0200 Subject: [PATCH 146/217] add rallypoint and switchunits documentation --- documentation/missionmaker/mission-tools.md | 58 +++++++++++++++++++++ documentation/missionmaker/modules.md | 4 +- 2 files changed, 60 insertions(+), 2 deletions(-) create mode 100644 documentation/missionmaker/mission-tools.md diff --git a/documentation/missionmaker/mission-tools.md b/documentation/missionmaker/mission-tools.md new file mode 100644 index 0000000000..cb167afb7b --- /dev/null +++ b/documentation/missionmaker/mission-tools.md @@ -0,0 +1,58 @@ +--- +layout: wiki +title: Mission tools +group: missionmaker +order: 10 +parent: wiki +--- + +## 1. ACE Rallypoints +*Part of: ace_respawn* + +"ACE rally points" is a two way teleport system between two positions. Usually this is used to transport units that have died during a mission back to the front line. The rally points are portrayed by flagpoles (West, East and Independant flagpoles are available) that have a "Base" and an "Exit" version. + +They can be found in the editor under: "Empty" >> "ACE Respawn" + +**Classnames:** +* `ACE_Rallypoint_West`, `ACE_RallypointExit_West` +* `ACE_Rallypoint_East`, `ACE_RallypointExit_East` +* `ACE_Rallypoint_Independent`, `ACE_RallypointExit_Independent` + +Using the Interaction Menu on a rallypoint offers the ability to teleport from one flagpole to the other flagpole and vice versa. + +If you want to change the texture of the flag use this line: +```c++ +this setFlagTexture 'path\to\my\texture\my_awesome_clan_logo.paa'; +``` + +*Note: You can't place more than one rallypoint of the same type.* + +All units synced to the ["Rallypoint System" module](./modules.html#1.14-rallypoint-system) are able to move the rallypoint. + +
+
Note:
+

It's important to mention that this doesn't work for player who join during a mission (JIP = Join in progress). That's something we can't change because that's the way Bohemia has implemented their module framework.

+
+ +To enable other units to move them add this to the unit's initialization code: + +```c++ +_unit setVariable ["ACE_canMoveRallypoint", true, true]; +``` + +## 2. ACE SwitchUnits +*Part of: ace_switchunits* + +"ACE SwitchUnits" is a tool for misson makers to quickly add PvP (Player vs. Player) elements to a mission. In short it enables a player to control AI units. Allowing players to perform as enemies even during a COOP mission increases the authenticity of the enemy and thus the immersion for everyone. + +The most prominent feature of ACE SwitchUnits is that you can add it to nearly every existing mission and get AI control out of the box. Dynamic mission like "Enemy Assault", "Patrol Ops", "Invade & Annex", etc. don't need to be touched to make all random spawned AI's controllable. + +In its current form you're able to switch to infantry (vehicles, etc. are planned) from all four sides (West, East, Independent, Civilian). + +To enable a player to control AI add the following to its init line: +```sqf +this setVariable ["ACE_CanSwitchUnits", true]; +``` +Once this player spawns, all controllable AI will be marked on his map and he'll be able to click on the map to switch to this unit. The initial unit will be prone to damage, but has no equipment and can't run. So it would be wise to hide or move this unit far from other players. + +The [module settings](./modules.html#1.16-switchunits-system) define which side a player can control or how big the radius of the safe zone is. The safe zone is a circular zone around AI units that must be clear from players of an opposing side to be able to switch to. \ No newline at end of file diff --git a/documentation/missionmaker/modules.md b/documentation/missionmaker/modules.md index a6d75531dc..f67b271435 100644 --- a/documentation/missionmaker/modules.md +++ b/documentation/missionmaker/modules.md @@ -235,7 +235,7 @@ This module enables Mission Makers to specificly enable units to move a rallypoi

It's important to mention that this doesn't work for player who join during a mission (JIP = Join in progress). That's something we can't change because that's the way Bohemia has implemented their module framework.

-To enable JIP players to move rally points have a look at [ACE Rallypoints (to be done)](#). +To enable JIP players to move rally points have a look at [ACE Rallypoints](./mission-tools.html#1-ace-rallypoints). ### 1.15 Respawn System @@ -252,7 +252,7 @@ Respawn with the gear a player had just before his death.
### 1.16 SwitchUnits System *Part of: ace_switchunits* -The [SwitchUnits System (to be done)](#) enables players to control certain AI units on the map. +The [SwitchUnits System](mission-tools.html#1-ace-switchunits) enables players to control certain AI units on the map. **Settings:** From b927c5d4f5ac01ff29c0db2322681a40edaf7f3b Mon Sep 17 00:00:00 2001 From: bux578 Date: Sun, 10 May 2015 13:13:38 +0200 Subject: [PATCH 147/217] wrong syntax highlighting --- documentation/missionmaker/mission-tools.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/documentation/missionmaker/mission-tools.md b/documentation/missionmaker/mission-tools.md index cb167afb7b..a7104676f0 100644 --- a/documentation/missionmaker/mission-tools.md +++ b/documentation/missionmaker/mission-tools.md @@ -50,7 +50,8 @@ The most prominent feature of ACE SwitchUnits is that you can add it to nearly e In its current form you're able to switch to infantry (vehicles, etc. are planned) from all four sides (West, East, Independent, Civilian). To enable a player to control AI add the following to its init line: -```sqf + +```c++ this setVariable ["ACE_CanSwitchUnits", true]; ``` Once this player spawns, all controllable AI will be marked on his map and he'll be able to click on the map to switch to this unit. The initial unit will be prone to damage, but has no equipment and can't run. So it would be wise to hide or move this unit far from other players. From 0aac0ac30839dfc50224b93b3396c3cba1b8e8d7 Mon Sep 17 00:00:00 2001 From: bux578 Date: Sun, 10 May 2015 13:15:47 +0200 Subject: [PATCH 148/217] fix anchor links sorry :( --- documentation/missionmaker/modules.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/documentation/missionmaker/modules.md b/documentation/missionmaker/modules.md index f67b271435..ff18139482 100644 --- a/documentation/missionmaker/modules.md +++ b/documentation/missionmaker/modules.md @@ -235,7 +235,7 @@ This module enables Mission Makers to specificly enable units to move a rallypoi

It's important to mention that this doesn't work for player who join during a mission (JIP = Join in progress). That's something we can't change because that's the way Bohemia has implemented their module framework.

-To enable JIP players to move rally points have a look at [ACE Rallypoints](./mission-tools.html#1-ace-rallypoints). +To enable JIP players to move rally points have a look at [ACE Rallypoints](./mission-tools.html#1.-ace-rallypoints). ### 1.15 Respawn System @@ -252,7 +252,7 @@ Respawn with the gear a player had just before his death.
### 1.16 SwitchUnits System *Part of: ace_switchunits* -The [SwitchUnits System](mission-tools.html#1-ace-switchunits) enables players to control certain AI units on the map. +The [SwitchUnits System](./mission-tools.html#2.-ace-switchunits) enables players to control certain AI units on the map. **Settings:** From 2bb3a0f139374ae9e06c50b636d0b3bdb83d1f46 Mon Sep 17 00:00:00 2001 From: KoffeinFlummi Date: Sun, 10 May 2015 16:19:46 +0200 Subject: [PATCH 149/217] Cleanup #1095 - Fix tabs - Remove tabler comments - Restore one removed Russian string --- addons/aircraft/stringtable.xml | 2 +- addons/captives/stringtable.xml | 4 ++-- addons/disposable/stringtable.xml | 2 +- addons/hearing/stringtable.xml | 2 +- addons/interact_menu/stringtable.xml | 3 +-- addons/interaction/stringtable.xml | 16 ++++++++-------- addons/laser/stringtable.xml | 3 +-- addons/logistics_wirecutter/stringtable.xml | 2 +- addons/microdagr/stringtable.xml | 4 ++-- addons/mk6mortar/stringtable.xml | 3 +-- addons/nametags/stringtable.xml | 4 ++-- addons/nightvision/stringtable.xml | 3 +-- addons/optionsmenu/stringtable.xml | 3 +-- addons/respawn/stringtable.xml | 3 +-- addons/vehiclelock/stringtable.xml | 2 +- addons/winddeflection/stringtable.xml | 1 + 16 files changed, 26 insertions(+), 31 deletions(-) diff --git a/addons/aircraft/stringtable.xml b/addons/aircraft/stringtable.xml index a1fb5aaacf..e917ca7e9d 100644 --- a/addons/aircraft/stringtable.xml +++ b/addons/aircraft/stringtable.xml @@ -34,7 +34,7 @@ Otevřít nákladní prostor Rakodórámpa nyitása Открыть грузовой отсек - Apri la rampa di carico + Apri la rampa di carico Abrir porta de carga
diff --git a/addons/captives/stringtable.xml b/addons/captives/stringtable.xml index b45e8c3541..def173c55b 100644 --- a/addons/captives/stringtable.xml +++ b/addons/captives/stringtable.xml @@ -155,7 +155,7 @@ Podejmij walkę ponownie Прекратить сдачу в плен Megadás abbahagyása - Smetti di arrenderti + Smetti di arrenderti Only use on alive units @@ -191,7 +191,7 @@ Nie ma nic pod kursorem Ничего не выделено Semmi sincs az egér alatt - Nessuna selezione + Nessuna selezione
diff --git a/addons/disposable/stringtable.xml b/addons/disposable/stringtable.xml index 526844afcd..2cbd8b0012 100644 --- a/addons/disposable/stringtable.xml +++ b/addons/disposable/stringtable.xml @@ -10,7 +10,7 @@ Lanzador utilizado Elhasznált kilövőcső Отстрелянная труба - Tubo usato + Tubo usato Tubo utilizado
diff --git a/addons/hearing/stringtable.xml b/addons/hearing/stringtable.xml index 40fc6929f7..e6f59604a3 100644 --- a/addons/hearing/stringtable.xml +++ b/addons/hearing/stringtable.xml @@ -106,7 +106,7 @@ Vypnout pískání v uších Wyłącz dzwonienie w uszach Fülcsengés letiltása - Disabilita i fischi nelle orecchie + Disabilita i fischi nelle orecchie Desabilitar zumbido de ouvidos diff --git a/addons/interact_menu/stringtable.xml b/addons/interact_menu/stringtable.xml index 320fa34a5d..8f60fa6879 100644 --- a/addons/interact_menu/stringtable.xml +++ b/addons/interact_menu/stringtable.xml @@ -1,5 +1,4 @@  - @@ -219,4 +218,4 @@ Contorno - \ No newline at end of file + diff --git a/addons/interaction/stringtable.xml b/addons/interaction/stringtable.xml index 1da22b649e..32a901507b 100644 --- a/addons/interaction/stringtable.xml +++ b/addons/interaction/stringtable.xml @@ -575,7 +575,7 @@ Přiřadit k červeným Назначить в Красную группу Assigner à rouge - Assegna al team rosso + Assegna al team rosso Assign Green @@ -587,7 +587,7 @@ Přiřadit k zeleným Назначить в Зеленую группу Assigner à vert - Assegna al team verde + Assegna al team verde Assign Blue @@ -599,7 +599,7 @@ Přiřadit k modrým Назначить в Синюю группу Assigner à bleu - Assegna al team blu + Assegna al team blu Assign Yellow @@ -611,7 +611,7 @@ Přiřadit ke žlutým Назначить в Желтую группу Assigner à jaune - Assegna al team giallo + Assegna al team giallo Join Red @@ -623,7 +623,7 @@ Připojit k červeným Присоединиться к Красной группе Rejoindre rouge - Unirsi al team rosso + Unirsi al team rosso Join Green @@ -635,7 +635,7 @@ Připojit k zeleným Присоединиться к Зеленой группе Rejoindre vert - Unirsi al team verde + Unirsi al team verde Join Blue @@ -647,7 +647,7 @@ Připojit k modrým Присоединиться к Синей группе Rejoindre bleu - Unirsi al team blu + Unirsi al team blu Join Yellow @@ -659,7 +659,7 @@ Připojit ke žlutým Присоединиться к Жёлтой группе Rejoindre jaune - Unirsi al team giallo + Unirsi al team giallo You joined Team %1 diff --git a/addons/laser/stringtable.xml b/addons/laser/stringtable.xml index 3cd5fa24fa..8ea28398e0 100644 --- a/addons/laser/stringtable.xml +++ b/addons/laser/stringtable.xml @@ -1,5 +1,4 @@  - @@ -39,4 +38,4 @@ Codice laser - - \ No newline at end of file + diff --git a/addons/logistics_wirecutter/stringtable.xml b/addons/logistics_wirecutter/stringtable.xml index eb3ad70ce1..b9e4023765 100644 --- a/addons/logistics_wirecutter/stringtable.xml +++ b/addons/logistics_wirecutter/stringtable.xml @@ -22,7 +22,7 @@ Służą do cięcia drutu i płotów Pince coupante Drótok, huzalok, és kábelek vágására alkalmas olló. - Trancia da ferro + Trancia da ferro Cortador de Arame diff --git a/addons/microdagr/stringtable.xml b/addons/microdagr/stringtable.xml index 55eccb1acf..af2b303f2b 100644 --- a/addons/microdagr/stringtable.xml +++ b/addons/microdagr/stringtable.xml @@ -22,7 +22,7 @@ Récepteur GPS MicroDAGR MicroDAGR pokročílá GPS příjímač MicroDAGR fejlett GPS vevőegység - Ricevitore GPS avanzato MicroDAGR + Ricevitore GPS avanzato MicroDAGR Recepitor GPS avançado MicroDAGR @@ -46,7 +46,7 @@ Mils Mils Mil - Mils + Mils Mils: diff --git a/addons/mk6mortar/stringtable.xml b/addons/mk6mortar/stringtable.xml index 076b38bbf1..fd2fe4aa4c 100644 --- a/addons/mk6mortar/stringtable.xml +++ b/addons/mk6mortar/stringtable.xml @@ -1,5 +1,4 @@  - @@ -51,4 +50,4 @@ Carica - \ No newline at end of file + diff --git a/addons/nametags/stringtable.xml b/addons/nametags/stringtable.xml index fd88a8fbc2..8daae5cd5d 100644 --- a/addons/nametags/stringtable.xml +++ b/addons/nametags/stringtable.xml @@ -71,7 +71,7 @@ Показывать информацию об экипаже Jármű-legénység adatainak mutatása Mostrar tripulantes - Mostra l'elenco del personale a bordo + Mostra l'elenco del personale a bordo Show name tags for AI units @@ -106,7 +106,7 @@ Couleur d'affichage par défaut (si dans aucun groupe) Standardní barva jmenovek (pro nečleny jednotky) Alap névcímke-szín (csoporton kívüli személyek) - Colore dei nomi non appartenenti al gruppo + Colore dei nomi non appartenenti al gruppo Cor padrão do nome (unidades fora do grupo) diff --git a/addons/nightvision/stringtable.xml b/addons/nightvision/stringtable.xml index 0255ddfd89..9fe8593e13 100644 --- a/addons/nightvision/stringtable.xml +++ b/addons/nightvision/stringtable.xml @@ -1,5 +1,4 @@  - @@ -135,4 +134,4 @@ Riduci la luminosità dell'NVG - \ No newline at end of file + diff --git a/addons/optionsmenu/stringtable.xml b/addons/optionsmenu/stringtable.xml index 444b3c6b7a..d5de0c1426 100644 --- a/addons/optionsmenu/stringtable.xml +++ b/addons/optionsmenu/stringtable.xml @@ -1,5 +1,4 @@  - @@ -243,4 +242,4 @@ Proporzioni della interfaccia utente - \ No newline at end of file + diff --git a/addons/respawn/stringtable.xml b/addons/respawn/stringtable.xml index 5c701d7dc5..539bb4b530 100644 --- a/addons/respawn/stringtable.xml +++ b/addons/respawn/stringtable.xml @@ -1,5 +1,4 @@  - @@ -147,4 +146,4 @@ Ponto de encontro Independente - \ No newline at end of file + diff --git a/addons/vehiclelock/stringtable.xml b/addons/vehiclelock/stringtable.xml index 498e526156..6ccfc8347b 100644 --- a/addons/vehiclelock/stringtable.xml +++ b/addons/vehiclelock/stringtable.xml @@ -22,7 +22,7 @@ Zamknout vozidlo Jármű zárása Закрыть машину - Chiudi il veicolo a chiave + Chiudi il veicolo a chiave Travar Veículo diff --git a/addons/winddeflection/stringtable.xml b/addons/winddeflection/stringtable.xml index 9336e6c457..4ebcc81bee 100644 --- a/addons/winddeflection/stringtable.xml +++ b/addons/winddeflection/stringtable.xml @@ -18,6 +18,7 @@ Direction: %1 Kierunek: %1 Dirección: %1 + Направление: %1° Směr: %1 Direction %1 Windrichtung: %1 From 235534292f316dc3d85463b70191d1dc6d04f463 Mon Sep 17 00:00:00 2001 From: ulteq Date: Sun, 10 May 2015 16:31:56 +0200 Subject: [PATCH 150/217] Rifle dispersion overhaul: *Added dispersion values for the new marksmen rifles (when needed) *Overworked some of the (ridiculous) existing values *Made use of the vanilla values whenever possible --- addons/ballistics/CfgWeapons.hpp | 175 ++++++++++++++++--------------- 1 file changed, 92 insertions(+), 83 deletions(-) diff --git a/addons/ballistics/CfgWeapons.hpp b/addons/ballistics/CfgWeapons.hpp index 34c18a90dd..15f70d643d 100644 --- a/addons/ballistics/CfgWeapons.hpp +++ b/addons/ballistics/CfgWeapons.hpp @@ -1,16 +1,13 @@ +class Single; +class Burst; +class FullAuto; class Mode_SemiAuto; +class Mode_Burst; class Mode_FullAuto; class CfgWeapons { - class DMR_02_base_F; - class DMR_03_base_F; - class DMR_04_base_F; - class DMR_05_base_F; - class DMR_06_base_F; - class GM6_base_F; class LMG_RCWS; - class LRR_base_F; class MGun; class MGunCore; class MMG_01_base_F; @@ -22,19 +19,83 @@ class CfgWeapons { /* Long Rifles */ + class GM6_base_F: Rifle_Long_Base_F { + class Single: Mode_SemiAuto { + dispersion = 0.00029; // radians. Equal to 1.00 MOA. + }; + }; + + class LRR_base_F: Rifle_Long_Base_F { + class Single: Mode_SemiAuto { + dispersion = 0.00020; // radians. Equal to 0.70 MOA. + }; + }; + + class DMR_06_base_F: Rifle_Long_Base_F { + class Single: Mode_SemiAuto { + dispersion = 0.00029; // radians. Equal to 1.00 MOA. + }; + + class FullAuto: Mode_FullAuto { + dispersion = 0.00029; // radians. Equal to 1.00 MOA. + }; + }; + + class DMR_05_base_F: Rifle_Long_Base_F { + class Single: Mode_SemiAuto { + dispersion = 0.00029; // radians. Equal to 1.00 MOA. + }; + + class FullAuto: Mode_FullAuto { + dispersion = 0.00029; // radians. Equal to 1.00 MOA. + }; + }; + + class DMR_04_base_F: Rifle_Long_Base_F { + class Single: Mode_SemiAuto { + dispersion = 0.00029; // radians. Equal to 1.00 MOA. + }; + }; + + class DMR_03_base_F: Rifle_Long_Base_F { + class Single: Mode_SemiAuto { + dispersion = 0.00032; // radians. Equal to 1.10 MOA. + }; + + class FullAuto: Mode_FullAuto { + dispersion = 0.00032; // radians. Equal to 1.10 MOA. + }; + }; + + class DMR_02_base_F: Rifle_Long_Base_F { + class Single: Mode_SemiAuto { + dispersion = 0.000262; // radians. Equal to 0.90 MOA. + }; + }; + + class DMR_01_base_F: Rifle_Long_Base_F { + class WeaponSlotsInfo: WeaponSlotsInfo { + class MuzzleSlot: MuzzleSlot { + compatibleItems[] += {"ACE_muzzle_mzls_B"}; + }; + }; + class Single: Mode_SemiAuto { + dispersion = 0.0004; // radians. Equal to 1.375 MOA. + }; + }; + class EBR_base_F: Rifle_Long_Base_F { class WeaponSlotsInfo: WeaponSlotsInfo { class MuzzleSlot: MuzzleSlot { compatibleItems[] += {"ACE_muzzle_mzls_B"}; }; }; - }; - - class DMR_01_base_F: Rifle_Long_Base_F { - class WeaponSlotsInfo: WeaponSlotsInfo { - class MuzzleSlot: MuzzleSlot { - compatibleItems[] += {"ACE_muzzle_mzls_B"}; - }; + class Single: Mode_SemiAuto { + dispersion = 0.00029; // radians. Equal to 1.00 MOA. + }; + + class FullAuto: Mode_FullAuto { + dispersion = 0.00029; // radians. Equal to 1.00 MOA. }; }; @@ -46,14 +107,6 @@ class CfgWeapons { compatibleItems[] += {"ACE_muzzle_mzls_H"}; }; }; - class Single: Mode_SemiAuto { - dispersion = 0.000800; // radians. Equal to 2.75 MOA. - // Based on widely cited 2 MOA figure for new 5.56 ACR. - }; - - class FullAuto: Mode_FullAuto { - dispersion = 0.00147; // radians. Equal to 5.1 MOA. - }; }; class arifle_MX_SW_F: arifle_MX_Base_F { magazines[] = { @@ -74,14 +127,6 @@ class CfgWeapons { compatibleItems[] = {"muzzle_snds_H","muzzle_snds_H_SW","ACE_muzzle_mzls_H"}; }; }; - class Single: Mode_SemiAuto { - dispersion = 0.000800; // radians. Equal to 2.75 MOA. - // Based on widely cited 2 MOA figure for new 5.56 ACR. - }; - - class manual: FullAuto { - dispersion = 0.00147; // radians. Equal to 5.1 MOA. - }; }; class arifle_MXM_F: arifle_MX_Base_F { magazines[] = { @@ -95,12 +140,11 @@ class CfgWeapons { ACE_barrelTwist=228.6; ACE_barrelLength=457.2; class Single: Single { - dispersion = 0.00029; // radians. Equal to 1 MOA. - // 6.5mm is easily capable of this in a half-tuned rifle. + dispersion = 0.000436; // radians. Equal to 1.50 MOA. }; class FullAuto: FullAuto { - dispersion = 0.000800; // radians. Equal to 2.75 MOA. + dispersion = 0.000436; // radians. Equal to 1.50 MOA. }; }; @@ -112,15 +156,6 @@ class CfgWeapons { compatibleItems[] += {"ACE_muzzle_mzls_H"}; }; }; - class Single: Mode_SemiAuto { - dispersion = 0.000800; // radians. Equal to 2.75 MOA. - // Based on widely cited 2 MOA figure for new 5.56 ACR? - // Use your imagination for fictional weapons! - }; - - class FullAuto: Mode_FullAuto { - dispersion = 0.00147; // radians. Equal to 5.1 MOA. - }; }; @@ -139,13 +174,6 @@ class CfgWeapons { }; ACE_barrelTwist=177.8; ACE_barrelLength=317.5; - class manual: Mode_FullAuto { - dispersion = 0.00175; // radians. Equal to 6 MOA. - }; - - class Single: manual { - dispersion = 0.00175; // radians. Equal to 6 MOA. - }; }; class LMG_Zafir_F: Rifle_Long_Base_F { initSpeed = -1.0; @@ -156,13 +184,6 @@ class CfgWeapons { }; ACE_barrelTwist=304.8; ACE_barrelLength=459.74; - class FullAuto: Mode_FullAuto { - dispersion = 0.00175; // radians. Equal to 6 MOA. - }; - - class Single: Mode_SemiAuto { - dispersion = 0.00175; // radians. Equal to 6 MOA. - }; }; @@ -173,13 +194,6 @@ class CfgWeapons { compatibleItems[] += {"ACE_muzzle_mzls_L"}; }; }; - class Single: Mode_SemiAuto { - dispersion = 0.000727; // radians. Equal to 2.5 MOA, about the limit of mass-produced M855. - }; - - class FullAuto: Mode_FullAuto { - dispersion = 0.00147; // radians. Equal to 5.1 MOA. - }; }; class mk20_base_F: Rifle_Base_F { class WeaponSlotsInfo: WeaponSlotsInfo { @@ -187,14 +201,6 @@ class CfgWeapons { compatibleItems[] += {"ACE_muzzle_mzls_L"}; }; }; - class Single: Mode_SemiAuto { - dispersion = 0.0008727; // radians. Equal to 3 MOA, about the limit of mass-produced M855 plus - // some extra for these worn out Greek Army service rifles. - }; - - class FullAuto: Mode_FullAuto { - dispersion = 0.00147; // radians. Equal to 5.1 MOA. - }; }; @@ -202,12 +208,15 @@ class CfgWeapons { class SDAR_base_F: Rifle_Base_F { initSpeed = -0.989; class Single: Mode_SemiAuto { - dispersion = 0.0008727; // radians. Equal to 3 MOA, about the limit of mass-produced M855 plus - // some extra because Kel-Tec. + dispersion = 0.0008727; // radians. Equal to 3 MOA. }; + class Burst: Mode_Burst { + dispersion = 0.0008727; // radians. Equal to 3 MOA. + }; + class FullAuto: Mode_FullAuto { - dispersion = 0.00147; // radians. Equal to 5.1 MOA. + dispersion = 0.0008727; // radians. Equal to 3 MOA. }; }; class pdw2000_base_F: Rifle_Base_F { @@ -642,7 +651,7 @@ class CfgWeapons { }; class MuzzleCoef { - dispersionCoef = "0.8f"; + dispersionCoef = "0.9f"; artilleryDispersionCoef = "1.0f"; fireLightCoef = "0.5f"; recoilCoef = "1.0f"; @@ -675,7 +684,7 @@ class CfgWeapons { }; class MuzzleCoef { - dispersionCoef = "0.8f"; + dispersionCoef = "0.9f"; artilleryDispersionCoef = "1.0f"; fireLightCoef = "0.5f"; recoilCoef = "1.0f"; @@ -708,7 +717,7 @@ class CfgWeapons { }; class MuzzleCoef { - dispersionCoef = "0.8f"; + dispersionCoef = "0.9f"; artilleryDispersionCoef = "1.0f"; fireLightCoef = "0.5f"; recoilCoef = "1.0f"; @@ -741,7 +750,7 @@ class CfgWeapons { }; class MuzzleCoef { - dispersionCoef = "0.8f"; + dispersionCoef = "0.9f"; artilleryDispersionCoef = "1.0f"; fireLightCoef = "0.5f"; recoilCoef = "1.0f"; @@ -774,7 +783,7 @@ class CfgWeapons { }; class MuzzleCoef { - dispersionCoef = "0.8f"; + dispersionCoef = "0.9f"; artilleryDispersionCoef = "1.0f"; fireLightCoef = "0.5f"; recoilCoef = "1.0f"; @@ -807,7 +816,7 @@ class CfgWeapons { }; class MuzzleCoef { - dispersionCoef = "0.8f"; + dispersionCoef = "0.9f"; artilleryDispersionCoef = "1.0f"; fireLightCoef = "0.5f"; recoilCoef = "1.0f"; @@ -840,7 +849,7 @@ class CfgWeapons { }; class MuzzleCoef { - dispersionCoef = "0.8f"; + dispersionCoef = "0.9f"; artilleryDispersionCoef = "1.0f"; fireLightCoef = "0.5f"; recoilCoef = "1.0f"; @@ -873,7 +882,7 @@ class CfgWeapons { }; class MuzzleCoef { - dispersionCoef = "0.8f"; + dispersionCoef = "0.9f"; artilleryDispersionCoef = "1.0f"; fireLightCoef = "0.5f"; recoilCoef = "1.0f"; @@ -906,7 +915,7 @@ class CfgWeapons { }; class MuzzleCoef { - dispersionCoef = "0.8f"; + dispersionCoef = "0.9f"; artilleryDispersionCoef = "1.0f"; fireLightCoef = "0.5f"; recoilCoef = "1.0f"; From 1cc5bd1c506d6c6a540bef89d7b1d81856e755aa Mon Sep 17 00:00:00 2001 From: ViperMaul Date: Sun, 10 May 2015 07:41:24 -0700 Subject: [PATCH 151/217] removing unneeded debug files --- addons/common/config - Copy.cpp | 167 -------------------------------- server.md5 | 2 - server2.md5 | 3 - server3.md5 | 3 - tools/vm_build.py | 6 -- 5 files changed, 181 deletions(-) delete mode 100644 addons/common/config - Copy.cpp delete mode 100644 server.md5 delete mode 100644 server2.md5 delete mode 100644 server3.md5 delete mode 100644 tools/vm_build.py diff --git a/addons/common/config - Copy.cpp b/addons/common/config - Copy.cpp deleted file mode 100644 index 27647f8d00..0000000000 --- a/addons/common/config - Copy.cpp +++ /dev/null @@ -1,167 +0,0 @@ -#include "script_component.hpp" - -class CfgPatches { - class ADDON { - units[] = {"ACE_Box_Misc", "ACE_bananaItem"}; - weapons[] = {"ACE_ItemCore","ACE_FakePrimaryWeapon", "ACE_Banana"}; - requiredVersion = REQUIRED_VERSION; - requiredAddons[] = {"ace_main"}; - author[] = {"KoffeinFlummi"}; - authorUrl = "https://github.com/KoffeinFlummi/"; - VERSION_CONFIG; - }; -}; - -#include "CfgEventHandlers.hpp" - -#include "CfgSounds.hpp" -#include "CfgVehicles.hpp" -#include "CfgWeapons.hpp" -#include "CfgMagazines.hpp" - -#include "CfgActions.hpp" -#include "CfgMoves.hpp" -#include "CfgVoice.hpp" -#include "CfgUnitInsignia.hpp" - -class ACE_Rsc_Display_Base { - idd = -1; - type = 0; - style = 48; - name = ""; - duration = 999999; - fadeIn = 0; - fadeOut = 0; - font = "TahomaB"; - size = 1; - colorBackground[] = {1, 1, 1, 0}; - colorText[] = {1, 1, 1, 1}; -}; - -class ACE_Rsc_Control_Base { - idc = 1; - type = 0; - style = 48; - access = 0; - lineSpacing = 0; - moving = 1; - text = ""; - size = 1; - sizeEx = 0; - font = "TahomaB"; - colorBackground[] = {1, 1, 1, 0}; - colorText[] = {1, 1, 1, 1}; - x = 0; - y = 0; - w = 0; - h = 0; -}; - -class ACE_Settings { - /* - *class GVAR(sampleSetting) { - * Value - * value = 1; - * - * Type (SCALAR, BOOL, STRING, ARRAY, COLOR) - * typeName = "SCALAR"; - * - * Force the setting? - * force = 0; - * - * Does it appear on the options menu? - * isClientSettable = 1; - * - * The following settings only apply when isClientSettable == 1 - * Stringtable entry with the setting name - * displayName = "$STR_ACE_Common_SettingName"; - * - * Stringtable entry with the setting description - * description = "$STR_ACE_Common_SettingDescription"; - * - * Stringtable entries that describe the options - * Only applies if typeName == "SCALAR"; - * values[] = {"Disabled", "Enabled", "Only Cursor", "Only On Keypress", "Only Cursor and KeyPress"}; - *}; - */ - class GVAR(forceAllSettings) { - value = 0; - typeName = "BOOL"; - }; - /*class GVAR(enableNumberHotkeys) { - value = 1; - typeName = "BOOL"; - isClientSettable = 1; - displayName = "$STR_ACE_Common_EnableNumberHotkeys"; - };*/ - class GVAR(settingFeedbackIcons) { - value = 1; - typeName = "SCALAR"; - force = 0; - isClientSettable = 1; - displayName = "$STR_ACE_Common_SettingFeedbackIconsName"; - description = "$STR_ACE_Common_SettingFeedbackIconsDesc"; - values[] = {"Hide", "Top right, downwards", "Top right, to the left", "Top left, downwards", "Top left, to the right"}; - }; - class GVAR(SettingProgressBarLocation) { - value = 0; - typeName = "SCALAR"; - force = 0; - isClientSettable = 1; - displayName = "$STR_ACE_Common_SettingProgressbarLocationName"; - description = "$STR_ACE_Common_SettingProgressbarLocationDesc"; - values[] = {"Top", "Bottom"}; - }; - class GVAR(displayTextColor) { - value[] = {0,0,0,0.1}; - typeName = "COLOR"; - isClientSettable = 1; - displayName = "$STR_ACE_Common_SettingDisplayTextColorName"; - description = "$STR_ACE_Common_SettingDisplayTextColorDesc"; - }; - class GVAR(displayTextFontColor) { - value[] = {1,1,1,1}; - typeName = "COLOR"; - isClientSettable = 1; - displayName = "$STR_ACE_Common_SettingDisplayTextFontColorName"; - description = "$STR_ACE_Common_SettingDisplayTextFontColorDesc"; - }; -}; - -#include "define.hpp" -#include -#include -#include - -class CfgUIGrids { - class IGUI { - class Presets { - class Arma3 { - class Variables { - grid_ACE_displayText[] = {{((safezoneX + safezoneW) - (10 *(((safezoneW / safezoneH) min 1.2) / 40)) - 2.9 *(((safezoneW / safezoneH) min 1.2) / 40)),safeZoneY + 0.175 * safezoneH, (10 *(((safezoneW / safezoneH) min 1.2) / 40)), (2 *((((safezoneW / safezoneH) min 1.2) / 1.2) / 25))}, "(((safezoneW / safezoneH) min 1.2) / 40)","((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"}; - }; - }; - }; - - class Variables { - class grid_ACE_displayText { - displayName = "ACE Hint"; - description = "Textual in game feedback to the player."; - preview = "\a3\Ui_f\data\GUI\Cfg\UIGrids\grid_hint_ca.paa"; - saveToProfile[] = {0,1}; - }; - }; - }; -}; - -/* -// check dll -class RscStandardDisplay; -class RscDisplayMain: RscStandardDisplay { - onLoad = QUOTE([ARR_4(""onLoad"",_this,""RscDisplayMain"",'GUI')] call (uinamespace getvariable 'BIS_fnc_initDisplay'); [ARR_5('header','tail',{0},{},_this select 0)] call COMPILE_FILE(functions\fnc_errorMessage)); -}; -*/ - -class ACE_Extensions { - extensions[] = {}; -}; diff --git a/server.md5 b/server.md5 deleted file mode 100644 index 4b55677c68..0000000000 --- a/server.md5 +++ /dev/null @@ -1,2 +0,0 @@ -9f932a56f6d56912c3ed64583086c699 *server\config.cpp -a0d9c8926a9c729e96bb6f5e83072526 *server\script_component.hpp diff --git a/server2.md5 b/server2.md5 deleted file mode 100644 index e5a17d9cc0..0000000000 --- a/server2.md5 +++ /dev/null @@ -1,3 +0,0 @@ -d41d8cd98f00b204e9800998ecf8427e *server\$NOBIN$ -9f932a56f6d56912c3ed64583086c699 *server\config.cpp -a0d9c8926a9c729e96bb6f5e83072526 *server\script_component.hpp diff --git a/server3.md5 b/server3.md5 deleted file mode 100644 index 8c7d3ace7c..0000000000 --- a/server3.md5 +++ /dev/null @@ -1,3 +0,0 @@ -76717b52157b1d55caa07359c789c148 *server\$NOBIN$ -9f932a56f6d56912c3ed64583086c699 *server\config.cpp -a0d9c8926a9c729e96bb6f5e83072526 *server\script_component.hpp diff --git a/tools/vm_build.py b/tools/vm_build.py deleted file mode 100644 index 1d43c6ee30..0000000000 --- a/tools/vm_build.py +++ /dev/null @@ -1,6 +0,0 @@ -import subprocess -try: - result = subprocess.call("python make.py checkexternal test") - print (result) -except: - raise \ No newline at end of file From 318b2437f9db0513ec9a42bc202d5f6f48eebc2a Mon Sep 17 00:00:00 2001 From: jaynus Date: Sun, 10 May 2015 07:42:53 -0700 Subject: [PATCH 152/217] Applied virtual time acceleration to the master ACE_time. Created ACE_tickTime macro, to provide same-frame millisecond resolution. --- addons/common/XEH_preInit.sqf | 1 + addons/common/functions/fnc_timePFH.sqf | 7 ++++--- addons/main/script_macros.hpp | 4 ++++ 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/addons/common/XEH_preInit.sqf b/addons/common/XEH_preInit.sqf index 881d77e156..cb688a419e 100644 --- a/addons/common/XEH_preInit.sqf +++ b/addons/common/XEH_preInit.sqf @@ -316,6 +316,7 @@ if (hasInterface) then { ACE_time = diag_tickTime; ACE_realTime = diag_tickTime; ACE_virtualTime = diag_tickTime; +ACE_tickTime = diag_tickTime; ACE_gameTime = time; PREP(timePFH); diff --git a/addons/common/functions/fnc_timePFH.sqf b/addons/common/functions/fnc_timePFH.sqf index e8f0be1efd..968df846cc 100644 --- a/addons/common/functions/fnc_timePFH.sqf +++ b/addons/common/functions/fnc_timePFH.sqf @@ -7,9 +7,9 @@ _lastRealTime = ACE_realTime; _lastGameTime = ACE_gameTime; ACE_gameTime = time; -ACE_realTime = diag_tickTime; +ACE_tickTime = diag_tickTime; -_delta = ACE_realTime - _lastRealTime; +_delta = ACE_tickTime - _lastRealTime; if(ACE_gameTime <= _lastGameTime) then { ACE_paused = true; // Game is paused or not running @@ -18,7 +18,8 @@ if(ACE_gameTime <= _lastGameTime) then { } else { ACE_paused = false; // Time is updating + ACE_realTime = ACE_realTime + _delta; ACE_virtualTime = ACE_virtualTime + (_delta * accTime); - ACE_time = ACE_time + _delta; + ACE_time = ACE_virtualTime; }; diff --git a/addons/main/script_macros.hpp b/addons/main/script_macros.hpp index d4b6739918..416cc6981f 100644 --- a/addons/main/script_macros.hpp +++ b/addons/main/script_macros.hpp @@ -82,4 +82,8 @@ #define HASHLIST_SET(hashList, index, value) ([hashList, index, value, __FILE__, __LINE__] call EFUNC(common,hashListSet)) #define HASHLIST_PUSH(hashList, value) ([hashList, value, __FILE__, __LINE__] call EFUNC(common,hashListPush)) +// Time functions for accuracy per frame +#define ACE_tickTime (ACE_tickTime + (diag_tickTime - ACE_tickTime)) + + #include "script_debug.hpp" \ No newline at end of file From e1c3c40cddac38d0db0565e74d83ba2c4fbde7e6 Mon Sep 17 00:00:00 2001 From: jaynus Date: Sun, 10 May 2015 07:50:58 -0700 Subject: [PATCH 153/217] I need more coffee. this should be more accurate. --- addons/common/XEH_preInit.sqf | 2 +- addons/common/functions/fnc_timePFH.sqf | 4 ++-- addons/main/script_macros.hpp | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/addons/common/XEH_preInit.sqf b/addons/common/XEH_preInit.sqf index cb688a419e..8c51ef95d5 100644 --- a/addons/common/XEH_preInit.sqf +++ b/addons/common/XEH_preInit.sqf @@ -316,7 +316,7 @@ if (hasInterface) then { ACE_time = diag_tickTime; ACE_realTime = diag_tickTime; ACE_virtualTime = diag_tickTime; -ACE_tickTime = diag_tickTime; +ACE_diagTime = diag_tickTime; ACE_gameTime = time; PREP(timePFH); diff --git a/addons/common/functions/fnc_timePFH.sqf b/addons/common/functions/fnc_timePFH.sqf index 968df846cc..ee8fe4a9bb 100644 --- a/addons/common/functions/fnc_timePFH.sqf +++ b/addons/common/functions/fnc_timePFH.sqf @@ -7,9 +7,9 @@ _lastRealTime = ACE_realTime; _lastGameTime = ACE_gameTime; ACE_gameTime = time; -ACE_tickTime = diag_tickTime; +ACE_diagTime = diag_tickTime; -_delta = ACE_tickTime - _lastRealTime; +_delta = ACE_diagTime - _lastRealTime; if(ACE_gameTime <= _lastGameTime) then { ACE_paused = true; // Game is paused or not running diff --git a/addons/main/script_macros.hpp b/addons/main/script_macros.hpp index 416cc6981f..860e21a54a 100644 --- a/addons/main/script_macros.hpp +++ b/addons/main/script_macros.hpp @@ -83,7 +83,7 @@ #define HASHLIST_PUSH(hashList, value) ([hashList, value, __FILE__, __LINE__] call EFUNC(common,hashListPush)) // Time functions for accuracy per frame -#define ACE_tickTime (ACE_tickTime + (diag_tickTime - ACE_tickTime)) +#define ACE_tickTime (ACE_diagTime + (diag_tickTime - ACE_diagTime)) #include "script_debug.hpp" \ No newline at end of file From c39b5931c705e6f73ac0a129ee74c65472efb252 Mon Sep 17 00:00:00 2001 From: jaynus Date: Sun, 10 May 2015 07:56:14 -0700 Subject: [PATCH 154/217] ACE tickTime based on ACE_time. --- addons/main/script_macros.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/main/script_macros.hpp b/addons/main/script_macros.hpp index 860e21a54a..175e5f63c7 100644 --- a/addons/main/script_macros.hpp +++ b/addons/main/script_macros.hpp @@ -83,7 +83,7 @@ #define HASHLIST_PUSH(hashList, value) ([hashList, value, __FILE__, __LINE__] call EFUNC(common,hashListPush)) // Time functions for accuracy per frame -#define ACE_tickTime (ACE_diagTime + (diag_tickTime - ACE_diagTime)) +#define ACE_tickTime (ACE_time + (diag_tickTime - ACE_diagTime)) #include "script_debug.hpp" \ No newline at end of file From 7012b32b558973ff0c62b90c384c1f6e885ae96a Mon Sep 17 00:00:00 2001 From: ViperMaul Date: Sun, 10 May 2015 07:56:56 -0700 Subject: [PATCH 155/217] Display the most likely resolution to the Error FAILED TO DETERMINE COMMIT ID. --- tools/make.py | 1 + 1 file changed, 1 insertion(+) diff --git a/tools/make.py b/tools/make.py index e90beb7703..387332a666 100644 --- a/tools/make.py +++ b/tools/make.py @@ -610,6 +610,7 @@ See the make.cfg file for additional build options. key_name = str(key_name+"-"+commit_id) except: print_error("FAILED TO DETERMINE COMMIT ID.") + print_yellow("Verify that \GIT\BIN or \GIT\CMD is in your system path or user path.") commit_id = "NOGIT" cfg = configparser.ConfigParser(); From 82f3c65c31ad5788dea8cd7b9e577be638034668 Mon Sep 17 00:00:00 2001 From: ulteq Date: Sun, 10 May 2015 20:06:27 +0200 Subject: [PATCH 156/217] Tuned down the dispersion reduction of suppressors some more --- addons/ballistics/CfgWeapons.hpp | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/addons/ballistics/CfgWeapons.hpp b/addons/ballistics/CfgWeapons.hpp index 15f70d643d..dfe485c205 100644 --- a/addons/ballistics/CfgWeapons.hpp +++ b/addons/ballistics/CfgWeapons.hpp @@ -651,7 +651,7 @@ class CfgWeapons { }; class MuzzleCoef { - dispersionCoef = "0.9f"; + dispersionCoef = "0.95f"; artilleryDispersionCoef = "1.0f"; fireLightCoef = "0.5f"; recoilCoef = "1.0f"; @@ -684,7 +684,7 @@ class CfgWeapons { }; class MuzzleCoef { - dispersionCoef = "0.9f"; + dispersionCoef = "0.95f"; artilleryDispersionCoef = "1.0f"; fireLightCoef = "0.5f"; recoilCoef = "1.0f"; @@ -717,7 +717,7 @@ class CfgWeapons { }; class MuzzleCoef { - dispersionCoef = "0.9f"; + dispersionCoef = "0.95f"; artilleryDispersionCoef = "1.0f"; fireLightCoef = "0.5f"; recoilCoef = "1.0f"; @@ -750,7 +750,7 @@ class CfgWeapons { }; class MuzzleCoef { - dispersionCoef = "0.9f"; + dispersionCoef = "0.95f"; artilleryDispersionCoef = "1.0f"; fireLightCoef = "0.5f"; recoilCoef = "1.0f"; @@ -783,7 +783,7 @@ class CfgWeapons { }; class MuzzleCoef { - dispersionCoef = "0.9f"; + dispersionCoef = "0.95f"; artilleryDispersionCoef = "1.0f"; fireLightCoef = "0.5f"; recoilCoef = "1.0f"; @@ -816,7 +816,7 @@ class CfgWeapons { }; class MuzzleCoef { - dispersionCoef = "0.9f"; + dispersionCoef = "0.95f"; artilleryDispersionCoef = "1.0f"; fireLightCoef = "0.5f"; recoilCoef = "1.0f"; @@ -849,7 +849,7 @@ class CfgWeapons { }; class MuzzleCoef { - dispersionCoef = "0.9f"; + dispersionCoef = "0.95f"; artilleryDispersionCoef = "1.0f"; fireLightCoef = "0.5f"; recoilCoef = "1.0f"; @@ -882,7 +882,7 @@ class CfgWeapons { }; class MuzzleCoef { - dispersionCoef = "0.9f"; + dispersionCoef = "0.95f"; artilleryDispersionCoef = "1.0f"; fireLightCoef = "0.5f"; recoilCoef = "1.0f"; @@ -915,7 +915,7 @@ class CfgWeapons { }; class MuzzleCoef { - dispersionCoef = "0.9f"; + dispersionCoef = "0.95f"; artilleryDispersionCoef = "1.0f"; fireLightCoef = "0.5f"; recoilCoef = "1.0f"; From d321ed27538dff41b76c0887db0243192cee93c8 Mon Sep 17 00:00:00 2001 From: SilentSpike Date: Sun, 10 May 2015 19:56:35 +0100 Subject: [PATCH 157/217] Changed function variable to match other medical vehicle functions --- addons/medical/functions/fnc_moduleAssignMedicalVehicle.sqf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/medical/functions/fnc_moduleAssignMedicalVehicle.sqf b/addons/medical/functions/fnc_moduleAssignMedicalVehicle.sqf index 539d428da0..670818b1f3 100644 --- a/addons/medical/functions/fnc_moduleAssignMedicalVehicle.sqf +++ b/addons/medical/functions/fnc_moduleAssignMedicalVehicle.sqf @@ -44,7 +44,7 @@ if (!isNull _logic) then { if (!isnil "_x") then { if (typeName _x == typeName objNull) then { if (local _x) then { - _x setvariable [QGVAR(medicClass), _setting, true]; + _x setvariable [QGVAR(isMedic), _setting, true]; }; }; }; @@ -54,7 +54,7 @@ if (!isNull _logic) then { if (!isnil "_x") then { if (typeName _x == typeName objNull) then { if (local _x) then { - _x setvariable [QGVAR(medicClass), _setting, true]; + _x setvariable [QGVAR(isMedic), _setting, true]; }; }; }; From 09c19e4ec2bb6343e09cc60931498eed7781ba4b Mon Sep 17 00:00:00 2001 From: ulteq Date: Sun, 10 May 2015 20:58:36 +0200 Subject: [PATCH 158/217] Subtle recoil reduction when using a suppressor --- addons/ballistics/CfgWeapons.hpp | 36 ++++++++++++++++---------------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/addons/ballistics/CfgWeapons.hpp b/addons/ballistics/CfgWeapons.hpp index dfe485c205..571112697a 100644 --- a/addons/ballistics/CfgWeapons.hpp +++ b/addons/ballistics/CfgWeapons.hpp @@ -654,8 +654,8 @@ class CfgWeapons { dispersionCoef = "0.95f"; artilleryDispersionCoef = "1.0f"; fireLightCoef = "0.5f"; - recoilCoef = "1.0f"; - recoilProneCoef = "1.0f"; + recoilCoef = "0.95f"; + recoilProneCoef = "0.95f"; minRangeCoef = "1.0f"; minRangeProbabCoef = "1.0f"; midRangeCoef = "1.0f"; @@ -687,8 +687,8 @@ class CfgWeapons { dispersionCoef = "0.95f"; artilleryDispersionCoef = "1.0f"; fireLightCoef = "0.5f"; - recoilCoef = "1.0f"; - recoilProneCoef = "1.0f"; + recoilCoef = "0.95f"; + recoilProneCoef = "0.95f"; minRangeCoef = "1.0f"; minRangeProbabCoef = "1.0f"; midRangeCoef = "1.0f"; @@ -720,8 +720,8 @@ class CfgWeapons { dispersionCoef = "0.95f"; artilleryDispersionCoef = "1.0f"; fireLightCoef = "0.5f"; - recoilCoef = "1.0f"; - recoilProneCoef = "1.0f"; + recoilCoef = "0.95f"; + recoilProneCoef = "0.95f"; minRangeCoef = "1.0f"; minRangeProbabCoef = "1.0f"; midRangeCoef = "1.0f"; @@ -753,8 +753,8 @@ class CfgWeapons { dispersionCoef = "0.95f"; artilleryDispersionCoef = "1.0f"; fireLightCoef = "0.5f"; - recoilCoef = "1.0f"; - recoilProneCoef = "1.0f"; + recoilCoef = "0.95f"; + recoilProneCoef = "0.95f"; minRangeCoef = "1.0f"; minRangeProbabCoef = "1.0f"; midRangeCoef = "1.0f"; @@ -786,8 +786,8 @@ class CfgWeapons { dispersionCoef = "0.95f"; artilleryDispersionCoef = "1.0f"; fireLightCoef = "0.5f"; - recoilCoef = "1.0f"; - recoilProneCoef = "1.0f"; + recoilCoef = "0.95f"; + recoilProneCoef = "0.95f"; minRangeCoef = "1.0f"; minRangeProbabCoef = "1.0f"; midRangeCoef = "1.0f"; @@ -819,8 +819,8 @@ class CfgWeapons { dispersionCoef = "0.95f"; artilleryDispersionCoef = "1.0f"; fireLightCoef = "0.5f"; - recoilCoef = "1.0f"; - recoilProneCoef = "1.0f"; + recoilCoef = "0.95f"; + recoilProneCoef = "0.95f"; minRangeCoef = "1.0f"; minRangeProbabCoef = "1.0f"; midRangeCoef = "1.0f"; @@ -852,8 +852,8 @@ class CfgWeapons { dispersionCoef = "0.95f"; artilleryDispersionCoef = "1.0f"; fireLightCoef = "0.5f"; - recoilCoef = "1.0f"; - recoilProneCoef = "1.0f"; + recoilCoef = "0.95f"; + recoilProneCoef = "0.95f"; minRangeCoef = "1.0f"; minRangeProbabCoef = "1.0f"; midRangeCoef = "1.0f"; @@ -885,8 +885,8 @@ class CfgWeapons { dispersionCoef = "0.95f"; artilleryDispersionCoef = "1.0f"; fireLightCoef = "0.5f"; - recoilCoef = "1.0f"; - recoilProneCoef = "1.0f"; + recoilCoef = "0.95f"; + recoilProneCoef = "0.95f"; minRangeCoef = "1.0f"; minRangeProbabCoef = "1.0f"; midRangeCoef = "1.0f"; @@ -918,8 +918,8 @@ class CfgWeapons { dispersionCoef = "0.95f"; artilleryDispersionCoef = "1.0f"; fireLightCoef = "0.5f"; - recoilCoef = "1.0f"; - recoilProneCoef = "1.0f"; + recoilCoef = "0.95f"; + recoilProneCoef = "0.95f"; minRangeCoef = "1.0f"; minRangeProbabCoef = "1.0f"; midRangeCoef = "1.0f"; From 518cfdab9e4c460c2ef6ce088993eea34757f90d Mon Sep 17 00:00:00 2001 From: SilentSpike Date: Sun, 10 May 2015 20:19:32 +0100 Subject: [PATCH 159/217] isMedic -> medicClass --- addons/medical/functions/fnc_isInMedicalVehicle.sqf | 2 +- addons/medical/functions/fnc_isMedicalVehicle.sqf | 2 +- addons/medical/functions/fnc_moduleAssignMedicalVehicle.sqf | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/addons/medical/functions/fnc_isInMedicalVehicle.sqf b/addons/medical/functions/fnc_isInMedicalVehicle.sqf index cffc24410d..5422ce8e1f 100644 --- a/addons/medical/functions/fnc_isInMedicalVehicle.sqf +++ b/addons/medical/functions/fnc_isInMedicalVehicle.sqf @@ -21,4 +21,4 @@ _vehicle = vehicle _unit; if (_unit == _vehicle) exitWith {false}; if (_unit in [driver _vehicle, gunner _vehicle, commander _vehicle]) exitWith {false}; -_vehicle getVariable [QGVAR(isMedic), getNumber (configFile >> "CfgVehicles" >> typeOf _vehicle >> "attendant") == 1] +_vehicle getVariable [QGVAR(medicClass), getNumber (configFile >> "CfgVehicles" >> typeOf _vehicle >> "attendant") == 1] diff --git a/addons/medical/functions/fnc_isMedicalVehicle.sqf b/addons/medical/functions/fnc_isMedicalVehicle.sqf index 7be406e556..5635700fe0 100644 --- a/addons/medical/functions/fnc_isMedicalVehicle.sqf +++ b/addons/medical/functions/fnc_isMedicalVehicle.sqf @@ -15,4 +15,4 @@ private ["_vehicle"]; _vehicle = _this select 0; -_vehicle getVariable [QGVAR(isMedic), getNumber (configFile >> "CfgVehicles" >> typeOf _vehicle >> "attendant") == 1] +_vehicle getVariable [QGVAR(medicClass), getNumber (configFile >> "CfgVehicles" >> typeOf _vehicle >> "attendant") == 1] diff --git a/addons/medical/functions/fnc_moduleAssignMedicalVehicle.sqf b/addons/medical/functions/fnc_moduleAssignMedicalVehicle.sqf index 670818b1f3..539d428da0 100644 --- a/addons/medical/functions/fnc_moduleAssignMedicalVehicle.sqf +++ b/addons/medical/functions/fnc_moduleAssignMedicalVehicle.sqf @@ -44,7 +44,7 @@ if (!isNull _logic) then { if (!isnil "_x") then { if (typeName _x == typeName objNull) then { if (local _x) then { - _x setvariable [QGVAR(isMedic), _setting, true]; + _x setvariable [QGVAR(medicClass), _setting, true]; }; }; }; @@ -54,7 +54,7 @@ if (!isNull _logic) then { if (!isnil "_x") then { if (typeName _x == typeName objNull) then { if (local _x) then { - _x setvariable [QGVAR(isMedic), _setting, true]; + _x setvariable [QGVAR(medicClass), _setting, true]; }; }; }; From eff5ce03d67919d499dd072f46134da7b02291dc Mon Sep 17 00:00:00 2001 From: SilentSpike Date: Sun, 10 May 2015 20:58:17 +0100 Subject: [PATCH 160/217] false -> 0 --- addons/medical/functions/fnc_moduleAssignMedicalVehicle.sqf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/medical/functions/fnc_moduleAssignMedicalVehicle.sqf b/addons/medical/functions/fnc_moduleAssignMedicalVehicle.sqf index 539d428da0..af6de73ce1 100644 --- a/addons/medical/functions/fnc_moduleAssignMedicalVehicle.sqf +++ b/addons/medical/functions/fnc_moduleAssignMedicalVehicle.sqf @@ -37,7 +37,7 @@ if (!isNull _logic) then { _list = "[" + _nilCheckPassedList + "]"; _parsedList = [] call compile _list; - _setting = _logic getvariable ["enabled", false]; + _setting = _logic getvariable ["enabled", 0]; _objects = synchronizedObjects _logic; if (!(_objects isEqualTo []) && _parsedList isEqualTo []) then { { From 2e91f4527323d887503d300a5319b28b43f16ee9 Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Sun, 10 May 2015 16:57:05 -0500 Subject: [PATCH 161/217] #1104 - Fix legend in editor --- addons/map/config.cpp | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/addons/map/config.cpp b/addons/map/config.cpp index 927d9aeb0f..9d75eaa5c8 100644 --- a/addons/map/config.cpp +++ b/addons/map/config.cpp @@ -87,6 +87,22 @@ class RscMapControl { sizeExGrid = 0.032; }; +class RscMap; +class RscDisplayArcadeMap_Layout_2: RscMap { //"Traditional" Editor: + class controlsBackground { + class CA_Map: RscMapControl { + #include "MapTweaks.hpp" + }; + }; +}; +class RscDisplayArcadeMap_Layout_6: RscMap { //"Streamlined" Editor: + class controlsBackground { + class CA_Map: RscMapControl { + #include "MapTweaks.hpp" + }; + }; +}; + // REGULAR MAP class RscDisplayMainMap { // Tweak map styling From 97105c5b0761018f1424efa8e0e72e522a4b7337 Mon Sep 17 00:00:00 2001 From: ViperMaul Date: Sun, 10 May 2015 18:16:27 -0700 Subject: [PATCH 162/217] Change ACE is version stamp. Example. You will now see ACE is version 3.0.0.2 Initial prep for showing Commit ID for each PBO in #1105 --- tools/make.py | 130 ++++++++++++++++++++++++++++++++++++-------------- 1 file changed, 95 insertions(+), 35 deletions(-) diff --git a/tools/make.py b/tools/make.py index 387332a666..f6fde50440 100644 --- a/tools/make.py +++ b/tools/make.py @@ -55,14 +55,18 @@ if sys.platform == "win32": import winreg ######## GLOBALS ######### +ACE_VERSION = "3.0.0.3" work_drive = "" module_root = "" +make_root = "" release_dir = "" module_root_parent = "" optionals_root = "" -key_name = "ace_3.0.0" +key_name = "ace" key = "" dssignfile = "" +prefix = "ace" +pbo_name_prefix = "ace_" signature_blacklist = ["ace_server.pbo"] ############################################################################### @@ -466,7 +470,7 @@ def check_for_obsolete_pbos(addonspath, file): return False -def config_restore(modulePath): +def addon_restore(modulePath): #PABST: cleanup config BS (you could comment this out to see the "de-macroed" cpp #print_green("\Pabst! (restoring): {}".format(os.path.join(modulePath, "config.cpp"))) try: @@ -478,10 +482,88 @@ def config_restore(modulePath): os.remove(os.path.join(modulePath, "config.bin")) if os.path.isfile(os.path.join(modulePath, "texHeaders.bin")): os.remove(os.path.join(modulePath, "texHeaders.bin")) + if os.path.isfile(os.path.join(modulePath, "$PBOPREFIX$.backup")): + if os.path.isfile(os.path.join(modulePath, "$PBOPREFIX$")): + os.remove(os.path.join(modulePath, "$PBOPREFIX$")) + os.rename(os.path.join(modulePath, "$PBOPREFIX$.backup"), os.path.join(modulePath, "$PBOPREFIX$")) except: print_yellow("Some error occurred. Check your addon folder {} for integrity".format(modulePath)) return True + + +def get_ace_version(): + global ACE_VERSION + #do the magic based on https://github.com/acemod/ACE3/issues/806#issuecomment-95639048 + return ACE_VERSION + +def get_private_keyname(commitID,module="main"): + global pbo_name_prefix + + aceVersion = get_ace_version() + keyName = str("{prefix}{version}-{commit_id}".format(prefix=pbo_name_prefix,version=aceVersion,commit_id=commitID)) + print_yellow(keyName) + return keyName + + +def get_commit_ID(): + # Get latest commit ID + global make_root + curDir = os.getcwd() + try: + gitpath = os.path.join(os.path.dirname(make_root), ".git") + assert os.path.exists(gitpath) + os.chdir(make_root) + + commit_id = subprocess.check_output(["git", "rev-parse", "HEAD"]) + commit_id = str(commit_id, "utf-8")[:8] + except: + print_error("FAILED TO DETERMINE COMMIT ID.") + print_yellow("Verify that \GIT\BIN or \GIT\CMD is in your system path or user path.") + commit_id = "NOGIT" + raise + finally: + pass + os.chdir(curDir) + + print_yellow("COMMIT ID set to {}".format(commit_id)) + return commit_id + + +def version_stamp_pboprefix(module,commitID): + ### Update pboPrefix with the correct version stamp. Use commit_id as the build number. + global work_drive + global prefix + + try: + configpath = os.path.join(work_drive, prefix, module, "$PBOPREFIX$") + shutil.copyfile(configpath, os.path.join(work_drive, prefix, module, "$PBOPREFIX$.backup")) + + f = open(configpath, "r") + configtext = f.read() + f.close() + + if configtext: + #patchestext = re.search(r"class CfgPatches\n\{(.*?)\n\}", configtext, re.DOTALL).group(1) + #patchestext = re.sub(r'version(.*?)="(.*?)"', r'version\1="\2-{}"'.format(commit_id), patchestext) + #configtext = re.sub(r"class CfgPatches\n\{(.*?)\n\}", "class CfgPatches\n{"+patchestext+"\n}", configtext, flags=re.DOTALL) + f = open(configpath, "w") + f.write(configtext) + f.close() + else: + os.remove(os.path.join(work_drive, prefix, module, "$PBOPREFIX$")) + os.rename(os.path.join(work_drive, prefix, module, "$PBOPREFIX$.backup"), os.path.join(work_drive, prefix, module, "$PBOPREFIX$")) + except: + raise + print_error("Failed to include build number") + return False + finally: + if os.path.isfile(os.path.join(work_drive, prefix, module, "$PBOPREFIX$.backup")): + if os.path.isfile(os.path.join(work_drive, prefix, module, "$PBOPREFIX$")): + os.remove(os.path.join(work_drive, prefix, module, "$PBOPREFIX$")) + os.rename(os.path.join(work_drive, prefix, module, "$PBOPREFIX$.backup"), os.path.join(work_drive, prefix, module, "$PBOPREFIX$")) + + return True ############################################################################### @@ -489,14 +571,18 @@ def main(argv): """Build an Arma addon suite in a directory from rules in a make.cfg file.""" print_blue("\nmake.py for Arma, modified for Advanced Combat Environment v{}".format(__version__)) + global ACE_VERSION global work_drive global module_root + global make_root global release_dir global module_root_parent global optionals_root global key_name global key global dssignfile + global prefix + global pbo_name_prefix if sys.platform != "win32": print_error("Non-Windows platform (Cygwin?). Please re-run from cmd.") @@ -600,18 +686,7 @@ See the make.cfg file for additional build options. make_root_parent = os.path.abspath(os.path.join(os.getcwd(), os.pardir)) os.chdir(make_root) - # Get latest commit ID - try: - gitpath = os.path.join(os.path.dirname(make_root), ".git") - assert os.path.exists(gitpath) - commit_id = subprocess.check_output(["git", "rev-parse", "HEAD"]) - commit_id = str(commit_id, "utf-8")[:8] - key_name = str(key_name+"-"+commit_id) - except: - print_error("FAILED TO DETERMINE COMMIT ID.") - print_yellow("Verify that \GIT\BIN or \GIT\CMD is in your system path or user path.") - commit_id = "NOGIT" cfg = configparser.ConfigParser(); try: @@ -665,6 +740,10 @@ See the make.cfg file for additional build options. extensions_root = os.path.join(module_root_parent, "extensions") print_green ("module_root: {}".format(module_root)) + + commit_id = get_commit_ID() + key_name = versionStamp = get_private_keyname(commit_id) + if (os.path.isdir(module_root)): os.chdir(module_root) else: @@ -934,27 +1013,7 @@ See the make.cfg file for additional build options. shutil.copyfile(os.path.join(work_drive, prefix, module, "config.backup"), os.path.join(work_drive, prefix, module, "config.cpp")) - # Include build number - try: - configpath = os.path.join(work_drive, prefix, module, "config.cpp") - f = open(configpath, "r") - configtext = f.read() - f.close() - - if configtext: - patchestext = re.search(r"class CfgPatches\n\{(.*?)\n\}", configtext, re.DOTALL).group(1) - patchestext = re.sub(r'version(.*?)="(.*?)"', r'version\1="\2-{}"'.format(commit_id), patchestext) - configtext = re.sub(r"class CfgPatches\n\{(.*?)\n\}", "class CfgPatches\n{"+patchestext+"\n}", configtext, flags=re.DOTALL) - f = open(configpath, "w") - f.write(configtext) - f.close() - else: - os.remove(os.path.join(work_drive, prefix, module, "config.cpp")) - os.rename(os.path.join(work_drive, prefix, module, "config.backup"), os.path.join(work_drive, prefix, module, "config.cpp")) - except: - raise - print_error("Failed to include build number") - continue + version_stamp_pboprefix(module,commit_id) if os.path.isfile(os.path.join(work_drive, prefix, module, "$NOBIN$")): print_green("$NOBIN$ Found. Proceeding with non-binarizing!") @@ -1013,7 +1072,7 @@ See the make.cfg file for additional build options. print ("Resuming build...") continue finally: - config_restore(os.path.join(work_drive, prefix, module)) + addon_restore(os.path.join(work_drive, prefix, module)) elif build_tool== "addonbuilder": # Detect $NOBIN$ and do not binarize if found. @@ -1092,6 +1151,7 @@ See the make.cfg file for additional build options. except: print_yellow("Cancel or some error detected.") + finally: copy_important_files(module_root_parent,os.path.join(release_dir, "@ace")) cleanup_optionals(optionals_modules) From 2ffc38ddd204ef340dfe7bfa081fb174c7fd48f8 Mon Sep 17 00:00:00 2001 From: ViperMaul Date: Sun, 10 May 2015 18:21:01 -0700 Subject: [PATCH 163/217] Do not build common every time #1105 --- tools/make.py | 4 ---- 1 file changed, 4 deletions(-) diff --git a/tools/make.py b/tools/make.py index f6fde50440..8bc4c50eb2 100644 --- a/tools/make.py +++ b/tools/make.py @@ -913,10 +913,6 @@ See the make.cfg file for additional build options. else: old_sha = "" - #We always build ACE_common so we can properly show the correct version stamp in the RPT file. - if module == "common": - old_sha = "" - # Hash the module new_sha = get_directory_hash(os.path.join(module_root, module)) From 097d0cb8ed0d3088efa624c6ea3b7a74f770d893 Mon Sep 17 00:00:00 2001 From: ViperMaul Date: Sun, 10 May 2015 19:44:24 -0700 Subject: [PATCH 164/217] Update $PBOPREFIX$ with Commit ID for each PBO #1105 --- tools/make.py | 40 ++++++++++++++++++++++++++++++---------- 1 file changed, 30 insertions(+), 10 deletions(-) diff --git a/tools/make.py b/tools/make.py index 8bc4c50eb2..76233f9120 100644 --- a/tools/make.py +++ b/tools/make.py @@ -497,6 +497,7 @@ def get_ace_version(): #do the magic based on https://github.com/acemod/ACE3/issues/806#issuecomment-95639048 return ACE_VERSION + def get_private_keyname(commitID,module="main"): global pbo_name_prefix @@ -544,19 +545,38 @@ def version_stamp_pboprefix(module,commitID): f.close() if configtext: - #patchestext = re.search(r"class CfgPatches\n\{(.*?)\n\}", configtext, re.DOTALL).group(1) - #patchestext = re.sub(r'version(.*?)="(.*?)"', r'version\1="\2-{}"'.format(commit_id), patchestext) - #configtext = re.sub(r"class CfgPatches\n\{(.*?)\n\}", "class CfgPatches\n{"+patchestext+"\n}", configtext, flags=re.DOTALL) - f = open(configpath, "w") - f.write(configtext) - f.close() - else: - os.remove(os.path.join(work_drive, prefix, module, "$PBOPREFIX$")) - os.rename(os.path.join(work_drive, prefix, module, "$PBOPREFIX$.backup"), os.path.join(work_drive, prefix, module, "$PBOPREFIX$")) + patchestext = re.search(r"version.*?=.*?$", configtext, re.DOTALL) + print("{}".format(patchestext)) + if patchestext: + if configtext: + print("configtext before ==> {}".format(configtext)) + patchestext = re.search(r"(version.*?=)(.*?)$", configtext, re.DOTALL).group(1) + print("patchestext before ==> {}".format(patchestext)) + #patchestext1 = re.sub(r'version(.*?)="(.*?)"$', r'version\1=" {}"'.format(commitID), patchestext) + #print("patchestext after ==> {}".format(patchestext1)) + print("commitID ==> {}".format(commitID)) + configtext = re.sub(r"version(.*?)=(.*?)$", "version = {}\n".format(commitID), configtext, flags=re.DOTALL) + print("configtext after ==> {}".format(configtext)) + f = open(configpath, "w") + f.write(configtext) + f.close() + os.remove(os.path.join(work_drive, prefix, module, "$PBOPREFIX$.backup")) + else: + os.remove(os.path.join(work_drive, prefix, module, "$PBOPREFIX$")) + os.rename(os.path.join(work_drive, prefix, module, "$PBOPREFIX$.backup"), os.path.join(work_drive, prefix, module, "$PBOPREFIX$")) + else: + if configtext: + #append version info + f = open(configpath, "a") + f.write("\nversion = {}".format(commitID)) + f.close() + os.remove(os.path.join(work_drive, prefix, module, "$PBOPREFIX$.backup")) + except: - raise print_error("Failed to include build number") + raise return False + finally: if os.path.isfile(os.path.join(work_drive, prefix, module, "$PBOPREFIX$.backup")): if os.path.isfile(os.path.join(work_drive, prefix, module, "$PBOPREFIX$")): From 4d56e6317cb132879b549b9ec44080dfe9e3c149 Mon Sep 17 00:00:00 2001 From: ViperMaul Date: Sun, 10 May 2015 19:58:32 -0700 Subject: [PATCH 165/217] Warn builder for missing $PBOPREFIX$ #1105 --- tools/make.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/tools/make.py b/tools/make.py index 76233f9120..89ba17a0c1 100644 --- a/tools/make.py +++ b/tools/make.py @@ -538,8 +538,16 @@ def version_stamp_pboprefix(module,commitID): try: configpath = os.path.join(work_drive, prefix, module, "$PBOPREFIX$") - shutil.copyfile(configpath, os.path.join(work_drive, prefix, module, "$PBOPREFIX$.backup")) - + if os.path.isfile(configpath): + shutil.copyfile(configpath, os.path.join(work_drive, prefix, module, "$PBOPREFIX$.backup")) + else: + print_error("$PBOPREFIX$ Does not exist for module: {}.".format(module)) + return False + except: + print_error("Error updating $PBOPREFIX$ for module {}.") + return False + + try: f = open(configpath, "r") configtext = f.read() f.close() From 0e36e56c1c05d42bed54fa05f44662eba5d7a867 Mon Sep 17 00:00:00 2001 From: ViperMaul Date: Sun, 10 May 2015 22:12:57 -0700 Subject: [PATCH 166/217] Proper handling $PBOPREFIX$ backups and cleanup if canceled. #1105 --- tools/make.py | 36 ++++++++++++++++-------------------- 1 file changed, 16 insertions(+), 20 deletions(-) diff --git a/tools/make.py b/tools/make.py index 89ba17a0c1..3d70c28f0a 100644 --- a/tools/make.py +++ b/tools/make.py @@ -533,20 +533,12 @@ def get_commit_ID(): def version_stamp_pboprefix(module,commitID): ### Update pboPrefix with the correct version stamp. Use commit_id as the build number. + #This function will not handle any $PBOPREFIX$ backup or cleanup. global work_drive global prefix - try: - configpath = os.path.join(work_drive, prefix, module, "$PBOPREFIX$") - if os.path.isfile(configpath): - shutil.copyfile(configpath, os.path.join(work_drive, prefix, module, "$PBOPREFIX$.backup")) - else: - print_error("$PBOPREFIX$ Does not exist for module: {}.".format(module)) - return False - except: - print_error("Error updating $PBOPREFIX$ for module {}.") - return False - + configpath = os.path.join(work_drive, prefix, module, "$PBOPREFIX$") + try: f = open(configpath, "r") configtext = f.read() @@ -568,7 +560,6 @@ def version_stamp_pboprefix(module,commitID): f = open(configpath, "w") f.write(configtext) f.close() - os.remove(os.path.join(work_drive, prefix, module, "$PBOPREFIX$.backup")) else: os.remove(os.path.join(work_drive, prefix, module, "$PBOPREFIX$")) os.rename(os.path.join(work_drive, prefix, module, "$PBOPREFIX$.backup"), os.path.join(work_drive, prefix, module, "$PBOPREFIX$")) @@ -578,19 +569,14 @@ def version_stamp_pboprefix(module,commitID): f = open(configpath, "a") f.write("\nversion = {}".format(commitID)) f.close() - os.remove(os.path.join(work_drive, prefix, module, "$PBOPREFIX$.backup")) - + else: + os.remove(os.path.join(work_drive, prefix, module, "$PBOPREFIX$")) + os.rename(os.path.join(work_drive, prefix, module, "$PBOPREFIX$.backup"), os.path.join(work_drive, prefix, module, "$PBOPREFIX$")) except: print_error("Failed to include build number") raise return False - finally: - if os.path.isfile(os.path.join(work_drive, prefix, module, "$PBOPREFIX$.backup")): - if os.path.isfile(os.path.join(work_drive, prefix, module, "$PBOPREFIX$")): - os.remove(os.path.join(work_drive, prefix, module, "$PBOPREFIX$")) - os.rename(os.path.join(work_drive, prefix, module, "$PBOPREFIX$.backup"), os.path.join(work_drive, prefix, module, "$PBOPREFIX$")) - return True ############################################################################### @@ -1018,6 +1004,16 @@ See the make.cfg file for additional build options. if build_tool == "pboproject": try: #PABST: Convert config (run the macro'd config.cpp through CfgConvert twice to produce a de-macro'd cpp that pboProject can read without fucking up: + try: + configpath = os.path.join(work_drive, prefix, module, "$PBOPREFIX$") + if os.path.isfile(configpath): + shutil.copyfile(configpath, os.path.join(work_drive, prefix, module, "$PBOPREFIX$.backup")) + else: + print_error("$PBOPREFIX$ Does not exist for module: {}.".format(module)) + return False + except: + print_error("Error creating backup of $PBOPREFIX$ for module {}.") + shutil.copyfile(os.path.join(work_drive, prefix, module, "config.cpp"), os.path.join(work_drive, prefix, module, "config.backup")) os.chdir("P:\\") From d03203d3d5ecd129af47cadce8d4b5f7c8f232aa Mon Sep 17 00:00:00 2001 From: ViperMaul Date: Sun, 10 May 2015 22:20:29 -0700 Subject: [PATCH 167/217] remove debug #1105 --- tools/make.py | 8 -------- 1 file changed, 8 deletions(-) diff --git a/tools/make.py b/tools/make.py index 3d70c28f0a..a4f0062c30 100644 --- a/tools/make.py +++ b/tools/make.py @@ -503,7 +503,6 @@ def get_private_keyname(commitID,module="main"): aceVersion = get_ace_version() keyName = str("{prefix}{version}-{commit_id}".format(prefix=pbo_name_prefix,version=aceVersion,commit_id=commitID)) - print_yellow(keyName) return keyName @@ -546,17 +545,10 @@ def version_stamp_pboprefix(module,commitID): if configtext: patchestext = re.search(r"version.*?=.*?$", configtext, re.DOTALL) - print("{}".format(patchestext)) if patchestext: if configtext: - print("configtext before ==> {}".format(configtext)) patchestext = re.search(r"(version.*?=)(.*?)$", configtext, re.DOTALL).group(1) - print("patchestext before ==> {}".format(patchestext)) - #patchestext1 = re.sub(r'version(.*?)="(.*?)"$', r'version\1=" {}"'.format(commitID), patchestext) - #print("patchestext after ==> {}".format(patchestext1)) - print("commitID ==> {}".format(commitID)) configtext = re.sub(r"version(.*?)=(.*?)$", "version = {}\n".format(commitID), configtext, flags=re.DOTALL) - print("configtext after ==> {}".format(configtext)) f = open(configpath, "w") f.write(configtext) f.close() From 46cabb14adc0b7306288efe46eb3e5ee0a529810 Mon Sep 17 00:00:00 2001 From: ViperMaul Date: Sun, 10 May 2015 23:49:40 -0700 Subject: [PATCH 168/217] Remove unnecessary return so that it can move to the next PBO after missing $PBOPREFIX$ #1105 --- tools/make.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/make.py b/tools/make.py index a4f0062c30..940579ffc2 100644 --- a/tools/make.py +++ b/tools/make.py @@ -1002,7 +1002,7 @@ See the make.cfg file for additional build options. shutil.copyfile(configpath, os.path.join(work_drive, prefix, module, "$PBOPREFIX$.backup")) else: print_error("$PBOPREFIX$ Does not exist for module: {}.".format(module)) - return False + except: print_error("Error creating backup of $PBOPREFIX$ for module {}.") From cf6846dac2c24c6a2db19c0ba7374083c939581f Mon Sep 17 00:00:00 2001 From: ViperMaul Date: Mon, 11 May 2015 00:34:32 -0700 Subject: [PATCH 169/217] Improve exception handling #1105 --- tools/make.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/tools/make.py b/tools/make.py index 940579ffc2..e45c029ccc 100644 --- a/tools/make.py +++ b/tools/make.py @@ -564,9 +564,8 @@ def version_stamp_pboprefix(module,commitID): else: os.remove(os.path.join(work_drive, prefix, module, "$PBOPREFIX$")) os.rename(os.path.join(work_drive, prefix, module, "$PBOPREFIX$.backup"), os.path.join(work_drive, prefix, module, "$PBOPREFIX$")) - except: - print_error("Failed to include build number") - raise + except Exception as e: + print_error("Failed to include build number: {}".format(e)) return False return True From b03333c9e8fb03febd5ee17ee98ce868c251bfb1 Mon Sep 17 00:00:00 2001 From: ulteq Date: Mon, 11 May 2015 10:59:07 +0200 Subject: [PATCH 170/217] Moved all wind calculations into the weather module --- addons/advanced_ballistics/XEH_preInit.sqf | 2 - .../functions/fnc_calculateWindSpeed.sqf | 78 -------- addons/config.cpp | 167 ------------------ addons/kestrel4500/XEH_preInit.sqf | 1 - .../functions/fnc_calculateWindSpeed.sqf | 68 ------- .../functions/fnc_measureWindSpeed.sqf | 7 +- addons/weather/XEH_preInit.sqf | 2 + addons/weather/config.cpp | 4 +- .../fnc_calculateRoughnessLength.sqf | 0 .../functions/fnc_calculateWindSpeed.sqf | 90 ++++++++++ .../weather/functions/fnc_displayWindInfo.sqf | 13 +- 11 files changed, 104 insertions(+), 328 deletions(-) delete mode 100644 addons/advanced_ballistics/functions/fnc_calculateWindSpeed.sqf delete mode 100644 addons/config.cpp delete mode 100644 addons/kestrel4500/functions/fnc_calculateWindSpeed.sqf rename addons/{advanced_ballistics => weather}/functions/fnc_calculateRoughnessLength.sqf (100%) create mode 100644 addons/weather/functions/fnc_calculateWindSpeed.sqf diff --git a/addons/advanced_ballistics/XEH_preInit.sqf b/addons/advanced_ballistics/XEH_preInit.sqf index 1d19a9c492..6fdd849b12 100644 --- a/addons/advanced_ballistics/XEH_preInit.sqf +++ b/addons/advanced_ballistics/XEH_preInit.sqf @@ -6,9 +6,7 @@ PREP(calculateAmmoTemperatureVelocityShift); PREP(calculateAtmosphericCorrection); PREP(calculateBarrelLengthVelocityShift); PREP(calculateRetardation); -PREP(calculateRoughnessLength); PREP(calculateStabilityFactor); -PREP(calculateWindSpeed); PREP(displayProtractor); PREP(handleFired); PREP(initializeTerrainExtension); diff --git a/addons/advanced_ballistics/functions/fnc_calculateWindSpeed.sqf b/addons/advanced_ballistics/functions/fnc_calculateWindSpeed.sqf deleted file mode 100644 index e7b0a322e8..0000000000 --- a/addons/advanced_ballistics/functions/fnc_calculateWindSpeed.sqf +++ /dev/null @@ -1,78 +0,0 @@ -/* - * Author: Ruthberg - * - * Calculates the true wind speed at a given world position - * - * Arguments: - * 0: _this - world position - * - * Return Value: - * 0: wind speed - m/s - * - * Public: No - */ -#include "script_component.hpp" - -private ["_windSpeed", "_windDir", "_height", "_newWindSpeed", "_windSource", "_roughnessLength"]; - -fnc_polar2vect = { - private ["_mag2D"]; - _mag2D = (_this select 0) * cos((_this select 2)); - [_mag2D * sin((_this select 1)), _mag2D * cos((_this select 1)), (_this select 0) * sin((_this select 2))]; -}; - -_windSpeed = vectorMagnitude ACE_wind; -_windDir = (ACE_wind select 0) atan2 (ACE_wind select 1); - -// Wind gradient -if (_windSpeed > 0.05) then { - _height = (ASLToATL _this) select 2; - _height = 0 max _height min 20; - if (_height < 20) then { - _roughnessLength = _this call FUNC(calculateRoughnessLength); - _windSpeed = _windSpeed * ln(_height / _roughnessLength) / ln(20 / _roughnessLength); - }; -}; - -// Terrain effect on wind -if (_windSpeed > 0.05) then { - _newWindSpeed = 0; - { - _windSource = [100, _windDir + 180, _x] call fnc_polar2vect; - if (!(terrainIntersectASL [_this, _this vectorAdd _windSource])) exitWith { - _newWindSpeed = cos(_x * 9) * _windSpeed; - }; - _windSource = [100, _windDir + 180 + _x, 0] call fnc_polar2vect; - if (!(terrainIntersectASL [_this, _this vectorAdd _windSource])) exitWith { - _newWindSpeed = cos(_x * 9) * _windSpeed; - }; - _windSource = [100, _windDir + 180 - _x, 0] call fnc_polar2vect; - if (!(terrainIntersectASL [_this, _this vectorAdd _windSource])) exitWith { - _newWindSpeed = cos(_x * 9) * _windSpeed; - }; - } forEach [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; - _windSpeed = _newWindSpeed; -}; - -// Obstacle effect on wind -if (_windSpeed > 0.05) then { - _newWindSpeed = 0; - { - _windSource = [20, _windDir + 180, _x] call fnc_polar2vect; - if (!(lineIntersects [_this, _this vectorAdd _windSource])) exitWith { - _newWindSpeed = cos(_x * 2) * _windSpeed; - }; - _windSource = [20, _windDir + 180 + _x, 0] call fnc_polar2vect; - if (!(lineIntersects [_this, _this vectorAdd _windSource])) exitWith { - _newWindSpeed = cos(_x * 2) * _windSpeed; - }; - _windSource = [20, _windDir + 180 - _x, 0] call fnc_polar2vect; - if (!(lineIntersects [_this, _this vectorAdd _windSource])) exitWith { - _newWindSpeed = cos(_x * 2) * _windSpeed; - }; - } forEach [0, 5, 10, 15, 20, 25, 30, 35, 40, 45]; - _windSpeed = _newWindSpeed; -}; -_windSpeed = 0 max _windSpeed; - -_windSpeed diff --git a/addons/config.cpp b/addons/config.cpp deleted file mode 100644 index 27647f8d00..0000000000 --- a/addons/config.cpp +++ /dev/null @@ -1,167 +0,0 @@ -#include "script_component.hpp" - -class CfgPatches { - class ADDON { - units[] = {"ACE_Box_Misc", "ACE_bananaItem"}; - weapons[] = {"ACE_ItemCore","ACE_FakePrimaryWeapon", "ACE_Banana"}; - requiredVersion = REQUIRED_VERSION; - requiredAddons[] = {"ace_main"}; - author[] = {"KoffeinFlummi"}; - authorUrl = "https://github.com/KoffeinFlummi/"; - VERSION_CONFIG; - }; -}; - -#include "CfgEventHandlers.hpp" - -#include "CfgSounds.hpp" -#include "CfgVehicles.hpp" -#include "CfgWeapons.hpp" -#include "CfgMagazines.hpp" - -#include "CfgActions.hpp" -#include "CfgMoves.hpp" -#include "CfgVoice.hpp" -#include "CfgUnitInsignia.hpp" - -class ACE_Rsc_Display_Base { - idd = -1; - type = 0; - style = 48; - name = ""; - duration = 999999; - fadeIn = 0; - fadeOut = 0; - font = "TahomaB"; - size = 1; - colorBackground[] = {1, 1, 1, 0}; - colorText[] = {1, 1, 1, 1}; -}; - -class ACE_Rsc_Control_Base { - idc = 1; - type = 0; - style = 48; - access = 0; - lineSpacing = 0; - moving = 1; - text = ""; - size = 1; - sizeEx = 0; - font = "TahomaB"; - colorBackground[] = {1, 1, 1, 0}; - colorText[] = {1, 1, 1, 1}; - x = 0; - y = 0; - w = 0; - h = 0; -}; - -class ACE_Settings { - /* - *class GVAR(sampleSetting) { - * Value - * value = 1; - * - * Type (SCALAR, BOOL, STRING, ARRAY, COLOR) - * typeName = "SCALAR"; - * - * Force the setting? - * force = 0; - * - * Does it appear on the options menu? - * isClientSettable = 1; - * - * The following settings only apply when isClientSettable == 1 - * Stringtable entry with the setting name - * displayName = "$STR_ACE_Common_SettingName"; - * - * Stringtable entry with the setting description - * description = "$STR_ACE_Common_SettingDescription"; - * - * Stringtable entries that describe the options - * Only applies if typeName == "SCALAR"; - * values[] = {"Disabled", "Enabled", "Only Cursor", "Only On Keypress", "Only Cursor and KeyPress"}; - *}; - */ - class GVAR(forceAllSettings) { - value = 0; - typeName = "BOOL"; - }; - /*class GVAR(enableNumberHotkeys) { - value = 1; - typeName = "BOOL"; - isClientSettable = 1; - displayName = "$STR_ACE_Common_EnableNumberHotkeys"; - };*/ - class GVAR(settingFeedbackIcons) { - value = 1; - typeName = "SCALAR"; - force = 0; - isClientSettable = 1; - displayName = "$STR_ACE_Common_SettingFeedbackIconsName"; - description = "$STR_ACE_Common_SettingFeedbackIconsDesc"; - values[] = {"Hide", "Top right, downwards", "Top right, to the left", "Top left, downwards", "Top left, to the right"}; - }; - class GVAR(SettingProgressBarLocation) { - value = 0; - typeName = "SCALAR"; - force = 0; - isClientSettable = 1; - displayName = "$STR_ACE_Common_SettingProgressbarLocationName"; - description = "$STR_ACE_Common_SettingProgressbarLocationDesc"; - values[] = {"Top", "Bottom"}; - }; - class GVAR(displayTextColor) { - value[] = {0,0,0,0.1}; - typeName = "COLOR"; - isClientSettable = 1; - displayName = "$STR_ACE_Common_SettingDisplayTextColorName"; - description = "$STR_ACE_Common_SettingDisplayTextColorDesc"; - }; - class GVAR(displayTextFontColor) { - value[] = {1,1,1,1}; - typeName = "COLOR"; - isClientSettable = 1; - displayName = "$STR_ACE_Common_SettingDisplayTextFontColorName"; - description = "$STR_ACE_Common_SettingDisplayTextFontColorDesc"; - }; -}; - -#include "define.hpp" -#include -#include -#include - -class CfgUIGrids { - class IGUI { - class Presets { - class Arma3 { - class Variables { - grid_ACE_displayText[] = {{((safezoneX + safezoneW) - (10 *(((safezoneW / safezoneH) min 1.2) / 40)) - 2.9 *(((safezoneW / safezoneH) min 1.2) / 40)),safeZoneY + 0.175 * safezoneH, (10 *(((safezoneW / safezoneH) min 1.2) / 40)), (2 *((((safezoneW / safezoneH) min 1.2) / 1.2) / 25))}, "(((safezoneW / safezoneH) min 1.2) / 40)","((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"}; - }; - }; - }; - - class Variables { - class grid_ACE_displayText { - displayName = "ACE Hint"; - description = "Textual in game feedback to the player."; - preview = "\a3\Ui_f\data\GUI\Cfg\UIGrids\grid_hint_ca.paa"; - saveToProfile[] = {0,1}; - }; - }; - }; -}; - -/* -// check dll -class RscStandardDisplay; -class RscDisplayMain: RscStandardDisplay { - onLoad = QUOTE([ARR_4(""onLoad"",_this,""RscDisplayMain"",'GUI')] call (uinamespace getvariable 'BIS_fnc_initDisplay'); [ARR_5('header','tail',{0},{},_this select 0)] call COMPILE_FILE(functions\fnc_errorMessage)); -}; -*/ - -class ACE_Extensions { - extensions[] = {}; -}; diff --git a/addons/kestrel4500/XEH_preInit.sqf b/addons/kestrel4500/XEH_preInit.sqf index 2d5e211a54..4e29b9bdbf 100644 --- a/addons/kestrel4500/XEH_preInit.sqf +++ b/addons/kestrel4500/XEH_preInit.sqf @@ -3,7 +3,6 @@ ADDON = false; PREP(buttonPressed); -PREP(calculateWindSpeed); PREP(canShow); PREP(collectData); PREP(createKestrelDialog); diff --git a/addons/kestrel4500/functions/fnc_calculateWindSpeed.sqf b/addons/kestrel4500/functions/fnc_calculateWindSpeed.sqf deleted file mode 100644 index 8267f7f729..0000000000 --- a/addons/kestrel4500/functions/fnc_calculateWindSpeed.sqf +++ /dev/null @@ -1,68 +0,0 @@ -/* - * Author: Ruthberg - * - * Calculates the wind speed at a given world position - * - * Arguments: - * 0: _this - world position - * - * Return Value: - * 0: wind speed - m/s - * - * Public: No - */ -#include "script_component.hpp" - -private ["_windSpeed", "_windDir", "_newWindSpeed", "_windSource"]; - -fnc_polar2vect = { - private ["_mag2D"]; - _mag2D = (_this select 0) * cos((_this select 2)); - [_mag2D * sin((_this select 1)), _mag2D * cos((_this select 1)), (_this select 0) * sin((_this select 2))]; -}; - -_windSpeed = vectorMagnitude ACE_wind; -_windDir = (ACE_wind select 0) atan2 (ACE_wind select 1); - -// Terrain effect on wind -if (_windSpeed > 0.05) then { - _newWindSpeed = 0; - { - _windSource = [100, _windDir + 180, _x] call fnc_polar2vect; - if (!(terrainIntersectASL [_this, _this vectorAdd _windSource])) exitWith { - _newWindSpeed = cos(_x * 9) * _windSpeed; - }; - _windSource = [100, _windDir + 180 + _x, 0] call fnc_polar2vect; - if (!(terrainIntersectASL [_this, _this vectorAdd _windSource])) exitWith { - _newWindSpeed = cos(_x * 9) * _windSpeed; - }; - _windSource = [100, _windDir + 180 - _x, 0] call fnc_polar2vect; - if (!(terrainIntersectASL [_this, _this vectorAdd _windSource])) exitWith { - _newWindSpeed = cos(_x * 9) * _windSpeed; - }; - } forEach [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; - _windSpeed = _newWindSpeed; -}; - -// Obstacle effect on wind -if (_windSpeed > 0.05) then { - _newWindSpeed = 0; - { - _windSource = [20, _windDir + 180, _x] call fnc_polar2vect; - if (!(lineIntersects [_this, _this vectorAdd _windSource])) exitWith { - _newWindSpeed = cos(_x * 2) * _windSpeed; - }; - _windSource = [20, _windDir + 180 + _x, 0] call fnc_polar2vect; - if (!(lineIntersects [_this, _this vectorAdd _windSource])) exitWith { - _newWindSpeed = cos(_x * 2) * _windSpeed; - }; - _windSource = [20, _windDir + 180 - _x, 0] call fnc_polar2vect; - if (!(lineIntersects [_this, _this vectorAdd _windSource])) exitWith { - _newWindSpeed = cos(_x * 2) * _windSpeed; - }; - } forEach [0, 5, 10, 15, 20, 25, 30, 35, 40, 45]; - _windSpeed = _newWindSpeed; -}; -_windSpeed = 0 max _windSpeed; - -_windSpeed diff --git a/addons/kestrel4500/functions/fnc_measureWindSpeed.sqf b/addons/kestrel4500/functions/fnc_measureWindSpeed.sqf index eb718906aa..73b4e228d6 100644 --- a/addons/kestrel4500/functions/fnc_measureWindSpeed.sqf +++ b/addons/kestrel4500/functions/fnc_measureWindSpeed.sqf @@ -19,12 +19,13 @@ private ["_playerDir", "_windSpeed", "_windDir"]; _playerDir = getDir ACE_player; _windSpeed = vectorMagnitude ACE_wind; _windDir = (ACE_wind select 0) atan2 (ACE_wind select 1); - if (missionNamespace getVariable [QEGVAR(advanced_ballistics,enabled), false]) then { - _windSpeed = (eyePos ACE_player) call EFUNC(advanced_ballistics,calculateWindSpeed); + // With wind gradient + _windSpeed = [eyePos ACE_player, true, true, true] call EFUNC(weather,calculateWindSpeed); _windSpeed = abs(cos(_playerDir - _windDir)) * _windSpeed; } else { - _windSpeed = (eyePos ACE_player) call FUNC(calculateWindSpeed); + // Without wind gradient + _windSpeed = [eyePos ACE_player, false, true, true] call EFUNC(weather,calculateWindSpeed); }; if (_windSpeed > 0.3 || {GVAR(MeasuredWindSpeed) > 0.1 && _windSpeed > 0.125}) then { diff --git a/addons/weather/XEH_preInit.sqf b/addons/weather/XEH_preInit.sqf index 0f49226432..6e6e008a67 100644 --- a/addons/weather/XEH_preInit.sqf +++ b/addons/weather/XEH_preInit.sqf @@ -5,6 +5,8 @@ ADDON = false; PREP(calculateAirDensity); PREP(calculateBarometricPressure); +PREP(calculateRoughnessLength); +PREP(calculateWindSpeed); PREP(displayWindInfo); PREP(getMapData); PREP(getWind); diff --git a/addons/weather/config.cpp b/addons/weather/config.cpp index 39cf223518..18059fe9e8 100644 --- a/addons/weather/config.cpp +++ b/addons/weather/config.cpp @@ -5,8 +5,8 @@ class CfgPatches { units[] = {}; weapons[] = {}; requiredVersion = REQUIRED_VERSION; - requiredAddons[] = {"ace_common"}; - author[] = {"q1184", "Rocko", "esteldunedain","Ruthberg"}; + requiredAddons[] = {"ace_common", "ace_modules"}; + author[] = {"q1184", "Rocko", "esteldunedain", "Ruthberg"}; VERSION_CONFIG; }; }; diff --git a/addons/advanced_ballistics/functions/fnc_calculateRoughnessLength.sqf b/addons/weather/functions/fnc_calculateRoughnessLength.sqf similarity index 100% rename from addons/advanced_ballistics/functions/fnc_calculateRoughnessLength.sqf rename to addons/weather/functions/fnc_calculateRoughnessLength.sqf diff --git a/addons/weather/functions/fnc_calculateWindSpeed.sqf b/addons/weather/functions/fnc_calculateWindSpeed.sqf new file mode 100644 index 0000000000..b5cde4e959 --- /dev/null +++ b/addons/weather/functions/fnc_calculateWindSpeed.sqf @@ -0,0 +1,90 @@ +/* + * Author: Ruthberg + * + * Calculates the true wind speed at a given world position + * + * Arguments: + * 0: world position - posASL + * 1: Account for wind gradient + * 2: Account for terrain + * 3: Account for obstacles + * + * Return Value: + * 0: wind speed - m/s + * + * Public: No + */ +#include "script_component.hpp" + +private ["_windSpeed", "_windDir", "_height", "_newWindSpeed", "_windSource", "_roughnessLength"]; + +EXPLODE_4_PVT(_this,_position,_windGradientEnabled,_terrainEffectEnabled,_obstacleEffectEnabled); + +fnc_polar2vect = { + private ["_mag2D"]; + _mag2D = (_this select 0) * cos((_this select 2)); + [_mag2D * sin((_this select 1)), _mag2D * cos((_this select 1)), (_this select 0) * sin((_this select 2))]; +}; + +_windSpeed = vectorMagnitude ACE_wind; +_windDir = (ACE_wind select 0) atan2 (ACE_wind select 1); + +// Wind gradient +if (_windGradientEnabled) then { + if (_windSpeed > 0.05) then { + _height = (ASLToATL _position) select 2; + _height = 0 max _height min 20; + if (_height < 20) then { + _roughnessLength = _position call FUNC(calculateRoughnessLength); + _windSpeed = _windSpeed * abs(ln(_height / _roughnessLength) / ln(20 / _roughnessLength)); + }; + }; +}; + +// Terrain effect on wind +if (_terrainEffectEnabled) then { + if (_windSpeed > 0.05) then { + _newWindSpeed = 0; + { + _windSource = [100, _windDir + 180, _x] call fnc_polar2vect; + if (!(terrainIntersectASL [_position, _position vectorAdd _windSource])) exitWith { + _newWindSpeed = cos(_x * 9) * _windSpeed; + }; + _windSource = [100, _windDir + 180 + _x, 0] call fnc_polar2vect; + if (!(terrainIntersectASL [_position, _position vectorAdd _windSource])) exitWith { + _newWindSpeed = cos(_x * 9) * _windSpeed; + }; + _windSource = [100, _windDir + 180 - _x, 0] call fnc_polar2vect; + if (!(terrainIntersectASL [_position, _position vectorAdd _windSource])) exitWith { + _newWindSpeed = cos(_x * 9) * _windSpeed; + }; + } forEach [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; + _windSpeed = _newWindSpeed; + }; +}; + +// Obstacle effect on wind +if (_obstacleEffectEnabled) then { + if (_windSpeed > 0.05) then { + _newWindSpeed = 0; + { + _windSource = [20, _windDir + 180, _x] call fnc_polar2vect; + if (!(lineIntersects [_position, _position vectorAdd _windSource])) exitWith { + _newWindSpeed = cos(_x * 2) * _windSpeed; + }; + _windSource = [20, _windDir + 180 + _x, 0] call fnc_polar2vect; + if (!(lineIntersects [_position, _position vectorAdd _windSource])) exitWith { + _newWindSpeed = cos(_x * 2) * _windSpeed; + }; + _windSource = [20, _windDir + 180 - _x, 0] call fnc_polar2vect; + if (!(lineIntersects [_position, _position vectorAdd _windSource])) exitWith { + _newWindSpeed = cos(_x * 2) * _windSpeed; + }; + } forEach [0, 5, 10, 15, 20, 25, 30, 35, 40, 45]; + _windSpeed = _newWindSpeed; + }; +}; + +_windSpeed = 0 max _windSpeed; + +_windSpeed diff --git a/addons/weather/functions/fnc_displayWindInfo.sqf b/addons/weather/functions/fnc_displayWindInfo.sqf index 7996503719..e81463f41a 100644 --- a/addons/weather/functions/fnc_displayWindInfo.sqf +++ b/addons/weather/functions/fnc_displayWindInfo.sqf @@ -38,15 +38,14 @@ GVAR(WindInfo) = true; _windIndex = 12; _windColor = [1, 1, 1, 1]; - - // Toogle behaviour depending on ace_advanced_ballistics being used or not - // @todo, check ACE_AB is actually enabled - _windSpeed = if (isClass (configFile >> "CfgPatches" >> "ACE_Advanced_Ballistics")) then { - (eyePos ACE_player) call EFUNC(advanced_ballistics,calculateWindSpeed); + _windSpeed = if (missionNamespace getVariable [QEGVAR(advanced_ballistics,enabled), false]) then { + // With wind gradient + [eyePos ACE_player, true, true, true] call FUNC(calculateWindSpeed); } else { - vectorMagnitude ACE_wind; + // Without wind gradient + [eyePos ACE_player, false, true, true] call FUNC(calculateWindSpeed); }; - + if (_windSpeed > 0.2) then { _playerDir = getDir ACE_player; _windDir = (ACE_wind select 0) atan2 (ACE_wind select 1); From 0b3d3b8793f7c3c9e02633e794125e1c14d19dc5 Mon Sep 17 00:00:00 2001 From: ulteq Date: Mon, 11 May 2015 17:37:08 +0200 Subject: [PATCH 171/217] Added missing PBOPREFIX files --- addons/advanced_ballistics/$PBOPREFIX$ | 1 + addons/atragmx/$PBOPREFIX$ | 1 + addons/kestrel4500/$PBOPREFIX$ | 1 + addons/nightvision/$PBOPREFIX$ | 1 + addons/winddeflection/$PBOPREFIX$ | 1 + 5 files changed, 5 insertions(+) create mode 100644 addons/advanced_ballistics/$PBOPREFIX$ create mode 100644 addons/atragmx/$PBOPREFIX$ create mode 100644 addons/kestrel4500/$PBOPREFIX$ create mode 100644 addons/nightvision/$PBOPREFIX$ create mode 100644 addons/winddeflection/$PBOPREFIX$ diff --git a/addons/advanced_ballistics/$PBOPREFIX$ b/addons/advanced_ballistics/$PBOPREFIX$ new file mode 100644 index 0000000000..1ab65b7c32 --- /dev/null +++ b/addons/advanced_ballistics/$PBOPREFIX$ @@ -0,0 +1 @@ +z\ace\addons\advanced_ballistics \ No newline at end of file diff --git a/addons/atragmx/$PBOPREFIX$ b/addons/atragmx/$PBOPREFIX$ new file mode 100644 index 0000000000..c42e89e22d --- /dev/null +++ b/addons/atragmx/$PBOPREFIX$ @@ -0,0 +1 @@ +z\ace\addons\atragmx \ No newline at end of file diff --git a/addons/kestrel4500/$PBOPREFIX$ b/addons/kestrel4500/$PBOPREFIX$ new file mode 100644 index 0000000000..15660502ce --- /dev/null +++ b/addons/kestrel4500/$PBOPREFIX$ @@ -0,0 +1 @@ +z\ace\addons\kestrel4500 \ No newline at end of file diff --git a/addons/nightvision/$PBOPREFIX$ b/addons/nightvision/$PBOPREFIX$ new file mode 100644 index 0000000000..4a3d560db5 --- /dev/null +++ b/addons/nightvision/$PBOPREFIX$ @@ -0,0 +1 @@ +z\ace\addons\nightvision \ No newline at end of file diff --git a/addons/winddeflection/$PBOPREFIX$ b/addons/winddeflection/$PBOPREFIX$ new file mode 100644 index 0000000000..e36be56aec --- /dev/null +++ b/addons/winddeflection/$PBOPREFIX$ @@ -0,0 +1 @@ +z\ace\addons\winddeflection \ No newline at end of file From 0bae8471c58c16f9f5e1359beb47f72316a3cce2 Mon Sep 17 00:00:00 2001 From: ulteq Date: Mon, 11 May 2015 17:43:48 +0200 Subject: [PATCH 172/217] Added more missing PBOPREFIX files --- optionals/compat_asdg/$PBOPREFIX$ | 1 + optionals/compat_cup/$PBOPREFIX$ | 1 + optionals/compat_hlc_ar15/$PBOPREFIX$ | 1 + optionals/compat_hlc_wp_mp5/$PBOPREFIX$ | 1 + optionals/compat_hlcmods_ak/$PBOPREFIX$ | 1 + optionals/compat_hlcmods_aug/$PBOPREFIX$ | 1 + optionals/compat_hlcmods_core/$PBOPREFIX$ | 1 + optionals/compat_hlcmods_fal/$PBOPREFIX$ | 1 + optionals/compat_hlcmods_g3/$PBOPREFIX$ | 1 + optionals/compat_hlcmods_m14/$PBOPREFIX$ | 1 + optionals/compat_hlcmods_m60e4/$PBOPREFIX$ | 1 + optionals/compat_rh_acc/$PBOPREFIX$ | 1 + optionals/compat_rh_de/$PBOPREFIX$ | 1 + optionals/compat_rh_m4/$PBOPREFIX$ | 1 + optionals/compat_rh_pdw/$PBOPREFIX$ | 1 + optionals/compat_rhs_afrf3/$PBOPREFIX$ | 1 + optionals/compat_rhs_usf3/$PBOPREFIX$ | 1 + optionals/compat_rksl_pm_ii/$PBOPREFIX$ | 1 + optionals/server/$PBOPREFIX$ | 1 + 19 files changed, 19 insertions(+) create mode 100644 optionals/compat_asdg/$PBOPREFIX$ create mode 100644 optionals/compat_cup/$PBOPREFIX$ create mode 100644 optionals/compat_hlc_ar15/$PBOPREFIX$ create mode 100644 optionals/compat_hlc_wp_mp5/$PBOPREFIX$ create mode 100644 optionals/compat_hlcmods_ak/$PBOPREFIX$ create mode 100644 optionals/compat_hlcmods_aug/$PBOPREFIX$ create mode 100644 optionals/compat_hlcmods_core/$PBOPREFIX$ create mode 100644 optionals/compat_hlcmods_fal/$PBOPREFIX$ create mode 100644 optionals/compat_hlcmods_g3/$PBOPREFIX$ create mode 100644 optionals/compat_hlcmods_m14/$PBOPREFIX$ create mode 100644 optionals/compat_hlcmods_m60e4/$PBOPREFIX$ create mode 100644 optionals/compat_rh_acc/$PBOPREFIX$ create mode 100644 optionals/compat_rh_de/$PBOPREFIX$ create mode 100644 optionals/compat_rh_m4/$PBOPREFIX$ create mode 100644 optionals/compat_rh_pdw/$PBOPREFIX$ create mode 100644 optionals/compat_rhs_afrf3/$PBOPREFIX$ create mode 100644 optionals/compat_rhs_usf3/$PBOPREFIX$ create mode 100644 optionals/compat_rksl_pm_ii/$PBOPREFIX$ create mode 100644 optionals/server/$PBOPREFIX$ diff --git a/optionals/compat_asdg/$PBOPREFIX$ b/optionals/compat_asdg/$PBOPREFIX$ new file mode 100644 index 0000000000..0ba5166c16 --- /dev/null +++ b/optionals/compat_asdg/$PBOPREFIX$ @@ -0,0 +1 @@ +z\ace\addons\compat_asdg \ No newline at end of file diff --git a/optionals/compat_cup/$PBOPREFIX$ b/optionals/compat_cup/$PBOPREFIX$ new file mode 100644 index 0000000000..42044805ba --- /dev/null +++ b/optionals/compat_cup/$PBOPREFIX$ @@ -0,0 +1 @@ +z\ace\addons\compat_cup \ No newline at end of file diff --git a/optionals/compat_hlc_ar15/$PBOPREFIX$ b/optionals/compat_hlc_ar15/$PBOPREFIX$ new file mode 100644 index 0000000000..1151a9959c --- /dev/null +++ b/optionals/compat_hlc_ar15/$PBOPREFIX$ @@ -0,0 +1 @@ +z\ace\addons\compat_hlc_ar15 \ No newline at end of file diff --git a/optionals/compat_hlc_wp_mp5/$PBOPREFIX$ b/optionals/compat_hlc_wp_mp5/$PBOPREFIX$ new file mode 100644 index 0000000000..397f5e9e6b --- /dev/null +++ b/optionals/compat_hlc_wp_mp5/$PBOPREFIX$ @@ -0,0 +1 @@ +z\ace\addons\compat_hlc_wp_mp5 \ No newline at end of file diff --git a/optionals/compat_hlcmods_ak/$PBOPREFIX$ b/optionals/compat_hlcmods_ak/$PBOPREFIX$ new file mode 100644 index 0000000000..d1d239c6d5 --- /dev/null +++ b/optionals/compat_hlcmods_ak/$PBOPREFIX$ @@ -0,0 +1 @@ +z\ace\addons\compat_hlcmods_ak \ No newline at end of file diff --git a/optionals/compat_hlcmods_aug/$PBOPREFIX$ b/optionals/compat_hlcmods_aug/$PBOPREFIX$ new file mode 100644 index 0000000000..6b917cc98c --- /dev/null +++ b/optionals/compat_hlcmods_aug/$PBOPREFIX$ @@ -0,0 +1 @@ +z\ace\addons\compat_hlcmods_aug \ No newline at end of file diff --git a/optionals/compat_hlcmods_core/$PBOPREFIX$ b/optionals/compat_hlcmods_core/$PBOPREFIX$ new file mode 100644 index 0000000000..9c9e9061e1 --- /dev/null +++ b/optionals/compat_hlcmods_core/$PBOPREFIX$ @@ -0,0 +1 @@ +z\ace\addons\compat_hlcmods_core \ No newline at end of file diff --git a/optionals/compat_hlcmods_fal/$PBOPREFIX$ b/optionals/compat_hlcmods_fal/$PBOPREFIX$ new file mode 100644 index 0000000000..91bbe75e96 --- /dev/null +++ b/optionals/compat_hlcmods_fal/$PBOPREFIX$ @@ -0,0 +1 @@ +z\ace\addons\compat_hlcmods_fal \ No newline at end of file diff --git a/optionals/compat_hlcmods_g3/$PBOPREFIX$ b/optionals/compat_hlcmods_g3/$PBOPREFIX$ new file mode 100644 index 0000000000..ff5b23f6ea --- /dev/null +++ b/optionals/compat_hlcmods_g3/$PBOPREFIX$ @@ -0,0 +1 @@ +z\ace\addons\compat_hlcmods_g3 \ No newline at end of file diff --git a/optionals/compat_hlcmods_m14/$PBOPREFIX$ b/optionals/compat_hlcmods_m14/$PBOPREFIX$ new file mode 100644 index 0000000000..9542452ad0 --- /dev/null +++ b/optionals/compat_hlcmods_m14/$PBOPREFIX$ @@ -0,0 +1 @@ +z\ace\addons\compat_hlcmods_m14 \ No newline at end of file diff --git a/optionals/compat_hlcmods_m60e4/$PBOPREFIX$ b/optionals/compat_hlcmods_m60e4/$PBOPREFIX$ new file mode 100644 index 0000000000..73c943fe8f --- /dev/null +++ b/optionals/compat_hlcmods_m60e4/$PBOPREFIX$ @@ -0,0 +1 @@ +z\ace\addons\compat_hlcmods_m60e4 \ No newline at end of file diff --git a/optionals/compat_rh_acc/$PBOPREFIX$ b/optionals/compat_rh_acc/$PBOPREFIX$ new file mode 100644 index 0000000000..0b6e3940dd --- /dev/null +++ b/optionals/compat_rh_acc/$PBOPREFIX$ @@ -0,0 +1 @@ +z\ace\addons\compat_rh_acc \ No newline at end of file diff --git a/optionals/compat_rh_de/$PBOPREFIX$ b/optionals/compat_rh_de/$PBOPREFIX$ new file mode 100644 index 0000000000..7d6056b8b4 --- /dev/null +++ b/optionals/compat_rh_de/$PBOPREFIX$ @@ -0,0 +1 @@ +z\ace\addons\compat_rh_de \ No newline at end of file diff --git a/optionals/compat_rh_m4/$PBOPREFIX$ b/optionals/compat_rh_m4/$PBOPREFIX$ new file mode 100644 index 0000000000..a8d524952e --- /dev/null +++ b/optionals/compat_rh_m4/$PBOPREFIX$ @@ -0,0 +1 @@ +z\ace\addons\compat_rh_m4 \ No newline at end of file diff --git a/optionals/compat_rh_pdw/$PBOPREFIX$ b/optionals/compat_rh_pdw/$PBOPREFIX$ new file mode 100644 index 0000000000..24f07d7987 --- /dev/null +++ b/optionals/compat_rh_pdw/$PBOPREFIX$ @@ -0,0 +1 @@ +z\ace\addons\compat_rh_pdw \ No newline at end of file diff --git a/optionals/compat_rhs_afrf3/$PBOPREFIX$ b/optionals/compat_rhs_afrf3/$PBOPREFIX$ new file mode 100644 index 0000000000..db0e884853 --- /dev/null +++ b/optionals/compat_rhs_afrf3/$PBOPREFIX$ @@ -0,0 +1 @@ +z\ace\addons\compat_rhs_afrf3 \ No newline at end of file diff --git a/optionals/compat_rhs_usf3/$PBOPREFIX$ b/optionals/compat_rhs_usf3/$PBOPREFIX$ new file mode 100644 index 0000000000..5d837d06d7 --- /dev/null +++ b/optionals/compat_rhs_usf3/$PBOPREFIX$ @@ -0,0 +1 @@ +z\ace\addons\compat_rhs_usf3 \ No newline at end of file diff --git a/optionals/compat_rksl_pm_ii/$PBOPREFIX$ b/optionals/compat_rksl_pm_ii/$PBOPREFIX$ new file mode 100644 index 0000000000..2d73d5ce66 --- /dev/null +++ b/optionals/compat_rksl_pm_ii/$PBOPREFIX$ @@ -0,0 +1 @@ +z\ace\addons\compat_rksl_pm_ii \ No newline at end of file diff --git a/optionals/server/$PBOPREFIX$ b/optionals/server/$PBOPREFIX$ new file mode 100644 index 0000000000..67fa39d646 --- /dev/null +++ b/optionals/server/$PBOPREFIX$ @@ -0,0 +1 @@ +z\ace\addons\server \ No newline at end of file From 695e775cd752fa795d85c7645ff33c8f322c7ad6 Mon Sep 17 00:00:00 2001 From: jaynus Date: Mon, 11 May 2015 09:01:16 -0700 Subject: [PATCH 173/217] Change 'ace_serverconfig' to 'ace_server' --- optionals/server/script_component.hpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/optionals/server/script_component.hpp b/optionals/server/script_component.hpp index f044c9601a..a17615ebbc 100644 --- a/optionals/server/script_component.hpp +++ b/optionals/server/script_component.hpp @@ -1,12 +1,12 @@ #define COMPONENT serverconfig #include "\z\ace\Addons\main\script_mod.hpp" -#ifdef DEBUG_ENABLED_SERVERCONFIG +#ifdef DEBUG_ENABLED_SERVER #define DEBUG_MODE_FULL #endif -#ifdef DEBUG_SETTINGS_SERVERCONFIG - #define DEBUG_SETTINGS DEBUG_SETTINGS_SERVERCONFIG +#ifdef DEBUG_SETTINGS_SERVER + #define DEBUG_SETTINGS DEBUG_SETTINGS_SERVER #endif #include "\z\ace\Addons\main\script_macros.hpp" From 9660978b92eb035b967c087e4e86b5cf376bc887 Mon Sep 17 00:00:00 2001 From: jaynus Date: Mon, 11 May 2015 09:02:13 -0700 Subject: [PATCH 174/217] Changed: search for ace_server, not ace_serverconfig --- addons/common/scripts/Version/checkVersionNumber.sqf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/common/scripts/Version/checkVersionNumber.sqf b/addons/common/scripts/Version/checkVersionNumber.sqf index 1bc002153c..74f130596a 100644 --- a/addons/common/scripts/Version/checkVersionNumber.sqf +++ b/addons/common/scripts/Version/checkVersionNumber.sqf @@ -47,7 +47,7 @@ if (!isServer) then { _index = _files find _x; if (_index == -1) then { - if (_x != "ace_serverconfig") then {_missingAddons pushBack _x;}; + if (_x != "ace_server") then {_missingAddons pushBack _x;}; } else { _clientVersion = _versions select _index; From 192a02ce563d897280c8b4941ac0d37636346c8d Mon Sep 17 00:00:00 2001 From: jaynus Date: Mon, 11 May 2015 09:03:09 -0700 Subject: [PATCH 175/217] No really, change it. --- optionals/server/script_component.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/optionals/server/script_component.hpp b/optionals/server/script_component.hpp index a17615ebbc..18afd814f7 100644 --- a/optionals/server/script_component.hpp +++ b/optionals/server/script_component.hpp @@ -1,4 +1,4 @@ -#define COMPONENT serverconfig +#define COMPONENT server #include "\z\ace\Addons\main\script_mod.hpp" #ifdef DEBUG_ENABLED_SERVER From a7a76d69ae0eeb1c2b82a44d0419a6b4fe205ac9 Mon Sep 17 00:00:00 2001 From: ViperMaul Date: Mon, 11 May 2015 09:48:47 -0700 Subject: [PATCH 176/217] Read ACE VERSION from main/script_mod.hpp #1105 --- tools/make.py | 34 +++++++++++++++++++++++++++++++--- 1 file changed, 31 insertions(+), 3 deletions(-) diff --git a/tools/make.py b/tools/make.py index e45c029ccc..09b5b4671d 100644 --- a/tools/make.py +++ b/tools/make.py @@ -55,7 +55,7 @@ if sys.platform == "win32": import winreg ######## GLOBALS ######### -ACE_VERSION = "3.0.0.3" +ACE_VERSION = "3.0.0" work_drive = "" module_root = "" make_root = "" @@ -494,7 +494,35 @@ def addon_restore(modulePath): def get_ace_version(): global ACE_VERSION + versionStamp = ACE_VERSION #do the magic based on https://github.com/acemod/ACE3/issues/806#issuecomment-95639048 + + try: + scriptModPath = os.path.join(work_drive, prefix, "main\script_mod.hpp") + + if os.path.isfile(scriptModPath): + f = open(scriptModPath, "r") + hpptext = f.read() + f.close() + + if hpptext: + majorText = re.search(r"#define MAJOR (.*\b)", hpptext).group(1) + minorText = re.search(r"#define MINOR (.*\b)", hpptext).group(1) + patchlvlText = re.search(r"#define PATCHLVL (.*\b)", hpptext).group(1) + buildText = re.search(r"#define BUILD (.*\b)", hpptext).group(1) + + if majorText: + versionStamp = "{major}.{minor}.{patchlvl}.{build}".format(major=majorText,minor=minorText,patchlvl=patchlvlText,build=buildText) + + else: + print_error("A Critical file seems to be missing or inaccessible: {}".format(scriptModPath)) + return 0 + + except Exception as e: + print_error("Get_Ace_Version error: {}".format(e)) + + print_yellow("ACE VERSION set to {}".format(versionStamp)) + ACE_VERSION = versionStamp return ACE_VERSION @@ -569,6 +597,7 @@ def version_stamp_pboprefix(module,commitID): return False return True + ############################################################################### @@ -743,11 +772,10 @@ See the make.cfg file for additional build options. module_root = cfg.get(make_target, "module_root", fallback=os.path.join(make_root_parent, "addons")) optionals_root = os.path.join(module_root_parent, "optionals") extensions_root = os.path.join(module_root_parent, "extensions") - print_green ("module_root: {}".format(module_root)) - commit_id = get_commit_ID() key_name = versionStamp = get_private_keyname(commit_id) + print_green ("module_root: {}".format(module_root)) if (os.path.isdir(module_root)): os.chdir(module_root) From c0e2af2e6634430af3ed4ce19359942f13dc2112 Mon Sep 17 00:00:00 2001 From: commy2 Date: Mon, 11 May 2015 18:50:04 +0200 Subject: [PATCH 177/217] quotes in config arrays --- addons/thermals/config.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/thermals/config.cpp b/addons/thermals/config.cpp index 252a440535..07d19d1b50 100644 --- a/addons/thermals/config.cpp +++ b/addons/thermals/config.cpp @@ -5,7 +5,7 @@ class CfgPatches { units[] = {}; weapons[] = {}; requiredVersion = REQUIRED_VERSION; - requiredAddons[] = {ace_common}; + requiredAddons[] = {"ace_common"}; author[] = {"[TF]Nkey"}; authorUrl = "https://github.com/michail-nikolaev/"; VERSION_CONFIG; From 5092d586fd6191389fa7fa646ac4a712e2dcf93c Mon Sep 17 00:00:00 2001 From: ViperMaul Date: Mon, 11 May 2015 10:06:40 -0700 Subject: [PATCH 178/217] Exception handling and clean up. #1105 --- addons/config.cpp | 167 ---------------------------------------------- tools/make.py | 9 ++- 2 files changed, 7 insertions(+), 169 deletions(-) delete mode 100644 addons/config.cpp diff --git a/addons/config.cpp b/addons/config.cpp deleted file mode 100644 index 27647f8d00..0000000000 --- a/addons/config.cpp +++ /dev/null @@ -1,167 +0,0 @@ -#include "script_component.hpp" - -class CfgPatches { - class ADDON { - units[] = {"ACE_Box_Misc", "ACE_bananaItem"}; - weapons[] = {"ACE_ItemCore","ACE_FakePrimaryWeapon", "ACE_Banana"}; - requiredVersion = REQUIRED_VERSION; - requiredAddons[] = {"ace_main"}; - author[] = {"KoffeinFlummi"}; - authorUrl = "https://github.com/KoffeinFlummi/"; - VERSION_CONFIG; - }; -}; - -#include "CfgEventHandlers.hpp" - -#include "CfgSounds.hpp" -#include "CfgVehicles.hpp" -#include "CfgWeapons.hpp" -#include "CfgMagazines.hpp" - -#include "CfgActions.hpp" -#include "CfgMoves.hpp" -#include "CfgVoice.hpp" -#include "CfgUnitInsignia.hpp" - -class ACE_Rsc_Display_Base { - idd = -1; - type = 0; - style = 48; - name = ""; - duration = 999999; - fadeIn = 0; - fadeOut = 0; - font = "TahomaB"; - size = 1; - colorBackground[] = {1, 1, 1, 0}; - colorText[] = {1, 1, 1, 1}; -}; - -class ACE_Rsc_Control_Base { - idc = 1; - type = 0; - style = 48; - access = 0; - lineSpacing = 0; - moving = 1; - text = ""; - size = 1; - sizeEx = 0; - font = "TahomaB"; - colorBackground[] = {1, 1, 1, 0}; - colorText[] = {1, 1, 1, 1}; - x = 0; - y = 0; - w = 0; - h = 0; -}; - -class ACE_Settings { - /* - *class GVAR(sampleSetting) { - * Value - * value = 1; - * - * Type (SCALAR, BOOL, STRING, ARRAY, COLOR) - * typeName = "SCALAR"; - * - * Force the setting? - * force = 0; - * - * Does it appear on the options menu? - * isClientSettable = 1; - * - * The following settings only apply when isClientSettable == 1 - * Stringtable entry with the setting name - * displayName = "$STR_ACE_Common_SettingName"; - * - * Stringtable entry with the setting description - * description = "$STR_ACE_Common_SettingDescription"; - * - * Stringtable entries that describe the options - * Only applies if typeName == "SCALAR"; - * values[] = {"Disabled", "Enabled", "Only Cursor", "Only On Keypress", "Only Cursor and KeyPress"}; - *}; - */ - class GVAR(forceAllSettings) { - value = 0; - typeName = "BOOL"; - }; - /*class GVAR(enableNumberHotkeys) { - value = 1; - typeName = "BOOL"; - isClientSettable = 1; - displayName = "$STR_ACE_Common_EnableNumberHotkeys"; - };*/ - class GVAR(settingFeedbackIcons) { - value = 1; - typeName = "SCALAR"; - force = 0; - isClientSettable = 1; - displayName = "$STR_ACE_Common_SettingFeedbackIconsName"; - description = "$STR_ACE_Common_SettingFeedbackIconsDesc"; - values[] = {"Hide", "Top right, downwards", "Top right, to the left", "Top left, downwards", "Top left, to the right"}; - }; - class GVAR(SettingProgressBarLocation) { - value = 0; - typeName = "SCALAR"; - force = 0; - isClientSettable = 1; - displayName = "$STR_ACE_Common_SettingProgressbarLocationName"; - description = "$STR_ACE_Common_SettingProgressbarLocationDesc"; - values[] = {"Top", "Bottom"}; - }; - class GVAR(displayTextColor) { - value[] = {0,0,0,0.1}; - typeName = "COLOR"; - isClientSettable = 1; - displayName = "$STR_ACE_Common_SettingDisplayTextColorName"; - description = "$STR_ACE_Common_SettingDisplayTextColorDesc"; - }; - class GVAR(displayTextFontColor) { - value[] = {1,1,1,1}; - typeName = "COLOR"; - isClientSettable = 1; - displayName = "$STR_ACE_Common_SettingDisplayTextFontColorName"; - description = "$STR_ACE_Common_SettingDisplayTextFontColorDesc"; - }; -}; - -#include "define.hpp" -#include -#include -#include - -class CfgUIGrids { - class IGUI { - class Presets { - class Arma3 { - class Variables { - grid_ACE_displayText[] = {{((safezoneX + safezoneW) - (10 *(((safezoneW / safezoneH) min 1.2) / 40)) - 2.9 *(((safezoneW / safezoneH) min 1.2) / 40)),safeZoneY + 0.175 * safezoneH, (10 *(((safezoneW / safezoneH) min 1.2) / 40)), (2 *((((safezoneW / safezoneH) min 1.2) / 1.2) / 25))}, "(((safezoneW / safezoneH) min 1.2) / 40)","((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"}; - }; - }; - }; - - class Variables { - class grid_ACE_displayText { - displayName = "ACE Hint"; - description = "Textual in game feedback to the player."; - preview = "\a3\Ui_f\data\GUI\Cfg\UIGrids\grid_hint_ca.paa"; - saveToProfile[] = {0,1}; - }; - }; - }; -}; - -/* -// check dll -class RscStandardDisplay; -class RscDisplayMain: RscStandardDisplay { - onLoad = QUOTE([ARR_4(""onLoad"",_this,""RscDisplayMain"",'GUI')] call (uinamespace getvariable 'BIS_fnc_initDisplay'); [ARR_5('header','tail',{0},{},_this select 0)] call COMPILE_FILE(functions\fnc_errorMessage)); -}; -*/ - -class ACE_Extensions { - extensions[] = {}; -}; diff --git a/tools/make.py b/tools/make.py index 09b5b4671d..1138f782b2 100644 --- a/tools/make.py +++ b/tools/make.py @@ -516,11 +516,16 @@ def get_ace_version(): else: print_error("A Critical file seems to be missing or inaccessible: {}".format(scriptModPath)) - return 0 + raise FileNotFoundError("File Not Found: {}".format(scriptModPath)) except Exception as e: print_error("Get_Ace_Version error: {}".format(e)) - + print_error("Check the integrity of the file: {}".format(scriptModPath)) + versionStamp = ACE_VERSION + print_error("Resetting to the default version stamp: {}".format(versionStamp)) + input("Press Enter to continue...") + print("Resuming build...") + print_yellow("ACE VERSION set to {}".format(versionStamp)) ACE_VERSION = versionStamp return ACE_VERSION From 59d6e84fc0f254f768c10bda46f738c619c9594f Mon Sep 17 00:00:00 2001 From: ViperMaul Date: Mon, 11 May 2015 10:43:05 -0700 Subject: [PATCH 179/217] Use abbreviated public key to minimize a BI bug. REFERENCE: http://feedback.arma3.com/view.php?id=22133 Always copy public key in case it is missing from the release folder. #1105 --- tools/make.py | 28 ++++++++++++++++------------ 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/tools/make.py b/tools/make.py index 1138f782b2..317e80db59 100644 --- a/tools/make.py +++ b/tools/make.py @@ -897,23 +897,27 @@ See the make.cfg file for additional build options. else: print_error("Failed to create key!") - try: - print("Copying public key to release directory.") - try: - os.makedirs(os.path.join(module_root, release_dir, project, "keys")) - except: - pass - - shutil.copyfile(os.path.join(private_key_path, key_name + ".bikey"), os.path.join(module_root, release_dir, project, "keys", key_name + ".bikey")) - - except: - print_error("Could not copy key to release directory.") - raise else: print_green("\nNOTE: Using key {}".format(os.path.join(private_key_path, key_name + ".biprivatekey"))) + try: + print("Copying public key to release directory.") + + try: + os.makedirs(os.path.join(module_root, release_dir, project, "keys")) + except: + pass + + # Use biKeyNameAbrev to attempt to minimize problems from this BI Bug REFERENCE: http://feedback.arma3.com/view.php?id=22133 + biKeyNameAbrev = key_name.split("-")[0] + shutil.copyfile(os.path.join(private_key_path, key_name + ".bikey"), os.path.join(module_root, release_dir, project, "keys", biKeyNameAbrev + ".bikey")) + + except: + print_error("Could not copy key to release directory.") + raise + key = os.path.join(private_key_path, key_name + ".biprivatekey") # Remove any obsolete files. From 50abf643593f0f9bd4d91d91ab5bc03ff86f7e8a Mon Sep 17 00:00:00 2001 From: ViperMaul Date: Mon, 11 May 2015 12:53:49 -0700 Subject: [PATCH 180/217] Do not execute CfgConvert if $NOBIN$ is found. #1107 --- tools/make.py | 85 +++++++++++++++++++++++++++++++++------------------ 1 file changed, 56 insertions(+), 29 deletions(-) diff --git a/tools/make.py b/tools/make.py index 317e80db59..ce92e72ea7 100644 --- a/tools/make.py +++ b/tools/make.py @@ -56,6 +56,7 @@ if sys.platform == "win32": ######## GLOBALS ######### ACE_VERSION = "3.0.0" +arma3tools_path = "" work_drive = "" module_root = "" make_root = "" @@ -470,6 +471,55 @@ def check_for_obsolete_pbos(addonspath, file): return False +def backup_config(module): + #PABST: Convert config (run the macro'd config.cpp through CfgConvert twice to produce a de-macro'd cpp that pboProject can read without fucking up: + global work_drive + global prefix + + try: + configpath = os.path.join(work_drive, prefix, module, "$PBOPREFIX$") + if os.path.isfile(configpath): + shutil.copyfile(configpath, os.path.join(work_drive, prefix, module, "$PBOPREFIX$.backup")) + else: + print_error("$PBOPREFIX$ Does not exist for module: {}.".format(module)) + + except: + print_error("Error creating backup of $PBOPREFIX$ for module {}.".format(module)) + + try: + shutil.copyfile(os.path.join(work_drive, prefix, module, "config.cpp"), os.path.join(work_drive, prefix, module, "config.backup")) + os.chdir(work_drive) + except: + print_error("Error creating backup of config.cpp for module {}.".format(module)) + + return True + +def convert_config(module): + try: + global work_drive + global prefix + global arma3tools_path + + cmd = [os.path.join(arma3tools_path, "CfgConvert", "CfgConvert.exe"), "-bin", "-dst", os.path.join(work_drive, prefix, module, "config.bin"), os.path.join(work_drive, prefix, module, "config.cpp")] + ret = subprocess.call(cmd) + if ret != 0: + print_error("CfgConvert -bin return code == {}. Usually means there is a syntax error within the config.cpp file.".format(str(ret))) + os.remove(os.path.join(work_drive, prefix, module, "config.cpp")) + shutil.copyfile(os.path.join(work_drive, prefix, module, "config.backup"), os.path.join(work_drive, prefix, module, "config.cpp")) + + cmd = [os.path.join(arma3tools_path, "CfgConvert", "CfgConvert.exe"), "-txt", "-dst", os.path.join(work_drive, prefix, module, "config.cpp"), os.path.join(work_drive, prefix, module, "config.bin")] + ret = subprocess.call(cmd) + if ret != 0: + print_error("CfgConvert -txt return code == {}. Usually means there is a syntax error within the config.cpp file.".format(str(ret))) + os.remove(os.path.join(work_drive, prefix, module, "config.cpp")) + shutil.copyfile(os.path.join(work_drive, prefix, module, "config.backup"), os.path.join(work_drive, prefix, module, "config.cpp")) + except Exception as e: + print_error("Exception from convert_config=>CfgConvert: {}".format(e)) + return False + + return True + + def addon_restore(modulePath): #PABST: cleanup config BS (you could comment this out to see the "de-macroed" cpp #print_green("\Pabst! (restoring): {}".format(os.path.join(modulePath, "config.cpp"))) @@ -611,6 +661,7 @@ def main(argv): print_blue("\nmake.py for Arma, modified for Advanced Combat Environment v{}".format(__version__)) global ACE_VERSION + global arma3tools_path global work_drive global module_root global make_root @@ -1031,39 +1082,15 @@ See the make.cfg file for additional build options. build_successful = False if build_tool == "pboproject": try: - #PABST: Convert config (run the macro'd config.cpp through CfgConvert twice to produce a de-macro'd cpp that pboProject can read without fucking up: - try: - configpath = os.path.join(work_drive, prefix, module, "$PBOPREFIX$") - if os.path.isfile(configpath): - shutil.copyfile(configpath, os.path.join(work_drive, prefix, module, "$PBOPREFIX$.backup")) - else: - print_error("$PBOPREFIX$ Does not exist for module: {}.".format(module)) - - except: - print_error("Error creating backup of $PBOPREFIX$ for module {}.") - - shutil.copyfile(os.path.join(work_drive, prefix, module, "config.cpp"), os.path.join(work_drive, prefix, module, "config.backup")) - - os.chdir("P:\\") - - cmd = [os.path.join(arma3tools_path, "CfgConvert", "CfgConvert.exe"), "-bin", "-dst", os.path.join(work_drive, prefix, module, "config.bin"), os.path.join(work_drive, prefix, module, "config.cpp")] - ret = subprocess.call(cmd) - if ret != 0: - print_error("CfgConvert -bin return code == {}. Usually means there is a syntax error within the config.cpp file.".format(str(ret))) - os.remove(os.path.join(work_drive, prefix, module, "config.cpp")) - shutil.copyfile(os.path.join(work_drive, prefix, module, "config.backup"), os.path.join(work_drive, prefix, module, "config.cpp")) - - cmd = [os.path.join(arma3tools_path, "CfgConvert", "CfgConvert.exe"), "-txt", "-dst", os.path.join(work_drive, prefix, module, "config.cpp"), os.path.join(work_drive, prefix, module, "config.bin")] - ret = subprocess.call(cmd) - if ret != 0: - print_error("CfgConvert -txt return code == {}. Usually means there is a syntax error within the config.cpp file.".format(str(ret))) - os.remove(os.path.join(work_drive, prefix, module, "config.cpp")) - shutil.copyfile(os.path.join(work_drive, prefix, module, "config.backup"), os.path.join(work_drive, prefix, module, "config.cpp")) + nobinFilePath = os.path.join(work_drive, prefix, module, "$NOBIN$") + if (not os.path.isfile(nobinFilePath)): + backup_config(module) + convert_config(module) version_stamp_pboprefix(module,commit_id) - if os.path.isfile(os.path.join(work_drive, prefix, module, "$NOBIN$")): + if os.path.isfile(nobinFilePath): print_green("$NOBIN$ Found. Proceeding with non-binarizing!") cmd = [makepboTool, "-P","-A","-L","-N","-G", os.path.join(work_drive, prefix, module),os.path.join(module_root, release_dir, project,"addons")] From 991ecdfe010ffd366839c5d088e668c2a8ef30ae Mon Sep 17 00:00:00 2001 From: jaynus Date: Mon, 11 May 2015 13:37:50 -0700 Subject: [PATCH 181/217] Removed: Debug sidechat in laser seeker code. --- .../functions/fnc_seekerFindLaserSpot.sqf | 74 +++++++++---------- 1 file changed, 37 insertions(+), 37 deletions(-) diff --git a/addons/laser/functions/fnc_seekerFindLaserSpot.sqf b/addons/laser/functions/fnc_seekerFindLaserSpot.sqf index 77713eb591..346aec837e 100644 --- a/addons/laser/functions/fnc_seekerFindLaserSpot.sqf +++ b/addons/laser/functions/fnc_seekerFindLaserSpot.sqf @@ -1,32 +1,32 @@ -/* - * Author: Nou - * Turn a laser designator on. - * - * Arguments: - * 0: Position of seeker (ASL) - * 1: Direction vector (will be normalized) - * 2: Seeker FOV in degrees - * 3: Seeker wavelength sensitivity range, [1550,1550] is common eye safe. - * 4: Seeker laser code. - * - * Return value: - * Array, [Strongest compatible laser spot ASL pos, owner object] Nil array values if nothing found. - */ - -#include "script_component.hpp" - -private ["_pos", "_seekerWavelengths", "_seekerCode", "_spots", "_buckets", "_excludes", "_bucketIndex", "_finalPos", "_owner", "_obj", "_x", "_method"]; -private ["_emitterWavelength", "_laserCode", "_divergence", "_laser", "_laserPos", "_laserDir", "_res", "_bucketPos", "_bucketList", "_c", "_forEachIndex", "_index"]; -private ["_testPos", "_finalBuckets", "_largest", "_largestIndex", "_finalBucket", "_owners", "_avgX", "_avgY", "_avgZ", "_count", "_maxOwner", "_maxOwnerIndex", "_finalOwner"]; -private["_dir", "_seekerCos", "_seekerFov", "_testDotProduct", "_testPoint", "_testPointVector"]; - -_pos = _this select 0; -_dir = vectorNormalized (_this select 1); +/* + * Author: Nou + * Turn a laser designator on. + * + * Arguments: + * 0: Position of seeker (ASL) + * 1: Direction vector (will be normalized) + * 2: Seeker FOV in degrees + * 3: Seeker wavelength sensitivity range, [1550,1550] is common eye safe. + * 4: Seeker laser code. + * + * Return value: + * Array, [Strongest compatible laser spot ASL pos, owner object] Nil array values if nothing found. + */ + +#include "script_component.hpp" + +private ["_pos", "_seekerWavelengths", "_seekerCode", "_spots", "_buckets", "_excludes", "_bucketIndex", "_finalPos", "_owner", "_obj", "_x", "_method"]; +private ["_emitterWavelength", "_laserCode", "_divergence", "_laser", "_laserPos", "_laserDir", "_res", "_bucketPos", "_bucketList", "_c", "_forEachIndex", "_index"]; +private ["_testPos", "_finalBuckets", "_largest", "_largestIndex", "_finalBucket", "_owners", "_avgX", "_avgY", "_avgZ", "_count", "_maxOwner", "_maxOwnerIndex", "_finalOwner"]; +private["_dir", "_seekerCos", "_seekerFov", "_testDotProduct", "_testPoint", "_testPointVector"]; + +_pos = _this select 0; +_dir = vectorNormalized (_this select 1); _seekerFov = _this select 2; _seekerWavelengths = _this select 3; -_seekerCode = _this select 4; - - +_seekerCode = _this select 4; + + _seekerCos = cos _seekerFov; _spots = []; @@ -47,9 +47,9 @@ _finalOwner = nil; _laser = []; if(IS_CODE(_method)) then { _laser = _x call _method; - } else { - if(IS_STRING(_method)) then { - _laser = _x call (missionNamespace getVariable [_method, {}]); + } else { + if(IS_STRING(_method)) then { + _laser = _x call (missionNamespace getVariable [_method, {}]); } else { if(IS_ARRAY(_method)) then { if(count _method == 2) then { @@ -59,18 +59,18 @@ _finalOwner = nil; _laser = [ATLtoASL (_obj modelToWorldVisual (_method select 0)), (ATLtoASL (_obj modelToWorldVisual (_method select 1))) vectorFromTo (ATLtoASL (_obj modelToWorldVisual (_method select 2)))]; }; }; - }; + }; }; }; _laserPos = _laser select 0; _laserDir = _laser select 1; _res = [_laserPos, _laserDir, _divergence] call FUNC(shootCone); - { - _testPoint = _x select 0; - _testPointVector = vectorNormalized (_testPoint vectorDiff _pos); - _testDotProduct = _dir vectorDotProduct _testPointVector; + { + _testPoint = _x select 0; + _testPointVector = vectorNormalized (_testPoint vectorDiff _pos); + _testDotProduct = _dir vectorDotProduct _testPointVector; if(_testDotProduct > _seekerCos) then { - _spots pushBack [_testPoint, _owner]; + _spots pushBack [_testPoint, _owner]; }; } forEach (_res select 2); }; @@ -128,7 +128,7 @@ if((count _spots) > 0) then { _avgY = 0; _avgZ = 0; { - player sideChat format["x: %1", _x]; + //player sideChat format["x: %1", _x]; _avgX = _avgX + ((_x select 0) select 0); _avgY = _avgY + ((_x select 0) select 1); _avgZ = _avgZ + ((_x select 0) select 2); From 8e7763af0820bf31fae7dd27d47c03f9399c1de7 Mon Sep 17 00:00:00 2001 From: jaynus Date: Mon, 11 May 2015 13:50:24 -0700 Subject: [PATCH 182/217] Removed: systemChat debug in captive --- addons/captives/XEH_postInit.sqf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/captives/XEH_postInit.sqf b/addons/captives/XEH_postInit.sqf index f91f24025e..da2192d3d6 100644 --- a/addons/captives/XEH_postInit.sqf +++ b/addons/captives/XEH_postInit.sqf @@ -11,7 +11,7 @@ if (isServer) then { _escortedUnit = _disconnectedPlayer getVariable [QGVAR(escortedUnit), objNull]; if ((!isNull _escortedUnit) && {(attachedTo _escortedUnit) == _disconnectedPlayer}) then { detach _escortedUnit; - systemChat "debug: DC detach"; + //systemChat "debug: DC detach"; }; if (_disconnectedPlayer getVariable [QGVAR(isEscorting), false]) then { _disconnectedPlayer setVariable [QGVAR(isEscorting), false, true]; From ef836d119125b422b1951a22c2aba8c215cfceba Mon Sep 17 00:00:00 2001 From: VKing Date: Mon, 11 May 2015 23:17:17 +0200 Subject: [PATCH 183/217] Hacked order to fix order of comanche zoom levels --- addons/aircraft/Heli_Attack_01_base_F.hpp | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/addons/aircraft/Heli_Attack_01_base_F.hpp b/addons/aircraft/Heli_Attack_01_base_F.hpp index 14ca7ef7cd..3566336353 100644 --- a/addons/aircraft/Heli_Attack_01_base_F.hpp +++ b/addons/aircraft/Heli_Attack_01_base_F.hpp @@ -891,8 +891,7 @@ class Heli_Attack_01_base_F: Helicopter_Base_F { class OpticsIn { - class WideUnstabalized - { + class Wide { // Wide Unstabilized opticsDisplayName = "WU"; initAngleX = 0; minAngleX = -35; @@ -910,8 +909,7 @@ class Heli_Attack_01_base_F: Helicopter_Base_F { horizontallyStabilized = 1; gunnerOpticsModel = "\A3\Weapons_F_Beta\Reticle\Heli_Attack_01_Optics_Gunner_wide_F"; }; - class Wide - { + class Medium: Wide { // Wide Stabilized opticsDisplayName = "W"; initAngleX = 0; minAngleX = -35; @@ -929,8 +927,7 @@ class Heli_Attack_01_base_F: Helicopter_Base_F { horizontallyStabilized = 1; gunnerOpticsModel = "\A3\Weapons_F_Beta\Reticle\Heli_Attack_01_Optics_Gunner_wide_F"; }; - class Medium: Wide - { + class Narrow: Wide { // Medium Stabilized opticsDisplayName = "M"; initFov = 0.093; minFov = 0.093; @@ -940,8 +937,7 @@ class Heli_Attack_01_base_F: Helicopter_Base_F { horizontallyStabilized = 1; gunnerOpticsModel = "\A3\Weapons_F_Beta\Reticle\Heli_Attack_01_Optics_Gunner_medium_F"; }; - class Narrow: Wide - { + class Narrower: Wide { // Narrow Stabilized opticsDisplayName = "N"; initFov = 0.029; minFov = 0.029; @@ -952,8 +948,7 @@ class Heli_Attack_01_base_F: Helicopter_Base_F { gunnerOpticsModel = "\A3\Weapons_F_Beta\Reticle\Heli_Attack_01_Optics_Gunner_narrow_F"; }; - class Narrower: Wide - { + class Narrowest: Wide { // Narrower Stabilized opticsDisplayName = "Z"; initFov = 0.01; minFov = 0.01; From e75c4594e61f8b5744cefed0f1020a26e6f3b641 Mon Sep 17 00:00:00 2001 From: ViperMaul Date: Mon, 11 May 2015 15:17:44 -0700 Subject: [PATCH 184/217] Added missing $PBOPREFIX$ for respawn --- addons/respawn/$PBOPREFIX$ | 1 + 1 file changed, 1 insertion(+) create mode 100644 addons/respawn/$PBOPREFIX$ diff --git a/addons/respawn/$PBOPREFIX$ b/addons/respawn/$PBOPREFIX$ new file mode 100644 index 0000000000..072ffe81e3 --- /dev/null +++ b/addons/respawn/$PBOPREFIX$ @@ -0,0 +1 @@ +z\ace\addons\respawn \ No newline at end of file From 7efe8ccba52551893ddb0028af8c463ed3cff232 Mon Sep 17 00:00:00 2001 From: jaynus Date: Mon, 11 May 2015 16:44:17 -0700 Subject: [PATCH 185/217] Added: waveHeightAt Function, refs #1024 for use. --- addons/common/XEH_preInit.sqf | 1 + addons/common/functions/fnc_waveHeightAt.sqf | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+) create mode 100644 addons/common/functions/fnc_waveHeightAt.sqf diff --git a/addons/common/XEH_preInit.sqf b/addons/common/XEH_preInit.sqf index 5c2ad1e592..8230a4eb0b 100644 --- a/addons/common/XEH_preInit.sqf +++ b/addons/common/XEH_preInit.sqf @@ -183,6 +183,7 @@ PREP(unmuteUnit); PREP(useItem); PREP(useMagazine); PREP(waitAndExecute); +PREP(waveHeightAt); PREP(translateToWeaponSpace); PREP(translateToModelSpace); diff --git a/addons/common/functions/fnc_waveHeightAt.sqf b/addons/common/functions/fnc_waveHeightAt.sqf new file mode 100644 index 0000000000..fbfe5fb241 --- /dev/null +++ b/addons/common/functions/fnc_waveHeightAt.sqf @@ -0,0 +1,19 @@ +/* + * Author: jaynus + * + * Gets the wave height at a specific location. Uses a logic, so may be performance iffy + * + * Arguments: + * 0: Position ASL to get height at + * + * Return Value: + * Wave height in meters + * + */ + +if(isNil QGVAR(waveHeightLogic)) then { + GVAR(waveHeightLogic) = "Logic" createVehicleLocal [0,0,0]; +}; +GVAR(waveHeightLogic) setPosASL (_this select 0); + +(((getPosASLW GVAR(waveHeightLogic)) select 2) - ((getPosASL GVAR(waveHeightLogic)) select 2)) \ No newline at end of file From ddbb6ab2bb0a846d4e998bc6db36045f59eab9fc Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Mon, 11 May 2015 23:51:42 -0500 Subject: [PATCH 186/217] #1119 - Manually sync ammo globably on belt reload. --- addons/reload/XEH_postInit.sqf | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/addons/reload/XEH_postInit.sqf b/addons/reload/XEH_postInit.sqf index 149317c136..4444fe1e34 100644 --- a/addons/reload/XEH_postInit.sqf +++ b/addons/reload/XEH_postInit.sqf @@ -18,6 +18,11 @@ if !(hasInterface) exitWith {}; {false}, [19, [false, true, false]], false] call cba_fnc_addKeybind; +["setAmmoSync", { + //To propagate the setAmmo change, do it on all clients + PARAMS_3(_unit,_weapon,_ammo); + _unit setAmmo [_weapon, _ammo]; +}] call EFUNC(common,addEventhandler); // Listen for attempts to link ammo ["linkedAmmo", { @@ -45,7 +50,7 @@ if !(hasInterface) exitWith {}; // Add the ammo _ammoAdded = _ammoMissing min (_magazine select 1); - _receiver setAmmo [currentWeapon _receiver, _ammoCount + _ammoAdded]; + ["setAmmoSync", [_receiver, (currentWeapon _receiver), (_ammoCount + _ammoAdded)]] call EFUNC(common,globalEvent); if ((_magazine select 1) - _ammoAdded > 0) then { ["returnedAmmo", [_giver], [_giver,_receiver,[_magazineType,(_magazine select 1) - _ammoAdded]]] call EFUNC(common,targetEvent); From 3ddc8569bb581a644c144abc8ed4bf3bc6e34bf8 Mon Sep 17 00:00:00 2001 From: VKing Date: Tue, 12 May 2015 15:53:49 +0200 Subject: [PATCH 187/217] Made better with Pabstology (tm) --- addons/aircraft/Heli_Attack_01_base_F.hpp | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/addons/aircraft/Heli_Attack_01_base_F.hpp b/addons/aircraft/Heli_Attack_01_base_F.hpp index 3566336353..26a4605910 100644 --- a/addons/aircraft/Heli_Attack_01_base_F.hpp +++ b/addons/aircraft/Heli_Attack_01_base_F.hpp @@ -891,8 +891,12 @@ class Heli_Attack_01_base_F: Helicopter_Base_F { class OpticsIn { - class Wide { // Wide Unstabilized - opticsDisplayName = "WU"; + delete Narrow; + delete Medium; + delete Wide; + + class ACE_WideUnstabilized { + opticsDisplayName = "W NS"; initAngleX = 0; minAngleX = -35; maxAngleX = 10; @@ -909,7 +913,7 @@ class Heli_Attack_01_base_F: Helicopter_Base_F { horizontallyStabilized = 1; gunnerOpticsModel = "\A3\Weapons_F_Beta\Reticle\Heli_Attack_01_Optics_Gunner_wide_F"; }; - class Medium: Wide { // Wide Stabilized + class ACE_Wide: ACE_WideUnstabilized { opticsDisplayName = "W"; initAngleX = 0; minAngleX = -35; @@ -927,7 +931,7 @@ class Heli_Attack_01_base_F: Helicopter_Base_F { horizontallyStabilized = 1; gunnerOpticsModel = "\A3\Weapons_F_Beta\Reticle\Heli_Attack_01_Optics_Gunner_wide_F"; }; - class Narrow: Wide { // Medium Stabilized + class ACE_Medium: ACE_Wide { opticsDisplayName = "M"; initFov = 0.093; minFov = 0.093; @@ -937,7 +941,7 @@ class Heli_Attack_01_base_F: Helicopter_Base_F { horizontallyStabilized = 1; gunnerOpticsModel = "\A3\Weapons_F_Beta\Reticle\Heli_Attack_01_Optics_Gunner_medium_F"; }; - class Narrower: Wide { // Narrow Stabilized + class ACE_Narrow: ACE_Wide { opticsDisplayName = "N"; initFov = 0.029; minFov = 0.029; @@ -948,7 +952,7 @@ class Heli_Attack_01_base_F: Helicopter_Base_F { gunnerOpticsModel = "\A3\Weapons_F_Beta\Reticle\Heli_Attack_01_Optics_Gunner_narrow_F"; }; - class Narrowest: Wide { // Narrower Stabilized + class ACE_Narrower: ACE_Wide { opticsDisplayName = "Z"; initFov = 0.01; minFov = 0.01; From 66f5ed43c0cacfdc5c066eb33a2549f095a87751 Mon Sep 17 00:00:00 2001 From: ViperMaul Date: Tue, 12 May 2015 07:05:48 -0700 Subject: [PATCH 188/217] More help on certain errors in make.py --- tools/make.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/tools/make.py b/tools/make.py index ce92e72ea7..b461d77946 100644 --- a/tools/make.py +++ b/tools/make.py @@ -1224,8 +1224,9 @@ See the make.cfg file for additional build options. if build_successful: cache[module] = new_sha - except: - print_yellow("Cancel or some error detected.") + except Exception as e: + print_yellow("Cancel or some error detected: {}".format(e)) + finally: copy_important_files(module_root_parent,os.path.join(release_dir, "@ace")) From ab580dd1c7bb0dba710a42f0193bb312eceac0c0 Mon Sep 17 00:00:00 2001 From: ViperMaul Date: Tue, 12 May 2015 07:08:45 -0700 Subject: [PATCH 189/217] Set version number to 3.0.0.3 --- addons/main/script_mod.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/main/script_mod.hpp b/addons/main/script_mod.hpp index 5777d7223e..c4bd23f779 100644 --- a/addons/main/script_mod.hpp +++ b/addons/main/script_mod.hpp @@ -6,7 +6,7 @@ #define MAJOR 3 #define MINOR 0 #define PATCHLVL 0 -#define BUILD 2 +#define BUILD 3 #define VERSION MAJOR.MINOR.PATCHLVL.BUILD #define VERSION_AR MAJOR,MINOR,PATCHLVL,BUILD From 6a821715a04b3f8f4f57c41859ec12adbcf66542 Mon Sep 17 00:00:00 2001 From: Grzegorz Sikora Date: Tue, 12 May 2015 00:24:12 +0200 Subject: [PATCH 190/217] Stringtable modules Conflicts: addons/missionmodules/CfgVehicles.hpp addons/respawn/CfgVehicles.hpp --- addons/advanced_ballistics/CfgVehicles.hpp | 43 +- addons/advanced_ballistics/stringtable.xml | 80 ++++ addons/ballistics/CfgVehicles.hpp | 2 +- addons/ballistics/stringtable.xml | 6 +- addons/captives/CfgVehicles.hpp | 6 +- addons/captives/stringtable.xml | 8 + addons/common/CfgVehicles.hpp | 40 +- addons/common/config.cpp | 4 +- addons/common/stringtable.xml | 60 +++ addons/explosives/CfgModule.hpp | 28 +- addons/explosives/stringtable.xml | 32 ++ addons/hearing/CfgVehicles.hpp | 13 +- addons/hearing/stringtable.xml | 24 ++ addons/interaction/CfgVehicles.hpp | 13 +- addons/interaction/stringtable.xml | 34 +- addons/map/CfgVehicles.hpp | 56 +-- addons/map/stringtable.xml | 77 +++- addons/medical/CfgFactionClasses.hpp | 2 +- addons/medical/CfgVehicles.hpp | 219 +++++----- addons/medical/config.cpp | 2 +- .../functions/fnc_actionCheckPulseLocal.sqf | 2 +- addons/medical/stringtable.xml | 378 +++++++++++++++++- addons/microdagr/CfgVehicles.hpp | 18 +- addons/microdagr/stringtable.xml | 28 ++ addons/missileguidance/ACE_Settings.hpp | 2 +- addons/missileguidance/stringtable.xml | 12 + addons/missionmodules/CfgFactionClasses.hpp | 2 +- addons/missionmodules/CfgVehicles.hpp | 34 +- addons/missionmodules/stringtable.xml | 73 ++++ addons/mk6mortar/CfgVehicles.hpp | 18 +- addons/mk6mortar/stringtable.xml | 32 ++ addons/nametags/CfgVehicles.hpp | 44 +- addons/nametags/config.cpp | 6 +- addons/nametags/stringtable.xml | 96 +++++ addons/optionsmenu/CfgVehicles.hpp | 10 +- addons/optionsmenu/stringtable.xml | 44 ++ addons/respawn/CfgVehicleClasses.hpp | 2 +- addons/respawn/CfgVehicles.hpp | 42 +- addons/respawn/stringtable.xml | 56 +++ addons/switchunits/CfgVehicles.hpp | 51 +-- addons/switchunits/stringtable.xml | 64 +++ addons/vehiclelock/CfgVehicles.hpp | 28 +- addons/vehiclelock/stringtable.xml | 52 +++ addons/weather/CfgVehicles.hpp | 31 +- addons/weather/stringtable.xml | 56 +++ addons/winddeflection/CfgVehicles.hpp | 23 +- addons/winddeflection/stringtable.xml | 40 ++ 47 files changed, 1656 insertions(+), 337 deletions(-) create mode 100644 addons/missionmodules/stringtable.xml diff --git a/addons/advanced_ballistics/CfgVehicles.hpp b/addons/advanced_ballistics/CfgVehicles.hpp index fda4b9a8ff..4e42f35f72 100644 --- a/addons/advanced_ballistics/CfgVehicles.hpp +++ b/addons/advanced_ballistics/CfgVehicles.hpp @@ -2,7 +2,7 @@ class CfgVehicles { class ACE_Module; class GVAR(ModuleSettings): ACE_Module { scope = 2; - displayName = "Advanced Ballistics"; + displayName = "$STR_ACE_AdvancedBallistics_DisplayName"; icon = QUOTE(PATHTOF(UI\Icon_Module_Wind_ca.paa)); category = "ACE"; function = QUOTE(DFUNC(initModuleSettings)); @@ -12,26 +12,26 @@ class CfgVehicles { author = "Ruthberg"; class Arguments { class enabled { - displayName = "Advanced Ballistics"; - description = "Enables advanced ballistics"; + displayName = "$STR_ACE_AdvancedBallistics_enabled_DisplayName"; + description = "$STR_ACE_AdvancedBallistics_enabled_Description"; typeName = "BOOL"; defaultValue = 0; }; class alwaysSimulateForSnipers { - displayName = "Always Enabled For Snipers"; - description = "Always enables advanced ballistics when high power optics are used"; + displayName = "$STR_ACE_AdvancedBallistics_alwaysSimulateForSnipers_DisplayName"; + description = "$STR_ACE_AdvancedBallistics_alwaysSimulateForSnipers_Description"; typeName = "BOOL"; defaultValue = 1; }; class disabledInFullAutoMode { - displayName = "Disabled In FullAuto Mode"; - description = "Disables the advanced ballistics during full auto fire"; + displayName = "$STR_ACE_AdvancedBallistics_disabledInFullAutoMod_DisplayName"; + description = "$STR_ACE_AdvancedBallistics_disabledInFullAutoMod_Description"; typeName = "BOOL"; defaultValue = 0; }; class onlyActiveForLocalPlayers { - displayName = "Disabled For Non Local Players"; - description = "Disables the advanced ballistics for bullets coming from other players (enable this if you encounter frame drops during heavy firefights in multiplayer)"; + displayName = "$STR_ACE_AdvancedBallistics_onlyActiveForLocalPlayers_DisplayName"; + description = "$STR_ACE_AdvancedBallistics_onlyActiveForLocalPlayers_Description"; typeName = "BOOL"; defaultValue = 1; }; @@ -44,35 +44,38 @@ class CfgVehicles { }; */ class ammoTemperatureEnabled { - displayName = "Enable Ammo Temperature Simulation"; - description = "Muzzle velocity varies with ammo temperature"; + displayName = "$STR_ACE_AdvancedBallistics_ammoTemperatureEnabled_DisplayName"; + description = "$STR_ACE_AdvancedBallistics_ammoTemperatureEnabled_Description"; typeName = "BOOL"; defaultValue = 1; }; class barrelLengthInfluenceEnabled { - displayName = "Enable Barrel Length Simulation"; - description = "Muzzle velocity varies with barrel length"; + displayName = "$STR_ACE_AdvancedBallistics_barrelLengthInfluenceEnabled_DisplayName"; + description = "$STR_ACE_AdvancedBallistics_barrelLengthInfluenceEnabled_Description"; typeName = "BOOL"; defaultValue = 1; }; class bulletTraceEnabled { - displayName = "Enable Bullet Trace Effect"; - description = "Enables a bullet trace effect to high caliber bullets (only visible when looking through high power optics)"; + displayName = "$STR_ACE_AdvancedBallistics_bulletTraceEnabled_DisplayName"; + description = "$STR_ACE_AdvancedBallistics_bulletTraceEnabled_Description"; typeName = "BOOL"; defaultValue = 1; }; class simulationInterval { - displayName = "Simulation Interval"; - description = "Defines the interval between every calculation step"; + displayName = "$STR_ACE_AdvancedBallistics_simulationInterval_DisplayName"; + description = "$STR_ACE_AdvancedBallistics_simulationInterval_Description"; typeName = "NUMBER"; defaultValue = 0.0; }; class simulationRadius { - displayName = "Simulation Radius"; - description = "Defines the radius around the player (in meters) at which advanced ballistics are applied to projectiles"; + displayName = "$STR_ACE_AdvancedBallistics_simulationRadius_DisplayName"; + description = "$STR_ACE_AdvancedBallistics_simulationRadius_Description"; typeName = "NUMBER"; defaultValue = 3000; }; }; + class ModuleDescription { + description = "$STR_ACE_AdvancedBallistics_Description"; + }; }; -}; +}; \ No newline at end of file diff --git a/addons/advanced_ballistics/stringtable.xml b/addons/advanced_ballistics/stringtable.xml index 0de8071754..565e4bd801 100644 --- a/addons/advanced_ballistics/stringtable.xml +++ b/addons/advanced_ballistics/stringtable.xml @@ -25,5 +25,85 @@ Zobrazit úhloměr Mostrar Transferidor + + Advanced Ballistics + Zaawansowana balistyka + + + Advanced Ballistics + Zaawansowana balistyka + + + Enables advanced ballistics + Aktywuje zaawansowaną balistykę + + + Always Enabled For Snipers + Zawsze akt. dla snajp. + + + Always enables advanced ballistics when high power optics are used + Aktywuje zaawansowaną balistykę zawsze, kiedy używana jest optyka + + + Disabled In FullAuto Mode + Wył. podczas ognia auto. + + + Disables the advanced ballistics during full auto fire + Dezaktywuje zaawansowaną balistykę podczas ognia automatycznego + + + Disabled For Non Local Players + Wyłącz dla nielok. graczy + + + Disables the advanced ballistics for bullets coming from other players (enable this if you encounter frame drops during heavy firefights in multiplayer) + Dezaktywuje zaawansowaną balistykę dla pocisków pochodzących od innych graczy(aktywuj tą opcję jeżeli odczuwasz spadki FPS podczas sporych strzelanin w MP) + + + Enable Ammo Temperature Simulation + Symulacja temp. amunicji + + + Muzzle velocity varies with ammo temperature + Prędkość wylotowa pocisku jest zależna od temperatury amunicji + + + Enable Barrel Length Simulation + Symulacja długości lufy + + + Muzzle velocity varies with barrel length + Prędkość wylotowa pocisku jest zależna od długości lufy + + + Enable Bullet Trace Effect + Efekt smugi pocisku + + + Enables a bullet trace effect to high caliber bullets (only visible when looking through high power optics) + Aktywuje efekt smugi pocisku dla pocisków wysokokalibrowych (widoczne tylko podczas patrzenia przez optykę) + + + Simulation Interval + Interwał symulacji + + + Defines the interval between every calculation step + Określa interwał pomiędzy każdym krokiem kalkulacji + + + Simulation Radius + Zasięg symulacji + + + Defines the radius around the player (in meters) at which advanced ballistics are applied to projectiles + Określa obszar naokoło gracza (w metrach), na którym zaawansowana balistyka jest aplikowana dla pocisków + + + + Moduł ten pozwala aktywować zaawansowaną balistykę biorącą przy obliczeniach trajektorii lotu pocisku pod uwagę takie rzeczy jak temperatura powietrza, ciśnienie atmosferyczne, wilgotność powietrza, siły Coriolisa i Eotvosa, grawitację a także broń z jakiej wykonywany jest strzał oraz rodzaj amunicji. Wszystko to sprowadza się na bardzo dokładne odwzorowanie balistyki. + \ No newline at end of file diff --git a/addons/ballistics/CfgVehicles.hpp b/addons/ballistics/CfgVehicles.hpp index 82e7fef5e3..0ad697d91e 100644 --- a/addons/ballistics/CfgVehicles.hpp +++ b/addons/ballistics/CfgVehicles.hpp @@ -190,7 +190,7 @@ class CfgVehicles { class ACE_Box_Ammo: NATO_Box_Base { scope = 2; accuracy = 1000; - displayName = "[ACE] Ammo Supply Crate"; + displayName = "$STR_ACE_AmmoSupplyCrate_DisplayName"; model = "\A3\weapons_F\AmmoBoxes\AmmoBox_F"; author = "$STR_ACE_Common_ACETeam"; class TransportMagazines { diff --git a/addons/ballistics/stringtable.xml b/addons/ballistics/stringtable.xml index 7c6d9c85ad..85ac44b4de 100644 --- a/addons/ballistics/stringtable.xml +++ b/addons/ballistics/stringtable.xml @@ -1592,5 +1592,9 @@ Calibre: 12.7x99mm (AMAX)<br/>Cartuchos: 5 Kaliber: 12,7x99mm (AMAX)<br />Lövedékek: 5 + + [ACE] Ammo Supply Crate + [ACE] Skrzynka z amunicją + - \ No newline at end of file + diff --git a/addons/captives/CfgVehicles.hpp b/addons/captives/CfgVehicles.hpp index 1e2eb3f201..91c47824fd 100644 --- a/addons/captives/CfgVehicles.hpp +++ b/addons/captives/CfgVehicles.hpp @@ -161,7 +161,7 @@ class CfgVehicles { class GVAR(ModuleSurrender): Module_F { author = "$STR_ACE_Common_ACETeam"; category = "ACE"; - displayName = "Make Unit Surrender"; + displayName = "$STR_ACE_Captives_ModuleSurrender_DisplayName"; //Make Unit Surrender function = QUOTE(DFUNC(moduleSurrender)); scope = 2; //show in editor scopeCurator = 2; //show in zeus @@ -172,8 +172,8 @@ class CfgVehicles { functionPriority = 0; class Arguments {}; class ModuleDescription: ModuleDescription { - description = "Sync a unit to make them surrender.
Source: ace_captives"; + description = "$STR_ACE_Captives_ModuleSurrender_Description"; //Sync a unit to make them surrender.
Source: ace_captives sync[] = {"AnyAI"}; }; }; -}; +}; \ No newline at end of file diff --git a/addons/captives/stringtable.xml b/addons/captives/stringtable.xml index def173c55b..07cf780e19 100644 --- a/addons/captives/stringtable.xml +++ b/addons/captives/stringtable.xml @@ -193,5 +193,13 @@ Semmi sincs az egér alatt Nessuna selezione + + Make Unit Surrender + Poddaj się! + + + Sync a unit to make them surrender.<br />Source: ace_captives + Zsynchronizuj z jednostką aby sprawić by się poddała<br />Źródło: ace_captives + diff --git a/addons/common/CfgVehicles.hpp b/addons/common/CfgVehicles.hpp index 5a00c038e7..70d84b376c 100644 --- a/addons/common/CfgVehicles.hpp +++ b/addons/common/CfgVehicles.hpp @@ -25,72 +25,82 @@ class CfgVehicles { // += needs a non inherited entry in that class, otherwise it simply overwrites //#include - class Module_F; - class ACE_ModuleCheckPBOs: Module_F { + class Logic; + class Module_F: Logic { + class ModuleDescription {}; + }; + class ACE_ModuleCheckPBOs: Module_F { author = "$STR_ACE_Common_ACETeam"; category = "ACE"; - displayName = "Check PBOs"; + displayName = "$STR_ACE_Common_CheckPBO_DisplayName"; function = QFUNC(moduleCheckPBOs); scope = 2; isGlobal = 1; icon = QUOTE(PATHTOF(UI\Icon_Module_CheckPBO_ca.paa)); class Arguments { class Action { - displayName = "Action"; - description = "What to do with people who do not have the right PBOs?"; + displayName = "$STR_ACE_Common_CheckPBO_Action_DisplayName"; + description = "$STR_ACE_Common_CheckPBO_Action_Description"; class values { class WarnOnce { default = 1; - name = "Warn once"; + name = "$STR_ACE_Common_CheckPBO_Action_WarnOnce"; value = 0; }; class Warn { - name = "Warn (permanent)"; + name = "$STR_ACE_Common_CheckPBO_Action_WarnPerm"; value = 1; }; class Kick { - name = "Kick"; + name = "$STR_ACE_Common_CheckPBO_Action_Kick"; value = 2; }; }; }; class CheckAll { - displayName = "Check all addons"; - description = "Check all addons instead of only those of ACE?"; + displayName = "$STR_ACE_Common_CheckPBO_CheckAll_DisplayName"; + description = "$STR_ACE_Common_CheckPBO_CheckAll_Description"; typeName = "BOOL"; class values { class WarnOnce { default = 1; - name = "No"; + name = "$STR_ACE_Common_CheckPBO_CheckAll_No"; value = 0; }; class Warn { - name = "Yes"; + name = "$STR_ACE_Common_CheckPBO_CheckAll_Yes"; value = 1; }; }; }; class Whitelist { - displayName = "Whitelist"; - description = "What addons are allowed regardless?"; + displayName = "$STR_ACE_Common_CheckPBO_Whitelist_DisplayName"; + description = "$STR_ACE_Common_CheckPBO_Whitelist_Description"; typeName = "STRING"; class values { default = "[]"; }; }; }; + class ModuleDescription: ModuleDescription { + description = "$STR_ACE_Common_CheckPBO_Description"; + }; }; class ACE_ModuleLSDVehicles: Module_F { author = "$STR_ACE_Common_ACETeam"; category = "ACE"; - displayName = "LSD Vehicles"; + displayName = "$STR_ACE_Common_LSDVehicles_DisplayName"; function = "ACE_Common_fnc_moduleLSDVehicles"; scope = 2; icon = QUOTE(PATHTOF(UI\Icon_Module_LSD_ca.paa)); isGlobal = 1; class Arguments { }; + class ModuleDescription: ModuleDescription { + description = "$STR_ACE_Common_LSDVehicles_Description"; + sync[] = {"AnyVehicle"}; + }; }; class Box_NATO_Support_F; diff --git a/addons/common/config.cpp b/addons/common/config.cpp index 27647f8d00..3f1e5a6308 100644 --- a/addons/common/config.cpp +++ b/addons/common/config.cpp @@ -101,7 +101,7 @@ class ACE_Settings { isClientSettable = 1; displayName = "$STR_ACE_Common_SettingFeedbackIconsName"; description = "$STR_ACE_Common_SettingFeedbackIconsDesc"; - values[] = {"Hide", "Top right, downwards", "Top right, to the left", "Top left, downwards", "Top left, to the right"}; + values[] = {"$STR_ACE_Common_Hide", "$STR_ACE_Common_TopRightDown", "$STR_ACE_Common_TopRightLeft", "$STR_ACE_Common_TopLeftDown", "$STR_ACE_Common_TopLeftRight"}; }; class GVAR(SettingProgressBarLocation) { value = 0; @@ -110,7 +110,7 @@ class ACE_Settings { isClientSettable = 1; displayName = "$STR_ACE_Common_SettingProgressbarLocationName"; description = "$STR_ACE_Common_SettingProgressbarLocationDesc"; - values[] = {"Top", "Bottom"}; + values[] = {"$STR_ACE_Common_Top", "$STR_ACE_Common_Bottom"}; }; class GVAR(displayTextColor) { value[] = {0,0,0,0.1}; diff --git a/addons/common/stringtable.xml b/addons/common/stringtable.xml index 8d28704362..4ddc0112d8 100644 --- a/addons/common/stringtable.xml +++ b/addons/common/stringtable.xml @@ -470,5 +470,65 @@ Une banane est un fruit qui, d'un point de vue botanique, fait partie du groupe des baies. Produite par plusieurs sortes de grandes plantes à fleurs herbacées du type Musa. A banana é uma fruta comestível, botanicamente uma baga, produzida por vários tipos de plantas herbáceas grandes do genero Musa. + + Check PBOs + Sprawdzaj PBO + + + + Sprawdzaj spójność addonów z serwerem + + + Action + Akcja + + + What to do with people who do not have the right PBOs? + Co zrobić z graczami, którzy nie mają właściwych PBO? + + + Warn once + Ostrzeż raz + + + Warn (permanent) + Ostrzeżenie (permanentne) + + + Kick + Kick + + + Check all addons + Sprawdź wsz. addony + + + Check all addons instead of only those of ACE? + Sprawdzaj wszystkie addony czy tylko te z ACE? + + + No + Tylko ACE + + + Yes + Wszystkie + + + Whitelist + Biała lista + + + What addons are allowed regardless? + Jakie addony są dozwolone? + + + LSD Vehicles + Pojazdy LSD + + + Adds LSD effect to synchronized vehicle + Dodaje efekt LSD pod zsynchronizowany pojazd + diff --git a/addons/explosives/CfgModule.hpp b/addons/explosives/CfgModule.hpp index b4f7b65a83..50b59fc55d 100644 --- a/addons/explosives/CfgModule.hpp +++ b/addons/explosives/CfgModule.hpp @@ -1,44 +1,50 @@ -class Module_F; +class Logic; +class Module_F: Logic { + class ModuleDescription {}; +}; class ACE_ModuleExplosive: Module_F { author = "$STR_ACE_Common_ACETeam"; category = "ACE"; - displayName = "Explosive System"; + displayName = "$STR_ACE_Explosive_Module_DisplayName"; function = QUOTE(FUNC(module)); scope = 2; isGlobal = 1; icon = PATHTOF(UI\Icon_Module_Explosives_ca.paa); class Arguments { class RequireSpecialist { - displayName = "Require specialists?"; - description = "Require explosive specialists to disable explosives? Default: No"; + displayName = "$STR_ACE_Explosive_RequireSpecialist_DisplayName"; + description = "$STR_ACE_Explosive_RequireSpecialist_Description"; typeName = "BOOL"; class values { class Yes { - name = "Yes"; + name = "$STR_ACE_Explosive_Yes"; value = 1; }; class No { default = 1; - name = "No"; + name = "$STR_ACE_Explosive_No"; value = 0; }; }; }; class PunishNonSpecialists { - displayName = "Punish non-specialists?"; - description = "Increase the time it takes to complete actions for non-specialists? Default: Yes"; + displayName = "$STR_ACE_Explosive_PunishNonSpecialists_DisplayName"; + description = "$STR_ACE_Explosive_PunishNonSpecialists_Description"; typeName = "BOOL"; class values { class Yes { default = 1; - name = "Yes"; + name = "$STR_ACE_Explosive_Yes"; value = 1; }; class No { - name = "No"; + name = "$STR_ACE_Explosive_No"; value = 0; }; }; }; }; -}; + class ModuleDescription: ModuleDescription { + description = "$STR_ACE_Explosive_Module_Description"; + }; +}; \ No newline at end of file diff --git a/addons/explosives/stringtable.xml b/addons/explosives/stringtable.xml index 9d885c236c..5eb5d28512 100644 --- a/addons/explosives/stringtable.xml +++ b/addons/explosives/stringtable.xml @@ -505,5 +505,37 @@ Raccogli Pegar + + Explosive System + System ładunków wybuchowych + + + Require specialists? + Wymagaj specjalistów? + + + Require explosive specialists to disable explosives? Default: No + Wymagać saperów do rozbrajania ładunków wybuchowych? Domyślnie: Nie + + + Yes + Tak + + + No + Nie + + + Punish non-specialists? + Karaj nie-specjalistów? + + + Increase the time it takes to complete actions for non-specialists? Default: Yes + Zwiększyć ilość wymaganego czasu do ukończenia akcji dla nie-specjalistów? Domyślnie: Tak + + + + Moduł ten pozwala dostosować opcje związane z ładunkami wybuchowymi, ich podkładaniem oraz rozbrajaniem. + diff --git a/addons/hearing/CfgVehicles.hpp b/addons/hearing/CfgVehicles.hpp index 6c77255384..d20d067981 100644 --- a/addons/hearing/CfgVehicles.hpp +++ b/addons/hearing/CfgVehicles.hpp @@ -98,21 +98,24 @@ class CfgVehicles { class ACE_ModuleHearing: Module_F { author = "$STR_ACE_Common_ACETeam"; category = "ACE"; - displayName = "Hearing"; + displayName = "$STR_ACE_Hearing_Module_DisplayName"; //Hearing function = QFUNC(moduleHearing); scope = 2; isGlobal = 1; icon = PATHTOF(UI\Icon_Module_Hearing_ca.paa); class Arguments { class EnableCombatDeafness { - displayName = "Enable combat deafness?"; - description = "Enable combat deafness?"; + displayName = "$STR_ACE_Hearing_CombatDeafness_DisplayName"; //Enable combat deafness? + description = "$STR_ACE_Hearing_CombatDeafness_Description"; //Enable combat deafness? typeName = "BOOL"; class values { - class Yes { name = "Yes"; value = 1; default = 1; }; - class No { name = "No"; value = 0; }; + class Yes { name = "$STR_ACE_Hearing_CombatDeafness_Yes"; value = 1; default = 1; }; //yes + class No { name = "$STR_ACE_Hearing_CombatDeafness_No"; value = 0; }; //no }; }; + }; + class ModuleDescription { + description = "$STR_ACE_Hearing_Module_Description"; }; }; }; diff --git a/addons/hearing/stringtable.xml b/addons/hearing/stringtable.xml index e6f59604a3..e532768fd9 100644 --- a/addons/hearing/stringtable.xml +++ b/addons/hearing/stringtable.xml @@ -109,5 +109,29 @@ Disabilita i fischi nelle orecchie Desabilitar zumbido de ouvidos + + Hearing + Słuch + + + Enable combat deafness? + Wł. głuchotę bojową + + + Enable combat deafness? + Możliwość chwilowej utraty słuchu przy głośnych wystrzałach i jednoczesnym braku włożonych stoperów + + + Yes + Tak + + + No + Nie + + + + Głuchota bojowa pojawia się w momentach, kiedy stoimy w pobliżu broni wielkokalibrowej bez ochrony słuchu, lub np. podczas ostrzału artyleryjskiego. Moduł ten pozwala na włączenie lub wyłączenie tego efektu. + diff --git a/addons/interaction/CfgVehicles.hpp b/addons/interaction/CfgVehicles.hpp index 5548311718..9968c490e1 100644 --- a/addons/interaction/CfgVehicles.hpp +++ b/addons/interaction/CfgVehicles.hpp @@ -4,21 +4,24 @@ class CfgVehicles { class ACE_ModuleInteraction: Module_F { author = "$STR_ACE_Common_ACETeam"; category = "ACE"; - displayName = "Interaction System"; + displayName = "$STR_ACE_InteractionSystem_Module_DisplayName"; function = "ACE_Interaction_fnc_moduleInteraction"; scope = 2; isGlobal = 1; icon = PATHTOF(UI\Icon_Module_Interaction_ca.paa); class Arguments { class EnableTeamManagement { - displayName = "Enable Team Management"; - description = "Should players be allowed to use the Team Management Menu? Default: Yes"; + displayName = "$STR_ACE_InteractionSystem_EnableTeamManagement_DisplayName"; + description = "$STR_ACE_InteractionSystem_EnableTeamManagement_Description"; typeName = "BOOL"; class values { - class Yes { default = 1; name = "Yes"; value = 1;}; - class No { name = "No"; value = 0; }; + class Yes { default = 1; name = "$STR_ACE_InteractionSystem_EnableTeamManagement_Yes"; value = 1;}; + class No { name = "$STR_ACE_InteractionSystem_EnableTeamManagement_No"; value = 0; }; }; }; + }; + class ModuleDescription { + description = "$STR_ACE_InteractionSystem_Module_Description"; }; }; diff --git a/addons/interaction/stringtable.xml b/addons/interaction/stringtable.xml index 32a901507b..153b94a1d9 100644 --- a/addons/interaction/stringtable.xml +++ b/addons/interaction/stringtable.xml @@ -522,7 +522,7 @@ Rot Rojo Rouge - Czerwony + Czerwonych Červený Красный Vermelha @@ -534,7 +534,7 @@ Grün Verde Vert - Zielony + Zielonych Zelený Зеленый Verde @@ -546,7 +546,7 @@ Blau Azul Bleu - Niebieski + Niebieskich Modrý Синий Azul @@ -558,7 +558,7 @@ Gelb Amarillo Jaune - Żółty + Żółtych Žlutý Жёлтый Amarela @@ -666,7 +666,7 @@ Du bist Gruppe %1 beigetreten Te has unido al equipo %1 Tu as rejoint l'équipe %1 - Dołączyłeś do drużyny %1 + Dołączyłeś do %1 Připojil ses do %1 týmu Вы присоединились к группе %1 Você uniu-se à Equipe %1 @@ -793,5 +793,29 @@ Passeggeri Passageiros + + Interaction System + System interakcji + + + Enable Team Management + Wł. zarządzanie drużyną + + + Should players be allowed to use the Team Management Menu? Default: Yes + Czy gracze mogą korzystać z menu zarządzania drużyną? Domyślnie: Tak + + + Yes + Tak + + + No + Nie + + + + Na zarządzanie drużyną składa się: przydział kolorów dla członków drużyny, przejmowanie dowodzenia, dołączanie/opuszczanie drużyn. + diff --git a/addons/map/CfgVehicles.hpp b/addons/map/CfgVehicles.hpp index 612cadb006..150ac23930 100644 --- a/addons/map/CfgVehicles.hpp +++ b/addons/map/CfgVehicles.hpp @@ -3,74 +3,80 @@ class CfgVehicles { class ACE_ModuleMap: Module_F { author = "$STR_ACE_Common_ACETeam"; category = "ACE"; - displayName = "Map"; + displayName = "$STR_ACE_Map_Module_DisplayName"; function = QFUNC(moduleMap); scope = 2; isGlobal = 1; icon = PATHTOF(UI\Icon_Module_Map_ca.paa); class Arguments { class MapIllumination { - displayName = "Map illumination?"; - description = "Calculate dynamic map illumination based on light conditions?"; + displayName = "$STR_ACE_Map_MapIllumination_DisplayName"; + description = "$STR_ACE_Map_MapIllumination_Description"; typeName = "BOOL"; class values { - class Yes { name = "Yes"; value = 1; default = 1; }; - class No { name = "No"; value = 0; }; + class Yes { name = "$STR_ACE_Map_Yes"; value = 1; default = 1; }; + class No { name = "$STR_ACE_Map_No"; value = 0; }; }; }; class MapShake { - displayName = "Map shake?"; - description = "Make map shake when walking?"; + displayName = "$STR_ACE_Map_MapShake_DisplayName"; + description = "$STR_ACE_Map_MapShake_Description"; typeName = "BOOL"; class values { - class Yes { name = "Yes"; value = 1; default = 1;}; - class No { name = "No"; value = 0; }; + class Yes { name = "$STR_ACE_Map_Yes"; value = 1; default = 1;}; + class No { name = "$STR_ACE_Map_No"; value = 0; }; }; }; class MapLimitZoom { - displayName = "Limit map zoom?"; - description = "Limit the amount of zoom available for the map?"; + displayName = "$STR_ACE_Map_MapLimitZoom_DisplayName"; + description = "$STR_ACE_Map_MapLimitZoom_Description"; typeName = "BOOL"; class values { - class Yes { name = "Yes"; value = 1; }; - class No { name = "No"; value = 0; default = 1;}; + class Yes { name = "$STR_ACE_Map_Yes"; value = 1; }; + class No { name = "$STR_ACE_Map_No"; value = 0; default = 1;}; }; }; class MapShowCursorCoordinates { - displayName = "Show cursor coordinates?"; - description = "Show the grid coordinates on the mouse pointer?"; + displayName = "$STR_ACE_Map_MapShowCursorCoordinates_DisplayName"; + description = "$STR_ACE_Map_MapShowCursorCoordinates_Description"; typeName = "BOOL"; class values { - class Yes { name = "Yes"; value = 1; }; - class No { name = "No"; value = 0; default = 1;}; + class Yes { name = "$STR_ACE_Map_Yes"; value = 1; }; + class No { name = "$STR_ACE_Map_No"; value = 0; default = 1;}; }; }; + }; + class ModuleDescription { + description = "$STR_ACE_Map_Module_Description"; }; }; class ACE_ModuleBlueForceTracking: Module_F { author = "$STR_ACE_Common_ACETeam"; category = "ACE"; - displayName = "Blue Force Tracking"; + displayName = "$STR_ACE_Map_BFT_Module_DisplayName"; function = QFUNC(blueForceTrackingModule); scope = 2; isGlobal = 1; icon = PATHTOF(UI\Icon_Module_BFTracking_ca.paa); class Arguments { class Interval { - displayName = "Interval"; - description = "How often the markers should be refreshed (in seconds)"; + displayName = "$STR_ACE_Map_BFT_Interval_DisplayName"; + description = "$STR_ACE_Map_BFT_Interval_Description"; defaultValue = 1; }; class HideAiGroups { - displayName = "Hide AI groups?"; - description = "Hide markers for 'AI only' groups?"; + displayName = "$STR_ACE_Map_BFT_HideAiGroups_DisplayName"; + description = "$STR_ACE_Map_BFT_HideAiGroups_Description"; typeName = "BOOL"; class values { - class Yes { name = "Yes"; value = 1; }; - class No { name = "No"; value = 0; default = 1; }; + class Yes { name = "$STR_ACE_Map_Yes"; value = 1; }; + class No { name = "$STR_ACE_Map_No"; value = 0; default = 1; }; }; }; + }; + class ModuleDescription { + description = "$STR_ACE_Map_BFT_Module_Description"; }; }; -}; +}; \ No newline at end of file diff --git a/addons/map/stringtable.xml b/addons/map/stringtable.xml index 4423bbcfb4..0c25016653 100644 --- a/addons/map/stringtable.xml +++ b/addons/map/stringtable.xml @@ -1,6 +1,77 @@  - - - + + + Map + Mapa + + + Map illumination? + Oświetlenie mapy + + + Calculate dynamic map illumination based on light conditions? + Oblicza dynamiczne oświetlenie mapy bazujące na warunkach oświetleniowych + + + Yes + Tak + + + No + Nie + + + Map shake? + Drżenie mapy + + + Make map shake when walking? + Ekran mapy drży podczas ruchu + + + Limit map zoom? + Ograniczony zoom + + + Limit the amount of zoom available for the map? + Ogranicza maksymalny stopień przybliżenia mapy + + + Show cursor coordinates? + Koordynaty pod kursorem + + + Show the grid coordinates on the mouse pointer? + Pokazuje pod kursorem koordynaty wskazanego kwadratu mapy + + + + Moduł ten pozwala dostosować opcje widoku ekranu mapy. + + + Blue Force Tracking + Blue Force Tracking + + + Interval + Interwał + + + How often the markers should be refreshed (in seconds) + Jak często markery powinny być odświeżane (w sekundach) + + + Hide AI groups? + Ukryj grupy AI + + + Hide markers for 'AI only' groups? + Ukrywa markery dla grup złożonych tylko z AI + + + + Pozwala śledzić na mapie pozycje sojuszniczych jednostek za pomocą markerów BFT. + + \ No newline at end of file diff --git a/addons/medical/CfgFactionClasses.hpp b/addons/medical/CfgFactionClasses.hpp index e98b1f84ec..67e3404e91 100644 --- a/addons/medical/CfgFactionClasses.hpp +++ b/addons/medical/CfgFactionClasses.hpp @@ -1,6 +1,6 @@ class CfgFactionClasses { class NO_CATEGORY; class ADDON: NO_CATEGORY { - displayName = "ACE Medical"; + displayName = "$STR_ACE_Medical_Category_DisplayName"; }; }; diff --git a/addons/medical/CfgVehicles.hpp b/addons/medical/CfgVehicles.hpp index 4054a2ee1e..aac43de0ed 100644 --- a/addons/medical/CfgVehicles.hpp +++ b/addons/medical/CfgVehicles.hpp @@ -12,7 +12,7 @@ class CfgVehicles { // TODO localization for all the modules class ACE_moduleMedicalSettings: ACE_Module { scope = 2; - displayName = "Medical Settings [ACE]"; + displayName = "$STR_ACE_MedicalSettings_Module_DisplayName"; icon = QUOTE(PATHTOF(UI\Icon_Module_Medical_ca.paa)); category = "ACE_medical"; function = QUOTE(DFUNC(moduleMedicalSettings)); @@ -22,78 +22,78 @@ class CfgVehicles { author = "$STR_ACE_Common_ACETeam"; class Arguments { class level { - displayName = "Medical Level"; - description = "What is the medical simulation level?"; + displayName = "$STR_ACE_MedicalSettings_level_DisplayName"; + description = "$STR_ACE_MedicalSettings_level_Description"; typeName = "NUMBER"; class values { class normal { - name = "Basic"; + name = "$STR_ACE_MedicalSettings_basic"; value = 1; default = 1; }; class full { - name = "Advanced"; + name = "$STR_ACE_MedicalSettings_advanced"; value = 2; }; }; }; class medicSetting { - displayName = "Medics setting"; - description = "What is the level of detail prefered for medics?"; + displayName = "$STR_ACE_MedicalSettings_medicSetting_DisplayName"; + description = "$STR_ACE_MedicalSettings_medicSetting_Description"; typeName = "NUMBER"; class values { class disable { - name = "Disable medics"; + name = "$STR_ACE_MedicalSettings_medicSetting_disable"; value = 0; }; class normal { - name = "Normal"; + name = "$STR_ACE_MedicalSettings_basic"; value = 1; default = 1; }; class full { - name = "Advanced"; + name = "$STR_ACE_MedicalSettings_advanced"; value = 2; }; }; }; class allowLitterCreation { - displayName = "Enable Litter"; - description = "Enable litter being created upon treatment"; + displayName = "$STR_ACE_MedicalSettings_allowLitterCreation_DisplayName"; + description = "$STR_ACE_MedicalSettings_allowLitterCreation_Description"; typeName = "BOOL"; defaultValue = 1; }; class litterCleanUpDelay { - displayName = "Life time of litter objects"; - description = "How long should litter objects stay? In seconds. -1 is forever."; + displayName = "$STR_ACE_MedicalSettings_litterCleanUpDelay_DisplayName"; + description = "$STR_ACE_MedicalSettings_litterCleanUpDelay_Description"; typeName = "NUMBER"; defaultValue = 1800; }; class enableScreams { - displayName = "Enable Screams"; - description = "Enable screaming by injuried units"; + displayName = "$STR_ACE_MedicalSettings_enableScreams_DisplayName"; + description = "$STR_ACE_MedicalSettings_enableScreams_Description"; typeName = "BOOL"; defaultValue = 1; }; class playerDamageThreshold { - displayName = "Player Damage"; - description = "What is the damage a player can take before being killed?"; + displayName = "$STR_ACE_MedicalSettings_playerDamageThreshold_DisplayName"; + description = "$STR_ACE_MedicalSettings_playerDamageThreshold_Description"; typeName = "NUMBER"; defaultValue = 1; }; class AIDamageThreshold { - displayName = "AI Damage"; - description = "What is the damage an AI can take before being killed?"; + displayName = "$STR_ACE_MedicalSettings_AIDamageThreshold_DisplayName"; + description = "$STR_ACE_MedicalSettings_AIDamageThreshold_Description"; typeName = "NUMBER"; defaultValue = 1; }; class enableUnconsciousnessAI { - displayName = "AI Unconsciousness"; - description = "Allow AI to go unconscious"; + displayName = "$STR_ACE_MedicalSettings_enableUnconsciousnessAI_DisplayName"; + description = "$STR_ACE_MedicalSettings_enableUnconsciousnessAI_Description"; typeName = "NUMBER"; class values { class disable { - name = "Disabled"; + name = "$STR_ACE_Medical_disabled"; value = 0; }; class normal { @@ -102,45 +102,45 @@ class CfgVehicles { default = 1; }; class full { - name = "Enabled"; + name = "$STR_ACE_Medical_enabled"; value = 2; }; }; }; class preventInstaDeath { - displayName = "Prevent instant death"; - description = "Have a unit move to unconscious instead of death"; + displayName = "$STR_ACE_MedicalSettings_preventInstaDeath_DisplayName"; + description = "$STR_ACE_MedicalSettings_preventInstaDeath_Description"; typeName = "BOOL"; defaultValue = 0; }; class bleedingCoefficient { - displayName = "Bleeding coefficient"; - description = "Coefficient to modify the bleeding speed"; + displayName = "$STR_ACE_MedicalSettings_bleedingCoefficient_DisplayName"; + description = "$STR_ACE_MedicalSettings_bleedingCoefficient_Description"; typeName = "NUMBER"; defaultValue = 1; }; class painCoefficient { - displayName = "Pain coefficient"; - description = "Coefficient to modify the pain intensity"; + displayName = "$STR_ACE_MedicalSettings_painCoefficient_DisplayName"; + description = "$STR_ACE_MedicalSettings_painCoefficient_Description"; typeName = "NUMBER"; defaultValue = 1; }; class keepLocalSettingsSynced { - displayName = "Sync status"; - description = "Keep unit status synced. Recommended on."; + displayName = "$STR_ACE_MedicalSettings_keepLocalSettingsSynced_DisplayName"; + description = "$STR_ACE_MedicalSettings_keepLocalSettingsSynced_Description"; typeName = "BOOL"; defaultValue = 1; }; }; class ModuleDescription { - description = "Provides a medical system for both players and AI."; + description = "$STR_ACE_MedicalSettings_Module_Description"; sync[] = {}; }; }; class ACE_moduleAdvancedMedicalSettings: ACE_Module { scope = 2; - displayName = "Advanced Medical Settings [ACE]"; + displayName = "$STR_ACE_AdvancedMedicalSettings_Module_DisplayName"; icon = QUOTE(PATHTOF(UI\Icon_Module_Medical_ca.paa)); category = "ACE_medical"; function = QUOTE(FUNC(moduleAdvancedMedicalSettings)); @@ -151,80 +151,80 @@ class CfgVehicles { author = "$STR_ACE_Common_ACETeam"; class Arguments { class enableFor { - displayName = "Enabled for"; - description = "Select what units the advanced medical system will be enabled for"; + displayName = "$STR_ACE_AdvancedMedicalSettings_enableFor_DisplayName"; + description = "$STR_ACE_AdvancedMedicalSettings_enableFor_Description"; typeName = "NUMBER"; class values { class playableUnits { - name = "Players only."; + name = "$STR_ACE_Medical_playeronly"; value = 0; default = 1; }; class playableUnitsAndAI { - name = "Players and AI"; + name = "$STR_ACE_Medical_playersandai"; value = 1; }; }; }; class enableAdvancedWounds { - displayName = "Enable Advanced wounds"; - description = "Allow reopening of bandaged wounds?"; + displayName = "$STR_ACE_AdvancedMedicalSettings_enableAdvancedWounds_DisplayName"; + description = "$STR_ACE_AdvancedMedicalSettings_enableAdvancedWounds_Description"; typeName = "BOOL"; defaultValue = 0; }; class enableVehicleCrashes { - displayName = "Vehicle Crashes"; - description = "Do units take damage from a vehicle crash?"; + displayName = "$STR_ACE_AdvancedMedicalSettings_enableVehicleCrashes_DisplayName"; + description = "$STR_ACE_AdvancedMedicalSettings_enableVehicleCrashes_Description"; typeName = "BOOL"; defaultValue = 1; }; class medicSetting_PAK { - displayName = "Allow PAK"; - description = "Who can use the PAK for full heal?"; + displayName = "$STR_ACE_AdvancedMedicalSettings_medicSetting_PAK_DisplayName"; + description = "$STR_ACE_AdvancedMedicalSettings_medicSetting_PAK_Description"; typeName = "NUMBER"; class values { - class anyone { name = "Anyone"; value = 0; }; - class Medic { name = "Medics only"; value = 1; default = 1; }; - class Special { name = "Doctors only"; value = 2; }; + class anyone { name = "$STR_ACE_AdvancedMedicalSettings_anyone"; value = 0; }; + class Medic { name = "$STR_ACE_AdvancedMedicalSettings_Medic"; value = 1; default = 1; }; + class Special { name = "$STR_ACE_AdvancedMedicalSettings_Special"; value = 2; }; }; }; class consumeItem_PAK { - displayName = "Remove PAK on use"; - description = "Should PAK be removed on usage?"; + displayName = "$STR_ACE_AdvancedMedicalSettings_consumeItem_PAK_DisplayName"; + description = "$STR_ACE_AdvancedMedicalSettings_consumeItem_PAK_Description"; typeName = "NUMBER"; class values { - class keep { name = "No"; value = 0; }; - class remove { name = "Yes"; value = 1; default = 1; }; + class keep { name = "$STR_ACE_Medical_No"; value = 0; }; + class remove { name = "$STR_ACE_Medical_Yes"; value = 1; default = 1; }; }; }; class useLocation_PAK { - displayName = "Locations PAK"; - description = "Where can the personal aid kit be used?"; + displayName = "$STR_ACE_AdvancedMedicalSettings_useLocation_PAK_DisplayName"; + description = "$STR_ACE_AdvancedMedicalSettings_useLocation_PAK_Description"; typeName = "NUMBER"; class values { - class anywhere { name = "Anywhere"; value = 0; }; - class vehicle { name = "Medical Vehicles"; value = 1; }; - class facility { name = "Medical facility"; value = 2; }; - class vehicleAndFacility { name = "Vehicles & facility"; value = 3; default = 1; }; - class disabled { name = "Disabled"; value = 4;}; + class anywhere { name = "$STR_ACE_AdvancedMedicalSettings_anywhere"; value = 0; }; + class vehicle { name = "$STR_ACE_AdvancedMedicalSettings_vehicle"; value = 1; }; + class facility { name = "$STR_ACE_AdvancedMedicalSettings_facility"; value = 2; }; + class vehicleAndFacility { name = "$STR_ACE_AdvancedMedicalSettings_vehicleAndFacility"; value = 3; default = 1; }; + class disabled { name = "$STR_ACE_AdvancedMedicalSettings_disabled"; value = 4;}; }; }; class medicSetting_SurgicalKit: medicSetting_PAK { - displayName = "Allow Surgical kit (Adv)"; - description = "Who can use the surgical kit?"; + displayName = "$STR_ACE_AdvancedMedicalSettings_medicSetting_SurgicalKit_DisplayName"; + description = "$STR_ACE_AdvancedMedicalSettings_medicSetting_SurgicalKit_Description"; }; class consumeItem_SurgicalKit: consumeItem_PAK { - displayName = "Remove Surgical kit (Adv)"; - description = "Should Surgical kit be removed on usage?"; + displayName = "$STR_ACE_AdvancedMedicalSettings_consumeItem_SurgicalKit_DisplayName"; + description = "$STR_ACE_AdvancedMedicalSettings_consumeItem_SurgicalKit_Description"; }; class useLocation_SurgicalKit: useLocation_PAK { - displayName = "Locations Surgical kit (Adv)"; - description = "Where can the Surgical kit be used?"; + displayName = "$STR_ACE_AdvancedMedicalSettings_useLocation_SurgicalKit_DisplayName"; + description = "$STR_ACE_AdvancedMedicalSettings_useLocation_SurgicalKit_Description"; }; }; class ModuleDescription { - description = "Configure the treatment settings from ACE Medical"; + description = "$STR_ACE_AdvancedMedicalSettings_Module_Description"; sync[] = {}; }; }; @@ -232,7 +232,7 @@ class CfgVehicles { class ACE_moduleReviveSettings: ACE_Module { scope = 2; - displayName = "Revive Settings [ACE]"; + displayName = "$STR_ACE_ReviveSettings_Module_DisplayName"; icon = QUOTE(PATHTOF(UI\Icon_Module_Medical_ca.paa)); category = "ACE_medical"; function = QUOTE(DFUNC(moduleReviveSettings)); @@ -242,37 +242,37 @@ class CfgVehicles { author = "$STR_ACE_Common_ACETeam"; class Arguments { class enableRevive { - displayName = "Enable Revive"; - description = "Enable a basic revive system"; + displayName = "$STR_ACE_ReviveSettings_enableRevive_DisplayName"; + description = "$STR_ACE_ReviveSettings_enableRevive_Description"; typeName = "NUMBER"; defaultValue = 0; class values { - class disable { name = "Disabled"; value = 0; default = 1;}; - class playerOnly { name = "Player only"; value = 1; }; - class playerAndAI { name = "Player & AI"; value = 2; }; + class disable { name = "$STR_ACE_Medical_disabled"; value = 0; default = 1;}; + class playerOnly { name = "$STR_ACE_Medical_playeronly"; value = 1; }; + class playerAndAI { name = "$STR_ACE_Medical_playersandai"; value = 2; }; }; }; class maxReviveTime { - displayName = "Max Revive time"; - description = "Max amount of seconds a unit can spend in revive state"; + displayName = "$STR_ACE_ReviveSettings_maxReviveTime_DisplayName"; + description = "$STR_ACE_ReviveSettings_maxReviveTime_Description"; typeName = "NUMBER"; defaultValue = 120; }; class amountOfReviveLives { - displayName = "Max Revive lives"; - description = "Max amount of lives a unit. 0 or -1 is disabled."; + displayName = "$STR_ACE_ReviveSettings_amountOfReviveLives_DisplayName"; + description = "$STR_ACE_ReviveSettings_amountOfReviveLives_Description"; typeName = "NUMBER"; defaultValue = -1; }; }; class ModuleDescription { - description = "Provides a medical system for both players and AI."; + description = "$STR_ACE_ReviveSettings_Module_Description"; sync[] = {}; }; }; class ACE_moduleAssignMedicRoles: Module_F { scope = 2; - displayName = "Set Medic Class [ACE]"; + displayName = "$STR_ACE_AssignMedicRoles_Module_DisplayName"; icon = QUOTE(PATHTOF(UI\Icon_Module_Medical_ca.paa)); category = "ACE_medical"; function = QUOTE(FUNC(moduleAssignMedicRoles)); @@ -283,41 +283,41 @@ class CfgVehicles { author = "$STR_ACE_Common_ACETeam"; class Arguments { class EnableList { - displayName = "List"; - description = "List of unit names that will be classified as medic, separated by commas."; + displayName = "$STR_ACE_AssignMedicRoles_EnableList_DisplayName"; + description = "$STR_ACE_AssignMedicRoles_EnableList_Description"; defaultValue = ""; typeName = "STRING"; }; class role { - displayName = "Is Medic"; - description = "Medics allow for more advanced treatment in case of Advanced Medic roles enabled"; + displayName = "$STR_ACE_AssignMedicRoles_role_DisplayName"; + description = "$STR_ACE_AssignMedicRoles_role_Description"; typeName = "NUMBER"; class values { class none { - name = "None"; + name = "$STR_ACE_AssignMedicRoles_role_none"; value = 0; }; class medic { - name = "Regular medic"; + name = "$STR_ACE_AssignMedicRoles_role_medic"; value = 1; default = 1; }; class doctor { - name = "Doctor (Only Advanced Medics)"; + name = "$STR_ACE_AssignMedicRoles_role_doctor"; value = 2; }; }; }; }; class ModuleDescription { - description = "Assigns the ACE medic class to a unit"; + description = "$STR_ACE_AssignMedicRoles_Module_Description"; sync[] = {}; }; }; class ACE_moduleAssignMedicVehicle: Module_F { scope = 2; - displayName = "Set Medical Vehicle [ACE]"; + displayName = "$STR_ACE_AssignMedicVehicle_Module_DisplayName"; icon = QUOTE(PATHTOF(UI\Icon_Module_Medical_ca.paa)); category = "ACE_medical"; function = QUOTE(FUNC(moduleAssignMedicalVehicle)); @@ -328,22 +328,22 @@ class CfgVehicles { author = "$STR_ACE_Common_ACETeam"; class Arguments { class EnableList { - displayName = "List"; - description = "List of vehicles that will be classified as medical vehicle, separated by commas."; + displayName = "$STR_ACE_AssignMedicVehicle_EnableList_DisplayName"; + description = "$STR_ACE_AssignMedicVehicle_EnableList_Description"; defaultValue = ""; typeName = "STRING"; }; class enabled { - displayName = "Is Medical Vehicle"; - description = "Whatever or not the objects in the list will be a medical vehicle."; + displayName = "$STR_ACE_AssignMedicVehicle_enabled_DisplayName"; + description = "$STR_ACE_AssignMedicVehicle_enabled_Description"; typeName = "NUMBER"; class values { class none { - name = "No"; + name = "$STR_ACE_Medical_No"; value = 0; }; class medic { - name = "Yes"; + name = "$STR_ACE_Medical_Yes"; value = 1; default = 1; }; @@ -351,13 +351,13 @@ class CfgVehicles { }; }; class ModuleDescription { - description = "Assigns the ACE medic class to a unit"; + description = "$STR_ACE_AssignMedicVehicle_Module_Description"; sync[] = {}; }; }; class ACE_moduleAssignMedicalFacility: Module_F { scope = 2; - displayName = "Set Medical Facility [ACE]"; + displayName = "$STR_ACE_AssignMedicalFacility_Module_DisplayName"; icon = QUOTE(PATHTOF(UI\Icon_Module_Medical_ca.paa)); category = "ACE_medical"; function = QUOTE(FUNC(moduleAssignMedicalFacility)); @@ -368,13 +368,13 @@ class CfgVehicles { author = "$STR_ACE_Common_ACETeam"; class Arguments { class enabled { - displayName = "Is Medical Facility"; - description = "Registers an object as a medical facility for CMS"; + displayName = "$STR_ACE_AssignMedicalFacility_enabled_DisplayName"; + description = "$STR_ACE_AssignMedicalFacility_enabled_Description"; typeName = "BOOL"; }; }; class ModuleDescription { - description = "Defines an object as a medical facility for CMS. This allows for more advanced treatments. Can be used on buildings and vehicles. "; + description = "$STR_ACE_AssignMedicalFacility_Module_Description"; sync[] = {}; }; }; @@ -897,7 +897,7 @@ class CfgVehicles { class ACE_medicalSupplyCrate: NATO_Box_Base { scope = 2; accuracy = 1000; - displayName = "[ACE] Medical Supply Crate (Basic)"; + displayName = "$STR_ACE_medicalSupplyCrate"; model = PATHTOF(data\ace_medcrate.p3d); author = "$STR_ACE_Common_ACETeam"; class TransportItems { @@ -932,7 +932,7 @@ class CfgVehicles { }; }; class ACE_medicalSupplyCrate_advanced: ACE_medicalSupplyCrate { - displayName = "[ACE] Medical Supply Crate (Advanced)"; + displayName = "$STR_ACE_medicalSupplyCrate_advanced"; class TransportItems { class ACE_fieldDressing { name = "ACE_fieldDressing"; @@ -1017,3 +1017,24 @@ class CfgVehicles { }; }; }; + + + + + + + + + + + + + + + + + + + + + diff --git a/addons/medical/config.cpp b/addons/medical/config.cpp index 566de29f91..cd0fe0e66c 100644 --- a/addons/medical/config.cpp +++ b/addons/medical/config.cpp @@ -6,7 +6,7 @@ class CfgPatches { weapons[] = {"ACE_fieldDressing", "ACE_packingBandage", "ACE_elasticBandage", "ACE_tourniquet", "ACE_morphine", "ACE_atropine", "ACE_epinephrine", "ACE_plasmaIV", "ACE_plasmaIV_500", "ACE_plasmaIV_250", "ACE_bloodIV", "ACE_bloodIV_500", "ACE_bloodIV_250", "ACE_salineIV", "ACE_salineIV_500", "ACE_salineIV_250", "ACE_quikclot", "ACE_personalAidKit", "ACE_surgicalKit", "ACE_bodyBag"}; requiredVersion = REQUIRED_VERSION; requiredAddons[] = {"ace_interaction","ace_modules", "ace_apl"}; - author[] = {"Glowbal", "KoffienFlummi"}; + author[] = {"Glowbal", "KoffeinFlummi"}; authorUrl = ""; VERSION_CONFIG; }; diff --git a/addons/medical/functions/fnc_actionCheckPulseLocal.sqf b/addons/medical/functions/fnc_actionCheckPulseLocal.sqf index 85e9bee828..b283068ec7 100644 --- a/addons/medical/functions/fnc_actionCheckPulseLocal.sqf +++ b/addons/medical/functions/fnc_actionCheckPulseLocal.sqf @@ -24,7 +24,7 @@ if (!alive _unit) then { _heartRate = 0; }; _heartRateOutput = "STR_ACE_Medical_Check_Pulse_Output_5"; -_logOutPut = "No heart rate"; +_logOutPut = localize "STR_ACE_Medical_Check_Pulse_None"; if (_heartRate > 1.0) then { if ([_caller] call FUNC(isMedic)) then { diff --git a/addons/medical/stringtable.xml b/addons/medical/stringtable.xml index 215d9ae766..50f3d67110 100644 --- a/addons/medical/stringtable.xml +++ b/addons/medical/stringtable.xml @@ -1290,7 +1290,7 @@ Trousse chirurgicale Хирургический набор Kit quirúrgico - Zestaw do szycia ran + Zestaw chirurgiczny Operationsset Sebészeti készlet Kit chirurgico @@ -1585,6 +1585,10 @@ %1 zkontroloval srdeční tep: %2 %1 verificou a frequência cardíaca: %2 + + None + Brak + Weak Schwach @@ -2701,5 +2705,377 @@ Снятие жгута ... Togliendo il laccio emostatico ... + + ACE Medical + ACE Opcje medyczne + + + Medical Settings [ACE] + Ustawienia medyczne [ACE] + + + Medical Level + Poziom medyczny + + + What is the medical simulation level? + Jaki jest poziom symulacji medycznej? + + + Basic + Podstawowy + + + Advanced + Zaawansowany + + + Medics setting + Poziom medyków + + + What is the level of detail prefered for medics? + Jaki jest poziom detali medycznych wyświetlanych dla medyków? + + + Disable medics + Wyłącz medyków + + + Enable Litter + Aktywuj odpadki + + + Enable litter being created upon treatment + Twórz odpadki medyczne podczas leczenia + + + Life time of litter objects + Długość życia odpadków + + + How long should litter objects stay? In seconds. -1 is forever. + Ile czasu musi upłynąć, aby odpadki zaczęły znikać? W sekundach. -1 dla nieskończoności. + + + Enable Screams + Aktywuj wrzaski + + + Enable screaming by injuried units + Aktywuj wrzeszczenie z bólu przez ranne jednostki + + + Player Damage + Próg obrażeń graczy + + + What is the damage a player can take before being killed? + Jaki jest próg obrażeń, jakie gracz może otrzymać zanim zostanie zabity? + + + AI Damage + Próg obrażeń AI + + + What is the damage an AI can take before being killed? + Jaki jest próg obrażeń, jakie AI może otrzymać zanim zostanie zabite? + + + AI Unconsciousness + Nieprzytomność AI + + + Allow AI to go unconscious + Czy AI może być nieprzytomne od odniesionych obrażeń? + + + Disabled + Wyłączone + + + Enabled + Włączone + + + Prevent instant death + Wył. natychmiast. śmierć + + + Have a unit move to unconscious instead of death + Spraw, aby jednostka została przeniesiona do stanu nieprzytomności zamiast ginąć na miejscu od śmiertelnych obrażeń + + + Bleeding coefficient + Mnożnik krwawienia + + + Coefficient to modify the bleeding speed + Mnożnik modyfikujący prędkość wykrwawiania się + + + Pain coefficient + Mnożnik bólu + + + Coefficient to modify the pain intensity + Mnożnik modyfikujący intensywność bólu + + + Sync status + Synchronizuj status + + + Keep unit status synced. Recommended on. + Utrzymuj synchronizację statusu jednostek. Zalecane zostawienie tej opcji włączonej. + + + Provides a medical system for both players and AI. + Moduł ten dostarcza system medyczny dla graczy oraz AI. + + + Advanced Medical Settings [ACE] + Zaawansowane ustawienia medyczne [ACE] + + + Enabled for + Aktywne dla + + + Select what units the advanced medical system will be enabled for + Wybierz dla kogo zaawansowany system medyczny będzie aktywny + + + Players only + Tylko dla graczy + + + Players and AI + Gracze oraz AI + + + Enable Advanced wounds + Akt. zaawansowane rany + + + Allow reopening of bandaged wounds? + Pozwól na otwieranie się zabandażowanych ran? + + + Vehicle Crashes + Obrażenia od kolizji + + + Do units take damage from a vehicle crash? + Czy jednostki otrzymują obrażenia w wyniku kolizji pojazdów? + + + Allow PAK + Ust. apteczek osobistych + + + Who can use the PAK for full heal? + Kto może skorzystać z apteczki osobistej w celu pełnego uleczenia? + + + Anyone + Wszyscy + + + Medics only + Tylko medycy + + + Doctors only + Tylko doktorzy + + + Remove PAK on use + Usuń apteczkę po użyciu + + + Should PAK be removed on usage? + Czy apteczka osobista powinna zniknąć z ekwipunku po jej użyciu? + + + No + Nie + + + Yes + Tak + + + Locations PAK + Ogr. apteczek osobistych + + + Where can the personal aid kit be used? + Gdzie można korzystać z apteczek osobistych? + + + Anywhere + Wszędzie + + + Medical vehicles + Pojazdy medyczne + + + Medical facility + Budynki medyczne + + + Vehicles & facility + Pojazdy i budynki medyczne + + + Disabled + Wyłączone + + + Allow Surgical kit (Adv) + Ust. zestawu chirurg. + + + Who can use the surgical kit? + Kto może skorzystać z zestawu chirurgicznego w celu zszycia ran? + + + Remove Surgical kit (Adv) + Usuń zest. chir. po użyciu + + + Should Surgical kit be removed on usage? + Czy zestaw chirurgiczny powinien zniknąć z ekwipunku po jego użyciu? + + + Locations Surgical kit (Adv) + Ogr. zestawu chirurg. + + + Where can the Surgical kit be used? + Gdzie można korzystać z zestawu chirurgicznego? + + + Configure the treatment settings from ACE Medical + Skonfiguruj zaawansowane ustawienia leczenia systemu medycznego ACE + + + Revive Settings [ACE] + Ustawienia wskrzeszania [ACE] + + + Enable Revive + Aktywuj wskrzeszanie + + + Enable a basic revive system + Aktywuj podstawowy system wskrzeszania + + + Max Revive time + Maks. czas agonii + + + Max amount of seconds a unit can spend in revive state + Maksymalna długość agonii w sekundach (czas na wskrzeszenie) + + + Max Revive lives + Maks. ilość wskrzeszeń + + + Max amount of lives a unit. 0 or -1 is disabled. + Maksymalna ilość wskrzeszeń. Wpisz 0 lub -1 aby wyłączyć. + + + Provides a medical system for both players and AI. + Moduł ten aktywuje podstawowy system wskrzeszania. Jednostka po otrzymaniu śmiertelnych obrażeń przechodzi do stanu agonii, która trwa określoną długość czasu. W tym czasie aby wskrzesić i jednocześnie odratować jednostkę należy opatrzeć jej rany i wykonać RKO. + + + Set Medic Class [ACE] + Ustaw klasę medyka [ACE] + + + List + Lista + + + List of unit names that will be classified as medic, separated by commas. + Lista nazw jednostek, które są sklasyfikowane jako medycy, oddzielone przecinkami. + + + Is Medic + Klasa medyczna + + + + + + + None + Żadna + + + Regular medic + Zwykły medyk + + + Doctor (Only Advanced Medics) + Doktor (tylko zaawansowani medycy) + + + Assigns the ACE medic class to a unit + Moduł ten przypisuje klasę medyka ACE do jednostek. + + + Set Medical Vehicle [ACE] + Ustaw pojazd medyczny [ACE] + + + List + Lista + + + List of vehicles that will be classified as medical vehicle, separated by commas. + Lista nazw pojazdów, które są sklasyfikowane jako pojazdy medyczne, oddzielone przecinkami. + + + Is Medical Vehicle + Jest pojazdem med. + + + Whatever or not the objects in the list will be a medical vehicle. + Czy pojazdy z tej listy są pojazdami medycznymi. + + + Assigns the ACE medic class to a unit + Moduł ten pozwala na przypisanie danym pojazdom statusu pojazdów medycznych. Wewnątrz takiego pojazdu można wykonywać zaawansowane zabiegi medyczne. + + + Set Medical Facility [ACE] + Ustaw budynek medyczny [ACE] + + + Is Medical Facility + Jest budynkiem med. + + + Registers an object as a medical facility + Przypisuje danemu obiektowi status budynku medycznego + + + Defines an object as a medical facility. This allows for more advanced treatments. Can be used on buildings and vehicles. + Moduł ten pozwala przypisać status budynku medycznego danemu obiektowi. Budynek taki pozwala na wykonywanie zaawansowanych zabiegów medycznych. Może być użyte na pojazdach i budynkach. + + + [ACE] Medical Supply Crate (Basic) + [ACE] Skrzynka z zapasami medycznymi (podstawowa) + + + [ACE] Medical Supply Crate (Advanced) + [ACE] Skrzynka z zapasami medycznymi (zaawansowana) + diff --git a/addons/microdagr/CfgVehicles.hpp b/addons/microdagr/CfgVehicles.hpp index 833f7bd2f6..dc4ae7d237 100644 --- a/addons/microdagr/CfgVehicles.hpp +++ b/addons/microdagr/CfgVehicles.hpp @@ -44,7 +44,7 @@ class CfgVehicles { class GVAR(dagrModule): Module_F { author = "$STR_ACE_Common_ACETeam"; category = "ACE"; - displayName = "MicroDAGR Map Fill"; + displayName = "$STR_ACE_Dagr_Module_DisplayName"; function = QFUNC(moduleMapFill); scope = 2; isGlobal = 1; @@ -52,18 +52,18 @@ class CfgVehicles { functionPriority = 0; class Arguments { class MapDataAvailable { - displayName = "MicroDAGR Map Fill"; // Argument label - description = "How much map data is filled on MicroDAGR's "; // Tooltip description - typeName = "NUMBER"; // Value type, can be "NUMBER", "STRING" or "BOOL" + displayName = "$STR_ACE_Dagr_MapDataAvailable_DisplayName"; + description = "$STR_ACE_Dagr_MapDataAvailable_Description"; + typeName = "NUMBER"; class values { - class None {name = "Full Satellite + Buildings"; value = MAP_DETAIL_SAT; default = 1;}; - class Side {name = "Topographical + Roads"; value = MAP_DETAIL_TOPOROADS;}; - class Unique {name = "None (Cannot use map view)"; value = MAP_DETAIL_NONE;}; + class None {name = "$STR_ACE_Dagr_None"; value = MAP_DETAIL_SAT; default = 1;}; + class Side {name = "$STR_ACE_Dagr_Side"; value = MAP_DETAIL_TOPOROADS;}; + class Unique {name = "$STR_ACE_Dagr_Unique"; value = MAP_DETAIL_NONE;}; }; }; }; class ModuleDescription: ModuleDescription { - description = "Controls how much data is filled on the microDAGR items. Less data restricts the map view to show less on the minimap.
Source: microDAGR.pbo"; + description = "$STR_ACE_Dagr_Module_Description"; }; }; @@ -73,4 +73,4 @@ class CfgVehicles { MACRO_ADDITEM(ACE_microDAGR,10); }; }; -}; +}; \ No newline at end of file diff --git a/addons/microdagr/stringtable.xml b/addons/microdagr/stringtable.xml index af2b303f2b..c8fa993b46 100644 --- a/addons/microdagr/stringtable.xml +++ b/addons/microdagr/stringtable.xml @@ -301,5 +301,33 @@ Chiudi MicroDAGR Fechar MicroDAGR + + MicroDAGR Map Fill + Wypełnienie mapy MicroDAGR + + + MicroDAGR Map Fill + Wypełnienie mapy MicroDAGR + + + How much map data is filled on MicroDAGR's + Jak duża część informacji mapy jest załadowana do MicroDAGR? + + + Full Satellite + Buildings + Pełna satelitarna + budynki + + + Topographical + Roads + Topograficzna + drogi + + + None (Cannot use map view) + Żadna (wyłącza ekran mapy) + + + Controls how much data is filled on the microDAGR items. Less data restricts the map view to show less on the minimap.<br />Source: microDAGR.pbo + Moduł ten pozwala kontrolować jak duża ilość informacji jest załadowana do przedmiotów MicroDAGR. Mniejsza ilość danych ogranicza widok mapy pokazując mniej rzeczy na minimapie.<br />Źródło: microDAGR.pbo + diff --git a/addons/missileguidance/ACE_Settings.hpp b/addons/missileguidance/ACE_Settings.hpp index d489ef15f3..c04e6c080c 100644 --- a/addons/missileguidance/ACE_Settings.hpp +++ b/addons/missileguidance/ACE_Settings.hpp @@ -5,6 +5,6 @@ class ACE_Settings { isClientSettable = 1; displayName = "$STR_ACE_MissileGuidance"; description = "$STR_ACE_MissileGuidance_Desc"; - values[] = {"Off", "Player Only", "Player and AI"}; + values[] = {"$STR_ACE_MissileGuidance_Off", "$STR_ACE_MissileGuidance_PlayerOnly", "$STR_ACE_MissileGuidance_PlayerAndAi"}; }; }; \ No newline at end of file diff --git a/addons/missileguidance/stringtable.xml b/addons/missileguidance/stringtable.xml index dcb2be486c..3c551493a5 100644 --- a/addons/missileguidance/stringtable.xml +++ b/addons/missileguidance/stringtable.xml @@ -97,5 +97,17 @@ Hellfire II AGM-114K lézer-irányított rakéta Управляемая ракета лазерного наведения Hellfire II AGM-114K + + Off + Wyłącz + + + Player Only + Tylko gracz + + + Player and AI + Gracz oraz AI + diff --git a/addons/missionmodules/CfgFactionClasses.hpp b/addons/missionmodules/CfgFactionClasses.hpp index 792f4d31e3..6f320805fb 100644 --- a/addons/missionmodules/CfgFactionClasses.hpp +++ b/addons/missionmodules/CfgFactionClasses.hpp @@ -1,6 +1,6 @@ class CfgFactionClasses { class NO_CATEGORY; class ACE_missionModules: NO_CATEGORY { - displayName = "ACE Mission Modules"; + displayName = "$STR_ACE_MissionModules_Category_DisplayName"; }; }; \ No newline at end of file diff --git a/addons/missionmodules/CfgVehicles.hpp b/addons/missionmodules/CfgVehicles.hpp index 35a937c660..a08e78f17b 100644 --- a/addons/missionmodules/CfgVehicles.hpp +++ b/addons/missionmodules/CfgVehicles.hpp @@ -8,7 +8,7 @@ class CfgVehicles { // TODO make a curator variant for this class ACE_moduleAmbianceSound: Module_F { scope = 2; - displayName = "Ambiance Sounds [ACE]"; + displayName = "$STR_ACE_MissionModules_AmbianceSounds_DisplayName"; icon = QUOTE(PATHTOF(UI\Icon_Module_Ambient_Sounds_ca.paa)); category = "ACE_missionModules"; function = QUOTE(FUNC(moduleAmbianceSound)); @@ -18,51 +18,51 @@ class CfgVehicles { author = "$STR_ACE_Common_ACETeam"; class Arguments { class soundFiles { - displayName = "Sounds"; - description = "Class names of the ambiance sounds to be played. Seperated by ','"; + displayName = "$STR_ACE_MissionModules_AmbianceSounds_soundFiles_DisplayName"; + description = "$STR_ACE_MissionModules_AmbianceSounds_soundFiles_Description"; typeName = "STRING"; defaultValue = ""; }; class minimalDistance { - displayName = "Minimal Distance"; - description = "Used for calculating a random position and sets the minimal distance between the players and the played sound file(s)"; + displayName = "$STR_ACE_MissionModules_AmbianceSounds_minimalDistance_DisplayName"; + description = "$STR_ACE_MissionModules_AmbianceSounds_minimalDistance_Description"; typeName = "NUMBER"; defaultValue = 400; }; class maximalDistance { - displayName = "Maximum Distance"; - description = "Used for calculating a random position and sets the maximum distance between the players and the played sound file(s)"; + displayName = "$STR_ACE_MissionModules_AmbianceSounds_maximalDistance_DisplayName"; + description = "$STR_ACE_MissionModules_AmbianceSounds_maximalDistance_Description"; typeName = "NUMBER"; defaultValue = 900; }; class minimalDelay { - displayName = "Minimal Delay"; - description = "Minimal delay between sounds played"; + displayName = "$STR_ACE_MissionModules_AmbianceSounds_minimalDelay_DisplayName"; + description = "$STR_ACE_MissionModules_AmbianceSounds_minimalDelay_Description"; typeName = "NUMBER"; defaultValue = 10; }; class maximalDelay { - displayName = "Maximum Delay"; - description = "Maximum delay between sounds played"; + displayName = "$STR_ACE_MissionModules_AmbianceSounds_maximalDelay_DisplayName"; + description = "$STR_ACE_MissionModules_AmbianceSounds_maximalDelay_Description"; typeName = "NUMBER"; defaultValue = 170; }; class followPlayers { - displayName = "Follow Players"; - description = "Follow players. If set to false, loop will play sounds only nearby logic position."; + displayName = "$STR_ACE_MissionModules_AmbianceSounds_followPlayers_DisplayName"; + description = "$STR_ACE_MissionModules_AmbianceSounds_followPlayers_Description"; typeName = "BOOL"; defaultValue = 0; }; class soundVolume { - displayName = "Volume"; - description = "The volume of the sounds played"; + displayName = "$STR_ACE_MissionModules_AmbianceSounds_soundVolume_DisplayName"; + description = "$STR_ACE_MissionModules_AmbianceSounds_soundVolume_Description"; typeName = "NUMBER"; defaultValue = 1; }; }; class ModuleDescription { - description = "Ambiance sounds loop (synced across MP)"; + description = "$STR_ACE_MissionModules_AmbianceSounds_Description"; sync[] = {}; }; }; -}; +}; \ No newline at end of file diff --git a/addons/missionmodules/stringtable.xml b/addons/missionmodules/stringtable.xml new file mode 100644 index 0000000000..12d70602c2 --- /dev/null +++ b/addons/missionmodules/stringtable.xml @@ -0,0 +1,73 @@ + + + + + ACE Mission Modules + ACE Moduły misji + + + Ambiance Sounds [ACE] + Dźwięki [ACE] + + + Sounds + Dźwięki + + + Classnames of the ambiance sounds played. Seperated by ','. + Classname-y dźwięków do odtwarzania. Oddzielone przy użyciu ','. + + + Minimal Distance + Minimalny dystans + + + Minimal Distance + Minimalny dystans + + + Maximal Distance + Maksymalny dystans + + + Maximal Distance + Maksymalny dystans + + + Minimal Delay + Minimalne opóźnienie + + + Minimal Delay between sounds played + Minimalne opóźnienie pomiędzy odtwarzanymi dźwiękami + + + Maximal Delay + Maksymalne opóźnienie + + + Maximal Delay between sounds played + Maksymalne opóźnienie pomiędzy odtwarzanymi dźwiękami + + + Follow Players + Podążaj za graczami + + + Follow players. If set to false, loop will play sounds only nearby logic position. + Podążaj za graczami. Jeżeli ustawione na 'Nie', pętla będzie odtwarzana tylko w pobliżu pozycji logiki. + + + Volume + Głośność + + + The volume of the sounds played + Głośność odtwarzanych dźwięków + + + Ambiance sounds loop (synced across MP) + Pętla odtwarzania dzwięków (synchronizowana na MP) + + + \ No newline at end of file diff --git a/addons/mk6mortar/CfgVehicles.hpp b/addons/mk6mortar/CfgVehicles.hpp index baf74fa2c4..e4a9d0f2a5 100644 --- a/addons/mk6mortar/CfgVehicles.hpp +++ b/addons/mk6mortar/CfgVehicles.hpp @@ -50,7 +50,7 @@ class CfgVehicles { class GVAR(module): Module_F { author = "$STR_ACE_Common_ACETeam"; category = "ACE"; - displayName = "MK6 Settings"; + displayName = "$STR_ACE_mk6mortar_Module_DisplayName"; function = QFUNC(moduleInit); scope = 2; isGlobal = 0; @@ -58,26 +58,26 @@ class CfgVehicles { functionPriority = 0; class Arguments { class airResistanceEnabled { - displayName = "Air Resistance"; - description = "For Player Shots, Model Air Resistance and Wind Effects"; + displayName = "$STR_ACE_mk6mortar_airResistanceEnabled_DisplayName"; + description = "$STR_ACE_mk6mortar_airResistanceEnabled_Description"; typeName = "BOOL"; defaultValue = 1; }; class allowComputerRangefinder { - displayName = "Allow MK6 Computer"; - description = "Show the Computer and Rangefinder (these NEED to be removed if you enable air resistance)"; + displayName = "$STR_ACE_mk6mortar_allowComputerRangefinder_DisplayName"; + description = "$STR_ACE_mk6mortar_allowComputerRangefinder_Description"; typeName = "BOOL"; defaultValue = 0; }; class allowCompass { - displayName = "Allow MK6 Compass"; - description = "Show the MK6 Digital Compass"; + displayName = "$STR_ACE_mk6mortar_allowCompass_DisplayName"; + description = "$STR_ACE_mk6mortar_allowCompass_Description"; typeName = "BOOL"; defaultValue = 1; }; }; class ModuleDescription: ModuleDescription { - description = ""; + description = "$STR_ACE_mk6mortar_Module_Description"; }; }; -}; +}; \ No newline at end of file diff --git a/addons/mk6mortar/stringtable.xml b/addons/mk6mortar/stringtable.xml index fd2fe4aa4c..37c7d322ad 100644 --- a/addons/mk6mortar/stringtable.xml +++ b/addons/mk6mortar/stringtable.xml @@ -49,5 +49,37 @@ Nabít Carica + + MK6 Settings + Moździerz MK6 - Ustawienia + + + Air Resistance + Opór powietrza + + + For Player Shots, Model Air Resistance and Wind Effects + Modeluj opór powietrza oraz wpływ wiatru na tor lotu pocisku dla strzałów z moździerza MK6 przez graczy + + + Allow MK6 Computer + Komputer MK6 + + + Show the Computer and Rangefinder (these NEED to be removed if you enable air resistance) + Zezwól na komputer i dalmierz (opcja ta MUSI zostać wyłączona jeżeli aktywowałeś opór powietrza) + + + Allow MK6 Compass + Kompas MK6 + + + Show the MK6 Digital Compass + Pokaż kompas MK6 + + + + Moduł ten pozwala dostosować ustawienia moździerza MK6. + diff --git a/addons/nametags/CfgVehicles.hpp b/addons/nametags/CfgVehicles.hpp index ec005c8218..3619df195f 100644 --- a/addons/nametags/CfgVehicles.hpp +++ b/addons/nametags/CfgVehicles.hpp @@ -1,69 +1,75 @@ class CfgVehicles { - class Module_F; + class Logic; + class Module_F: Logic { + class ModuleDescription {}; + }; class ACE_ModuleNameTags : Module_F { author = "$STR_ACE_Common_ACETeam"; category = "ACE"; - displayName = "Name Tags"; + displayName = "$STR_ACE_NameTags_Module_DisplayName"; function = QFUNC(moduleNameTags); scope = 2; isGlobal = 1; icon = QUOTE(PATHTOF(UI\Icon_Module_NameTags_ca.paa)); class Arguments { class PlayerNamesViewDistance { - displayName = "Player Names View Dist."; - description = "Distance in meters at which player names are shown. Default: 5"; + displayName = "$STR_ACE_NameTags_PlayerNamesViewDistance_DisplayName"; + description = "$STR_ACE_NameTags_PlayerNamesViewDistance_Description"; typeName = "NUMBER"; defaultValue = 5; }; class showNamesForAI { - displayName = "Show name tags for AI?"; - description = "Show the name and rank tags for friendly AI units? Default: Do not force"; + displayName = "$STR_ACE_NameTags_showNamesForAI_DisplayName"; + description = "$STR_ACE_NameTags_showNamesForAI_Description"; typeName = "NUMBER"; class values { class DoNotForce { default = 1; - name = "Do Not Force"; + name = "$STR_ACE_NameTags_DoNotForce"; value = -1; }; class ForceHide { - name = "Force Hide"; + name = "$STR_ACE_NameTags_ForceHide"; value = 0; }; class ForceShow { - name = "Force show"; + name = "$STR_ACE_NameTags_ForceShow"; value = 1; }; }; }; class showVehicleCrewInfo { - displayName = "Show crew info?"; - description = "Show vehicle crew info, or by default allows players to choose it on their own. Default: Do Not Force"; + displayName = "$STR_ACE_NameTags_showVehicleCrewInfo_DisplayName"; + description = "$STR_ACE_NameTags_showVehicleCrewInfo_Description"; typeName = "NUMBER"; class values { class DoNotForce { default = 1; - name = "Do Not Force"; + name = "$STR_ACE_NameTags_DoNotForce"; value = -1; }; class ForceHide { - name = "Force Hide"; + name = "$STR_ACE_NameTags_ForceHide"; value = 0; }; class ForceShow { - name = "Force Show"; + name = "$STR_ACE_NameTags_ForceShow"; value = 1; }; }; }; class showCursorTagForVehicles { - displayName = "Show for Vehicles"; - description = "Show cursor NameTag for vehicle commander (only if client has name tags enabled)Default: No"; + displayName = "$STR_ACE_NameTags_showCursorTagForVehicles_DisplayName"; + description = "$STR_ACE_NameTags_showCursorTagForVehicles_Description"; typeName = "BOOL"; class values { - class Yes {name = "Yes"; value = 1;}; - class No {default = 1; name = "No"; value = 0;}; + class Yes {name = "$STR_ACE_NameTags_Yes"; value = 1;}; + class No {default = 1; name = "$STR_ACE_NameTags_No"; value = 0;}; }; }; + }; + class ModuleDescription: ModuleDescription { + description = "$STR_ACE_NameTags_Module_Description"; }; }; -}; +}; \ No newline at end of file diff --git a/addons/nametags/config.cpp b/addons/nametags/config.cpp index dce054a9ec..7a0086bfb6 100644 --- a/addons/nametags/config.cpp +++ b/addons/nametags/config.cpp @@ -27,7 +27,8 @@ class ACE_Settings { typeName = "SCALAR"; isClientSettable = 1; displayName = "$STR_ACE_NameTags_ShowPlayerNames"; - values[] = {"Disabled", "Enabled", "Only Cursor", "Only On Keypress", "Only Cursor and KeyPress"}; + description = "$STR_ACE_NameTags_ShowPlayerNames_Desc"; + values[] = {"$STR_ACE_Common_Disabled", "$STR_ACE_Common_Enabled", "$STR_ACE_Common_OnlyCursor", "$STR_ACE_Common_OnlyOnKeypress", "$STR_ACE_Common_OnlyCursorAndKeyPress"}; }; class GVAR(showPlayerRanks) { value = 1; @@ -57,7 +58,8 @@ class ACE_Settings { typeName = "SCALAR"; isClientSettable = 1; displayName = "$STR_ACE_NameTags_ShowSoundWaves"; - values[] = {"Disabled", "Use Nametag settings", "Always Show All"}; + description = "$STR_ACE_NameTags_ShowSoundWaves_Desc"; + values[] = {"$STR_ACE_Common_Disabled", "$STR_ACE_Common_NameTagSettings", "$STR_ACE_Common_AlwaysShowAll"}; }; class GVAR(PlayerNamesViewDistance) { value = 5; diff --git a/addons/nametags/stringtable.xml b/addons/nametags/stringtable.xml index 8daae5cd5d..251e8eba9a 100644 --- a/addons/nametags/stringtable.xml +++ b/addons/nametags/stringtable.xml @@ -109,5 +109,101 @@ Colore dei nomi non appartenenti al gruppo Cor padrão do nome (unidades fora do grupo) + + Name Tags + Ustawienia imion + + + Player Names View Dist. + Zasięg imion graczy + + + Distance in meters at which player names are shown. Default: 5 + Dystans w metrach, na którym wyświetlane są imiona graczy. Domyślnie: 5 + + + Show name tags for AI? + Imiona AI + + + Show the name and rank tags for friendly AI units? Default: Do not force + Pokaż imiona i rangi przyjaznych jednostek AI? Domyślnie: Nie wymuszaj + + + Do Not Force + Nie wymuszaj + + + Force Hide + Wymuś ukrycie + + + Force show + Wymuś wyświetlanie + + + Show crew info? + Pokaż załogę + + + Show vehicle crew info, or by default allows players to choose it on their own. Default: Do Not Force + Pokaż informacje o obsadzie pojazdu, lub pozwól graczom ustawić tą opcje według własnego uznania. Domyślnie: Nie wymuszaj + + + Show for Vehicles + Pokaż dla pojazdów + + + Show cursor NameTag for vehicle commander (only if client has name tags enabled)Default: No + Pokazuj imię dowódcy pojazdu nad pojazdem (tylko jeżeli klient ma włączone imiona graczy). Domyślnie: Nie + + + Yes + Tak + + + No + Nie + + + + Moduł ten pozwala dostosować ustawienia i zasięg wyświetlania imion. + + + Disabled + Wyłączone + + + Enabled + Włączone + + + Only Cursor + Tylko pod kursorem + + + Only On Keypress + Tylko po wciśnięciu klawisza + + + Only Cursor and KeyPress + Tylko pod kursorem i po wciśnięciu klawisza + + + Use Nametag settings + Użyj ustawień imion + + + Always Show All + Zawsze pokazuj wszystkie + + + + Opcja ta pozwala dostosować sposób wyświetlania imion nad głowami graczy. Opcja "Tylko po wciśnięciu klawisza" wyświetla imiona tylko przytrzymania klawisza "Modyfikator" dostępnego w menu ustawień addonów -> ACE3. + + + + Opcja ta pozwala dostosować sposób wyświetlania efektu fal dźwiękowych nad głowami mówiących graczy, wyświetlanych po przytrzymaniu klawisza PTT. Opcja ta współpracuje z TFAR oraz ACRE2. + diff --git a/addons/optionsmenu/CfgVehicles.hpp b/addons/optionsmenu/CfgVehicles.hpp index 2a19aa2966..52895acb66 100644 --- a/addons/optionsmenu/CfgVehicles.hpp +++ b/addons/optionsmenu/CfgVehicles.hpp @@ -1,9 +1,8 @@ class CfgVehicles { class ACE_Module; - // TODO localization for all the modules class ACE_moduleAllowConfigExport: ACE_Module { scope = 2; - displayName = "Allow Config Export [ACE]"; + displayName = "$STR_AllowConfigExport_Module_DisplayName"; //icon = ""; category = "ACE"; function = QUOTE(DFUNC(moduleAllowConfigExport)); @@ -13,16 +12,15 @@ class CfgVehicles { author = "$STR_ACE_Common_ACETeam"; class Arguments { class allowconfigurationExport { - displayName = "Allow"; - description = "Allow export of all settings to a server config formatted."; + displayName = "$STR_AllowConfigExport_allowconfigurationExport_DisplayName"; + description = "$STR_AllowConfigExport_allowconfigurationExport_Description"; typeName = "BOOL"; defaultValue = 1; }; }; class ModuleDescription { - description = "When allowed, you have access to the settings modification and export in SP. Clicking export will place the formated config on your clipboard."; + description = "$STR_AllowConfigExport_Module_Description"; sync[] = {}; }; }; - }; \ No newline at end of file diff --git a/addons/optionsmenu/stringtable.xml b/addons/optionsmenu/stringtable.xml index d5de0c1426..3b649aa6c7 100644 --- a/addons/optionsmenu/stringtable.xml +++ b/addons/optionsmenu/stringtable.xml @@ -241,5 +241,49 @@ Escalar o menu de opções Proporzioni della interfaccia utente + + Allow Config Export [ACE] + Pozwól na eksport ustawień [ACE] + + + Allow + Zezwól + + + Allow export of all settings to a server config formatted. + Zezwól na eksport wszystkich ustawień do formatu konfiguracji serwera. + + + When allowed, you have access to the settings modification and export in SP. Clicking export will place the formated config on your clipboard. + Jeżeli ustawione na zezwól, wtedy będziesz mieć dostęp do ekranu modyfikacji wszystich ustawień i zmiennych ACE, a także będziesz mieć możliwość eksportu tychże ustawień do formatu rozpoznawalnego przez userconfig serwera. Kliknięcie opcji Eksportuj skopiuje wszystkie ustawienia do schowka. Działa tylko w trybie SP. + + + Hide + Ukryj + + + Top right, downwards + Po prawej u góry, w dół + + + Top right, to the left + Po prawej u góry, do lewej + + + Top left, downwards + Po lewej u góry, w dół + + + Top left, to the right + Po lewej u góry, do prawej + + + Top + Góra + + + Bottom + Dół + diff --git a/addons/respawn/CfgVehicleClasses.hpp b/addons/respawn/CfgVehicleClasses.hpp index 8d4eeb139c..19ed9fede8 100644 --- a/addons/respawn/CfgVehicleClasses.hpp +++ b/addons/respawn/CfgVehicleClasses.hpp @@ -1,5 +1,5 @@ class CfgVehicleClasses { class GVAR(Rallypoints) { - displayName = "ACE Respawn"; + displayName = "$STR_ACE_Respawn_EditorCategory"; }; }; diff --git a/addons/respawn/CfgVehicles.hpp b/addons/respawn/CfgVehicles.hpp index 2f963a12d3..07ef054b0d 100644 --- a/addons/respawn/CfgVehicles.hpp +++ b/addons/respawn/CfgVehicles.hpp @@ -1,9 +1,12 @@ class CfgVehicles { - class Module_F; + class Logic; + class Module_F: Logic { + class ModuleDescription {}; + }; class ACE_ModuleRespawn: Module_F { author = "$STR_ACE_Common_ACETeam"; category = "ACE"; - displayName = "Respawn System"; + displayName = "$STR_ACE_Respawn_Module_DisplayName"; function = QFUNC(module); scope = 2; isGlobal = 1; @@ -11,43 +14,60 @@ class CfgVehicles { class Arguments { class SavePreDeathGear { - displayName = "Save Gear?"; - description = "Respawn with the gear a soldier had just before his death?"; + displayName = "$STR_ACE_Respawn_SavePreDeathGear_DisplayName"; + description = "$STR_ACE_Respawn_SavePreDeathGear_Description"; typeName = "BOOL"; - defaultValue = 0; + + class values { + class Yes { name = "$STR_ACE_Respawn_Yes"; value = 1; }; + class No { default = 1; name = "$STR_ACE_Respawn_No"; value = 0; }; + }; }; class RemoveDeadBodiesDisconnected { - displayName = "Remove bodies?"; - description = "Remove player bodies after disconnect?"; + displayName = "$STR_ACE_Respawn_RemoveDeadBodiesDisconnected_DisplayName"; + description = "$STR_ACE_Respawn_RemoveDeadBodiesDisconnected_Description"; typeName = "BOOL"; - defaultValue = 1; + + class values { + class Yes { default = 1; name = "$STR_ACE_Respawn_Yes"; value = 1; }; + class No { name = "$STR_ACE_Respawn_No"; value = 0; }; + }; }; + }; + class ModuleDescription: ModuleDescription { + description = "$STR_ACE_Respawn_Module_Description"; }; }; class ACE_ModuleFriendlyFire: Module_F { author = "$STR_ACE_Common_ACETeam"; category = "ACE"; - displayName = "Friendly Fire Messages"; + displayName = "$STR_ACE_FriendlyFire_Module_DisplayName"; function = QFUNC(moduleFriendlyFire); scope = 2; isGlobal = 1; icon = QUOTE(PATHTOF(UI\Icon_Module_FriendlyFire_ca.paa)); class Arguments {}; + class ModuleDescription: ModuleDescription { + description = "$STR_ACE_FriendlyFire_Module_Description"; + }; }; class ACE_ModuleRallypoint: Module_F { author = "$STR_ACE_Common_ACETeam"; category = "ACE"; - displayName = "Rallypoint System"; + displayName = "$STR_ACE_Rallypoint_Module_DisplayName"; function = QFUNC(moduleRallypoint); scope = 2; isGlobal = 1; icon = QUOTE(PATHTOF(UI\Icon_Module_Rallypoint_ca.paa)); class Arguments {}; + class ModuleDescription: ModuleDescription { + description = "$STR_ACE_Rallypoint_Module_Description"; + }; }; // team leader @@ -55,7 +75,7 @@ class CfgVehicles { class CAManBase : Man { class ACE_SelfActions { class ACE_MoveRallypoint { - displayName = "Move Rallypoint"; + displayName = "$STR_ACE_Rallypoint_MoveRallypoint"; condition = QUOTE([ARR_2(_player, side group _player)] call FUNC(canMoveRallypoint)); statement = QUOTE([ARR_2(_player, side group _player)] call FUNC(moveRallypoint)); showDisabled = 0; diff --git a/addons/respawn/stringtable.xml b/addons/respawn/stringtable.xml index 539bb4b530..a9965dd2a4 100644 --- a/addons/respawn/stringtable.xml +++ b/addons/respawn/stringtable.xml @@ -145,5 +145,61 @@ Rallypoint Nezávislý Ponto de encontro Independente + + Respawn System + System odrodzenia + + + Save Gear? + Zapisać ekwipunek? + + + Respawn with the gear a soldier had just before his death? + Odradzaj z ekwipunkiem jaki żołnierz miał tuż przed swoją śmiercią? + + + Yes + Tak + + + No + Nie + + + Remove bodies? + Usuwać ciała? + + + Remove player bodies after disconnect? + Usuwaj ciała graczy po rozłączeniu z serwera? + + + + Moduł ten pozwala dostosować ustawienia odrodzenia (respawnu). + + + Friendly Fire Messages + Wiadomości Friendly Fire + + + + Użycie tego modułu na misji spowoduje wyświetlenie wiadomości na czacie w przypadku, kiedy zostanie popełniony friendly fire - wyświetlona zostanie wtedy wiadomość kto kogo zabił. + + + Rallypoint System + System punktu zbiórki + + + + Moduł ten pozwala zastosować na misji "punkt zbiórki", do którego można szybko przeteleportować się z "bazy". Wymaga postawienia odpowiednich obiektów na mapie - bazy oraz flagi. Obydwa dostępne są w kategorii Puste -> ACE Odrodzenie. + + + Move Rallypoint + Przenieś punkt zbiórki + + + ACE Respawn + ACE Odrodzenie + diff --git a/addons/switchunits/CfgVehicles.hpp b/addons/switchunits/CfgVehicles.hpp index 429970b1a0..1e041a3f4f 100644 --- a/addons/switchunits/CfgVehicles.hpp +++ b/addons/switchunits/CfgVehicles.hpp @@ -3,63 +3,66 @@ class CfgVehicles { class ACE_ModuleSwitchUnits: Module_F { author = "$STR_ACE_Common_ACETeam"; category = "ACE"; - displayName = "SwitchUnits System"; + displayName = "$STR_ACE_SwitchUnits_Module_DisplayName"; function = FUNC(module); scope = 2; isGlobal = 1; icon = QUOTE(PATHTOF(UI\Icon_Module_SwitchUnits_ca.paa)); class Arguments { class SwitchToWest { - displayName = "Switch to West?"; - description = "Allow switching to west units?"; + displayName = "$STR_ACE_SwitchUnits_SwitchToWest_DisplayName"; + description = "$STR_ACE_SwitchUnits_SwitchToWest_Description"; typeName = "BOOL"; class values { - class Yes {name = "Yes"; value = 1;}; - class No {default = 1; name = "No"; value = 0;}; + class Yes {name = "$STR_ACE_SwitchUnits_Yes"; value = 1;}; + class No {default = 1; name = "$STR_ACE_SwitchUnits_Yes"; value = 0;}; }; }; class SwitchToEast { - displayName = "Switch to East?"; - description = "Allow switching to east units?"; + displayName = "$STR_ACE_SwitchUnits_SwitchToEast_DisplayName"; + description = "$STR_ACE_SwitchUnits_SwitchToEast_Description"; typeName = "BOOL"; class values { - class Yes {name = "Yes"; value = 1;}; - class No {default = 1; name = "No"; value = 0;}; + class Yes {name = "$STR_ACE_SwitchUnits_Yes"; value = 1;}; + class No {default = 1; name = "$STR_ACE_SwitchUnits_No"; value = 0;}; }; }; class SwitchToIndependent { - displayName = "Switch to Independent?"; - description = "Allow switching to independent units?"; + displayName = "$STR_ACE_SwitchUnits_SwitchToIndependent_DisplayName"; + description = "$STR_ACE_SwitchUnits_SwitchToIndependent_Description"; typeName = "BOOL"; class values { - class Yes {name = "Yes"; value = 1;}; - class No {default = 1; name = "No"; value = 0;}; + class Yes {name = "$STR_ACE_SwitchUnits_Yes"; value = 1;}; + class No {default = 1; name = "$STR_ACE_SwitchUnits_No"; value = 0;}; }; }; class SwitchToCivilian { - displayName = "Switch to Civilian?"; - description = "Allow switching to civilian units?"; + displayName = "$STR_ACE_SwitchUnits_SwitchToCivilian_DisplayName"; + description = "$STR_ACE_SwitchUnits_SwitchToCivilian_Description"; typeName = "BOOL"; class values { - class Yes {name = "Yes"; value = 1;}; - class No {default = 1; name = "No"; value = 0;}; + class Yes {name = "$STR_ACE_SwitchUnits_Yes"; value = 1;}; + class No {default = 1; name = "$STR_ACE_SwitchUnits_No"; value = 0;}; }; }; class EnableSafeZone { - displayName = "Enable Safe Zone?"; - description = "Enable a safe zone around enemy units? Players can't switch to units inside of the safe zone."; + displayName = "$STR_ACE_SwitchUnits_EnableSafeZone_DisplayName"; + description = "$STR_ACE_SwitchUnits_EnableSafeZone_Description"; typeName = "BOOL"; class values { - class Yes {default = 1; name = "Yes"; value = 1;}; - class No {name = "No"; value = 0;}; + class Yes {default = 1; name = "$STR_ACE_SwitchUnits_Yes"; value = 1;}; + class No {name = "$STR_ACE_SwitchUnits_No"; value = 0;}; }; }; class SafeZoneRadius { - displayName = "Safe Zone Radius"; - description = "The safe zone around players from a different team. Default: 200"; + displayName = "$STR_ACE_SwitchUnits_SafeZoneRadius_DisplayName"; + description = "$STR_ACE_SwitchUnits_SafeZoneRadius_Description"; typeName = "NUMBER"; defaultValue = 100; }; + }; + class ModuleDescription { + description = "$STR_ACE_SwitchUnits_Module_Description"; }; }; -}; +}; \ No newline at end of file diff --git a/addons/switchunits/stringtable.xml b/addons/switchunits/stringtable.xml index 8121e3e61e..c1e7fc2d57 100644 --- a/addons/switchunits/stringtable.xml +++ b/addons/switchunits/stringtable.xml @@ -25,5 +25,69 @@ Questa unità è troppo vicina al nemico. Essa unidade está muito perta do inimigo. + + Yes + Tak + + + No + Nie + + + SwitchUnits System + System zmiany stron + + + Switch to West? + Zmiana na Zachód? + + + Allow switching to west units? + Pozwolić zmieniać graczom stronę na Zachód? + + + Switch to East? + Zmiana na Wschód? + + + Allow switching to east units? + Pozwolić zmieniać graczom stronę na Wschód? + + + Switch to Independent? + Zmiana na Ruch Oporu? + + + Allow switching to independent units? + Pozwolić zmieniać stronę na Ruch Oporu? + + + Switch to Civilian? + Zmiana na Cywili? + + + Allow switching to civilian units? + Pozwolić zmieniać stronę na Cywili? + + + Enable Safe Zone? + Aktywuj bezp. strefę? + + + Enable a safe zone around enemy units? Players can't switch to units inside of the safe zone. + Aktywuje bezpieczną strefę wokół jednostek przeciwnika. Gracze nie mogą zmieniać strony wewnątrz tej strefy. + + + Safe Zone Radius + Promień bezp. strefy + + + The safe zone around players from a different team. Default: 200 + Promień bezpiecznej strefy wokół graczy z innych drużyn. Domyślnie: 200 + + + + + diff --git a/addons/vehiclelock/CfgVehicles.hpp b/addons/vehiclelock/CfgVehicles.hpp index 94bcf34317..8436657676 100644 --- a/addons/vehiclelock/CfgVehicles.hpp +++ b/addons/vehiclelock/CfgVehicles.hpp @@ -69,7 +69,7 @@ class CfgVehicles { class ACE_VehicleLock_ModuleSetup: Module_F { author = "$STR_ACE_Common_ACETeam"; category = "ACE"; - displayName = "Vehicle Lock Setup"; + displayName = "$STR_ACE_VehicleLock_Module_DisplayName"; function = QFUNC(moduleInit); scope = 2; isGlobal = 0; @@ -77,37 +77,37 @@ class CfgVehicles { functionPriority = 0; class Arguments { class LockVehicleInventory { - displayName = "Lock Vehicle Inventory"; - description = "Locks the inventory of locked vehicles"; + displayName = "$STR_ACE_VehicleLock_LockVehicleInventory_DisplayName"; + description = "$STR_ACE_VehicleLock_LockVehicleInventory_Description"; typeName = "BOOL"; defaultValue = 0; }; class VehicleStartingLockState { - displayName = "Vehicle Starting Lock State"; // Argument label - description = "Set lock state for all vehicles (removes ambiguous lock states)"; // Tooltip description + displayName = "$STR_ACE_VehicleLock_VehicleStartingLockState_DisplayName"; // Argument label + description = "$STR_ACE_VehicleLock_VehicleStartingLockState_Description"; // Tooltip description typeName = "NUMBER"; // Value type, can be "NUMBER", "STRING" or "BOOL" class values { - class None {name = "As Is"; value = 0; default = 1;}; - class Side {name = "Locked"; value = 1;}; - class Unique {name = "Unlocked"; value = 2;}; + class None {name = "$STR_ACE_VehicleLock_VehicleStartingLockState_AsIs"; value = 0; default = 1;}; + class Side {name = "$STR_ACE_VehicleLock_VehicleStartingLockState_Locked"; value = 1;}; + class Unique {name = "$STR_ACE_VehicleLock_VehicleStartingLockState_Unlocked"; value = 2;}; }; }; class DefaultLockpickStrength { - displayName = "Default Lockpick Strength"; - description = "Default Time to lockpick (in seconds). Default: 10"; + displayName = "$STR_ACE_VehicleLock_DefaultLockpickStrength_DisplayName"; + description = "$STR_ACE_VehicleLock_DefaultLockpickStrength_Description"; typeName = "NUMBER"; // Value type, can be "NUMBER", "STRING" or "BOOL" defaultValue = "10"; // Default text filled in the input box }; }; class ModuleDescription: ModuleDescription { - description = "Settings for lockpick strength and initial vehicle lock state. Removes ambiguous lock states.
Source: vehiclelock.pbo"; + description = "$STR_ACE_VehicleLock_Module_Description"; }; }; class ACE_VehicleLock_ModuleSyncedAssign: Module_F { author = "$STR_ACE_Common_ACETeam"; category = "ACE"; - displayName = "Vehicle Key Assign"; + displayName = "$STR_ACE_VehicleLock_VehicleKeyAssign_Module_DisplayName"; function = QFUNC(moduleSync); scope = 2; isGlobal = 0; @@ -115,8 +115,8 @@ class CfgVehicles { functionPriority = 0; class Arguments {}; class ModuleDescription: ModuleDescription { - description = "Sync with vehicles and players. Will handout custom keys to players for every synced vehicle. Only valid for objects present at mission start.
Source: vehiclelock.pbo"; + description = "$STR_ACE_VehicleLock_VehicleKeyAssign_Module_Description"; sync[] = {"AnyPlayer", "AnyVehicle"}; }; }; -}; +}; \ No newline at end of file diff --git a/addons/vehiclelock/stringtable.xml b/addons/vehiclelock/stringtable.xml index 6ccfc8347b..4738d045df 100644 --- a/addons/vehiclelock/stringtable.xml +++ b/addons/vehiclelock/stringtable.xml @@ -133,5 +133,57 @@ Una chaive che apr ela maggior parte dei veicoli civili Uma chave que abre a maioria dos veículos civis. + + Vehicle Lock Setup + Ustawienie blokady pojazdów + + + Lock Vehicle Inventory + Zablokuj ekwipunek pojazdu + + + Locks the inventory of locked vehicles + Blokuje dostęp do ekwipunku pojazdu + + + Vehicle Starting Lock State + Początkowy stan blok. poj. + + + Set lock state for all vehicles (removes ambiguous lock states) + Ustawia początkowy stan blokady dla wszystkich pojazdów (usuwa dwuznaczne stany blokady) + + + As Is + Jak jest + + + Locked + Zablokowany + + + Unlocked + Odblokowany + + + Default Lockpick Strength + Czas włamywania + + + Default Time to lockpick (in seconds). Default: 10 + Domyślny czas potrzebny na otwarcie pojazdu (w sekundach). Domyślnie: 10 + + + Settings for lockpick strength and initial vehicle lock state. Removes ambiguous lock states.<br />Source: vehiclelock.pbo + Ustawienia czasu włamywania oraz domyślnego stanu blokady pojazdów. Wyłącza dwuznaczne ustawienia blokady. Moduł ten umożliwia więc np. zamknięcie pojazdów przeciwnika na klucz tak, że gracze bez odpowiedniego sprzętu (wytrycha) nie będą mogli ich używać.<br />Źródło: vehiclelock.pbo + + + Vehicle Key Assign + Przydział kluczyka do pojazdu + + + Sync with vehicles and players. Will handout custom keys to players for every synced vehicle. Only valid for objects present at mission start.<br />Source: vehiclelock.pbo + Zsynchronizuj z pojazdami i graczami. Rozda klucze dla graczy dla każdego zsynchronizowanego pojazdu. Działa tylko na pojazdy obecne na misji od samego początku (postawione w edytorze).<br />Źródło: vehiclelock.pbo + diff --git a/addons/weather/CfgVehicles.hpp b/addons/weather/CfgVehicles.hpp index 3de925e446..d2b5bddcba 100644 --- a/addons/weather/CfgVehicles.hpp +++ b/addons/weather/CfgVehicles.hpp @@ -2,7 +2,7 @@ class CfgVehicles { class ACE_Module; class GVAR(ModuleSettings): ACE_Module { scope = 2; - displayName = "Weather"; + displayName = "$STR_ACE_Weather_Module_DisplayName"; icon = QUOTE(PATHTOF(UI\Icon_Module_Wind_ca.paa)); category = "ACE"; function = QUOTE(DFUNC(initModuleSettings)); @@ -12,41 +12,44 @@ class CfgVehicles { author = "$STR_ACE_Common_ACETeam"; class Arguments { class enableServerController { - displayName = "Weather propagation"; - description = "Enables sever side weather propagation"; + displayName = "$STR_ACE_Weather_enableServerController_DisplayName"; + description = "$STR_ACE_Weather_enableServerController_Description"; typeName = "BOOL"; defaultValue = 1; }; class useACEWeather { - displayName = "ACE Weather"; - description = "Overrides the default weather (editor, mission settings) with ACE weather (map based)"; + displayName = "$STR_ACE_Weather_useACEWeather_DisplayName"; + description = "$STR_ACE_Weather_useACEWeather_Description"; typeName = "BOOL"; defaultValue = 1; }; class syncRain { - displayName = "Sync Rain"; - description = "Synchronizes rain"; + displayName = "$STR_ACE_Weather_syncRain_DisplayName"; + description = "$STR_ACE_Weather_syncRain_Description"; typeName = "BOOL"; defaultValue = 1; }; class syncWind { - displayName = "Sync Wind"; - description = "Synchronizes wind"; + displayName = "$STR_ACE_Weather_syncWind_DisplayName"; + description = "$STR_ACE_Weather_syncWind_Description"; typeName = "BOOL"; defaultValue = 1; }; class syncMisc { - displayName = "Sync Misc"; - description = "Synchronizes lightnings, rainbow, fog, ..."; + displayName = "$STR_ACE_Weather_syncMisc_DisplayName"; + description = "$STR_ACE_Weather_syncMisc_Description"; typeName = "BOOL"; defaultValue = 1; }; class serverUpdateInterval { - displayName = "Update Interval"; - description = "Defines the interval (seconds) between weather updates"; + displayName = "$STR_ACE_Weather_serverUpdateInterval_DisplayName"; + description = "$STR_ACE_Weather_serverUpdateInterval_Description"; typeName = "NUMBER"; defaultValue = 60; }; }; + class ModuleDescription { + description = "$STR_ACE_Weather_Module_Description"; + }; }; -}; +}; \ No newline at end of file diff --git a/addons/weather/stringtable.xml b/addons/weather/stringtable.xml index 2008fc7bc1..02c0964e03 100644 --- a/addons/weather/stringtable.xml +++ b/addons/weather/stringtable.xml @@ -13,5 +13,61 @@ Zobrazit informace o větru Mostrar informação do vento + + Weather + Pogoda + + + Multiplayer synchronized ACE weather module + Synchronizowana pogoda ACE + + + Weather propagation + Zmiany pogody + + + Enables server side weather propagation + Aktywuje zmiany pogody po stronie serwera + + + ACE Weather + Pogoda ACE + + + Overrides the default weather (editor, mission settings) with ACE weather (map based) + Nadpisuje domyślne ustawienia pogody (edytor, wywiad) przy użyciu pogody ACE (zależna od mapy) + + + Sync Rain + Synchronizuj deszcz + + + Synchronizes rain + Synchronizuje deszcz + + + Sync Wind + Synchronizuj wiatr + + + Synchronizes wind + Synchronizuje wiatr + + + Sync Misc + Synchronizuj różne + + + Synchronizes lightnings, rainbow, fog, ... + Synchronizuje pioruny, tęcze, mgłę, ... + + + Update Interval + Interwał aktualizacji + + + Defines the interval (seconds) between weather updates + Określa interwał (sekundy) pomiędzy aktualizacjami pogody + \ No newline at end of file diff --git a/addons/winddeflection/CfgVehicles.hpp b/addons/winddeflection/CfgVehicles.hpp index 1c24c0a386..2ce9421071 100644 --- a/addons/winddeflection/CfgVehicles.hpp +++ b/addons/winddeflection/CfgVehicles.hpp @@ -2,7 +2,7 @@ class CfgVehicles { class ACE_Module; class GVAR(ModuleSettings): ACE_Module { scope = 2; - displayName = "Wind Deflection"; + displayName = "$STR_ACE_WEATHER_WINDDEFLECTION_DISPLAYNAME"; //WIND DEFLECTION icon = QUOTE(PATHTOF(UI\Icon_Module_Wind_ca.paa)); category = "ACE"; function = QUOTE(DFUNC(initModuleSettings)); @@ -12,29 +12,32 @@ class CfgVehicles { author = "$STR_ACE_Common_ACETeam"; class Arguments { class enabled { - displayName = "Wind Deflection"; - description = "Enables wind deflection"; + displayName = "$STR_ACE_WEATHER_DEFLECTIONMODULE_DISPLAYNAME"; + description = "$STR_ACE_WEATHER_DEFLECTIONMODULE_DESCRIPTION"; typeName = "BOOL"; defaultValue = 1; }; class vehicleEnabled { - displayName = "Vehicle Enabled"; - description = "Enables wind deflection for static/vehicle gunners"; + displayName = "$STR_ACE_WEATHER_VEHICLEENABLED_DISPLAYNAME"; + description = "$STR_ACE_WEATHER_VEHICLEENABLED_DESCRIPTION"; typeName = "BOOL"; defaultValue = 1; }; class simulationInterval { - displayName = "Simulation Interval"; - description = "Defines the interval between every calculation step"; + displayName = "$STR_ACE_WEATHER_SIMULATIONINTERVAL_DISPLAYNAME"; + description = "$STR_ACE_WEATHER_SIMULATIONINTERVAL_DESCRIPTION"; typeName = "NUMBER"; defaultValue = 0.05; }; class simulationRadius { - displayName = "Simulation Radius"; - description = "Defines the radius around the player (in meters) at which projectiles are wind deflected"; + displayName = "$STR_ACE_WEATHER_SIMULATIONRADIUS_DISPLAYNAME"; + description = "$STR_ACE_WEATHER_SIMULATIONRADIUS_DESCRIPTION"; typeName = "NUMBER"; defaultValue = 3000; }; }; + class ModuleDescription { + description = "$STR_ACE_WEATHER_WINDDEFLECTION_DESCRIPTION"; + }; }; -}; +}; \ No newline at end of file diff --git a/addons/winddeflection/stringtable.xml b/addons/winddeflection/stringtable.xml index 4ebcc81bee..515591bd32 100644 --- a/addons/winddeflection/stringtable.xml +++ b/addons/winddeflection/stringtable.xml @@ -62,6 +62,46 @@ Umidità: %1% Humidade: %1% + + Wind Deflection + Wpływ wiatru + + + Wind Deflection + Wpływ wiatru + + + Enables wind deflection + Aktywuje wpływ wiatru na trajektorię lotu pocisków + + + Vehicle Enabled + Włączone dla pojazdów + + + Enables wind deflection for static/vehicle gunners + Aktywuje wpływ wiatru na trajektorię lotu pocisków dla broni statycznej i na pojazdach + + + Simulation Interval + Interwał symulacji + + + Defines the interval between every calculation step + Określa interwał pomiędzy każdym krokiem kalkulacji + + + Simulation Radius + Zasięg symulacji + + + Defines the radius around the player (in meters) at which projectiles are wind deflected + Określa obszar naokoło gracza (w metrach), na którym pociski są znoszone przez wiatr + + + Wind influence on projectiles trajectory + Wpływ wiatru na trajektorię lotu pocisków + From 156bba33213e09f8a6a9368d86ae6fdad151ed2f Mon Sep 17 00:00:00 2001 From: Grzegorz Sikora Date: Sat, 9 May 2015 20:37:57 +0200 Subject: [PATCH 191/217] Yes/No to BOOL Conflicts: addons/common/CfgVehicles.hpp addons/common/stringtable.xml addons/explosives/stringtable.xml addons/hearing/CfgVehicles.hpp addons/hearing/stringtable.xml addons/interaction/stringtable.xml addons/map/CfgVehicles.hpp addons/map/stringtable.xml addons/medical/CfgVehicles.hpp addons/medical/stringtable.xml addons/nametags/stringtable.xml addons/respawn/stringtable.xml addons/switchunits/CfgVehicles.hpp addons/switchunits/stringtable.xml Conflicts: addons/common/CfgVehicles.hpp addons/common/stringtable.xml addons/explosives/stringtable.xml addons/hearing/stringtable.xml addons/interaction/stringtable.xml addons/map/CfgVehicles.hpp addons/map/stringtable.xml addons/medical/CfgVehicles.hpp addons/medical/stringtable.xml addons/nametags/stringtable.xml addons/respawn/stringtable.xml addons/switchunits/CfgVehicles.hpp addons/switchunits/stringtable.xml --- addons/common/CfgVehicles.hpp | 14 ++------- addons/common/stringtable.xml | 22 +++++--------- addons/explosives/CfgModule.hpp | 24 ++------------- addons/explosives/stringtable.xml | 24 +++++---------- addons/hearing/CfgVehicles.hpp | 11 +++---- addons/hearing/stringtable.xml | 12 ++------ addons/interaction/CfgVehicles.hpp | 5 +--- addons/interaction/stringtable.xml | 38 +++++++---------------- addons/map/CfgVehicles.hpp | 26 ++++------------ addons/map/stringtable.xml | 8 ----- addons/medical/CfgVehicles.hpp | 44 ++++----------------------- addons/medical/stringtable.xml | 48 ++++++++++-------------------- addons/nametags/CfgVehicles.hpp | 5 +--- addons/nametags/stringtable.xml | 34 ++++++++------------- addons/respawn/CfgVehicles.hpp | 12 ++------ addons/respawn/stringtable.xml | 10 ------- addons/switchunits/CfgVehicles.hpp | 25 ++++------------ addons/switchunits/stringtable.xml | 8 ----- 18 files changed, 85 insertions(+), 285 deletions(-) diff --git a/addons/common/CfgVehicles.hpp b/addons/common/CfgVehicles.hpp index 70d84b376c..65bf2d7058 100644 --- a/addons/common/CfgVehicles.hpp +++ b/addons/common/CfgVehicles.hpp @@ -61,17 +61,7 @@ class CfgVehicles { displayName = "$STR_ACE_Common_CheckPBO_CheckAll_DisplayName"; description = "$STR_ACE_Common_CheckPBO_CheckAll_Description"; typeName = "BOOL"; - class values { - class WarnOnce { - default = 1; - name = "$STR_ACE_Common_CheckPBO_CheckAll_No"; - value = 0; - }; - class Warn { - name = "$STR_ACE_Common_CheckPBO_CheckAll_Yes"; - value = 1; - }; - }; + defaultValue = 0; }; class Whitelist { displayName = "$STR_ACE_Common_CheckPBO_Whitelist_DisplayName"; @@ -134,4 +124,4 @@ class CfgVehicles { }; }; }; -}; +}; \ No newline at end of file diff --git a/addons/common/stringtable.xml b/addons/common/stringtable.xml index 4ddc0112d8..5b908a9133 100644 --- a/addons/common/stringtable.xml +++ b/addons/common/stringtable.xml @@ -275,7 +275,7 @@ Désactiver menu commande Выключить командное меню Parancsnoki menü kikapcsolása - Disabilita menù di comando + Disabilita Menù di comando Desabilitar menu de comando @@ -308,11 +308,11 @@ Aceptar peticiones Akceptuj prośby Přijmout žádost + Accetta Richieste Accepter requête Принять запросы Kérések elfogadása Aceitar Pedido - Accetta la richiesta Decline Requests @@ -320,11 +320,11 @@ Rechazar peticiones Ignoruj prośby Zamítnout žádost + Rifiuta Richieste Отклонить запросы Rejeter requête Kérések elutasítása Rejeitar pedido - Rifiuta la richiesta Accept Requests send by other players. These can be requests to use / share equipment, perform certain actions. @@ -402,7 +402,7 @@ Hint Background color Hintergrundfarbe der Hinweise Color de fondo de las notificaciones - Colore di sfondo dei suggerimenti + Colore di sfondo dei Suggerimenti Цвет фона всплывающих подсказок Kolor tła powiadomień Notification: couleur de l'arrière plan @@ -414,7 +414,7 @@ The color of the background from the ACE hints. Die Hintergrundfarbe der ACE-Hinweise. El color de fondo de las notificaciones del ACE - Il colore di sfondo dei suggerimenti di ACE. + Il colore di sfondo dei suggerimenti dell'ACE. Цвет фона всплывающих подсказок АСЕ. Kolor tła dla powiadomień ACE Notification ACE: couleur de l'arrière plan @@ -426,7 +426,7 @@ Hint text font color Textfarbe der Hinweise Color del texto de las notificaciones - Il colore del testo dei suggerimenti + Il colore del Testo dei Suggerimenti Цвет шрифта всплывающих подсказок Kolor tekstu powiadomień Notification: couleur du texte @@ -438,7 +438,7 @@ The color of the text font from the ACE hints. This color is the default color for all text displayed through the ACE Hint system, if the hint text has no other color specified. Wähle die Textfarbe für ACE-Hinweise. Die gewählte Farbe wird als Standartfarbe der Hinweise angezeigt, wenn der Hinweis selbst keine spezifische Farbe hat. El color del texto de las notificaciones del ACE. Este es el color predeterminado para todo el texto que se muestra a través del sistema de notificaciones del ACE, si el texto de notificación no tiene otro color especificado. - Il colore del testo dei suggerimenti di ACE. Questo è il colore predefinito per tutto il testo mostrato dal sistema di suggerimenti di ACE quando il colore del testo non ha altro colore specificato. + Il colore del testo dei suggerimenti dell'ACE. Questo è il colore standard per tutti i caratteri mostrati dal sistema di suggerimenti dell'ACE, se il colore del testo non è specificato. Цвет шрифта текста всплывающих подсказок АСЕ. Этот цвет является стандартным для всего текста, транслирующегося через систему подсказок АСЕ, если не установлено другого цвета для текста подсказок. Kolor tekstu dla powiadomień ACE. Ten kolor jest domyślnym dla wszystkich tekstów wyświetlanych poprzez System Powiadomień ACE, jeżeli dla powiadomienia nie określono innego koloru. Notification ACE: couleur du texte. C'est la couleur par défaut de tout texte affiché dans les notifications ACE, si aucune couleur n'est spécifiée pour les notifications @@ -506,14 +506,6 @@ Check all addons instead of only those of ACE? Sprawdzaj wszystkie addony czy tylko te z ACE? - - No - Tylko ACE - - - Yes - Wszystkie - Whitelist Biała lista diff --git a/addons/explosives/CfgModule.hpp b/addons/explosives/CfgModule.hpp index 50b59fc55d..9159babc2d 100644 --- a/addons/explosives/CfgModule.hpp +++ b/addons/explosives/CfgModule.hpp @@ -15,33 +15,13 @@ class ACE_ModuleExplosive: Module_F { displayName = "$STR_ACE_Explosive_RequireSpecialist_DisplayName"; description = "$STR_ACE_Explosive_RequireSpecialist_Description"; typeName = "BOOL"; - class values { - class Yes { - name = "$STR_ACE_Explosive_Yes"; - value = 1; - }; - class No { - default = 1; - name = "$STR_ACE_Explosive_No"; - value = 0; - }; - }; + defaultValue = 0; }; class PunishNonSpecialists { displayName = "$STR_ACE_Explosive_PunishNonSpecialists_DisplayName"; description = "$STR_ACE_Explosive_PunishNonSpecialists_Description"; typeName = "BOOL"; - class values { - class Yes { - default = 1; - name = "$STR_ACE_Explosive_Yes"; - value = 1; - }; - class No { - name = "$STR_ACE_Explosive_No"; - value = 0; - }; - }; + defaultValue = 1; }; }; class ModuleDescription: ModuleDescription { diff --git a/addons/explosives/stringtable.xml b/addons/explosives/stringtable.xml index 5eb5d28512..42b5160030 100644 --- a/addons/explosives/stringtable.xml +++ b/addons/explosives/stringtable.xml @@ -1,4 +1,4 @@ - + @@ -368,7 +368,7 @@ Wybierz zapalnik Sélectionner une mise à feu Zvolit Detonátor - Seleziona un attivatore + Seleziona un Attivatore Gyújtóeszköz kiválasztása Selecionar um Gatilho Выберите детонатор @@ -392,7 +392,7 @@ Druckplatte Plaque de pression Nášlapná nástraha - Piastra a pressione + Piastra a Pressione Nyomólap Placa de pressão Нажимная плита @@ -404,7 +404,7 @@ Stolperdraht Fil de détente Nástražný drát - Filo a inciampo + Filo a Inciampo Botlódrót Linha de tração Растяжка @@ -440,7 +440,7 @@ Infrarotsensor (Seitenangriff) Capteur IR (de flanc) IR Značkovač (Výbuch stranou) - Sensore IR (attacco laterale) + Sensore IR (Attacco laterale) Infravörös szenzor (Side Attack) Sensor infravermelho (ataque lateral) ИК сенсор (детонация вбок) @@ -452,7 +452,7 @@ Magnetfeldsensor (Bodenangriff) Capteur magnétique (par le bas) Magnetický Senzor (Výbuch ze spoda) - Sensore Magnetico di Prossimità (attacco inferiore) + Sensore Magnetico di Prossimità (Attacco inferiore) Mágneses mező érzékelő (Bottom Attack) Influência magnética (ataque inferior) Магнитный сенсор (детонация вверх) @@ -462,7 +462,7 @@ Keine Sprengladungen auf diesem Auslöser. Ningún explosivo en el detonador. Pas d'explosif à mettre à feu. - Nessun esplosivo + Nessun esplosivo sul sensore. Žádná výbušnina k odpálení. Nincs robbanóanyag a gyújtóeszközhöz kötve. Brak ładunków na zapalnik. @@ -491,7 +491,7 @@ Robbanóanyagok távoli robbantásához Usado para detonar remotamente o explosivo quando solto. Используется для дистанционного подрыва, после смерти оператора. - Usato per attivare a distanza esplosivi al momento del rilascio + Usato per attivare esplosivi al momento del rilascio Pick up @@ -517,14 +517,6 @@ Require explosive specialists to disable explosives? Default: No Wymagać saperów do rozbrajania ładunków wybuchowych? Domyślnie: Nie - - Yes - Tak - - - No - Nie - Punish non-specialists? Karaj nie-specjalistów? diff --git a/addons/hearing/CfgVehicles.hpp b/addons/hearing/CfgVehicles.hpp index d20d067981..6cec04a242 100644 --- a/addons/hearing/CfgVehicles.hpp +++ b/addons/hearing/CfgVehicles.hpp @@ -98,20 +98,17 @@ class CfgVehicles { class ACE_ModuleHearing: Module_F { author = "$STR_ACE_Common_ACETeam"; category = "ACE"; - displayName = "$STR_ACE_Hearing_Module_DisplayName"; //Hearing + displayName = "$STR_ACE_Hearing_Module_DisplayName"; function = QFUNC(moduleHearing); scope = 2; isGlobal = 1; icon = PATHTOF(UI\Icon_Module_Hearing_ca.paa); class Arguments { class EnableCombatDeafness { - displayName = "$STR_ACE_Hearing_CombatDeafness_DisplayName"; //Enable combat deafness? - description = "$STR_ACE_Hearing_CombatDeafness_Description"; //Enable combat deafness? + displayName = "$STR_ACE_Hearing_CombatDeafness_DisplayName"; + description = "$STR_ACE_Hearing_CombatDeafness_Description"; typeName = "BOOL"; - class values { - class Yes { name = "$STR_ACE_Hearing_CombatDeafness_Yes"; value = 1; default = 1; }; //yes - class No { name = "$STR_ACE_Hearing_CombatDeafness_No"; value = 0; }; //no - }; + defaultValue = 1; }; }; class ModuleDescription { diff --git a/addons/hearing/stringtable.xml b/addons/hearing/stringtable.xml index e532768fd9..ae7bea38a2 100644 --- a/addons/hearing/stringtable.xml +++ b/addons/hearing/stringtable.xml @@ -106,7 +106,7 @@ Vypnout pískání v uších Wyłącz dzwonienie w uszach Fülcsengés letiltása - Disabilita i fischi nelle orecchie + Disabilita il ronzio Desabilitar zumbido de ouvidos @@ -121,17 +121,9 @@ Enable combat deafness? Możliwość chwilowej utraty słuchu przy głośnych wystrzałach i jednoczesnym braku włożonych stoperów - - Yes - Tak - - - No - Nie - Głuchota bojowa pojawia się w momentach, kiedy stoimy w pobliżu broni wielkokalibrowej bez ochrony słuchu, lub np. podczas ostrzału artyleryjskiego. Moduł ten pozwala na włączenie lub wyłączenie tego efektu. - + \ No newline at end of file diff --git a/addons/interaction/CfgVehicles.hpp b/addons/interaction/CfgVehicles.hpp index 9968c490e1..03466c1986 100644 --- a/addons/interaction/CfgVehicles.hpp +++ b/addons/interaction/CfgVehicles.hpp @@ -14,10 +14,7 @@ class CfgVehicles { displayName = "$STR_ACE_InteractionSystem_EnableTeamManagement_DisplayName"; description = "$STR_ACE_InteractionSystem_EnableTeamManagement_Description"; typeName = "BOOL"; - class values { - class Yes { default = 1; name = "$STR_ACE_InteractionSystem_EnableTeamManagement_Yes"; value = 1;}; - class No { name = "$STR_ACE_InteractionSystem_EnableTeamManagement_No"; value = 0; }; - }; + defaultValue = 1; }; }; class ModuleDescription { diff --git a/addons/interaction/stringtable.xml b/addons/interaction/stringtable.xml index 153b94a1d9..0e6e89b74c 100644 --- a/addons/interaction/stringtable.xml +++ b/addons/interaction/stringtable.xml @@ -1,4 +1,4 @@ - + @@ -119,7 +119,7 @@ Меню взаимодействия (с собой) Cselekvő menü (saját) Menu de Interação (Individual) - Menù interazione (individuale) + Menù interazione (Individuale) Open / Close Door @@ -263,7 +263,7 @@ Жесты Kézjelek Gestos - Gesti + Segnali gestuali Attack @@ -443,7 +443,7 @@ Někdo tě poklepal na PRAVÉ rameno Вас похлопали по ПРАВОМУ плечу Você foi tocado no ombro - Ti è stato dato un colpetto sulla spalla destra + Ti è stato dato un colpetto sulla spalla You were tapped on the LEFT shoulder. @@ -455,7 +455,7 @@ Někdo tě poklepal na LEVÉ rameno Вас похлопали по ЛЕВОМУ плечу Você foi tocado no ombro. - Ti è stato dato un colpetto sulla spalla sinistra + Ti è stato dato un colpetto sulla spalla Cancel @@ -503,7 +503,7 @@ A földre! Ложись! Abaixe-se! - A terra! + A Terra! Team Management @@ -575,7 +575,6 @@ Přiřadit k červeným Назначить в Красную группу Assigner à rouge - Assegna al team rosso Assign Green @@ -587,7 +586,6 @@ Přiřadit k zeleným Назначить в Зеленую группу Assigner à vert - Assegna al team verde Assign Blue @@ -599,7 +597,6 @@ Přiřadit k modrým Назначить в Синюю группу Assigner à bleu - Assegna al team blu Assign Yellow @@ -611,7 +608,6 @@ Přiřadit ke žlutým Назначить в Желтую группу Assigner à jaune - Assegna al team giallo Join Red @@ -623,7 +619,6 @@ Připojit k červeným Присоединиться к Красной группе Rejoindre rouge - Unirsi al team rosso Join Green @@ -635,7 +630,6 @@ Připojit k zeleným Присоединиться к Зеленой группе Rejoindre vert - Unirsi al team verde Join Blue @@ -647,7 +641,6 @@ Připojit k modrým Присоединиться к Синей группе Rejoindre bleu - Unirsi al team blu Join Yellow @@ -659,7 +652,6 @@ Připojit ke žlutým Присоединиться к Жёлтой группе Rejoindre jaune - Unirsi al team giallo You joined Team %1 @@ -729,7 +721,7 @@ Tecla modificadora Клавиша-модификатор Tecla Modificadora - Tasto modifica + Modifica tasto Módosító billentyű Modifikátor @@ -743,7 +735,7 @@ Hatótávolságon kívül Poza zasięgiem Mimo dosah - Fuori limite + Non in raggio Equipment @@ -766,8 +758,8 @@ Odstrčit Tolás Толкать + Spingi Empurrar - Spingere Interact @@ -778,7 +770,7 @@ Interakcja Interactuar Cselekvés - Interagire + Interagisci Interagir @@ -805,17 +797,9 @@ Should players be allowed to use the Team Management Menu? Default: Yes Czy gracze mogą korzystać z menu zarządzania drużyną? Domyślnie: Tak - - Yes - Tak - - - No - Nie - Na zarządzanie drużyną składa się: przydział kolorów dla członków drużyny, przejmowanie dowodzenia, dołączanie/opuszczanie drużyn. - + \ No newline at end of file diff --git a/addons/map/CfgVehicles.hpp b/addons/map/CfgVehicles.hpp index 150ac23930..849549e3d1 100644 --- a/addons/map/CfgVehicles.hpp +++ b/addons/map/CfgVehicles.hpp @@ -13,37 +13,25 @@ class CfgVehicles { displayName = "$STR_ACE_Map_MapIllumination_DisplayName"; description = "$STR_ACE_Map_MapIllumination_Description"; typeName = "BOOL"; - class values { - class Yes { name = "$STR_ACE_Map_Yes"; value = 1; default = 1; }; - class No { name = "$STR_ACE_Map_No"; value = 0; }; - }; + defaultValue = 1; }; class MapShake { displayName = "$STR_ACE_Map_MapShake_DisplayName"; description = "$STR_ACE_Map_MapShake_Description"; typeName = "BOOL"; - class values { - class Yes { name = "$STR_ACE_Map_Yes"; value = 1; default = 1;}; - class No { name = "$STR_ACE_Map_No"; value = 0; }; - }; + defaultValue = 1; }; class MapLimitZoom { displayName = "$STR_ACE_Map_MapLimitZoom_DisplayName"; description = "$STR_ACE_Map_MapLimitZoom_Description"; typeName = "BOOL"; - class values { - class Yes { name = "$STR_ACE_Map_Yes"; value = 1; }; - class No { name = "$STR_ACE_Map_No"; value = 0; default = 1;}; - }; + defaultValue = 0; }; class MapShowCursorCoordinates { displayName = "$STR_ACE_Map_MapShowCursorCoordinates_DisplayName"; description = "$STR_ACE_Map_MapShowCursorCoordinates_Description"; typeName = "BOOL"; - class values { - class Yes { name = "$STR_ACE_Map_Yes"; value = 1; }; - class No { name = "$STR_ACE_Map_No"; value = 0; default = 1;}; - }; + defaultValue = 0; }; }; class ModuleDescription { @@ -63,16 +51,14 @@ class CfgVehicles { class Interval { displayName = "$STR_ACE_Map_BFT_Interval_DisplayName"; description = "$STR_ACE_Map_BFT_Interval_Description"; + typeName = "NUMBER"; defaultValue = 1; }; class HideAiGroups { displayName = "$STR_ACE_Map_BFT_HideAiGroups_DisplayName"; description = "$STR_ACE_Map_BFT_HideAiGroups_Description"; typeName = "BOOL"; - class values { - class Yes { name = "$STR_ACE_Map_Yes"; value = 1; }; - class No { name = "$STR_ACE_Map_No"; value = 0; default = 1; }; - }; + defaultValue = 0; }; }; class ModuleDescription { diff --git a/addons/map/stringtable.xml b/addons/map/stringtable.xml index 0c25016653..c93ff4c286 100644 --- a/addons/map/stringtable.xml +++ b/addons/map/stringtable.xml @@ -13,14 +13,6 @@ Calculate dynamic map illumination based on light conditions? Oblicza dynamiczne oświetlenie mapy bazujące na warunkach oświetleniowych - - Yes - Tak - - - No - Nie - Map shake? Drżenie mapy diff --git a/addons/medical/CfgVehicles.hpp b/addons/medical/CfgVehicles.hpp index aac43de0ed..6c37c5cfd9 100644 --- a/addons/medical/CfgVehicles.hpp +++ b/addons/medical/CfgVehicles.hpp @@ -191,11 +191,8 @@ class CfgVehicles { class consumeItem_PAK { displayName = "$STR_ACE_AdvancedMedicalSettings_consumeItem_PAK_DisplayName"; description = "$STR_ACE_AdvancedMedicalSettings_consumeItem_PAK_Description"; - typeName = "NUMBER"; - class values { - class keep { name = "$STR_ACE_Medical_No"; value = 0; }; - class remove { name = "$STR_ACE_Medical_Yes"; value = 1; default = 1; }; - }; + typeName = "BOOL"; + defaultValue = 1; }; class useLocation_PAK { displayName = "$STR_ACE_AdvancedMedicalSettings_useLocation_PAK_DisplayName"; @@ -336,18 +333,8 @@ class CfgVehicles { class enabled { displayName = "$STR_ACE_AssignMedicVehicle_enabled_DisplayName"; description = "$STR_ACE_AssignMedicVehicle_enabled_Description"; - typeName = "NUMBER"; - class values { - class none { - name = "$STR_ACE_Medical_No"; - value = 0; - }; - class medic { - name = "$STR_ACE_Medical_Yes"; - value = 1; - default = 1; - }; - }; + typeName = "BOOL"; + defaultValue = 1; }; }; class ModuleDescription { @@ -1016,25 +1003,4 @@ class CfgVehicles { }; }; }; -}; - - - - - - - - - - - - - - - - - - - - - +}; \ No newline at end of file diff --git a/addons/medical/stringtable.xml b/addons/medical/stringtable.xml index 50f3d67110..0eb23d57d4 100644 --- a/addons/medical/stringtable.xml +++ b/addons/medical/stringtable.xml @@ -83,7 +83,7 @@ Injecter de la morphine Morfium beadása Injetar Morfina - Inietta morfina + Inietta Morfina Transfuse Blood @@ -95,7 +95,7 @@ Transfusion Infúzió (vér) Transfundir Sangue - Trasfusione di sangue + Effettua trasfusione di sangue Transfuse Plasma @@ -106,7 +106,7 @@ Transfuser du Plasma Перелить плазму Infúzió (vérplazma) - Trasfusione di Plasma + Effettua trasfusione di plasma Transfundir Plasma @@ -118,7 +118,7 @@ Transfuser de la solution saline Перелить физраствор Infúzió (sós víz) - Trasfusione di soluzione salina + Effettua trasfusione di soluzione salina Transfundir Soro @@ -274,7 +274,7 @@ Transfusion de saline ... Переливание физраствора ... Infúzió sós vizzel ... - Effettuo la rasfusione di soluzione salina + Effettuo la rasfusione di salina Transfundindo Soro... @@ -370,7 +370,7 @@ QuikClot Hémostatique QuikClot - QuikClot (polvere emostatica) + QuikClot(polvere emostatica) QuikClot @@ -632,7 +632,7 @@ Natychmiastowy Urgence Immédiate Sofort - Okamžitý + Okamžiý Azonnali Immediata Imediato @@ -801,7 +801,7 @@ Bandage fait d'un matériel spécial utilisé pour couvrir une blessure, qui peut etre appliqué dès que le saignement a été stoppé. Opatrunek materiałowy, używany do przykrywania ran, zakładany na ranę po zatamowaniu krwawienia. Egy különleges anyagú kötszer sebek betakarására, amelyet a vérzés elállítása után helyeznek fel. - Una benda apposita, utilizzata per coprire una ferita, la quale viene applicata su di essa una volta fermata l'emorragia. + Una benda apposita, utilizzata per coprire una ferita, la quale è applicata sopra di essa una volta fermata l'emorragia. Uma curativo, material específico para cobrir um ferimento que é aplicado assim que o sangramento é estancando. Obvaz je vhodným způsobem upravený sterilní materiál, určený k překrytí rány, případně k fixaci poranění. @@ -825,7 +825,7 @@ Utilisé pour couvrir des blessures de taille moyenne à grande. Arrête l'hémorragies Używany w celu opatrywania średnich i dużych ran oraz tamowania krwawienia. Közepestől nagyig terjedő sebek betakarására és vérzés elállítására használt kötszer - Usato su ferite medie o larghe per fermare emorragie. + Usato su medie o larghe ferite per fermare emorragie. Usado para o preenchimento de cavidades geradas por ferimentos médios e grandes e estancar o sangramento. Používá se k zastavení středních až silnějších krvácení @@ -850,7 +850,7 @@ Bandaż (elastyczny) Obvaz (elastický) Rögzító kötszer - Benda (elastica) + Benda (Elastica) Bandagem (Elástica) @@ -861,7 +861,7 @@ Bandage compressif élastique Zestaw bandaży elastycznych. Rugalmas kötszercsomag, "rögzítő" - Kit di bendaggio, elastico + Kit bendaggio, elastico Kit de Bandagem, Elástica Sada obvazů, Elastická @@ -873,7 +873,7 @@ Elastyczna opaska podtrzymująca opatrunek oraz usztywniająca okolice stawów. Brinda una compresión uniforme y ofrece soporte extra a una zona lesionada Egyenletes nyomást és támogatást biztosít a sebesült felületnek. - Permette di comprimere e aiutare la zone ferita. + Permette di comprimevere e aiutare la zone ferita. Esta bandagem pode ser utilizada para comprimir o ferimento e diminuir o sangramento e garantir que o ferimento não abra em movimento. Hodí se k fixačním účelům a to i v oblastech kloubů. @@ -958,7 +958,7 @@ Atropin Autoinjektor Autoinjektor atropin Atropin autoinjektor - Autoiniettore di atropina + Autoiniettore di Atropina Auto-injetor de Atropina @@ -994,7 +994,7 @@ Epiniphrin Autoinjektor Autoinjektor adrenalin Epinefrin autoinjektor - Autoiniettore di epinefrina + Autoiniettore di Epinefrina Auto-injetor de epinefrina @@ -1271,7 +1271,6 @@ Elsősegélycsomag, terepen való sebvarráshoz és haladó ellátáshoz Kit de primeiros socorros para sutura ou tratamentos avançados Osobní lékárnička obsahuje zdravotnický materiál umožňující šití a pokročilejší ošetřování raněných v poli - Pronto soccorso personale da campo per mettersi i punti o per trattamenti avanzati. Use Personal Aid Kit @@ -1283,7 +1282,6 @@ Elsősegélycsomag használata Usar o kit de primeiros socorros Použít osobní lékárničku - Usa il pronto soccorso personale Surgical Kit @@ -1783,7 +1781,7 @@ He's lost some blood - Ha perso sangue + Ha perso molto sangue Ha perdido un poco de sangre Есть кровопотеря Er hat etwas Blut verloren @@ -1803,7 +1801,6 @@ Il a perdu beaucoup de sang Ztratil hodně krve Ele perdeu muito sangue - Ha perso molto sangue He hasn't lost blood @@ -2247,7 +2244,6 @@ Styl menu (Zdravotní) Estilo do menu (Médico) Menü stílusa (Orvosi) - Stile del menù (medico) Select the type of menu you prefer; default 3d selections or radial. @@ -2259,7 +2255,6 @@ Selecione o tipo de menu que você prefere; padrão seleções 3d ou radial. Válaszd ki a neked megfelelő menüt: Alapértelmezett 3D válogatás, vagy kerek. Zvolte typ menu: základní 3D výběr nebo kruhový - Seleziona il tipo di menù che preferisci: selezione 3d predefinita o radiale. Selections (3d) @@ -2271,7 +2266,6 @@ Seleção (3d) Választékok (3D) 3D výběr - Selezione (3D) Radial @@ -2283,7 +2277,6 @@ Radial Kerek Kruhový - Radiale Scrape @@ -2691,7 +2684,6 @@ Tratando ... Tratando... Ošetřuji ... - Curando ... Removing Tourniquet ... @@ -2703,7 +2695,6 @@ Érszorító eltávolítása ... Sundavám škrtidlo ... Снятие жгута ... - Togliendo il laccio emostatico ... ACE Medical @@ -2897,14 +2888,6 @@ Should PAK be removed on usage? Czy apteczka osobista powinna zniknąć z ekwipunku po jej użyciu? - - No - Nie - - - Yes - Tak - Locations PAK Ogr. apteczek osobistych @@ -3079,3 +3062,4 @@ + \ No newline at end of file diff --git a/addons/nametags/CfgVehicles.hpp b/addons/nametags/CfgVehicles.hpp index 3619df195f..a4ef577ecf 100644 --- a/addons/nametags/CfgVehicles.hpp +++ b/addons/nametags/CfgVehicles.hpp @@ -62,10 +62,7 @@ class CfgVehicles { displayName = "$STR_ACE_NameTags_showCursorTagForVehicles_DisplayName"; description = "$STR_ACE_NameTags_showCursorTagForVehicles_Description"; typeName = "BOOL"; - class values { - class Yes {name = "$STR_ACE_NameTags_Yes"; value = 1;}; - class No {default = 1; name = "$STR_ACE_NameTags_No"; value = 0;}; - }; + defaultValue = 0; }; }; class ModuleDescription: ModuleDescription { diff --git a/addons/nametags/stringtable.xml b/addons/nametags/stringtable.xml index 251e8eba9a..070257e807 100644 --- a/addons/nametags/stringtable.xml +++ b/addons/nametags/stringtable.xml @@ -70,8 +70,8 @@ Zobrazit info o posádce vozidla Показывать информацию об экипаже Jármű-legénység adatainak mutatása + Mostra le informazioni sull'equipaggio del veicolo Mostrar tripulantes - Mostra l'elenco del personale a bordo Show name tags for AI units @@ -82,7 +82,7 @@ Wyświetl imiona jednostek AI Afficher les noms des IA Névcímkék mutatása MI-egységeknél - Mostra i nomi delle le unità AI + Mostra le tag nomi per le unità AI Mostrar nomes para unidades de IA @@ -94,7 +94,7 @@ Pokaż fale dźwiękowe (wymagana opcja Pokaż imiona graczy) Afficher "qui parle" (si noms affichés) "Hanghullámok" mutatása (a nevek mutatása szükséges) - Mostra movimento audio (richiede mostra nomi abilitato) + Mostra barra movimento audio (richiede mostra nomi abilitato) Mostrar onda sonora (requer nome de jogadores) @@ -106,7 +106,7 @@ Couleur d'affichage par défaut (si dans aucun groupe) Standardní barva jmenovek (pro nečleny jednotky) Alap névcímke-szín (csoporton kívüli személyek) - Colore dei nomi non appartenenti al gruppo + Colore nametag di default (membri non del gruppo) Cor padrão do nome (unidades fora do grupo) @@ -157,51 +157,43 @@ Show cursor NameTag for vehicle commander (only if client has name tags enabled)Default: No Pokazuj imię dowódcy pojazdu nad pojazdem (tylko jeżeli klient ma włączone imiona graczy). Domyślnie: Nie - - Yes - Tak - - - No - Nie - Moduł ten pozwala dostosować ustawienia i zasięg wyświetlania imion. - + Disabled Wyłączone - + Enabled Włączone - + Only Cursor Tylko pod kursorem - + Only On Keypress Tylko po wciśnięciu klawisza - + Only Cursor and KeyPress Tylko pod kursorem i po wciśnięciu klawisza - + Use Nametag settings Użyj ustawień imion - + Always Show All Zawsze pokazuj wszystkie - + Opcja ta pozwala dostosować sposób wyświetlania imion nad głowami graczy. Opcja "Tylko po wciśnięciu klawisza" wyświetla imiona tylko przytrzymania klawisza "Modyfikator" dostępnego w menu ustawień addonów -> ACE3. - + Opcja ta pozwala dostosować sposób wyświetlania efektu fal dźwiękowych nad głowami mówiących graczy, wyświetlanych po przytrzymaniu klawisza PTT. Opcja ta współpracuje z TFAR oraz ACRE2. diff --git a/addons/respawn/CfgVehicles.hpp b/addons/respawn/CfgVehicles.hpp index 07ef054b0d..00f0bd4493 100644 --- a/addons/respawn/CfgVehicles.hpp +++ b/addons/respawn/CfgVehicles.hpp @@ -17,22 +17,14 @@ class CfgVehicles { displayName = "$STR_ACE_Respawn_SavePreDeathGear_DisplayName"; description = "$STR_ACE_Respawn_SavePreDeathGear_Description"; typeName = "BOOL"; - - class values { - class Yes { name = "$STR_ACE_Respawn_Yes"; value = 1; }; - class No { default = 1; name = "$STR_ACE_Respawn_No"; value = 0; }; - }; + defaultValue = 0; }; class RemoveDeadBodiesDisconnected { displayName = "$STR_ACE_Respawn_RemoveDeadBodiesDisconnected_DisplayName"; description = "$STR_ACE_Respawn_RemoveDeadBodiesDisconnected_Description"; typeName = "BOOL"; - - class values { - class Yes { default = 1; name = "$STR_ACE_Respawn_Yes"; value = 1; }; - class No { name = "$STR_ACE_Respawn_No"; value = 0; }; - }; + defaultValue = 1; }; }; class ModuleDescription: ModuleDescription { diff --git a/addons/respawn/stringtable.xml b/addons/respawn/stringtable.xml index a9965dd2a4..5351d0f3bc 100644 --- a/addons/respawn/stringtable.xml +++ b/addons/respawn/stringtable.xml @@ -35,7 +35,6 @@ Téléportation à la base Teletransportar para a Base Bázisra teleportálás - Teleporta alla base Teleport to Rallypoint @@ -47,7 +46,6 @@ Téléporation au point de ralliement Teletransportar para o ponto de encontro Gyülekezőpontra teleportálás - Teleporta al rallypoint Teleported to Base @@ -157,14 +155,6 @@ Respawn with the gear a soldier had just before his death? Odradzaj z ekwipunkiem jaki żołnierz miał tuż przed swoją śmiercią? - - Yes - Tak - - - No - Nie - Remove bodies? Usuwać ciała? diff --git a/addons/switchunits/CfgVehicles.hpp b/addons/switchunits/CfgVehicles.hpp index 1e041a3f4f..48271c6428 100644 --- a/addons/switchunits/CfgVehicles.hpp +++ b/addons/switchunits/CfgVehicles.hpp @@ -13,46 +13,31 @@ class CfgVehicles { displayName = "$STR_ACE_SwitchUnits_SwitchToWest_DisplayName"; description = "$STR_ACE_SwitchUnits_SwitchToWest_Description"; typeName = "BOOL"; - class values { - class Yes {name = "$STR_ACE_SwitchUnits_Yes"; value = 1;}; - class No {default = 1; name = "$STR_ACE_SwitchUnits_Yes"; value = 0;}; - }; + defaultValue = 0; }; class SwitchToEast { displayName = "$STR_ACE_SwitchUnits_SwitchToEast_DisplayName"; description = "$STR_ACE_SwitchUnits_SwitchToEast_Description"; typeName = "BOOL"; - class values { - class Yes {name = "$STR_ACE_SwitchUnits_Yes"; value = 1;}; - class No {default = 1; name = "$STR_ACE_SwitchUnits_No"; value = 0;}; - }; + defaultValue = 0; }; class SwitchToIndependent { displayName = "$STR_ACE_SwitchUnits_SwitchToIndependent_DisplayName"; description = "$STR_ACE_SwitchUnits_SwitchToIndependent_Description"; typeName = "BOOL"; - class values { - class Yes {name = "$STR_ACE_SwitchUnits_Yes"; value = 1;}; - class No {default = 1; name = "$STR_ACE_SwitchUnits_No"; value = 0;}; - }; + defaultValue = 0; }; class SwitchToCivilian { displayName = "$STR_ACE_SwitchUnits_SwitchToCivilian_DisplayName"; description = "$STR_ACE_SwitchUnits_SwitchToCivilian_Description"; typeName = "BOOL"; - class values { - class Yes {name = "$STR_ACE_SwitchUnits_Yes"; value = 1;}; - class No {default = 1; name = "$STR_ACE_SwitchUnits_No"; value = 0;}; - }; + defaultValue = 0; }; class EnableSafeZone { displayName = "$STR_ACE_SwitchUnits_EnableSafeZone_DisplayName"; description = "$STR_ACE_SwitchUnits_EnableSafeZone_Description"; typeName = "BOOL"; - class values { - class Yes {default = 1; name = "$STR_ACE_SwitchUnits_Yes"; value = 1;}; - class No {name = "$STR_ACE_SwitchUnits_No"; value = 0;}; - }; + defaultValue = 1; }; class SafeZoneRadius { displayName = "$STR_ACE_SwitchUnits_SafeZoneRadius_DisplayName"; diff --git a/addons/switchunits/stringtable.xml b/addons/switchunits/stringtable.xml index c1e7fc2d57..cdde0f8ff1 100644 --- a/addons/switchunits/stringtable.xml +++ b/addons/switchunits/stringtable.xml @@ -25,14 +25,6 @@ Questa unità è troppo vicina al nemico. Essa unidade está muito perta do inimigo. - - Yes - Tak - - - No - Nie - SwitchUnits System System zmiany stron From 63c5308cd95a5396626f0986c71c6b9e060ed131 Mon Sep 17 00:00:00 2001 From: Grzegorz Sikora Date: Sat, 9 May 2015 20:43:55 +0200 Subject: [PATCH 192/217] Missed one Yes/no to BOOL --- addons/vehiclelock/CfgVehicles.hpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/addons/vehiclelock/CfgVehicles.hpp b/addons/vehiclelock/CfgVehicles.hpp index 8436657676..60cb67d4c4 100644 --- a/addons/vehiclelock/CfgVehicles.hpp +++ b/addons/vehiclelock/CfgVehicles.hpp @@ -83,9 +83,9 @@ class CfgVehicles { defaultValue = 0; }; class VehicleStartingLockState { - displayName = "$STR_ACE_VehicleLock_VehicleStartingLockState_DisplayName"; // Argument label - description = "$STR_ACE_VehicleLock_VehicleStartingLockState_Description"; // Tooltip description - typeName = "NUMBER"; // Value type, can be "NUMBER", "STRING" or "BOOL" + displayName = "$STR_ACE_VehicleLock_VehicleStartingLockState_DisplayName"; + description = "$STR_ACE_VehicleLock_VehicleStartingLockState_Description"; + typeName = "NUMBER"; class values { class None {name = "$STR_ACE_VehicleLock_VehicleStartingLockState_AsIs"; value = 0; default = 1;}; class Side {name = "$STR_ACE_VehicleLock_VehicleStartingLockState_Locked"; value = 1;}; @@ -95,8 +95,8 @@ class CfgVehicles { class DefaultLockpickStrength { displayName = "$STR_ACE_VehicleLock_DefaultLockpickStrength_DisplayName"; description = "$STR_ACE_VehicleLock_DefaultLockpickStrength_Description"; - typeName = "NUMBER"; // Value type, can be "NUMBER", "STRING" or "BOOL" - defaultValue = "10"; // Default text filled in the input box + typeName = "NUMBER"; + defaultValue = "10"; }; }; class ModuleDescription: ModuleDescription { From 5bbf875ef28a6afa912936f14e17eac51efc9f5f Mon Sep 17 00:00:00 2001 From: GieNkoV Date: Tue, 12 May 2015 04:54:23 +0200 Subject: [PATCH 193/217] Tabs removed Conflicts: addons/missileguidance/stringtable.xml addons/optionsmenu/stringtable.xml --- addons/missileguidance/stringtable.xml | 226 +++++----- addons/optionsmenu/stringtable.xml | 577 ++++++++++++------------- 2 files changed, 401 insertions(+), 402 deletions(-) diff --git a/addons/missileguidance/stringtable.xml b/addons/missileguidance/stringtable.xml index 3c551493a5..ef9bdeea26 100644 --- a/addons/missileguidance/stringtable.xml +++ b/addons/missileguidance/stringtable.xml @@ -1,113 +1,113 @@ - - - - - Advanced Missile Guidance - Guiado Avanzado de Misiles - Guidage avancé de missile - Zaawansowane naprowadzanie rakiet - Erweitertes Raketenlenksystem - Pokročilé řízení střel - Guida missili avanzata - Avançado Missile Guidance - Fejlett rakétairányító - Продвинутое наведение ракет - - - Advanced missile guidance, or AMG, provides multiple enhancements to missile locking and firing. It is also a framework required for missile weapon types. - Zaawansowane namierzanie rakiet, lub ZNR, dostarcza wiele poprawek do systemu namierzania rakiet oraz dodaje nowe tryby strzału. Jest to wymagana opcja dla broni rakietowych. - Guida dei missili avanzata, o AMG, offre diversi miglioramenti alla teleguida di missili. E' anche un sistema necessario per i tipi di armi missile. - Продвинутое наведение ракет, или ПНР, обеспечивает множество усовершествований для наведения и стрельбы ракет. Также, это система, необходимая для всех ракетных типов оружия. - Guiado Avanzado de Misiles, o AMG en sus siglas en inglés, ofrece múltiples mejoras en el fijado y disparo de misiles. Es también un sistema requerido para armas de tipo misil. - Das Erweiterte Raketenlenksystem, auch ERls genannt, bietet viele Verbesserungen zum Aufschalten und Feuern mittels gelenkten Raketen. - Le guidage avancé de missile, ou AMG en anglais, apporte de multiple améliorations au verouillage et au tir de missiles. C'est aussi un framework requis pour tout arme de type missile. - A fejlett rakétairányító (vagy AMG) többféle módosítást tartalmaz a rakéták célkövetéséhez és tüzeléséhez. Ez egy szükséges keresztrendszer a rakéta-alapú fegyverekhez. - Orientação avançada de mísseis ou OAM, fornece vários aprimoramentos para travamento de mísseis e disparos. Também é um sistema requerido para disparar armas que utilizem mísseis. - Pokočilé navádění raket (AMG) poskytuje několik vylepšení pro lepší zaměření a následnou střelbu. Je to prvek vyžadovaný u typu zbraní jako jsou rakety. - - - Hydra-70 DAGR Missile - Misil Hydra-70 DAGR - Hydra-70 DAGR - Hydra-70 DAGR - Hydra-70 DAGR Rackete - Hydra-70 DAGR - Missile Hydra-70 DAGR - Míssil Hydra-70 DAGR - Hydra-70 DAGR rakéta - Hydra-70 DAGR - - - DAGR - DAGR - DAGR - DAGR - DAGR - DAGR - DAGR - DAGR - DAGR - DAGR - - - Hydra-70 DAGR Laser Guided Missile - Misil guiado por láser Hydra-70 DAGR - Missile à guidage laser Hydra-70 DAGR - Laserowo naprowadzana rakieta Hydra-70 DAGR - Hydra-70 DAGR lasergelenkte Rakete - Hydra-70 DAGR laserem naváděná střela - Hydra-70 DAGR missile guida laser - Míssil guiado a laser Hydra-70 DAGR - Hydra-70 DAGR lézer-irányított rakéta - Управляемая ракета лазерного наведения Hydra-70 DAGR - - - Hellfire II AGM-114K Missile - Misil Hellfire II AGM-114K - Hellfire II AGM-114K - Hellfire II AGM-114K - Hellfire II AGM-114K - Hellfire II AGM-114K - Missile Hellfire II AGM-114K - Míssil Hellfire II AGM-114K - Hellfire II AGM-114K rakéta - Hellfire II AGM-114K - - - AGM-114K - AGM-114K - AGM-114K - AGM-114K - AGM-114K - AGM-114K - AGM-114K - AGM-114K - AGM-114K - AGM-114K - - - Hellfire II AGM-114K Laser Guided Missile - Misil guiado por láser Hellfire II AGM-114K - Missile à guidage laser Hellfire II AGM-114K - Laserowo naprowadzana rakieta Hellfire II AGM-114K - Hellfire II AGM-114K Lasergelenkte Rakete - Hellfire II AGM-114K laserem naváděná střela - Missile guida laser Hellfire II AGM-114K - Míssil guiado a laser Hellfire II AGM-114K - Hellfire II AGM-114K lézer-irányított rakéta - Управляемая ракета лазерного наведения Hellfire II AGM-114K - - - Off - Wyłącz - - - Player Only - Tylko gracz - - - Player and AI - Gracz oraz AI - - - + + + + + Advanced Missile Guidance + Guiado Avanzado de Misiles + Guidage avancé de missile + Zaawansowane naprowadzanie rakiet + Erweitertes Raketenlenksystem + Pokročilé řízení střel + Guida missili avanzata + Avançado Missile Guidance + Fejlett rakétairányító + Продвинутое наведение ракет + + + Advanced missile guidance, or AMG, provides multiple enhancements to missile locking and firing. It is also a framework required for missile weapon types. + Zaawansowane namierzanie rakiet, lub ZNR, dostarcza wiele poprawek do systemu namierzania rakiet oraz dodaje nowe tryby strzału. Jest to wymagana opcja dla broni rakietowych. + Guida dei missili avanzata, o AMG, offre diversi miglioramenti alla teleguida di missili. E' anche un sistema necessario per i tipi di armi missile. + Продвинутое наведение ракет, или ПНР, обеспечивает множество усовершествований для наведения и стрельбы ракет. Также, это система, необходимая для всех ракетных типов оружия. + Guiado Avanzado de Misiles, o AMG en sus siglas en inglés, ofrece múltiples mejoras en el fijado y disparo de misiles. Es también un sistema requerido para armas de tipo misil. + Das Erweiterte Raketenlenksystem, auch ERls genannt, bietet viele Verbesserungen zum Aufschalten und Feuern mittels gelenkten Raketen. + Le guidage avancé de missile, ou AMG en anglais, apporte de multiple améliorations au verouillage et au tir de missiles. C'est aussi un framework requis pour tout arme de type missile. + A fejlett rakétairányító (vagy AMG) többféle módosítást tartalmaz a rakéták célkövetéséhez és tüzeléséhez. Ez egy szükséges keresztrendszer a rakéta-alapú fegyverekhez. + Orientação avançada de mísseis ou OAM, fornece vários aprimoramentos para travamento de mísseis e disparos. Também é um sistema requerido para disparar armas que utilizem mísseis. + Pokočilé navádění raket (AMG) poskytuje několik vylepšení pro lepší zaměření a následnou střelbu. Je to prvek vyžadovaný u typu zbraní jako jsou rakety. + + + Hydra-70 DAGR Missile + Misil Hydra-70 DAGR + Hydra-70 DAGR + Hydra-70 DAGR + Hydra-70 DAGR Rackete + Hydra-70 DAGR + Missile Hydra-70 DAGR + Míssil Hydra-70 DAGR + Hydra-70 DAGR rakéta + Hydra-70 DAGR + + + DAGR + DAGR + DAGR + DAGR + DAGR + DAGR + DAGR + DAGR + DAGR + DAGR + + + Hydra-70 DAGR Laser Guided Missile + Misil guiado por láser Hydra-70 DAGR + Missile à guidage laser Hydra-70 DAGR + Laserowo naprowadzana rakieta Hydra-70 DAGR + Hydra-70 DAGR lasergelenkte Rakete + Hydra-70 DAGR laserem naváděná střela + Hydra-70 DAGR missile guida laser + Míssil guiado a laser Hydra-70 DAGR + Hydra-70 DAGR lézer-irányított rakéta + Управляемая ракета лазерного наведения Hydra-70 DAGR + + + Hellfire II AGM-114K Missile + Misil Hellfire II AGM-114K + Hellfire II AGM-114K + Hellfire II AGM-114K + Hellfire II AGM-114K + Hellfire II AGM-114K + Missile Hellfire II AGM-114K + Míssil Hellfire II AGM-114K + Hellfire II AGM-114K rakéta + Hellfire II AGM-114K + + + AGM-114K + AGM-114K + AGM-114K + AGM-114K + AGM-114K + AGM-114K + AGM-114K + AGM-114K + AGM-114K + AGM-114K + + + Hellfire II AGM-114K Laser Guided Missile + Misil guiado por láser Hellfire II AGM-114K + Missile à guidage laser Hellfire II AGM-114K + Laserowo naprowadzana rakieta Hellfire II AGM-114K + Hellfire II AGM-114K Lasergelenkte Rakete + Hellfire II AGM-114K laserem naváděná střela + Missile guida laser Hellfire II AGM-114K + Míssil guiado a laser Hellfire II AGM-114K + Hellfire II AGM-114K lézer-irányított rakéta + Управляемая ракета лазерного наведения Hellfire II AGM-114K + + + Off + Wyłącz + + + Player Only + Tylko gracz + + + Player and AI + Gracz oraz AI + + + diff --git a/addons/optionsmenu/stringtable.xml b/addons/optionsmenu/stringtable.xml index 3b649aa6c7..f14a97b460 100644 --- a/addons/optionsmenu/stringtable.xml +++ b/addons/optionsmenu/stringtable.xml @@ -1,289 +1,288 @@ - - - - - ACE Options - ACE Optionen - Opciones ACE - Ustawienia ACE - ACE Nastavení - Options ACE - ACE Настройки - Opções do ACE - ACE Beállítások - Opzioni ACE - - - Fix Animation - Behebe Animation - Arreglar animación - Фикс анимации - Opravit animace - Napraw animację - Corriger animation - Animációk kijavítása - Fixa l'animazione - Arrumar Animação - - - Reset All - Alles zurücksetzen - Reiniciar todo - Полный сброс - Vyresetovat vše - Resetuj wszystko - Défaut - Minden visszaállítása - Resetta tutto - Resetar Tudo - - - Colors - Couleurs - Farben - Colores - Цвета - Barvy - Kolory - Színek - Colori - Cores - - - Options - Optionen - Opciones - Opcje - Nastavení - Options - Настройки - Opções - Beállítások - Opzioni - - - Values - Valores - Значения - Hodnoty - Wartości - Valeurs - Werte - Értékek - Valori - Valores - - - Yes - Ja - Si - Tak - Ano - Oui - Да - Igen - Sim - Si - - - No - Nein - No - Nie - Ne - Non - Нет - Nem - Não - No - - - Setting: - Nastavení: - Einstellung: - Установки: - Ajuste: - Ustaw: - Paramètres - Opció: - Parametri: - Opção: - - - Export - Exportieren - Exportar - Экспорт - Exportovat - Eksport - Exporter - Exportálás - Esporta - Exportar - - - Open Export Menu - Öffne Exportmenü - Abrir menú de exportación - Открыть меню экспорта - Otevřít exportovací menu - Otwórz menu eksportowania - Ouvrir le menu d'exportation - Exportálási menü megnyitása - Apri menù esportazione - Abrir menu de exportação - - - String input. - Zeichenketteneingabe - Introducir cadena de texto. - Строчный ввод. - Wpisywanie tekstu. - Vkládání textu. - Entrée - String bevitel. - Stringa di unput. - Input de String - - - Array. Seperate elements by using ,. - Array. Teile unterschiedliche Elemente mit ,. - Matriz. Separa elementos usando ,. - Массив. Разделяйте элемены, используя запятую. - Tablica. Oddziel elementy używając ,. - Tableau. Séparation par ,. - Tabulka. Odděl elementy použitím ,. - Array. Válasszad el az elemeket vesszővel. - Array. Separa gli elementi usando ,. - Vetor. Separe elementos usando *,*. - - - Number - Zahl - Número - Число - Číslo - Cyfra - Nombre - Szám - Numero - Número - - - Uknown input type - Unbekannter Eingabetyp - Tipo de entrada desconocida - Неизвестный тип ввода - Neznámý vstup - Nieznany rodzaj danych - Type d'entrée inconnue - Ismeretlen beviteli típus - Input inserito sconosciuto - Tipo desonhecido de input - - - Save input - Speichere Eingabe - Guardar entrada - Сохранить ввод - Uložit vstup - Zapisz dane - Sauvegarder - Bevitel elmentése - Salva input - Salvar input - - - Include Client Settings - Schließe Client-Einstellungen ein - Incluir configuración de cliente - Включить настройки клиента - Zahrnout nastavení klienta - Zawrzyj ustawienia klienta - Inclure paramètres client - Kliens-beállítások melléklése - Includi i parametri del client - Incluir opções do cliente - - - Exclude Client Settings - Schließe Client-Einstellungen aus - Excluir configuración de cliente - Исключить настройки клиента - Nezahrnout nastavení klienta - Wyklucz ustawienia klienta - Exclure paramètres client - Kliens-beállítások elhagyása - Escludi i parametri del client - Excluir opções do cliente - - - Settings exported to clipboard - Einstellungen in die Zwischenablage exportiert - Configuración exportada al portapapeles - Настройки экспортированы в буфер обмена - Nastevení exportována do schránky - Ustawienia wyeksportowano do schowka - Paramètres exportés dans le presse papier - Beállítások exportálva a vágólapba - Parametri esportati alla clipboard - Opções exportadas para o clipboard. - - - Option Menu UI Scaling - Menu option: taille de l'UI - Skalowanie UI menu ustawień - Měřítko UI v menu nastavení - Размер интерфейса меню настройки - Opción de escalado del menú IU - UI Skalierung - Beállításmenü kezelőfelületének skálázása - Escalar o menu de opções - Proporzioni della interfaccia utente - - - Allow Config Export [ACE] - Pozwól na eksport ustawień [ACE] - - - Allow - Zezwól - - - Allow export of all settings to a server config formatted. - Zezwól na eksport wszystkich ustawień do formatu konfiguracji serwera. - - - When allowed, you have access to the settings modification and export in SP. Clicking export will place the formated config on your clipboard. - Jeżeli ustawione na zezwól, wtedy będziesz mieć dostęp do ekranu modyfikacji wszystich ustawień i zmiennych ACE, a także będziesz mieć możliwość eksportu tychże ustawień do formatu rozpoznawalnego przez userconfig serwera. Kliknięcie opcji Eksportuj skopiuje wszystkie ustawienia do schowka. Działa tylko w trybie SP. - - - Hide - Ukryj - - - Top right, downwards - Po prawej u góry, w dół - - - Top right, to the left - Po prawej u góry, do lewej - - - Top left, downwards - Po lewej u góry, w dół - - - Top left, to the right - Po lewej u góry, do prawej - - - Top - Góra - - - Bottom - Dół - - - + + + + + ACE Options + ACE Optionen + Opciones ACE + Ustawienia ACE + ACE Nastavení + Options ACE + ACE Настройки + Opções do ACE + ACE Beállítások + Opzioni ACE + + + Fix Animation + Behebe Animation + Arreglar animación + Фикс анимации + Opravit animace + Napraw animację + Corriger animation + Animációk kijavítása + Fixa l'animazione + Arrumar Animação + + + Reset All + Alles zurücksetzen + Reiniciar todo + Полный сброс + Vyresetovat vše + Resetuj wszystko + Défaut + Minden visszaállítása + Resetta tutto + Resetar Tudo + + + Colors + Couleurs + Farben + Colores + Цвета + Barvy + Kolory + Színek + Colori + Cores + + + Options + Optionen + Opciones + Opcje + Nastavení + Options + Настройки + Opções + Beállítások + Opzioni + + + Values + Valores + Значения + Hodnoty + Wartości + Valeurs + Werte + Értékek + Valori + Valores + + + Yes + Ja + Si + Tak + Ano + Oui + Да + Igen + Sim + Si + + + No + Nein + No + Nie + Ne + Non + Нет + Nem + Não + No + + + Setting: + Nastavení: + Einstellung: + Установки: + Ajuste: + Ustaw: + Paramètres + Opció: + Parametri: + Opção: + + + Export + Exportieren + Exportar + Экспорт + Exportovat + Eksport + Exporter + Exportálás + Esporta + Exportar + + + Open Export Menu + Öffne Exportmenü + Abrir menú de exportación + Открыть меню экспорта + Otevřít exportovací menu + Otwórz menu eksportowania + Ouvrir le menu d'exportation + Exportálási menü megnyitása + Apri menù esportazione + Abrir menu de exportação + + + String input. + Zeichenketteneingabe + Introducir cadena de texto. + Строчный ввод. + Wpisywanie tekstu. + Vkládání textu. + Entrée + String bevitel. + Stringa di unput. + Input de String + + + Array. Seperate elements by using ,. + Array. Teile unterschiedliche Elemente mit ,. + Matriz. Separa elementos usando ,. + Массив. Разделяйте элемены, используя запятую. + Tablica. Oddziel elementy używając ,. + Tableau. Séparation par ,. + Tabulka. Odděl elementy použitím ,. + Array. Válasszad el az elemeket vesszővel. + Array. Separa gli elementi usando ,. + Vetor. Separe elementos usando *,*. + + + Number + Zahl + Número + Число + Číslo + Cyfra + Nombre + Szám + Numero + Número + + + Uknown input type + Unbekannter Eingabetyp + Tipo de entrada desconocida + Неизвестный тип ввода + Neznámý vstup + Nieznany rodzaj danych + Type d'entrée inconnue + Ismeretlen beviteli típus + Input inserito sconosciuto + Tipo desonhecido de input + + + Save input + Speichere Eingabe + Guardar entrada + Сохранить ввод + Uložit vstup + Zapisz dane + Sauvegarder + Bevitel elmentése + Salva input + Salvar input + + + Include Client Settings + Schließe Client-Einstellungen ein + Incluir configuración de cliente + Включить настройки клиента + Zahrnout nastavení klienta + Zawrzyj ustawienia klienta + Inclure paramètres client + Kliens-beállítások melléklése + Includi i parametri del client + Incluir opções do cliente + + + Exclude Client Settings + Schließe Client-Einstellungen aus + Excluir configuración de cliente + Исключить настройки клиента + Nezahrnout nastavení klienta + Wyklucz ustawienia klienta + Exclure paramètres client + Kliens-beállítások elhagyása + Escludi i parametri del client + Excluir opções do cliente + + + Settings exported to clipboard + Einstellungen in die Zwischenablage exportiert + Configuración exportada al portapapeles + Настройки экспортированы в буфер обмена + Nastevení exportována do schránky + Ustawienia wyeksportowano do schowka + Paramètres exportés dans le presse papier + Beállítások exportálva a vágólapba + Parametri esportati alla clipboard + Opções exportadas para o clipboard. + + + Option Menu UI Scaling + Menu option: taille de l'UI + Skalowanie UI menu ustawień + Měřítko UI v menu nastavení + Размер интерфейса меню настройки + Opción de escalado del menú IU + UI Skalierung + Beállításmenü kezelőfelületének skálázása + Escalar o menu de opções + + + Allow Config Export [ACE] + Pozwól na eksport ustawień [ACE] + + + Allow + Zezwól + + + Allow export of all settings to a server config formatted. + Zezwól na eksport wszystkich ustawień do formatu konfiguracji serwera. + + + When allowed, you have access to the settings modification and export in SP. Clicking export will place the formated config on your clipboard. + Jeżeli ustawione na zezwól, wtedy będziesz mieć dostęp do ekranu modyfikacji wszystich ustawień i zmiennych ACE, a także będziesz mieć możliwość eksportu tychże ustawień do formatu rozpoznawalnego przez userconfig serwera. Kliknięcie opcji Eksportuj skopiuje wszystkie ustawienia do schowka. Działa tylko w trybie SP. + + + Hide + Ukryj + + + Top right, downwards + Po prawej u góry, w dół + + + Top right, to the left + Po prawej u góry, do lewej + + + Top left, downwards + Po lewej u góry, w dół + + + Top left, to the right + Po lewej u góry, do prawej + + + Top + Góra + + + Bottom + Dół + + + From 44466e8be8c201ba880ee7f806ae9df9842a6122 Mon Sep 17 00:00:00 2001 From: Grzegorz Sikora Date: Tue, 12 May 2015 02:29:32 +0200 Subject: [PATCH 194/217] Remove tabs and repair errors @Glowbal found Conflicts: addons/map/CfgVehicles.hpp addons/medical/CfgVehicles.hpp Conflicts: addons/map/CfgVehicles.hpp addons/medical/CfgVehicles.hpp addons/optionsmenu/stringtable.xml --- addons/captives/stringtable.xml | 8 + addons/common/CfgVehicles.hpp | 8 +- addons/explosives/CfgModule.hpp | 4 +- addons/hearing/CfgVehicles.hpp | 2 +- addons/interaction/CfgVehicles.hpp | 2 +- addons/javelin/CfgVehicles.hpp | 10 +- addons/javelin/CfgWeapons.hpp | 6 +- addons/map/CfgVehicles.hpp | 6 +- addons/medical/CfgVehicles.hpp | 26 +- addons/medical/stringtable.xml | 374 +++++++++++++++- addons/missionmodules/stringtable.xml | 20 +- addons/mk6mortar/script_component.hpp | 4 +- addons/mk6mortar/stringtable.xml | 32 ++ addons/nametags/CfgVehicles.hpp | 2 +- addons/optionsmenu/stringtable.xml | 620 ++++++++++++++------------ addons/respawn/CfgVehicles.hpp | 6 +- addons/switchunits/CfgVehicles.hpp | 4 +- addons/winddeflection/CfgVehicles.hpp | 24 +- addons/winddeflection/stringtable.xml | 20 +- 19 files changed, 824 insertions(+), 354 deletions(-) diff --git a/addons/captives/stringtable.xml b/addons/captives/stringtable.xml index 07cf780e19..0d01cbafc6 100644 --- a/addons/captives/stringtable.xml +++ b/addons/captives/stringtable.xml @@ -201,5 +201,13 @@ Sync a unit to make them surrender.<br />Source: ace_captives Zsynchronizuj z jednostką aby sprawić by się poddała<br />Źródło: ace_captives + + Make Unit Surrender + Poddaj się! + + + Sync a unit to make them surrender.<br />Source: ace_captives + Zsynchronizuj z jednostką aby sprawić by się poddała<br />Źródło: ace_captives + diff --git a/addons/common/CfgVehicles.hpp b/addons/common/CfgVehicles.hpp index 65bf2d7058..1adf622494 100644 --- a/addons/common/CfgVehicles.hpp +++ b/addons/common/CfgVehicles.hpp @@ -74,7 +74,7 @@ class CfgVehicles { }; class ModuleDescription: ModuleDescription { description = "$STR_ACE_Common_CheckPBO_Description"; - }; + }; }; class ACE_ModuleLSDVehicles: Module_F { @@ -89,8 +89,8 @@ class CfgVehicles { }; class ModuleDescription: ModuleDescription { description = "$STR_ACE_Common_LSDVehicles_Description"; - sync[] = {"AnyVehicle"}; - }; + sync[] = {"AnyVehicle"}; + }; }; class Box_NATO_Support_F; @@ -124,4 +124,4 @@ class CfgVehicles { }; }; }; -}; \ No newline at end of file +}; diff --git a/addons/explosives/CfgModule.hpp b/addons/explosives/CfgModule.hpp index 9159babc2d..52f70ea3af 100644 --- a/addons/explosives/CfgModule.hpp +++ b/addons/explosives/CfgModule.hpp @@ -24,7 +24,7 @@ class ACE_ModuleExplosive: Module_F { defaultValue = 1; }; }; - class ModuleDescription: ModuleDescription { - description = "$STR_ACE_Explosive_Module_Description"; + class ModuleDescription: ModuleDescription { + description = "$STR_ACE_Explosive_Module_Description"; }; }; \ No newline at end of file diff --git a/addons/hearing/CfgVehicles.hpp b/addons/hearing/CfgVehicles.hpp index 6cec04a242..16bb47014a 100644 --- a/addons/hearing/CfgVehicles.hpp +++ b/addons/hearing/CfgVehicles.hpp @@ -111,7 +111,7 @@ class CfgVehicles { defaultValue = 1; }; }; - class ModuleDescription { + class ModuleDescription { description = "$STR_ACE_Hearing_Module_Description"; }; }; diff --git a/addons/interaction/CfgVehicles.hpp b/addons/interaction/CfgVehicles.hpp index 03466c1986..deb8a4d800 100644 --- a/addons/interaction/CfgVehicles.hpp +++ b/addons/interaction/CfgVehicles.hpp @@ -17,7 +17,7 @@ class CfgVehicles { defaultValue = 1; }; }; - class ModuleDescription { + class ModuleDescription { description = "$STR_ACE_InteractionSystem_Module_Description"; }; }; diff --git a/addons/javelin/CfgVehicles.hpp b/addons/javelin/CfgVehicles.hpp index 48781036ad..1cd527089d 100644 --- a/addons/javelin/CfgVehicles.hpp +++ b/addons/javelin/CfgVehicles.hpp @@ -16,7 +16,7 @@ class CfgVehicles { class MainTurret : MainTurret { weapons[] = { QGVAR(Titan_Static) }; magazines[] = {"1Rnd_GAT_missiles","1Rnd_GAT_missiles","1Rnd_GAT_missiles","1Rnd_GAT_missiles"}; - + turretInfoType = "ACE_RscOptics_javelin"; gunnerOpticsModel = PATHTOF(data\reticle_titan.p3d); opticsZoomMin = 0.08333; @@ -29,12 +29,12 @@ class CfgVehicles { }; }; }; - class O_static_AT_F: AT_01_base_F { + class O_static_AT_F: AT_01_base_F { class Turrets : Turrets { class MainTurret : MainTurret { weapons[] = { QGVAR(Titan_Static) }; magazines[] = {"1Rnd_GAT_missiles","1Rnd_GAT_missiles","1Rnd_GAT_missiles","1Rnd_GAT_missiles"}; - + turretInfoType = "ACE_RscOptics_javelin"; gunnerOpticsModel = PATHTOF(data\reticle_titan.p3d); opticsZoomMin = 0.08333; @@ -47,12 +47,12 @@ class CfgVehicles { }; }; }; - class I_static_AT_F: AT_01_base_F { + class I_static_AT_F: AT_01_base_F { class Turrets : Turrets { class MainTurret : MainTurret { weapons[] = { QGVAR(Titan_Static) }; magazines[] = {"1Rnd_GAT_missiles","1Rnd_GAT_missiles","1Rnd_GAT_missiles","1Rnd_GAT_missiles"}; - + turretInfoType = "ACE_RscOptics_javelin"; gunnerOpticsModel = PATHTOF(data\reticle_titan.p3d); opticsZoomMin = 0.08333; diff --git a/addons/javelin/CfgWeapons.hpp b/addons/javelin/CfgWeapons.hpp index 1bbf713b3b..75aaf7c332 100644 --- a/addons/javelin/CfgWeapons.hpp +++ b/addons/javelin/CfgWeapons.hpp @@ -38,7 +38,7 @@ class CfgWeapons { lockingTargetSound[] = {"",0,1}; lockedTargetSound[] = {"",0,1}; }; - class launch_I_Titan_short_F: launch_Titan_short_base { + class launch_I_Titan_short_F: launch_Titan_short_base { GVAR(enabled) = 1; weaponInfoType = "ACE_RscOptics_javelin"; modelOptics = PATHTOF(data\reticle_titan.p3d); @@ -48,7 +48,7 @@ class CfgWeapons { lockingTargetSound[] = {"",0,1}; lockedTargetSound[] = {"",0,1}; }; - class launch_O_Titan_short_F: launch_Titan_short_base { + class launch_O_Titan_short_F: launch_Titan_short_base { GVAR(enabled) = 1; weaponInfoType = "ACE_RscOptics_javelin"; modelOptics = PATHTOF(data\reticle_titan.p3d); @@ -59,7 +59,7 @@ class CfgWeapons { lockingTargetSound[] = {"",0,1}; lockedTargetSound[] = {"",0,1}; }; - class launch_Titan_short_F: launch_Titan_short_base { + class launch_Titan_short_F: launch_Titan_short_base { GVAR(enabled) = 1; weaponInfoType = "ACE_RscOptics_javelin"; modelOptics = PATHTOF(data\reticle_titan.p3d); diff --git a/addons/map/CfgVehicles.hpp b/addons/map/CfgVehicles.hpp index 849549e3d1..a5194e015e 100644 --- a/addons/map/CfgVehicles.hpp +++ b/addons/map/CfgVehicles.hpp @@ -34,7 +34,7 @@ class CfgVehicles { defaultValue = 0; }; }; - class ModuleDescription { + class ModuleDescription { description = "$STR_ACE_Map_Module_Description"; }; }; @@ -51,7 +51,7 @@ class CfgVehicles { class Interval { displayName = "$STR_ACE_Map_BFT_Interval_DisplayName"; description = "$STR_ACE_Map_BFT_Interval_Description"; - typeName = "NUMBER"; + typeName = "NUMBER"; defaultValue = 1; }; class HideAiGroups { @@ -61,7 +61,7 @@ class CfgVehicles { defaultValue = 0; }; }; - class ModuleDescription { + class ModuleDescription { description = "$STR_ACE_Map_BFT_Module_Description"; }; }; diff --git a/addons/medical/CfgVehicles.hpp b/addons/medical/CfgVehicles.hpp index 6c37c5cfd9..e0a6fbcfa0 100644 --- a/addons/medical/CfgVehicles.hpp +++ b/addons/medical/CfgVehicles.hpp @@ -9,7 +9,6 @@ class CfgVehicles { }; }; class ACE_Module; - // TODO localization for all the modules class ACE_moduleMedicalSettings: ACE_Module { scope = 2; displayName = "$STR_ACE_MedicalSettings_Module_DisplayName"; @@ -191,8 +190,12 @@ class CfgVehicles { class consumeItem_PAK { displayName = "$STR_ACE_AdvancedMedicalSettings_consumeItem_PAK_DisplayName"; description = "$STR_ACE_AdvancedMedicalSettings_consumeItem_PAK_Description"; - typeName = "BOOL"; - defaultValue = 1; + + typeName = "NUMBER"; + class values { + class keep { name = "$STR_ACE_Medical_No"; value = 0; }; + class remove { name = "$STR_ACE_Medical_Yes"; value = 1; default = 1; }; + }; }; class useLocation_PAK { displayName = "$STR_ACE_AdvancedMedicalSettings_useLocation_PAK_DisplayName"; @@ -333,8 +336,19 @@ class CfgVehicles { class enabled { displayName = "$STR_ACE_AssignMedicVehicle_enabled_DisplayName"; description = "$STR_ACE_AssignMedicVehicle_enabled_Description"; - typeName = "BOOL"; - defaultValue = 1; + + typeName = "NUMBER"; + class values { + class none { + name = "$STR_ACE_Medical_No"; + value = 0; + }; + class medic { + name = "$STR_ACE_Medical_Yes"; + value = 1; + default = 1; + }; + }; }; }; class ModuleDescription { @@ -1003,4 +1017,4 @@ class CfgVehicles { }; }; }; -}; \ No newline at end of file +}; diff --git a/addons/medical/stringtable.xml b/addons/medical/stringtable.xml index 0eb23d57d4..e522e215ef 100644 --- a/addons/medical/stringtable.xml +++ b/addons/medical/stringtable.xml @@ -3060,6 +3060,378 @@ [ACE] Medical Supply Crate (Advanced) [ACE] Skrzynka z zapasami medycznymi (zaawansowana) + + ACE Medical + ACE Opcje medyczne + + + Medical Settings [ACE] + Ustawienia medyczne [ACE] + + + Medical Level + Poziom medyczny + + + What is the medical simulation level? + Jaki jest poziom symulacji medycznej? + + + Basic + Podstawowy + + + Advanced + Zaawansowany + + + Medics setting + Poziom medyków + + + What is the level of detail prefered for medics? + Jaki jest poziom detali medycznych wyświetlanych dla medyków? + + + Disable medics + Wyłącz medyków + + + Enable Litter + Aktywuj odpadki + + + Enable litter being created upon treatment + Twórz odpadki medyczne podczas leczenia + + + Life time of litter objects + Długość życia odpadków + + + How long should litter objects stay? In seconds. -1 is forever. + Ile czasu musi upłynąć, aby odpadki zaczęły znikać? W sekundach. -1 dla nieskończoności. + + + Enable Screams + Aktywuj wrzaski + + + Enable screaming by injuried units + Aktywuj wrzeszczenie z bólu przez ranne jednostki + + + Player Damage + Próg obrażeń graczy + + + What is the damage a player can take before being killed? + Jaki jest próg obrażeń, jakie gracz może otrzymać zanim zostanie zabity? + + + AI Damage + Próg obrażeń AI + + + What is the damage an AI can take before being killed? + Jaki jest próg obrażeń, jakie AI może otrzymać zanim zostanie zabite? + + + AI Unconsciousness + Nieprzytomność AI + + + Allow AI to go unconscious + Czy AI może być nieprzytomne od odniesionych obrażeń? + + + Disabled + Wyłączone + + + Enabled + Włączone + + + Prevent instant death + Wył. natychmiast. śmierć + + + Have a unit move to unconscious instead of death + Spraw, aby jednostka została przeniesiona do stanu nieprzytomności zamiast ginąć na miejscu od śmiertelnych obrażeń + + + Bleeding coefficient + Mnożnik krwawienia + + + Coefficient to modify the bleeding speed + Mnożnik modyfikujący prędkość wykrwawiania się + + + Pain coefficient + Mnożnik bólu + + + Coefficient to modify the pain intensity + Mnożnik modyfikujący intensywność bólu + + + Sync status + Synchronizuj status + + + Keep unit status synced. Recommended on. + Utrzymuj synchronizację statusu jednostek. Zalecane zostawienie tej opcji włączonej. + + + Provides a medical system for both players and AI. + Moduł ten dostarcza system medyczny dla graczy oraz AI. + + + Advanced Medical Settings [ACE] + Zaawansowane ustawienia medyczne [ACE] + + + Enabled for + Aktywne dla + + + Select what units the advanced medical system will be enabled for + Wybierz dla kogo zaawansowany system medyczny będzie aktywny + + + Players only + Tylko dla graczy + + + Players and AI + Gracze oraz AI + + + Enable Advanced wounds + Akt. zaawansowane rany + + + Allow reopening of bandaged wounds? + Pozwól na otwieranie się zabandażowanych ran? + + + Vehicle Crashes + Obrażenia od kolizji + + + Do units take damage from a vehicle crash? + Czy jednostki otrzymują obrażenia w wyniku kolizji pojazdów? + + + Allow PAK + Ust. apteczek osobistych + + + Who can use the PAK for full heal? + Kto może skorzystać z apteczki osobistej w celu pełnego uleczenia? + + + Anyone + Wszyscy + + + Medics only + Tylko medycy + + + Doctors only + Tylko doktorzy + + + Remove PAK on use + Usuń apteczkę po użyciu + + + Should PAK be removed on usage? + Czy apteczka osobista powinna zniknąć z ekwipunku po jej użyciu? + + + No + Nie + + + Yes + Tak + + + Locations PAK + Ogr. apteczek osobistych + + + Where can the personal aid kit be used? + Gdzie można korzystać z apteczek osobistych? + + + Anywhere + Wszędzie + + + Medical vehicles + Pojazdy medyczne + + + Medical facility + Budynki medyczne + + + Vehicles & facility + Pojazdy i budynki medyczne + + + Disabled + Wyłączone + + + Allow Surgical kit (Adv) + Ust. zestawu chirurg. + + + Who can use the surgical kit? + Kto może skorzystać z zestawu chirurgicznego w celu zszycia ran? + + + Remove Surgical kit (Adv) + Usuń zest. chir. po użyciu + + + Should Surgical kit be removed on usage? + Czy zestaw chirurgiczny powinien zniknąć z ekwipunku po jego użyciu? + + + Locations Surgical kit (Adv) + Ogr. zestawu chirurg. + + + Where can the Surgical kit be used? + Gdzie można korzystać z zestawu chirurgicznego? + + + Configure the treatment settings from ACE Medical + Skonfiguruj zaawansowane ustawienia leczenia systemu medycznego ACE + + + Revive Settings [ACE] + Ustawienia wskrzeszania [ACE] + + + Enable Revive + Aktywuj wskrzeszanie + + + Enable a basic revive system + Aktywuj podstawowy system wskrzeszania + + + Max Revive time + Maks. czas agonii + + + Max amount of seconds a unit can spend in revive state + Maksymalna długość agonii w sekundach (czas na wskrzeszenie) + + + Max Revive lives + Maks. ilość wskrzeszeń + + + Max amount of lives a unit. 0 or -1 is disabled. + Maksymalna ilość wskrzeszeń. Wpisz 0 lub -1 aby wyłączyć. + + + Provides a medical system for both players and AI. + Moduł ten aktywuje podstawowy system wskrzeszania. Jednostka po otrzymaniu śmiertelnych obrażeń przechodzi do stanu agonii, która trwa określoną długość czasu. W tym czasie aby wskrzesić i jednocześnie odratować jednostkę należy opatrzeć jej rany i wykonać RKO. + + + Set Medic Class [ACE] + Ustaw klasę medyka [ACE] + + + List + Lista + + + List of unit names that will be classified as medic, separated by commas. + Lista nazw jednostek, które są sklasyfikowane jako medycy, oddzielone przecinkami. + + + Is Medic + Klasa medyczna + + + + + + + None + Żadna + + + Regular medic + Zwykły medyk + + + Doctor (Only Advanced Medics) + Doktor (tylko zaawansowani medycy) + + + Assigns the ACE medic class to a unit + Moduł ten przypisuje klasę medyka ACE do jednostek. + + + Set Medical Vehicle [ACE] + Ustaw pojazd medyczny [ACE] + + + List + Lista + + + List of vehicles that will be classified as medical vehicle, separated by commas. + Lista nazw pojazdów, które są sklasyfikowane jako pojazdy medyczne, oddzielone przecinkami. + + + Is Medical Vehicle + Jest pojazdem med. + + + Whatever or not the objects in the list will be a medical vehicle. + Czy pojazdy z tej listy są pojazdami medycznymi. + + + Assigns the ACE medic class to a unit + Moduł ten pozwala na przypisanie danym pojazdom statusu pojazdów medycznych. Wewnątrz takiego pojazdu można wykonywać zaawansowane zabiegi medyczne. + + + Set Medical Facility [ACE] + Ustaw budynek medyczny [ACE] + + + Is Medical Facility + Jest budynkiem med. + + + Registers an object as a medical facility + Przypisuje danemu obiektowi status budynku medycznego + + + Defines an object as a medical facility. This allows for more advanced treatments. Can be used on buildings and vehicles. + Moduł ten pozwala przypisać status budynku medycznego danemu obiektowi. Budynek taki pozwala na wykonywanie zaawansowanych zabiegów medycznych. Może być użyte na pojazdach i budynkach. + + + [ACE] Medical Supply Crate (Basic) + [ACE] Skrzynka z zapasami medycznymi (podstawowa) + + + [ACE] Medical Supply Crate (Advanced) + [ACE] Skrzynka z zapasami medycznymi (zaawansowana) + - \ No newline at end of file + diff --git a/addons/missionmodules/stringtable.xml b/addons/missionmodules/stringtable.xml index 12d70602c2..1532827378 100644 --- a/addons/missionmodules/stringtable.xml +++ b/addons/missionmodules/stringtable.xml @@ -14,39 +14,39 @@ Dźwięki - Classnames of the ambiance sounds played. Seperated by ','. - Classname-y dźwięków do odtwarzania. Oddzielone przy użyciu ','. + Class names of the ambiance sounds to be played. Seperated by ',' + Class name-y dźwięków do odtwarzania. Oddzielone przy użyciu ',' Minimal Distance Minimalny dystans - Minimal Distance - Minimalny dystans + Used for calculating a random position and sets the minimal distance between the players and the played sound file(s) + Używany do obliczania losowej pozycji a także ustawia minimalny dystans pomiędzy graczami a odtwarzanymi plikami dźwiękowymi - Maximal Distance + Maximum Distance Maksymalny dystans - Maximal Distance - Maksymalny dystans + Used for calculating a random position and sets the maximum distance between the players and the played sound file(s) + Używany do obliczania losowej pozycji a także ustawia maksymalny dystans pomiędzy graczami a odtwarzanymi plikami dźwiękowymi Minimal Delay Minimalne opóźnienie - Minimal Delay between sounds played + Minimal delay between sounds played Minimalne opóźnienie pomiędzy odtwarzanymi dźwiękami - Maximal Delay + Maximum Delay Maksymalne opóźnienie - Maximal Delay between sounds played + Maximum delay between sounds played Maksymalne opóźnienie pomiędzy odtwarzanymi dźwiękami diff --git a/addons/mk6mortar/script_component.hpp b/addons/mk6mortar/script_component.hpp index cb74d552de..e1d56d087e 100644 --- a/addons/mk6mortar/script_component.hpp +++ b/addons/mk6mortar/script_component.hpp @@ -2,11 +2,11 @@ #include "\z\ace\Addons\main\script_mod.hpp" #ifdef DEBUG_ENABLED_MK6MORTAR - #define DEBUG_MODE_FULL + #define DEBUG_MODE_FULL #endif #ifdef DEBUG_SETTINGS_MK6MORTAR - #define DEBUG_SETTINGS DEBUG_SETTINGS_MK6MORTAR + #define DEBUG_SETTINGS DEBUG_SETTINGS_MK6MORTAR #endif #include "\z\ace\Addons\main\script_macros.hpp" diff --git a/addons/mk6mortar/stringtable.xml b/addons/mk6mortar/stringtable.xml index 37c7d322ad..cb4a7c5376 100644 --- a/addons/mk6mortar/stringtable.xml +++ b/addons/mk6mortar/stringtable.xml @@ -81,5 +81,37 @@ Moduł ten pozwala dostosować ustawienia moździerza MK6. + + MK6 Settings + Moździerz MK6 - Ustawienia + + + Air Resistance + Opór powietrza + + + For Player Shots, Model Air Resistance and Wind Effects + Modeluj opór powietrza oraz wpływ wiatru na tor lotu pocisku dla strzałów z moździerza MK6 przez graczy + + + Allow MK6 Computer + Komputer MK6 + + + Show the Computer and Rangefinder (these NEED to be removed if you enable air resistance) + Zezwól na komputer i dalmierz (opcja ta MUSI zostać wyłączona jeżeli aktywowałeś opór powietrza) + + + Allow MK6 Compass + Kompas MK6 + + + Show the MK6 Digital Compass + Pokaż kompas MK6 + + + + Moduł ten pozwala dostosować ustawienia moździerza MK6. + diff --git a/addons/nametags/CfgVehicles.hpp b/addons/nametags/CfgVehicles.hpp index a4ef577ecf..fabd3b09cb 100644 --- a/addons/nametags/CfgVehicles.hpp +++ b/addons/nametags/CfgVehicles.hpp @@ -65,7 +65,7 @@ class CfgVehicles { defaultValue = 0; }; }; - class ModuleDescription: ModuleDescription { + class ModuleDescription: ModuleDescription { description = "$STR_ACE_NameTags_Module_Description"; }; }; diff --git a/addons/optionsmenu/stringtable.xml b/addons/optionsmenu/stringtable.xml index f14a97b460..495db21df7 100644 --- a/addons/optionsmenu/stringtable.xml +++ b/addons/optionsmenu/stringtable.xml @@ -1,288 +1,332 @@ - - - - - ACE Options - ACE Optionen - Opciones ACE - Ustawienia ACE - ACE Nastavení - Options ACE - ACE Настройки - Opções do ACE - ACE Beállítások - Opzioni ACE - - - Fix Animation - Behebe Animation - Arreglar animación - Фикс анимации - Opravit animace - Napraw animację - Corriger animation - Animációk kijavítása - Fixa l'animazione - Arrumar Animação - - - Reset All - Alles zurücksetzen - Reiniciar todo - Полный сброс - Vyresetovat vše - Resetuj wszystko - Défaut - Minden visszaállítása - Resetta tutto - Resetar Tudo - - - Colors - Couleurs - Farben - Colores - Цвета - Barvy - Kolory - Színek - Colori - Cores - - - Options - Optionen - Opciones - Opcje - Nastavení - Options - Настройки - Opções - Beállítások - Opzioni - - - Values - Valores - Значения - Hodnoty - Wartości - Valeurs - Werte - Értékek - Valori - Valores - - - Yes - Ja - Si - Tak - Ano - Oui - Да - Igen - Sim - Si - - - No - Nein - No - Nie - Ne - Non - Нет - Nem - Não - No - - - Setting: - Nastavení: - Einstellung: - Установки: - Ajuste: - Ustaw: - Paramètres - Opció: - Parametri: - Opção: - - - Export - Exportieren - Exportar - Экспорт - Exportovat - Eksport - Exporter - Exportálás - Esporta - Exportar - - - Open Export Menu - Öffne Exportmenü - Abrir menú de exportación - Открыть меню экспорта - Otevřít exportovací menu - Otwórz menu eksportowania - Ouvrir le menu d'exportation - Exportálási menü megnyitása - Apri menù esportazione - Abrir menu de exportação - - - String input. - Zeichenketteneingabe - Introducir cadena de texto. - Строчный ввод. - Wpisywanie tekstu. - Vkládání textu. - Entrée - String bevitel. - Stringa di unput. - Input de String - - - Array. Seperate elements by using ,. - Array. Teile unterschiedliche Elemente mit ,. - Matriz. Separa elementos usando ,. - Массив. Разделяйте элемены, используя запятую. - Tablica. Oddziel elementy używając ,. - Tableau. Séparation par ,. - Tabulka. Odděl elementy použitím ,. - Array. Válasszad el az elemeket vesszővel. - Array. Separa gli elementi usando ,. - Vetor. Separe elementos usando *,*. - - - Number - Zahl - Número - Число - Číslo - Cyfra - Nombre - Szám - Numero - Número - - - Uknown input type - Unbekannter Eingabetyp - Tipo de entrada desconocida - Неизвестный тип ввода - Neznámý vstup - Nieznany rodzaj danych - Type d'entrée inconnue - Ismeretlen beviteli típus - Input inserito sconosciuto - Tipo desonhecido de input - - - Save input - Speichere Eingabe - Guardar entrada - Сохранить ввод - Uložit vstup - Zapisz dane - Sauvegarder - Bevitel elmentése - Salva input - Salvar input - - - Include Client Settings - Schließe Client-Einstellungen ein - Incluir configuración de cliente - Включить настройки клиента - Zahrnout nastavení klienta - Zawrzyj ustawienia klienta - Inclure paramètres client - Kliens-beállítások melléklése - Includi i parametri del client - Incluir opções do cliente - - - Exclude Client Settings - Schließe Client-Einstellungen aus - Excluir configuración de cliente - Исключить настройки клиента - Nezahrnout nastavení klienta - Wyklucz ustawienia klienta - Exclure paramètres client - Kliens-beállítások elhagyása - Escludi i parametri del client - Excluir opções do cliente - - - Settings exported to clipboard - Einstellungen in die Zwischenablage exportiert - Configuración exportada al portapapeles - Настройки экспортированы в буфер обмена - Nastevení exportována do schránky - Ustawienia wyeksportowano do schowka - Paramètres exportés dans le presse papier - Beállítások exportálva a vágólapba - Parametri esportati alla clipboard - Opções exportadas para o clipboard. - - - Option Menu UI Scaling - Menu option: taille de l'UI - Skalowanie UI menu ustawień - Měřítko UI v menu nastavení - Размер интерфейса меню настройки - Opción de escalado del menú IU - UI Skalierung - Beállításmenü kezelőfelületének skálázása - Escalar o menu de opções - - - Allow Config Export [ACE] - Pozwól na eksport ustawień [ACE] - - - Allow - Zezwól - - - Allow export of all settings to a server config formatted. - Zezwól na eksport wszystkich ustawień do formatu konfiguracji serwera. - - - When allowed, you have access to the settings modification and export in SP. Clicking export will place the formated config on your clipboard. - Jeżeli ustawione na zezwól, wtedy będziesz mieć dostęp do ekranu modyfikacji wszystich ustawień i zmiennych ACE, a także będziesz mieć możliwość eksportu tychże ustawień do formatu rozpoznawalnego przez userconfig serwera. Kliknięcie opcji Eksportuj skopiuje wszystkie ustawienia do schowka. Działa tylko w trybie SP. - - - Hide - Ukryj - - - Top right, downwards - Po prawej u góry, w dół - - - Top right, to the left - Po prawej u góry, do lewej - - - Top left, downwards - Po lewej u góry, w dół - - - Top left, to the right - Po lewej u góry, do prawej - - - Top - Góra - - - Bottom - Dół - - - + + + + + ACE Options + ACE Optionen + Opciones ACE + Ustawienia ACE + ACE Nastavení + Options ACE + ACE Настройки + Opções do ACE + ACE Beállítások + Opzioni ACE + + + Fix Animation + Behebe Animation + Arreglar animación + Фикс анимации + Opravit animace + Napraw animację + Corriger animation + Animációk kijavítása + Fixa l'animazione + Arrumar Animação + + + Reset All + Alles zurücksetzen + Reiniciar todo + Полный сброс + Vyresetovat vše + Resetuj wszystko + Défaut + Minden visszaállítása + Resetta tutto + Resetar Tudo + + + Colors + Couleurs + Farben + Colores + Цвета + Barvy + Kolory + Színek + Colori + Cores + + + Options + Optionen + Opciones + Opcje + Nastavení + Options + Настройки + Opções + Beállítások + Opzioni + + + Values + Valores + Значения + Hodnoty + Wartości + Valeurs + Werte + Értékek + Valori + Valores + + + Yes + Ja + Si + Tak + Ano + Oui + Да + Igen + Sim + Si + + + No + Nein + No + Nie + Ne + Non + Нет + Nem + Não + No + + + Setting: + Nastavení: + Einstellung: + Установки: + Ajuste: + Ustaw: + Paramètres + Opció: + Parametri: + Opção: + + + Export + Exportieren + Exportar + Экспорт + Exportovat + Eksport + Exporter + Exportálás + Esporta + Exportar + + + Open Export Menu + Öffne Exportmenü + Abrir menú de exportación + Открыть меню экспорта + Otevřít exportovací menu + Otwórz menu eksportowania + Ouvrir le menu d'exportation + Exportálási menü megnyitása + Apri menù esportazione + Abrir menu de exportação + + + String input. + Zeichenketteneingabe + Introducir cadena de texto. + Строчный ввод. + Wpisywanie tekstu. + Vkládání textu. + Entrée + String bevitel. + Stringa di unput. + Input de String + + + Array. Seperate elements by using ,. + Array. Teile unterschiedliche Elemente mit ,. + Matriz. Separa elementos usando ,. + Массив. Разделяйте элемены, используя запятую. + Tablica. Oddziel elementy używając ,. + Tableau. Séparation par ,. + Tabulka. Odděl elementy použitím ,. + Array. Válasszad el az elemeket vesszővel. + Array. Separa gli elementi usando ,. + Vetor. Separe elementos usando *,*. + + + Number + Zahl + Número + Число + Číslo + Cyfra + Nombre + Szám + Numero + Número + + + Uknown input type + Unbekannter Eingabetyp + Tipo de entrada desconocida + Неизвестный тип ввода + Neznámý vstup + Nieznany rodzaj danych + Type d'entrée inconnue + Ismeretlen beviteli típus + Input inserito sconosciuto + Tipo desonhecido de input + + + Save input + Speichere Eingabe + Guardar entrada + Сохранить ввод + Uložit vstup + Zapisz dane + Sauvegarder + Bevitel elmentése + Salva input + Salvar input + + + Include Client Settings + Schließe Client-Einstellungen ein + Incluir configuración de cliente + Включить настройки клиента + Zahrnout nastavení klienta + Zawrzyj ustawienia klienta + Inclure paramètres client + Kliens-beállítások melléklése + Includi i parametri del client + Incluir opções do cliente + + + Exclude Client Settings + Schließe Client-Einstellungen aus + Excluir configuración de cliente + Исключить настройки клиента + Nezahrnout nastavení klienta + Wyklucz ustawienia klienta + Exclure paramètres client + Kliens-beállítások elhagyása + Escludi i parametri del client + Excluir opções do cliente + + + Settings exported to clipboard + Einstellungen in die Zwischenablage exportiert + Configuración exportada al portapapeles + Настройки экспортированы в буфер обмена + Nastevení exportována do schránky + Ustawienia wyeksportowano do schowka + Paramètres exportés dans le presse papier + Beállítások exportálva a vágólapba + Parametri esportati alla clipboard + Opções exportadas para o clipboard. + + + Option Menu UI Scaling + Menu option: taille de l'UI + Skalowanie UI menu ustawień + Měřítko UI v menu nastavení + Размер интерфейса меню настройки + Opción de escalado del menú IU + UI Skalierung + Beállításmenü kezelőfelületének skálázása + Escalar o menu de opções + + + Allow Config Export [ACE] + Pozwól na eksport ustawień [ACE] + + + Allow + Zezwól + + + Allow export of all settings to a server config formatted. + Zezwól na eksport wszystkich ustawień do formatu konfiguracji serwera. + + + When allowed, you have access to the settings modification and export in SP. Clicking export will place the formated config on your clipboard. + Jeżeli ustawione na zezwól, wtedy będziesz mieć dostęp do ekranu modyfikacji wszystich ustawień i zmiennych ACE, a także będziesz mieć możliwość eksportu tychże ustawień do formatu rozpoznawalnego przez userconfig serwera. Kliknięcie opcji Eksportuj skopiuje wszystkie ustawienia do schowka. Działa tylko w trybie SP. + + + Hide + Ukryj + + + Top right, downwards + Po prawej u góry, w dół + + + Top right, to the left + Po prawej u góry, do lewej + + + Top left, downwards + Po lewej u góry, w dół + + + Top left, to the right + Po lewej u góry, do prawej + + + Top + Góra + + + Bottom + Dół + + + Allow Config Export [ACE] + Pozwól na eksport ustawień [ACE] + + + Allow + Zezwól + + + Allow export of all settings to a server config formatted. + Zezwól na eksport wszystkich ustawień do formatu konfiguracji serwera. + + + When allowed, you have access to the settings modification and export in SP. Clicking export will place the formated config on your clipboard. + Jeżeli ustawione na zezwól, wtedy będziesz mieć dostęp do ekranu modyfikacji wszystich ustawień i zmiennych ACE, a także będziesz mieć możliwość eksportu tychże ustawień do formatu rozpoznawalnego przez userconfig serwera. Kliknięcie opcji Eksportuj skopiuje wszystkie ustawienia do schowka. Działa tylko w trybie SP. + + + Hide + Ukryj + + + Top right, downwards + Po prawej u góry, w dół + + + Top right, to the left + Po prawej u góry, do lewej + + + Top left, downwards + Po lewej u góry, w dół + + + Top left, to the right + Po lewej u góry, do prawej + + + Top + Góra + + + Bottom + Dół + + + diff --git a/addons/respawn/CfgVehicles.hpp b/addons/respawn/CfgVehicles.hpp index 00f0bd4493..e90f4ba08e 100644 --- a/addons/respawn/CfgVehicles.hpp +++ b/addons/respawn/CfgVehicles.hpp @@ -27,7 +27,7 @@ class CfgVehicles { defaultValue = 1; }; }; - class ModuleDescription: ModuleDescription { + class ModuleDescription: ModuleDescription { description = "$STR_ACE_Respawn_Module_Description"; }; }; @@ -42,7 +42,7 @@ class CfgVehicles { icon = QUOTE(PATHTOF(UI\Icon_Module_FriendlyFire_ca.paa)); class Arguments {}; - class ModuleDescription: ModuleDescription { + class ModuleDescription: ModuleDescription { description = "$STR_ACE_FriendlyFire_Module_Description"; }; }; @@ -57,7 +57,7 @@ class CfgVehicles { icon = QUOTE(PATHTOF(UI\Icon_Module_Rallypoint_ca.paa)); class Arguments {}; - class ModuleDescription: ModuleDescription { + class ModuleDescription: ModuleDescription { description = "$STR_ACE_Rallypoint_Module_Description"; }; }; diff --git a/addons/switchunits/CfgVehicles.hpp b/addons/switchunits/CfgVehicles.hpp index 48271c6428..0f76c78568 100644 --- a/addons/switchunits/CfgVehicles.hpp +++ b/addons/switchunits/CfgVehicles.hpp @@ -46,8 +46,8 @@ class CfgVehicles { defaultValue = 100; }; }; - class ModuleDescription { - description = "$STR_ACE_SwitchUnits_Module_Description"; + class ModuleDescription { + description = "$STR_ACE_SwitchUnits_Module_Description"; }; }; }; \ No newline at end of file diff --git a/addons/winddeflection/CfgVehicles.hpp b/addons/winddeflection/CfgVehicles.hpp index 2ce9421071..f7e2a33980 100644 --- a/addons/winddeflection/CfgVehicles.hpp +++ b/addons/winddeflection/CfgVehicles.hpp @@ -2,7 +2,7 @@ class CfgVehicles { class ACE_Module; class GVAR(ModuleSettings): ACE_Module { scope = 2; - displayName = "$STR_ACE_WEATHER_WINDDEFLECTION_DISPLAYNAME"; //WIND DEFLECTION + displayName = "$STR_ACE_Weather_windDeflection_DisplayName"; icon = QUOTE(PATHTOF(UI\Icon_Module_Wind_ca.paa)); category = "ACE"; function = QUOTE(DFUNC(initModuleSettings)); @@ -12,32 +12,32 @@ class CfgVehicles { author = "$STR_ACE_Common_ACETeam"; class Arguments { class enabled { - displayName = "$STR_ACE_WEATHER_DEFLECTIONMODULE_DISPLAYNAME"; - description = "$STR_ACE_WEATHER_DEFLECTIONMODULE_DESCRIPTION"; + displayName = "$STR_ACE_Weather_deflectionModule_DisplayName"; + description = "$STR_ACE_Weather_deflectionModule_Description"; typeName = "BOOL"; defaultValue = 1; }; class vehicleEnabled { - displayName = "$STR_ACE_WEATHER_VEHICLEENABLED_DISPLAYNAME"; - description = "$STR_ACE_WEATHER_VEHICLEENABLED_DESCRIPTION"; + displayName = "$STR_ACE_Weather_vehicleEnabled_DisplayName"; + description = "$STR_ACE_Weather_vehicleEnabled_Description"; typeName = "BOOL"; defaultValue = 1; }; class simulationInterval { - displayName = "$STR_ACE_WEATHER_SIMULATIONINTERVAL_DISPLAYNAME"; - description = "$STR_ACE_WEATHER_SIMULATIONINTERVAL_DESCRIPTION"; + displayName = "$STR_ACE_Weather_simulationInterval_DisplayName"; + description = "$STR_ACE_Weather_simulationInterval_Description"; typeName = "NUMBER"; defaultValue = 0.05; }; class simulationRadius { - displayName = "$STR_ACE_WEATHER_SIMULATIONRADIUS_DISPLAYNAME"; - description = "$STR_ACE_WEATHER_SIMULATIONRADIUS_DESCRIPTION"; + displayName = "$STR_ACE_Weather_simulationRadius_DisplayName"; + description = "$STR_ACE_Weather_simulationRadius_Description"; typeName = "NUMBER"; defaultValue = 3000; }; }; - class ModuleDescription { - description = "$STR_ACE_WEATHER_WINDDEFLECTION_DESCRIPTION"; - }; + class ModuleDescription { + description = "$STR_ACE_Weather_windDeflection_Description"; + }; }; }; \ No newline at end of file diff --git a/addons/winddeflection/stringtable.xml b/addons/winddeflection/stringtable.xml index 515591bd32..806bf4c449 100644 --- a/addons/winddeflection/stringtable.xml +++ b/addons/winddeflection/stringtable.xml @@ -62,43 +62,43 @@ Umidità: %1% Humidade: %1% - + Wind Deflection Wpływ wiatru - + Wind Deflection Wpływ wiatru - + Enables wind deflection Aktywuje wpływ wiatru na trajektorię lotu pocisków - + Vehicle Enabled Włączone dla pojazdów - + Enables wind deflection for static/vehicle gunners Aktywuje wpływ wiatru na trajektorię lotu pocisków dla broni statycznej i na pojazdach - + Simulation Interval Interwał symulacji - + Defines the interval between every calculation step Określa interwał pomiędzy każdym krokiem kalkulacji - + Simulation Radius Zasięg symulacji - + Defines the radius around the player (in meters) at which projectiles are wind deflected Określa obszar naokoło gracza (w metrach), na którym pociski są znoszone przez wiatr - + Wind influence on projectiles trajectory Wpływ wiatru na trajektorię lotu pocisków From bc72c71e8e193fe6ab359906d6f41fc7b5b41cc4 Mon Sep 17 00:00:00 2001 From: GieNkoV Date: Tue, 12 May 2015 19:11:56 +0200 Subject: [PATCH 195/217] Fix small errors inside stringtables --- addons/common/stringtable.xml | 12 +- addons/explosives/stringtable.xml | 14 +- addons/hearing/stringtable.xml | 2 +- addons/interaction/stringtable.xml | 26 ++- addons/medical/stringtable.xml | 45 ++--- addons/missileguidance/stringtable.xml | 226 ++++++++++++------------- addons/optionsmenu/stringtable.xml | 1 + 7 files changed, 170 insertions(+), 156 deletions(-) diff --git a/addons/common/stringtable.xml b/addons/common/stringtable.xml index 5b908a9133..8f5ebe7191 100644 --- a/addons/common/stringtable.xml +++ b/addons/common/stringtable.xml @@ -275,7 +275,7 @@ Désactiver menu commande Выключить командное меню Parancsnoki menü kikapcsolása - Disabilita Menù di comando + Disabilita menù di comando Desabilitar menu de comando @@ -308,7 +308,7 @@ Aceptar peticiones Akceptuj prośby Přijmout žádost - Accetta Richieste + Accetta la richiesta Accepter requête Принять запросы Kérések elfogadása @@ -320,7 +320,7 @@ Rechazar peticiones Ignoruj prośby Zamítnout žádost - Rifiuta Richieste + Rifiuta la richiesta Отклонить запросы Rejeter requête Kérések elutasítása @@ -402,7 +402,7 @@ Hint Background color Hintergrundfarbe der Hinweise Color de fondo de las notificaciones - Colore di sfondo dei Suggerimenti + Colore di sfondo dei suggerimenti Цвет фона всплывающих подсказок Kolor tła powiadomień Notification: couleur de l'arrière plan @@ -414,7 +414,7 @@ The color of the background from the ACE hints. Die Hintergrundfarbe der ACE-Hinweise. El color de fondo de las notificaciones del ACE - Il colore di sfondo dei suggerimenti dell'ACE. + Il colore di sfondo dei suggerimenti di ACE. Цвет фона всплывающих подсказок АСЕ. Kolor tła dla powiadomień ACE Notification ACE: couleur de l'arrière plan @@ -426,7 +426,7 @@ Hint text font color Textfarbe der Hinweise Color del texto de las notificaciones - Il colore del Testo dei Suggerimenti + Il colore del testo dei suggerimenti Цвет шрифта всплывающих подсказок Kolor tekstu powiadomień Notification: couleur du texte diff --git a/addons/explosives/stringtable.xml b/addons/explosives/stringtable.xml index 42b5160030..5f5076175d 100644 --- a/addons/explosives/stringtable.xml +++ b/addons/explosives/stringtable.xml @@ -368,7 +368,7 @@ Wybierz zapalnik Sélectionner une mise à feu Zvolit Detonátor - Seleziona un Attivatore + Seleziona un attivatore Gyújtóeszköz kiválasztása Selecionar um Gatilho Выберите детонатор @@ -392,7 +392,7 @@ Druckplatte Plaque de pression Nášlapná nástraha - Piastra a Pressione + Piastra a pressione Nyomólap Placa de pressão Нажимная плита @@ -404,7 +404,7 @@ Stolperdraht Fil de détente Nástražný drát - Filo a Inciampo + Filo a inciampo Botlódrót Linha de tração Растяжка @@ -440,7 +440,7 @@ Infrarotsensor (Seitenangriff) Capteur IR (de flanc) IR Značkovač (Výbuch stranou) - Sensore IR (Attacco laterale) + Sensore IR (attacco laterale) Infravörös szenzor (Side Attack) Sensor infravermelho (ataque lateral) ИК сенсор (детонация вбок) @@ -452,7 +452,7 @@ Magnetfeldsensor (Bodenangriff) Capteur magnétique (par le bas) Magnetický Senzor (Výbuch ze spoda) - Sensore Magnetico di Prossimità (Attacco inferiore) + Sensore Magnetico di Prossimità (attacco inferiore) Mágneses mező érzékelő (Bottom Attack) Influência magnética (ataque inferior) Магнитный сенсор (детонация вверх) @@ -462,7 +462,7 @@ Keine Sprengladungen auf diesem Auslöser. Ningún explosivo en el detonador. Pas d'explosif à mettre à feu. - Nessun esplosivo sul sensore. + Nessun esplosivo Žádná výbušnina k odpálení. Nincs robbanóanyag a gyújtóeszközhöz kötve. Brak ładunków na zapalnik. @@ -491,7 +491,7 @@ Robbanóanyagok távoli robbantásához Usado para detonar remotamente o explosivo quando solto. Используется для дистанционного подрыва, после смерти оператора. - Usato per attivare esplosivi al momento del rilascio + Usato per attivare a distanza esplosivi al momento del rilascio Pick up diff --git a/addons/hearing/stringtable.xml b/addons/hearing/stringtable.xml index ae7bea38a2..9e960f6d63 100644 --- a/addons/hearing/stringtable.xml +++ b/addons/hearing/stringtable.xml @@ -106,7 +106,7 @@ Vypnout pískání v uších Wyłącz dzwonienie w uszach Fülcsengés letiltása - Disabilita il ronzio + Disabilita i fischi nelle orecchie Desabilitar zumbido de ouvidos diff --git a/addons/interaction/stringtable.xml b/addons/interaction/stringtable.xml index 0e6e89b74c..19296083a6 100644 --- a/addons/interaction/stringtable.xml +++ b/addons/interaction/stringtable.xml @@ -119,7 +119,7 @@ Меню взаимодействия (с собой) Cselekvő menü (saját) Menu de Interação (Individual) - Menù interazione (Individuale) + Menù interazione (individuale) Open / Close Door @@ -263,7 +263,7 @@ Жесты Kézjelek Gestos - Segnali gestuali + Gesti Attack @@ -443,7 +443,7 @@ Někdo tě poklepal na PRAVÉ rameno Вас похлопали по ПРАВОМУ плечу Você foi tocado no ombro - Ti è stato dato un colpetto sulla spalla + Ti è stato dato un colpetto sulla spalla destra You were tapped on the LEFT shoulder. @@ -455,7 +455,7 @@ Někdo tě poklepal na LEVÉ rameno Вас похлопали по ЛЕВОМУ плечу Você foi tocado no ombro. - Ti è stato dato un colpetto sulla spalla + Ti è stato dato un colpetto sulla spalla sinistra Cancel @@ -503,7 +503,7 @@ A földre! Ложись! Abaixe-se! - A Terra! + A terra! Team Management @@ -575,6 +575,7 @@ Přiřadit k červeným Назначить в Красную группу Assigner à rouge + Assegna al team rosso Assign Green @@ -586,6 +587,7 @@ Přiřadit k zeleným Назначить в Зеленую группу Assigner à vert + Assegna al team verde Assign Blue @@ -597,6 +599,7 @@ Přiřadit k modrým Назначить в Синюю группу Assigner à bleu + Assegna al team blu Assign Yellow @@ -608,6 +611,7 @@ Přiřadit ke žlutým Назначить в Желтую группу Assigner à jaune + Assegna al team giallo Join Red @@ -619,6 +623,7 @@ Připojit k červeným Присоединиться к Красной группе Rejoindre rouge + Unirsi al team rosso Join Green @@ -630,6 +635,7 @@ Připojit k zeleným Присоединиться к Зеленой группе Rejoindre vert + Unirsi al team verde Join Blue @@ -641,6 +647,7 @@ Připojit k modrým Присоединиться к Синей группе Rejoindre bleu + Unirsi al team blu Join Yellow @@ -652,6 +659,7 @@ Připojit ke žlutým Присоединиться к Жёлтой группе Rejoindre jaune + Unirsi al team giallo You joined Team %1 @@ -721,7 +729,7 @@ Tecla modificadora Клавиша-модификатор Tecla Modificadora - Modifica tasto + Tasto modifica Módosító billentyű Modifikátor @@ -735,7 +743,7 @@ Hatótávolságon kívül Poza zasięgiem Mimo dosah - Non in raggio + Fuori limite Equipment @@ -758,8 +766,8 @@ Odstrčit Tolás Толкать - Spingi Empurrar + Spingere Interact @@ -770,7 +778,7 @@ Interakcja Interactuar Cselekvés - Interagisci + Interagire Interagir diff --git a/addons/medical/stringtable.xml b/addons/medical/stringtable.xml index e522e215ef..9cfc7e15d5 100644 --- a/addons/medical/stringtable.xml +++ b/addons/medical/stringtable.xml @@ -83,7 +83,7 @@ Injecter de la morphine Morfium beadása Injetar Morfina - Inietta Morfina + Inietta morfina Transfuse Blood @@ -95,7 +95,7 @@ Transfusion Infúzió (vér) Transfundir Sangue - Effettua trasfusione di sangue + Trasfusione di sangue Transfuse Plasma @@ -106,7 +106,7 @@ Transfuser du Plasma Перелить плазму Infúzió (vérplazma) - Effettua trasfusione di plasma + Trasfusione di Plasma Transfundir Plasma @@ -118,7 +118,7 @@ Transfuser de la solution saline Перелить физраствор Infúzió (sós víz) - Effettua trasfusione di soluzione salina + Trasfusione di soluzione salina Transfundir Soro @@ -274,7 +274,7 @@ Transfusion de saline ... Переливание физраствора ... Infúzió sós vizzel ... - Effettuo la rasfusione di salina + Effettuo la rasfusione di soluzione salina Transfundindo Soro... @@ -370,7 +370,7 @@ QuikClot Hémostatique QuikClot - QuikClot(polvere emostatica) + QuikClot (polvere emostatica) QuikClot @@ -632,7 +632,7 @@ Natychmiastowy Urgence Immédiate Sofort - Okamžiý + Okamžitý Azonnali Immediata Imediato @@ -801,7 +801,7 @@ Bandage fait d'un matériel spécial utilisé pour couvrir une blessure, qui peut etre appliqué dès que le saignement a été stoppé. Opatrunek materiałowy, używany do przykrywania ran, zakładany na ranę po zatamowaniu krwawienia. Egy különleges anyagú kötszer sebek betakarására, amelyet a vérzés elállítása után helyeznek fel. - Una benda apposita, utilizzata per coprire una ferita, la quale è applicata sopra di essa una volta fermata l'emorragia. + Una benda apposita, utilizzata per coprire una ferita, la quale viene applicata su di essa una volta fermata l'emorragia. Uma curativo, material específico para cobrir um ferimento que é aplicado assim que o sangramento é estancando. Obvaz je vhodným způsobem upravený sterilní materiál, určený k překrytí rány, případně k fixaci poranění. @@ -825,7 +825,7 @@ Utilisé pour couvrir des blessures de taille moyenne à grande. Arrête l'hémorragies Używany w celu opatrywania średnich i dużych ran oraz tamowania krwawienia. Közepestől nagyig terjedő sebek betakarására és vérzés elállítására használt kötszer - Usato su medie o larghe ferite per fermare emorragie. + Usato su ferite medie o larghe per fermare emorragie. Usado para o preenchimento de cavidades geradas por ferimentos médios e grandes e estancar o sangramento. Používá se k zastavení středních až silnějších krvácení @@ -850,7 +850,7 @@ Bandaż (elastyczny) Obvaz (elastický) Rögzító kötszer - Benda (Elastica) + Benda (elastica) Bandagem (Elástica) @@ -861,7 +861,7 @@ Bandage compressif élastique Zestaw bandaży elastycznych. Rugalmas kötszercsomag, "rögzítő" - Kit bendaggio, elastico + Kit di bendaggio, elastico Kit de Bandagem, Elástica Sada obvazů, Elastická @@ -873,7 +873,7 @@ Elastyczna opaska podtrzymująca opatrunek oraz usztywniająca okolice stawów. Brinda una compresión uniforme y ofrece soporte extra a una zona lesionada Egyenletes nyomást és támogatást biztosít a sebesült felületnek. - Permette di comprimevere e aiutare la zone ferita. + Permette di comprimere e aiutare la zone ferita. Esta bandagem pode ser utilizada para comprimir o ferimento e diminuir o sangramento e garantir que o ferimento não abra em movimento. Hodí se k fixačním účelům a to i v oblastech kloubů. @@ -958,7 +958,7 @@ Atropin Autoinjektor Autoinjektor atropin Atropin autoinjektor - Autoiniettore di Atropina + Autoiniettore di atropina Auto-injetor de Atropina @@ -994,7 +994,7 @@ Epiniphrin Autoinjektor Autoinjektor adrenalin Epinefrin autoinjektor - Autoiniettore di Epinefrina + Autoiniettore di epinefrina Auto-injetor de epinefrina @@ -1271,6 +1271,7 @@ Elsősegélycsomag, terepen való sebvarráshoz és haladó ellátáshoz Kit de primeiros socorros para sutura ou tratamentos avançados Osobní lékárnička obsahuje zdravotnický materiál umožňující šití a pokročilejší ošetřování raněných v poli + Pronto soccorso personale da campo per mettersi i punti o per trattamenti avanzati. Use Personal Aid Kit @@ -1282,13 +1283,14 @@ Elsősegélycsomag használata Usar o kit de primeiros socorros Použít osobní lékárničku + Usa il pronto soccorso personale Surgical Kit Trousse chirurgicale Хирургический набор Kit quirúrgico - Zestaw chirurgiczny + Zestaw do szycia ran Operationsset Sebészeti készlet Kit chirurgico @@ -1583,10 +1585,6 @@ %1 zkontroloval srdeční tep: %2 %1 verificou a frequência cardíaca: %2 - - None - Brak - Weak Schwach @@ -1781,7 +1779,7 @@ He's lost some blood - Ha perso molto sangue + Ha perso sangue Ha perdido un poco de sangre Есть кровопотеря Er hat etwas Blut verloren @@ -1801,6 +1799,7 @@ Il a perdu beaucoup de sang Ztratil hodně krve Ele perdeu muito sangue + Ha perso molto sangue He hasn't lost blood @@ -2244,6 +2243,7 @@ Styl menu (Zdravotní) Estilo do menu (Médico) Menü stílusa (Orvosi) + Stile del menù (medico) Select the type of menu you prefer; default 3d selections or radial. @@ -2255,6 +2255,7 @@ Selecione o tipo de menu que você prefere; padrão seleções 3d ou radial. Válaszd ki a neked megfelelő menüt: Alapértelmezett 3D válogatás, vagy kerek. Zvolte typ menu: základní 3D výběr nebo kruhový + Seleziona il tipo di menù che preferisci: selezione 3d predefinita o radiale. Selections (3d) @@ -2266,6 +2267,7 @@ Seleção (3d) Választékok (3D) 3D výběr + Selezione (3D) Radial @@ -2277,6 +2279,7 @@ Radial Kerek Kruhový + Radiale Scrape @@ -2684,6 +2687,7 @@ Tratando ... Tratando... Ošetřuji ... + Curando ... Removing Tourniquet ... @@ -2695,6 +2699,7 @@ Érszorító eltávolítása ... Sundavám škrtidlo ... Снятие жгута ... + Togliendo il laccio emostatico ... ACE Medical diff --git a/addons/missileguidance/stringtable.xml b/addons/missileguidance/stringtable.xml index ef9bdeea26..24149e61a0 100644 --- a/addons/missileguidance/stringtable.xml +++ b/addons/missileguidance/stringtable.xml @@ -1,113 +1,113 @@ - - - - - Advanced Missile Guidance - Guiado Avanzado de Misiles - Guidage avancé de missile - Zaawansowane naprowadzanie rakiet - Erweitertes Raketenlenksystem - Pokročilé řízení střel - Guida missili avanzata - Avançado Missile Guidance - Fejlett rakétairányító - Продвинутое наведение ракет - - - Advanced missile guidance, or AMG, provides multiple enhancements to missile locking and firing. It is also a framework required for missile weapon types. - Zaawansowane namierzanie rakiet, lub ZNR, dostarcza wiele poprawek do systemu namierzania rakiet oraz dodaje nowe tryby strzału. Jest to wymagana opcja dla broni rakietowych. - Guida dei missili avanzata, o AMG, offre diversi miglioramenti alla teleguida di missili. E' anche un sistema necessario per i tipi di armi missile. - Продвинутое наведение ракет, или ПНР, обеспечивает множество усовершествований для наведения и стрельбы ракет. Также, это система, необходимая для всех ракетных типов оружия. - Guiado Avanzado de Misiles, o AMG en sus siglas en inglés, ofrece múltiples mejoras en el fijado y disparo de misiles. Es también un sistema requerido para armas de tipo misil. - Das Erweiterte Raketenlenksystem, auch ERls genannt, bietet viele Verbesserungen zum Aufschalten und Feuern mittels gelenkten Raketen. - Le guidage avancé de missile, ou AMG en anglais, apporte de multiple améliorations au verouillage et au tir de missiles. C'est aussi un framework requis pour tout arme de type missile. - A fejlett rakétairányító (vagy AMG) többféle módosítást tartalmaz a rakéták célkövetéséhez és tüzeléséhez. Ez egy szükséges keresztrendszer a rakéta-alapú fegyverekhez. - Orientação avançada de mísseis ou OAM, fornece vários aprimoramentos para travamento de mísseis e disparos. Também é um sistema requerido para disparar armas que utilizem mísseis. - Pokočilé navádění raket (AMG) poskytuje několik vylepšení pro lepší zaměření a následnou střelbu. Je to prvek vyžadovaný u typu zbraní jako jsou rakety. - - - Hydra-70 DAGR Missile - Misil Hydra-70 DAGR - Hydra-70 DAGR - Hydra-70 DAGR - Hydra-70 DAGR Rackete - Hydra-70 DAGR - Missile Hydra-70 DAGR - Míssil Hydra-70 DAGR - Hydra-70 DAGR rakéta - Hydra-70 DAGR - - - DAGR - DAGR - DAGR - DAGR - DAGR - DAGR - DAGR - DAGR - DAGR - DAGR - - - Hydra-70 DAGR Laser Guided Missile - Misil guiado por láser Hydra-70 DAGR - Missile à guidage laser Hydra-70 DAGR - Laserowo naprowadzana rakieta Hydra-70 DAGR - Hydra-70 DAGR lasergelenkte Rakete - Hydra-70 DAGR laserem naváděná střela - Hydra-70 DAGR missile guida laser - Míssil guiado a laser Hydra-70 DAGR - Hydra-70 DAGR lézer-irányított rakéta - Управляемая ракета лазерного наведения Hydra-70 DAGR - - - Hellfire II AGM-114K Missile - Misil Hellfire II AGM-114K - Hellfire II AGM-114K - Hellfire II AGM-114K - Hellfire II AGM-114K - Hellfire II AGM-114K - Missile Hellfire II AGM-114K - Míssil Hellfire II AGM-114K - Hellfire II AGM-114K rakéta - Hellfire II AGM-114K - - - AGM-114K - AGM-114K - AGM-114K - AGM-114K - AGM-114K - AGM-114K - AGM-114K - AGM-114K - AGM-114K - AGM-114K - - - Hellfire II AGM-114K Laser Guided Missile - Misil guiado por láser Hellfire II AGM-114K - Missile à guidage laser Hellfire II AGM-114K - Laserowo naprowadzana rakieta Hellfire II AGM-114K - Hellfire II AGM-114K Lasergelenkte Rakete - Hellfire II AGM-114K laserem naváděná střela - Missile guida laser Hellfire II AGM-114K - Míssil guiado a laser Hellfire II AGM-114K - Hellfire II AGM-114K lézer-irányított rakéta - Управляемая ракета лазерного наведения Hellfire II AGM-114K - - - Off - Wyłącz - - - Player Only - Tylko gracz - - - Player and AI - Gracz oraz AI - - - + + + + + Advanced Missile Guidance + Guiado Avanzado de Misiles + Guidage avancé de missile + Zaawansowane naprowadzanie rakiet + Erweitertes Raketenlenksystem + Pokročilé řízení střel + Guida missili avanzata + Avançado Missile Guidance + Fejlett rakétairányító + Продвинутое наведение ракет + + + Advanced missile guidance, or AMG, provides multiple enhancements to missile locking and firing. It is also a framework required for missile weapon types. + Zaawansowane namierzanie rakiet, lub ZNR, dostarcza wiele poprawek do systemu namierzania rakiet oraz dodaje nowe tryby strzału. Jest to wymagana opcja dla broni rakietowych. + Guida dei missili avanzata, o AMG, offre diversi miglioramenti alla teleguida di missili. E' anche un sistema necessario per i tipi di armi missile. + Продвинутое наведение ракет, или ПНР, обеспечивает множество усовершествований для наведения и стрельбы ракет. Также, это система, необходимая для всех ракетных типов оружия. + Guiado Avanzado de Misiles, o AMG en sus siglas en inglés, ofrece múltiples mejoras en el fijado y disparo de misiles. Es también un sistema requerido para armas de tipo misil. + Das Erweiterte Raketenlenksystem, auch ERls genannt, bietet viele Verbesserungen zum Aufschalten und Feuern mittels gelenkten Raketen. + Le guidage avancé de missile, ou AMG en anglais, apporte de multiple améliorations au verouillage et au tir de missiles. C'est aussi un framework requis pour tout arme de type missile. + A fejlett rakétairányító (vagy AMG) többféle módosítást tartalmaz a rakéták célkövetéséhez és tüzeléséhez. Ez egy szükséges keresztrendszer a rakéta-alapú fegyverekhez. + Orientação avançada de mísseis ou OAM, fornece vários aprimoramentos para travamento de mísseis e disparos. Também é um sistema requerido para disparar armas que utilizem mísseis. + Pokočilé navádění raket (AMG) poskytuje několik vylepšení pro lepší zaměření a následnou střelbu. Je to prvek vyžadovaný u typu zbraní jako jsou rakety. + + + Hydra-70 DAGR Missile + Misil Hydra-70 DAGR + Hydra-70 DAGR + Hydra-70 DAGR + Hydra-70 DAGR Rackete + Hydra-70 DAGR + Missile Hydra-70 DAGR + Míssil Hydra-70 DAGR + Hydra-70 DAGR rakéta + Hydra-70 DAGR + + + DAGR + DAGR + DAGR + DAGR + DAGR + DAGR + DAGR + DAGR + DAGR + DAGR + + + Hydra-70 DAGR Laser Guided Missile + Misil guiado por láser Hydra-70 DAGR + Missile à guidage laser Hydra-70 DAGR + Laserowo naprowadzana rakieta Hydra-70 DAGR + Hydra-70 DAGR lasergelenkte Rakete + Hydra-70 DAGR laserem naváděná střela + Hydra-70 DAGR missile guida laser + Míssil guiado a laser Hydra-70 DAGR + Hydra-70 DAGR lézer-irányított rakéta + Управляемая ракета лазерного наведения Hydra-70 DAGR + + + Hellfire II AGM-114K Missile + Misil Hellfire II AGM-114K + Hellfire II AGM-114K + Hellfire II AGM-114K + Hellfire II AGM-114K + Hellfire II AGM-114K + Missile Hellfire II AGM-114K + Míssil Hellfire II AGM-114K + Hellfire II AGM-114K rakéta + Hellfire II AGM-114K + + + AGM-114K + AGM-114K + AGM-114K + AGM-114K + AGM-114K + AGM-114K + AGM-114K + AGM-114K + AGM-114K + AGM-114K + + + Hellfire II AGM-114K Laser Guided Missile + Misil guiado por láser Hellfire II AGM-114K + Missile à guidage laser Hellfire II AGM-114K + Laserowo naprowadzana rakieta Hellfire II AGM-114K + Hellfire II AGM-114K Lasergelenkte Rakete + Hellfire II AGM-114K laserem naváděná střela + Missile guida laser Hellfire II AGM-114K + Míssil guiado a laser Hellfire II AGM-114K + Hellfire II AGM-114K lézer-irányított rakéta + Управляемая ракета лазерного наведения Hellfire II AGM-114K + + + Off + Wyłącz + + + Player Only + Tylko gracz + + + Player and AI + Gracz oraz AI + + + diff --git a/addons/optionsmenu/stringtable.xml b/addons/optionsmenu/stringtable.xml index 495db21df7..aa78e83645 100644 --- a/addons/optionsmenu/stringtable.xml +++ b/addons/optionsmenu/stringtable.xml @@ -239,6 +239,7 @@ UI Skalierung Beállításmenü kezelőfelületének skálázása Escalar o menu de opções + Proporzioni della interfaccia utente Allow Config Export [ACE] From ed1acd8c15089324690a4a476d542abed27f38ee Mon Sep 17 00:00:00 2001 From: GieNkoV Date: Tue, 12 May 2015 19:42:35 +0200 Subject: [PATCH 196/217] Some small errors fixed #2 Mainly tabs and wrong italian strings (got those from newest master) --- addons/common/stringtable.xml | 6 +++--- addons/interaction/stringtable.xml | 18 +++++++++--------- addons/nametags/stringtable.xml | 8 ++++---- addons/optionsmenu/stringtable.xml | 16 ++++++++-------- addons/respawn/stringtable.xml | 2 ++ 5 files changed, 26 insertions(+), 24 deletions(-) diff --git a/addons/common/stringtable.xml b/addons/common/stringtable.xml index 8f5ebe7191..1b960de982 100644 --- a/addons/common/stringtable.xml +++ b/addons/common/stringtable.xml @@ -308,11 +308,11 @@ Aceptar peticiones Akceptuj prośby Přijmout žádost - Accetta la richiesta Accepter requête Принять запросы Kérések elfogadása Aceitar Pedido + Accetta la richiesta Decline Requests @@ -320,11 +320,11 @@ Rechazar peticiones Ignoruj prośby Zamítnout žádost - Rifiuta la richiesta Отклонить запросы Rejeter requête Kérések elutasítása Rejeitar pedido + Rifiuta la richiesta Accept Requests send by other players. These can be requests to use / share equipment, perform certain actions. @@ -438,7 +438,7 @@ The color of the text font from the ACE hints. This color is the default color for all text displayed through the ACE Hint system, if the hint text has no other color specified. Wähle die Textfarbe für ACE-Hinweise. Die gewählte Farbe wird als Standartfarbe der Hinweise angezeigt, wenn der Hinweis selbst keine spezifische Farbe hat. El color del texto de las notificaciones del ACE. Este es el color predeterminado para todo el texto que se muestra a través del sistema de notificaciones del ACE, si el texto de notificación no tiene otro color especificado. - Il colore del testo dei suggerimenti dell'ACE. Questo è il colore standard per tutti i caratteri mostrati dal sistema di suggerimenti dell'ACE, se il colore del testo non è specificato. + Il colore del testo dei suggerimenti di ACE. Questo è il colore predefinito per tutto il testo mostrato dal sistema di suggerimenti di ACE quando il colore del testo non ha altro colore specificato. Цвет шрифта текста всплывающих подсказок АСЕ. Этот цвет является стандартным для всего текста, транслирующегося через систему подсказок АСЕ, если не установлено другого цвета для текста подсказок. Kolor tekstu dla powiadomień ACE. Ten kolor jest domyślnym dla wszystkich tekstów wyświetlanych poprzez System Powiadomień ACE, jeżeli dla powiadomienia nie określono innego koloru. Notification ACE: couleur du texte. C'est la couleur par défaut de tout texte affiché dans les notifications ACE, si aucune couleur n'est spécifiée pour les notifications diff --git a/addons/interaction/stringtable.xml b/addons/interaction/stringtable.xml index 19296083a6..b2e75ccdff 100644 --- a/addons/interaction/stringtable.xml +++ b/addons/interaction/stringtable.xml @@ -575,7 +575,7 @@ Přiřadit k červeným Назначить в Красную группу Assigner à rouge - Assegna al team rosso + Assegna al team rosso Assign Green @@ -587,7 +587,7 @@ Přiřadit k zeleným Назначить в Зеленую группу Assigner à vert - Assegna al team verde + Assegna al team verde Assign Blue @@ -599,7 +599,7 @@ Přiřadit k modrým Назначить в Синюю группу Assigner à bleu - Assegna al team blu + Assegna al team blu Assign Yellow @@ -611,7 +611,7 @@ Přiřadit ke žlutým Назначить в Желтую группу Assigner à jaune - Assegna al team giallo + Assegna al team giallo Join Red @@ -623,7 +623,7 @@ Připojit k červeným Присоединиться к Красной группе Rejoindre rouge - Unirsi al team rosso + Unirsi al team rosso Join Green @@ -635,7 +635,7 @@ Připojit k zeleným Присоединиться к Зеленой группе Rejoindre vert - Unirsi al team verde + Unirsi al team verde Join Blue @@ -647,7 +647,7 @@ Připojit k modrým Присоединиться к Синей группе Rejoindre bleu - Unirsi al team blu + Unirsi al team blu Join Yellow @@ -659,7 +659,7 @@ Připojit ke žlutým Присоединиться к Жёлтой группе Rejoindre jaune - Unirsi al team giallo + Unirsi al team giallo You joined Team %1 @@ -767,7 +767,7 @@ Tolás Толкать Empurrar - Spingere + Spingere Interact diff --git a/addons/nametags/stringtable.xml b/addons/nametags/stringtable.xml index 070257e807..1a0a2f1369 100644 --- a/addons/nametags/stringtable.xml +++ b/addons/nametags/stringtable.xml @@ -70,8 +70,8 @@ Zobrazit info o posádce vozidla Показывать информацию об экипаже Jármű-legénység adatainak mutatása - Mostra le informazioni sull'equipaggio del veicolo Mostrar tripulantes + Mostra l'elenco del personale a bordo Show name tags for AI units @@ -82,7 +82,7 @@ Wyświetl imiona jednostek AI Afficher les noms des IA Névcímkék mutatása MI-egységeknél - Mostra le tag nomi per le unità AI + Mostra i nomi delle le unità AI Mostrar nomes para unidades de IA @@ -94,7 +94,7 @@ Pokaż fale dźwiękowe (wymagana opcja Pokaż imiona graczy) Afficher "qui parle" (si noms affichés) "Hanghullámok" mutatása (a nevek mutatása szükséges) - Mostra barra movimento audio (richiede mostra nomi abilitato) + Mostra movimento audio (richiede mostra nomi abilitato) Mostrar onda sonora (requer nome de jogadores) @@ -106,7 +106,7 @@ Couleur d'affichage par défaut (si dans aucun groupe) Standardní barva jmenovek (pro nečleny jednotky) Alap névcímke-szín (csoporton kívüli személyek) - Colore nametag di default (membri non del gruppo) + Colore dei nomi non appartenenti al gruppo Cor padrão do nome (unidades fora do grupo) diff --git a/addons/optionsmenu/stringtable.xml b/addons/optionsmenu/stringtable.xml index aa78e83645..18ee57310a 100644 --- a/addons/optionsmenu/stringtable.xml +++ b/addons/optionsmenu/stringtable.xml @@ -239,7 +239,7 @@ UI Skalierung Beállításmenü kezelőfelületének skálázása Escalar o menu de opções - Proporzioni della interfaccia utente + Proporzioni della interfaccia utente Allow Config Export [ACE] @@ -257,31 +257,31 @@ When allowed, you have access to the settings modification and export in SP. Clicking export will place the formated config on your clipboard. Jeżeli ustawione na zezwól, wtedy będziesz mieć dostęp do ekranu modyfikacji wszystich ustawień i zmiennych ACE, a także będziesz mieć możliwość eksportu tychże ustawień do formatu rozpoznawalnego przez userconfig serwera. Kliknięcie opcji Eksportuj skopiuje wszystkie ustawienia do schowka. Działa tylko w trybie SP. - + Hide Ukryj - + Top right, downwards Po prawej u góry, w dół - + Top right, to the left Po prawej u góry, do lewej - + Top left, downwards Po lewej u góry, w dół - + Top left, to the right Po lewej u góry, do prawej - + Top Góra - + Bottom Dół diff --git a/addons/respawn/stringtable.xml b/addons/respawn/stringtable.xml index 5351d0f3bc..d7d5b7ac98 100644 --- a/addons/respawn/stringtable.xml +++ b/addons/respawn/stringtable.xml @@ -35,6 +35,7 @@ Téléportation à la base Teletransportar para a Base Bázisra teleportálás + Teleporta alla base Teleport to Rallypoint @@ -46,6 +47,7 @@ Téléporation au point de ralliement Teletransportar para o ponto de encontro Gyülekezőpontra teleportálás + Teleporta al rallypoint Teleported to Base From 1610221a70d516b536602f0a114282458f2eb662 Mon Sep 17 00:00:00 2001 From: GieNkoV Date: Tue, 12 May 2015 20:01:10 +0200 Subject: [PATCH 197/217] Remove duplicated strings --- addons/captives/stringtable.xml | 8 - addons/medical/stringtable.xml | 372 ----------------------------- addons/mk6mortar/stringtable.xml | 32 --- addons/optionsmenu/stringtable.xml | 44 ---- 4 files changed, 456 deletions(-) diff --git a/addons/captives/stringtable.xml b/addons/captives/stringtable.xml index 0d01cbafc6..07cf780e19 100644 --- a/addons/captives/stringtable.xml +++ b/addons/captives/stringtable.xml @@ -201,13 +201,5 @@ Sync a unit to make them surrender.<br />Source: ace_captives Zsynchronizuj z jednostką aby sprawić by się poddała<br />Źródło: ace_captives - - Make Unit Surrender - Poddaj się! - - - Sync a unit to make them surrender.<br />Source: ace_captives - Zsynchronizuj z jednostką aby sprawić by się poddała<br />Źródło: ace_captives - diff --git a/addons/medical/stringtable.xml b/addons/medical/stringtable.xml index 9cfc7e15d5..a5ffc6a4ba 100644 --- a/addons/medical/stringtable.xml +++ b/addons/medical/stringtable.xml @@ -3065,378 +3065,6 @@ [ACE] Medical Supply Crate (Advanced) [ACE] Skrzynka z zapasami medycznymi (zaawansowana) - - ACE Medical - ACE Opcje medyczne - - - Medical Settings [ACE] - Ustawienia medyczne [ACE] - - - Medical Level - Poziom medyczny - - - What is the medical simulation level? - Jaki jest poziom symulacji medycznej? - - - Basic - Podstawowy - - - Advanced - Zaawansowany - - - Medics setting - Poziom medyków - - - What is the level of detail prefered for medics? - Jaki jest poziom detali medycznych wyświetlanych dla medyków? - - - Disable medics - Wyłącz medyków - - - Enable Litter - Aktywuj odpadki - - - Enable litter being created upon treatment - Twórz odpadki medyczne podczas leczenia - - - Life time of litter objects - Długość życia odpadków - - - How long should litter objects stay? In seconds. -1 is forever. - Ile czasu musi upłynąć, aby odpadki zaczęły znikać? W sekundach. -1 dla nieskończoności. - - - Enable Screams - Aktywuj wrzaski - - - Enable screaming by injuried units - Aktywuj wrzeszczenie z bólu przez ranne jednostki - - - Player Damage - Próg obrażeń graczy - - - What is the damage a player can take before being killed? - Jaki jest próg obrażeń, jakie gracz może otrzymać zanim zostanie zabity? - - - AI Damage - Próg obrażeń AI - - - What is the damage an AI can take before being killed? - Jaki jest próg obrażeń, jakie AI może otrzymać zanim zostanie zabite? - - - AI Unconsciousness - Nieprzytomność AI - - - Allow AI to go unconscious - Czy AI może być nieprzytomne od odniesionych obrażeń? - - - Disabled - Wyłączone - - - Enabled - Włączone - - - Prevent instant death - Wył. natychmiast. śmierć - - - Have a unit move to unconscious instead of death - Spraw, aby jednostka została przeniesiona do stanu nieprzytomności zamiast ginąć na miejscu od śmiertelnych obrażeń - - - Bleeding coefficient - Mnożnik krwawienia - - - Coefficient to modify the bleeding speed - Mnożnik modyfikujący prędkość wykrwawiania się - - - Pain coefficient - Mnożnik bólu - - - Coefficient to modify the pain intensity - Mnożnik modyfikujący intensywność bólu - - - Sync status - Synchronizuj status - - - Keep unit status synced. Recommended on. - Utrzymuj synchronizację statusu jednostek. Zalecane zostawienie tej opcji włączonej. - - - Provides a medical system for both players and AI. - Moduł ten dostarcza system medyczny dla graczy oraz AI. - - - Advanced Medical Settings [ACE] - Zaawansowane ustawienia medyczne [ACE] - - - Enabled for - Aktywne dla - - - Select what units the advanced medical system will be enabled for - Wybierz dla kogo zaawansowany system medyczny będzie aktywny - - - Players only - Tylko dla graczy - - - Players and AI - Gracze oraz AI - - - Enable Advanced wounds - Akt. zaawansowane rany - - - Allow reopening of bandaged wounds? - Pozwól na otwieranie się zabandażowanych ran? - - - Vehicle Crashes - Obrażenia od kolizji - - - Do units take damage from a vehicle crash? - Czy jednostki otrzymują obrażenia w wyniku kolizji pojazdów? - - - Allow PAK - Ust. apteczek osobistych - - - Who can use the PAK for full heal? - Kto może skorzystać z apteczki osobistej w celu pełnego uleczenia? - - - Anyone - Wszyscy - - - Medics only - Tylko medycy - - - Doctors only - Tylko doktorzy - - - Remove PAK on use - Usuń apteczkę po użyciu - - - Should PAK be removed on usage? - Czy apteczka osobista powinna zniknąć z ekwipunku po jej użyciu? - - - No - Nie - - - Yes - Tak - - - Locations PAK - Ogr. apteczek osobistych - - - Where can the personal aid kit be used? - Gdzie można korzystać z apteczek osobistych? - - - Anywhere - Wszędzie - - - Medical vehicles - Pojazdy medyczne - - - Medical facility - Budynki medyczne - - - Vehicles & facility - Pojazdy i budynki medyczne - - - Disabled - Wyłączone - - - Allow Surgical kit (Adv) - Ust. zestawu chirurg. - - - Who can use the surgical kit? - Kto może skorzystać z zestawu chirurgicznego w celu zszycia ran? - - - Remove Surgical kit (Adv) - Usuń zest. chir. po użyciu - - - Should Surgical kit be removed on usage? - Czy zestaw chirurgiczny powinien zniknąć z ekwipunku po jego użyciu? - - - Locations Surgical kit (Adv) - Ogr. zestawu chirurg. - - - Where can the Surgical kit be used? - Gdzie można korzystać z zestawu chirurgicznego? - - - Configure the treatment settings from ACE Medical - Skonfiguruj zaawansowane ustawienia leczenia systemu medycznego ACE - - - Revive Settings [ACE] - Ustawienia wskrzeszania [ACE] - - - Enable Revive - Aktywuj wskrzeszanie - - - Enable a basic revive system - Aktywuj podstawowy system wskrzeszania - - - Max Revive time - Maks. czas agonii - - - Max amount of seconds a unit can spend in revive state - Maksymalna długość agonii w sekundach (czas na wskrzeszenie) - - - Max Revive lives - Maks. ilość wskrzeszeń - - - Max amount of lives a unit. 0 or -1 is disabled. - Maksymalna ilość wskrzeszeń. Wpisz 0 lub -1 aby wyłączyć. - - - Provides a medical system for both players and AI. - Moduł ten aktywuje podstawowy system wskrzeszania. Jednostka po otrzymaniu śmiertelnych obrażeń przechodzi do stanu agonii, która trwa określoną długość czasu. W tym czasie aby wskrzesić i jednocześnie odratować jednostkę należy opatrzeć jej rany i wykonać RKO. - - - Set Medic Class [ACE] - Ustaw klasę medyka [ACE] - - - List - Lista - - - List of unit names that will be classified as medic, separated by commas. - Lista nazw jednostek, które są sklasyfikowane jako medycy, oddzielone przecinkami. - - - Is Medic - Klasa medyczna - - - - - - - None - Żadna - - - Regular medic - Zwykły medyk - - - Doctor (Only Advanced Medics) - Doktor (tylko zaawansowani medycy) - - - Assigns the ACE medic class to a unit - Moduł ten przypisuje klasę medyka ACE do jednostek. - - - Set Medical Vehicle [ACE] - Ustaw pojazd medyczny [ACE] - - - List - Lista - - - List of vehicles that will be classified as medical vehicle, separated by commas. - Lista nazw pojazdów, które są sklasyfikowane jako pojazdy medyczne, oddzielone przecinkami. - - - Is Medical Vehicle - Jest pojazdem med. - - - Whatever or not the objects in the list will be a medical vehicle. - Czy pojazdy z tej listy są pojazdami medycznymi. - - - Assigns the ACE medic class to a unit - Moduł ten pozwala na przypisanie danym pojazdom statusu pojazdów medycznych. Wewnątrz takiego pojazdu można wykonywać zaawansowane zabiegi medyczne. - - - Set Medical Facility [ACE] - Ustaw budynek medyczny [ACE] - - - Is Medical Facility - Jest budynkiem med. - - - Registers an object as a medical facility - Przypisuje danemu obiektowi status budynku medycznego - - - Defines an object as a medical facility. This allows for more advanced treatments. Can be used on buildings and vehicles. - Moduł ten pozwala przypisać status budynku medycznego danemu obiektowi. Budynek taki pozwala na wykonywanie zaawansowanych zabiegów medycznych. Może być użyte na pojazdach i budynkach. - - - [ACE] Medical Supply Crate (Basic) - [ACE] Skrzynka z zapasami medycznymi (podstawowa) - - - [ACE] Medical Supply Crate (Advanced) - [ACE] Skrzynka z zapasami medycznymi (zaawansowana) - diff --git a/addons/mk6mortar/stringtable.xml b/addons/mk6mortar/stringtable.xml index cb4a7c5376..37c7d322ad 100644 --- a/addons/mk6mortar/stringtable.xml +++ b/addons/mk6mortar/stringtable.xml @@ -81,37 +81,5 @@ Moduł ten pozwala dostosować ustawienia moździerza MK6. - - MK6 Settings - Moździerz MK6 - Ustawienia - - - Air Resistance - Opór powietrza - - - For Player Shots, Model Air Resistance and Wind Effects - Modeluj opór powietrza oraz wpływ wiatru na tor lotu pocisku dla strzałów z moździerza MK6 przez graczy - - - Allow MK6 Computer - Komputer MK6 - - - Show the Computer and Rangefinder (these NEED to be removed if you enable air resistance) - Zezwól na komputer i dalmierz (opcja ta MUSI zostać wyłączona jeżeli aktywowałeś opór powietrza) - - - Allow MK6 Compass - Kompas MK6 - - - Show the MK6 Digital Compass - Pokaż kompas MK6 - - - - Moduł ten pozwala dostosować ustawienia moździerza MK6. - diff --git a/addons/optionsmenu/stringtable.xml b/addons/optionsmenu/stringtable.xml index 18ee57310a..22a1a88cfa 100644 --- a/addons/optionsmenu/stringtable.xml +++ b/addons/optionsmenu/stringtable.xml @@ -285,49 +285,5 @@ Bottom Dół - - Allow Config Export [ACE] - Pozwól na eksport ustawień [ACE] - - - Allow - Zezwól - - - Allow export of all settings to a server config formatted. - Zezwól na eksport wszystkich ustawień do formatu konfiguracji serwera. - - - When allowed, you have access to the settings modification and export in SP. Clicking export will place the formated config on your clipboard. - Jeżeli ustawione na zezwól, wtedy będziesz mieć dostęp do ekranu modyfikacji wszystich ustawień i zmiennych ACE, a także będziesz mieć możliwość eksportu tychże ustawień do formatu rozpoznawalnego przez userconfig serwera. Kliknięcie opcji Eksportuj skopiuje wszystkie ustawienia do schowka. Działa tylko w trybie SP. - - - Hide - Ukryj - - - Top right, downwards - Po prawej u góry, w dół - - - Top right, to the left - Po prawej u góry, do lewej - - - Top left, downwards - Po lewej u góry, w dół - - - Top left, to the right - Po lewej u góry, do prawej - - - Top - Góra - - - Bottom - Dół - From e58d23d8853cb09d66565d79cbca50916a48423f Mon Sep 17 00:00:00 2001 From: jonpas Date: Tue, 12 May 2015 21:32:30 +0200 Subject: [PATCH 198/217] Removed Titan realistic name as it's not implemented yet as a Spike --- addons/realisticnames/CfgVehicles.hpp | 8 ++++---- addons/realisticnames/CfgWeapons.hpp | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/addons/realisticnames/CfgVehicles.hpp b/addons/realisticnames/CfgVehicles.hpp index 0fa3111243..cf1ce87b80 100644 --- a/addons/realisticnames/CfgVehicles.hpp +++ b/addons/realisticnames/CfgVehicles.hpp @@ -407,7 +407,7 @@ class CfgVehicles { displayName = "$STR_ACE_RealisticNames_launch_RPG32_Name"; }; - class Weapon_launch_Titan_F: Launcher_Base_F { + /*class Weapon_launch_Titan_F: Launcher_Base_F { displayName = "$STR_ACE_RealisticNames_launch_Titan_Name"; }; @@ -417,13 +417,13 @@ class CfgVehicles { class Weapon_launch_B_Titan_F: Launcher_Base_F { displayName = "$STR_ACE_RealisticNames_launch_Titan_Name"; - }; + };*/ //class Weapon_launch_I_Titan_F: Weapon_launch_B_Titan_F {}; //class Weapon_launch_O_Titan_F: Weapon_launch_B_Titan_F {}; - class Weapon_launch_launch_B_Titan_short_F: Launcher_Base_F { + /*class Weapon_launch_launch_B_Titan_short_F: Launcher_Base_F { displayName = "$STR_ACE_RealisticNames_launch_Titan_short_Name"; - }; + };*/ //class Weapon_launch_I_Titan_short_F: Weapon_launch_launch_B_Titan_short_F {}; //class Weapon_launch_O_Titan_short_F: Weapon_launch_launch_B_Titan_short_F {}; diff --git a/addons/realisticnames/CfgWeapons.hpp b/addons/realisticnames/CfgWeapons.hpp index 8eb3c04577..e61457df5d 100644 --- a/addons/realisticnames/CfgWeapons.hpp +++ b/addons/realisticnames/CfgWeapons.hpp @@ -181,12 +181,12 @@ class CfgWeapons { displayName = "$STR_ACE_RealisticNames_launch_RPG32_Name"; }; - class launch_Titan_base: Launcher_Base_F { + /*class launch_Titan_base: Launcher_Base_F { displayName = "$STR_ACE_RealisticNames_launch_Titan_Name"; }; class launch_Titan_short_base: launch_Titan_base { displayName = "$STR_ACE_RealisticNames_launch_Titan_short_Name"; - }; + };*/ class launch_NLAW_F: Launcher_Base_F { displayName = "$STR_ACE_RealisticNames_launch_NLAW_Name"; From e613db1feadafd1f203b17d8e18c7e50f7a67303 Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Tue, 12 May 2015 15:40:12 -0500 Subject: [PATCH 199/217] Add missing script_component include --- addons/common/functions/fnc_waveHeightAt.sqf | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/addons/common/functions/fnc_waveHeightAt.sqf b/addons/common/functions/fnc_waveHeightAt.sqf index fbfe5fb241..e05e4219b7 100644 --- a/addons/common/functions/fnc_waveHeightAt.sqf +++ b/addons/common/functions/fnc_waveHeightAt.sqf @@ -4,12 +4,13 @@ * Gets the wave height at a specific location. Uses a logic, so may be performance iffy * * Arguments: - * 0: Position ASL to get height at + * 0: Position ASL to get height at * * Return Value: * Wave height in meters * */ +#include "script_component.hpp" if(isNil QGVAR(waveHeightLogic)) then { GVAR(waveHeightLogic) = "Logic" createVehicleLocal [0,0,0]; From 1827d8ad959ad6d9c0c06f41033b6f022a0bdfa9 Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Tue, 12 May 2015 16:04:42 -0500 Subject: [PATCH 200/217] Fix #1024 - Adjust self iMenu for wave height --- .../interact_menu/functions/fnc_keyDown.sqf | 7 +++++++ .../functions/fnc_renderActionPoints.sqf | 19 ++++++++++++------- 2 files changed, 19 insertions(+), 7 deletions(-) diff --git a/addons/interact_menu/functions/fnc_keyDown.sqf b/addons/interact_menu/functions/fnc_keyDown.sqf index 464466ae3a..5416440269 100644 --- a/addons/interact_menu/functions/fnc_keyDown.sqf +++ b/addons/interact_menu/functions/fnc_keyDown.sqf @@ -64,6 +64,13 @@ if (GVAR(useCursorMenu)) then { GVAR(selfMenuOffset) = ((positionCameraToWorld [0, 0, 2]) call EFUNC(common,positionToASL)) vectorDiff ((positionCameraToWorld [0, 0, 0]) call EFUNC(common,positionToASL)); +private ["_wavesAtOrigin", "_wavesAtVirtualPoint"]; + +_wavesAtOrigin = [(positionCameraToWorld [0, 0, 0])] call EFUNC(common,waveHeightAt); +_wavesAtVirtualPoint = [(positionCameraToWorld [0, 0, 2])] call EFUNC(common,waveHeightAt); +GVAR(selfMenuOffset) set [2, ((GVAR(selfMenuOffset) select 2) + _wavesAtOrigin - _wavesAtVirtualPoint)]; + + ["interactMenuOpened", [_menuType]] call EFUNC(common,localEvent); true diff --git a/addons/interact_menu/functions/fnc_renderActionPoints.sqf b/addons/interact_menu/functions/fnc_renderActionPoints.sqf index 8e6cb7d390..6579bd33e7 100644 --- a/addons/interact_menu/functions/fnc_renderActionPoints.sqf +++ b/addons/interact_menu/functions/fnc_renderActionPoints.sqf @@ -14,7 +14,7 @@ GVAR(currentOptions) = []; -private ["_player","_numInteractObjects","_numInteractions","_actionsVarName","_classActions","_target","_player","_action","_cameraPos","_cameraDir", "_lambda", "_nearestObjects", "_pos"]; +private ["_player","_numInteractObjects","_numInteractions","_actionsVarName","_classActions","_target","_player","_action","_cameraPos","_cameraDir", "_lambda", "_nearestObjects", "_pos", "_virtualPoint", "_wavesAtOrigin", "_wavesAtVirtualPoint"]; _player = ACE_player; _fnc_renderNearbyActions = { @@ -101,14 +101,19 @@ _fnc_renderSelfActions = { // Iterate through base level class actions and render them if appropiate _actionsVarName = format [QGVAR(SelfAct_%1), typeOf _target]; _classActions = missionNamespace getVariable [_actionsVarName, []]; + + _pos = if !(GVAR(useCursorMenu)) then { + _virtualPoint = (((positionCameraToWorld [0, 0, 0]) call EFUNC(common,positionToASL)) vectorAdd GVAR(selfMenuOffset)) call EFUNC(common,ASLToPosition); + _wavesAtOrigin = [(positionCameraToWorld [0, 0, 0])] call EFUNC(common,waveHeightAt); + _wavesAtVirtualPoint = [_virtualPoint] call EFUNC(common,waveHeightAt); + _virtualPoint set [2, ((_virtualPoint select 2) - _wavesAtOrigin + _wavesAtVirtualPoint)]; + _virtualPoint + } else { + [0.5, 0.5] + }; + { _action = _x; - - _pos = if !(GVAR(useCursorMenu)) then { - (((positionCameraToWorld [0, 0, 0]) call EFUNC(common,positionToASL)) vectorAdd GVAR(selfMenuOffset)) call EFUNC(common,ASLToPosition) - } else { - [0.5, 0.5] - }; [_target, _action, _pos] call FUNC(renderBaseMenu); } forEach _classActions; }; From 1227d6e3fb56b23bc186be96256ce7ada912474d Mon Sep 17 00:00:00 2001 From: Dharma Bellamkonda Date: Tue, 12 May 2015 18:28:18 -0600 Subject: [PATCH 201/217] Create missing documentation placeholders Creates placeholder documentation for modules which did not previously have any. If a module had the same name and apparent purpose as a module from AGM, AGM's documentation was imported into the placeholder. These documentation are useful to users for explaining what ACE3 changes. They are also useful to community admins who want to create a custom distribution of ACE3 and need to know which modules to disable. The documentation needs to be significantly fleshed out before it's ready for public consumption, but this should be a helpful start. --- documentation/feature/advanced_ballistics.md | 18 +++++++++++ documentation/feature/ai.md | 27 ++++++++++++++++ documentation/feature/aircraft.md | 25 +++++++++++++++ documentation/feature/apl.md | 18 +++++++++++ documentation/feature/atragmx.md | 18 +++++++++++ documentation/feature/attach.md | 18 +++++++++++ documentation/feature/backpacks.md | 16 ++++++++++ documentation/feature/ballistics.md | 28 ++++++++++++++++ documentation/feature/captives.md | 20 ++++++++++++ documentation/feature/difficulties.md | 16 ++++++++++ documentation/feature/disarming.md | 18 +++++++++++ documentation/feature/disposable.md | 16 ++++++++++ documentation/feature/dragging.md | 18 +++++++++++ documentation/feature/explosives.md | 20 ++++++++++++ documentation/feature/fcs.md | 21 ++++++++++++ documentation/feature/flashsuppressors.md | 18 +++++++++++ documentation/feature/frag.md | 18 +++++++++++ documentation/feature/gforces.md | 18 +++++++++++ documentation/feature/goggles.md | 18 +++++++++++ documentation/feature/grenades.md | 20 ++++++++++++ documentation/feature/hearing.md | 19 +++++++++++ documentation/feature/hitreactions.md | 18 +++++++++++ documentation/feature/interact_menu.md | 18 +++++++++++ documentation/feature/interaction.md | 18 +++++++++++ documentation/feature/inventory.md | 16 ++++++++++ documentation/feature/javelin.md | 17 +++++++--- documentation/feature/kestrel4500.md | 18 +++++++++++ documentation/feature/laser.md | 18 +++++++++++ documentation/feature/laser_selfdesignate.md | 18 +++++++++++ documentation/feature/laserpointer.md | 18 +++++++++++ documentation/feature/logistics_uavbattery.md | 18 +++++++++++ documentation/feature/logistics_wirecutter.md | 18 +++++++++++ documentation/feature/magazinerepack.md | 18 +++++++++++ documentation/feature/map.md | 18 +++++++++++ documentation/feature/maptools.md | 18 +++++++++++ documentation/feature/markers.md | 16 ++++++++++ documentation/feature/microdagr.md | 18 +++++++++++ documentation/feature/missileguidance.md | 18 +++++++++++ documentation/feature/missionmodules.md | 18 +++++++++++ documentation/feature/mk6mortar.md | 18 +++++++++++ documentation/feature/movement.md | 24 ++++++++++++++ documentation/feature/nametags.md | 16 ++++++++++ documentation/feature/nightvision.md | 23 +++++++++++++ documentation/feature/noidle.md | 18 +++++++++++ documentation/feature/noradio.md | 17 ++++++++++ documentation/feature/norearm.md | 18 +++++++++++ documentation/feature/optics.md | 18 +++++++++++ documentation/feature/optionsmenu.md | 18 +++++++++++ documentation/feature/ovepressure.md | 18 +++++++++++ documentation/feature/overheating.md | 27 ++++++++++++++++ documentation/feature/parachute.md | 22 +++++++++++++ documentation/feature/protection.md | 18 +++++++++++ documentation/feature/ragdolls.md | 16 ++++++++++ documentation/feature/realisticnames.md | 17 ++++++++++ documentation/feature/recoil.md | 20 ++++++++++++ documentation/feature/reload.md | 16 ++++++++++ documentation/feature/reloadlaunchers.md | 19 +++++++++++ documentation/feature/respawn.md | 20 ++++++++++++ documentation/feature/safemode.md | 16 ++++++++++ documentation/feature/scopes.md | 16 ++++++++++ documentation/feature/smallarms.md | 20 ++++++++++++ documentation/feature/switchunits.md | 18 +++++++++++ documentation/feature/testmissions.md | 18 +++++++++++ documentation/feature/thermals.md | 16 ++++++++++ documentation/feature/vector.md | 16 ++++++++++ documentation/feature/vehiclelock.md | 18 +++++++++++ documentation/feature/vehicles.md | 32 +++++++++++++++++++ documentation/feature/weaponselect.md | 24 ++++++++++++++ documentation/feature/weather.md | 18 +++++++++++ documentation/feature/windeflection.md | 16 ++++++++++ 70 files changed, 1313 insertions(+), 5 deletions(-) create mode 100644 documentation/feature/advanced_ballistics.md create mode 100644 documentation/feature/ai.md create mode 100644 documentation/feature/aircraft.md create mode 100644 documentation/feature/apl.md create mode 100644 documentation/feature/atragmx.md create mode 100644 documentation/feature/attach.md create mode 100644 documentation/feature/backpacks.md create mode 100644 documentation/feature/ballistics.md create mode 100644 documentation/feature/captives.md create mode 100644 documentation/feature/difficulties.md create mode 100644 documentation/feature/disarming.md create mode 100644 documentation/feature/disposable.md create mode 100644 documentation/feature/dragging.md create mode 100644 documentation/feature/explosives.md create mode 100644 documentation/feature/fcs.md create mode 100644 documentation/feature/flashsuppressors.md create mode 100644 documentation/feature/frag.md create mode 100644 documentation/feature/gforces.md create mode 100644 documentation/feature/goggles.md create mode 100644 documentation/feature/grenades.md create mode 100644 documentation/feature/hearing.md create mode 100644 documentation/feature/hitreactions.md create mode 100644 documentation/feature/interact_menu.md create mode 100644 documentation/feature/interaction.md create mode 100644 documentation/feature/inventory.md create mode 100644 documentation/feature/kestrel4500.md create mode 100644 documentation/feature/laser.md create mode 100644 documentation/feature/laser_selfdesignate.md create mode 100644 documentation/feature/laserpointer.md create mode 100644 documentation/feature/logistics_uavbattery.md create mode 100644 documentation/feature/logistics_wirecutter.md create mode 100644 documentation/feature/magazinerepack.md create mode 100644 documentation/feature/map.md create mode 100644 documentation/feature/maptools.md create mode 100644 documentation/feature/markers.md create mode 100644 documentation/feature/microdagr.md create mode 100644 documentation/feature/missileguidance.md create mode 100644 documentation/feature/missionmodules.md create mode 100644 documentation/feature/mk6mortar.md create mode 100644 documentation/feature/movement.md create mode 100644 documentation/feature/nametags.md create mode 100644 documentation/feature/nightvision.md create mode 100644 documentation/feature/noidle.md create mode 100644 documentation/feature/noradio.md create mode 100644 documentation/feature/norearm.md create mode 100644 documentation/feature/optics.md create mode 100644 documentation/feature/optionsmenu.md create mode 100644 documentation/feature/ovepressure.md create mode 100644 documentation/feature/overheating.md create mode 100644 documentation/feature/parachute.md create mode 100644 documentation/feature/protection.md create mode 100644 documentation/feature/ragdolls.md create mode 100644 documentation/feature/realisticnames.md create mode 100644 documentation/feature/recoil.md create mode 100644 documentation/feature/reload.md create mode 100644 documentation/feature/reloadlaunchers.md create mode 100644 documentation/feature/respawn.md create mode 100644 documentation/feature/safemode.md create mode 100644 documentation/feature/scopes.md create mode 100644 documentation/feature/smallarms.md create mode 100644 documentation/feature/switchunits.md create mode 100644 documentation/feature/testmissions.md create mode 100644 documentation/feature/thermals.md create mode 100644 documentation/feature/vector.md create mode 100644 documentation/feature/vehiclelock.md create mode 100644 documentation/feature/vehicles.md create mode 100644 documentation/feature/weaponselect.md create mode 100644 documentation/feature/weather.md create mode 100644 documentation/feature/windeflection.md diff --git a/documentation/feature/advanced_ballistics.md b/documentation/feature/advanced_ballistics.md new file mode 100644 index 0000000000..fd44bb21b9 --- /dev/null +++ b/documentation/feature/advanced_ballistics.md @@ -0,0 +1,18 @@ +--- +layout: wiki +title: Advanced Ballistics +group: feature +parent: wiki +--- +# Overview +## Sub-feature 1 +Short description of sub-feature 1. +## Sub-feature 2 +Short description of sub-feature 2. + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/ai.md b/documentation/feature/ai.md new file mode 100644 index 0000000000..b82192b920 --- /dev/null +++ b/documentation/feature/ai.md @@ -0,0 +1,27 @@ +--- +layout: wiki +title: AI (Artifical Intelligence) +group: feature +order: 5 +parent: wiki +--- + +# Overview +## Adjusted AI skill values +The idea here is to reduce the AI's godlike aiming capabilties while retaining it's high intelligence. The AI should be smart enough to move through a town, but also be 'human' in their reaction time and aim. +Note: All these values can still be adjusted via scripts, these arrays just change what 0 & 1 are for setSkill. +## Firing in burst mode +AIs will now use the automatic mode of their weapons on short distances, instead of always relying on firing single shots in quick succession. +## Longer engagement ranges +The maximum engagement ranges are increased: AI will fire in bursts with variable length on high ranges of 500 - 700 meters, depending on their weapon and optic. +## No deadzones in CQB +Some weapons had minimum engagement ranges. If you were as close as 2 meters to an AAF soldier, he wouldn't open fire, because the AI couldn't find any valid fire mode for their weapon. AGM removes this behaviour mostly notable in CQB by adding a valid firing mode. +## No scripting +All changes of AGM AI are config based to ensure full compatibility with advanced AI modifications like ASR AI. + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/aircraft.md b/documentation/feature/aircraft.md new file mode 100644 index 0000000000..6b99540466 --- /dev/null +++ b/documentation/feature/aircraft.md @@ -0,0 +1,25 @@ +--- +layout: wiki +title: Aircraft +group: feature +order: 5 +parent: wiki +--- +# Overview +## Adjusted flight behaviour +Changes the flight behaviour of various aircraft. +## Various adjustments to A2A, A2G and G2A munitions +- needs documentaion - +## Missile lock warnings +Adds missile-lock warning systems to helicopters and planes based on the various real life capabilities. +## Semi-automatic flare mode +Adds the semi-automatic flare mode known from Arma 2. The key to switch the mode still exists in Arma 3's key settings, but is unused. +### Ejecting from pilot and copilot seats +Pilots and copilots of all helicopters can now eject. +## Laser marker for wildcat +Adds a laser marker to the copilot seat of the Wildcat. +## HUD for AH-9 +Adds a HUD to the AH-9 based on the comanches HUD. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/apl.md b/documentation/feature/apl.md new file mode 100644 index 0000000000..fe69507f32 --- /dev/null +++ b/documentation/feature/apl.md @@ -0,0 +1,18 @@ +--- +layout: wiki +title: APL +group: feature +parent: wiki +--- +# Overview +## Sub-feature 1 +Short description of sub-feature 1. +## Sub-feature 2 +Short description of sub-feature 2. + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/atragmx.md b/documentation/feature/atragmx.md new file mode 100644 index 0000000000..77affe1326 --- /dev/null +++ b/documentation/feature/atragmx.md @@ -0,0 +1,18 @@ +--- +layout: wiki +title: ATragMX +group: feature +parent: wiki +--- +# Overview +## Sub-feature 1 +Short description of sub-feature 1. +## Sub-feature 2 +Short description of sub-feature 2. + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/attach.md b/documentation/feature/attach.md new file mode 100644 index 0000000000..7bf2c400e6 --- /dev/null +++ b/documentation/feature/attach.md @@ -0,0 +1,18 @@ +--- +layout: wiki +title: Attach +group: feature +parent: wiki +--- +# Overview +## Attach items to uniform +Enables player to attach IR grenades and chemlights to themselves. +## IR Strobe +Adds an attachable IR strobe, which is only visible using night vision devices and offers better visibility than IR grenades.re 2. + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/backpacks.md b/documentation/feature/backpacks.md new file mode 100644 index 0000000000..ade414525f --- /dev/null +++ b/documentation/feature/backpacks.md @@ -0,0 +1,16 @@ +--- +layout: wiki +title: Backpacks +group: feature +parent: wiki +--- +# Overview +## Lock backpack +Adds the ability to lock backpacks. Locked backpacks can't be accessed by others. + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/ballistics.md b/documentation/feature/ballistics.md new file mode 100644 index 0000000000..895f1e37ab --- /dev/null +++ b/documentation/feature/ballistics.md @@ -0,0 +1,28 @@ +--- +layout: wiki +title: Ballistics +group: feature +parent: wiki +--- +# Overview +## Realistic rifle ammunition +Changes include adjusted muzzle velocity, air friction and dispersion based on real life values. +## Body armour nerf +Nerfs protection values of vests, CSAT uniforms and various campaign only gear to more realistic levels comparable to Arma 2 levels. +## Realistic silencers and sub-sonic ammunition +Silencers no longer decrease the muzzle velocity and are generally less effective when used with normal ammunition. They now only remove the muzzle blast and flash. To prevent the crack caused by super sonic projectiles, AGM introduces sub sonic ammunition. This is also fully compatible with AI. Sub sonic ammunition is available for the calibers 5.56mm, 6.5mm and 7.62mm. +## Armour piercing ammunition +Armour piercing rounds have higher penetration values against light armoured targets or other obstacles on the battlefield. Their drawback is a slighly decreased man-stopping power. AP rounds are available for the calibers 5.56mm, 6.5mm and 7.62mm. +## IR-Dim tracer ammunition +IR-Dim ammunition is similar to tracer rounds, but their tracers are only visible using night vision devices. +## M118 Long range ammunition +The M14 EBR now uses ammunition with decreased muzzle velocity and air friction to improve precission on long ranges. +## Flash suppressors +Flash suppressors are similar to sound suppressors and prevent the muzzle flash reducing visibilty without decreasing combat effectiveness. Flash suppressors are available for the calibers 5.56mm, 6.5mm, 7.62mm, .45 ACP and 9mm. + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/captives.md b/documentation/feature/captives.md new file mode 100644 index 0000000000..305610cdce --- /dev/null +++ b/documentation/feature/captives.md @@ -0,0 +1,20 @@ +--- +layout: wiki +title: Captives +group: feature +parent: wiki +--- +# Overview +## Take captives +Introduces a captivity system for taking and moving prisoners. +## Load and unload captives into / from vehicles +- needs documentaion - +## Frisk captives +- needs documentaion - + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/difficulties.md b/documentation/feature/difficulties.md new file mode 100644 index 0000000000..626576ee09 --- /dev/null +++ b/documentation/feature/difficulties.md @@ -0,0 +1,16 @@ +--- +layout: wiki +title: Difficulties +group: feature +parent: wiki +--- +# Overview +## Elite mode adjustments +Adjusts the default settings for the hardest difficulty to more closely resemble A2 settings. (No crosshair, stat screen, death messages...) + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/disarming.md b/documentation/feature/disarming.md new file mode 100644 index 0000000000..7b30494adc --- /dev/null +++ b/documentation/feature/disarming.md @@ -0,0 +1,18 @@ +--- +layout: wiki +title: Disarming +group: feature +parent: wiki +--- +# Overview +## Sub-feature 1 +Short description of sub-feature 1. +## Sub-feature 2 +Short description of sub-feature 2. + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/disposable.md b/documentation/feature/disposable.md new file mode 100644 index 0000000000..dd634eb9c1 --- /dev/null +++ b/documentation/feature/disposable.md @@ -0,0 +1,16 @@ +--- +layout: wiki +title: Disposable +group: feature +parent: wiki +--- +# Overview +## NLAW disposable anti tank weapon +Makes the NLAW disposable and provides the tools for other addons to do the same. + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/dragging.md b/documentation/feature/dragging.md new file mode 100644 index 0000000000..28d5c6089f --- /dev/null +++ b/documentation/feature/dragging.md @@ -0,0 +1,18 @@ +--- +layout: wiki +title: Dragging +group: feature +parent: wiki +--- +# Overview +## Sub-feature 1 +Short description of sub-feature 1. +## Sub-feature 2 +Short description of sub-feature 2. + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/explosives.md b/documentation/feature/explosives.md new file mode 100644 index 0000000000..78f09d62bb --- /dev/null +++ b/documentation/feature/explosives.md @@ -0,0 +1,20 @@ +--- +layout: wiki +title: Explosives +group: feature +parent: wiki +--- +# Overview +## Advanced explosives placement +Enables more precise placement of explosives. +## More trigger types +Offers different trigger types, like clackers and dead man switches. +## Attack explosives to vehicles +Enables attaching explosives to vehicles. + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/fcs.md b/documentation/feature/fcs.md new file mode 100644 index 0000000000..4eefe05e5b --- /dev/null +++ b/documentation/feature/fcs.md @@ -0,0 +1,21 @@ +--- +layout: wiki +title: FCS (Fire Control System) +group: feature +parent: wiki +--- +# Overview +## Fire control system +Offers a custom fire control system for tanks and helicopters. It enables engaging stationary and moving targets. +## Manual lasing targets +Changes the default rangefinders, including those in vehicles, to require manual lasing. +## Air burst ammunition +Anti air cannons can now use airburst ammunition. It will explode on the FCS' zeroed in range. + +# Usage +To engage moving targets, place the crosshair on the enemy vehicle and press and hold tab. Follow the moving target with your crosshair for about 2 seconds and release tab. The optic will now be adjusted sideways to ensure a hit. + +To use manual lasing, place the crosshair on the object to range and press and hold tab. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/flashsuppressors.md b/documentation/feature/flashsuppressors.md new file mode 100644 index 0000000000..4217299857 --- /dev/null +++ b/documentation/feature/flashsuppressors.md @@ -0,0 +1,18 @@ +--- +layout: wiki +title: Flash Suppressors +group: feature +parent: wiki +--- +# Overview +## Sub-feature 1 +Short description of sub-feature 1. +## Sub-feature 2 +Short description of sub-feature 2. + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/frag.md b/documentation/feature/frag.md new file mode 100644 index 0000000000..4d30c8d9f9 --- /dev/null +++ b/documentation/feature/frag.md @@ -0,0 +1,18 @@ +--- +layout: wiki +title: Frag +group: feature +parent: wiki +--- +# Overview +## Sub-feature 1 +Short description of sub-feature 1. +## Sub-feature 2 +Short description of sub-feature 2. + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/gforces.md b/documentation/feature/gforces.md new file mode 100644 index 0000000000..73c3b321ed --- /dev/null +++ b/documentation/feature/gforces.md @@ -0,0 +1,18 @@ +--- +layout: wiki +title: G-Forces +group: feature +parent: wiki +--- +# Overview +## Sub-feature 1 +Short description of sub-feature 1. +## Sub-feature 2 +Short description of sub-feature 2. + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/goggles.md b/documentation/feature/goggles.md new file mode 100644 index 0000000000..1d77e342d4 --- /dev/null +++ b/documentation/feature/goggles.md @@ -0,0 +1,18 @@ +--- +layout: wiki +title: Goggles +group: feature +parent: wiki +--- +# Overview +## Visual Effects for eyewear +Adds color tint to sunglasses and other eyewear. Causes raindrops to appear on +the screen in rain. Causes dirt to appear on the screen when dirt is kicked up +nearby (e.g. explsions, rotor wash, bullet impacts). + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/grenades.md b/documentation/feature/grenades.md new file mode 100644 index 0000000000..67918ae77b --- /dev/null +++ b/documentation/feature/grenades.md @@ -0,0 +1,20 @@ +--- +layout: wiki +title: Grenades +group: feature +parent: wiki +--- +# Overview +## Throw modes +Provides different modes for throwing grenades (high throw, precision throw and drop mode). +## Hand flares +Adds throwable hand flares in the colors white, red, green and yellow. Additionally buffs existing flares. +## M84 stun grenade +Adds stun grenade. This will also affect AI. + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/hearing.md b/documentation/feature/hearing.md new file mode 100644 index 0000000000..32d4fce986 --- /dev/null +++ b/documentation/feature/hearing.md @@ -0,0 +1,19 @@ +--- +layout: wiki +title: Hearing +group: feature +parent: wiki +--- +# Overview +## Hearing damage simulation +Introduces hearing damage caused by nearby explosions and large-caliber weapons. +## Earplugs +Adds ear plugs to mitigate that effect. Soldiers with high caliber weapons or +missile launchers will be equipped with those, but remember to put them in. + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/hitreactions.md b/documentation/feature/hitreactions.md new file mode 100644 index 0000000000..c109f10ddd --- /dev/null +++ b/documentation/feature/hitreactions.md @@ -0,0 +1,18 @@ +--- +layout: wiki +title: Hit Reactions +group: feature +parent: wiki +--- +# Overview +## Sub-feature 1 +Short description of sub-feature 1. +## Sub-feature 2 +Short description of sub-feature 2. + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/interact_menu.md b/documentation/feature/interact_menu.md new file mode 100644 index 0000000000..d00ba6f977 --- /dev/null +++ b/documentation/feature/interact_menu.md @@ -0,0 +1,18 @@ +--- +layout: wiki +title: Interact Menu +group: feature +parent: wiki +--- +# Overview +## Sub-feature 1 +Short description of sub-feature 1. +## Sub-feature 2 +Short description of sub-feature 2. + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/interaction.md b/documentation/feature/interaction.md new file mode 100644 index 0000000000..36365342ae --- /dev/null +++ b/documentation/feature/interaction.md @@ -0,0 +1,18 @@ +--- +layout: wiki +title: Interaction +group: feature +parent: wiki +--- +# Overview +## Sub-feature 1 +Short description of sub-feature 1. +## Sub-feature 2 +Short description of sub-feature 2. + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/inventory.md b/documentation/feature/inventory.md new file mode 100644 index 0000000000..8dac5b6644 --- /dev/null +++ b/documentation/feature/inventory.md @@ -0,0 +1,16 @@ +--- +layout: wiki +title: Inventory +group: feature +parent: wiki +--- +# Overview +## Resized inventory UI +Makes the inventory dialog bigger and increases the number of items that can be seen in the list at once. + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/javelin.md b/documentation/feature/javelin.md index b253a25fc9..78102840c1 100644 --- a/documentation/feature/javelin.md +++ b/documentation/feature/javelin.md @@ -1,13 +1,18 @@ --- layout: wiki -title: Javelin/Titan Locking and Firing +title: Javelin group: feature -order: 5 parent: wiki --- +# Overview +## Sub-feature 1 +Short description of sub-feature 1. +## Sub-feature 2 +Short description of sub-feature 2. -## 1. Overview -Blah blah blah +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. Steps to lock titan/Javelin: @@ -17,5 +22,7 @@ Steps to lock titan/Javelin: 4. Hold TAB over a target, it will start beeping and the constraint boxes will appear 5. Once the beeping changes to LOCK tone, and the lock crosshairs appear, click fire without releasing tab - CTRL+TAB is default key to change firemode (configurable as a key) + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/kestrel4500.md b/documentation/feature/kestrel4500.md new file mode 100644 index 0000000000..0c6e03d304 --- /dev/null +++ b/documentation/feature/kestrel4500.md @@ -0,0 +1,18 @@ +--- +layout: wiki +title: Kestrel 4500 +group: feature +parent: wiki +--- +# Overview +## Sub-feature 1 +Short description of sub-feature 1. +## Sub-feature 2 +Short description of sub-feature 2. + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/laser.md b/documentation/feature/laser.md new file mode 100644 index 0000000000..6e1de22002 --- /dev/null +++ b/documentation/feature/laser.md @@ -0,0 +1,18 @@ +--- +layout: wiki +title: Laser +group: feature +parent: wiki +--- +# Overview +## Sub-feature 1 +Short description of sub-feature 1. +## Sub-feature 2 +Short description of sub-feature 2. + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/laser_selfdesignate.md b/documentation/feature/laser_selfdesignate.md new file mode 100644 index 0000000000..8405d57c43 --- /dev/null +++ b/documentation/feature/laser_selfdesignate.md @@ -0,0 +1,18 @@ +--- +layout: wiki +title: Laser Self-Designate +group: feature +parent: wiki +--- +# Overview +## Sub-feature 1 +Short description of sub-feature 1. +## Sub-feature 2 +Short description of sub-feature 2. + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/laserpointer.md b/documentation/feature/laserpointer.md new file mode 100644 index 0000000000..c22471e320 --- /dev/null +++ b/documentation/feature/laserpointer.md @@ -0,0 +1,18 @@ +--- +layout: wiki +title: Laser Pointer +group: feature +parent: wiki +--- +# Overview +## Sub-feature 1 +Short description of sub-feature 1. +## Sub-feature 2 +Short description of sub-feature 2. + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/logistics_uavbattery.md b/documentation/feature/logistics_uavbattery.md new file mode 100644 index 0000000000..6cd3bc0b3b --- /dev/null +++ b/documentation/feature/logistics_uavbattery.md @@ -0,0 +1,18 @@ +--- +layout: wiki +title: Logistics - UAV Battery +group: feature +parent: wiki +--- +# Overview +## Sub-feature 1 +Short description of sub-feature 1. +## Sub-feature 2 +Short description of sub-feature 2. + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/logistics_wirecutter.md b/documentation/feature/logistics_wirecutter.md new file mode 100644 index 0000000000..97d684e697 --- /dev/null +++ b/documentation/feature/logistics_wirecutter.md @@ -0,0 +1,18 @@ +--- +layout: wiki +title: Logistics - Wirecutter +group: feature +parent: wiki +--- +# Overview +## Sub-feature 1 +Short description of sub-feature 1. +## Sub-feature 2 +Short description of sub-feature 2. + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/magazinerepack.md b/documentation/feature/magazinerepack.md new file mode 100644 index 0000000000..e9ae26f315 --- /dev/null +++ b/documentation/feature/magazinerepack.md @@ -0,0 +1,18 @@ +--- +layout: wiki +title: Magazine Repack +group: feature +parent: wiki +--- +# Overview +## Repacking magazines +Adds ability to repack magazines of the same type. An optional module provides +options to adjust the repacking time of single rounds and whole magazines to +the mission maker. + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/map.md b/documentation/feature/map.md new file mode 100644 index 0000000000..88a3493d9e --- /dev/null +++ b/documentation/feature/map.md @@ -0,0 +1,18 @@ +--- +layout: wiki +title: Map +group: feature +parent: wiki +--- +# Overview +## Sub-feature 1 +Short description of sub-feature 1. +## Sub-feature 2 +Short description of sub-feature 2. + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/maptools.md b/documentation/feature/maptools.md new file mode 100644 index 0000000000..6814a5c1f5 --- /dev/null +++ b/documentation/feature/maptools.md @@ -0,0 +1,18 @@ +--- +layout: wiki +title: Map Tools +group: feature +parent: wiki +--- +# Overview +## Sub-feature 1 +Short description of sub-feature 1. +## Sub-feature 2 +Short description of sub-feature 2. + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/markers.md b/documentation/feature/markers.md new file mode 100644 index 0000000000..eae1bfe333 --- /dev/null +++ b/documentation/feature/markers.md @@ -0,0 +1,16 @@ +--- +layout: wiki +title: Markers +group: feature +parent: wiki +--- +# Overview +## Improved marker placement +Expands the "Insert Marker" menu and allows to rotate map markers. Shows the currently selected channel to prevent misplacement. + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/microdagr.md b/documentation/feature/microdagr.md new file mode 100644 index 0000000000..a98730c9f4 --- /dev/null +++ b/documentation/feature/microdagr.md @@ -0,0 +1,18 @@ +--- +layout: wiki +title: MicroDAGR +group: feature +parent: wiki +--- +# Overview +## Sub-feature 1 +Short description of sub-feature 1. +## Sub-feature 2 +Short description of sub-feature 2. + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/missileguidance.md b/documentation/feature/missileguidance.md new file mode 100644 index 0000000000..fe5aa792b3 --- /dev/null +++ b/documentation/feature/missileguidance.md @@ -0,0 +1,18 @@ +--- +layout: wiki +title: Missile Guidance +group: feature +parent: wiki +--- +# Overview +## Sub-feature 1 +Short description of sub-feature 1. +## Sub-feature 2 +Short description of sub-feature 2. + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/missionmodules.md b/documentation/feature/missionmodules.md new file mode 100644 index 0000000000..771a5ef290 --- /dev/null +++ b/documentation/feature/missionmodules.md @@ -0,0 +1,18 @@ +--- +layout: wiki +title: Mission Modules +group: feature +parent: wiki +--- +# Overview +## Sub-feature 1 +Short description of sub-feature 1. +## Sub-feature 2 +Short description of sub-feature 2. + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/mk6mortar.md b/documentation/feature/mk6mortar.md new file mode 100644 index 0000000000..af718eedce --- /dev/null +++ b/documentation/feature/mk6mortar.md @@ -0,0 +1,18 @@ +--- +layout: wiki +title: Mk6 Mortar +group: feature +parent: wiki +--- +# Overview +## Sub-feature 1 +Short description of sub-feature 1. +## Sub-feature 2 +Short description of sub-feature 2. + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/movement.md b/documentation/feature/movement.md new file mode 100644 index 0000000000..f1d9d93df9 --- /dev/null +++ b/documentation/feature/movement.md @@ -0,0 +1,24 @@ +--- +layout: wiki +title: Movement +group: feature +parent: wiki +--- +# Overview +## Jumping +Adds the ability to jump when pressing the vault key while moving. (V - key) +## Minor animation tweaks +Walking slowly with the weapon lowered now has a less silly looking animation. +## Fatigue adjustments +Soldiers get fatigued slower, but regain their stamina slower aswell. Fatigued soldiers have a faster walking speed and no longer turn into snails. +## Weight display +Adds a weight of the current loadout display in the inventory to estimate the fatigue gain while moving in combat. Can be adjusted to display lb. instead of kg in the AGM Options Menu. +## Optics view in all stances +The player can now use the sights of rifles and pistols in all prone stances. + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/nametags.md b/documentation/feature/nametags.md new file mode 100644 index 0000000000..10ff3404c0 --- /dev/null +++ b/documentation/feature/nametags.md @@ -0,0 +1,16 @@ +--- +layout: wiki +title: Nametags +group: feature +parent: wiki +--- +# Overview +## Nametag and rank display +Adds nametags and soldier ranks to friendly players in multiplayer. This can be adjusted in the AGM Options Menu to not display the rank, display all nametags of nearby soldiers instead of those who are looked directly at, to require a button press to show the nametags or to disable them altogether. + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/nightvision.md b/documentation/feature/nightvision.md new file mode 100644 index 0000000000..efdc5721c5 --- /dev/null +++ b/documentation/feature/nightvision.md @@ -0,0 +1,23 @@ +--- +layout: wiki +title: Nightvision +group: feature +parent: wiki +--- +# Overview +## Multiple Generation NVGs +Adds different night vision devices with varying image quality and field of +view. New Classnames for Generations 1, 2, and 4 NVGs (default ArmA3 NVGs +represents Generation 3) and a wide view NVG. +## Blending effects +Adds a blending effect depending on ammunition type when firing while using a +night vision device. Especially tracer rounds are bright, but you can use the + IR-dim tracers from AGM_Ballistics to reduce tis effect. +## Brightness adjustment +Enables the user to manually adjust NVG brightness. + +# Usage +Use Alt+PageUp and Alt+PageDown to adjust NVG brightness. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/noidle.md b/documentation/feature/noidle.md new file mode 100644 index 0000000000..aa6657728d --- /dev/null +++ b/documentation/feature/noidle.md @@ -0,0 +1,18 @@ +--- +layout: wiki +title: No Idle +group: feature +parent: wiki +--- +# Overview +## Sub-feature 1 +Short description of sub-feature 1. +## Sub-feature 2 +Short description of sub-feature 2. + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/noradio.md b/documentation/feature/noradio.md new file mode 100644 index 0000000000..f9a832abd0 --- /dev/null +++ b/documentation/feature/noradio.md @@ -0,0 +1,17 @@ +--- +layout: wiki +title: No Radio +group: feature +parent: wiki +--- +# Overview +## Silent avatar +Mutes the player's automatic callouts ("Enemy man, 100 meters, front!"). +Does not mute AI callouts. + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/norearm.md b/documentation/feature/norearm.md new file mode 100644 index 0000000000..7ed7a5c515 --- /dev/null +++ b/documentation/feature/norearm.md @@ -0,0 +1,18 @@ +--- +layout: wiki +title: No Rearm +group: feature +parent: wiki +--- +# Overview +## Sub-feature 1 +Short description of sub-feature 1. +## Sub-feature 2 +Short description of sub-feature 2. + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/optics.md b/documentation/feature/optics.md new file mode 100644 index 0000000000..90b486bc88 --- /dev/null +++ b/documentation/feature/optics.md @@ -0,0 +1,18 @@ +--- +layout: wiki +title: Optics +group: feature +parent: wiki +--- +# Overview +## Sub-feature 1 +Short description of sub-feature 1. +## Sub-feature 2 +Short description of sub-feature 2. + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/optionsmenu.md b/documentation/feature/optionsmenu.md new file mode 100644 index 0000000000..a0c9ad33da --- /dev/null +++ b/documentation/feature/optionsmenu.md @@ -0,0 +1,18 @@ +--- +layout: wiki +title: Options Menu +group: feature +parent: wiki +--- +# Overview +## Sub-feature 1 +Short description of sub-feature 1. +## Sub-feature 2 +Short description of sub-feature 2. + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/ovepressure.md b/documentation/feature/ovepressure.md new file mode 100644 index 0000000000..af8e47ae0c --- /dev/null +++ b/documentation/feature/ovepressure.md @@ -0,0 +1,18 @@ +--- +layout: wiki +title: Overpressure +group: feature +parent: wiki +--- +# Overview +## Sub-feature 1 +Short description of sub-feature 1. +## Sub-feature 2 +Short description of sub-feature 2. + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/overheating.md b/documentation/feature/overheating.md new file mode 100644 index 0000000000..3a10bf9f48 --- /dev/null +++ b/documentation/feature/overheating.md @@ -0,0 +1,27 @@ +--- +layout: wiki +title: Overheating +group: feature +parent: wiki +--- +# Overview +## Weapon Jamming +Adds a propability to jam a weapon when firing. Jams can be cleared by +reloading or by using the clear jam-key. +## Temperature simulation +Introduces weapon temperature simulation depending on weapon and bullet +mass. Hot weapons are more prone to jamming. Depending on weapon type +the accuracy and in extreme cases the muzzle velocity might be reduced +on high temperatues. Adds smoke puff and heat refraction effects to +indicate this. +## Spare barrels +Adds the ability to changes barrels on machine guns to compensate for those +effects. + +# Usage +To clear a jammed weapon, press Shift+R. + +*needs documentation on swapping barrels* + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/parachute.md b/documentation/feature/parachute.md new file mode 100644 index 0000000000..48ad0e9836 --- /dev/null +++ b/documentation/feature/parachute.md @@ -0,0 +1,22 @@ +--- +layout: wiki +title: Parachute +group: feature +parent: wiki +--- +# Overview +## Altimeter +Removes the altitude and descend speed UI elements when free-falling and +parachuting on higher difficulties and instead adds an altimeter watch type +item. +## Non-steerable parachute +Adds a non-steerable parachute variant for jet pilots. +## Landing animation +Smoothens parachute landing animation. + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/protection.md b/documentation/feature/protection.md new file mode 100644 index 0000000000..2eb2a9aaef --- /dev/null +++ b/documentation/feature/protection.md @@ -0,0 +1,18 @@ +--- +layout: wiki +title: Protection +group: feature +parent: wiki +--- +# Overview +## Sub-feature 1 +Short description of sub-feature 1. +## Sub-feature 2 +Short description of sub-feature 2. + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/ragdolls.md b/documentation/feature/ragdolls.md new file mode 100644 index 0000000000..585c6c71a8 --- /dev/null +++ b/documentation/feature/ragdolls.md @@ -0,0 +1,16 @@ +--- +layout: wiki +title: Ragdolls +group: feature +parent: wiki +--- +# Overview +## Adjusted Ragdolls +Changes the ragdolls to react more to the force of shots and explosions. + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/realisticnames.md b/documentation/feature/realisticnames.md new file mode 100644 index 0000000000..64d9a316cb --- /dev/null +++ b/documentation/feature/realisticnames.md @@ -0,0 +1,17 @@ +--- +layout: wiki +title: Realistic Names +group: feature +parent: wiki +--- +# Overview +## Real names +Changes the names of vehicles, magazines, weapons, grenades, explosive charges +and mines to their respective real-world counterparts whenever possible. + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/recoil.md b/documentation/feature/recoil.md new file mode 100644 index 0000000000..919ab24836 --- /dev/null +++ b/documentation/feature/recoil.md @@ -0,0 +1,20 @@ +--- +layout: wiki +title: Recoil +group: feature +parent: wiki +--- +# Overview +## Recoil adjustment +Overhauls the recoil system reducing upwards recoil. +## Advanced cam shake +Introducing camshake when firing on foot or as vehicle gunner depending on stance and weapon type. +## Burst dispersion +Firing in longer burst (> 3 rounds per burst) slightly reduces the accuracy. Firing machine guns in bursts is now useful. + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/reload.md b/documentation/feature/reload.md new file mode 100644 index 0000000000..f791521a63 --- /dev/null +++ b/documentation/feature/reload.md @@ -0,0 +1,16 @@ +--- +layout: wiki +title: Reload +group: feature +parent: wiki +--- +# Overview +## Ammo count +Hides the actual round count of magazines and removes the icon when the current magazine is emptied. The player can instead check the magazine weight, but that gives only estimated values for magazines with more than 10 rounds. + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/reloadlaunchers.md b/documentation/feature/reloadlaunchers.md new file mode 100644 index 0000000000..7b1f26cea1 --- /dev/null +++ b/documentation/feature/reloadlaunchers.md @@ -0,0 +1,19 @@ +--- +layout: wiki +title: Reload Launchers +group: feature +parent: wiki +--- +# Overview +## Sub-feature 1 +Short description of sub-feature 1. +## Sub-feature 2 +Short description of sub-feature 2. + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. +r \ No newline at end of file diff --git a/documentation/feature/respawn.md b/documentation/feature/respawn.md new file mode 100644 index 0000000000..6059f33c59 --- /dev/null +++ b/documentation/feature/respawn.md @@ -0,0 +1,20 @@ +--- +layout: wiki +title: Respawn +group: feature +parent: wiki +--- +# Overview +## Respawn with same gear +Requires the Respawn Gear module to be placed. Respawned soldiers now have their loadout when killed. +## Friendly Fire messages +Shows friendly fire warnings in system chat if the module is placed. Works even in higher difficulties where kill messages are normally disabled. +## Rallypoints +Adds rallypoints to all 3 sides to enable teleportation from base spawn to FOBs. Requires some setup from the mission maker. + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/safemode.md b/documentation/feature/safemode.md new file mode 100644 index 0000000000..ea4f3fe902 --- /dev/null +++ b/documentation/feature/safemode.md @@ -0,0 +1,16 @@ +--- +layout: wiki +title: Safe Mode +group: feature +parent: wiki +--- +# Overview +## Safety +You can now use the safety mode of any weapon. Switching weapon modes takes the safety off. + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/scopes.md b/documentation/feature/scopes.md new file mode 100644 index 0000000000..fb29c7d6e1 --- /dev/null +++ b/documentation/feature/scopes.md @@ -0,0 +1,16 @@ +--- +layout: wiki +title: Scopes +group: feature +parent: wiki +--- +# Overview +## Sniper Scope Adjustment +Enables snipers to adjust their scopes horizontally and vertically in mils. + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/smallarms.md b/documentation/feature/smallarms.md new file mode 100644 index 0000000000..11e68d4373 --- /dev/null +++ b/documentation/feature/smallarms.md @@ -0,0 +1,20 @@ +--- +layout: wiki +title: Small Arms +group: feature +parent: wiki +--- +# Overview +## Magazine Names +Unifies the name formatting of magazines similar to Arma 2 standards. +## No tracers in non-tracer mags +Assault rifles no longer have tracer rounds in their non-tracer magazines. This doesn't effect the additional tracers in the last rounds of machine gun magazines. +## Real magazine round counts +All pistol and sub machine gun magazines now have adjusted capacaties to match their real life counterparts. + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/switchunits.md b/documentation/feature/switchunits.md new file mode 100644 index 0000000000..71ace0e055 --- /dev/null +++ b/documentation/feature/switchunits.md @@ -0,0 +1,18 @@ +--- +layout: wiki +title: Switch Units +group: feature +parent: wiki +--- +# Overview +## Sub-feature 1 +Short description of sub-feature 1. +## Sub-feature 2 +Short description of sub-feature 2. + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/testmissions.md b/documentation/feature/testmissions.md new file mode 100644 index 0000000000..7d7ac52af8 --- /dev/null +++ b/documentation/feature/testmissions.md @@ -0,0 +1,18 @@ +--- +layout: wiki +title: Test Missions +group: feature +parent: wiki +--- +# Overview +## Sub-feature 1 +Short description of sub-feature 1. +## Sub-feature 2 +Short description of sub-feature 2. + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/thermals.md b/documentation/feature/thermals.md new file mode 100644 index 0000000000..12f79a311b --- /dev/null +++ b/documentation/feature/thermals.md @@ -0,0 +1,16 @@ +--- +layout: wiki +title: Thermals +group: feature +parent: wiki +--- +# Overview +## Body Warmth +Adjusts the thermal properties of humans making them less like torches. + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/vector.md b/documentation/feature/vector.md new file mode 100644 index 0000000000..277f5eb524 --- /dev/null +++ b/documentation/feature/vector.md @@ -0,0 +1,16 @@ +--- +layout: wiki +title: Vector +group: feature +parent: wiki +--- +# Overview +## Vector IV Rangefinder +Adds the Vector IV rangefinder, including all real-life usage modes (distance between two points, angle between two points etc.) + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/vehiclelock.md b/documentation/feature/vehiclelock.md new file mode 100644 index 0000000000..239661d153 --- /dev/null +++ b/documentation/feature/vehiclelock.md @@ -0,0 +1,18 @@ +--- +layout: wiki +title: Vehicle Lock +group: feature +parent: wiki +--- +# Overview +## Sub-feature 1 +Short description of sub-feature 1. +## Sub-feature 2 +Short description of sub-feature 2. + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/vehicles.md b/documentation/feature/vehicles.md new file mode 100644 index 0000000000..534bb35171 --- /dev/null +++ b/documentation/feature/vehicles.md @@ -0,0 +1,32 @@ +--- +layout: wiki +title: Vehicles +group: feature +parent: wiki +--- +# Overview +## Speedlimiter +Adds ability to limit the max. speed of any vehicle. +## Engine start delay +The engine has to be started before the vehicle can move. Starting the engine takes aprox. 1 to 2 seconds. +## Fuel capacity +The range of all vehicle gets signifigantly reduced to reflect ranges of their real life counterparts. Scaled down to match the relative short distances in Arma. A full vehicle on mission start should still most likely never need a refueling during a mission. +## Main gun muzzles +APCs and Tanks now share a muzzle for all ammunition types of their main guns. This prevents an exploit that skips the reloading time of a round or clip while changing the ammunition type. Also makes it possible to switch between ammunition types using the scroll wheel like in Arma 2. +## Boat machine gun tracers +NATO and AAF armed boats now use their respective tracer colours like any vehicle when they fire their rear gun. (Red for BluFor, yellow for Indep) +## Improved smoke launcher of Fennek (Strider) +Reduced smoke shell count and launch angle of the AAF Fennek to match the models smoke launcher. +## Stabilized optic of Fennek (Strider) +Stabilizes the commander's view in the Fennek (Strider). +## Vehicle mounted machine guns ROF +The rate of fire of vehicle mounted miniguns and machine guns is adjusted to match real life values. +## 120mm gun and mortar behavior +MBT main guns and mortars can no longer lock on enemies. The AT rounds of both now have raised cost values to encourage the AI to not use those rounds against foot soldiers over their machine guns or HE rounds. + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/weaponselect.md b/documentation/feature/weaponselect.md new file mode 100644 index 0000000000..232f0221d5 --- /dev/null +++ b/documentation/feature/weaponselect.md @@ -0,0 +1,24 @@ +--- +layout: wiki +title: Weapon Select +group: feature +parent: wiki +--- +# Overview +## Weapon select +The number key can be used to quickly switch between weapons. (1 key - pistol, 2 key - rifle, 3 key - grenade launcher, 4 key - rocket launcher, 5 key - binocular) +Holster weapon +Adds the ability to holster a weapon on the back. (0 key) +Engine select +Quickly turn engine on and off (1 key - turn off, 2 key - turn on) +Weapon select +Quickly switch between vehicle weapons (1-3 key) +Grenade select +To prevent accidents a grenade has to be selected before it can be thrown. Toggles between explosive and non-explosive grenades. When spamming the throw key, the player won't automatically switch to frag grenades when all smokes are used up. Also shows an indicator to quickly see how many grenades are left when selecting and after throwing (6 key - switch between frag grenades, 7 key - switch between other grenades) + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/weather.md b/documentation/feature/weather.md new file mode 100644 index 0000000000..2cbeea5e7e --- /dev/null +++ b/documentation/feature/weather.md @@ -0,0 +1,18 @@ +--- +layout: wiki +title: Weather +group: feature +parent: wiki +--- +# Overview +## Sub-feature 1 +Short description of sub-feature 1. +## Sub-feature 2 +Short description of sub-feature 2. + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/windeflection.md b/documentation/feature/windeflection.md new file mode 100644 index 0000000000..7bca0b0f60 --- /dev/null +++ b/documentation/feature/windeflection.md @@ -0,0 +1,16 @@ +--- +layout: wiki +title: Wind Deflection +group: feature +parent: wiki +--- +# Overview +## Wind Deflection +Adds ballistic influences of wind, air density and temperature + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. From 7c1875b624d2cdbfe41a061006a7d47fd1145374 Mon Sep 17 00:00:00 2001 From: Dharma Bellamkonda Date: Tue, 12 May 2015 18:31:03 -0600 Subject: [PATCH 202/217] add name to authors.txt --- AUTHORS.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/AUTHORS.txt b/AUTHORS.txt index 862cb23413..9a6b836bea 100644 --- a/AUTHORS.txt +++ b/AUTHORS.txt @@ -94,3 +94,4 @@ Bla1337 nikolauska adam3adam Professor +Dharma Bellamkonda From b27d7eafa41e6871476242a90d775de2d35ff7c5 Mon Sep 17 00:00:00 2001 From: Dharma Bellamkonda Date: Tue, 12 May 2015 20:18:03 -0600 Subject: [PATCH 203/217] Fix headers in weapon select doc --- documentation/feature/weaponselect.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/documentation/feature/weaponselect.md b/documentation/feature/weaponselect.md index 232f0221d5..872e27cad0 100644 --- a/documentation/feature/weaponselect.md +++ b/documentation/feature/weaponselect.md @@ -7,13 +7,13 @@ parent: wiki # Overview ## Weapon select The number key can be used to quickly switch between weapons. (1 key - pistol, 2 key - rifle, 3 key - grenade launcher, 4 key - rocket launcher, 5 key - binocular) -Holster weapon +## Holster weapon Adds the ability to holster a weapon on the back. (0 key) -Engine select +## Engine select Quickly turn engine on and off (1 key - turn off, 2 key - turn on) -Weapon select +## Weapon select Quickly switch between vehicle weapons (1-3 key) -Grenade select +## Grenade select To prevent accidents a grenade has to be selected before it can be thrown. Toggles between explosive and non-explosive grenades. When spamming the throw key, the player won't automatically switch to frag grenades when all smokes are used up. Also shows an indicator to quickly see how many grenades are left when selecting and after throwing (6 key - switch between frag grenades, 7 key - switch between other grenades) # Usage From 3978445837cf613c91fef61029e22f003157ab5a Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Tue, 12 May 2015 23:01:59 -0500 Subject: [PATCH 204/217] Draggin Privates --- addons/dragging/functions/fnc_setCarryable.sqf | 3 ++- addons/dragging/functions/fnc_setDraggable.sqf | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/addons/dragging/functions/fnc_setCarryable.sqf b/addons/dragging/functions/fnc_setCarryable.sqf index bc6da1f04d..2a10ca4897 100644 --- a/addons/dragging/functions/fnc_setCarryable.sqf +++ b/addons/dragging/functions/fnc_setCarryable.sqf @@ -14,7 +14,8 @@ */ #include "script_component.hpp" -private ["_object", "_enableCarry", "_position", "_direction"]; +private ["_carryAction", "_dropAction", "_object", "_enableCarry", "_position", "_direction"]; +//IGNORE_PRIVATE_WARNING("_player", "_target"); _this resize 4; diff --git a/addons/dragging/functions/fnc_setDraggable.sqf b/addons/dragging/functions/fnc_setDraggable.sqf index da2d0310b4..5a42f4e439 100644 --- a/addons/dragging/functions/fnc_setDraggable.sqf +++ b/addons/dragging/functions/fnc_setDraggable.sqf @@ -14,7 +14,8 @@ */ #include "script_component.hpp" -private ["_object", "_enableDrag", "_position", "_direction"]; +private ["_dragAction", "_dropAction", "_object", "_enableDrag", "_position", "_direction"]; +//IGNORE_PRIVATE_WARNING("_player", "_target"); _this resize 4; From 4185874a9abeacddc8df7a1854831e8ba1d1c5bf Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Tue, 12 May 2015 23:19:31 -0500 Subject: [PATCH 205/217] Frag Privates --- addons/frag/functions/fnc_doSpall.sqf | 7 ++----- addons/frag/functions/fnc_frago.sqf | 7 +------ 2 files changed, 3 insertions(+), 11 deletions(-) diff --git a/addons/frag/functions/fnc_doSpall.sqf b/addons/frag/functions/fnc_doSpall.sqf index 990fb80f8d..d2e64dbbfb 100644 --- a/addons/frag/functions/fnc_doSpall.sqf +++ b/addons/frag/functions/fnc_doSpall.sqf @@ -4,11 +4,8 @@ GVAR(traceFrags) = true; #endif // ACE_player sideChat "WAAAAAAAAAAAAAAAAAAAAA"; -private ["_params", "_initialData", "_hpData", "_roundType", "_round", "_object", "_caliber", "_explosive", - "_idh", "_alive", "_exit", "_vm", "_velocity", "_unitDir", "_oldVelocity", "_curVelocity", "_diff", "_polar", - "_pos", "_spallPos", "_i", "_pos1", "_pos2", "_blah", "_data", "_spallPolar", "_c", "_warn", "_m", "_k", - "_gC", "_shellType", "_fragPower", "_spread", "_spallCount", "_elev", "_dir", "_vel", "_spallFragVect", - "_fragment", "_index", "_hitData", "_fragTypes", "_fragType", "_foundObjects"]; + +private ["_params", "_hitData", "_initialData", "_hpData", "_object", "_foundObjects", "_index", "_foundObjecsts", "_roundType", "_round", "_caliber", "_explosive", "_idh", "_alive", "_exit", "_vm", "_velocity", "_oldVelocity", "_curVelocity", "_diff", "_polar", "_unitDir", "_spallPos", "_pos1", "_i", "_pos2", "_blah", "_data", "_spallPolar", "_warn", "_c", "_m", "_k", "_gC", "_fragPower", "_fragTypes", "_spread", "_spallCount", "_elev", "_dir", "_vel", "_spallFragVect", "_fragType", "_fragment", "_pos"]; _params = _this select 0; [(_this select 1)] call cba_fnc_removePerFrameHandler; diff --git a/addons/frag/functions/fnc_frago.sqf b/addons/frag/functions/fnc_frago.sqf index de7c6986d9..43eb9d5a67 100644 --- a/addons/frag/functions/fnc_frago.sqf +++ b/addons/frag/functions/fnc_frago.sqf @@ -9,13 +9,8 @@ if(!isServer) exitWith { }; // _startTime = diag_tickTime; -private ["_round", "_lastPos", "_lastVel", "_shellType", "_gun", "_fragTypes", "_warn", "_atlPos", "_isArmed", - "_fuseDist", "_indirectHitRange", "_fragRange", "_c", "_m", "_k", "_gC", "_fragPower", "_fragPowerRandom", - "_manObjects", "_objects", "_crew", "_fragCount", "_fragArcs", "_doRandom", "_target", "_boundingBox", - "_targetPos", "_distance", "_add", "_bbX", "_bbY", "_bbZ", "_cubic", "_targetVel", "_baseVec", "_dir", - "_currentCount", "_count", "_vecVar", "_i", "_vec", "_fp", "_vel", "_fragType", "_fragObj", "_randomCount", - "_sectorSize", "_sectorOffset", "_randomDir", "_endTime"]; +private ["_startTime", "_round", "_lastPos", "_lastVel", "_shellType", "_gun", "_fragTypes", "_warn", "_atlPos", "_isArmed", "_fuseDist", "_indirectHitRange", "_fragRange", "_c", "_m", "_k", "_gC", "_fragPower", "_fragPowerRandom", "_manObjects", "_objects", "_crew", "_fragCount", "_fragArcs", "_doRandom", "_boundingBox", "_targetPos", "_distance", "_add", "_bbX", "_bbY", "_bbZ", "_cubic", "_targetVel", "_baseVec", "_dir", "_currentCount", "_count", "_vecVar", "_vec", "_fp", "_vel", "_fragType", "_fragObj", "_randomCount", "_sectorSize", "_sectorOffset", "_i", "_randomDir", "_endTime", "_target"]; _round = _this select 0; _lastPos = _this select 1; From a4d0af4b679e171ba4d63ec2f657c688dca52ccb Mon Sep 17 00:00:00 2001 From: Glowbal Date: Wed, 13 May 2015 15:55:03 +0200 Subject: [PATCH 206/217] Fix medical vehicle return value Could fix #1142 --- addons/medical/functions/fnc_isMedicalVehicle.sqf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/medical/functions/fnc_isMedicalVehicle.sqf b/addons/medical/functions/fnc_isMedicalVehicle.sqf index 5635700fe0..5e9283852f 100644 --- a/addons/medical/functions/fnc_isMedicalVehicle.sqf +++ b/addons/medical/functions/fnc_isMedicalVehicle.sqf @@ -15,4 +15,4 @@ private ["_vehicle"]; _vehicle = _this select 0; -_vehicle getVariable [QGVAR(medicClass), getNumber (configFile >> "CfgVehicles" >> typeOf _vehicle >> "attendant") == 1] +(_vehicle getVariable [QGVAR(medicClass), getNumber (configFile >> "CfgVehicles" >> typeOf _vehicle >> "attendant")]) > 0 From fb1c27bdc589feeb9d24826b7cb6d2f94563cb38 Mon Sep 17 00:00:00 2001 From: Dharma Bellamkonda Date: Wed, 13 May 2015 12:28:11 -0600 Subject: [PATCH 207/217] Remove outdated references to AGM in documentation --- documentation/feature/ai.md | 4 ++-- documentation/feature/ballistics.md | 2 +- documentation/feature/movement.md | 2 +- documentation/feature/nametags.md | 2 +- documentation/feature/nightvision.md | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/documentation/feature/ai.md b/documentation/feature/ai.md index b82192b920..13cde310fb 100644 --- a/documentation/feature/ai.md +++ b/documentation/feature/ai.md @@ -15,9 +15,9 @@ AIs will now use the automatic mode of their weapons on short distances, instead ## Longer engagement ranges The maximum engagement ranges are increased: AI will fire in bursts with variable length on high ranges of 500 - 700 meters, depending on their weapon and optic. ## No deadzones in CQB -Some weapons had minimum engagement ranges. If you were as close as 2 meters to an AAF soldier, he wouldn't open fire, because the AI couldn't find any valid fire mode for their weapon. AGM removes this behaviour mostly notable in CQB by adding a valid firing mode. +Some weapons had minimum engagement ranges. If you were as close as 2 meters to an AAF soldier, he wouldn't open fire, because the AI couldn't find any valid fire mode for their weapon. ACE removes this behaviour mostly notable in CQB by adding a valid firing mode. ## No scripting -All changes of AGM AI are config based to ensure full compatibility with advanced AI modifications like ASR AI. +All AI changes are config based to ensure full compatibility with advanced AI modifications like ASR AI. # Usage Short overview of how to use the feature, e.g. menu options, key bindings, diff --git a/documentation/feature/ballistics.md b/documentation/feature/ballistics.md index 895f1e37ab..3168389859 100644 --- a/documentation/feature/ballistics.md +++ b/documentation/feature/ballistics.md @@ -10,7 +10,7 @@ Changes include adjusted muzzle velocity, air friction and dispersion based on r ## Body armour nerf Nerfs protection values of vests, CSAT uniforms and various campaign only gear to more realistic levels comparable to Arma 2 levels. ## Realistic silencers and sub-sonic ammunition -Silencers no longer decrease the muzzle velocity and are generally less effective when used with normal ammunition. They now only remove the muzzle blast and flash. To prevent the crack caused by super sonic projectiles, AGM introduces sub sonic ammunition. This is also fully compatible with AI. Sub sonic ammunition is available for the calibers 5.56mm, 6.5mm and 7.62mm. +Silencers no longer decrease the muzzle velocity and are generally less effective when used with normal ammunition. They now only remove the muzzle blast and flash. To prevent the crack caused by super sonic projectiles, ACE introduces sub sonic ammunition. This is also fully compatible with AI. Sub sonic ammunition is available for the calibers 5.56mm, 6.5mm and 7.62mm. ## Armour piercing ammunition Armour piercing rounds have higher penetration values against light armoured targets or other obstacles on the battlefield. Their drawback is a slighly decreased man-stopping power. AP rounds are available for the calibers 5.56mm, 6.5mm and 7.62mm. ## IR-Dim tracer ammunition diff --git a/documentation/feature/movement.md b/documentation/feature/movement.md index f1d9d93df9..3b98e43cc7 100644 --- a/documentation/feature/movement.md +++ b/documentation/feature/movement.md @@ -12,7 +12,7 @@ Walking slowly with the weapon lowered now has a less silly looking animation. ## Fatigue adjustments Soldiers get fatigued slower, but regain their stamina slower aswell. Fatigued soldiers have a faster walking speed and no longer turn into snails. ## Weight display -Adds a weight of the current loadout display in the inventory to estimate the fatigue gain while moving in combat. Can be adjusted to display lb. instead of kg in the AGM Options Menu. +Adds a weight of the current loadout display in the inventory to estimate the fatigue gain while moving in combat. Can be adjusted to display lb. instead of kg in the ACE Options Menu. ## Optics view in all stances The player can now use the sights of rifles and pistols in all prone stances. diff --git a/documentation/feature/nametags.md b/documentation/feature/nametags.md index 10ff3404c0..0086060d87 100644 --- a/documentation/feature/nametags.md +++ b/documentation/feature/nametags.md @@ -6,7 +6,7 @@ parent: wiki --- # Overview ## Nametag and rank display -Adds nametags and soldier ranks to friendly players in multiplayer. This can be adjusted in the AGM Options Menu to not display the rank, display all nametags of nearby soldiers instead of those who are looked directly at, to require a button press to show the nametags or to disable them altogether. +Adds nametags and soldier ranks to friendly players in multiplayer. This can be adjusted in the ACE Options Menu to not display the rank, display all nametags of nearby soldiers instead of those who are looked directly at, to require a button press to show the nametags or to disable them altogether. # Usage Short overview of how to use the feature, e.g. menu options, key bindings, diff --git a/documentation/feature/nightvision.md b/documentation/feature/nightvision.md index efdc5721c5..64442b7311 100644 --- a/documentation/feature/nightvision.md +++ b/documentation/feature/nightvision.md @@ -12,7 +12,7 @@ represents Generation 3) and a wide view NVG. ## Blending effects Adds a blending effect depending on ammunition type when firing while using a night vision device. Especially tracer rounds are bright, but you can use the - IR-dim tracers from AGM_Ballistics to reduce tis effect. + IR-dim tracers from the Ballistics module to reduce tis effect. ## Brightness adjustment Enables the user to manually adjust NVG brightness. From a57ea7dc79e6ea516cf8fd73d66ca16bc98cc50f Mon Sep 17 00:00:00 2001 From: jaynus Date: Wed, 13 May 2015 12:18:40 -0700 Subject: [PATCH 208/217] Changed: Enabled ace_javelin to the RHS javelin optionals compat pbo. --- optionals/compat_rhs_usf3/CfgWeapons.hpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/optionals/compat_rhs_usf3/CfgWeapons.hpp b/optionals/compat_rhs_usf3/CfgWeapons.hpp index 72ea2db1e7..75cf369d75 100644 --- a/optionals/compat_rhs_usf3/CfgWeapons.hpp +++ b/optionals/compat_rhs_usf3/CfgWeapons.hpp @@ -83,4 +83,14 @@ class CfgWeapons ACE_ScopeAdjust_Horizontal[] = { -6, 6 }; ACE_ScopeAdjust_Increment = 0.1; }; + + class rhs_weap_fgm148 : launch_O_Titan_F { + ace_javelin_enabled = 1; + weaponInfoType = "ACE_RscOptics_javelin"; + modelOptics = "\z\ace\addons\javeline\data\reticle_titan.p3d"; + + canLock = 0; + lockingTargetSound[] = {"",0,1}; + lockedTargetSound[] = {"",0,1}; + }; }; \ No newline at end of file From 021d277b123cef12e65a83940765871c834193d4 Mon Sep 17 00:00:00 2001 From: jaynus Date: Wed, 13 May 2015 12:19:00 -0700 Subject: [PATCH 209/217] Added class. --- optionals/compat_rhs_usf3/CfgWeapons.hpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/optionals/compat_rhs_usf3/CfgWeapons.hpp b/optionals/compat_rhs_usf3/CfgWeapons.hpp index 75cf369d75..f4ad30c912 100644 --- a/optionals/compat_rhs_usf3/CfgWeapons.hpp +++ b/optionals/compat_rhs_usf3/CfgWeapons.hpp @@ -4,6 +4,8 @@ class CfgWeapons class Pistol_Base_F; class Rifle_Base_F; class srifle_EBR_F; + class launch_O_Titan_F; + class rhs_weap_XM2010_Base_F: Rifle_Base_F { ACE_barrelTwist=254.0; From 8de611d559a2c47172a42c4fbdd784baf378d2c9 Mon Sep 17 00:00:00 2001 From: Alessandro Foresi Date: Wed, 13 May 2015 23:20:33 +0200 Subject: [PATCH 210/217] Fixed: Safe mode Italian translation --- addons/safemode/stringtable.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/safemode/stringtable.xml b/addons/safemode/stringtable.xml index b31b5ab25f..e824f2340c 100644 --- a/addons/safemode/stringtable.xml +++ b/addons/safemode/stringtable.xml @@ -34,7 +34,7 @@ Biztonsági kapcsoló helyretolása Поставить на предохранитель Sécurité mise - Metti la sicura + Sicura inserita Colocar Segurança From 72715dd34dec0e5cfc49e2fd0be937e1d8da09c5 Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Wed, 13 May 2015 17:04:27 -0500 Subject: [PATCH 211/217] Fix RHS_Javelin Comp Path --- optionals/compat_rhs_usf3/CfgWeapons.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/optionals/compat_rhs_usf3/CfgWeapons.hpp b/optionals/compat_rhs_usf3/CfgWeapons.hpp index f4ad30c912..1cceb9a76b 100644 --- a/optionals/compat_rhs_usf3/CfgWeapons.hpp +++ b/optionals/compat_rhs_usf3/CfgWeapons.hpp @@ -89,7 +89,7 @@ class CfgWeapons class rhs_weap_fgm148 : launch_O_Titan_F { ace_javelin_enabled = 1; weaponInfoType = "ACE_RscOptics_javelin"; - modelOptics = "\z\ace\addons\javeline\data\reticle_titan.p3d"; + modelOptics = "\z\ace\addons\javelin\data\reticle_titan.p3d"; canLock = 0; lockingTargetSound[] = {"",0,1}; From 3f8e9476dcd5a41c80e0d0e26e1fb229f6caa512 Mon Sep 17 00:00:00 2001 From: Glowbal Date: Thu, 14 May 2015 10:08:47 +0200 Subject: [PATCH 212/217] Settings documentation --- documentation/framework/settings.md | 85 +++++++++++++++++++++++++++++ 1 file changed, 85 insertions(+) create mode 100644 documentation/framework/settings.md diff --git a/documentation/framework/settings.md b/documentation/framework/settings.md new file mode 100644 index 0000000000..15009f4b18 --- /dev/null +++ b/documentation/framework/settings.md @@ -0,0 +1,85 @@ +--- +layout: wiki +title: Settings Framework +group: framework +order: 5 +parent: wiki +--- + +ACE contains an extensive settings framework that allows you to tweak the modification without having to mess around with deleting pbos. These settings are all handled server side and broadcasted to the clients connecting to that server. This ensures that everyone playing on the server will have a uniform experience. + +Part of this settings framework are global settings and client settings. Both use the same underlaying framework, with the difference that client settings can be adjusted by clients, where global settings can not. + + +## 1. How do they work + +Settings are entries in the config that get translated to `missionnamespace` global variables. An example settings entry looks like this: + +``` + class GVAR(sampleSetting) { + // Value + value = 1; + + // Type (SCALAR, BOOL, STRING, ARRAY, COLOR) + typeName = "SCALAR"; + + // Force the setting? + force = 0; + + // Does it appear on the options menu? + isClientSettable = 1; + + // The following settings only apply when isClientSettable == 1 + // Stringtable entry with the setting name + displayName = "$STR_ACE_Common_SettingName"; + + // Stringtable entry with the setting description + description = "$STR_ACE_Common_SettingDescription"; + + // Stringtable entries that describe the options + // Only applies if typeName == "SCALAR"; and is optional + values[] = {"Disabled", "Enabled", "Only Cursor", "Only On Keypress", "Only Cursor and KeyPress"}; + }; +``` + +Settings are defined from the mods config but can be adjusted through the following methods: +* Optional config entries +* Mission side modules + +## 2. Load order + +The load order for the settings are: +* 1. Mod Config +* 2. Server Config +* 3. Mission config +* 4. Placed down mission modules + +What this means is that at any the 3 points after the mod config it is possible to insert your adjusted settings and force those (optionally). This is a powerful tool for server admins, whom can ensure that everyone is using uniform settings across the board on their server. And it provides mission makers the ability to easily set settings for their mission, without creating a large dependancy on ACE; you do not have to place down mission modules. + +## 3. How do I use them? + +In the 'how do they work' chapter an example of settings was shown. This is the same for any settings config. The only difference is the location. For ACE modules, the settings are placed in the class `ACE_settings`. The same goes for the mission config. + +The server config setting entries are done through our optional ACE_server.pbo, which can be found in the optionals folder of @ace. It also contains a userconfig folder, which inside contains the file ace\serverconfig.hpp. This is the location ACE settings are placed. There is no need for a sub class. + +### 3.1 Getting all the settings! + +ACE contains a lot of settings; to tweak everything to your liking manually therefor can be quite a task. We have provided the option to export all settings in single player. For this, follow these simple steps: + +* Open the editor. +* Under modules (f7), find ACE, `Config Export [ACE]`. +* Place down the module, ensure that the allow parameter is set to yes. +* Press preview, once in game, press Esc and open the ACE Options dialog (top left) +* This is the dialog where you can modify client side settings. On the bottom left of it, you will now see a button called 'Config Export'. Press it and a new dialog opens. +* You are now in the dialog that allows you to adjust all settings from ACE. Tweak this to your liking. +* Once you are done tweaking, press the 'Export' button and all settings will be copied to your clipboard. +* Paste the settings in your serverconfig.hpp file and done. + +Note that the format copied to your clipboard by this can also be used in the mission config, as long as they are in the class `ACE_Settings`. + +### 3.2 Loading up the serverconfig + +As stated before, the serverconfig gets loaded through the optional ACE_server.pbo. This pbo is only required (and should only be used on) the server - clients do not need to have this! It is for this reason we have not signed this pbo. + +Load the ACE_server.pbo like any other addon you do on your server. Advised is to create an @aceServer mod folder and load that through `-serverMod=@aceServer`. + From d2f05827a19e7179f597abff8a0db1a657c0e462 Mon Sep 17 00:00:00 2001 From: Glowbal Date: Thu, 14 May 2015 10:11:02 +0200 Subject: [PATCH 213/217] removed GVAR --- documentation/framework/settings.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/framework/settings.md b/documentation/framework/settings.md index 15009f4b18..3106cb2254 100644 --- a/documentation/framework/settings.md +++ b/documentation/framework/settings.md @@ -16,7 +16,7 @@ Part of this settings framework are global settings and client settings. Both us Settings are entries in the config that get translated to `missionnamespace` global variables. An example settings entry looks like this: ``` - class GVAR(sampleSetting) { + class ACE_module_sampleSetting { // Value value = 1; From ddbf274c89b99bd27e90255cb8f620a7c7532f16 Mon Sep 17 00:00:00 2001 From: ulteq Date: Thu, 14 May 2015 11:23:44 +0200 Subject: [PATCH 214/217] ace_ballistics README.md update --- addons/ballistics/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/ballistics/README.md b/addons/ballistics/README.md index 2bf158cebc..ac727f83c6 100644 --- a/addons/ballistics/README.md +++ b/addons/ballistics/README.md @@ -1,12 +1,12 @@ ace_ballistics ============== -Changes to weapon and ammunition values. - +Changes to weapon, magazine and ammunition values. ## Maintainers The people responsible for merging changes to this component or answering potential questions. +- [Ruthberg] (http://github.com/Ulteq) - [KoffeinFlummi](https://github.com/KoffeinFlummi) - [commy2](https://github.com/commy2) From 7fcaa5bbcf5756c4f09e8a7d4b67d640299294fd Mon Sep 17 00:00:00 2001 From: ulteq Date: Thu, 14 May 2015 12:52:48 +0200 Subject: [PATCH 215/217] Fixed 'input parsing' corrupting 'relative click memory' --- addons/atragmx/functions/fnc_parse_input.sqf | 30 -------------------- 1 file changed, 30 deletions(-) diff --git a/addons/atragmx/functions/fnc_parse_input.sqf b/addons/atragmx/functions/fnc_parse_input.sqf index 2534c2a319..31f38f63c9 100644 --- a/addons/atragmx/functions/fnc_parse_input.sqf +++ b/addons/atragmx/functions/fnc_parse_input.sqf @@ -95,36 +95,6 @@ if (missionNamespace getVariable [QEGVAR(advanced_ballistics,enabled), false]) t GVAR(workingMemory) set [1, _muzzleVelocity]; GVAR(workingMemory) set [2, _zeroRange]; -private ["_elevationCur", "_windageCur", "_clickSize", "_clickNumber", "_clickInterval"]; -_elevationCur = GVAR(workingMemory) select 10; -_windageCur = GVAR(workingMemory) select 11; - -switch (GVAR(currentScopeUnit)) do { - case 0: { - _elevationCur = _elevationCur * 3.38; - _windageCur = _windageCur * 3.38; - }; - case 2: { - _elevationCur = _elevationCur / 1.047; - _windageCur = _windageCur / 1.047; - }; - case 3: { - switch (GVAR(workingMemory) select 7) do { - case 0: { _clickSize = 1; }; - case 1: { _clickSize = 1 / 1.047; }; - case 2: { _clickSize = 3.38; }; - }; - _clickNumber = GVAR(workingMemory) select 8; - _clickInterval = _clickSize / _clickNumber; - - _elevationCur = Round(_elevationCur / _clickInterval); - _windageCur = Round(_windageCur / _clickInterval); - }; -}; - -GVAR(workingMemory) set [10, _elevationCur]; -GVAR(workingMemory) set [11, _windageCur]; - [] call FUNC(update_gun); [] call FUNC(update_gun_ammo_data); [] call FUNC(update_atmosphere); From 43c5afac5531f392bfd0e3218b6c55ec0396e9ce Mon Sep 17 00:00:00 2001 From: Ivan Navarro Cabello Date: Thu, 14 May 2015 14:32:35 +0200 Subject: [PATCH 216/217] fixed some spanish translation I fixed some spanish translation. --- addons/medical/stringtable.xml | 4 ++-- addons/microdagr/stringtable.xml | 4 ++-- addons/missileguidance/stringtable.xml | 4 ++-- addons/nametags/stringtable.xml | 4 ++-- addons/safemode/stringtable.xml | 6 +++--- 5 files changed, 11 insertions(+), 11 deletions(-) diff --git a/addons/medical/stringtable.xml b/addons/medical/stringtable.xml index 215d9ae766..0925d409a2 100644 --- a/addons/medical/stringtable.xml +++ b/addons/medical/stringtable.xml @@ -1144,7 +1144,7 @@ Saline IV (1000ml) Физраствор для в/в вливания (1000 мл) - Solución Salina IV (1000ml) + Salino IV (1000ml) Solution saline 0.9% IV (1000ml) Sól fizjologiczna IV (1000ml) Kochsalzlösung (1000ml) @@ -2702,4 +2702,4 @@ Togliendo il laccio emostatico ... - + \ No newline at end of file diff --git a/addons/microdagr/stringtable.xml b/addons/microdagr/stringtable.xml index af2b303f2b..e6392467bb 100644 --- a/addons/microdagr/stringtable.xml +++ b/addons/microdagr/stringtable.xml @@ -220,7 +220,7 @@ SetWP WP setzen - Establecer PR + Fijar PR Установить МТ Nastavit WP UstawPT @@ -302,4 +302,4 @@ Fechar MicroDAGR - + \ No newline at end of file diff --git a/addons/missileguidance/stringtable.xml b/addons/missileguidance/stringtable.xml index dcb2be486c..f983288a07 100644 --- a/addons/missileguidance/stringtable.xml +++ b/addons/missileguidance/stringtable.xml @@ -18,7 +18,7 @@ Zaawansowane namierzanie rakiet, lub ZNR, dostarcza wiele poprawek do systemu namierzania rakiet oraz dodaje nowe tryby strzału. Jest to wymagana opcja dla broni rakietowych. Guida dei missili avanzata, o AMG, offre diversi miglioramenti alla teleguida di missili. E' anche un sistema necessario per i tipi di armi missile. Продвинутое наведение ракет, или ПНР, обеспечивает множество усовершествований для наведения и стрельбы ракет. Также, это система, необходимая для всех ракетных типов оружия. - Guiado Avanzado de Misiles, o AMG en sus siglas en inglés, ofrece múltiples mejoras en el fijado y disparo de misiles. Es también un sistema requerido para armas de tipo misil. + El guiado avanzado de misiles, o AMG en sus siglas en inglés, ofrece múltiples mejoras en el fijado y disparo de misiles. Es también un sistema requerido para armas de tipo misil. Das Erweiterte Raketenlenksystem, auch ERls genannt, bietet viele Verbesserungen zum Aufschalten und Feuern mittels gelenkten Raketen. Le guidage avancé de missile, ou AMG en anglais, apporte de multiple améliorations au verouillage et au tir de missiles. C'est aussi un framework requis pour tout arme de type missile. A fejlett rakétairányító (vagy AMG) többféle módosítást tartalmaz a rakéták célkövetéséhez és tüzeléséhez. Ez egy szükséges keresztrendszer a rakéta-alapú fegyverekhez. @@ -98,4 +98,4 @@ Управляемая ракета лазерного наведения Hellfire II AGM-114K - + \ No newline at end of file diff --git a/addons/nametags/stringtable.xml b/addons/nametags/stringtable.xml index 8daae5cd5d..fb7a005a00 100644 --- a/addons/nametags/stringtable.xml +++ b/addons/nametags/stringtable.xml @@ -88,7 +88,7 @@ Show SoundWaves (requires player names) Schallwellen anzeigen (benötigt Spielernamen) - Mostrar onda sonora (requiere Mostrar nombres de jugadores) + Mostrar onda sonora (requiere Mostrar nombres de jugadores) Индикатор разговора (при вкл. именах) Zobrazit SoundWaves (vyžaduje jména hráčů) Pokaż fale dźwiękowe (wymagana opcja Pokaż imiona graczy) @@ -110,4 +110,4 @@ Cor padrão do nome (unidades fora do grupo) - + \ No newline at end of file diff --git a/addons/safemode/stringtable.xml b/addons/safemode/stringtable.xml index e824f2340c..80097580cd 100644 --- a/addons/safemode/stringtable.xml +++ b/addons/safemode/stringtable.xml @@ -4,7 +4,7 @@ Safe Mode Waffe sichern - Seguro puesto + Poner seguro Bezpiecznik Pojistka Biztonságos mód @@ -28,7 +28,7 @@ Put on Safety Waffe gesichert - Poner seguro + Seguro puesto Zabezpieczono broń Přepnout pojistku Biztonsági kapcsoló helyretolása @@ -50,4 +50,4 @@ Tirou Segurança - + \ No newline at end of file From ca1ff8382ca4e83997f0feb0d412fbef68388e56 Mon Sep 17 00:00:00 2001 From: Grzegorz Date: Thu, 14 May 2015 14:33:33 +0200 Subject: [PATCH 217/217] Tabs fixed --- addons/nametags/config.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/nametags/config.cpp b/addons/nametags/config.cpp index 7a0086bfb6..b14873779c 100644 --- a/addons/nametags/config.cpp +++ b/addons/nametags/config.cpp @@ -27,7 +27,7 @@ class ACE_Settings { typeName = "SCALAR"; isClientSettable = 1; displayName = "$STR_ACE_NameTags_ShowPlayerNames"; - description = "$STR_ACE_NameTags_ShowPlayerNames_Desc"; + description = "$STR_ACE_NameTags_ShowPlayerNames_Desc"; values[] = {"$STR_ACE_Common_Disabled", "$STR_ACE_Common_Enabled", "$STR_ACE_Common_OnlyCursor", "$STR_ACE_Common_OnlyOnKeypress", "$STR_ACE_Common_OnlyCursorAndKeyPress"}; }; class GVAR(showPlayerRanks) { @@ -58,7 +58,7 @@ class ACE_Settings { typeName = "SCALAR"; isClientSettable = 1; displayName = "$STR_ACE_NameTags_ShowSoundWaves"; - description = "$STR_ACE_NameTags_ShowSoundWaves_Desc"; + description = "$STR_ACE_NameTags_ShowSoundWaves_Desc"; values[] = {"$STR_ACE_Common_Disabled", "$STR_ACE_Common_NameTagSettings", "$STR_ACE_Common_AlwaysShowAll"}; }; class GVAR(PlayerNamesViewDistance) {

N?ALv$D{& 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 Z&jR}_u+IYfEU?c4`z)}}0)LAI{vYVgXJr5Y literal 788480 zcmeFa2UL{H(k?s$BaDbLC@KmnDn<+_s3-=40~kz1AtZyFyo2cUML#N2zOJX(*M_bj#{|~_11H~D$8sBeo;Qe zU++o{qJlMaKcep7@1Bsa%GsK~scC<8qgWU24%YnL6Y^8j-fmEzft3BLk$A{OqSj)m zXyeoRUgdY9FRAOCGqWpo5C~?3gRQFl|NK#R)dq*Tn z-18jZ*ak?kd4tk<2lQL-J*o#PfKBH#I=6TPj#A`ZZ;$G}7XTOB(dF9CAYK{(gzGo( z?l%Uaat&0+hNIeZ0!j}bqO`dvN(0VKw0G%HL$l{>0x-YLI%)|>R?$q2<4~PQLI|Ep)0>|*7=-jUWx^!xc zKGysIaU0sDYC(W<1ZvLt)c}B^S0S%)3lP`mgzmlod3{d;d`$sD-3+3193dsb652O= z4#a9lu$8$D;!m9EIwokVx&oyJFQGx}=>U5UfY*ald&diG?{1(J@DplyQPU;M&~~vh z+IH0gTeK^xU0Xs*|FdALs|Uof8 z12=*A&S8`yykUbSmqA?lCfMpULfb_L&hK>$=1zCe9cl{@dmM<8eE@X(q1vJzO81wb z-&Hiu=2xhWhz9W64q$%@qFR!7NKJ_9X$n!UY`ae4ZlNf}a0!^dLbVosgx)KRqYziv zO17=C0az9X0S!-~ZL1qV&9~@n+D{M{Tn-wgnEi2;suf;_)VKn#jPX^0q;cW@C(6{|sw$|`_%K2ZFAD}cdu0A}1k z+lUJgpRy5b6S%1TKcZ?74GL~Z zE_6_FWzp8p7uZ|$)EhTI{G!?*F{+2QE$cvMv>t8NS3%s6l3g31)cH9|v)%!eS&KfN zH2`lJT2k^FS_#)6v?S+u>r(J8+y=ytCm?Zn1Y%1X;>1X_MW|5iCIj)iwIG&rQX<*_ z%zXtZkDI~}BdEPOZThhX5O=IWJg6AJ<{(tB+LJ^Fl4q7d)l&t;7W$m4{eeiW3$V!* zi0FstXnIG`nQ}snS^!Z~0^(Mo&~G;9?ez_SC~J((;{xbzP6HVA4Qj-2%9O8xt*eVt zlWQoMa#44u_>E7%@v{?%3vxL+^+IVawbxaE*nu-Mp&!~RsL*dy1;(-J1Q6rSf%xtv zbbc%e0`_$P!muJrGaNuS`!2B6OQZCidtu-l2(9J1Qb4w>UW+q1vf%KPg}4} zKa0+5&jYa94n%qC_e}}x8hWmRG)d1elu~U#Jf$`ySNecKn{oYpX%FHsTC!;bs$)68 zdQX8}%PEU41h!~vlzP-bDK-U&lUq3tMs%!&U*zafpl*d}&C zmrrX`3hCOoqS}v3Prd-@VRA$PcRHhws&wlC$536i8S-j*qPpl3 zc%#RmZFp0FV0P4dHV`^oLzPp^O>4*Fs(cdIA5dz#b?Eu%IJIYFGhWJPmBovH*8W12H=s9Oc?Uy!0{Jls!OV z+!esIHo(XkP~)y2=&I05Ej$OIhOJSGyAQqpA`jAWZfJ|WiE86uAiOtX zfP+=A#=Ko0;R`tbhM=|c#F}888Y^nycE@$e!%vjx?w9& zs&W8rH#l28!T)ggxfrZaMTL7gA(M|Jrg*xsl(c*i^k;!YuOl;DoKToR>L zH_%qx5v7;AP+EKzh*z{}pf9R{oR953!1m=;;h-KgZEppwT3Dc3nj^An43bqtz*aj7 zYRo@~(n@a0jqJncIyBgL5X4dsRF(7st*A>oHMAp|~5g$NoeivF*V=OQ-8f|*E0I#U?s#tK8;&fNwNisx) zwos~(d>!(>n*+O}DM}}JSeJVZy3~gNtye>67ekD#!XzNZ*#NlF8egjce5bFg%KL&} zDS&m6AWo$ps=~{Kd?~;HZkIUT1K!Yw-M9h{Zx>XH6~JH)Y=Q?;Nir-2}jTd{PZwLQmaDL z0iM5uPXf_y77$*%DaDhn(jsWTk!wv8^_en`&|Gw;1Ol-i*}BBkff)WG9)Y8|2)CX` zbp#=IJp z2nU;eLsUI$0X!%Jx`+=T>F*A#bwL1oL(&~Z=YD6<<(3hsmP|m^g*U3&{-`$M-tROT z!0aoe#LFOHGkJ|xf^HATo4_NwYcGI{C(+iQV^h+cQeG{$FM-be72sXU&16;))neDt z+iB)4;yCe>=td^fX|?1%uSYmawLb!(%Q);nJWAh3f<#2{-V9P|(zSH^3Szr`0Hf(K zyKoT>qt0t*g5*92-M>4u+EoR;?W}^fi#&TS_eE)Ee;~fThvbHwBQq|?DwUv`VMSnL z?*m(cPGMv@fNPxn_szgt!VJ|dO#oIfrYSiUZM_-uPrdqWCST^4nv-M6>R4M z+`2!DpgN2j%;p5Dmw9s57tppS2y9g!5UU5!!3l^j3}L_W>^ZiE7Wo#)AEJOjY&CPq}^0f^6W&aFR!WPTU~C>d&4 zuLh_#0N@fg*z2*t7TbnC-mu^PJiIRKfPmH9LZMuBi-~YN0??19`@;N�pj2i6C)i zdLrN`5RQzH^i^ zEr4PazdarT23P{?w+Gl}cffmnIzT@L`PJx^cgCXH`3gwJO3=1-5jc*wLpAjQq?m9y zp8Et1uF&?oXqVGV!141g=l20SKm3-NgICKb)Q-j_7UDQ?#w2iLDrxxts*Y<3tcwVfgDp zV}HJg>c>L>riXyN!Bf201@v~)2Vf_?N?U6Blb&JhEVP}o0ry#yWJg0c|h^8jqi zwn9MQER;sw1NJ*J6Mbp`tGSrOTtnN=R4Bew1~735=t5|^Y4aha9-VJIJ(3kun5lEo z<((d=UcH3U4_=&%8P&__S>-$>o1B689!J5uk~()j0}@?cDc-+_rpE#SR@?-MGef^* zMtwd-0InW{l8!SWKr|I>KcgU^IrErhi$JRiGf;iA8Q}R7kQ9so2pa{qI67pD&Jh2B zi+bg0aBL_Kjx)1CGG;G0)E&|0z|On&MBB&B;E14`Yf&9^3pf~^NFW?N&{p9nN;Mc= zuZ;woIY$}$4!qkEq2EyEM(o&jnoH_3&wyEsmTH=!qX|)vca-O4JU7#XVyJfGrRJ*~ zZR&#%Z#WL10VD2(yau_ChJahoKpe?+;K9kAZk$Cy1)g z$!jtRk{gu+C`mRa1~zN9K*^sxdv5Z=(TgigatET?6$WU@aBC+`T$aI!HS-L`IB#LT zXd6h9i42ZM?*Oo&rZta&WOyYgw4Xa~5A$ZTxF(nF0oX?u9x27hmjbR2ENxK!SAg9Vg8NfJjo-t!iU0LoT`s81^)KzS09 zzjXnKGXUsv1RN1BAin5Da0GD0t{e=Gir+yzcL&;9tAOo02PNqYAX1psILnZ3RaX!n zKLu>t$q+TZD>!Ndqis?U=%$as*s9eBvB2prX^+xc9*Yx;0`!`OY9ZS1p)*8vrGwX> z1`u2YU?W44B%V(Dkn3B=17QB1P{?=0R(19%Wb z7^74p1#OiNLi>9>Im^=qbs4hPWn_Mf23yFZtxr#2tq(xx1qR#G8Uc7Smo~XBus5zi zfGvGpU~^QL>Z26J$B5*WAc^L=(7QAc2}Bg;=2Y?qWafmDRRw@*=OH<+9Iy=;DJV`r zjWfKG#TWxj;2!M122!kDfPF@j_>KkQ2_1YRhBNO&ph4-WP;xwDM@wEz8rI;57(egk zbIk}Q=%#E#wVo1)W?YFMd!hQ7*O4-t09NrDG?K^8{i^8WRADG|^b!nlrV09O+6^S- zX!fJqK=+)vzH?kxPv{*x@Xo2=3HEI+z{w4$4rSO_ooO4j8R%aBfEtq-gPa`&@R3)y z35;nfZG>vhbQy)r0ETeAjOM#g*Zn|@-wi33ErHlUyBw|r5XhbEMPpav%hX~XN;^`} zM}!3wuf!uzMjM#ZbYC36QD8oZPZR@C@)h7^6aL%t@ z4AuZ_;eD%a2>`Fk5G61mNa6gxH9>EUxF)YMwmnl5ZL{c*2UiDp*BWg{`MRXf@ebgD z5n2~go;#rWfJ?6^ms$G=DD;_0iB$T7Wm`~H&OvnmgN`b9KzE0yK@36C1b`Wpfmq9s zeGC)Wd$}fyEdz&PJAi6Y=wlO!XR)KIoZq82z;S`Wge|LXCjr{kLA4W4$^KNM98*m- z)`E8`ExB0$b`CwO+erW$&F=03wmEe%{5{=4C*6x`8_q```m3eI(e_Uf0DZo21Q6>) z)BQu!ZRdKCk?tH-3*~F%`h%#hVnAw4w=|PC@aN6Zwu1SbWNw!)Z&01I1-h6qHT2CE zz%w4$!{)#)os9uTDKP}+PAJ99gOuv^!O?+_Idiyw*U^Y)NcWNpxYTnHC-BURq0?W$ zC!9*Fq03YTu4T4@*qaf+(=n)yq=g3Y8R275R2TJtfSx?S-_!BjI)S!vFClLpJ@s>j zLI-G}T5|!aok81fJrK928g>Iv(p>)!UjcS%5Wqm*AjeEVsXD!*m`7G?p0%|(=$6cR zOyU7li#aW?W6*RSz3p^v$$dN#?_37)Iwod%FMt~5?t^&SNK~(J4f!yk>(dc*9k}Fm zxH;dhfntjqB2#5|N1@cr!pBg+LFK{Ax00*MG<1iw=kSU+a% z-}7L;OF!AK3bbb?=aRT=866`h>z%U751@%)= zwWp;a%H%Ng`^m@gBy!9!0d_SbkES{RKez;r@a!2uW4kdt3ge;ltRO&nI`{{hfgRZz zSZ}%v*9p)dg4fc||DaTUKiaCh13Tm?+LY|v_!2k{6#$6l>GGa=y>ho<13zy2t}LZq z0^JgGu+`zI+jAI*S26mxQLhgSMihs02MfmwRw${ z+(-2q&E9~MQn(yA3NfZmpvz4;0&swjDseF&Zr2K+0+Y}eIiYpf(c0?(=Xaobo<~A6 zF6t)TFae?4(RRrcVAW2L1Tz3CO+#d(51~d4p5gH?BY>i-HxKVIvJ&MoNg0d*U$Zf z>Ou;=y9f#;EkvnEae%Yj@n`p8YGpp48-5lXf(a0klI}gyw4#2Y% zyzJq|@BrcGrMH1=a#9(ZR@fDbZW^1PDmxc#T2I65Q(QLQdYWiO()@7zbLwnIP}z8bAM1ng%9xZV6fvXQIq+*(LE@Ca>p z7>XDE2>s+d__i=Q+@={|EJWEd)j60~->%-M);2+xt(eJI@djCNJb0(m#OD~K*5m1C zN`>6lqBNTt6k&vHMJZF*@6Fv{bK%Kp#!LFlL#Rew0JhFoNC~FtmM~zcO4TZItv%tw z+*uFc>Kcd|$E`7d7r@3o;AqeHvLBuR{m;Ut!wZ6>D<8~z-$Gk4-jDWFMq9DtVEbn! z*h*5DJF`LZtOF383IR+z46J=PN`08#8EFlY-h6=i@EpLM(SK!b=g8BLmy&?CyUu8{ zVidl&6RJh%JZgsmbkT>D#^qte_(#Cr+y=IbJSF=!0JdURRAZQ_oW-mDlW@qp>WgaC zNU*(SsRy@4Adkfkd!Xd;y`VGZReJIk059Ga{g?u_Jq$Wyk|fgo|4c>OsJEyNxC&mc zQUGrcg1B-j=<1V1!rRFd-n+Z`gILb@P<#4_#K{0lI4obLc6V||6$(PzMxIe+o1yx; z0>EhAr*Nt|<_DhG&KP z6{YYge$aJFVMlN1xXl^@(TVH1@Bwh_q-$1BgCWK+!?KAMuYLmZuDSsmH3G!%W-glnfajJcr?DERXZcgm^`*P9JO!|nQ#*r`()%#Fe8)RU%P|1m zexR*Z83^d4MAdZ|h(~ot$)pbujj2Y>WK^qgYdoZDKIej}WCQ3N=^0X|11w|bFS&nr z+XL8fDvDhJaSES=;&=w!V?60P0AK}o#gmc%J2yj@u{?luhoRKx8;0-C6!7!*03p1L zK4(65AeU5m8f>y0YeTauWK3cDGwA$wKs1+fPZV>kiL#3&_m9Pi^%?ZFu2A4X|289zU#C0lSVpYMmf<9s4{ zz=_f^$9(KyTjWU)`xXMp=}C}$i7x!e4rs81%eDYB!c}SAoBu%aTY8!;{O+*reTeF7 z0>tL6;E;1x=X3UBT>(yA10vxP1RP*Tk%OV6co|5-WdIwv7_J?Fl-^W)+G>C*Jonr3 z8M-F33%7hgH?bAi_Hx^+8EV{_0->^hK+=X`PbEHp)|?ETdvPOOZj2K*GdnZf z1l5fzfhaW;#A-@8+7seitb)#axnd8n-)|F9{W%T2g)+xeq5=>XxHX!7LYw(iv`wf^ zb$NAD$3vkfHjv!nG1}}HgDmIqIVcfrd*Wd1vo@$k^TyoxJgPxlqTXL1#fTikErBgi z8dwRdo2~-P{0x#+egLYos17^_aCkRJ>N8?A?+-*z#zXVpL(1`S09W)dz!=W&l^_6H z9?Z)bo}bi%_+znXv#N+vS!UiHX{(=(z(z3Lq0e!I&jbjlMuZ%FXg)nCJ(wNw2%Oml z*e5%|yJ!KbH!Fay0o5%P0r2QKumjGZ&5BE}(K66UAEL{1T)Q1Oz@_t{?j`nHVFee(n!C+Q%>$nCgLPp#Po}&_$WVH_ z6S^#V0mM%})IXx59Z?*mVq7%sXw&+3ag?F4M;Zcj zVDh%q2SlNqcn)8&|xmo*Jn@) zECx}_ihy{L2db$gUchXRs35ft@o>p&5q58QvbUDu4 z!v+H&DpW?>O};m39GO0og>Fqj++_>euGc{Ir~oBzGUZr~>tIl8^j4bg|2b!7{Y#KM zW*{=LFvd~D9i=1JK{skH*qjYPY%m&qtS$us5;~N)fnZDJ!O}YbZI9?94ipFP(3-%C z9s_%rfon`M5VGEATh8SCrZOnKUV_pt9upfFIJ{nnwnGyDY#F2qi@>{w>)<+1s}Kg; zbC@4{(|z(DTCBfe-mUId^NZ#z-00EL`ET;m7W2J$7d z996458;G_XRuo?p8#ALmp*Dtf*$%w@7z8FUZ!w%%h}SEDEo_Rmnyl_4NmDNL8%!1J z@rE1A{HYnI@$&>!PmBe}Ek=wEZ(-dlF6g7cAn*>Yg|-UiP#W_Qh^^aETGAh2_7ZSh z`w8BP-0a=v0rX!13zcJx?q34}UOWX!Z(c2{GojnQI@I+k22gN6`VHWqH_%{HnLiz0 z90ERaCC1MOXu*q}%WYsUF9t&YD@p^RfH=#?9H%SbILoCX@OT==XWn)?=-12u;ve#c z(X}8-K|a9NEQFE=os8aSsPW+#=o+7afZ6=s;wFg=?m<9cPZ00n*Y6K^0CA7AP|^%o zYsSFadD{PARM3;@EEU~h&6g;RjsvLg2kb(A`ux5L*s9M()ulW@1>Qd{bCvYG49P~+ z%7Mdbyoxqx34~W!wCxB&mr1+8E8zeOaN7^Kjqw`YK{e3=9Npi6#Dq10IkV7VSu zNBUD8`samo84quQttKbx2WPtGZGcNbkRly|lKEPQYPS`1ZbiX1h1Hb|Fp4~ZLS=Q) zxgAY6A{1>q`D$4}2PMaQX#2Sv0!}h*qh17gUHSWf&ZM)LhHBf}7<3(4WA7OdPl*TJ z9`3x=Zy;qQSE4VYi~{2Uj`7o%U3~vtaSOy{13~9X4jt~4N#B7T{RPzk9)WT?qt|>b zNSp#&4P$Q8o*xoSb_3|nOP6dkuot;V zqS~EFS$ThSK98b~Z3Orb4N=W_QT)bmaK;8;S2Gl!69B9kua=#-vb}l&@sUe(1SRj~ z#jfZY(B0>edW@sANrH(-^4O_OS1^vLgPF`O=+e_j=q(O$&kWcKVt01ligznJn&cs4 zm8d4_TLR^27WE^#VdVgT8I1XlGAIhD1PvB2VGwf|9G#e)S5|`LA?snB>a&5J;Rq?G zj)CMfw?-n9vR1TEkpcjrPa$doPmTB7Q6;$UAMF5%O>Y2$`w;5(4OqntV9$92+-HV9 zf|u5ynII`u6#|x=0K(Y9O53=`1Gyr~Fi`42QOo#U z)d`9p#P!GD1t!KVf%qD$QM$+jd>!BY_H$(qaei00ApcnH8%o(AfZ05y2^E%_Q+)#cbqQ^~VD#T`FF zl+{Z}8OwLDzKpI{^T@i}4s1t10Xv2H@kZs)7R5-*lT-VQmh8F&)e;JTXs)_2ia*Y; z{@ReFHlIU0>!3GNrm3z`EB^>!Js5Z1y9h+nl>n!C)e=31_?PtUAq?Kve1@p@KOyBB zZMxzE5S@5H7H*4@6Ei2`dJvk*sJ)q;{!K7y?;{oi_Csw=KWby;U+CNAdX>58(J^a6}(LTX*jBLG;;+X(4qL4673FgEH!Tfcd%|Oj)ca@M?={Lu&xH zb?E2-*JSTf0CVXC=Qf0>$DyDz*Z|;n3GzB{$$#V3H#{6|_xQ0}B41wxN-ob3aoIlT zVolSv*@Dsv7395OfcA{Oy(l-6k2l(Cen9Cie@hl3MKzf7(T||gNeJCN3mS;u1AER3 z*fW$|D zlDB7LbX1T6$}I%8!VD1iV%%AZTXzM2P}}oE zcs-uo9eLwxLbIDP+c>5px?H6L(3P>2{YHTDJS(P=&Z{!C()>j3JAdVJk7tE=2ukl5 zY=`$lbqlZXkxc;J@(H^$=i@EkvI-1DwfQqtecJ=;9*aJn&jFi=r%)0T3zp_+`?ee% zJs1MIn7vT9{tmRQ<0=_QKkmpl`-3q!1_h(KnzPk{zr%RTOZ8nfsx9|`?fW3m&E%2) z{UfSp_(am2j^gtYfT2TyNEra)x=m3%^$ewl987CI!>oJ*;zox+vc&=YS~AY*G7}_W zd?Scp5>Uk@-+*DBbr~SKGnBl|v$g>rck6LIADazeI}cbRI=pw&P)cN^pk$i4+981D zN743>&b(Vs5LaTnn9K=SE5gM5bxr- zP?mOiOEYcdwf?*v*ixuVyS@Nk?9xL7#Fs7r>nR|C(>R>YBjqvL-m^DrUKIx4fxPzf zAVAKnL2@YQ&hu=n%S3!i1IU|0l7Tl4Cur3`hi3U0>{(>u#i6!;*S=fdY`&D z_=5NtAB*jo6nn#6v6Q#y2Nyt>7z182hS)Z%fC#vP>gJm0cOi3C)41O>e$9i=NrMWa z?LMQ7qcRAPe8t%0ok2260JiCDlq`+`Y~m``T?_Dq6R?u$&-G!@ETiFSviOi(# zVgP=Ezk`gq4n#l#+NSe%+>r}u1s%YFq2P5DP!$*nUa5oXB>^OhI|JL98$xe75H;yH z1UiNKT((mNqB@Z)dm@j(S~T_tPHoFsD4pi^d%&gaoeEx)O`z*N6V<9y0iF#7$1A1- z`_sBx=`qXILiJWdlnO0H$+A5VcIROBNd8W)q$#Rhc|H6Z3Q=`y?fr42ZkFfRZrwoT)iGXE9i z)sIHM>q%0cvvBk&2I$uT*c%1_s!ynX;ivZvyMUw~&EAcXZ<9cPdmQSq8^DIresX@8 zFi{VP58r^8X$WxfIS}*sC4v(j-oE)LZNCXoB|?Dx$q3*MFJcldqyUBxQ#ymB0z=sH z^lM}2!(RDfsJm!`os$5zy#R+1@30~LKsWh3=;UKTGEEn4qsyXthi6{fRahJIilePK zlbK1xTJ1q8jsawQp0%%eF!v#F(+8+Pb-nniTKp6Q{A4CIk^9_x9S{dZK&+#&b=hSJ zTH`X0jvf0!H=a9wH*ete!cg7LID0K`vv)Za%NTqC6; z-QbNZ1;iS6RBLi4pG`njhk;h@bZ=o+8P`|+g4_P+VEWH!|ZBB zrp$Dvqgs=J$VE3)O>RLy&-EZ~W&==wNzJHD*k zp>sP%g-%C-w+lm!1C&zv9)#*02BHT0{XP$LS82KnM^PP`3c5ZFT}tqWIv04@yl2#` zPsjMq9Fj-rLQ2diux&huwp-t+&|8p9?2D4(JxZe#5OA^uN)Ft=0~o7(P($9BZs7gE zqpcZ%m=0zBQV2EWkFs4yL*8>{l$=;iX0pG`KWM8v6K!pH6L~%m0^V#vsa9nG5l?$x zxpxYl9wio=E}6?t)_~QyUYQ zHQ34%YdzB!EG?LWyoi&4R6p2>N^@_l+aDy=zF|bm`D?803?W+g z2k}EbB_DJE?@4aDHe1nFn>U9}J5YVdAnS)cK=pWV4C@3inbW<06-51DEPs#BfUgGt zY~ZI{3;5`BmI36qTVM-#fVLo>IG;E+L+%A#8rF_?=aoIs=HrLzT@LyM&rnk)bZ>S< zb@>ZatMKyZN5#!Q0mMH8B8hnrb6fDLZlGG28|U#y3~MZZ2YG|bwl{AgDw^a#Ab`vt zpceCWEBV%Ys~SiK^737eE7qG+>%d)>v<@Wg+0kc9AZ}QKPI?ibLO2j58MhY<25}p2 zfGBRnrH=qS=-_woLNsbFgtqVlUEL4}IDQL=Xbw8I9mJQUd-b4dKklJzC_f^SUPfu; zVzliYj?zCo=r@jp05AHhja*GTRscKw4aAq%127E%LP667%K>c1p>4q~=sbbHCU3`# z>$;i%NqigIbsyO7?b#bUpUZ^bvcAApB*y_J5C@M3Vh5jZ4+fyxfKPcrOs#F9rfx@} zWJTsD53;QwUvK=FagAa^Qm+=k?hW9b$-7JGK`1rnENtTrD8ub?n<>$iymMaSNjI09 zWHQ5wN>xGk`WdPxxniBipzU@5N;SfO2;%_v2vDfdHXs&QL90UC>`9J5EaX+N%r}5B zTpJ(XLdqe=aAjox20ZRI+<-#g=)S)726o0Yu*DPr=)V#irKx?{PpF#l2t0leZB7KE z8Cu<>x~U8ePBRPEmA>S3Bt%&c16wEh4Vj3%C(%|t1av1E2!Gx&wCeIaU(d_; zJsyz0ysVUEVrG9RsvFtn%rHKjw+T1CeTw*LvEdxhb!ZN{?(flN*%lg984tu1(m67$ z_2J=PaUt4v@MD07JbNzi$4HWlb45uO4)DGi`uIY>>*Wj(LwU^^Pu}NMx^W<|M@s@+c@3eP z6af49y}(IkoyTv6c;x+YP%VLKn){`geF&$(>mq^%=a^OdOj{jdzxoVz3R4&7duX%g zncTqY9k7OubHpF#Z3TZnqZ zL3=U%G@5tp*W9{p6ct0CXt)>}`0@?t#%+LkKhWmR8_*^0lyyA28_;>^tb_QYEzx$e z9@@&EL-jomO&dRyVtCOxR3D&eEPA{79ReEcL2uUf>)|{i;&p|hgak24s zU_G5s)t`=PgI5s0nsn7@Iv34SxdwUFnM8=@lA5v{*e4u$7!N+_IDkPM^g@np*hpaO z8v=Mza{N)0#_~Yh5QOT6H_&Po-TDhUg`T`E>g)pc+Cx-_&?yXI0J)nd(|KzDBpUq= zrNJICz4${HVBmaod1e(#GA`gcbRI4FC{ ztIH_p5#_z7ro%i@4d;?d;5Sb__@EF>$(IGR&G$id=~N&NcSot|LWn=acNfi1P3O}4 zRPq6+&h;{k{|3Yny0m1TN1ES%m>U9dkIut@)7{$zqMRq9I_VV@syqR0->0GUnuhga zy8JNL?rE+`9XW_=@dp8G7^$x61yOgnd**T)+c2N~k?*?28P#uPY+E`G0yZ9ow3>FEyk@8t;YqTAraMUOI~{<4DqP;d^cKFHs$|Bdd?nt4Hm2K+g3=kRyH#L{vH=CdNxh z4oo(+3HSE#)$0^8N%ejg|N5&=+XWYrz2DNK|E7K@Y#ad4U3k__+j)+mDIH}Z{3k>x z9Zgt>%<*qj;-5B7LrYjtI!gH`lPXl4U2M*J-SF)AoOPkOr6efaUwkI;i`r;b)M&MO z>O@OJkzeg5A}BVhYKU7!`)H$?dw}p%O_-=w3(weP}K>t$BP}Nu&+A-FkPTR{F1tp_Na7)E_10SPk6%qJFVl@3Gih*A$1{6$;A-=Vx z#8YL^KVvba3r_n>`DsI219I)qa`ZEUav7i_DRXs*N?W<;{ zOKmUb-%z8~=(-w>Mp;3dF_nb~50x3zz|<;TOpLe&T{KG;|2GAJQKt5v{df21enu6# zNUcuS>34sH4wh0u$LO#q*wIjMl4uHrBW*MOVb;DIYM=|DaED!mWP)MvhKbn4_R}QT z1(O>LWJPsX&?pnwgf+E)`GFJLiDb$GV^On|8OT(XW@D>rD3@<1r8JDFbbI8~Z8qjU zD=y7mKSSDzjmk9_iDv7&&ItGaYW3CCSL~xYj?FJzfy|(*er7>xzoNngtJv9kApzpx z=5^G8Z^ZuZdI*s)$D|RzFbC$?c{Ow?A*x#t?#qDB0 z$vdM?7vfZY2B=4(d?o26s6o^H&O0MxbIS)3OQ>)LWyADx&S7QLJuyJtG{472u65`j zRYL>u0LN9Sk1HkPbJZaFwaVp|4?6EBMY~iGDa4tcUaKzs!XNO`G`u1Cv-U*^IJ11!10&WJ zl=a;}6MA@VFqvLRW^>LXME;@gCXH3yr3&{Hr971t$SUKjh6Vf$aYAXfzxKq65{p#x zmSa1(f9R_yOwvv`<8rE-%f{ON#q0hn{TuzK{X71?f5W`SFUw>6%W{rCr@4PI{%ODO z|8MPYl&k;0w132Zr~i3NbB_Nn`xmeO?fn0({f%<<|3~|$?Vp0!$x_vgA!>CFjkDno z<%#G1BEO+(3Gg|3jFe<|nmOw^$YV6;P1>Pc$U%tpP}f&o9;sI6a%bIhO42T^y!hw+ zOMb%~{kP4NKd0u}{&V@SKl!)+Aztf095UBWV6u68Z=YOFOwlhzm?X9NRQI03KR&qI z8^xsCg1+E@v(L^B^H)F+t34#XV&QU{pHrRapjHRV@1x3ydj_Id{GVxv1b4$Id8$rY zlpZ+FL^etyh?8`Lh$tZCGNZ%c3VDK7atAv*!O0v>SFQ>Q_mc@uH3IEKlcj=Og(wHd zmX2^i?O_Uuh(G4F_cWxPjEB`r(ZF_vxcA(6h7I&O`(G} zwJ50%)izJ+8aPh&b5w!ASe+zK4_~or112oH2-R-HkV%UKcc~y2JS0MM14G@oz-UR} zcsr55E(`G`6;6ghPBQ<_VFe>ZvNN!j;2%G`+naO?+yh;#4u<9?(Y+k>$*+XqXjmvJ za9o-IUy+AO>W2u|{kH1+9Q3cuauVRY<%P#rB5O&3=x=|783h$hNBGyN2y>N7WBz~Op=bxr>WyiM1C^W6?k|1v4*1!1cx+i zr=WX&65)N4C)Q7hJjFxR3ARNj$OUC-@2mR>HyU#0^=9$~}w!)w$Bzd;4G7`wcE0LX#m> zx6IVM?HvP>h8mLW_9heUeVrk@R>U9d-4mzDAME{Y+~3>#s3ODOR6Wh!_ZDW@yAd_} zKV$FPe`)V2eQB%_8hg*k+umJ4(ojQ^-QHxPz5CJ^XhrzQ7Iezin?`?ELhUVqQggV&=;4stS2#+9h)g-@P9P_LPMSaAmEw38eSiDP0XIOXw)keI#5|`QfM#hUtn*F_JVz<28!rK2vjqtLfA7AOF?be_~eqOTBYNQ^H$?Kddjy zu)dj6?*r}aVw#89^>A6l3B}P$^fboTOE-RqfO!G`Y z{9&Zp@w~`7o?ox0w6(;6`I#y8<1sHv*PeNdh>_#JSV&gw5f{12($)`FlW>viNmbWB z%R=%*(3Wi>b$0vnLR#tz8vT$lGNGFxR-`UgWZ*@y0;^4<;BBrf?Mh#-SwOL>%kX+O z;aIMcPiMqRy*Z#b%2cvZ^N3GpbQlZjd^#ib!(Zu)JNzR<(8xen@RW_x5ej;=^AuuL zJD_;MwsqiA$u$tAW*^1iLiJe#{6=6Fu zx=|jgf}J$;lkLR#_p8!dcPeuCsO0i$u{z zrf@L~K{m_9JjBIR;bIZuVySSc5#mx+;bNWUs9h|Sm^}C_w4@ab(+lS5g&JvvsP4HP zcnwe(ruP#~Y_&Rn!p8;bmmZLVq-_anG;Z8t)kPsn)jY#k>}&i7Ui4LUpn zokj2T;&1htnZ}t#pR^6q3jMShA%(>fwe>kAsK6)ug1D5Z-XhneMyqR}%W82XcPz-#qWXX+Q2Y?w#-Anm}* z8gA&>GR|<3IcWY2%*z2k+Ckc`C#dq=^~Ro+y=$n&TaJP{+LZ(x)nuO*{lP%GHB*zU($-`2Sz+2SIL# z5vcvsV?YETO1%>hsrsi~UW+@g$BlHQvi#-vG{Zu^J9{LpCBl1_MC+QBh@kOb+VBM( zn8ZoL>IA#s!AHsPQKWRzQaNegasRk<)8q5((lgzHQS9eQI`Vk=+Vg)R1 zScn@B??JSl2=r2qsOFY3vFhtsFo2z=)T1T&;%np(f~Q9hh?J>@bpb(Z%NjzIqKzR6 z)(AcD$5N?x1#{BfCPvi*58UYSe;(gy;tS~MBYX{Ug>%uT-Wq*fBp#}^&{V0QLhRWFQN^w_UbLpTI??!Xxe$voqI=@{0>reRKj>j4oPZ}nB2$XFF^DP;}$FR66 z;jBWuC0GSgaXT&ut&O-obW~3R(uF}}u5qOcrM?iR6sH;2QS1FO#-$k#Qv*t|TVD40 z{e1U;4!@XhrTz#ws$a}{x^~+0iZPcIG2jS^+FE78C8S4QnkiSvl4k#mEQnG(H4lFn zpXm?ta)wL_xFJ4A>L0HL|H}Vp{jF?s#`%?(e5CLVhO5;$zXH$Z7N4;;Gp&$W`tABj zL4F>St#txx-h5ngTRitN$~1V6l2)IwS@p^N7{%mOir_C*G|=2Gh1S+t zP8kM@j0|x61WvRz#I*$Y#(ZP6kM%2{O6AR)cTx?~XmNP3t0c!woT-w(JpzBfKTnVP z&HhZle*feC)Y@ZvrakaJmzGXa$Wy$1vV3OnR`5cwmaO@vK(3+*qU5(lQyYo=B{t`i zjD!mzH10ke)f`&-O*{*J zS6+Cn{o*t2mn#?NsdZth&YB}yl4W3ga?8|ATM``Ov38WrrSY2NB5EFz5GQ084ep0{ zei59$Xt1&`nnVa{X*o&b4}z0Qi&AMac&Mf2PmL3Db&{o1!BNX5)v}?+{*ZPx$eT?& zUfGsR|CrbI5nR`Yv<=nhW4B(DZ3hD>?Po#`l@y$ywK~_bXY}SML4!)?3wvr?yKCm`{5aoW@e3EnWC^ zE0VXC+UD))&6e6`b8Yj2^k#Eyvx&BOe0sCy#*OQewz*Gwv-Um3C9TWW+GZg(?dGn! zFbq2VJ8zI~rCzPFpfr##8dw;|c#=|Nn*claeVvultv3Dr|)?Q(q{es(@URP~^8u_IKxKmho1> zD`2kq!+kXE%WJKHGChs9p6mU*xh6klpWBaH)QU+73jg~WpOEK8$PIU$I@*g+oy?2S`+*oZQ|P*}f#VEC zya_R*nD)7zpKpl#x`*nD4>E=PVo&uAZ!hq;A@0|O+bVT+PAcxA_|Bdg$rxNUQgyMi zbz|`ry~J|1qeHMmozQ#-MZ$R zIAykP;yxfr8RC9lbr}&%woHNcn>bu8aZmZt+B^O`L>52tU!(yJ=&+0v~0Ro$f{43)%2Je2VJxs+(zNmAzE-D=Zw($+{s-f;*q-5U z^BUhkjIS$lTj}GgovXKBjnAq@YGObYIvAFo!!FuVwOZ+=O*qB1ZNc~!C9CN*WvzWY zey5-CHeIh}h=^c?Pjac)ub{W;AUdH@ay>-nwNcV~_6`{tkI@EJQ>#DW9Mi}dk}fBY zCj_m2Q-7yl$Vio-7vlZLHF^h@$fEtHn*Uz=T;@x=PlsmFFZca5WZe3YFpHx?{j65u;PB6wc{uxFTwvw*Zi4=0|o6*5*exX#Se0R^V?&ek4PqHNO*> zyZ>RoBhR8Q-!Z9g(|<`{$lO0Pdkq-)1_x|3Je^6cZ6vByYl<~ewCI__eQ%ar+T()houU+r-{Dm-PHPnD1yh?2L6U0 z_E=;s5`Bu4_|?ZhUtxitgYYk!{0;Xx21}zH#Q18l`x)&&ZDF(|BE-;Ljyrrd47fnu zKU)j*kdLNkPk?}r`m7nE-+#R3K84BG@1%C^Le2${q ze1-o(h5K%1V`u9%w(^rSuIaCTnje|sJ94$)Y*L9PP)s_}gn#|?k0s#q$D~Rjt~$q5 zDA`AhDK)imQ)~ZXvs*V6PyIU9ufWu=9sLUkU%=ANTa|>wl0v>XtQG|JSIEOuXAzzW zqS>Ngd02=%3?JZ~2L+yA6!Opz`D)>!hpHFOBmOc593s_Jgt|EVP{r;;4s11k95b^d zb1e9AjJ4*+G5mJ~cH?P2SiU^>%fHGCA8H0pO2&tOw*~iuM$Y(C!b6bn){RKZfO+7j z2Oupjws&3$$I$12jwlHd&LLUD(q1${o z6@`3#-~>z2#9~wQ0w-9A0tyMEE$mYQBvvW>`6w4cI95gA7YCym%P=!dM5y_>L2a5& z?QepwWbx^QR5c98nGkLBiMsm;Vuf5L;CnB*N!k!R)FUNisG}jCV@@MmC;6sLkq<`+ z45%SfD{vraglKk@P1jeA8zn?&Q4^O4D1(&AMS^K`$ZBBb1NKgep2|<1xqv4m4 zg&jiNk^A-!S9#Y(yL+-yeqH-f$`vw4$-_n2zbmOtvNKs?6Z&w?CnZ&pRQkh%)_>?X z{{O<3GoJW=t*-U&tFrocx4hyR{^JDqG`}173usu*f0VDOs!Sa$o)mac1-=yPmWmG~ zTG9WzA$#GkALfJW0{#&JM^k)DtsCNK?h)d?TlEGBAbwY^{Wjas?$dQ#UW>#a{N{# zL}KZo8dXfK=5IrqTbddfi|`MQ<-9ngaRnyV(9l~T8HiZVmOO4%jf{1SWDYVTV<*{r zqsa~yLL@#>cCt{k#5e2KzmTLAh~=R9gwcLv+CQ5h3B`u6!1%*8|7=1D)e0oL?MI~j zvk8(=-t=t3e|g^vv%tQ}@(7!F8A-q_Bj$UT=2uF8_;Jp!ln$$!U4GiX?V&F?)(}K1 z&e(*n$kI9bMY~!mc$y13_!rs~2HBAr_!c-{9diHUPQZKfpVYz+(Ul497=xA9oTw=qY=cg@3-ykEQW%?%}7eZE-Uh-Lk#VU1tB?$mtQ!L<=vWmgaur z<*oYv$om%fsEX_V-DDG1Sl9&uMhF;Twb4Y41TglSdWy*3z8;fL4xyWd_jW#O{l-R z=F$v%T%9S~W5D8M`t2>*F=L&LvC@&%f6@%lXjWg+fZ;g$KmR>tDS;SyNW`HZ`+)j; zw5rs`4`Mry)O?U!vv-avH4=Cs=^fs{4N3SPxN;2c0=+vY0qZbVPLew((Up_z&M~`k z(%d;IuAFpXAAo;=d`uK6AQX^Fj&hVVM>$HGBOfIVp+f}_TJ6g*-9D9%=i#UxNN1Jv zbo_*P`|^@P_snee9vD&~mW&C~g%WmdBqu1h;o8o;32>{=bQtOEN2ZjQL_cY+L@95= zwiw49+Y+UBa2~{HJt7@S-50x`z9zd6@Gaei(;^fk$1zwbDWibWna-ILv{1=dREkXJDx6pln;CU~v?|PIEd6%mOFjPYb|@9SGhhAD=kGJm|Zs3gmO|BbO*#O3=CPQCzbTDlR_3c z;@Dqc-+)NEn&K9U_=W+&3tuB&Wmlmdu?}A)#>n+D>Esd=$36tp}vL zx3D`yWuEu|>K9EA1ns!MK8^?B(K!&(n4wchvv13k?n;ubLf!r4$X#*9m$aTfa@Z~k zv2-18MVfM(0WL^w+5oqoFENch2IEU@(o{pIZrU`*O{g4Z5Vgyaqhh-@lr(iB7y%s$ zVV%=Z3w(Zib`ToW@R~u(9fag|JU`e|2ieUfR=E~pYD%uX_HLyNLF@AB~AG+TOQ1A65cqfvGb&PQ5##maH z4Xv3lEZt$MpFK=lbBU~7m*zNPU?8&Yu(97@vE{Q|wTR7fxhLJQ>2$CII^t0X>4n24 z!Dm$1?N2pWSk5Z5)jQwbb-+uH5tUFMP%6=5Cp3_%RE}#8q zdpP^i{({(MsZ6#XJw3}-$o?0lxc$hn&2K^~E(9X2Q` zF_kBwEV%O%SoL(8IPEZm7}!~`J?Y^j|6(dh*0YLzj|`RVY$+7a!0i+)PNbp~ z=OxpU;V=VJtl>m}kN{ivavEcN!j4^>l%L=lAmy9sytK(xoS@>P@>#N5u_^wQ44gYB zz&-dt@Ow}8H0b{UT^{_-H)dibZL?faZ{M-32&!MbdOiSn1K$HOL#zb9LxT$tHiACx z_0vZ|IO`GD4tR(Sq6(OL#mULBom0{iV(d4QETuDFV@YaX8z8lH0b+3~mbR+F6nk;a z4KWE2tpQ*~e38AZv7S$lu%1t+^?Y)q^*k9fl0+EnPWv2MNhL$X-*K=NWO64 zE>XE~-=lKjHVYT-e$v&(mztzQU;!UR=R_q<$+@sm~`sF z^JnNV&%UNJ*T(L1<)4M&b1aI}*`H!oO%qGWuE*vRWe+(0Q_LpPT!+qN)w`}mz(~)=lRRY9CTDzEDRAx_rQTmT6IzD^9du8*!AQ|3KrJK;ucnm|s{=+48ZeSJL6? zwFHey@H^ID%K6*7^GFGZeEv2y+;>>SbQ*3%GfAJ?Z{Yj=$%WELjAp-*!eW-mjRJ}> ztdNby*5h0lyJWG_qPs(bGtxm!O+`L{4@M6ycvN1p#3M<=njx8DkHEH{mnO|j!t+4b zG+;E5G^vMY+1QUpfV%S(%S@hPnaNXveC3%G(}!ZuQ9^?`D<*WwHkqiWJoR6m2^5-0 zrvdd=-i72X_a)X_=*{`f;+){oQNAyKR=%jv^gW_J_`9*!kcUnJ?&Nov;vGap{= zQuCEFe+c9=v|gqi9ndl6`?5@NRmdoQ?aIMKk9aMYl&2yiU)!SM>K?A#Zd)N~ZuutfVqzBA;B225vvfKE`ZW8%3O{u#{S|(bWjg#Bq zwF1L$v+)Pp@vUUd31jVgJir5po57!=0^AI426-K1ZMXDH>(D)G~K|8Q$^C{eK3#bvI!{CeIX$TT(_~@d9;` zijtR*QHpQTWuj;~%20t8dM%$T*Hy_0g?tDEN!3kOo>t|LLCc@>Pt_%H$+*K5#E$K-zMkA4!} zL?3|ieCjp+$dLxl^g&?yE9mOtX+55Lg$?=l!KPnB2YL{^ub4dqRf8;2(lH9$hxM>3 zc3&}@D}U{#4cAWlWB=pHfzdjjyeg)P?haLt=br^zO*u#a=CQDg5)66ZZ2`pb4A9({~mHK5CG;QN#{NRq6Tim)^v#?X~$S!x6bk6D zfAYn@Kj}5rK7k(KU9rj66{C1pWF+yfc-ZOHIwtVGOp^xS$f~JM>$wYj=WlXv7<_z( z({lNI!F4F7bP#z*^0KnOCM|+W$V0V&JqAXn>K(8znN^eO=I~ zf*}620JA(Y|H_lUcGKWj!N1y|D}?f|7nD?5FC<`?mVIByifb@L6z1|r!}uW0<9(b0 zrg;NKM&VH1NCcruLw|`07zD^#We`-HDS$C8u>5nKkA4J;rhsYOQyI?&wpMILDheLH z>FX(nu8tdGXthTEHi}gx*j|D?CuE4{?m5lUv_zB6%QiD9@I+DBRE*#x@&0~fGOH;rzy55}4& zN#hvQ*`#v}rSPkFdcI8#9eV6zfpL9`tpj!#jz*PrI3tSdMktOT`z0)ul?imu1S)LB zKZ?L+V|ys`7RtO;m3dM4%#Ts#rIfi*l{q(j<|<_NqZ#!R@I{ymIJpAEX7rcg%uGYF|pB~yrKj_h>PAL1gsg?a!}OVg53 zscp`Sy2Z)Pi-dPu0ZUZcZ5@q8F8yevh9B?F#SM)4s1X4y4n&Os;7<^rP>C z{7|1`P^KbJDL@!<;+Y1bF-Qq)n+8RRrhs9CGWHhCf@VJiED0Q=lr+M9B?0ln%6W!! zSeVHff?F2vXb($`Xxn?rUtRe2YW*3)w+B%b&<(U7OEi(XuV5DVQzC2qvWtRwCO};6 zHidK-;_J!VXB1y_8cBoMG$RRx1tq9pk#rHO_sSixxWGep*2i6tdkDZf#hg?H7iJ?| zdFUm@=G|c?ZM0baEB`4hVJU;qV{7?G?7K+KQ0);PbP`gXduHrT4238>o=R$z@NO6I zKKb`Rc+0^XdVqI1TpL5-{V`In2;S9a*P&a)4#gf65v)|f==OJx) zUOd8hZ8kiY>IQ2xOZwxo$$ieA;$*V8& za*58CPP)C)`Ht7w)EE8m!3xT~eoB#+2}TP%svL2?@bbCm{kdijiR z+|#Qbu(5A}`P(S$XC~-64Fo%do{4DNQ3TI3lt+<*<5n-zyjjb?JNHbXB`L_Z&gk{7 z-a{R^JE^ynt5EP)`}f~VU$woZub+faQM-?d_J9KV%Txpcl&R<%6$R}U6x8ISpypr- z>Mv7JTQCLf?uLT)giw$!fP!X#f?oMsAO&5It^XtiInPc}n9&q- zHrT{G;`uX(-_I+tRc-~}#PmpzE)siBhvAgiWinZGR?z%eLI1$jXBogHXP8&0So#A< z!c6IbrT4_Y?T|Nivz=tl(}IV;=O2k=0_qn~QV6Itn!a_QFOoU*SN;R&cJ$*soD!XT z#ws#rKT?T@_iE<$0^V%`-dlp;^+37l0bX5Lc!ysJyuv=Bc}BHAE)V$Y!RN!^5F9gE%eSZpGk+WlN-mL;Arw&*ol4KFU$T+ zQw5Gu+u<1X_6J>v_#W)=Qd6CTqK&e93pN_(Xmw(NJY{hy-Ne1?5O zWHq^p4E!7r$xL{e6dA|~$7S6iA6P0t5j=07#fzT6KvIR|%R$9#1%;>)-YJ1DcdU|{ zfUAK2G?4HXnAU~#u*ZCI;3z`ppnI+T{PVJ-KBs?xehmKrI&rI~@LlXQ*UAEddlPps zWW32$+SK<-GQ9AEPB2b=7xvC!Mec8-TznC{p-`|cek!~~^DJLDJY{57qD6QpyaDaq zex4}j3flV;tElMOgFc=Ry*@q!bltuF5BA-y{?GMsm78ynKAynt_zYAb>*HbWkbv)< zq`uLG{QTjquZfj!V$NvH$}!2Yq^Ngc84egv@*_ZyHeY@;#n%J%ri{k%162j(p;5j| z_-={t-7-z*=r3t3AQK1qWa{C-8Fp|{r{F)?YW|~_{d4@jIkbJQbr+qT<+T|w3E`n> zxl8A`22I2`1_$^!(k!9oR8AHmNd~{iKZGB8Z1J_O9C4_)pER&V7o*{E@}wiaM`5@8 zE~ac?m9+1Hg)cV|iD8$Ji1mIgxD{hL4j*rOu;m`q1X zsRC&rv z)g3<1ENl)TN7SA-Z=fHjnr&F&g;?(cAXYF9|Ci<$mdrQeUdkG8D`N6+C?o3c#Wd<*%iiwy~cq!Y7*4U40E<<%#OxT ztbZkdLu+VPz=B`kpf}Er>kvz?w#D(sKc=<;P?PZozk|x8K*9a#@iId}eg;QgfQ984 zuZmWkQ_Nw|{S1_iZ}ZHV9NU!rpBd+&(5WOdQWMNrbnZq4*nmYkAfiPd-eK7>&K@Ge zHiV$ZLb45+(Kqw3NC5DJv(9Y%;eFWAIi)izeHVUs|K+K~Uwo4Vts(qlIv9q}+{BiW z#0Z#D0Wc9iH>lV$$S{Eahs@7}z{=EZQ^jIFZVQ}`VM1J8WG#OpwM8!-a!ti;m1k|O zQzu~XHS7(YO1C=;V<&VwC~oL&nsD%J{_GtTR9#rP3Kv#Rr3))@`N|>r!pd7NbzycJ zH1?}XnC2s{AF5cmhzu1@JqYNVa4){S{Fx@p8^%Wt0Ah$h(o$%16g&8PkivKHx8XtA z!G9UgV)J1H-y9u`t%Eh#Kq8Zsyia(OG?Z`Mcc?bXB5mCt6Gt0(6c6l_roL_;41RtS z{@obcY-82j`d|QGO~NjC5z9O3-vf_oSO0I&i^O)(3!`A&<{N3-@D#2?dYN`6FVNOX z)Fe&E!GpsUM9LLwbOj=G$D`pzJY}k(E4(uro830tub|Ja-RroRx?ASC?5}`RQF>gH zb<*y@Lx>ox0FveB?^G$l`V9ZB;^#em=b>9v`Gd;N#|bAy z*Y3tNd?{Ae{2=JLX;?mQq}(qd?88U>xuP4G0(7XMRY$fw4cAjCRL%`mLxOjzD{a`~ zpzZ3#{ubb6d>VY7>!Xn-Qvo)BythehJ^>HYv}E$mqD>2xnD+ro-~{e>Joi_%#?g=f zIMn?+CGef-L&Cj$*bgyUL!!TMeN{Eu;FqLe(P=$9d6{s_J56Sj^9v}6b8+yNRFR^R zZF>7C>AT5N5h+!P(#lNBJ4@i^mX5VqwI+5So>C9dnZ9JngbX)IE7K*TTQ|^hc*!-> zrDm5=Do!phlg7Ab;!JGa$ho{$9B9*J;Lr_KgKMlZQ?p_(Nr#S{ab8Sb(&y!542Xxk zrUo~F^Q{7NXnr~PSf`*FPp1C>(*t#*N*J4HkL`85mmKIH)500SW;BTrlI$s z;9+O;PH+lRA6@e^>40J~{iM@jL<2v?h_@trf5jCKXBa(8C^ql&(RvY^kz3#{9MrZ@_(MGDzK7yX3 z4ky`3(qw}reQ74?>mWaSzwtA@_V~`p6JoF{H95_zK}IkCf)iRv^Cg7y;j4g*y;2kH zq0@*4)Ey2PoMa1-&$Ql>^~dCJ`XlKA5?MEqY0ch;V$QeYc|;vozEbvAtlOrw>qz%G z!t5}XlTK86*z*x`8lm_c=Ngjk6y_B4ALx7HF&tb<8vMzF;7i15aQ}pbTl>9ZmCX1n z^o7s-`a(h2+bj`r4Z#R37nj^6#p7hul++8tpZ62mgTB=C$+fYUEHm|vtE#lvMVm>+ z!Fab}m0Q<_g06fRP&(uj7?@B~_(2QL*Zc)WPytm&qIhH+P8mxA@3^BY?&e@~+L@B1TkrJPKEXQOef=Y!tq*s*<>RFKA_ zst@E*)nRbsQPqtv#Wd3hCHcT6;=+nyb4p5I6XLJ$minjB(_OmO$y|c9PUg2ZQ1}DW z?u1Z-OQCeU2tG4~I6#2opZcua%q6jOp)`&L;ObOkE$x3uxk*yW8u*j#rxz@7oEKso zS4(#rBxJBIfW&T4F4)sh<(!H%oaAqZmgHLfB}>OQ=<^k<&OH$Z8u{SjrliLm3!Uia9I z1LuJONT>mIc2Q<1C8Vi^H|WWeX%qZ>m-u8ptpP1oLDiN55P=XgXpEHoTA=c zHHi;EmNYdj71EK@(o{i9V`J>!lfK94$X-EpVfCV>p{bxDPreu%Pc8=r)MUTIIbLHQ zgXaFin|nX7xx>7oQ3K-Hwdo<)asY5!2!A->Amb=pDyXNS^4sPl0Fg^Cq4Jv0; zD&>&g)eH#|Fu)3lQ23OE#)tR~R-?1chSblXS>&Vv^1#dh4ek{I`IG(m)5GS6{KO)k z>er_pbEQLG(GU7W9R<*jGtnC~x~suQ`|b9fy~4oj&g}Dac|**Q1Tm?AILx00M!OOx z`UOi(6m@1aX1p1If6#d|sX)giTWSRVDz2`A^gwnNX=a)<(0NI_a*%tn7w2(Et;%u1 zB(9y`jPJwgI~~>;#1HGJcsx#pWBu&4@gq9AevR{+d0B`&(!v1tsy|SM`QCeFsQvvB z{3PV}>}P%ZJ*&^snmE#tNSEWVd@8a^3r{SoLEe(Fx!u?z_p;*laN9R@m{?px*DA+J z5^)Kt(y(!Y`bb{e+-s-?8|!xfY9me@7|3-;*EvORh=+SCV)0?$=wsMdc_Cl!Q~N`5 z+usa1c=_dru=WWE7t;DCAC5)xO??JBzIh7YgRFo&o?1JMP+!ThN?*6j=k-P@x1wAV zd@G8MAE|>LNz;PwqY<%s?=$$S2zY>|!RH#c6C>IU%fx<|P}#A^X~Gik>lgVZ2~2o8 z?7f)mcd#MI;>;XnzXLgNz16p|&z!N>xkp!FXiOuT0r5; zY}pEpJ7!Z}$M-n#y|n*w{$2Pq@#d06>r>3>{56|LufyYP^E9g4m~v9sbL92dad|z4 zm0M|>=Obi!o0q`Df$&SV&x~{S<7*R}4r?Dk`wqd}f#L!O;E%-XW%y^4CB5_?_=g7O z%r>J7O2^5tGvu2`V9wzs=Li$|%^L*9=qS|N1<3i=(#t4$7XKy+jOU!e*F*S<1Ei>7 zAKt#i8+s6VE|WKwKQG1v+Yl-5@Z8kiTX;f`E*V0QQV-{??wW&uGsd-T2!YJ)^x52s zPrvB6`50;HAS_zvz@>_3pv?|!d4TK8_-YxikD|ZYhY=2x`egWHhw#)AX(#*J#KVYL^FCu4iMF-ox*~#9+s`Yx*XKaX{ zC3{u;EMRp^>+58xz|7T2*MrH>Dh;j&&8h>m;=8|3==eFUKxml-drF0IFnBBN7py%9 zZcB?YEKjjB&`58v)`1!fwC9inAI2m|^5kMxMhZ>`4BL<=YZ_PFLrVesbW8gx1N8r{ zCGpaE7j`3%HW;!3&c``P-t;0i=}m43M12XdA8YMqGkwHVNlxt=-VSB;MrgrF+H}ti zlup41NIA6ML~nIgjnxS$s&#^IXq>HH=UZMt{Nu&Yw^k6eYbx;sXp>R9d45^>Txef( zpht#Zc@H3rD}0IEe}@D5j~}uO-+wE}(I@);E5Z=so_6oyZu>8t`Y##%mqI;ee95Y@ zVP~7)M`!;UC57$5MZO-a_&4<+m#>Yh&yI!8tSDBsW^%16M3nfKXTXQ7Si)XfO9||4 zprdRk0ygxlMv0eZ8b8o6toBX&pn98je1X<60CCNoO)<4^IzG&3^u!HsL}V!#@NX!r zoP)Yb*mHab&j7b;c(YPF&|I2GU4~}`4w9Wsl#aGe7W*EPP1I0JjE2rf(jD4^q=W8K zt#XC-e$1OWu-ETnA7e)k%F;X=8w#q%q`TL-C&{P5F4e0v*lcL98@Se{hXy+b8Z3fJ zzXhSf?m;$avBuiJ;|;aVv9Twxo1tj3#=*-JjE` zMXLLMMBVq=SZ+Yw5Bcg&_tpI>3i&i|g8MXA@CfcoQTMG>_hU-k<3!z+Hug6xGyHIm z@YOxdSNDCvb=Ugpwu!n=VQ82|srxwI&?hzlEFhH00#3bTu(9JT^SwUdsVsTi}$z8=Qj_f&sz<^^w0cU9gSEHayaQ zc%)@2{U>01`E`&~EqENQBxjiI?2oUY(Kdcu3RnM0?#vx1qgj7lA)Efcwphcxzv-vmU&QDng!~(~0GYhwC@VWp2UYiiu5tIVaazcZBPJ2f zoRN#azZ!M%hHi>yG~zPpY+Pp%r>W^@a$HmV>N>Po%nZa*TM|oGciFb}Gp+b|zSLUo z*D&~=3LGn-IlAJ(iTkkgV7DGbN7Ppv?{7?uqe^USCMqe#LNfR^929fjpkdA2qQT=^ zK;2Vdc*qCCGU6X<82kW`&B<8%F|1=jO}>p4zwfrnjK(mSjRAE=s5LAUpF#zUkiU}9 zWR<9pHwn3iVBFX{jW0X%H(JwM_0A9axb*ioDIGGAva0Wwry^E8dJsi+kdN`{KK|}A z2IUr+@7E}`ox#4VQk%M>cgPt4nq}(TfF{)GEono84X^@anTpQ z+OY~^d1p?%ba?c!3d^zij%&9W9YZr3E3$HQjsf_Map)_uw2s*9vgWFoIc3ei^{&Dx z^dWMN{yaw?$`MnBNX`{&-ZVbi=wx__G<^jo^j$nT8{_2{IBM$=bG8W_xHUcnXLbTe z%lQr1qne!G&}&+AbYtiXM^iei>h>NeOUTmJCZeE?gvT?k! zdBK(WGfW3dZjJ9I!{^|&t?>^;uAvXFp_>fP^BQJEuHp3~)I>KKzQ=1=5xE8@uc4a^ zH}e|SMy?@;*AO;?gg92k(nWR#Hon$Ad#Da<>tmCnwLFk>P_HVP%i#o5YLgBz2A$cp z44FmIpdyI1=DWN653u_R)}TuKb-2X;375DcT;jLFCC&<$I5AveiZ7AlroI-gKR(f2 zU#0dwxc>}_LMS5*DRUgY8NM?0(Uo~hU8Xp?G7qZDjEb(zM0J^uUycf&tJGy)iLT7s z(1?6}@Pp{eY*v?<6{!rd^9uu(E%KVz)O}NHYB&r^Eo*Mb9>V`@6Ms^M^0zwi=d}2f zc{NX5C;n&>MHcbLbPa#25q}bg@wYbdhlxM>;gl$OhoaRH_-DqyRQwx*e_8mKjek?| zZzlc~;om&``zHQX;opP!w;cZ>aob4gpe-zeoeMAEOv^dv!poXUhJ)-l4|9RDR_i(9 zt?VMa097@F7JA?gUg+FL%Dq1zx5x~Z?#@5QM!f-*G3|C7mA9U2wVoq>iBnLK^M3~W zMCE#4{s(ye`y=PyP5Dpy@)IXR%-P8Ke?s}q0A9dDd<(liq4^PHvjZrwEfBet+j;&D z8~YOsMZRtcz;is+yM3%u?}xBb+1T&Z*$*^qLu1V-Rmg^%gc4DvM?6n*kaESc_qT)D zeK|gk zl$x6^=v~%xtorw8rs$mUrG3Vox@p&IYTz3NS1*L-Yr2G;$9=}vbkmxc(Rmt5AVoW^ zD>BrT^>48b(9H4l&1kGEGqhOyYqG1fUdIJ@{^hDzY|>Z_Hr|OPh}Q58oUC!~F#`&n z)a)4qe+bx8F59m%zLfuE(`kLbrn%gCH=>5(8`|z4Xb4GOWt=Ff>RXD-AV#`Z>OTJ+ zoAfTw>vHvB?_!(Am8WCPz&B%W)*QWYeUs}R1iW+HRLHh9^Nz9)mEJXF_Mzq4kD>h1(Fp3S@p#komq?Y_8}FB8U2bE{a*o7Y-*hrda`GX zyXdmZad}p;cag3D+ot&jxRIuNhiFdsBmaZAEXQU00JicxWVGfc6eR;~H`Z@7T6X3^ zAQnnRM_&+BbjR_qRP=`b%U8-Z8AnhJf5`G?JUtHG6{lbYx_5hu+mUBi2@aW7Aw;jmya4;}nt zNaj*#By7(!a8T%OcM!nUThScWe3fZv5Y@?0_yH(3xQb0^R5VkBW&#mZ=9!GBz>zn~ zog0x{g`iB&`TPSyZ21(u9_D5&wBUVUlG?x;2B|FdVd=OSJO>U6TUO9oX(Z-sF(Z;H zmBvvD7}f`>$czGn>-`{v?kDgoWU0$p6Do7AOw^RxuktQM^oq|=tFs~zcNNinw<@^0 znP6xTZf|5j&9d0G*>E)MiY4LE z50@yib*~Tw8|Igj7>G28Xb3~cMqsj%T1DDuI;2pLHY(@RVNNKy`iACG2MWTW5Un^9 zLVc%axiF3qWG1OU^)GyN;ZiwGN0%1yAyCVy&9%tU4CXP}jS8|&QD2__ADixyc88}NZzL=^=z3i$8}K2&L0 z8#P)=1hVU|bkWL~6UL7YY zk6Q$J!mEG+JgFCZ%iH->=P0U&{QYYx{N5!FZ1J-P!RV;UMQP4<4|ubYEKkACr=r5t@% z%}IQ78P-r1D*j7h6%H6j71h8c_oB2c&13W~)!~e}-dn7fZU?^sdH+3VnGTSMSfxDT z(59|BYN(z!SKGJ>2aK4u6_73^5BLFioBbqlek(--cS+^Ted;f1FnEXH1Lz3+AqJ>I%1BjdDmTHoh6wrs$Ovf3W1(c$ zsWS7@dQ}1;TT&HMo^_{v6qK(Yk_|P^TV(L)EUgZM>rRgWbou&e;Foo$;~Y9G5GJ$% zfw#{uZ9)W|XSk$un||BRlw))C*Vn+3JR||_1Lqj*QS%h%#lDN*RSBCQ>Qn|&OqtD8 z2bo;s_rguWp`W%zRBA${qB@soF91^B7r31SD+Ww@@yVa|ZKP%Ft!;$XTi>LV!)K{T zFYT`Hi;Ij+h4p2I@%!z4vg`FYf%T8Msk@bYnAw>PpA)yagsG32FI6XCPtj%FLt2n^ zSA8Eu(xJ;{-x=TL(B@61`W#ruGR)KVDowE*zoEt2u3=g%XNVpZs9ww{5Cjr*Iotfsa|J6)dTB|j=bC*`;CYgny^m&C#k zux0{e$JOc-&qXzu7rUhVJ**7NB5d}gNY*_y%XNr_1nzfj z6A;VaLz#2pa5z1`ZHHDWIsj|bdo{E7s~IPZ0Mf z*OyV1TPaqb^|Y((LmRFgYqfr;fj-u1J$(+#bk_eks&I5j2VLW+8Lll9vs=N}!Qjub zbtmz;h3x=qinW&E#L?Wkjo%)Zpg8KhQyI zR$^krG5xDu-uk>a!KO(y9R|$~>jmm{G{=M0f-AoPJQSrC$)uGcvrw@~iM=06N{|vu z#Y6JtMwxGT_ z{Fd91*jQp2pg@F?*~OBe7v;9bQ%^f9bab=1|Ki$R?5{tES`#ye-MFdSAp``^69nH6 z55ezgRtH1yJZOhQ@bhL40gY%F2o?|ox;gAOm|NXUhAMl*KL~^@QmA}!IzlkKu zc3f^>ubHsQSi2D-2r~0W>+v@$A8JEg{xcp3hxN3KfE(2_2=nN|?eY0-?tH9sTdgO_ z2bhgGN^*Ovbcp=iGfuFxP%co-np;tgWNmX(c?qZVtzIL!#q` zH76WKb((&~V3f+nf$)`07zNL3Qc;^{CrCysL&XguRbJI{mqbqAC0Xdsp1Kkv_MDcDYwJP;fJ1C7uiE|;u&k+mPGj%ytlkK9 zp(Q>&4@s0`kZ63YLXqtaoc`;}39!KML$+5|YNj+-g^nKcqNW}D+Yh3dQ5N(NHC>_dUZ)5gjeq@{gN*c`9vh{2)6iZC)%*=8zwSTOX z^f=;L;!{0WD<76BA3k#QYl**^s{4Vc4uCmDEfdhYJ{YV@fzz;@3-pRmfbf{jv)hl- z;7Vodah)#uk562dC2E?epyz!_-HrDU)8a&x@~=feTWZ$lS<-Q$5klPfjQ#A&5~QR z&guq8pRL68xB5iu6W|>rS|7t-XY~$^BfiDDS%W*L^6O;by4kt#02YwDXx6k^50hkV zvF<{kYi#Rz9UFbp^+(Xu{L&Ti^w#-6nl3=9v(}=ky^dNNd-PQ?bBB_2UC*Ht(shGc zy3%k6>AGGj!Xj^-PrB|3kgmIA>3SIWtt0&CGncNL)zWo0^m$(sh?gy86??NY`B?U7wVt>n<)`4P>J! z+bE>#Z5$lOd|#J#f?>(>>bP}BC2EW5T+zuYip{v zaOt|hHbon4bpXk`>1RMHiGU8>&5gz1;W!q6pshr{}bO1j>!Bz~+&*F_`_m!W#h50b81xOA;!_wy?K z()Bi_WUzEiR6h8nYl^52@Ln%!fpp#IBZt31j>(AIz+`bi;O<7K|-Cf<$Vf{3ls zxL`5a3frD#8?iu^64|Ez|GQ-TH{xIQK*L6oz}vB&APHQS#4U+nX9>92c0K#P8|fDy zDY(PgCMcq0EmTQ}z7m#xeD$@tko^+!3S#wWfrO35$`}%*3@an=tR$%nD^IUuJ%aT> z&Q-ldwCK1qGmq5EgDf3f19lBsImWfbrg{>&y@S3CRla=WFtx;bi`HZ%RPheg5U}cU6sl6>G}7Edq*SQ(E2fru4-r)kh*o& zjdj*1*`MAdIE-sZ6H#E<`m_woQO6?0s+4oH?a&wq{)6lpUdSH-@OS$VAKdem z#Ip{%=`qgfH94-XG9l9C!Eyj0K;ULW&mcIF^aapJM$Vy@FYJR5U&*V7v*Cc>v zLm{QXK@|BLAboS7+45CAU~@KJOA;gF1ZhI#I!UN~4%8smr0TUU>qZ}VuR*97U&^CJ z8N`NhC(UpKK)Q=&aD5$(8D?!A!hzOYOt<&9SnHPPvq>m`_3tsAAoLRixpw+Lc( z*ed%>obTmAw@a7ku{f(qN^bN^;c4~O&EP*d9EQH=M+;y;T4r9HUkslIZxCX5BXUdt z=MjCL1qG3qGA?+5$q43>!;r+IQNO&(=7L^wY+MoJbm>lq-yj$3rt12unRef}1; z$^+ZF4TUF)b@1)94mP3|=@`dkykVH*Hn9u_{Bl~~6(doZdz!W;OS2L;<9c4BenJm9 zu4>VwXQLJCImYoezS1m(E9h7uDWnc3vbeco#7nhl` z<{Oq-+z)G=-jpS=RVn3CYt!i%8(kXt`2P^u()JO%`IqEQq=zvG;kokkPMlZq<{7e9 z8Ww*nRU>Sn)Cc?9_#hcJgxz+=Cu}ymCTw7PFrnB-Qq<#BHMZfZ7XbdP03Rp3EF)+W z-EoW9Y|n3G4?va@%S3o=98+-Ut0vjl-LxmY2m6SPY}^kZJ8=q!q8wZYBw!Df7cB5g z!IsrHLY9pJUv*8@3tV$HA{+M6hf2A8A06B2F20-2jT|_v==dwu_6000?7HX?;TB|U z&Y9rvX0NWf^Cm}p%}TAtK8X&lVMfFjdd$u*CfP@3Kzd7uvfny=08q?2VTmNi5C3Kw zuNqXCO~Y8ZhK8#HlbZ~(&eJil$s(}2y$C%pwknZrz=S4O4I^TO(>DFdtr(0BvO>RH zhk<9)0JIHVG8md0n(>Sf$+sc75cbp+5NE}>e&8HY#U3z7gYz`}{!I2_)ISEs?@VGC z9oVb2_q%RB?xrOxGq0U?MA%0^6Scp{i&O19`7I<@IO@e~e}E2itd(mo@zu_g9dhk$Sm;shnX20Di%|1D=$9H%v&(@!qsx7$#ZLP$ zV8FZSAjFcsHGUUbV>yq4;L%-Vrha)5H9JIZ_Vlw#m+|B-WF(|6)QV=C_-B|bJ2dt} z8K1sE_|UEZ$A|X8*e=vSWAQ^@#XR{bx#BpeHiS>5s2J2)h%HHw$OPy@^5f1!1VovE zuJ+vtGvrm}Cb|+KPw>0EbesF0M7D{H^gBU|i52ZJBS)#b%`V!@7~ za)C9gIP!t*+U7Bh@H)wEuA0#BU78S&VZ8xg25d6p<^ULHl1UB0MzLfyyR2<)YlDqF zOdSXo2d13hwkB|gQ@8any7pRdXc}mDegpO_Fql7EO>tun-|VhFVvluKA9h<0AY8O{ z5AxmxC4@6YgVaH_Fe`=u3PY^3pEj#{kA0-G`hdofhzj7nxeP8!hi`VooPQ4%@d{Tu z(CHV0jaY0Ik@pl`9>rS0POm875>Wp&p}rC8njTQE!F&#nx_Mm?>c6Ooi26M*1)+Wy zNKJ+MFphcxhHsfsg?D(g4}*HmLD!2*&p#Fa?3{4uP); zD-OvD_GCI$^fd4t%8@NV9CMcTFe18_JxyXf=2W|a^0UyZ)F|&Dly?E;Q`VD7K6vxZzZkv{gize2f4S@;~SSfyMR5o&M*w8Pu_6G^bRR$AQ?1F9Fg^VDTKER8~)ZL=Rugm&4Nnl zV!v#hTe7Zo<*zf=o`gp1&R<`E6+=GQ0H;|t5(7hH1&tiv*!P!{U9{DDfVNiX9@YE? zXjr(piOs{liQBqKwUhN@7*BbaU1WlC9mC#5Ka2g$O?=nj*iV%A2KFQf6vfF^Bo@M5 zRW6o28C339C2um_D?);4a z7S=dTfejlY-bDd=q1Um2#X(sXgj)wb3?<=i(xf=y)?hAjBjGXv8#Azu92KzB4Y^j}TQ-K5pPL zRK?q&dRc(q_3wXa5#=?U&kMZh>8*&}))b=}Opl zA%3MkrDQSINmxt$c@j(t@D}o&xB=t-;frKV@Z10^!$HN$FgPH`LY^bf*%i0)UGhIP zK?%bOg=Jtu^=<`*uELVn;B*SCbhm}mf1ll5hMMJ%gB(Ebev^rJwL#9QjXQRKK{sGWbE%y#dM4>VM z;|yq?nzlzOqB{A&GuB3#5$$enM_zP*JP4}3<~7an*VISutupWRDF9E^CG&ilkj1W} z(ee%%tHzt4zc*a2wBTF|RJq6_QmHOoo$`DV>oWZ6EYeR{O*ZHW%d@ARHk7g z$~z<*l}qEM(C>xH8AvMe9uq)T&Y`z0L>RuL1w4t!z?Wp_Ni^oZq*|Ut1MExM#*+wD zU(zm~MAOxmbd)F2#PcO}@FbcLz9juk1lMwPQaVpsp-!5?lZe0g3Rd!@T6IzlPpVTV zZQx17e3XJ)hzKhiC|yaaJk4_v8TyhmsRS1hpD!tqClLqmC8hJEP3oj6Jc&rim#dN| z5xx47>Uh%A>ZI*FiOAEJ>nKm+)TWGM2Ty8H=Q5=csJqlj={%`XoivRnaWYftTELUq z)VXST(g9V{mcw|d+(hXI z5PrVX2+AU_H%y4=T`o2tSP&__K@Afv%lY~Rh#NT*@({NiV#bu`EQKeSHuI5>Bp%S< zWN`vRk} zzsyfjCggAvas*`BiQ?fhp&F=i*uz1Xq>0$=U9~js%snvr#x~Yen>6;+i5f&PTx@nv z8*OP@`WGB7z%m~vEwR%Scjj(vp15;HJ5Qf>O}ku%o4P*2@|bpO0uLW5G=#t5TKfQo z+DNTEP8G_nodTKxt*wZnH6qAB^@??&7*NJ)$S?OeTqX*kV8}R;+LC>QWnp7(xcB@! zqc7MKj5~4O38spEfFResG{*A2gE|eXi1PVl{!WDXd#=ASAHIBuLfW4N{q@S)p9F2b zm+fOQq>Sn>H&Z{0@x-OX`fb-bJkqqwmbN7yrZzb*=oX)HUKqVJ&T|ZOSip8JM$d=h z#5>AYvAw%M>3rJvcxMoM_0Tn$M(vx)}AXL+j|C2JIU9g8 z9Zv9CzuFVLR^JKUtBDOX+Hdro;57)i62%GLd7A_opwn@N_gxhu_+7OigvUS-|0Y7< zC%E&86fyzUS3nBmA&LJBNa0VQNbrOJQrH1g^?#Za?h`BTtb$*zxh6u1Zh4d2ci&gF@SXC{M_j8yCiL-(z4 ztmHoWpu>m4l1lUKhzFHtVE_0gbw(m$K>-wkLUp%R zC?tS`RCLwIWzxt^KtIppW7d#{@t{#Fr9qiyV~_FlgobpUeyd2IVPmU!Iz}qHv_jH| z5t<^NFe*KRK?jH@r}F|icp5972B>m;;QE~HF(SYkqS@`mC+y_l_D+?;?H>fx zUv{Pr9trX?&X7t$nH>qK4%3mYBNuQr-%z*Vc38emZi9vl;B3z{t%f#w$;Z%N4=-MJ z=6+zs9})HsWq8~kMC3z|Kg2<#?Kmp}3Ry4P*o~M}h$07CN(fq6({i$>(jL%Tccl}_ z`_Q@Y9FHF;?Jq8I7x*Id@5|_P=fDU1f^-4$cQj#!Fb*Yvs?f%Mf{FnW?j!3H+n$$t z!EqWpk$F`y#q4@GaUk!a@+nud3&X2VY z_*dyO_ExxzVmdUl<_Dwo%H%!Fd*q67dX>+{a5xpf5hog)R`_b@2B%LT5Y+V0!!vLy zsJF@?je=h|$@`qp1f3yIx#RS6AmRCqE&UzJ4*TB=f{bN9b9~F}Zb< zl@wvdvdv=WenG(@0@)hckFxY|NX9Uwu?EIQAAGh9xV2I1%RqQ_^9Aw3sSGX?Lm56J zdngdOk+4-2VAdzPt%z?T?_Swhe{2yV$PUe2y{oS@jV>_1OBZGyhbgNAhv>Pi@M>?C z|A>(d87q)O&uIvevW9fTqjPA-m4|xi`Yu42xa)rrB4r)ijpa};Z&e|cLcPpihljAC zUed|d5lyIo7KOX%QJbng_6&{bnurNf0$JZgtWIU)D8IKhpevZefM>!taUgB|r@R(BK8;|dj z!DHe^!Xpzu@_6L()epwwAh=X`JYK-6Gb%iO0vB2t4{AonV+YnY9FHLak1UX8Z^k43 zCE&55*oVijA0Rv)AUsTdJRYt@D$!MZL_9Xa^(HDj_7Q1{5JJ?9jK|r>WjylN<8upp z@aw(9<2J%$N0ASY_wFY=<`Ev7{B-qusDK=gJKcB)J3mq&0;0kr#*YUzBjaIK@K{6B zr-l8tw0C&SBRtN|_Te#<<1vTuSntQfQz7HA6do7h@z@*fc#NkhCdPxBk@1+fK^~7k z()4LzA7IM%hOT}{c$oco%%mATaTDP&0YCEm7_H#(tP}~4PI#$AH6DwJGzA{ijEu*6 zDo*_BA2fYh*fqVx;|0QFUZHP1en2yN;v&K$!H>sWXo8%s{#uWRuyl1j%kj8b;86h9)0^=)MR=^A<-_Aun$Z)t5+2!pJbntrkK-{iA|5%|q=*WS zKM`pPJg6BN51oR?LYh7;%mvod8$9$ofyaRYA0C}FqbJ%4k3>Hn`=RV{JcndHiPx_29Ng%j}P;Gcnsip z)DRwKKOTQBm+|=S8a#xhE3-XHJjVF(pk`z|W`o`G@pzG@PYXMaDcc)7`ZfTMBtIT` zG@~c3AUu-&cnnwY_;qb0Ja#}4h-y5lXo`vPpk`z|)`Hz~JpNA8r-cpdB_87lkJ&SP z}M>AG6d^~2N*TauTakTtukRK0fM#f{Tg2$sYeOlPd zU_HIT<0Zo5@^l{_H*h=_5FUCz9$x@Rj>iwMS_+Rx)bislnqp!+s2LfL2f%Lmc)UT= zr-glrDcc)7J|H~C`tg`gGkW3%!egu-j|>HmS8F2SK}*J{=;{$7O@RkBBjd3Z?3Uv} ze)YiP#$MuKco}#+FwHj}Kcg8vv6ApG`0=>2R^TD* zcvwIWQQ`4(B29q@H6!D(3+$HTF+$*x1J)D$c<37bOnB5zLDh663e2^*g9p~pdMkNw zl0!*r{OPd>ww9N|vPsmpu=l|fd`D7zRz8GF81M?J%IdbNU1LO5Raotzs`X*3Qn?@U zAjrY*!h(wPGs@jA&gNilK&=M=L7T_h+ zHhWP5S3-tBbP%Gnlp00=ofokj3TaFL7_qt4N*Q%?)K55@mLubh!QfOE84Ab3(3UB8 z#D2-Axf9fp-SqfsA)_!$ zt+5ZJ_cig2aN2iuKdhHJ=)N-CKoe%88Hj|dB9p549FsrlD$wPaZiZ%ubW^Dc!0@2XI&y)I9X)IE2X}Gz>mZ z1pq5&MXVp5^(~$?xx1`Nt@`g$trIe$sP)u$DC=cF843V#b-K-^Rl6Nkh3~Dkw?+DL zA!3=M>M{@jStI~5@5E55WeN92M;{^DJQ3WaZ_!Y*$0tLI_`8YA5md2&s`$smh*g+? zAUg?MQAKh1Dt=5=ybxT4EXy{b+u3X(Du+^eKfw_QfZ!D>z9d5N73d2#gg&;gcXC3C zhY_vY`bn(qa5i2u{Vu%CE07DBQG^Z+l#KV=4g>Jbh;sp`?~p*8Z!@>q4aPkbKS z3(YvR6sPgqp<)DoLWH%}c%o=Figeb1&teSmooJZFgnswl#?FFH=*r=+DEYN4P_O?o zw_N2iH*!;>Ya?S35%CsWi$MI znuWMN=oDuCg3VCjG`4V;)md;xb1*0HA3?n%;dPK@Eu%@Qx-*C_sDpM$Y1%)Q|vNX(rueFo?w4{h0VKQdcfjqtP;{AM8{_rH0 zcB&81rSZR08{_*$9qef=+|li%X4C7#R^O|#C{h0Uy9y^$Lb@+74gNV-#Wtq4p*vjq z0M$T@!9SbZZO93&ni>uNK_A`L6r!Y&bNnyG)yYSN*1hzu;|f^I)ZW1wL9maNd#ZJqf8}4$0L#ZHQ46^3%wSp zP{?gPkA}&K9u3L&o$&dH%C3T8jPet-d7;@*8|6Cspg&h~#9S}I$%XwA%zAG19<5A{&Fnm5f zYq@H5>)ha;xHC) zm<{?RWvBVPG&G|;2k)0jhH}}$<_a0V8$+{&9Y1Z9`Hq7-2cr&A#sS22k~vU)`P3b?wic;@ zp}AjC146i~FaHG~0yEr7tCfy8hB&_uzug!Kmon?&7;dU?>F)B3P!h>ZXT_0Sa^2keZ%#d9+$ z3=2D|;McCt#s?nGsvRF)*0cED@Wa1oP0bQ-ShAi)ELNl=e)rWx5pZrE0C(qug$3}n zoWkoPwH@mE+m0?T9Ngnj#1-#anc$jlLP&LV^X<5O#ig6i`i$Z0c`2W9MgJ+}$AgBA zs_d07xYGTqzv!}T>M|21_*dIyEAH#2%gXUl?y^_@8eNx_f=i)`>#=$Ro!Q_pU(f*NfDXF0QT}97ESy8|R<21i=Ov-X6-$Vdwd*F_j5r^ic@*_p%1wBM_xf(j zZhN0sJ{*K#*rVKeF|RN@S(=s&t(kB~y2DgI;|^`j#pQO~?J&oISbDQcIIF_N!Bw}+ zsc<3QpobQlbU~iAfkFV5unurX9+eMQNp6((+gKguK5=s!YlD58;`U)za-++-gYEbl zfxM$Co#MZx%a;xtcQ(3kw__tF^3#wNV)M+}&bC18TwjP(iSo|%Ahg2WHCm%KqVYUq_Pdphs}sW&v1Rv$U)q>6QHN8bjpju*LxiGZF8 z>&VCS6s%+Njd)VAj)z90Y_zPSkkq}XSw}nk>;&t$%^b`+V$iJ2IzC6G{|xK+5vmGg z9V<9a(XftL$k|)gF_J+4*Rqb3h3Jy6fOXstPvGuYN8-Y)G8N@?~b=-}GH+BJOr!YF@tR>fQS`tn+-3f7m5F^DARr!r%W**5Wjrn`94Hl6ti z4cJtQgickS3Y`gL<^JCNk+qhpZKxqxBn1v;4xU;87_*?{UeI)XCq!MNOAHH96) z)aHoDcg){_L)Prj*Ja{pfc{GZfQZ?+YM%SH)aHt7YgAPF{Ukvqf4r^-z(A-)1dAa& zEY@(a6Xyy9weE9YXFo)IC8kR1pmEbJ#Or2i*)5dgFP5pbOcYL5`SPY|pK55bEdw2(gdJ#Lo z>|y#KBOC;`DG&@35Rh9_7zjSRMnLej9wD$01k1xi@H{46NFO{0YclVH4cH$;ACUW0 z7zpl@A$SUGwEI5zHbKyd>|y%g)^HHqtUy4{Jb-}Qw8B7eI#Kk&=pG?xAPDS$01?g0 zIsgWE_ct*Y%Bw)fcLesqc;XSigDWfVgY{5!sp(vlE3`=mv3`vK6PNvG=ch0Yii3T_ zfg)(0OqQWr19s3&|Hup))5Z82fINg!Dj*jC$a?{#J_tw)0U56V`AK#+K(^$iXxP_p zCn*09d*1>VWtILv0|SgWI%A?yQqqcLp=DwvqNUP+ZA}dlpc&dliKV;DsFf%-OftSs zxvkxHZL>``x7yZrHEE*)F~Br$S>dW>m#stNwz?LIxA}jcbKduzcP`va+xGX*kHF0P zp3Cz*=Q+>qT%P1`D3_ioX!t1vMW>)FA}B8mhEgHrZRkbIPMnmtU`sbABPpk5KpcAS-}c1X8|rSul{Cly6eZfoziHSG7S(0+N%m0`831 zlNSPIjtu1z$eT`)@*qL^32H@{7iWe*$t83j1dz1t7SAAovH0N1#FPND%Z= zAUHCb(||TIMu1>_f}lZMhY*wz1QR1e@M}bhwG7Q^@EBYZPJ`J30@^Sc0fKQd1a63( z_Gz$*AovKyHQag=CVoB=?wLa%xRfS-4+VmjQEhN5U*voV@P+W`pL+|k?8gLd2PhIs z7@PsM0Bm$*z-A5$CJhJ70so7Wh8Ek2CShWeFQgs_x3UsszzRAA*bD+}IjYFch>+;l zz#p-~>f3dx)*(PjArsq$XaomreFnhh{zxURQAAdYO^`}KZo$GcK%$t5?0txj_DBT! zyhC7|(-s&vhJ$gV0>qbco*q2lIu+yeAPmV!dB}OKN=55$eh&(C>*zdr+ zxN*zxuoQT&H?Y?bYA#?sZU!&8<{ESk+@)v0ebw<^LQ1VPR46K2GM{`9CQV6;4 zqXfuEF*7^X3pOH^$_nwy|e|euo_TWvMx{CKzW)g zZ7(2YlE=1$V!_Li%6g%0)I4*=OK_2q0s7HD;BUHZwbSVF&H+-s-awQB^SD~BCT)Yq zO%HQCwoR3`YA|w%k}R7g{*pp-0G*Zv(puQJ@T(|4_HeX^I5QG8sj${Tun{U)#@k_M zFMwU?#8!OiHIi+y$a5n2xP@tZtu{J=GwBPyhW0=5-+nv2JEYF%^M|HLb~g99H5b=q0aM>McAx; zW}JgTs~kg%6tx%=-#b`S@vQ|HVJ)8`WYxqr?3O{q+)I5W`2cJYd^K>${VGCtLLdg{ zdMyNppldql>S}GDrWm#t^z11NA~k&}Z`!c}SeBQ)prZ_Yi;;n^K6)th%F|TBEIPkj zVb6b)(6LpR*UpON%Q!_D`<;DRR4Sfs;qmHds>v=#2S9+DGrOO{q@}j%pp}5g2&r(1 zipz6ouSnwTz5}zFgLf@EgeW1^_%*NL*ybr*f|VS}y2M@cz;y)O7{tMS=~l-#BCHqf>ont4+@f zykpLu_0dBz#Z>vP;mzmLv8t+o;{B`gjoi!;n*QLD=KzX z7QO(|V*MFZ6%8hd21hI49RoQ7#NFLfA#RfEgt07Mow8YC@K^?V@vQ+dDYv`R07Rpu z!g9gg%j=_c%ry|aVO_%Rh5QeZ@1eo8pTD0D3J5K_iL|Jm!na+~qIWko zc6^u?{lVgQX4{xo**r{KSYbZ7NSKLw=AeX=vBY8T!LoIqnh!$mJyoPDf z>H&DF)uNkWxrAxadajp(wdm7mFIJU}0BbQ>ChiPw@DNzUQWK~kUD75HxbjMy=73Oo8gLj+{N%5Bx{1lT8?zK9`{6i z^}6l&ZD&tjtf}s$3W;_izo$N-mAoS!C z_@t;y?`3auF6xq=tg;su+nnVHp?Meo+ZHY>#dLI*ySU*5t^x3d41yqe?nt^ z1xK`w+|DG`nmin`1a62PI@?tjRcT#-so{B++++{;v4tba z8n58J-LCYuGSFU?(}vj;gLY_EJtqpP{>HpO!EYRAs_+yC9y4b*)O(jgafW*90zFdP zTHs=l3s&iI-vvm7itMesDULw5W{d(N=*fo6>GVv}W zyS2f(noeRUa^Fm1oFZ6{@HI+QEUgAD?FU9Fv>zvEPmXfObjL6+(6eF; zI`t97`*1831Sl_CphINfEs7Q)sWNw(Ip2ti`wmEc43N)qou z;`|0@I!`#$g8jy;Ep|hTva$l-HtQ7H4O3}X7S5xBR-@!@KT0D4I9^$3T|i#-jhG(< z%{%I;W?GJ?^MOw zRe?sn3iYiA1m1n=>?QlwqH#LpBN)G@Xz&`0$HKw|Duup=pjBxu-0N|uLn!VZ#xdU^ zafrynULdHhIN6XMY%MS3RLz5@&|ZMzv;4=odC<31F%M*Uz|8}2nOI}hoVtnCjm*7TtudNd2HhaJ@Ppe@^I*4}vtlNKb6cC2Sqhx4IfOhPxp)urq z#n5=<$Z;Oo4mC7#T8}G+#yCi!Fhj#PP%$+2o&Y}v85(_1S2i>jk)d&4n}$YTq0!YD zxo@oC^vH(B=D^!vLt`E6lTH{KE4iL>s)okgKzqW_co6N-ES)C`s)j~hprF>!xH9lq z7#br{|Hm*iRzW~$4UH{a_q1hbJcUKJfcSU?xRH0!8AF2x?sOR%dKs!PLt`R@QIMhW zB}@__Z@=d1%KVcuG`1lEsu~(uLJ0>9jefBH1GFECaT2s|-_Qu5yHK8cV6zZ&elC<} zXAF(CLO-d7h8Ko(L_=drZ@dUGH10-!kqnL7M5CdG#-(UmReC&FPlm=I8R#Jb=q?!= zpTcYp(C$05AZQnCXhfvdYp_v>R<8?n8)|4g#~%k98uz2O2!_T@fya>yjq&Ix+|am6 zC~#G*(e*}h+hK-AE6iy5U8teqgAF1W|JzHs#TaU6ycMWhCCBmCq7GqR&1)b6(Vn64 zlxS8pH10-w0g68iECj_BLqn#uVrX28zPe^;EbqY$jbCHk^XKUPPtKTV4>p*9kWZR!j3F+c+ z-V7(Xyw<(ArVFR15(9~Y{1Z};Fvw=Yfg_xq@}-uyCOh&dBQ;K@V&lZ(7Bm?xZ7jjH zZ)f=JBSywKuc7B(4LRY@UTCh^;C#}T5h#8uilZQ}F&=Bza5!)p%*58BxYwG1Ef^+d zyMUYH@A=+w^^8&;jt~!{T|Mrx_KN7NqeBD@1Rj}bWw_Xm;l zi6n)b3(=K^oa_F5%E?&{Hz5)^ov`O3kTVCxBat%;#TCkBgR~%XFgb^bhY`rh4xTD< z7FSZd?UMDN=(U4^7MJQT4mabU$j%>Ssu^W>|aA}w^WC)9y^r6rS-TG zS+s3qGy52Ln%8EDZ5#3$E;hCBcW(yXF{cH7rZ*Eu>!}qpt(%u6mc-BhTGvyjo9ua( zf(i5eIs>+@#FQAP`p&=?Bfc0)EWQJWKJDipa8!UXtj1G@aAT!as}6eQbt3mt-NfZZeb;jEw;~88l5=5JJeyx;H{P#$JARF;!I|_WUG>_ z71GvvtE6|eS`bmoTV6iuY}$dszgd@`FeK6rlqxh+K>;_sPDH>>;`~I3eaCZ9dVo9L zAW12nr)R|~0k`GM-W^*kvDOH%QA!W-st(GNzu@Rq3?Y`oNat1IvW5ZZO5P5`d&3I; z+~`c7dDsSDPszC)g^)JWS+US2xyqISF1|Bn5zdm^QF*k8!(Hz3>5(Jyh(-E{BQ?@= zw)0Z=F50F7RODyzbIwI$-tqeKblqHBtL1x#s0MmDP4&8=V|=knK+7_`t;G@*Q9)qX!|Ca?IM3j?6)JiCrwnfx;-+&)f5%n&(fcBtuD554oLj*+B zx#V{n@T(0G^(@zMPE|ye!q#g`L=^d&!S5jBboE@e+}Gm!2JfAy)vsDDirZjZ)dB5rxoW^>IV9eJV7CVNH0)Z!K@_Hfum-oY#6Z z<8Y}yTW)X}8syNh5u(XA(Vi3cOYHVq8!P+UOX9uO^`62;Ovl}J_Ahv_l;wD{gv6&i zSd6F=owh3zuhXsTadlEzqt4kYqby;LDZMOl4pOkzc#yc-wJ{2p=}2``r=-0LjGVg!%t1Tw2TH?G5BTdCtZ94&>6Yg~9!fpI+qYlz16STfaX zYh2fpZ5#wmo8$UNG$_XPPol|o$F)z-pmCiks&si=mt&{f=^xi(2h7{5C*Orhk%yCr za8_L_c7uy`s=z3{k(@LO9%7VVwm?R>v2;lQHI5R22XbS zR^70gO83WjoK{os{u+OEIFc=2Qd1+vdcCW8gLKA^t~vAD2TL4q*DbiFdQ1X0{;`bi zC5XN5a{RV8xCvX(K*w$-DBuDZ*i!g(SdO3q9(Of<(_%b(crO{*^i^u~uOWPkUnC>n zQoL07ajq3jc&J;*L36!DUks%;NN)OIe!C)upmVWgbH(d`*~JXzil<`fL!7z742R6c zu65*%cQL)W;t3QG^~QL3bdlW#r_XsiBna07t|P`$lh;{; zzvhSO_8zIWnbDtEX|rp^dIHXGPm!9W&0gzD&$FxW06FG>EKGB3KR6a|u4pB12gMcN zbveqw*DzP?#S2$iH4KK8Z-EU#@!4ni$?#EkqysAJ%d?!^Z1~w={JBkh*yd->dkJ7+@Rg_G(5*%M{Q{h@jPfy{eY#GOaeglUXjzbo!#-sX7|4i(I}DWqi_BUpJj3W5kBH-EMV$2Oav{iRsdsvff_J!VB?{h!yTaq07Qr*v{pDm zulz4NLf65|KlP5#czBhHGzLw{5t;`5*RCUUA(Spx7qTNXsu#G1Ti9@fh{h2eq1$N@ z=m$DNe}M@tRA-1I6pO|~9ihiyGbyOC$G8SFS6l(D_|tKOX8D30p*!$h*0GTtp)3^8 zI6`j-^%>a_dKj*Nc9@<32~gl3_d;+jNqgr0)F62%oq$ch>vj?nvf zq;Z4>;A@v0p(d>FM{Y%0=n>v>m?M-&jz-&#P$u9akvLw!b?P0Ve;b1xp?49w5ql;R^SvRELpHSM}f4?Q4rGAL%H>|u2&?VyH zkka1LSWCwK(kQ9k4x@!;qb~vBbjx}72U2Vx!;C(yCZm2zznVi$lx43txi_x8eHVDP zL-962*bM8gZ4h3AY13&C#&rln+V(fzeKu)+dY)xN-zwZCfojb5i8myu_h z@$D33V%Kaw0N9c(C_hN8k{_hjDDs2gZ1KV~%a2^=h^e%U@tKe-&NJk|6^)L2|#{= zAR)t;)Du@l^+rle(Vo&I^V``M zdrOn;_`T1YrqH9o^lOMcN7~4S;|-ro@l`3Qvu7eVQ)UW# zs1eG`sFQ5_*g04*N^8l_XTLphyuHcN&O8Ds9wbsMrZ~Myig&OdNJ9!EtxL2+iX_+# z8d41W=gE@73?Dl(DZYoh9!84$z#TFv`oWvyq|E+iWVKI}_8(j^b;{&6b0ldR>K4|}hlWlyB=VcJ^}G0Ktm#z!j`*k*L*lVj zBRve;4t<3LIXIzjXZKJyf}_f64z7@#)pSeeG0zkua*cVWB#bCDIpW?aFysE;SgEW^ zng>)-?Fv*ACl>9w1#Hd7g3YqOhpc=Itc0>)#mHcw z?c_$Zy`Y`8*R4m}U!y*?eQ=%Hb_y7iw|z$BwlSY`^1Vo7b^w>A+F2R}Z!DgCqbnIF zV2&~JiYA3+$PTG=;$Oj){@zw4f@%+Qw~p`2VtC?^-TSg*FT0nOk?o@DFx z@9;@v%2|#1z;39fH;k4sk>*k))UxLzcUKd$zmHdu^5Rt6y@qqK?J<|OUE5yaJ=8Kp zMi4!YVt>E@PLi7N8C&63dkU+W?@c;9Q$vfrFaDF-L{_W98Wf1e>Rn+C(3|JD8fmS@ zK%B@|kZkqfQpk(&Y%ry|s!we|s;l!Rq#gj6CHj1}9B~*NArXnLns9+6wc*?<6~4mr zTvb!XD^0Ge(&UW&$aS@!ZYpjg*VSk`rv*&pL|1fOYOfj$2+vp3!pRWGQ>82)7s#ou z3S}|@9cvRFQl2ZcWWgsRdzpB%k(v+6bhTP!x}p**-vLpOu%^W~Agm#t=xQ}@=r%M2 zp~8!Vr@FeZ3>mIwL!9A;UY_S_C95K>?)ypr~X$+W_&XvC=iO;HUTz(`hYDrwg&c{d7&I9mK_aI&F9xpET1+_XfR* zIGy(G#H-Fury1x$Os9=#F?c#Htx~6xmu$-)KAp}(AE$jfT?m`t6ilbPA!yp4PBjpu zotRE3XsCVeM9ZV-uuIOBuPS0!$Os5I3!ZDp5#Mh?MhsT{vPB8uCb?eHHb89eV<~G^W7{#935));2Xn~nR!ixgj7QK!{7UUgLR`LSa&S`S(h3&TAaTEF)j?^+!)V{j& zZYW0q?_uyu=)t1)uoJ6)q6hxs5Ug+NVIcq#Jyh`m=wUzYAKeZ+UGCu+tsir2L=Th! zfcG$zdUzEL2^?mrJ@6M#$UR&MYgzP=uj#?zKo$|HP^)6n(0&9FRKBaA+G-;gF z_`&Dfj=1woj@tmrRV5bITSc@lC*>{F?b(p~N{%Ru+X(9T@36rI&MviM{^EJOAgcZg zw!gsnHqo(^XQKSB%Aoy;;&mF5QtBU0(oxj>WVQJewR!$xoZS59SPc=)N2|?C>s)&c zTE?)3^g*e0cpqb^k3;Z#1PV2vtDqf!@d;iK3gugsKAz(R6vmi_J;X9&e1Z9_#ex#o z@E)$F9-dHpn4F&q6g&126G^{tq#mFK+7Dx0*PV1 z2EaD1ZFz?6qBO_fLsl! z;y~NTyGEqwM_|-A%zTnGvf1DQX}>x-?9^jlwZ~5}#Rb~@#c_B#gmxPJ%X?kNZNk}_2jpr72mfAFbafRHp6OTpHhj;O& znS0Iul1lk0T8&+T32E7XPdf3DzhKnb(TT6W&!MklgO3O1q#%1Og}Fj5b{ReQKy?Sa3TFZa+Np$EaW<1{^}I&q*u{*A2V?>BNg6X4}w-erRtY~9?U7aW=@Y1t7w56mOlYvMf zARH0I>cm?BNMxP(VKsrMPL4s;W0czCMkp{bIrxia6ehHf ztFq-KULZs#{s-2y7+j4`q_jDt6R%h)i!mK_^%PnZV(b>REB<1x+?DU|3UXJ8u7Y%8 zC3@28#5$-u=)^@NAxBZuTqnk;P4gE6XQEXDHf)H zsLklji7LWnA+=FBkmvk9^}YOUtpz1f-Usvr>>FqSrMmmSC852F_O8SrZd&P4F7rPvgD-Ecd72 zPl>@^Vn8SCtl!{B(RxeaI!lDj{Xeknw;pe&Z60KflDZ)Q@}^Cv@r!qCLY?@r;BVkZ zS@=z4%V75+sZn6<7i&7PIHi5Qu1LzFg=6h{@up3IibF65yHHUYo2+c77^>Y)5&7v* z+D?%iyqzNa8Ab@32NJz zw9#=EKeNrR!P-c4ur9W<(a<@*GyV2K;?`kFeevw`pd8jL*d$mb^4?BX;e*hdUd6kr zrUQ@YYGq4S0v!~LaU{#f;+B5NtFC0{YN}p?s>8OYZK%w9EUm@-_SKh_cChKN)m$H&GYO#`1i}q@y>l5aGR)fd| zvUquH6|UAXj#2Ylb$EcBN86o4v1yy`@)9ZI;LrM_Y1>H#Y#P{?s0-|32s?Ad9cYoCMbG3Pa2CBU|8T9tEY70ejjzp1@eAJd`L41N z$QhSHjFWo|WJ{5@5)#xKWROW3he#B$tBrc~y2qe!j(>*1Kg{Rmg=_>8YFUS; zHrSDp&nr$zGBco}uy_Kk4wh0D6zYq+WNj0Id0J{B@Nv zo%xZ)d_v(oqLoe{TCrpXGFb4s`8#Y%!x?$J5ohGFijP+#=+#cXd0rW_L_8v*F>s$4 zFU?rVqdeH}tn~5=^hGTyUxo7O;G&{BzG7M{j{;(Cx2mxRdG4^v!r_=G}njYm*5 zvf>&nmx*GxAXF2kxN@IW71w_-@?BC~-=gl1rnu%4pxN?r_u++cSnEDDit8pAh7lFl zR|rsY#Wj3QKym#V@zstMR}O_^F!5L`JWECA<)iBVw&HqYts)42bj7s{R#jVyD|WMB zT#dRoNTI+;imT;yLg7>?u6VNb+E-k^0wn(}#np`?ONNFvb;8-fvzCol=?yc==aQ6K(jjZxB9LSt$ zVdea90-MeMCbIkR7ts^VesT&AP>p=K#`SWIEV;&&;WYqSd6`j%a~rs>>wx2Yy5VI; za;|hPF2?O%keknL{xkK0^w$Yv?76HDq7IWLP4>*Sz#Gd-5H6BoE;j393u=Th>#+GZ zU(hyx6t-bknwRk{+AAnDh5t=pVrkzLpp0DZO1a$Sa=DA~7r2F$>&xGpSWmfpY#Zgi z{gnE}1>pRzg?)m*!R=9I@nsZVQ;x$VuzBE^0`@l)#c>$;`$SrC93~O*vE+**WESVA zYSypPG?T#hlPhSjlw51P3nfk>jzMxII$%CSK-9*GtO|PzbwUXF>jI;J^yPQDy?y3x*h`CM@juS`x~U5h}3UJun1){?GmnWq-%Wdg9!Uo>oJL1)vd!5c#1_Eoxa8>%nCnu#WczNKrw5e^-*g@5Q!|Kz zu}-BKMDR18Cy+_fLzaxgGaRXh)5{PT!Cc8W=sYvJ!OqUFLQjZwY_{Weo-ba63zAi$ zD_{>k$_X;Ey=jueE=75o9dpC^aCXS-cn`uX0CRhvXuSATIN-t^k(U!R`@9^QUkLUG zppUc_#d6+ zsykqO3;foS7U()xd7!Zss-W-AaMf-wqRLg@E>XBD9|9Fb?0~DD`CX^E$^mJkp-ej; z17oRjRU<-KfF{6IEsuAKt9D?TM(m0D5L|T#x>Dh)m!Q6kfNi0v5$G-OX;@7i{)4FakFLC9 zjUY;b2=x=?kt!d?ZjjDa&cOj|*qYq#d>T_Z zgpf2O+9DTYs)QE7nHn4iPpB)B#+pKZrPb8oe@G)kJMO0*L=W#LiH@C%){v`IhWb#o zS~NkU3v%EADn%Yc6i{wWEmAV3DtaU0sTtTNE9DK6tjRD^aqPi^)D?M66EGY&)PgKP zRug`3jCTTvN>oyE*$jJ!3j<19gWC^vjw|H#H7pyH)wrftqhK|(G#&AQK7s~>FPL7o z+R+1x2$b5zTD1ob#hxZ47NQhF-LdeA%O$Th(EfKl`yE7yRL3g823<=iR5GF}gV36W z_#{vUDpFaB1voFkKuvrjH5F? zkP53o1~RNTDFh+d66ko4VLo(P*T|ri_!#L@B1sM+sht_=KUS(FK{VFHD0s{1(V3AR z{AL$N`n6>o#ouGVyM`i0`ej1vLHPWg8R;zxRJ4?lUW=-2jPxq(Dbfz$=^p8q$h)Xx zPhr5jMuwn~9#!=Pk>rkbXsnfHJdTcS#)&}J^i5c6#pTo~9&00IIA_rwV>?j2jeB{)Zo zR#*~-pHsBEKD}%`4A8PoI%nd1tk>yuvnEYk&}G0o2a}Ei|Z~%~4Nq zo$${xYw(VY_A-qA$)F9aa|!F2@UJ@<@SCuX#RZ*hQ%?Axf6NX2M2PzJ_}OY_gJG+x zTwnng-10Cjd5N@emjibhRTQRl4v^{?Xh`+O$Oygz1Ez}z0yl|p`z;hr2e{28U`aPc z#O)}Q2sk-_+cX$1LAX`S58!qaT+FWF_64+S7jc6@;M!-`WD>C^dGo5^kEPHm871|? z&ZT7XD<^pKR!;!v$_%Zs=dhqO0JQm29Fs!*>i&d`8Y&2j&E0@ z8(5iLpPwAx8$RiXHlpqI2Wtpshpm~r?ZW{)Vi{D~8gC5}Qt+=zr4)rHy zW;L*f)cFRusrrTsrWc9%!7vcK7=Kyqtbn=9ku`&*BMBrk8JWmFNMZ z>9` zT-thO8zL#v>!0Z|f}4P0+WWw85Hwi_7@FF}&;xZAgy9OH6M~^dgW*>qumF3Y3mD$@ z^hsdosFDc7EGRIK?P9sAPgfHhn@^PMJ zClG-nOt2vt@7OONq8E)QS4I2(HqnX`?&QM0yejs~MKp%XZ~_h6#&mQW{+{1qUjste zFsrMuWe-=k!&(s=9hTv{p1lBrRD7>ugXZ$;bWwe-C#YUD+YEiLt#>EtfhQ31s3O0l z%8sqmvdUnKNwsUZi|VnFsNlQLHGL@{FDDE$Fzdaxr2rP$T68&f zP<3KpDx0~ZrP%Rn%!4h&CCN~f9n1p*S&R|Q=mlhTC}by5 z*8hPvZOISFe$m>J=PD}tB+Y316DLVFpdPmws1Jm~>;Uy{#8(kfU-Uu<>M66^M7@dT zlNR*>imDch*AT#=` zSu{O_89hQ#(W=<%$c&!-n=T^=+-4DOxfD@qAGa%L+}gzLb<)jRGy0rYLU0>BGl1L8 zibn1$&6m0=xG_{PMguIm;QH9{|ID^gTTew9NVn)9h(94}OquHZf zp0kigUlVq9bOgG6dGsQo(WX2)U$sSKGkTRaa3##>mocV_w0#d9cG--M>pFsDM)%(W z3_pWb?*PMh35PZ@yc)A6Na9WbI$CW4M`6Q#0Sp;B>@tP}vGm(jomt|jnnf7;p}f0d zMt?*I5zn$qWK3i;IvQBCWk!Fym@w3u(I*g!3NoYnqg|~z{0q1SiW&XOGG3j`=!@9|rc%NcmWiy(qq98N+ zz&!+Z`)2fEDB#YS(PN~p4|2zLat9?!ZmxQhxa1k2f_Y%WdJ;T_?Swn$fivW2tJDNn zYAf^KjbgSzY1DyBL-DU9>ueFgXYzZxG zXDNgUZbLIkV+_7Oxvmw24c3t!pA*Hl^?*hgez!%^nH9F z@WvQT&9(SkJe=2G)r@etzj!?Vva)$5zToI~O3A2Z19fsEf4;1F3Z4s+B-u+YYi8=# zM0-grKaEs8jTe2oIgOeK8>jAC{G6FU%++c&dnci=t9Dv*4*tq4(-g`CoWqiFJc_f- z?q-Bp{0NvTN+t;ghiop;@(UI=@ymjV@Dm3nPr#1@KP4!$6+hSE`4s&80Y87i&*%6VfcL}ja}|D;;YX*BitgLD zuOSA%V)4^A&e$!!Z+y4z^cnwjdQ*=cef#SB_Uzl&Z0Xyp?-_k9ef#!K=+nVm{=f7Z za_K9QOZpP6TpEc;gRGmNCP>T5a_Np=bs(4OUg2`-4*K)okxRdak=mYIx)HYGNz0`( zc`)y!yefYYO<&x`8MJ~Pcrzp!# z{9N)amf+_({Jer66PP^;?~3vBC4O4)GZN3U@$(>l-o(#) z`1u$=BT)8dxzw=)ElH{BwH0#dSJN?@aSbz5Os404t%#;i$$$=srcKjOvM&-^PcV7t zavf(}gLOab9d(nAmz>bDWXdkpg2&}$$k}V82<$Y-K0op=<7hnYy09Z@r*kL?uUM~b zUqP5rg^by-l3-53sKU*IybE6$nKp-`aJhyv1?n%?Rd2~JfmwpUunF627+c{u?(Y@{ zlg8guax&j+XnyB;LT?A#KKblH6eZgy&No4ZVsAt!pm=3l4W^y%`~W^nAfy$1#&die zIR9c|-yo!;=;m@*o|psgDc|qo-<`G*R*N9Y4J7G_A}|=w@Y_d>8tE7`YOo_^)FsYA zzH5nWtz@eH7`QZcBw&@tK{4- zj8_l@hwshq`KVPAJ;gVN504&4W)4R?+8}#$sY3PvZ4KgHL=MzJ+^;41c^crgB%cL+ zp^&%-%p)zykHawos|85D`;N|$d^O5N8sB(LXUllwf$?1|zH?f>7sUNVn$~2xUjpJe zKO}P7m^V-1K5ST2b|p^Wb3pMF9;D&}+ael;9b}^Ua&bF?b3i1vr#Uj8{9w-bsY>5X zGUo^P9WXgD&+A$ZT=ZDq^n+i#}exQLI*9i-7 z2&ktKv(u-dWP4)vUg+(JVs;dwYzo`TjCRV!>@2MHs57*EF?$_~{va`X7eZ_bKH52d zD|~l_DQ|<0($4t_{JUn(Uw}qBBWC@G4@BzhySoCNeGdhv?d+fYdx)5QUDMEiL(G1N zRU1L}HpT2;QA8cYATisDWwuCE_!f4XLh^ryD4S11HQQ=5(ixI3YNNCHn$8{$>1>Ah z9zo1rscG$Wh}p8oRibquW^+;U7+F};g-V-E7PQE=PCb@&uz|l!)W+ykb z_u1L-N5CjNI_V&zn@sJ)h)(Wfw^A`18M+0oT4PShnKD|r>}|3doyo*rvCiyr)x_45 z)`*j~1guHtg=CTzAkYAFpukl_;WOGHkJVrhD3>|V5^sj@!E;@yb7lsb`|Fgj<_1!8 zMl=VDfgq#S_ z0tHXNo{mJpgGG2Ak%D)kr8X(}m+u)|K6y!W@)Xb4Du@SW` zp5|wK0s+M~=ZLnw`{DNgfc7xLZ_x;UoR4Ni1Rrz6;!;M~PBfx9LYtxXvC$~znw|uX zPRh3zAH-g$0CyL#Cu!93Xr6SB@CTsdiySv%Gf-|kh9Xxp596Nh5E7ZE?ZMKj`fa>KGf8&W0ZpizCOIX@qJ!jD3j~+=Az|8gV)~1@lQI=_SM#7l9}G6s22@V2CZ= z9F-y73ot}pgx*<9AX$k|ew)MLm`a7{Z@Gda4H?-@X++MUN1sWCvun z2guf;jW}L1*A)|PC42BXwAdFHf7*-ZVF|t1fnT(~FgR^jy|r4GKGot#a?Rs+%f#Vs znFdNsnPJ`MjN|Y1nbN_Gsg}|Uv_;Ho4fjD{H`&>q8^~&K9gZ)J&B~Z%nX!`>i;}KN zJ?J$|&Bw0z8diazZJIxujud;!j?p>!COpPTL)4|u)*9EoL}`B{Lrwd6#)yd=q1 z<#(=9W3~A#9{~&8#X&9JummX8v(X4w{}2WbX8Dp^stSq9$191-OLu;|2j{1)iA~!e zXmKa+r+e$I%XNEpwyckNFcu&6JNNF1X~HE%Y5t~dpYCm0KlZ_tJu!`V;EUS1VZOhz zw@z0&Zub#aL;TJSP1|{ihrZg=l#@eem>O}gskj0oQ8Ea4lOfs!TgbiZ0WgBe(~~wB zTyJQuft1;^)3-^ot@K)#*x9czsl^!oiA-LMF`ZcOSeLOUeo1VzOlmB_UEBT%LtWEr za13A--HdE~1qnBE8?5W;AOlV@tYQ^pC6}#-$G%EF$v`IzR!O#H7}Un-I;j`^wNpaJ z!dK7=63X6V!!2_dCMt%J%AZRkwOq0-9D5oo0GWz6LOg>G2dzk42|)dJF?Ebu>K^K(I*DV;baN(DYbZ z*xvN`7POY9M+^3)fb8c^KgHAIGotb*i23}u)8jJ`u~XCIm$c-_Mc`FnSMBtenT;ko zJ3Z_WD_xu(RW}ArkN;qTwJ|-i5ra~u$Mx8if^nL8`)QpXT#a8BuySA^BA)Oa`E0Z- zCAH$Xc=75p;w?D*eJLrGF8F43pk96W`%M{i!@9D}>X+4E3lf-V_1n#YvHPD%5-{d2mNq)eI@n{faq zp*HWaCP}r=q{7%s=y$|5y&Pv?D|7>OLn$*aDw*AsK50+PY-ot44SSkNAzW>i-onG3 z-;xH|xdA%F8T(f#7UUV;E|d$s5L$&4%n)2q&$Y`@u3gTCcBu>2F1V^+Dm?6qh1U3P z&(59iHSMH+Vjj!^u(o+It`qSyvi8J`2MkhS1vMpfm)`7t27t`x?V4R)e0J5h;O%>^ zkNxNaB-k;BYL~vh2f4Q^(8r#g726$AJNHU&(T+nf6ck%hN{+vjqQeDj244jwPO2=q z%g)Y$)S#==E2K3~Liyc5n_8tWbJUC>!h+Z17AuCYHF68jY)Der=9rID0t z5N!^Z*q19{3|Ay}3v^t^r0gs#D+MfjVQ^?*xiBIuFYz@4kVJ*0q*JhzTwOI_JM51s zWq^DqC7!jCqYn%BP_{VZi~Qo&RnGoWUXqk%etr7{JJcJ=mK@{?$w#h*)y-$kvm%te$;OLF{&Qch{y(Na^;uDA)iQ{9q6ZeFZ-woSmP;Tnjcp zE}(^oQ)z%KCvQ4n2u+Cy$C+VpJck+388}XhYWdj!(HbCQ$jRj+$Q8~~%+L-L&g*ay zgB8wJSmr`X{%nApT6^@zH$a9$2Wt3X5d=*K{P0J(lfnE@LlMWHr~&dOBv!Zq;vj7q zW&9Ur9|uEK`c4^)_T$r?g+(?%zAaV8n7gkl z5lao%9=C?U(oA954u=&6$aFG5_7GeAa0BF7$QBW-Xt_c)KsH}a55p3Vg&QElP!I-4 z1A^m9baHf%s*65nJ6vLDfzESqRpDnF~8@ zx1C)|s}7VY%)Q-dh;H$1$^-SMy(OML zOZgV$n&3$($cq*d3HKEKjy&Y`2^m?InFbtAdWSbKp7duuGhK!`7&Jcu10Vbe0N+Xg zPZ)Yq0Dp}k?kvFjhC~4Pk7xh@PafV`fWf!gb=+|fY8|ZOHql0i@TFcXp=rWNc~BFy z@O+G=!Jf@H}bdn3h6Ui z%jX%eP{KAtCP5gL&&9Vm2%EP_M%ARpIb+jf9kISR{Ekkm8AE9&)U+3}ut4{khSrm< zplN6|zIVPM-~qbLIL9;Aq9qhIs1VT8E7+`bf7?*Ysok= z;|@x)(U7_>qi)ujp8W9CBX-{?_b$f>t%&lP?5Rhoj@@gR1UdTJBt9+MOd-P6r+}wd zC_F*HDPP1`br#3BuKf{kyzt6S<2WP~9tEwSzreA*6bK!>rc4DX{Fk7WV7QRabYc$& z1e5u;hQK8xWDU}JStO0n+?0#Dr?Ncl2JcGyT`iB@EM00ptUNLmNIJ?_fZrj+=DWI~ zQj|G-x?hWB7);3PEg2il4?hBf2HQ)qt&fsdnI9>~cOo7fU!cPWIzh#2Pf$qd+DW?UQ0)CI(qzn9)i-Mp=Jic~8r9%_zS=}LKMGygo!njxP^&-v#C|Hefz zc*1{EKh{WDUOs?52F3`0)Mm*)g_cB$gFlez`_ye*ouzH}FX9NPJobvNQXQIpARe{2+h*l1{}i*lId(2whj<7_xA z^p-lkgD0M#wW$Gk0AtqzlS-YQL4y+XMH!(Hff15FQfeC75=KHqOmiw5@u^lylN2Fi zvkl1*;kDf6pol$%Jk|C@^0}R!BE8O0r&_)x;{)@t)CAseC*U)cB zpc4&9L6vBcIn`#eM>j$ccn#yx;Z6J!2PzdO_4L@Z!^J5w0isD@Gs({0NffH^=E!uU@^F)dYa+=7glqZtX zMAF1a(24YrOR%p-*p_P`6oRJz|K=A6BAUsT{9Gi|`xpEqsKN`h<~R1IrZyo_-qBpd zr+K2T-&}wRkwlDoy#;eKqtX0uU;4I_j;W+JWqgV}o=2s;1e(rUVCvVJAJO4`>ZchW zms)w#oM!}A2fiO8E) zYD4rohz6X|U~|slILv_{%4jXUGSI%JKUqAG1cSi>sJ(`4@Mm|<5joV2jk@tgqkxtc z2t|WyCfeC|h}S?q5!YlXP7G&Eo?UdTR4<>VvdH;GE1^gP1La~P>b8u24mS)r54L z#rX?(p{b4AT4hAIU`$`8=W7Y8TMJKHqve6Co@nfon z4=!o9&r_os?g?~qx>Q5=Ko@dSUqQw;Rl`3n)*#+#)vz43x}X{!z!IKN4ZqDe-E;i( zN)WmAAk}a_Bv{9)VL;MVvP3)Z1(_zi>|a5#C@@HqGM+E)!v!B_5zYPcH$OQ?ns z(@ryRT$kVU7gAqq8GLVgKq z;DjB84m$tkhk3a?%rZ3K&kv6HQ52x9%{b{`NUQPP4RRqY(VOkTR-KZ*Q#?c2v|Aw- z>V3I%(jVcq1T1sRFy~`|>KRzmFa%KRa&SA0SoR9vX=-x&o!!_{-hj`9;-$UWqx9_; z)Lb9YTy#m_iHQGe88R>&flr)VmgpMV8-ej-14W-oz0lW}K!gD#?Q0wEsd4m!KW$#S zRa#g3xdnI_yRX~UeDLMo8;TCTJQWx#<*8pZNsOYojGFpALB<*U{Pl@}vZ8ak2f;+^ z<>`nQ%IC4qz`~N(mSATu!lcj2#PayJs0`D5>J(bAOT>cR=`f?S z$dJ#nc&84|CGzgL5L-90$-pb0d$FOaz#MOxh4;z)P72)uiDzen(4*ueKLgKm3p`mymez+}nDHXFfZr|c$ucn=zJjW7Mr6k$ zNK|TJpwED#uz4tUf5;!3&X7OmEVR<ZwSKKCOl3foT%3H9KA!Z;;k`erXV31~4m0sQQG0 zgCl#~;FCXS{_~V(kT2PD-0Smr*xT ztlw_PXD`7|;y1u_r`SS0y96WF(F|1)0Uq6U0FN0K6_2H4QH=hQ@K_(fgrdc3Y@cO-NTkKu&JOJ)_19RtzKXhwK62JrY3 zkL3Z6;cepaB?hun<8k;J6%Xo0#^Y=SkB7*!uV>Ho?iwCb36IZvs(6?<9{UK7O#wVU z1F`vd+y(0<@^~C1#^?-R4GrKy-N<-Mz?9*9^|$Ld9v@@cc7?AN5*}v<@VFXgkTm)` z!ed7OkFyj!mRsAx<6Nvxb_$PTnqq>ls2drNg@}rBJbW~L>Y2HVc&s5jCiGCpV-C&e z(fbLHtpPl8`r|3hkKI?}L&W)U9|_;ijK?x!O@Rk>Bjd3SK~Rpz0D(s~L{C@7V=v*c z(4^wAnr8Iq!-Pju01pq$aE?bpn|Qp1SVE`pXd>1Wcu+So9!DUiI3ANp4AirE5ItSN zqx*-zV_kO@k9{Ewm!m%&(nlh^>Y_P?Dz&6P;O7)(66ZTbTw74kj8EcSg z8}zrJtokD1klCO~OBchX6!6PPf*h=fGwiG%pv$^~=2ITwe4T z+6yU4d(()9uXhWfp-jCwXq~-F{9MoFkQP5-mVoH!%qWv&70SDcj5<~Zh0OcX5Cn7+ z

u}Brag87Y59x{G~?4z@bUs2u{)pr%Y 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 diff --git a/ace_fcs.dll b/ace_fcs.dll index 71fbba7d924bed48d439068714078f3bfa864f62..4d8790b150909314ec9dc27e99083dc276ffcd99 100644 GIT binary patch literal 784384 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