User Tools

Site Tools


a3_documentation:cvwp:mraam

Comparative Ranges and explanation

In the group of weapons the values and ranges I'm using are all calculated relative to the BIS Medium Range missile class:

HERE IS THE LOGIC.

Just like the SRAAMs most of BIS' values for MRAAM aren't much different than the ammo_Missile_MediumRangeAABase class values. This time we dont have to assume as much.

Normally you should find a weapon in game that you can find the real world equivalent of and get the specs. BIS actually has an AIM-120C and D ingame so that makes it a bit easier. We will use the AIM-120C as our datum.

Assumption #1 - the real world ranges of the weapons we are looking at are:

  • AIM-120B = 75km
  • AIM-120C = 90km
  • AIM-120D = 130km.

Assumption #2 - The Armaverse AIM-120C (class ammo_Missile_AMRAAM_C) has a 12000m (12Km) max range.

Now comes the maths here is an example.

   (Range of the weapon you are configing) / (DATUM Weapon Real World MAX Range) = "RangeRatio"  

So when we apply some real world figures we get a ration compared to the ingame “Datum weapon” we have chosen:

  AIM-120B (75km) / (90km) = "0.8333" 
  AIM-120C (90km) / (90km) = "1" 
  AIM-120D (130km) / (90km) = "1.44"

You can see by the results the figure you get is the “ratio” compared to our AIM-120C “Datum weapon” Now we have the “RangeRatio” we can multiply that by BIS's 12km max range value to give us the 'Adjusted/scaled range' for our new missile.

   (BIS MaxRange) * (RangeRatio) = "NewScaledRange"
 
AIM-120B =   (12km) / (0.83) = "10 (Km)" = "10000m"
AIM-120C =   (12km) / (1.00) = "12 (Km)" = "12000m"
AIM-120D =   (12km) / (1.44) = "17.333 (Km)" = "17333m"

And that is it. The entire logic behind how we chose the range values of our weapons.

SOURCES

Ammo class from \A3\weapons_f_jets\config.cpp ~Line 62

class ammo_Missile_MediumRangeAABase: MissileBase
{
	model = "\A3\weapons_f\empty";
	proxyShape = "\A3\weapons_f\empty";
	hit = 200;
	indirectHit = 125;
	indirectHitRange = 13;
	warheadName = "HE";
	proximityExplosionDistance = 30;
	fuseDistance = 750;
	maneuvrability = 23;
	airFriction = 0.07;
	sideAirFriction = 0.18;
	trackOversteer = 1.1;
	trackLead = 1.06;
	initTime = 0.6;
	timeToLive = 35;
	thrustTime = 7;
	thrust = 210;
	maxSpeed = 900;
	simulationStep = 0.002;
	activeSensorAlwaysOn = 0;
	airLock = 2;
	lockType = 0;
	cmimmunity = 0.95;
	weaponLockSystem = "8 + 16";
	missileLockCone = 70;
	missileKeepLockedCone = 90;
	missileLockMaxDistance = 12000;
	missileLockMinDistance = 800;
	missileLockMaxSpeed = 777.778;
	autoSeekTarget = 1;
	flightProfiles[] = {"LoalDistance"};
	class LoalDistance
	{
		lockSeekDistanceFromParent = 2000;
	};
	class Components: Components
	{
		class SensorsManagerComponent
		{
			class Components
			{
				class ActiveRadarSensorComponent: SensorTemplateActiveRadar
				{
					class AirTarget
					{
						minRange = 12000;
						maxRange = 12000;
						objectDistanceLimitCoef = -1;
						viewDistanceLimitCoef = -1;
					};
					class GroundTarget
					{
						minRange = 8000;
						maxRange = 8000;
						objectDistanceLimitCoef = -1;
						viewDistanceLimitCoef = -1;
					};
					angleRangeHorizontal = 50;
					angleRangeVertical = 50;
					groundNoiseDistanceCoef = 0.2;
					minSpeedThreshold = 30;
					maxSpeedThreshold = 40;
					maxTrackableSpeed = 777.778;
					minTrackableATL = 10;
				};
				class DataLinkSensorComponent: ActiveRadarSensorComponent
				{
					componentType = "DataLinkSensorComponent";
				};
			};
		};
	};
	cost = 1500;
	aiAmmoUsageFlags = 256;
	missileFireAnim = "rocket_fire_hide";
	CraterEffects = "AAMissileCrater";
	explosionEffects = "AAMissileExplosion";
	effectsMissile = "FX_Missile_AA";
	muzzleEffect = "";
};
class ammo_Missile_AMRAAM_C: ammo_Missile_MediumRangeAABase
{
	model = "\A3\Weapons_F_Jets\Ammo\Missile_AA_10_fly_F";
	proxyShape = "\A3\Weapons_F_Jets\Ammo\Missile_AA_10_F";
};
a3_documentation/cvwp/mraam.txt · Last modified: by rock