Rangetable Builder and Prepcalc

This commit is contained in:
PabstMirror 2015-04-05 16:28:12 -05:00
parent 61a0ae1aec
commit 3e77eb9737
7 changed files with 447 additions and 255 deletions

View File

@ -2,6 +2,13 @@
ADDON = false;
PREP(dev_buildTable);
PREP(dev_formatNumber);
PREP(dev_simulateCalcRangeTableLine);
PREP(dev_simulateFindSolution);
PREP(dev_simulateShot);
PREP(handleFired);
PREP(handlePlayerVehicleChanged);
PREP(moduleInit);

View File

@ -0,0 +1,77 @@
/*
Name: AGM_Artillery_fnc_dev_buildTable
Author: Pabst Mirror
Description:
DEV function to build mortar tables, very cpu intensive (never used durring normal gameplay)
Parameters: (normal BIS "Fired" EH stuff)
0: NUMBER - Muzzle Velocity
1: NUMBER - Air Friction
Returns:
Data in clipboard
Example:
[100, -0.0001] spawn AGM_Artillery_fnc_dev_buildTable; //spawn (scheduled) is slower
[100, -0.0001] call AGM_Artillery_fnc_dev_buildTable; //faster, but will lock while processing
*/
#include "script_component.hpp"
private ["_muzzleVelocity", "_airFriction", "_stillInRange", "_currentRange", "_increasePerRow", "_outputArray", "_rangeToHit", "_lineElevation", "_lineHeightElevation", "_lineTimeOfFlight", "_lineCrosswindDeg", "_lineHeadwindMeters", "_lineTailWindMeters", "_lineTempDec", "_lineTempInc", "_lineAirDensDec", "_lineAirDensInc", "_result", "_outputString"];
_muzzleVelocity = _this select 0;
_airFriction = _this select 1;
_stillInRange = true;
_currentRange = 100;
_increasePerRow = 50;
_outputArray = [];
//[_rangeToHit, _lineElevation, _lineHeightElevation, _lineTimeOfFlight, _lineCrosswindDeg, _lineHeadwindMeters, _lineTailWindMeters, _lineTempDec, _lineTempInc, _lineAirDensDec, _lineAirDensInc]
while {_stillInRange} do {
_result = [_muzzleVelocity, _currentRange, _airFriction] call FUNC(dev_simulateCalcRangeTableLine);
if (_result isEqualTo []) then {
_stillInRange = false;
} else {
if ((_result select 1) < 86) then {
_outputArray pushBack [
([(_result select 0), "meters", false] call FUNC(dev_formatNumber)),
([(_result select 1), "mil", true] call FUNC(dev_formatNumber)),
([(_result select 2), "mil", true] call FUNC(dev_formatNumber)),
([(_result select 3), "sec", false] call FUNC(dev_formatNumber)),
([(_result select 4), "milPrecise", true] call FUNC(dev_formatNumber)),
([(_result select 5), "metersprecise", false] call FUNC(dev_formatNumber)),
([(_result select 6), "metersprecise", false] call FUNC(dev_formatNumber)),
([(_result select 7), "metersprecise", false] call FUNC(dev_formatNumber)),
([(_result select 8), "metersprecise", false] call FUNC(dev_formatNumber)),
([(_result select 9), "metersprecise", false] call FUNC(dev_formatNumber)),
([(_result select 10), "metersprecise", false] call FUNC(dev_formatNumber))
];
};
_currentRange = _currentRange + _increasePerRow;
};
hint str _currentRange;
};
//handle floating point rounding errors
_outputString = format ["case ((abs(_muzzleVelocity - %1) < 0.00001) && ((abs(_airFriction - %2) < 0.00001))): {
[
", _muzzleVelocity, _airFriction];
{
if (_forEachIndex < ((count _outputArray) - 1)) then {
_outputString = _outputString + format ["%1,
", _x];
} else {
_outputString = _outputString + format ["%1
]
};", _x];
};
} forEach _outputArray;
copyToClipboard _outputString;
hint "done";

View File

@ -0,0 +1,83 @@
/*
Name: AGM_Artillery_fnc_formatNumber
Author: Pabst Mirror
Description:
Converts numbers into nicely formated strings.
Parameters:
0: NUMBER - Input number
1: STRING - Output type (see case statement)
2: BOOL - If output type is mil, convert input type from deg->mil
Returns:
STRING - Formatted number
Example:
[45, "mil4", true] call AGM_Artillery_fnc_formatNumber = "0800"
*/
#include "script_component.hpp"
private ["_theNumber", "_inputType", "_convertToMils", "_decimalPlaces", "_integerPlaces", "_prefix", "_return"];
_theNumber = _this select 0;
_inputType = _this select 1;
_convertToMils = _this select 2;
_decimalPlaces = -1;
_integerPlaces = -1;
switch (toLower _inputType) do {
case ("meters"): {
_decimalPlaces = 0;
_integerPlaces = 1;
};
case ("metersprecise"): {
_decimalPlaces = 1;
_integerPlaces = 1;
};
case ("meters4"): {
_decimalPlaces = 0;
_integerPlaces = 4;
};
case ("deg3precise"): {
_decimalPlaces = 2;
_integerPlaces = 3;
};
case ("mil"): {
_decimalPlaces = 0;
_integerPlaces = 1;
if (_convertToMils) then {
_theNumber = _theNumber * (6400 / 360);
};
};
case ("mil4"): {
_decimalPlaces = 0;
_integerPlaces = 4;
if (_convertToMils) then {
_theNumber = _theNumber * (6400 / 360);
};
};
case ("milprecise"): {
_decimalPlaces = 1;
_integerPlaces = 1;
if (_convertToMils) then {
_theNumber = _theNumber * (6400 / 360);
};
};
case ("sec"): {
_decimalPlaces = 1;
_integerPlaces = 1;
};
default {systemChat format ["badtype %1", _inputType];};
};
//CBA_fnc_formatNumber is stupid: [-9.58545, 1, 1, false] call CBA_fnc_formatNumber == "-9.-6"
_prefix = if (_theNumber < 0) then {"-"} else {""};
_return = [abs (_theNumber), _integerPlaces, _decimalPlaces, false] call CBA_fnc_formatNumber;
(_prefix + _return)

View File

@ -0,0 +1,81 @@
/*
Name: AGM_Artillery_fnc_simulateCalcRangeTableLine
Author: Pabst Mirror
Description:
Builds a rangeTable line for a certian range, given muzzle velocity and air friction, returns [] if out of range.
Parameters:
0: NUMBER - Muzzle Velocity
1: NUMBER - Air Friction
2: NUMBER - Range To Hit
Returns:
ARRAY - Range Table Line Data (see return line)
Example:
[300, -0.0001, 3000] call AGM_Artillery_fnc_simulateCalcRangeTableLine
*/
#include "script_component.hpp"
#define TIME_STEP (1/50)
private ["_startTime", "_muzzleVelocity", "_rangeToHit", "_airFriction", "_vacElevation", "_radicand", "_maxElev", "_minElev", "_error", "_solutionElevation", "_lastTestResult", "_numberOfAttempts", "_lineElevation", "_lineTimeOfFlight", "_lineHeightElevation", "_lineHeightTime", "_lineCrosswindDeg", "_lineHeadwindMeters", "_lineTailWindMeters", "_result"];
_startTime = diag_tickTime;
_muzzleVelocity = _this select 0;
_rangeToHit = _this select 1;
_airFriction = _this select 2;
//Run Binary search for correct elevation
_solution = [_rangeToHit, 0, _muzzleVelocity, _airFriction, TIME_STEP] call FUNC(dev_simulateFindSolution);
if (_solution isEqualTo []) exitWith {[]};
//Real Elevation
_lineElevation = _solution select 0;
//Time Of Flight:
_lineTimeOfFlight = _solution select 1;
//Height Adjustment for -100m (another binary search)
_solution = [_rangeToHit, -100, _muzzleVelocity, _airFriction, TIME_STEP] call FUNC(dev_simulateFindSolution);
if (_solution isEqualTo []) exitWith {[]};//should never be triggered (lower elevation easier to hit)
_lineHeightElevation = ((_solution select 0) - _lineElevation);
// _lineHeightTime = (_lastTestResult select 1) - _lineTimeOfFlight;
//Compute for 10x and divide to minimize rounding errors
//Crosswind
_lastTestResult = [_lineElevation, _muzzleVelocity, _airFriction, 15, 1, 0, 10, 0, TIME_STEP] call FUNC(dev_simulateShot);
_lineCrosswindDeg = (_lastTestResult select 2) / 10;
//Headwind:
_lastTestResult = [_lineElevation, _muzzleVelocity, _airFriction, 15, 1, -10, 0, 0, TIME_STEP] call FUNC(dev_simulateShot);
_lineHeadwindMeters = (_rangeToHit - (_lastTestResult select 0)) / 10;
//TailWind:
_lastTestResult = [_lineElevation, _muzzleVelocity, _airFriction, 15, 1, 10, 0, 0, TIME_STEP] call FUNC(dev_simulateShot);
_lineTailWindMeters = (_rangeToHit - (_lastTestResult select 0)) / 10;
//Air Temp Dec
_lastTestResult = [_lineElevation, _muzzleVelocity, _airFriction, (15 - 10), 1, 0, 0, 0, TIME_STEP] call FUNC(dev_simulateShot);
_lineTempDec = (_rangeToHit - (_lastTestResult select 0)) / 10;
//Air Temp Inc
_lastTestResult = [_lineElevation, _muzzleVelocity, _airFriction, (15 + 10), 1, 0, 0, 0, TIME_STEP] call FUNC(dev_simulateShot);
_lineTempInc = (_rangeToHit - (_lastTestResult select 0)) / 10;
//Air Density Dec
_lastTestResult = [_lineElevation, _muzzleVelocity, _airFriction, 15, 0.9, 0, 0, 0, TIME_STEP] call FUNC(dev_simulateShot);
_lineAirDensDec = (_rangeToHit - (_lastTestResult select 0)) / 10;
//Air Density Inc
_lastTestResult = [_lineElevation, _muzzleVelocity, _airFriction, 15, 1.1, 0, 0, 0, TIME_STEP] call FUNC(dev_simulateShot);
_lineAirDensInc = (_rangeToHit - (_lastTestResult select 0)) / 10;
// systemChat format ["debug: Range %1 - in %2 sec", _rangeToHit, (diag_tickTime - _startTime)];
[_rangeToHit, _lineElevation, _lineHeightElevation, _lineTimeOfFlight, _lineCrosswindDeg, _lineHeadwindMeters, _lineTailWindMeters, _lineTempDec, _lineTempInc, _lineAirDensDec, _lineAirDensInc]

View File

@ -0,0 +1,57 @@
/*
Name: FUNC(simulateFindSolution)
Author: Pabst Mirror
Description:
Converts numbers into nicely formated strings.
Parameters:
0: NUMBER - Range to Hit (Meters)
1: NUMBER - Height To Hit (Meters)
2: NUMBER - Muzzle Velocity (M/S)
3: NUMBER - Air Friction
4: NUMBER - Time Step (seconds) (eg 1/50 will simulate 50 cycles per second)
Returns:
ARRAY - [NUMBER - Elevation In Degrees, NUMBER - Shot Durration]
Example:
[_rangeToHit, _heightToHit, _muzzleVelocity, _airFriction, TIME_STEP] call FUNC(simulateFindSolution);
*/
#include "script_component.hpp"
private ["_rangeToHit", "_heightToHit", "_muzzleVelocity", "_airFriction", "_maxElev", "_minElev", "_error", "_solutionElevation", "_lastTestResult", "_numberOfAttempts"];
#define MAX_ATTEMPTS 22
_rangeToHit = _this select 0;
_heightToHit = _this select 1;
_muzzleVelocity = _this select 2;
_airFriction = _this select 3;
_timeStep = _this select 4;
_maxElev = 90;
_minElev = 45; //todo - Low Angle Howitzers???
_error = 10000;
_solutionElevation = -1;
_lastTestResult = [];
_numberOfAttempts = 0;
//(binary search)
while {(_numberOfAttempts < MAX_ATTEMPTS) && ((abs _error) > 0.2)} do {
_numberOfAttempts = _numberOfAttempts + 1;
_solutionElevation = (_maxElev + _minElev) / 2;
_lastTestResult = [_solutionElevation, _muzzleVelocity, _airFriction, 15, 1, 0, 0, _heightToHit, _timeStep] call FUNC(dev_simulateShot);
_error = _rangeToHit - (_lastTestResult select 0);
if (_error > 0) then {
_maxElev = _solutionElevation; //test range was short
} else {
_minElev = _solutionElevation; //test range was long
};
};
if (_numberOfAttempts >= MAX_ATTEMPTS) exitWith {[]};
//return the elevation and time required
[_solutionElevation, (_lastTestResult select 1)]

View File

@ -0,0 +1,78 @@
/*
Name: simulateShot
Author: Pabst Mirror
Description:
Simulates the path of a fired shell.
Parameters:
0: NUMBER - Shot Angle (degrees)
1: NUMBER - Muzzle Velocity (m/s)
2: NUMBER - Air Friction
3: NUMBER - Tempeture (degres celcius)
4: NUMBER - Relative Air Denisty
5: NUMBER - Tail Wind (m/s)
6: NUMBER - Cross Wind (m/s)
7: NUMBER - Height Of Target (M)
8: NUMBER - Time Step (fraction of a second)
Returns:
ARRAY -
NUMBER - Distance Traveld
NUMBER - Shot Time
NUMBER - Offset (degrees)
Example:
[45, 180, -0.0001, 15, 1, 10, 0, 0, 1/50] call simulateShot;
*/
#include "script_component.hpp"
private ["_angleDeg", "_muzzleVelocity", "_airFriction", "_temp", "_relDensity", "_tailWind", "_crosswind", "_heightOfTarget", "_wind", "_gravity", "_timeStep", "_currentPos", "_currentVelocity", "_currentTime", "_lastPos", "_kCoefficent", "_aparentWind", "_changeInVelocity", "_linConversion", "_middlePos", "_middlePosOld", "_middleTotalTravelTime", "_offsetDeg"];
_angleDeg = _this select 0;
_muzzleVelocity = _this select 1;
_airFriction = _this select 2;
_temp = _this select 3;
_relDensity = _this select 4;
_tailWind = _this select 5;
_crosswind = _this select 6;
_heightOfTarget = _this select 7;
_timeStep = _this select 8;
_wind = [_crosswind, _tailWind, 0];
_gravity = [0,0,-9.8];
_currentPos = [0,0,0];
_muzzleVelocity = _muzzleVelocity * (1 + ((((_temp + 273.13) / 288.13 - 1) / 2.5 + 1 ) - 1));
_currentVelocity = [0, (_muzzleVelocity * cos _angleDeg), (_muzzleVelocity * sin _angleDeg)];
_currentTime = 0;
_lastPos = _currentPos;
_kCoefficent = -1 * _relDensity * _airFriction; //save time in the loop and compute once
while {((_currentVelocity select 2) > 0) || ((_currentPos select 2) >= _heightOfTarget)} do {
_lastPos = _currentPos;
_aparentWind = _wind vectorDiff _currentVelocity;
_changeInVelocity = _gravity vectorAdd (_aparentWind vectorMultiply ((vectorMagnitude _aparentWind) * _kCoefficent));
_currentVelocity = _currentVelocity vectorAdd (_changeInVelocity vectorMultiply _timeStep);
_currentPos = _currentPos vectorAdd (_currentVelocity vectorMultiply _timeStep);
_currentTime = _currentTime + _timeStep;
};
//Uses linearConversion to get a weighted average betwen points before and after dropping below target height
_linConversion = linearConversion [(_lastPos select 2), (_currentPos select 2), _heightOfTarget, 0, 1, true];
_middlePos = (_lastPos vectorMultiply (1 - _linConversion)) vectorAdd (_currentPos vectorMultiply (_linConversion));
// _middlePosOld = (_lastPos vectorAdd _currentPos) vectorMultiply 0.5;
//Same to find travel time
_middleTotalTravelTime = _currentTime - (_timeStep * (1-_linConversion));
//Find shot offset (from crosswind), in degrees
_offsetDeg = (_middlePos select 0) aTan2 (_middlePos select 1);
[(_middlePos select 1), _middleTotalTravelTime, _offsetDeg]

View File

@ -18,268 +18,77 @@ PARAMS_2(_muzzleVelocity,_airFriction);
switch (true) do {
case ((abs(_muzzleVelocity - 60) < 0.00001) && ((abs(_airFriction - -0.0001) < 0.00001))): {
case ((abs(_muzzleVelocity - 70) < 0.00001) && ((abs(_airFriction - -0.0001) < 0.00001))): {
[
["100","1455","16","12.0","2.4","0.3","-0.2","0.3","-0.3","-0.0","0.0"],
["150","1379","26","11.8","1.6","0.3","-0.2","0.4","-0.4","-0.0","0.1"],
["200","1296","39","11.6","1.2","0.4","-0.3","0.5","-0.5","-0.0","0.1"],
["250","1204","57","11.2","1.0","0.4","-0.3","0.7","-0.7","-0.1","0.1"],
["300","1089","88","10.6","0.8","0.4","-0.3","0.8","-0.8","-0.1","0.1"],
["350","894","187","9.3","0.6","0.4","-0.3","0.9","-0.9","-0.1","0.1"]
["100","1493","9","14.0","3.7","0.4","-0.3","0.3","-0.3","-0.0","0.0"],
["150","1438","14","13.9","2.5","0.4","-0.4","0.4","-0.4","-0.1","0.0"],
["200","1381","20","13.8","1.9","0.5","-0.4","0.5","-0.5","-0.1","0.1"],
["250","1321","27","13.6","1.5","0.5","-0.4","0.7","-0.7","-0.1","0.1"],
["300","1256","36","13.3","1.3","0.6","-0.5","0.8","-0.8","-0.1","0.1"],
["350","1183","49","12.9","1.1","0.6","-0.5","0.9","-0.9","-0.1","0.1"],
["400","1097","70","12.4","0.9","0.6","-0.5","1.1","-1.1","-0.2","0.1"],
["450","979","113","11.6","0.8","0.6","-0.5","1.2","-1.2","-0.2","0.2"]
]
};
case ((abs(_muzzleVelocity - 120) < 0.00001) && ((abs(_airFriction - -0.0001) < 0.00001))): {
case ((abs(_muzzleVelocity - 200) < 0.00001) && ((abs(_airFriction - -0.0001) < 0.00001))): {
[
["200","1523","3","23.6","8.2","1.7","-1.6","0.5","-0.5","-0.2","0.2"],
["250","1503","3","23.5","6.6","1.8","-1.6","0.6","-0.6","-0.2","0.2"],
["300","1483","4","23.5","5.5","1.8","-1.6","0.7","-0.8","-0.3","0.3"],
["350","1463","5","23.4","4.7","1.9","-1.7","0.9","-0.9","-0.4","0.3"],
["400","1443","5","23.4","4.2","1.9","-1.7","1.0","-1.0","-0.4","0.4"],
["450","1423","6","23.3","3.7","2.0","-1.7","1.1","-1.1","-0.5","0.4"],
["500","1402","7","23.2","3.4","2.0","-1.8","1.2","-1.3","-0.5","0.5"],
["550","1381","8","23.1","3.1","2.1","-1.8","1.4","-1.4","-0.6","0.5"],
["600","1359","9","23.0","2.8","2.2","-1.9","1.5","-1.5","-0.6","0.6"],
["650","1337","10","22.9","2.6","2.2","-1.9","1.6","-1.6","-0.7","0.7"],
["700","1314","11","22.7","2.4","2.3","-2.0","1.7","-1.7","-0.7","0.7"],
["750","1291","13","22.6","2.3","2.4","-2.0","1.9","-1.9","-0.8","0.8"],
["800","1267","14","22.4","2.1","2.4","-2.1","2.0","-2.0","-0.8","0.8"],
["850","1241","16","22.2","2.0","2.5","-2.1","2.1","-2.1","-0.9","0.9"],
["900","1215","17","22.0","1.9","2.5","-2.2","2.2","-2.2","-0.9","0.9"],
["950","1187","20","21.7","1.8","2.6","-2.3","2.3","-2.4","-1.0","1.0"],
["1000","1158","23","21.5","1.7","2.6","-2.3","2.5","-2.5","-1.1","1.0"],
["1050","1127","26","21.1","1.6","2.7","-2.4","2.6","-2.6","-1.1","1.1"],
["1100","1092","30","20.8","1.5","2.7","-2.4","2.7","-2.8","-1.2","1.1"],
["1150","1054","36","20.4","1.4","2.7","-2.4","2.9","-2.9","-1.2","1.2"],
["1200","1011","45","19.8","1.3","2.7","-2.5","3.0","-3.0","-1.3","1.2"],
["1250","957","59","19.1","1.2","2.7","-2.4","3.1","-3.1","-1.3","1.3"],
["1300","876","94","18.0","1.1","2.6","-2.4","3.2","-3.3","-1.3","1.3"]
["450","1527","1","37.3","13.4","6.3","-6.0","1.0","-1.0","-1.0","1.0"],
["500","1519","1","37.2","12.1","6.3","-6.0","1.1","-1.1","-1.1","1.1"],
["550","1510","1","37.2","11.0","6.4","-6.0","1.2","-1.2","-1.3","1.2"],
["600","1502","1","37.2","10.1","6.4","-6.1","1.3","-1.3","-1.4","1.3"],
["650","1494","1","37.2","9.4","6.5","-6.1","1.4","-1.4","-1.5","1.4"],
["700","1485","2","37.1","8.7","6.5","-6.2","1.5","-1.5","-1.6","1.5"],
["750","1477","2","37.1","8.2","6.6","-6.2","1.6","-1.6","-1.7","1.6"],
["800","1468","2","37.0","7.7","6.7","-6.3","1.7","-1.7","-1.8","1.8"],
["850","1460","2","37.0","7.2","6.7","-6.3","1.8","-1.8","-2.0","1.9"],
["900","1451","2","37.0","6.8","6.8","-6.4","1.9","-2.0","-2.1","2.0"],
["950","1443","2","36.9","6.5","6.9","-6.4","2.0","-2.1","-2.2","2.1"],
["1000","1434","2","36.9","6.2","6.9","-6.5","2.1","-2.2","-2.3","2.2"],
["1050","1425","2","36.8","5.9","7.0","-6.6","2.2","-2.3","-2.5","2.3"],
["1100","1417","3","36.8","5.6","7.1","-6.6","2.3","-2.4","-2.6","2.4"],
["1150","1408","3","36.7","5.4","7.1","-6.7","2.5","-2.5","-2.7","2.5"],
["1200","1399","3","36.6","5.2","7.2","-6.7","2.6","-2.6","-2.8","2.7"],
["1250","1390","3","36.6","5.0","7.3","-6.8","2.7","-2.7","-2.9","2.8"],
["1300","1381","3","36.5","4.8","7.4","-6.9","2.8","-2.8","-3.0","2.9"],
["1350","1372","3","36.4","4.6","7.4","-6.9","2.9","-2.9","-3.2","3.0"],
["1400","1362","4","36.4","4.4","7.5","-7.0","3.0","-3.0","-3.3","3.1"],
["1450","1353","4","36.3","4.3","7.6","-7.1","3.1","-3.1","-3.4","3.2"],
["1500","1344","4","36.2","4.2","7.7","-7.1","3.2","-3.2","-3.5","3.4"],
["1550","1334","4","36.1","4.0","7.7","-7.2","3.3","-3.3","-3.7","3.5"],
["1600","1324","4","36.0","3.9","7.8","-7.3","3.4","-3.4","-3.8","3.6"],
["1650","1314","4","35.9","3.8","7.9","-7.3","3.5","-3.5","-3.9","3.7"],
["1700","1304","5","35.8","3.7","7.9","-7.4","3.6","-3.6","-4.0","3.8"],
["1750","1294","5","35.7","3.6","8.0","-7.5","3.7","-3.7","-4.2","3.9"],
["1800","1284","5","35.6","3.5","8.1","-7.6","3.8","-3.9","-4.3","4.0"],
["1850","1274","5","35.5","3.4","8.2","-7.6","3.9","-4.0","-4.4","4.2"],
["1900","1263","6","35.4","3.3","8.2","-7.7","4.0","-4.1","-4.5","4.3"],
["1950","1253","6","35.2","3.2","8.3","-7.8","4.1","-4.2","-4.7","4.4"],
["2000","1242","6","35.1","3.1","8.4","-7.8","4.3","-4.3","-4.8","4.5"],
["2050","1231","7","35.0","3.0","8.4","-7.9","4.4","-4.4","-4.9","4.7"],
["2100","1219","7","34.8","2.9","8.5","-8.0","4.5","-4.5","-5.0","4.8"],
["2150","1208","7","34.7","2.9","8.5","-8.0","4.6","-4.6","-5.2","4.9"],
["2200","1196","8","34.5","2.8","8.6","-8.1","4.7","-4.7","-5.3","5.0"],
["2250","1184","8","34.3","2.7","8.7","-8.2","4.8","-4.8","-5.4","5.1"],
["2300","1171","9","34.2","2.7","8.7","-8.2","4.9","-4.9","-5.5","5.2"],
["2350","1158","9","34.0","2.6","8.8","-8.3","5.0","-5.0","-5.7","5.4"],
["2400","1145","10","33.8","2.5","8.8","-8.3","5.1","-5.1","-5.8","5.5"],
["2450","1132","10","33.6","2.5","8.9","-8.4","5.2","-5.2","-5.9","5.6"],
["2500","1118","11","33.3","2.4","8.9","-8.4","5.3","-5.3","-6.0","5.7"],
["2550","1103","12","33.1","2.4","9.0","-8.5","5.4","-5.4","-6.1","5.8"],
["2600","1088","13","32.8","2.3","9.0","-8.5","5.5","-5.5","-6.2","5.9"],
["2650","1072","14","32.6","2.2","9.0","-8.6","5.6","-5.6","-6.4","6.0"],
["2700","1056","15","32.3","2.2","9.0","-8.6","5.7","-5.8","-6.5","6.1"],
["2750","1038","16","31.9","2.1","9.1","-8.6","5.9","-5.9","-6.6","6.3"],
["2800","1020","18","31.6","2.1","9.1","-8.6","6.0","-6.0","-6.7","6.4"],
["2850","1000","20","31.2","2.0","9.1","-8.6","6.1","-6.1","-6.8","6.5"],
["2900","978","22","30.8","1.9","9.0","-8.6","6.2","-6.2","-6.9","6.5"],
["2950","954","26","30.3","1.9","9.0","-8.6","6.3","-6.3","-7.0","6.6"],
["3000","927","31","29.7","1.8","8.9","-8.5","6.4","-6.4","-7.1","6.7"],
["3050","894","38","29.0","1.7","8.8","-8.4","6.5","-6.6","-7.2","6.8"],
["3100","849","54","27.9","1.6","8.5","-8.3","6.6","-6.7","-7.2","6.8"]
]
};
case ((abs(_muzzleVelocity - 180) < 0.00001) && ((abs(_airFriction - -0.0001) < 0.00001))): {
[
["400","1523","1","34.0","11.7","4.9","-4.6","0.9","-0.9","-0.8","0.8"],
["450","1513","1","34.0","10.5","4.9","-4.7","1.0","-1.0","-0.9","0.8"],
["500","1504","2","34.0","9.4","5.0","-4.7","1.1","-1.1","-1.0","0.9"],
["550","1494","2","33.9","8.6","5.1","-4.7","1.2","-1.2","-1.1","1.0"],
["600","1484","2","33.9","7.9","5.1","-4.8","1.3","-1.4","-1.2","1.1"],
["650","1474","2","33.9","7.3","5.2","-4.8","1.5","-1.5","-1.3","1.2"],
["700","1464","2","33.8","6.8","5.2","-4.9","1.6","-1.6","-1.4","1.3"],
["750","1454","2","33.8","6.3","5.3","-4.9","1.7","-1.7","-1.5","1.4"],
["800","1444","3","33.7","6.0","5.4","-5.0","1.8","-1.8","-1.6","1.5"],
["850","1433","3","33.7","5.6","5.4","-5.0","1.9","-1.9","-1.7","1.6"],
["900","1423","3","33.6","5.3","5.5","-5.1","2.0","-2.0","-1.8","1.7"],
["950","1413","3","33.6","5.0","5.6","-5.1","2.1","-2.1","-1.9","1.8"],
["1000","1402","3","33.5","4.8","5.6","-5.2","2.2","-2.2","-2.0","1.9"],
["1050","1392","4","33.4","4.6","5.7","-5.3","2.3","-2.4","-2.1","2.0"],
["1100","1381","4","33.3","4.4","5.8","-5.3","2.5","-2.5","-2.2","2.1"],
["1150","1370","4","33.3","4.2","5.8","-5.4","2.6","-2.6","-2.3","2.2"],
["1200","1359","4","33.2","4.0","5.9","-5.5","2.7","-2.7","-2.4","2.3"],
["1250","1348","5","33.1","3.9","6.0","-5.5","2.8","-2.8","-2.5","2.4"],
["1300","1337","5","33.0","3.7","6.1","-5.6","2.9","-2.9","-2.6","2.5"],
["1350","1326","5","32.9","3.6","6.1","-5.6","3.0","-3.0","-2.7","2.6"],
["1400","1314","5","32.8","3.5","6.2","-5.7","3.1","-3.1","-2.8","2.7"],
["1450","1302","6","32.7","3.3","6.3","-5.8","3.2","-3.2","-2.9","2.8"],
["1500","1290","6","32.6","3.2","6.3","-5.9","3.3","-3.4","-3.1","2.9"],
["1550","1278","6","32.5","3.1","6.4","-5.9","3.4","-3.5","-3.2","3.0"],
["1600","1266","7","32.3","3.0","6.5","-6.0","3.5","-3.6","-3.3","3.1"],
["1650","1253","7","32.2","2.9","6.6","-6.1","3.7","-3.7","-3.4","3.2"],
["1700","1240","8","32.0","2.8","6.6","-6.1","3.8","-3.8","-3.5","3.3"],
["1750","1227","8","31.9","2.8","6.7","-6.2","3.9","-3.9","-3.6","3.4"],
["1800","1214","9","31.7","2.7","6.7","-6.3","4.0","-4.0","-3.7","3.5"],
["1850","1200","9","31.6","2.6","6.8","-6.3","4.1","-4.1","-3.8","3.6"],
["1900","1186","10","31.4","2.5","6.9","-6.4","4.2","-4.2","-3.9","3.7"],
["1950","1171","10","31.2","2.4","6.9","-6.5","4.3","-4.3","-4.0","3.8"],
["2000","1156","11","31.0","2.4","7.0","-6.5","4.4","-4.4","-4.1","3.9"],
["2050","1141","12","30.8","2.3","7.0","-6.6","4.5","-4.6","-4.2","4.0"],
["2100","1124","13","30.5","2.2","7.1","-6.6","4.7","-4.7","-4.3","4.1"],
["2150","1108","14","30.3","2.2","7.1","-6.6","4.8","-4.8","-4.4","4.2"],
["2200","1090","15","30.0","2.1","7.2","-6.7","4.9","-4.9","-4.5","4.3"],
["2250","1071","17","29.7","2.0","7.2","-6.7","5.0","-5.0","-4.6","4.4"],
["2300","1052","18","29.4","2.0","7.2","-6.8","5.1","-5.1","-4.7","4.5"],
["2350","1030","20","29.0","1.9","7.2","-6.8","5.2","-5.2","-4.8","4.6"],
["2400","1008","23","28.6","1.9","7.2","-6.8","5.3","-5.3","-4.9","4.7"],
["2450","983","26","28.2","1.8","7.2","-6.8","5.4","-5.4","-5.0","4.8"],
["2500","954","31","27.6","1.7","7.1","-6.8","5.6","-5.6","-5.1","4.9"],
["2550","921","38","27.0","1.6","7.1","-6.7","5.7","-5.7","-5.2","4.9"],
["2600","878","52","26.1","1.5","6.9","-6.6","5.8","-5.8","-5.2","5.0"]
]
};
case ((abs(_muzzleVelocity - 240) < 0.00001) && ((abs(_airFriction - -0.0001) < 0.00001))): {
[
["600","1526","1","43.3","15.3","9.5","-9.1","1.2","-1.2","-1.8","1.7"],
["650","1519","1","43.3","14.1","9.5","-9.2","1.3","-1.3","-1.9","1.8"],
["700","1513","1","43.3","13.2","9.6","-9.2","1.4","-1.4","-2.1","1.9"],
["750","1507","1","43.2","12.3","9.6","-9.2","1.5","-1.5","-2.2","2.1"],
["800","1500","1","43.2","11.5","9.7","-9.3","1.6","-1.6","-2.4","2.2"],
["850","1494","1","43.2","10.9","9.7","-9.3","1.7","-1.7","-2.5","2.4"],
["900","1488","1","43.2","10.3","9.8","-9.4","1.8","-1.8","-2.7","2.5"],
["950","1481","1","43.1","9.8","9.9","-9.4","1.9","-1.9","-2.8","2.7"],
["1000","1475","1","43.1","9.3","9.9","-9.5","2.0","-2.0","-3.0","2.8"],
["1050","1468","1","43.1","8.9","10.0","-9.5","2.1","-2.1","-3.1","2.9"],
["1100","1462","1","43.0","8.5","10.1","-9.6","2.2","-2.2","-3.3","3.1"],
["1150","1455","1","43.0","8.1","10.1","-9.6","2.3","-2.3","-3.4","3.2"],
["1200","1449","1","43.0","7.8","10.2","-9.7","2.4","-2.4","-3.6","3.4"],
["1250","1442","2","42.9","7.5","10.3","-9.8","2.5","-2.5","-3.7","3.5"],
["1300","1436","2","42.9","7.2","10.3","-9.8","2.6","-2.6","-3.9","3.6"],
["1350","1429","2","42.8","6.9","10.4","-9.9","2.7","-2.7","-4.0","3.8"],
["1400","1422","2","42.8","6.7","10.5","-10.0","2.8","-2.8","-4.2","3.9"],
["1450","1416","2","42.7","6.5","10.5","-10.0","2.9","-2.9","-4.4","4.1"],
["1500","1409","2","42.7","6.2","10.6","-10.1","3.0","-3.0","-4.5","4.2"],
["1550","1402","2","42.6","6.0","10.7","-10.2","3.0","-3.1","-4.7","4.4"],
["1600","1395","2","42.6","5.9","10.8","-10.2","3.1","-3.2","-4.8","4.5"],
["1650","1388","2","42.5","5.7","10.8","-10.3","3.2","-3.3","-5.0","4.7"],
["1700","1381","2","42.4","5.5","10.9","-10.4","3.3","-3.3","-5.1","4.8"],
["1750","1374","2","42.4","5.4","11.0","-10.4","3.4","-3.4","-5.3","4.9"],
["1800","1367","2","42.3","5.2","11.0","-10.5","3.5","-3.5","-5.4","5.1"],
["1850","1360","3","42.2","5.1","11.1","-10.6","3.6","-3.6","-5.6","5.2"],
["1900","1353","3","42.2","5.0","11.2","-10.6","3.7","-3.7","-5.8","5.4"],
["1950","1346","3","42.1","4.8","11.3","-10.7","3.8","-3.8","-5.9","5.5"],
["2000","1338","3","42.0","4.7","11.3","-10.8","3.9","-3.9","-6.1","5.7"],
["2050","1331","3","41.9","4.6","11.4","-10.9","4.0","-4.0","-6.2","5.8"],
["2100","1323","3","41.9","4.5","11.5","-10.9","4.1","-4.1","-6.4","6.0"],
["2150","1316","3","41.8","4.4","11.6","-11.0","4.2","-4.2","-6.5","6.1"],
["2200","1308","3","41.7","4.3","11.6","-11.1","4.3","-4.3","-6.7","6.3"],
["2250","1301","3","41.6","4.2","11.7","-11.1","4.4","-4.4","-6.9","6.4"],
["2300","1293","4","41.5","4.1","11.8","-11.2","4.5","-4.5","-7.0","6.6"],
["2350","1285","4","41.4","4.0","11.9","-11.3","4.6","-4.6","-7.2","6.7"],
["2400","1277","4","41.3","3.9","11.9","-11.3","4.7","-4.7","-7.3","6.9"],
["2450","1269","4","41.2","3.8","12.0","-11.4","4.8","-4.8","-7.5","7.0"],
["2500","1261","4","41.1","3.8","12.1","-11.5","4.9","-4.9","-7.7","7.1"],
["2550","1253","4","41.0","3.7","12.1","-11.6","5.0","-5.0","-7.8","7.3"],
["2600","1244","4","40.9","3.6","12.2","-11.6","5.1","-5.1","-8.0","7.4"],
["2650","1236","5","40.7","3.5","12.3","-11.7","5.2","-5.2","-8.1","7.6"],
["2700","1227","5","40.6","3.5","12.3","-11.8","5.3","-5.3","-8.3","7.7"],
["2750","1219","5","40.5","3.4","12.4","-11.8","5.4","-5.4","-8.4","7.9"],
["2800","1210","5","40.3","3.3","12.5","-11.9","5.5","-5.5","-8.6","8.0"],
["2850","1201","5","40.2","3.3","12.5","-12.0","5.6","-5.6","-8.8","8.2"],
["2900","1192","6","40.1","3.2","12.6","-12.0","5.7","-5.7","-8.9","8.3"],
["2950","1182","6","39.9","3.1","12.6","-12.1","5.8","-5.8","-9.1","8.5"],
["3000","1173","6","39.7","3.1","12.7","-12.2","5.9","-5.9","-9.2","8.6"],
["3050","1163","6","39.6","3.0","12.7","-12.2","6.0","-6.0","-9.4","8.8"],
["3100","1153","7","39.4","3.0","12.8","-12.3","6.1","-6.0","-9.5","8.9"],
["3150","1143","7","39.2","2.9","12.8","-12.3","6.1","-6.2","-9.7","9.0"],
["3200","1133","7","39.0","2.9","12.9","-12.4","6.3","-6.2","-9.8","9.2"],
["3250","1122","8","38.8","2.8","12.9","-12.4","6.4","-6.3","-10.0","9.3"],
["3300","1111","8","38.6","2.7","13.0","-12.5","6.4","-6.4","-10.2","9.5"],
["3350","1100","9","38.4","2.7","13.0","-12.5","6.5","-6.5","-10.3","9.6"],
["3400","1088","9","38.2","2.6","13.0","-12.5","6.6","-6.6","-10.5","9.8"],
["3450","1076","10","38.0","2.6","13.0","-12.6","6.7","-6.7","-10.6","9.9"],
["3500","1064","10","37.7","2.5","13.1","-12.6","6.9","-6.8","-10.7","10.0"],
["3550","1051","11","37.4","2.5","13.1","-12.6","7.0","-6.9","-10.9","10.2"],
["3600","1038","12","37.2","2.4","13.1","-12.6","7.0","-7.0","-11.0","10.3"],
["3650","1024","13","36.9","2.4","13.1","-12.6","7.2","-7.1","-11.2","10.4"],
["3700","1009","14","36.5","2.3","13.1","-12.6","7.2","-7.3","-11.3","10.5"],
["3750","993","15","36.2","2.3","13.0","-12.6","7.4","-7.3","-11.4","10.7"],
["3800","977","16","35.8","2.2","13.0","-12.6","7.5","-7.5","-11.6","10.8"],
["3850","959","18","35.4","2.2","13.0","-12.6","7.6","-7.6","-11.7","10.9"],
["3900","940","20","34.9","2.1","12.9","-12.5","7.7","-7.7","-11.8","11.0"],
["3950","918","23","34.4","2.0","12.8","-12.4","7.8","-7.8","-11.9","11.1"],
["4000","893","28","33.7","2.0","12.7","-12.3","7.9","-7.9","-12.0","11.2"],
["4050","863","35","32.9","1.9","12.5","-12.1","8.0","-8.0","-12.0","11.2"],
["4100","821","50","31.8","1.8","12.1","-11.8","8.2","-8.2","-12.0","11.2"]
]
};
case ((abs(_muzzleVelocity - 300) < 0.00001) && ((abs(_airFriction - -0.0001) < 0.00001))): {
[
["800","1527","0","51.4","18.2","15.0","-14.6","1.4","-1.4","-3.1","2.9"],
["850","1522","1","51.4","17.2","15.0","-14.6","1.5","-1.5","-3.3","3.0"],
["900","1517","1","51.4","16.2","15.0","-14.7","1.6","-1.6","-3.5","3.2"],
["950","1513","1","51.4","15.4","15.1","-14.7","1.7","-1.6","-3.7","3.4"],
["1000","1508","1","51.4","14.7","15.2","-14.8","1.7","-1.7","-3.9","3.6"],
["1050","1503","1","51.3","14.0","15.2","-14.8","1.8","-1.8","-4.1","3.8"],
["1100","1498","1","51.3","13.4","15.3","-14.8","1.9","-1.9","-4.3","3.9"],
["1150","1494","1","51.3","12.8","15.3","-14.9","2.0","-2.0","-4.5","4.1"],
["1200","1489","1","51.3","12.3","15.4","-14.9","2.1","-2.1","-4.7","4.3"],
["1250","1484","1","51.2","11.8","15.5","-15.0","2.2","-2.2","-4.9","4.5"],
["1300","1479","1","51.2","11.3","15.5","-15.0","2.3","-2.3","-5.1","4.7"],
["1350","1475","1","51.2","10.9","15.6","-15.1","2.3","-2.3","-5.3","4.8"],
["1400","1470","1","51.2","10.6","15.6","-15.1","2.4","-2.4","-5.5","5.0"],
["1450","1465","1","51.1","10.2","15.7","-15.2","2.5","-2.5","-5.7","5.2"],
["1500","1460","1","51.1","9.9","15.8","-15.3","2.6","-2.6","-5.9","5.4"],
["1550","1455","1","51.1","9.5","15.8","-15.3","2.7","-2.7","-6.1","5.6"],
["1600","1451","1","51.0","9.3","15.9","-15.4","2.8","-2.8","-6.3","5.8"],
["1650","1446","1","51.0","9.0","16.0","-15.4","2.9","-2.9","-6.5","5.9"],
["1700","1441","1","51.0","8.7","16.0","-15.5","3.0","-2.9","-6.7","6.1"],
["1750","1436","1","50.9","8.5","16.1","-15.6","3.0","-3.0","-6.9","6.3"],
["1800","1431","1","50.9","8.2","16.2","-15.6","3.1","-3.1","-7.1","6.5"],
["1850","1426","1","50.8","8.0","16.2","-15.7","3.2","-3.2","-7.3","6.7"],
["1900","1421","1","50.8","7.8","16.3","-15.8","3.3","-3.3","-7.5","6.9"],
["1950","1416","1","50.7","7.6","16.4","-15.8","3.4","-3.4","-7.7","7.1"],
["2000","1411","1","50.7","7.4","16.4","-15.9","3.5","-3.5","-7.9","7.2"],
["2050","1406","1","50.7","7.3","16.5","-15.9","3.6","-3.5","-8.1","7.4"],
["2100","1401","1","50.6","7.1","16.6","-16.0","3.6","-3.6","-8.3","7.6"],
["2150","1396","1","50.6","6.9","16.6","-16.1","3.7","-3.7","-8.5","7.8"],
["2200","1390","1","50.5","6.8","16.7","-16.1","3.8","-3.8","-8.7","8.0"],
["2250","1385","2","50.5","6.6","16.8","-16.2","3.9","-3.9","-8.9","8.2"],
["2300","1380","2","50.4","6.5","16.9","-16.3","4.0","-4.0","-9.1","8.3"],
["2350","1375","2","50.3","6.3","16.9","-16.4","4.1","-4.1","-9.3","8.5"],
["2400","1370","2","50.3","6.2","17.0","-16.4","4.2","-4.1","-9.5","8.7"],
["2450","1364","2","50.2","6.1","17.1","-16.5","4.2","-4.2","-9.7","8.9"],
["2500","1359","2","50.2","6.0","17.1","-16.6","4.3","-4.3","-9.9","9.1"],
["2550","1354","2","50.1","5.8","17.2","-16.6","4.4","-4.4","-10.1","9.3"],
["2600","1348","2","50.0","5.7","17.3","-16.7","4.5","-4.5","-10.3","9.5"],
["2650","1343","2","50.0","5.6","17.3","-16.8","4.6","-4.6","-10.5","9.6"],
["2700","1337","2","49.9","5.5","17.4","-16.8","4.7","-4.7","-10.7","9.8"],
["2750","1332","2","49.8","5.4","17.5","-16.9","4.8","-4.7","-10.9","10.0"],
["2800","1326","2","49.8","5.3","17.6","-17.0","4.8","-4.8","-11.1","10.2"],
["2850","1321","2","49.7","5.2","17.6","-17.0","4.9","-4.9","-11.3","10.4"],
["2900","1315","2","49.6","5.1","17.7","-17.1","5.0","-5.0","-11.5","10.6"],
["2950","1309","2","49.5","5.0","17.8","-17.2","5.1","-5.1","-11.7","10.8"],
["3000","1304","2","49.5","5.0","17.8","-17.3","5.2","-5.2","-11.9","10.9"],
["3050","1298","2","49.4","4.9","17.9","-17.3","5.3","-5.2","-12.1","11.1"],
["3100","1292","2","49.3","4.8","18.0","-17.4","5.3","-5.3","-12.3","11.3"],
["3150","1286","3","49.2","4.7","18.0","-17.5","5.4","-5.4","-12.5","11.5"],
["3200","1280","3","49.1","4.6","18.1","-17.5","5.5","-5.5","-12.7","11.7"],
["3250","1274","3","49.0","4.6","18.2","-17.6","5.6","-5.6","-12.9","11.9"],
["3300","1268","3","48.9","4.5","18.2","-17.7","5.7","-5.6","-13.1","12.1"],
["3350","1262","3","48.8","4.4","18.3","-17.7","5.8","-5.7","-13.3","12.2"],
["3400","1256","3","48.7","4.4","18.4","-17.8","5.9","-5.8","-13.5","12.4"],
["3450","1250","3","48.6","4.3","18.4","-17.9","5.9","-5.9","-13.8","12.6"],
["3500","1244","3","48.5","4.2","18.5","-17.9","6.0","-6.0","-14.0","12.8"],
["3550","1237","3","48.4","4.2","18.6","-18.0","6.1","-6.1","-14.2","13.0"],
["3600","1231","3","48.3","4.1","18.6","-18.1","6.2","-6.2","-14.4","13.2"],
["3650","1224","3","48.2","4.0","18.7","-18.1","6.3","-6.3","-14.6","13.4"],
["3700","1218","3","48.1","4.0","18.7","-18.2","6.4","-6.3","-14.8","13.5"],
["3750","1211","4","48.0","3.9","18.8","-18.2","6.5","-6.4","-15.0","13.7"],
["3800","1205","4","47.8","3.9","18.8","-18.3","6.5","-6.5","-15.2","13.9"],
["3850","1198","4","47.7","3.8","18.9","-18.4","6.6","-6.6","-15.4","14.1"],
["3900","1191","4","47.6","3.7","18.9","-18.4","6.7","-6.7","-15.6","14.3"],
["3950","1184","4","47.5","3.7","19.0","-18.5","6.8","-6.8","-15.8","14.5"],
["4000","1177","4","47.3","3.6","19.1","-18.5","6.9","-6.8","-16.0","14.7"],
["4050","1170","4","47.2","3.6","19.1","-18.6","7.0","-6.9","-16.2","14.8"],
["4100","1163","4","47.0","3.5","19.1","-18.6","7.1","-7.0","-16.4","15.0"],
["4150","1155","5","46.9","3.5","19.2","-18.7","7.1","-7.1","-16.6","15.2"],
["4200","1148","5","46.7","3.4","19.2","-18.7","7.2","-7.2","-16.8","15.4"],
["4250","1140","5","46.6","3.4","19.3","-18.8","7.3","-7.3","-17.0","15.6"],
["4300","1132","5","46.4","3.3","19.3","-18.8","7.4","-7.4","-17.2","15.7"],
["4350","1124","5","46.2","3.3","19.3","-18.8","7.5","-7.5","-17.4","15.9"],
["4400","1116","5","46.1","3.2","19.4","-18.9","7.6","-7.5","-17.6","16.1"],
["4450","1108","6","45.9","3.2","19.4","-18.9","7.7","-7.6","-17.8","16.3"],
["4500","1100","6","45.7","3.1","19.4","-19.0","7.8","-7.7","-17.9","16.4"],
["4550","1091","6","45.5","3.1","19.4","-19.0","7.8","-7.8","-18.1","16.6"],
["4600","1083","6","45.3","3.1","19.5","-19.0","7.9","-7.9","-18.3","16.8"],
["4650","1074","7","45.1","3.0","19.5","-19.0","8.0","-8.0","-18.5","17.0"],
["4700","1065","7","44.9","3.0","19.5","-19.1","8.1","-8.1","-18.7","17.1"],
["4750","1055","7","44.6","2.9","19.5","-19.1","8.2","-8.2","-18.9","17.3"],
["4800","1046","8","44.4","2.9","19.5","-19.1","8.3","-8.3","-19.1","17.5"],
["4850","1036","8","44.2","2.8","19.5","-19.1","8.4","-8.3","-19.2","17.6"],
["4900","1025","8","43.9","2.8","19.5","-19.1","8.5","-8.4","-19.4","17.8"],
["4950","1015","9","43.6","2.7","19.5","-19.1","8.6","-8.5","-19.6","18.0"],
["5000","1004","9","43.3","2.7","19.4","-19.1","8.7","-8.6","-19.8","18.1"],
["5050","992","10","43.0","2.6","19.4","-19.0","8.8","-8.7","-19.9","18.3"],
["5100","980","11","42.7","2.6","19.4","-19.0","8.9","-8.8","-20.1","18.4"],
["5150","968","11","42.4","2.5","19.3","-18.9","9.0","-8.9","-20.2","18.6"],
["5200","955","12","42.0","2.5","19.2","-18.9","9.1","-9.0","-20.4","18.7"],
["5250","941","13","41.6","2.4","19.2","-18.8","9.1","-9.1","-20.6","18.8"],
["5300","926","15","41.2","2.4","19.1","-18.8","9.2","-9.2","-20.7","19.0"],
["5350","910","16","40.7","2.3","19.0","-18.6","9.4","-9.3","-20.8","19.1"],
["5400","892","18","40.2","2.3","18.8","-18.5","9.5","-9.4","-20.9","19.2"],
["5450","872","21","39.6","2.2","18.6","-18.3","9.6","-9.5","-21.0","19.3"],
["5500","849","26","38.8","2.1","18.4","-18.1","9.7","-9.7","-21.1","19.3"],
["5550","820","33","37.9","2.1","18.0","-17.8","9.8","-9.8","-21.1","19.4"]
]
};
default {systemChat "Error: MuzzleVelocity not found in LUT"; []};
};