mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-17 19:28:01 +00:00
Null quest bug fixed.
Quest count vs. wins bug fixed.
This commit is contained in:
@@ -360,32 +360,35 @@ public class QuestEventManager {
|
|||||||
forge.quest.data.QuestData questData = AllZone.getQuestData();
|
forge.quest.data.QuestData questData = AllZone.getQuestData();
|
||||||
|
|
||||||
List<QuestQuest> questOpponents = new ArrayList<QuestQuest>();
|
List<QuestQuest> questOpponents = new ArrayList<QuestQuest>();
|
||||||
|
|
||||||
// If no quests available right now, generate new IDs.
|
int maxQuests = questData.getWin() / 10;
|
||||||
if (questData.getAvailableQuests() == null || questData.getAvailableQuests().size() == 0) {
|
if (maxQuests > 5) {
|
||||||
// Assemble full list of currently available IDs.
|
maxQuests = 5;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Generate IDs as needed.
|
||||||
|
if (questData.getAvailableQuests() == null ||
|
||||||
|
questData.getAvailableQuests().size() < maxQuests) {
|
||||||
|
|
||||||
|
List<Integer> unlockedQuestIds = new ArrayList<Integer>();
|
||||||
List<Integer> availableQuestIds = new ArrayList<Integer>();
|
List<Integer> availableQuestIds = new ArrayList<Integer>();
|
||||||
|
|
||||||
for(QuestQuest qq : allQuests) {
|
for(QuestQuest qq : allQuests) {
|
||||||
if (qq.getWinsReqd() <= questData.getWin() &&
|
if (qq.getWinsReqd() <= questData.getWin() &&
|
||||||
!questData.getCompletedQuests().contains(qq.getId())) {
|
!questData.getCompletedQuests().contains(qq.getId())) {
|
||||||
availableQuestIds.add(qq.getId());
|
unlockedQuestIds.add(qq.getId());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Filter that list as needed.
|
|
||||||
int maxQuests = questData.getWin() / 10;
|
|
||||||
if (maxQuests > 5) {
|
|
||||||
maxQuests = 5;
|
|
||||||
}
|
|
||||||
|
|
||||||
Collections.shuffle(availableQuestIds);
|
|
||||||
|
|
||||||
|
Collections.shuffle(unlockedQuestIds);
|
||||||
|
|
||||||
for (int i = 0; i < maxQuests; i++) {
|
for (int i = 0; i < maxQuests; i++) {
|
||||||
availableQuestIds.add(i);
|
availableQuestIds.add(unlockedQuestIds.get(i));
|
||||||
}
|
}
|
||||||
|
|
||||||
questData.setAvailableQuests(availableQuestIds);
|
questData.setAvailableQuests(availableQuestIds);
|
||||||
questData.saveData();
|
questData.saveData();
|
||||||
} //
|
}
|
||||||
|
|
||||||
// Finally, pull quest events from available IDs and return.
|
// Finally, pull quest events from available IDs and return.
|
||||||
for(int i : questData.getAvailableQuests()) {
|
for(int i : questData.getAvailableQuests()) {
|
||||||
|
|||||||
Reference in New Issue
Block a user