anchor.diff:    PointPath, Positions: TKMPointArray;
     InitPolygons: TKMWordArray;
   begin
  -  TargetPoint := TargetPosition;
  +  Result := True;
  +  if (fCompanyMode = cm_Defence) then
  +  begin
  +    TargetPoint := fTargetPoint;
  +    Result := not KMSamePoint(TargetPoint, aActualPosition);
  +  end
  +  else
  +  begin
  +    TargetPoint := GetTargetPosition();
  +    Result := not KMSamePoint(TargetPoint, KMPOINT_ZERO);
  +  end;
  +
  +  if not Result then
  +    Exit;
  +
     // Try find path to the target point
     if gAIFields.NavMesh.Pathfinding.ShortestRoute(aActualPosition, TargetPoint, Distance, PointPath) then
     begin
  
positive.code: end;
  
  end.
  
negative.code: 
  
  { TAICompany }
  constructor TAICompany.Create(aOwner: TKMHandIndex; aCompanyMode: TKMCompanyMode);
  var
    GT: TGroupType;
  begin
    inherited Create;
    fOwner := aOwner;
  
    fCompanyMode := aCompanyMode;
    fTargetPoint := KMPOINT_ZERO;
    fTargetHouse := nil;
    fTargetUnit := nil;
  
  