anchor.diff:  
   function TKMUnitGroup.CanWalkTo(aTo: TKMPoint; aDistance: Single): Boolean;
   begin
  -  Result := Members[0].CanWalkTo(aTo, aDistance);
  +  Result := (Count > 0) and Members[0].CanWalkTo(aTo, aDistance);
   end;
   
   
   //Group is dead, but still exists cos of pointers to it
   function TKMUnitGroup.IsDead: Boolean;
   begin
  -  Result := fMembers.Count = 0;
  +  Result := (Count = 0);
   end;
   
   
   function TKMUnitGroup.IsRanged: Boolean;
   begin
  -  Result := fResource.UnitDat[Members[0].UnitType].FightType = ft_Ranged;
  +  Result := (fGroupType = gt_Ranged);
   end;
   
   
  
positive.code: //Get current groups location (we use flagholder)
  function TKMUnitGroup.GetPosition: TKMPoint;
  begin
    Result := Members[0].GetPosition;
  end;
  
  
  
negative.code:     fSelected := nil;
  
      //Transfer selection to nearest member
      NewSel := GetNearestMember(aMember);
      if NewSel <> -1 then
        fSelected := Members[NewSel];
    end;
  
    Members[I].ReleaseUnitPointer;
  