2020-12-09 16:52:03 +01:00
|
|
|
var hiscores = hiscores || {};
|
2020-12-10 21:44:56 +01:00
|
|
|
|
|
|
|
hiscores.apiURL = "https://18f35cfbb30b.ngrok.io";
|
|
|
|
|
2020-12-09 16:52:03 +01:00
|
|
|
hiscores.sName = [
|
2020-12-09 16:40:53 +01:00
|
|
|
"Attack",
|
|
|
|
"Defence",
|
|
|
|
"Strength",
|
|
|
|
"Constitution",
|
|
|
|
"Ranged",
|
|
|
|
"Prayer",
|
|
|
|
"Magic",
|
|
|
|
"Cooking",
|
|
|
|
"Woodcutting",
|
|
|
|
"Fletching",
|
|
|
|
"Fishing",
|
|
|
|
"Firemaking",
|
|
|
|
"Crafting",
|
|
|
|
"Smithing",
|
|
|
|
"Mining",
|
|
|
|
"Herblore",
|
|
|
|
"Agility",
|
|
|
|
"Thieving",
|
|
|
|
"Slayer",
|
|
|
|
"Farming",
|
|
|
|
"Runecrafting",
|
|
|
|
"Hunter",
|
|
|
|
"Construction",
|
|
|
|
"Summoning"
|
|
|
|
]
|
|
|
|
|
2020-12-09 17:13:31 +01:00
|
|
|
|
|
|
|
hiscores.page = 0;
|
|
|
|
hiscores.currentSkillId = "";
|
|
|
|
|
|
|
|
hiscores.tableData = [];
|
|
|
|
hiscores.defaultTableData = [];
|
|
|
|
|
2020-12-09 16:52:03 +01:00
|
|
|
hiscores.linkLeftTabSkillNames = () => {
|
|
|
|
hiscores.sName.forEach((skill, index) => {
|
2020-12-09 16:40:53 +01:00
|
|
|
row = document.getElementsByClassName(` ${skill} ico`)[0].addEventListener("click", function (e) {
|
2020-12-10 16:32:20 +01:00
|
|
|
e.preventDefault();
|
|
|
|
window.location.replace(`./hiscores.html?skill=${index}${hiscores.getFiltersAsURLparams()}`);
|
2020-12-09 16:40:53 +01:00
|
|
|
});
|
|
|
|
});
|
2020-12-10 16:32:20 +01:00
|
|
|
document.getElementsByClassName(` Overall ico`)[0].addEventListener("click", function (e) {
|
|
|
|
e.preventDefault();
|
|
|
|
window.location.replace(`./hiscores.html${hiscores.getFiltersAsURLparams()}`);
|
|
|
|
});
|
2020-12-09 16:52:03 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
hiscores.initializePageArrows = () => {
|
|
|
|
document.getElementById("button-up").addEventListener("click", function (e) {
|
|
|
|
e.preventDefault();
|
|
|
|
if (hiscores.page > 0) {
|
|
|
|
hiscores.page--;
|
|
|
|
}
|
2020-12-10 15:48:43 +01:00
|
|
|
let pageRemovedWindowLocation = window.location.search.split(/\?page=\d*/).join('');
|
2020-12-10 14:23:40 +01:00
|
|
|
window.location.replace(`./hiscores.html${pageRemovedWindowLocation}?page=${hiscores.page}`);
|
2020-12-09 16:52:03 +01:00
|
|
|
});
|
|
|
|
document.getElementById("button-down").addEventListener("click", function (e) {
|
|
|
|
e.preventDefault();
|
|
|
|
hiscores.page++;
|
2020-12-10 15:48:43 +01:00
|
|
|
let pageRemovedWindowLocation = window.location.search.split(/\?page=\d*/).join('');
|
2020-12-10 14:23:40 +01:00
|
|
|
window.location.replace(`./hiscores.html${pageRemovedWindowLocation}?page=${hiscores.page}`);
|
2020-12-09 16:52:03 +01:00
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
hiscores.initalizeRightsideButtons = () => {
|
|
|
|
document.getElementById("search_button").addEventListener("click", function (e) {
|
|
|
|
e.preventDefault();
|
2020-12-10 16:32:20 +01:00
|
|
|
window.location.replace(`./hiscores.html?player=${document.getElementById('search_name').value}${hiscores.getFiltersAsURLparams()}`);
|
2020-12-09 16:52:03 +01:00
|
|
|
});
|
|
|
|
|
|
|
|
document.getElementById("search_rank_submit").addEventListener("click", function (e) {
|
|
|
|
e.preventDefault();
|
|
|
|
if (document.getElementById('search_rank').value) {
|
2020-12-10 00:52:05 +01:00
|
|
|
hiscores.loadUserTable(hiscores.defaultTableData[document.getElementById('search_rank').value - 1].username)
|
|
|
|
hiscores.setHeadSkillText(hiscores.defaultTableData[document.getElementById('search_rank').value - 1].username + "'s ");
|
2020-12-09 16:52:03 +01:00
|
|
|
}
|
|
|
|
else {
|
|
|
|
hiscores.loadDefaultHSTable();
|
|
|
|
}
|
|
|
|
});
|
2020-12-10 15:48:43 +01:00
|
|
|
|
|
|
|
document.getElementById("filter_submit").addEventListener("click", function (e) {
|
|
|
|
e.preventDefault();
|
2020-12-11 15:08:43 +01:00
|
|
|
let pageRemovedFiltersLocation = window.location.search.split(/\?iron=[A-z]+|\?ultiron=[A-z]+|\?hciron=[A-z]+|\?maxXP=[\d\.]+/).join('');
|
2020-12-10 15:48:43 +01:00
|
|
|
const ironparam = `?iron=${document.getElementById('check_iron').checked}`;
|
|
|
|
const ultironparam = `?ultiron=${document.getElementById('check_ultiron').checked}`;
|
|
|
|
const hcironparam = `?hciron=${document.getElementById('check_hciron').checked}`;
|
|
|
|
const maxXP = `?maxXP=${document.getElementById("maxXP").value}`;
|
|
|
|
window.location.replace(`./hiscores.html${pageRemovedFiltersLocation}${ironparam}${ultironparam}${hcironparam}${maxXP}`);
|
|
|
|
});
|
2020-12-10 21:13:48 +01:00
|
|
|
|
|
|
|
if (document.getElementById("filter_clear")) {
|
|
|
|
// Filter clear only appears when filters are present
|
|
|
|
document.getElementById("filter_clear").addEventListener("click", function (e) {
|
|
|
|
e.preventDefault();
|
2020-12-11 14:59:31 +01:00
|
|
|
let pageRemovedFiltersLocation = window.location.search.split(/\?iron=[A-z]+|\?ultiron=[A-z]+|\?hciron=[A-z]+|\?maxXP=[\d\.]+/).join('');
|
2020-12-10 21:13:48 +01:00
|
|
|
window.location.replace(`./hiscores.html${pageRemovedFiltersLocation}`);
|
|
|
|
})
|
|
|
|
}
|
2020-12-09 17:13:31 +01:00
|
|
|
}
|
|
|
|
|
2020-12-10 16:32:20 +01:00
|
|
|
hiscores.filter = (result) => {
|
|
|
|
return result.filter(result => {
|
|
|
|
// No filters
|
|
|
|
if (!getParam("iron")) {
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
|
|
|
|
if (Number(result.exp_multiplier) > Number(getParam("maxXP"))) {
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
|
|
|
|
// If all ironman filters are false, show everyone (only filter by exp)
|
|
|
|
if (getParam("iron") === "false" && getParam("ultiron") === "false" && getParam("hciron") === "false") {
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
|
|
|
|
// If some ironman filters are true, only show those
|
|
|
|
if (getParam("iron") === "true" && result.iron_mode == 1) {
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
if (getParam("hciron") === "true" && result.iron_mode == 2) {
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
if (getParam("ultiron") === "true" && result.iron_mode == 3) {
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
|
|
|
|
return false;
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
hiscores.getFiltersAsURLparams = () => {
|
2020-12-10 18:55:36 +01:00
|
|
|
return getParam("iron") ? `?iron=${getParam("iron")}?hciron=${getParam("hciron")}?ultiron=${getParam("ultiron")}?maxXP=${getParam("maxXP")}` : "";
|
2020-12-10 16:32:20 +01:00
|
|
|
}
|
|
|
|
|
2020-12-10 00:52:05 +01:00
|
|
|
hiscores.formatName = (name, ironStatus = 0, xpRate = 10, aposS = false,) => {
|
2020-12-09 17:13:31 +01:00
|
|
|
name = name.replaceAll("_", " ");
|
|
|
|
name = name.replace(/(^\w|\s\w)/g, match => match.toUpperCase()); // Capitalize first letter of each word
|
|
|
|
if (aposS) {
|
|
|
|
if (!name.endsWith('s')) {
|
|
|
|
name += "'s";
|
|
|
|
} else {
|
|
|
|
name += "'";
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2020-12-10 00:52:05 +01:00
|
|
|
name = hiscores.getIronIcon(ironStatus) + name;
|
2020-12-10 01:07:32 +01:00
|
|
|
if (xpRate != 10) {
|
|
|
|
return name + ` <span style="color: rgba(${Math.max(0, 50 - Math.pow(xpRate, 1.7) * 10)}, 0, 0, 0.4);">${xpRate > 10 ? Math.round(xpRate) : xpRate}x</span>`;
|
2020-12-10 00:52:05 +01:00
|
|
|
}
|
2020-12-10 01:07:32 +01:00
|
|
|
return name;
|
2020-12-09 17:13:31 +01:00
|
|
|
}
|
|
|
|
|
2020-12-09 22:12:19 +01:00
|
|
|
hiscores.setHeadSkillIcon = (icon) => {
|
|
|
|
if (icon.includes(".")) {
|
|
|
|
document.getElementById("scores_head_icon").src = icon;
|
|
|
|
} else {
|
|
|
|
document.getElementById("scores_head_icon").src = `../../site/img/hiscores/skill_icon_${icon.toLowerCase()}1eccb.gif`;
|
|
|
|
}
|
2020-12-09 17:13:31 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
hiscores.setHeadSkillText = (text) => {
|
2020-12-10 00:52:05 +01:00
|
|
|
document.getElementById("scores_head_skill").innerHTML = text;
|
2020-12-09 23:20:08 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
hiscores.getIronIcon = (ironStatus) => {
|
|
|
|
switch (ironStatus) {
|
|
|
|
case "1":
|
|
|
|
case 1:
|
|
|
|
return `<img src="../../site/img/osrsimg/ironman.png" style="height: 11px"> `;
|
|
|
|
case "2":
|
|
|
|
case 2:
|
|
|
|
return `<img src="../../site/img/osrsimg/hcim.png" style="height: 11px"> `;
|
|
|
|
case "3":
|
|
|
|
case 3:
|
|
|
|
return `<img src="../../site/img/osrsimg/ultimateironman.png" style="height: 11px"> `;
|
|
|
|
default:
|
|
|
|
return "";
|
|
|
|
}
|
2020-12-10 00:52:05 +01:00
|
|
|
}
|