anchor.diff:      if ((aCenter.Y <= BestLoc.Y) AND (aCenter.Y >= BestLoc.Y-1)) AND ((aCenter.X <= BestLoc.X) AND (aCenter.X >= BestLoc.X-2)) then
         aCenter := KMPoint(BestLoc.X-1, BestLoc.Y+1);
       AddPlan(htWoodcutters, BestLoc, aCenter, aChopOnly);
  -    if aChopOnly then // Lock chop only woodcutter (it can be added in next tick and it is placed out of avoid building areas)
  -      gHands[fOwner].AI.CityManagement.Builder.LockHouseLoc(htWoodcutters, BestLoc);
  +    gHands[fOwner].AI.CityManagement.Builder.LockHouseLoc(htWoodcutters, BestLoc);
     end;
     Result := Output;
   end;
  
positive.code:     OR (DefLines.Count < 1) then
      Exit;
  
    //Make list of defence positions
    for I := 0 to DefLines.Count-1 do
    begin
      P1 := gAIFields.NavMesh.Nodes[ DefLines.Lines[I].Nodes[0] ].Loc;
      P2 := gAIFields.NavMesh.Nodes[ DefLines.Lines[I].Nodes[1] ].Loc;
      DefCount := Ceil( KMLength(P1,P2) / DISTANCE_BETWEEN_TOWERS );
      for K := 0 to DefCount - 1 do
      begin
  
negative.code:   // Create plan of city AfterMissionInit and update it during game (if it is required)
    TKMCityPlanner = class
    private
      fTimeMeasure: Cardinal;
  
      fOwner: TKMHandIndex;
      fConstructedHouses: Word;
      fDefenceTowersPlanned: Boolean;
  