anchor.diff:      Exhaustion := 99;
       if (ActualConsumption - Production > 0) then
         Exhaustion := Min( Exhaustion, gHands[fOwner].Stats.GetWareBalance(aWT) / (ActualConsumption - Production) );
  -    HouseReqCnt := Ceil(( Max(ActualConsumption, FinalConsumption) - Production) / Max(0.0001, PRODUCTION_RATE[aWT]*1.0));
  -    Fraction := HouseReqCnt / Max(1.0,((fCityStats.Houses[HT] + HouseReqCnt)*1.0));
  -  end;
  -  RequiredHouses[HT] := HouseReqCnt;
  +    houseReqCnt := Ceil(( Max(ActualConsumption, FinalConsumption) - Production) / Max(0.0001, PRODUCTION_RATE[aWT]*1.0));
  +    Fraction := houseReqCnt / Max(1.0,((fCityStats.Houses[HT] + houseReqCnt)*1.0));
  +  end;
  +  RequiredHouses[HT] := houseReqCnt;
   end;
   
   
  
positive.code:     fWareBalance[wtStone].ActualConsumption := Min(fCityStats.Citizens[utBuilder]+8, fWorkerCount) * AI_Par[PREDICTOR_WareNeedPerAWorker_Stone];
      fWareBalance[wtStone].FinalConsumption := Max(fCityStats.Citizens[utBuilder], fWorkerCount) * AI_Par[PREDICTOR_WareNeedPerAWorker_Stone];
      UpdateWareDerivation(wtStone);
      RequiredHouses[htSchool] := Max(0, 1 - Planner.PlannedHouses[htSchool].Count);
      Exit;
    end;
  
  
negative.code:                              '%s%5.2f%s'#9#9 +
                               '%s%5.2f%s|',
                         [                        aBalanceText,
                          houseCntColor,          cnt,               COLOR_WHITE,
                                                  aSpecificText,
                          productionColor,        Production,        COLOR_WHITE,
                          actualConsumptionColor, ActualConsumption, COLOR_WHITE,
                          finalConsumptionColor,  FinalConsumption,  COLOR_WHITE,
                          fractionColor,          Fraction,          COLOR_WHITE,
                          exhaustionColor,        Exhaustion,        COLOR_WHITE
                         ]
                        );
      end;
  