anchor.diff:    KM_AI, KM_Terrain, KM_Game, KM_FogOfWar, KM_UnitWarrior,
     KM_HouseBarracks, KM_HouseSchool, KM_ResUnits, KM_Log, KM_CommonUtils, KM_HouseMarket,
     KM_Resource, KM_UnitTaskSelfTrain, KM_Sound, KM_Hand, KM_AIDefensePos, KM_CommonClasses,
  -  KM_UnitsCollection, KM_PathFindingRoad, KM_HouseWoodcutters, KM_HouseTownHall;
  +  KM_UnitsCollection, KM_PathFindingRoad, KM_HouseWoodcutters, KM_HouseTownHall,
  +  KM_ArmyDefence;
   
   
     //We need to check all input parameters as could be wildly off range due to
  
positive.code:       G := fIDCache.GetGroup(aGroupID);
        if G <> nil then
        begin
          DefPos := gHands[G.Owner].AI.General.DefencePositions.FindPositionOf(G);
          if DefPos <> nil then
            Result := (DefPos.Position.Loc.X = X) and (DefPos.Position.Loc.Y = Y);
        end;
      end
      else
  
negative.code: var
    G: TKMUnitGroup;
    DefPos: TAIDefencePosition;
    DefPosNewAI: TKMDefencePosition;
  begin
    try
      Result := False;
  