anchor.diff:  
   function TKMArmyEvaluation.CheckFoodProblems(const aAlly: TKMHandIDArray): Boolean;
   const
  -  FOOD_THRESHOLD = 0.6;
  +  FOOD_THRESHOLD = 0.75;
   var
     Full, Middle, Low, Food: Integer;
     PL: TKMHandID;
  
positive.code:     FULL_LIMIT = Round(UNIT_MAX_CONDITION * 0.75);
      LOW_LIMIT = Round(UNIT_MAX_CONDITION * 0.3);
    var
      K,L: Integer;
      LowCnt, FullCnt, ArmyCnt: Cardinal;
      U: TKMUnit;
      G: TKMUnitGroup;
    begin
      LowCnt := 0;
      FullCnt := 0;
      ArmyCnt := 0;
      for K := 0 to gHands[aPlayer].UnitGroups.Count - 1 do
      begin
        G := gHands[aPlayer].UnitGroups[K];
        if not ((G = nil) OR (G.IsDead)) then
          for L := 0 to G.Count - 1 do
          begin
            U := G.Members[L];
            if not ((U = nil) OR (U.IsDeadOrDying)) then
            begin
              Inc(LowCnt,Byte(U.Condition < LOW_LIMIT));
              Inc(FullCnt,Byte(U.Condition > FULL_LIMIT));
              Inc(ArmyCnt);
            end;
          end;
      end;
      fEvals[aPlayer].FoodState.Low := LowCnt;
      fEvals[aPlayer].FoodState.Middle := ArmyCnt - LowCnt - FullCnt;
      fEvals[aPlayer].FoodState.Full := FullCnt;
    end;
  var
  
negative.code:     HitPoints, Attack, AttackHorse, Defence, DefenceProjectiles: Single;
    end;
    TKMFoodState = record
      Full, Middle, Low: Integer;
    end;
    TKMArmyEval = record
      FoodState: TKMFoodState;
  