SpaceNinjaServer/static/json/scripts/missions-drop-table-get-script.js
AMelonInsideLemon a3dd1f2ebc
fix: github actions packages version (#139)
Co-authored-by: AMelonInsideLemon <AMelonInsideLemon@users.noreply.github.com>
2024-04-06 00:09:27 +02:00

274 lines
10 KiB
JavaScript

// for https://www.warframe.com/ru/droptables
/* eslint-disable */
(() => {
const missionNames = {
"Mercury/Larunda Relay": "MercuryHUB",
"Venus/Vesper Relay": "VenusHUB",
"Earth/Strata Relay": "EarthHUB",
"Mars/Maroo's Bazaar": "TradeHUB1",
"Saturn/Kronia Relay": "SaturnHUB",
"Eris/Kuiper Relay": "ErisHUB",
"Europa/Leonov Relay": "EuropaHUB",
"Pluto/Orcus Relay": "PlutoHUB",
"Venus/Romula": "ClanNode0",
"Venus/Malva": "ClanNode1",
"Earth/Coba": "ClanNode2",
"Earth/Tikal": "ClanNode3",
"Jupiter/Sinai": "ClanNode4",
"Jupiter/Cameria": "ClanNode5",
"Europa/Larzac": "ClanNode6",
"Europa/Cholistan": "ClanNode7",
"Mars/Kadesh": "ClanNode8",
"Mars/Wahiba": "ClanNode9",
"Phobos/Memphis": "ClanNode10",
"Phobos/Zeugma": "ClanNode11",
"Saturn/Caracol": "ClanNode12",
"Saturn/Piscinas": "ClanNode13",
"Sedna/Amarna": "ClanNode14",
"Sedna/Sangeru": "ClanNode15",
"Uranus/Ur": "ClanNode16",
"Uranus/Assur": "ClanNode17",
"Eris/Akkad": "ClanNode18",
"Eris/Zabala": "ClanNode19",
"Neptune/Yursa": "ClanNode20",
"Neptune/Kelashin": "ClanNode21",
"Ceres/Seimeni": "ClanNode22",
"Ceres/Gabii": "ClanNode23",
"Pluto/Sechura": "ClanNode24",
"Pluto/Hieracon": "ClanNode25",
"Phobos/Roche": "SettlementNode1",
"Phobos/Skyresh": "SettlementNode2",
"Phobos/Stickney": "SettlementNode3",
"Phobos/Kepler": "SettlementNode10",
"Phobos/Gulliver": "SettlementNode11",
"Phobos/Monolith": "SettlementNode12",
"Phobos/Shklovsky": "SettlementNode14",
"Phobos/Sharpless": "SettlementNode15",
"Phobos/Iliad": "SettlementNode20",
"Neptune/Galatea": "SolNode1",
"Venus/Aphrodite": "SolNode2",
"Pluto/Acheron": "SolNode4",
"Neptune/Despina": "SolNode6",
"Uranus/Rosalind": "SolNode9",
"Jupiter/Thebe": "SolNode10",
"Mars/Tharsis": "SolNode11",
"Mercury/Elion": "SolNode12",
"Mars/Ultor": "SolNode14",
"Earth/Pacific": "SolNode15",
"Mars/Augustus": "SolNode16",
"Neptune/Proteus": "SolNode17",
"Saturn/Rhea": "SolNode18",
"Saturn/Enceladus": "SolNode19",
"Saturn/Telesto": "SolNode20",
"Pluto/Narcissus": "SolNode21",
"Venus/Tessera": "SolNode22",
"Venus/Cytherean": "SolNode23",
"Earth/Oro": "SolNode24",
"Jupiter/Callisto": "SolNode25",
"Earth/Lith": "SolNode26",
"Earth/E Prime": "SolNode27",
"Mercury/Terminus": "SolNode28",
"Mars/Olympus": "SolNode30",
"Saturn/Anthe": "SolNode31",
"Saturn/Tethys": "SolNode32",
"Uranus/Ariel": "SolNode33",
"Uranus/Sycorax": "SolNode34",
"Mars/Martialis": "SolNode36",
"Pluto/Minthe": "SolNode38",
"Earth/Everest": "SolNode39",
"Mars/Arval": "SolNode41",
"Saturn/Helene": "SolNode42",
"Pluto/Cerberus": "SolNode43",
"Mars/Ara": "SolNode45",
"Mars/Spear": "SolNode46",
"Pluto/Regna": "SolNode48",
"Neptune/Larissa": "SolNode49",
"Saturn/Numa": "SolNode50",
"Pluto/Hades": "SolNode51",
"Jupiter/Themisto": "SolNode53",
"Pluto/Cypress": "SolNode56",
"Neptune/Sao": "SolNode57",
"Mars/Hellas": "SolNode58",
"Earth/Eurasia": "SolNode59",
"Uranus/Caliban": "SolNode60",
"Venus/Ishtar": "SolNode61",
"Neptune/Neso": "SolNode62",
"Earth/Mantle": "SolNode63",
"Uranus/Umbriel": "SolNode64",
"Mars/Gradivus": "SolNode65",
"Venus/Unda": "SolNode66",
"Saturn/Dione": "SolNode67",
"Mars/Vallis": "SolNode68",
"Uranus/Ophelia": "SolNode69",
"Saturn/Cassini": "SolNode70",
"Pluto/Outer Terminus": "SolNode72",
"Jupiter/Ananke": "SolNode73",
"Jupiter/Carme": "SolNode74",
"Earth/Cervantes": "SolNode75",
"Pluto/Hydra": "SolNode76",
"Neptune/Triton": "SolNode78",
"Earth/Cambria": "SolNode79",
"Pluto/Palus": "SolNode81",
"Saturn/Calypso": "SolNode82",
"Uranus/Cressida": "SolNode83",
"Neptune/Nereid": "SolNode84",
"Earth/Gaia": "SolNode85",
"Jupiter/Ganymede": "SolNode87",
"Jupiter/Adrastea": "SolNode88",
"Earth/Mariana": "SolNode89",
"Saturn/Keeler": "SolNode93",
"Mercury/Apollodorus": "SolNode94",
"Saturn/Titan": "SolNode96",
"Jupiter/Amalthea": "SolNode97",
"Uranus/Desdemona": "SolNode98",
"Mars/War": "SolNode99",
"Jupiter/Elara": "SolNode100",
"Venus/Kiliken": "SolNode101",
"Pluto/Oceanum": "SolNode102",
"Mercury/M Prime": "SolNode103",
"Venus/Fossa": "SolNode104",
"Uranus/Titania": "SolNode105",
"Mars/Alator": "SolNode106",
"Venus/Venera": "SolNode107",
"Mercury/Tolstoj": "SolNode108",
"Venus/Linea": "SolNode109",
"Mars/Ares": "SolNode113",
"Uranus/Puck": "SolNode114",
"Neptune/Laomedeia": "SolNode118",
"Mercury/Caloris": "SolNode119",
"Jupiter/Carpo": "SolNode121",
"Uranus/Stephano": "SolNode122",
"Venus/V Prime": "SolNode123",
"Jupiter/Io": "SolNode125",
"Jupiter/Metis": "SolNode126",
"Neptune/Psamathe": "SolNode127",
"Venus/E Gate": "SolNode128",
"Venus/Orb Vallis": "SolNode129",
"Mercury/Lares": "SolNode130",
"Ceres/Pallas": "SolNode131",
"Ceres/Bode": "SolNode132",
"Ceres/Thon": "SolNode135",
"Ceres/Nuovo": "SolNode137",
"Ceres/Ludi": "SolNode138",
"Ceres/Lex": "SolNode139",
"Ceres/Kiste": "SolNode140",
"Ceres/Ker": "SolNode141",
"Ceres/Exta": "SolNode144",
"Ceres/Draco": "SolNode146",
"Ceres/Cinxia": "SolNode147",
"Ceres/Casta": "SolNode149",
"Eris/Brugia": "SolNode153",
"Eris/Isos": "SolNode162",
"Eris/Kala-azar": "SolNode164",
"Eris/Nimus": "SolNode166",
"Eris/Oestrus": "SolNode167",
"Eris/Saxis": "SolNode171",
"Eris/Xini": "SolNode172",
"Eris/Solium": "SolNode173",
"Eris/Naeglar": "SolNode175",
"Sedna/Kappa": "SolNode177",
"Sedna/Adaro": "SolNode181",
"Sedna/Vodyanoi": "SolNode183",
"Sedna/Rusalka": "SolNode184",
"Sedna/Berehynia": "SolNode185",
"Sedna/Selkie": "SolNode187",
"Sedna/Kelpie": "SolNode188",
"Sedna/Naga": "SolNode189",
"Sedna/Nakki": "SolNode190",
"Sedna/Marid": "SolNode191",
"Sedna/Merrow": "SolNode193",
"Sedna/Hydron": "SolNode195",
"Sedna/Charybdis": "SolNode196",
"Sedna/Yam": "SolNode199",
"Europa/Abaddon": "SolNode203",
"Europa/Armaros": "SolNode204",
"Europa/Baal": "SolNode205",
"Europa/Morax": "SolNode209",
"Europa/Naamah": "SolNode210",
"Europa/Ose": "SolNode211",
"Europa/Paimon": "SolNode212",
"Europa/Sorath": "SolNode214",
"Europa/Valac": "SolNode215",
"Europa/Valefor": "SolNode216",
"Europa/Orias": "SolNode217",
"Europa/Kokabiel": "SolNode220",
"Mercury/Boethius": "SolNode223",
"Mercury/Odin": "SolNode224",
"Mercury/Suisei": "SolNode225",
"Mercury/Pantheon": "SolNode226",
"Earth/Plains of Eidolon": "SolNode228",
"Deimos/Cambion Drift": "SolNode229",
"Lua/Plato": "SolNode300",
"Lua/Grimaldi": "SolNode301",
"Lua/Tycho": "SolNode302",
"Lua/Copernicus": "SolNode304",
"Lua/Stöfler": "SolNode305",
"Lua/Pavlov": "SolNode306",
"Lua/Zeipel": "SolNode307",
"Lua/Apollo": "SolNode308",
"Void/Teshub": "SolNode400",
"Void/Hepit": "SolNode401",
"Void/Taranis": "SolNode402",
"Void/Tiwaz": "SolNode403",
"Void/Stribog": "SolNode404",
"Void/Ani": "SolNode405",
"Void/Ukko": "SolNode406",
"Void/Oxomoco": "SolNode407",
"Void/Belenus": "SolNode408",
"Void/Mot": "SolNode409",
"Void/Aten": "SolNode410",
"Void/Marduk": "SolNode411",
"Void/Mithra": "SolNode412",
"undefined/Jordas Golem Assassinate": "SolNode701",
"undefined/Mutalist Alad V Assassinate": "SolNode705",
"Deimos/Horend": "SolNode706",
"Deimos/Hyf": "SolNode707",
"Deimos/Phlegyas": "SolNode708",
"Deimos/Dirus": "SolNode709",
"Deimos/Formido": "SolNode710",
"Deimos/Terrorem": "SolNode711",
"Deimos/Magnacidium": "SolNode712",
"Deimos/Exequias": "SolNode713",
"Jupiter/The Ropalolyst": "SolNode740",
"Kuva Fortress/Koro": "SolNode741",
"Kuva Fortress/Nabuk": "SolNode742",
"Kuva Fortress/Rotuma": "SolNode743",
"Kuva Fortress/Taveuni": "SolNode744",
"Kuva Fortress/Tamu": "SolNode745",
"Kuva Fortress/Dakata": "SolNode746",
"Kuva Fortress/Pago": "SolNode747",
"Kuva Fortress/Garus": "SolNode748",
"Venus/Montes": "SolNode902",
"Earth/Erpo": "SolNode903",
"Mars/Syrtis": "SolNode904",
"Jupiter/Galilea": "SolNode905",
"Saturn/Pandora": "SolNode906",
"Uranus/Caelus": "SolNode907"
};
const result = {};
let lastItem = [];
let lastItemIndex;
let rotation;
Array.from(document.querySelectorAll("table")[0].children[0].children).forEach(element => {
if (element.classList.contains("blank-row")) {
if (lastItemIndex) result[lastItemIndex] = lastItem;
lastItem = [];
lastItemIndex = undefined;
rotation = undefined;
} else if (element.children[0].getAttribute("colspan") == 2) {
if (!lastItemIndex) {
const mission = element.children[0].textContent;
const formatedMission = mission.substring(0, mission.indexOf(" ("));
lastItemIndex = missionNames[formatedMission];
} else {
rotation = element.children[0].textContent.replace("Rotation ", "");
}
} else {
const name = element.children[0].textContent;
const chance = parseFloat(element.children[1].textContent.match(/(\d+\.\d+)/)[0]);
lastItem.push({ chance, name, ...(rotation !== undefined && { rotation }) });
}
});
return JSON.stringify(result);
})();