Tweaked the numeric ranges for the DTS, 88-88, and KSC3 down just a bit. Added simpleRange for EVA transmitters
Tweaked the numeric ranges for the DTS, 88-88, and KSC3 down just a bit. Added simpleRange for EVA transmitters

--- a/GameData/AntennaRange/AntennaRange.cfg
+++ b/GameData/AntennaRange/AntennaRange.cfg
@@ -64,7 +64,7 @@
 	@MODULE[ModuleDataTransmitter]
 	{
 		@name = ModuleLimitedDataTransmitter
-		nominalRange = 3500000000
+		nominalRange = 3150000000
 		simpleRange = 18000000000
 		maxPowerFactor = 4
 		maxDataFactor = 8
@@ -87,7 +87,7 @@
 	{
 		@name = ModuleLimitedDataTransmitter
 		@packetResourceCost /= 1.414213
-		nominalRange = 10000000000
+		nominalRange = 9250000000
 		simpleRange = 56250000000
 		maxPowerFactor = 16
 		maxDataFactor = 2
@@ -108,7 +108,7 @@
 {
 	range = 800000
 	range = 200000000000
-	range = 2250000000000
+	range = 2000000000000
 }
 
 EVA_MODULE
@@ -116,6 +116,7 @@
 	name = ModuleLimitedDataTransmitter
 
 	nominalRange = 1389
+	simpleRange = 5000
 	maxPowerFactor = 1
 	maxDataFactor = 1
 

--- a/ModuleLimitedDataTransmitter.cs
+++ b/ModuleLimitedDataTransmitter.cs
@@ -61,6 +61,9 @@
 		// Sometimes we will need to communicate errors; this is how we do it.
 		private ScreenMessage ErrorMsg;
 
+		// Used in module info panes for part tooltips in the editor and R&D
+		private GUIContent moduleInfoContent;
+
 		/// <summary>
 		/// When additive ranges are enabled, the distance from Kerbin at which the antenna will perform exactly as
 		/// prescribed by packetResourceCost and packetSize.
@@ -418,6 +421,7 @@
 
 			this._basepacketSize = base.packetSize;
 			this._basepacketResourceCost = base.packetResourceCost;
+			this.moduleInfoContent = new GUIContent();
 
 			Tools.PostDebugMessage(string.Format(
 				"{0} loaded:\n" +
@@ -474,29 +478,38 @@
 			this.maxTransmitDistance = Math.Sqrt(this.maxPowerFactor) * this.nominalTransmitDistance;
 		}
 
+		/// <summary>
+		/// Gets the human-friendly module title.
+		/// </summary>
 		public string GetModuleTitle()
 		{
 			return "Comms Transceiver";
 		}
 
+		/// <summary>
+		/// Returns drawTooltipWidget as a callback for part tooltips.
+		/// </summary>
 		public Callback<Rect> GetDrawModulePanelCallback()
 		{
 			return this.drawTooltipWidget;
 		}
 
+		// Called by Squad's part tooltip system when drawing tooltips.
+		// HACK: Currently hacks around Squad's extraneous layout box, see KSPModders issue #5118
 		private void drawTooltipWidget(Rect rect)
 		{
-			GUIContent content = new GUIContent(this.GetInfo());
+			this.moduleInfoContent.text = this.GetInfo();
+
 			GUIStyle style0 = PartListTooltips.fetch.tooltipSkin.customStyles[0];
 			GUIStyle style1 = PartListTooltips.fetch.tooltipSkin.customStyles[1];
 
 			float width = rect.width;
 			float orgHeight = rect.height;
-			float height = style0.CalcHeight(content, width);
+			float height = style0.CalcHeight(this.moduleInfoContent, width);
 
 			rect.height = height;
 
-			GUI.Box(rect, content, style0);
+			GUI.Box(rect, this.moduleInfoContent, style0);
 			GUI.Label(rect, this.GetModuleTitle(), style1);
 
 			GUILayout.Space(height - orgHeight
@@ -505,6 +518,9 @@
 			);
 		}
 
+		/// <summary>
+		/// Returns an empty string, because we don't really have a "primary field" like some modules do.
+		/// </summary>
 		public string GetPrimaryField()
 		{
 			return string.Empty;