anchor.diff:        SaveStream.Write(RequiredWorkers);
         SaveStream.Write(MaxReqWorkers);
         SaveStream.Write(CenterPoint, SizeOf(CenterPoint));
  +      SaveStream.Write(HouseType, SizeOf(HouseType));
  +      SaveStream.Write(HouseLoc, SizeOf(HouseLoc));
         SaveStream.Write(FieldType, SizeOf(TFieldType));
         FieldList.SaveToStream(SaveStream);
       end;
  
positive.code:     Result := Output AND ( (initHT = aHT) OR (gHands[fOwner].Stats.GetHouseTotal(aHT) = 0) );
    end;
  
    function AddToConstruction(aHT: THouseType; aUnlockProcedureRequired: Boolean = False): Boolean;
    var
      Output, UnlockProcedure: Boolean;
      FollowingHouse: THouseType;
    begin
      Output := False;
      UnlockProcedure := aUnlockProcedureRequired; // Unlock procedure = build house as soon as possible -> avoid to build house plan inside of tree (remove tree will take time)
      // Check if AI can build house (if is house blocked [by script] ignore it)
      if GetHouseToUnlock(UnlockProcedure, aHT, FollowingHouse) then
  
negative.code: 
      procedure UpdateBuildNode(var aNode: TBuildNode);
  
      function BuildHouse(aUnlockProcedure, aHouseReservation: Boolean; aHT: THouseType): TConstructionState;
      function BuildHouse_GA_MODE(aHT: THouseType): TConstructionState;
      procedure LockNode(var aNode: TBuildNode);
      procedure UnlockPointOfNode(aPoint: TKMPoint); inline;
      procedure UnlockNode(var aNode: TBuildNode);
  