anchor.diff:      procedure LogStatus(var aBalanceText: UnicodeString);
       procedure Paint();
     end;
  -
  -
  -const
  -  STONE_SHORTAGE = 10;
  -  TRUNK_SHORTAGE = 3;
  -  WOOD_SHORTAGE = 10;
  -  GOLD_SHORTAGE = 20;
   
   
   implementation
  
positive.code: 
  
  var
    GA_BUILDER_BuildHouse_RoadMaxWork                   : Single = 6;
    GA_BUILDER_BuildHouse_FieldMaxWork                  : Single = 1;
    GA_BUILDER_BuildHouse_RTPMaxWork                    : Single = 10;
    GA_BUILDER_CreateShortcuts_MaxWork                  : Single = 6;
    GA_BUILDER_ChooseHousesToBuild_FC                   : Single = 8.512814522;
  
  
  type
  
negative.code:     if fBuildNodes[I].Active then
        cnt := cnt + 1;
    aBalanceText := aBalanceText + '|Active nodes:' + IntToStr(cnt);
    if (fPredictor.WareBalance[wt_Stone].Exhaustion < GA_BUILDER_STONE_SHORTAGE) then
      aBalanceText := aBalanceText + '|Stone shortage';
    if ((gHands[fOwner].Stats.GetWareBalance(wt_Trunk) + gHands[fOwner].Stats.GetWareBalance(wt_Wood) / 2) / Max(0.1,fPredictor.WareBalance[wt_Trunk].ActualConsumption) < GA_BUILDER_TRUNK_SHORTAGE) then
      aBalanceText := aBalanceText + '|Trunk shortage';
    if (fPredictor.WareBalance[wt_Wood].Exhaustion < GA_BUILDER_WOOD_SHORTAGE) then
      aBalanceText := aBalanceText + 'Wood shortage';
    if (fPredictor.WareBalance[wt_Gold].Exhaustion < GA_BUILDER_GOLD_SHORTAGE) then
      aBalanceText := aBalanceText + '|Gold shortage';
  end;
  
  