public static int dialDownHeat(Mounted weapon,WeaponType wtype,int range){
  int toReturn=wtype.getHeat();
  if (!wtype.hasModes()) {
    return toReturn;
  }
  int damage=wtype.getDamage(range);
  int newDamage=Compute.dialDownDamage(weapon,wtype,range);
  toReturn=Math.max(1,wtype.getHeat() - Math.max(0,damage - newDamage));
  return toReturn;
}

public static int dialDownHeat ( Mounted weapon , WeaponType wtype , int range ) { int toReturn = wtype . getHeat ( ) ; if ( ! wtype . hasModes ( ) ) { return toReturn ; } int damage = wtype . getDamage ( range ) ; int newDamage = Compute . dialDownDamage ( weapon , wtype , range ) ; toReturn = Math . max ( 1 , wtype . getHeat ( ) - Math . max ( 0 , damage - newDamage ) ) ; return toReturn ; }
method computes how much heat a dial down weapon generates
