This is an old revision of the document!
All the values and ranges I'm using are all calculated relative to the BIS Short Range missile class:
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.
BIS actually has an AIM-120C and D. But we will use the AIM-120C as our datum.
Assumption #1 - With a bit of research you can find that the 'average' range of the real world short range air-to-air missiles (SRAAM) comes to something like 16km.
Assumption #2 - In the armaverse 5000m (5Km) is equivalent to 16000m (16km) in the real world. The 5000m comes from the max range BIS specified.
Now comes the maths:
(Real World MAX Range) / (Assumed Average Range) = "RangeRatio"
For example the Aim-9M max range is given as ~20km. So:
(20km) / (16km) = "1.25"
Now we have the “RangeRatio” we can multiply that by BIS's 5km max range value to give us the 'Adjusted/scaled range' for our new missile.
(BIS MaxRange) * (RangeRatio) = "NewScaledRange" (5km) / (1.25) = "6.25 (Km)" = "6250m"
Ammo class from \A3\weapons_f_jets\config.cpp ~Line 144
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"; };