Widget:BabylRaids
Jump to navigation
Jump to search





















































































<script type="text/javascript">
;(function() {
'use strict';
// Traverse up until we find layer
function getParentLayer(child) {
var parent = child.parentElement;
if (!parent) return false;
if (parent.classList.contains("babyl-layer")) return parent;
return getParentLayer(parent);
}
// Layer Picker
const selectLayer = layerNumber => {
const layers = document.querySelectorAll(".babyl-layer");
const selectedLayer = document.querySelector(`.babyl-layer[data-layer-number='${layerNumber}']`);
layers.forEach(layer => layer.classList.remove("active"));
selectedLayer.classList.add("active");
};
document.querySelectorAll(".babyl-layers a").forEach(layer => {
layer.addEventListener("click", e => {
e.preventDefault();
selectLayer(layer.href.split("#")[1]);
});
});
// Quest Picker
const highlightQuest = questNumber => {
const selectedQuest = document.querySelector(`.babyl-quest[data-quest-number='${questNumber}']`);
const layer = getParentLayer(selectedQuest);
const quests = layer.querySelectorAll(".babyl-quest");
quests.forEach(quest => quest.classList.remove("active"));
selectedQuest.classList.add("active");
history.replaceState(null, null, '#' + questNumber);
};
const loadQuest = async (questNumber) => {
highlightQuest(questNumber);
const questEl = document.querySelector(`.babyl-quest[data-quest-number='${questNumber}']`);
const layerEl = getParentLayer(questEl);
const contentEl = layerEl.querySelector(".content");
// Fetch and show
// Append page revision ID as temporary workaround of caching behavior
const curRevisionId = mw.config.get("wgCurRevisionId");
const url = `https://gbf.wiki/Raids:Tower_of_Babyl_${questNumber}?action=render&t=${curRevisionId}`;
const content = await fetch(url, { cache: "force-cache" });
contentEl.innerHTML = await content.text();
};
document.querySelectorAll(".babyl-layer").forEach(layer => {
const contentEl = layer.querySelector(".content");
const missionDetails = contentEl.innerHTML;
layer.querySelectorAll(".content-picker [data-quest-number]").forEach(quest => {
const questNumber = quest.getAttribute("data-quest-number");
quest.addEventListener("click", () => {
loadQuest(questNumber);
});
});
layer.querySelector(".content-picker .missions").addEventListener("click", () => {
const quests = layer.querySelectorAll(".babyl-quest");
quests.forEach(quest => quest.classList.remove("active"));
contentEl.innerHTML = missionDetails;
});
});
// Read from location.hash for permalinking support
const loadLocationHash = () => {
const questNumberMatch = location.hash.match(/\d+-\d+/);
if (!questNumberMatch) {
selectLayer(1);
return;
}
const questNumber = questNumberMatch[0];
const questEl = document.querySelector(`.babyl-quest[data-quest-number='${questNumber}']`);
const layerEl = getParentLayer(questEl);
const layerNumber = layerEl.getAttribute("data-layer-number");
selectLayer(layerNumber);
loadQuest(questNumber);
document.querySelector(".babyl-layers").scrollIntoView();
};
window.setTimeout(loadLocationHash, 0);
})();
</script>
4F

4-1

3F

3-1


3-2

2F

2-1


2-2

1F

1-1


1-2


1-3


Click on a quest on the left side to view its details. [edit]
Mission | Rewards |
---|---|
Master all quests on floor 1 | ![]() |
Master all quests on floor 2 | ![]() |
Master all quests on floor 3 | ![]() |
Clear 3-1 within 1 turn | ![]() |
Clear 3-2 within 1 turn | ![]() |
Clear 4-1 within 1 turn | ![]() |
Master Layer of Obscured Sands | ![]() |
8F

8-1


7F

7-1


7-2

6F

6-1


6-2

5F

5-1


5-2


Click on a quest on the left side to view its details. [edit]
Mission | Rewards |
---|---|
Master all quests on floor 5 | ![]() |
Master all quests on floor 6 | ![]() |
Master all quests on floor 7 | ![]() |
Clear 7-1 with a skill | ![]() |
Clear 7-2 with a skill | ![]() |
Clear 8-1 with a C.A. | ![]() |
Master Layer of Frozen Hopes | ![]() |
12F

12-1


11F

11-1


11-2

10F

10-1


10-2

9F

9-1


9-2


Click on a quest on the left side to view its details. [edit]
Mission | Rewards |
---|---|
Master all quests on floor 9 | ![]() |
Master all quests on floor 10 | ![]() |
Master all quests on floor 11 | ![]() |
Clear 11-1 using no potions | ![]() |
Clear 11-2 using no potions | ![]() |
Clear 12-1 using no potions | ![]() |
Master Layer of Nature's Cradle | ![]() |
16F

16-1


15F

15-1

14F

14-1


14-2

13F

13-1


13-2


Click on a quest on the left side to view its details. [edit]
Mission | Rewards |
---|---|
Master all quests on floor 13 | ![]() |
Master all quests on floor 14 | ![]() |
Clear 14-2 losing no allies | ![]() |
Clear 15-1 losing no allies | ![]() |
Clear 16-1 losing no allies | ![]() |
Master Layer of Cursed Trespass | ![]() |
20F

20-1


20-2

19F

19-1

18F

18-1

17F

17-1


17-2


Click on a quest on the left side to view its details. [edit]
Mission | Rewards |
---|---|
Master all quests on floor 17 | ![]() |
Master all quests on floor 20 | ![]() |
Clear 19-1 within 3 turns | ![]() |
Clear 20-1 within 3 turns | ![]() |
Clear 20-2 within 3 turns | ![]() |
Master Layer of Forlorn Peaks | ![]() |
24F

24-1



23F

23-1


23-2

22F

22-1


22-2

21F

21-1


Click on a quest on the left side to view its details. [edit]
Mission | Rewards |
---|---|
Master all quests on floor 22 | ![]() |
Master all quests on floor 23 | ![]() |
Clear 23-1 within 2 party switches | ![]() |
Clear 23-2 within 2 party switches | ![]() |
Clear 24-1 within 3 party switches | ![]() |
Master Layer of Cryptic Remains | ![]() |