private static List<Quest_Assignment> readQuests() {
        forge.quest.data.QuestData questData = AllZone.getQuestData();
        ReadQuest_Assignment read = new ReadQuest_Assignment(ForgeProps.getFile(NewConstants.QUEST.QUESTS), questData);
        read.run();

        List<Quest_Assignment> questsToDisplay = new ArrayList<Quest_Assignment>();

        if (questData.getAvailableQuests() != null && questData.getAvailableQuests().size() > 0) {
            List<Quest_Assignment> availableQuests = read.getQuestsByIds(questData.getAvailableQuests());
            questsToDisplay = availableQuests;

        } else {
            List<Quest_Assignment> allAvailableQuests = read.getQuests();

            List<Integer> availableInts = new ArrayList<Integer>();

            int maxQuests = questData.getWin() / 10;
            if (maxQuests > 5) {
                maxQuests = 5;
            }
            if (allAvailableQuests.size() < maxQuests) {
                maxQuests = allAvailableQuests.size();
            }

            Collections.shuffle(allAvailableQuests);

            for (int i = 0; i < maxQuests; i++) {
                Quest_Assignment qa = allAvailableQuests.get(i);

                availableInts.add(qa.getId());

                questsToDisplay.add(qa);
            }
            questData.setAvailableQuests(availableInts);
            questData.saveData();
        }//else
        return questsToDisplay;
    }