anchor.diff:            gRenderAux.Quad(Point.X, Point.Y, Color);
           end;
         end;
  +}
   end;
   
   
  
positive.code:   begin
      fPlanner.UpdateState(aTick); // Planner must be updated as first to secure that completed houses are actualized
      UpdateBuildNodes(aFreeWorkersCnt);
      if (aTick mod CHECK_STONE_RESERVES = fOwner) then // First update stone reserves
        Planner.CheckStoneReserves();
    end;
  end;
  
negative.code: begin
    HMA := gAIFields.Eye.HousesMapping;
    // Reserve all tiles inside house plan
    if (aHT <> htCoalMine) then
      for I := Low(HMA[aHT].Tiles) to High(HMA[aHT].Tiles) do
      begin
        Point := KMPointAdd(aLoc, HMA[aHT].Tiles[I]);
        gAIFields.Influences.AvoidBuilding[Point.Y, Point.X] := AVOID_BUILDING_HOUSE_INSIDE_LOCK;
        gAIFields.Eye.BuildFF.ActualizeTile(Point.X, Point.Y);
      end;
    // Reserve all tiles in distance 1 from house plan
    Dist := 1;
    for Dir := Low(HMA[aHT].Surroundings[Dist]) to High(HMA[aHT].Surroundings[Dist]) do
      for I := Low(HMA[aHT].Surroundings[Dist,Dir]) to High(HMA[aHT].Surroundings[Dist,Dir]) do
      begin
        Point := KMPointAdd(aLoc, HMA[aHT].Surroundings[Dist,Dir,I]);
        // Skip coal tiles, forests and other reserved tiles
        if (gAIFields.Influences.AvoidBuilding[Point.Y, Point.X] < AVOID_BUILDING_HOUSE_INSIDE_LOCK) then
        begin
          gAIFields.Influences.AvoidBuilding[Point.Y, Point.X] := AVOID_BUILDING_HOUSE_OUTSIDE_LOCK;
  