Prevents joining OCs if success rate is too low
当前为
// ==UserScript==
// @name OC - Prevent Joining Low %
// @namespace Titanic_
// @version 1.0
// @description Prevents joining OCs if success rate is too low
// @author Titanic_ [2968477]
// @license MIT
// @match https://www.torn.com/factions.php?step=your*
// @grant none
// ==/UserScript==
(function () {
'use strict';
// minimum %
const LEVEL_REQUIREMENTS = {
7: 75,
8: 65,
9: 0,
10: 0
};
function observe() {
if (!window.location.href.includes("tab=crimes")) return;
if (window.OCCheckInterval) clearInterval(window.OCCheckInterval);
window.OCCheckInterval = setInterval(() => {
if (document.querySelector("[class*=joinButton_]")) process();
}, 500);
}
function process() {
document.querySelectorAll("#faction-crimes-root div[class*=contentLayer_]").forEach(row => {
if (row.dataset.checked !== undefined) return;
const ocLevel = parseInt(row.querySelector("span[class*=levelValue_]").textContent)
if (!ocLevel) return console.warn("Failed to find OC Level");
const minSuccessRate = LEVEL_REQUIREMENTS[ocLevel];
if (minSuccessRate === undefined) return;
row.querySelectorAll("[class*=joinButton_]").forEach(btn => {
const successRate = parseInt(btn.closest("[class*=wrapper]")?.querySelector("[class*=successChance]").textContent)
if (!successRate) return console.warn("Failed to find OC Success Rate");
if (successRate < minSuccessRate) btn.disabled = true;
});
row.dataset.checked = "checked";
});
}
window.addEventListener("hashchange", observe);
observe();
})();