Here's where I'm at right now. In the following I include the configurable long visual distance mod elements as well, which do work. I'm getting values at run time of "2" (I use HUD.training() to write info to the screen), which are the instantiated values. I'm supposed to be getting "1" and "0". This is baffling...
In World.World():
public World()
{
MaxVisualDistance = Config.cur.ini.get("Mods", "MaxVisualDistance", MaxVisualDistance);
MaxStaticVisualDistance = Config.cur.ini.get("Mods", "MaxStaticVisualDistance", MaxStaticVisualDistance);
MaxLongVisualDistance = Config.cur.ini.get("Mods", "MaxLongVisualDistance", MaxLongVisualDistance);
MaxPlateVisualDistance = Config.cur.ini.get("Mods", "MaxPlateVisualDistance", MaxPlateVisualDistance);
.
.
.
Reliability = Config.cur.ini.get("Mods", "ReliabilityDiffRequired", Reliability);
FailRateSource = Config.cur.ini.get("Mods", "FailureRateSource", FailRateSource);
}
public static float MaxVisualDistance = 5000F;
public static float MaxStaticVisualDistance = 4000F;
public static float MaxLongVisualDistance = 10000F;
public static float MaxPlateVisualDistance = 16000F;
.
.
.
public static float Reliability = 2F; //NEW, for Aircraft.class; 0 or 1; 0 = Reliability Difficulty setting NOT required, 1 = IS REQUIRED
public static float FailRateSource = 2F; //NEW, for Aircraft.class; 0 or 1; in conf.ini (format: FailureRateSource=1)
In Aircraft.rareAction(), where the operative code resides:
public void rareAction(float f, boolean flag)
{
float Reliability;
Reliability = World.Reliability;
iReliability = (int) Reliability;
float FailRateSource;
FailRateSource = World.FailRateSource;
iFailRateSource = (int) FailRateSource;
.
.
.
}
In conf.ini:
[Mods]
MaxVisualDistance=16000
MaxStaticVisualDistance=6000
MaxLongVisualDistance=16000
MaxPlateVisualDistance=16000
.
.
.
FailureRateSource=1 //0 or 1; 0 prioritizes .mis file value, 1 prioritizes THIS conf.ini value
ReliabilityDiffRequired=0 //0 or 1; 0 = Reliability Difficulty setting NOT required, 1 = Reliability Difficulty IS REQUIRED