FiringPlan guessBestFiringPlanUnderHeat(Entity shooter,@Nullable EntityState shooterState,Targetable target,@Nullable EntityState targetState,int maxHeat,IGame game){
  if (maxHeat < 0) {
    maxHeat=0;
  }
  FiringPlan alphaStrike=guessFullFiringPlan(shooter,shooterState,target,targetState,game);
  if (alphaStrike.getHeat() <= maxHeat && !(shooter instanceof Infantry) && !(shooter instanceof BattleArmor)) {
    return alphaStrike;
  }
  FiringPlan heatPlans[]=calcFiringPlansUnderHeat(shooter,alphaStrike);
  Arrays.sort(heatPlans);
  if (heatPlans.length > 0) {
    return heatPlans[0];
  }
 else {
    return new FiringPlan(target);
  }
}

FiringPlan guessBestFiringPlanUnderHeat ( Entity shooter , @ Nullable EntityState shooterState , Targetable target , @ Nullable EntityState targetState , int maxHeat , IGame game ) { if ( maxHeat < 0 ) { maxHeat = 0 ; } FiringPlan alphaStrike = guessFullFiringPlan ( shooter , shooterState , target , targetState , game ) ; if ( alphaStrike . getHeat ( ) <= maxHeat && ! ( shooter instanceof Infantry ) && ! ( shooter instanceof BattleArmor ) ) { return alphaStrike ; } FiringPlan heatPlans [ ] = calcFiringPlansUnderHeat ( shooter , alphaStrike ) ; Arrays . sort ( heatPlans ) ; if ( heatPlans . length > 0 ) { return heatPlans [ 0 ] ; } else { return new FiringPlan ( target ) ; } }
guesses the ' best ' firing plan under a certain heat no twisting is done
