anchor.diff:      procedure UpdateState(aTick: Cardinal);
   
       // Properties for GA (in Runner)
  +    property ConstructedHouses: Word read fConstructedHouses;
       property PlannedHouses: TPlannedHousesArray read fPlannedHouses write fPlannedHouses;
       property DefenceTowersPlanned: Boolean read fDefenceTowersPlanned;
   
  
positive.code:   //GA_PLANNER_FindPlaceForWoodcutter_ExistForest       : Single = 75.74541473;
    //GA_PLANNER_FindPlaceForWoodcutter_DistCrit          : Single = 2.960519552;
  
    GA_PLANNER_FieldCrit_FarmPosition                   : Single = 54.46446991;
    GA_PLANNER_SnapCrit_SnapToHouse                     : Single = 37.58007431;
    GA_PLANNER_SnapCrit_SnapToFields                    : Single = 45.52814484;
  
negative.code:   IsRoad: Boolean;
    AvoidBuilding: Byte;
  begin
    Result := GA_SHORTCUTS_BasePrice;
    AvoidBuilding := gAIFields.Influences.AvoidBuilding[aToY, aToX];
    IsRoad := (AvoidBuilding = AVOID_BUILDING_NODE_LOCK_ROAD)                                      // Reserved road plan
              OR (tpWalkRoad in gTerrain.Land[aToY, aToX].Passability)                             // Completed road
  