anchor.diff:      aMaxPlans := Max(aMaxPlans, Ceil(gHands[fOwner].Stats.GetUnitQty(utWorker) / GA_BUILDER_ChHTB_AllWorkerCoef) - fPlanner.ConstructedHouses);
   
     // Quarries have minimal delay + stones use only workers (towers after peace time) -> exhaustion for wtStone is OK
  -  if (WareBalance[wtStone].Exhaustion < GA_BUILDER_STONE_SHORTAGE) then
  +  if (WareBalance[wtStone].Exhaustion < GA_BUILDER_STONE_SHORTAGE)
  +    OR ((fPlanner.PlannedHouses[htQuary].Completed < 3) AND (gHands[fOwner].Stats.GetWareBalance(wtStone) < GA_BUILDER_STONE_SHORTAGE_NO_QUARRY)) then
       fStoneShortage := True;
   
     // Secure wood production: only process trunk -> wood => minimal delay, exhaustion is OK
  
positive.code:     aBalanceText := aBalanceText + '|Wood shortage';
    if fGoldShortage then
      aBalanceText := aBalanceText + '|Gold shortage';
  end;
  
  procedure TKMCityBuilder.Paint();
  const
  
negative.code: 
  
  end.
  