--- Thermo-orig/ThFlight.cs 2015-06-11 04:04:39.896873800 +0100 +++ Thermo/ThFlight.cs 2015-06-11 04:07:42.759667900 +0100 @@ -62,7 +62,7 @@ int CheckTemperature(Vessel craft, out uint partID) { int maxVal = 0; - int currVal; + int currVal; int skinVal; int currKelvin = 0; int partTemp = 0; bool ignorePart; @@ -89,6 +89,9 @@ if (!ignorePart) { + /* Even with DRE, we want to check internal temperatures in case, eg, a NERVA is overheated */ + currVal = (int)((craftPart.temperature / craftPart.maxTemp) * 1000); + partTemp = (int)craftPart.temperature; /* * 1.0.2-e * DR tylko jesli parametr jest wlaczony i czesc zawiera modul ModuleAeroReentry lub ModuleHeatShield @@ -108,16 +111,12 @@ double skinTemp = (double)module.GetType().GetField("skinTemperature").GetValue(module); double skinMaxTemp = (double)module.GetType().GetField("skinMaxTemp").GetValue(module); - partTemp = (int)skinTemp; - - currVal = (int)((skinTemp / skinMaxTemp) * 1000); - } - else - { - currVal = (int)((craftPart.temperature / craftPart.maxTemp) * 1000); - partTemp = (int)craftPart.temperature; + skinVal = (int)((skinTemp / skinMaxTemp) * 1000); + if (skinVal > currVal) { + partTemp = (int)skinTemp; + currVal = skinVal; + } } - maxVal = Mathf.Max(maxVal, currVal); if (currVal == maxVal) {