anchor.diff:      procedure UpdateState(aTick: Cardinal; out aFreeWorkersCnt: Integer);
       procedure UpdateBuildNodes(out aFreeWorkersCnt: Integer);
       function ChooseHousesToBuild(aMaxCnt: Integer; var aRequiredHouses: TRequiredHousesArray; aWareBalance: TWareBalanceArray): Boolean;
  -    procedure ChooseHousesToBuildPOM(aMaxCnt: Integer; var aRequiredHouses: TRequiredHousesArray; aWareBalance: TWareBalanceArray);
   
       procedure Save(SaveStream: TKMemoryStream);
       procedure Load(LoadStream: TKMemoryStream);
  
positive.code:     begin
        gHands[fOwner].BuildList.FieldworksList.AddField(aNode.FieldList.Items[aIdx], aFieldType);
        aNode.FreeWorkers := aNode.FreeWorkers - 1;
        Output := True;
      end;
      Result := Output;
  
negative.code:     procedure LockHouseLoc(aHT: THouseType; aLoc: TKMPoint);
      procedure UnlockHouseLoc(aHT: THouseType; aLoc: TKMPoint);
      procedure LockNode(var aNode: TBuildNode);
      procedure UnlockPointOfNode(aPoint: TKMPoint); inline;
      procedure UnlockNode(var aNode: TBuildNode);
  
      procedure CreateShortcuts();
    public
  