Search in sources :

Example 1 with QuestCategory

use of delta.games.lotro.lore.quests.index.QuestCategory in project lotro-companion by dmorcellet.

the class QuestsCompletionStats method loadQuestIdentifiers.

private void loadQuestIdentifiers() {
    QuestsManager qm = QuestsManager.getInstance();
    QuestsIndex index = qm.getIndex();
    if (index != null) {
        QuestCategory category = index.getCategory(_category);
        if (category != null) {
            QuestSummary[] summaries = category.getQuests();
            for (QuestSummary summary : summaries) {
                int id = summary.getIdentifier();
                QuestDescription q = qm.getQuest(id);
                if (q != null) {
                    boolean useIt = true;
                    if (USE_CLASS_RESTRICTIONS) {
                        List<String> classes = q.getRequiredClasses();
                        if ((classes != null) && (classes.size() > 0)) {
                            CharacterClass cClass = _character.getCharacterClass();
                            String className = cClass.getKey();
                            if (classes.contains(className)) {
                                useIt = true;
                            } else {
                                String key = q.getKey();
                                if (_logger.isInfoEnabled()) {
                                    _logger.info("Ignored quest [" + key + "]. Class=" + className + ", Required:" + classes);
                                }
                                useIt = false;
                            }
                        }
                    }
                    if (USE_RACE_RESTRICTIONS) {
                        List<String> races = q.getRequiredRaces();
                        if ((races != null) && (races.size() > 0)) {
                            Race cRace = _character.getRace();
                            String raceName = cRace.getLabel();
                            if (races.contains(raceName)) {
                                useIt = true;
                            } else {
                                String key = q.getKey();
                                if (_logger.isInfoEnabled()) {
                                    _logger.info("Ignored quest [" + key + "]. Race=" + raceName + ", Required:" + races);
                                }
                                useIt = false;
                            }
                        }
                    }
                    if (!USE_INSTANCES) {
                        boolean instanced = q.isInstanced();
                        if (instanced) {
                            useIt = false;
                        }
                    }
                    if (useIt) {
                        _expectedIds.add(Integer.valueOf(id));
                    }
                }
            }
            _nbExpectedQuests = _expectedIds.size();
        }
    }
}
Also used : QuestDescription(delta.games.lotro.lore.quests.QuestDescription) QuestsManager(delta.games.lotro.lore.quests.QuestsManager) Race(delta.games.lotro.common.Race) QuestsIndex(delta.games.lotro.lore.quests.index.QuestsIndex) QuestCategory(delta.games.lotro.lore.quests.index.QuestCategory) QuestSummary(delta.games.lotro.lore.quests.index.QuestSummary) CharacterClass(delta.games.lotro.common.CharacterClass)

Example 2 with QuestCategory

use of delta.games.lotro.lore.quests.index.QuestCategory in project lotro-tools by dmorcellet.

the class QuestsItemsLoader method doIt.

private void doIt() {
    List<QuestDescription> storage = new ArrayList<QuestDescription>();
    QuestsManager qm = QuestsManager.getInstance();
    QuestsIndex index = qm.getIndex();
    if (index != null) {
        String[] categories = index.getCategories();
        System.out.println(Arrays.deepToString(categories));
        for (String category : categories) {
            QuestCategory c = index.getCategory(category);
            QuestSummary[] quests = c.getQuests();
            int indexQ = 0;
            for (QuestSummary questSum : quests) {
                int id = questSum.getIdentifier();
                QuestDescription q = qm.getQuest(id);
                handleQuest(indexQ, q);
                storage.add(q);
                indexQ++;
            }
        }
        System.out.println("Resolved: " + _resolved + ", missed: " + _missed);
        writeQuestsDatabase(storage);
    } else {
        _logger.error("Cannot gets quests index file!");
    }
}
Also used : QuestDescription(delta.games.lotro.lore.quests.QuestDescription) QuestsManager(delta.games.lotro.lore.quests.QuestsManager) ArrayList(java.util.ArrayList) QuestsIndex(delta.games.lotro.lore.quests.index.QuestsIndex) QuestCategory(delta.games.lotro.lore.quests.index.QuestCategory) QuestSummary(delta.games.lotro.lore.quests.index.QuestSummary)

Example 3 with QuestCategory

use of delta.games.lotro.lore.quests.index.QuestCategory in project lotro-tools by dmorcellet.

the class QuestsLoader method loadQuestsForCategory.

private void loadQuestsForCategory(String categoryName) {
    System.out.println("Category [" + categoryName + "]");
    QuestCategory category = _index.getCategory(categoryName);
    QuestSummary[] summaries = category.getQuests();
    int nbQuestsToLoad = summaries.length;
    int nbQuestsLoaded = 0;
    for (String key : category.getKeys()) {
        int nbQuests = loadQuestsDefinition(key);
        nbQuestsLoaded += nbQuests;
    }
    _totalNbQuestsToLoad += nbQuestsToLoad;
    _totalNbQuestsLoaded += nbQuestsLoaded;
    System.out.println("Category [" + categoryName + "]: " + nbQuestsLoaded + "/" + nbQuestsToLoad + ".");
}
Also used : QuestCategory(delta.games.lotro.lore.quests.index.QuestCategory) QuestSummary(delta.games.lotro.lore.quests.index.QuestSummary)

Aggregations

QuestCategory (delta.games.lotro.lore.quests.index.QuestCategory)3 QuestSummary (delta.games.lotro.lore.quests.index.QuestSummary)3 QuestDescription (delta.games.lotro.lore.quests.QuestDescription)2 QuestsManager (delta.games.lotro.lore.quests.QuestsManager)2 QuestsIndex (delta.games.lotro.lore.quests.index.QuestsIndex)2 CharacterClass (delta.games.lotro.common.CharacterClass)1 Race (delta.games.lotro.common.Race)1 ArrayList (java.util.ArrayList)1