MediaWiki:Common.js: Difference between revisions

From Roat Pkz
Jump to navigation Jump to search
No edit summary
(add vote boost for drop rate calcs)
 
(68 intermediate revisions by one other user not shown)
Line 1: Line 1:
 
mw.loader.load('/index.php?title=MediaWiki:DropCalc.js&action=raw&ctype=text/javascript');
 
mw.loader.load('/index.php?title=MediaWiki:SlayerPointsCalc.js&action=raw&ctype=text/javascript');
// --- DISABLED FANDOM DARK THEME BLOCK (INVALID JS) ---
mw.loader.load('/index.php?title=MediaWiki:BingoSheet.js&action=raw&ctype=text/javascript');
/*
mw.loader.load('/index.php?title=MediaWiki:TeamBingo.js&action=raw&ctype=text/javascript');
mw.loader.implement("wgl.theme.dark@zm8jm", null, {
mw.loader.load('/index.php?title=MediaWiki:Tierlist.js&action=raw&ctype=text/javascript');
    "css": ["html:has(body.wgl-theme-dark){color-scheme:dark}body.wgl-theme-dark{...}"]
mw.loader.load('/index.php?title=MediaWiki:SmoothiesDebtCalculator.js&action=raw&ctype=text/javascript');
});
mw.loader.load('/index.php?title=MediaWiki:VoteBoostToggle.js&action=raw&ctype=text/javascript');
*/
// --- END DISABLED BLOCK ---
 
// Dropdown-based Tier Assignment
mw.loader.using('jquery').then(function () {
    console.log("✅ Dropdown-based Tier Assignment is running");
 
    document.addEventListener('DOMContentLoaded', function () {
        function moveItemToTier(itemId, tierId) {
            var item = document.getElementById(itemId);
            var targetTier = document.getElementById(tierId);
            if (item && targetTier) {
                targetTier.appendChild(item);
            }
        }
 
        var selectors = document.querySelectorAll('.tier-selector');
        for (var i = 0; i < selectors.length; i++) {
            selectors[i].addEventListener('change', function () {
                var selectedTier = this.value;
                var itemId = this.id;
                moveItemToTier(itemId, selectedTier);
            });
        }
    });
});
 
// Bingo JS
mw.loader.using('mediawiki.util', function () {
    document.addEventListener("DOMContentLoaded", function () {
        console.log("✅ Bingo JS Loaded");
 
        var tiles = document.querySelectorAll(".bingo-table td .lighttable-cell");
        for (var i = 0; i < tiles.length; i++) {
            (function(tile){
                var id = tile.dataset.key || tile.id;
                if (!id) return;
 
                if (localStorage.getItem(id) === "selected") {
                    tile.classList.add("bingo-selected");
                }
 
                tile.addEventListener("click", function () {
                    tile.classList.toggle("bingo-selected");
                    if (tile.classList.contains("bingo-selected")) {
                        localStorage.setItem(id, "selected");
                    } else {
                        localStorage.removeItem(id);
                    }
                });
            })(tiles[i]);
        }
    });
});
 
// Skill XP calculator
document.addEventListener("DOMContentLoaded", function() {
    var tables = document.querySelectorAll(".skill-info-calc");
    for (var i = 0; i < tables.length; i++) {
        (function(table){
            var xpPerAction = parseInt(table.querySelector("span.total-xp").textContent);
            var numActionsElem = table.querySelector(".num-actions");
            var totalXPElem = table.querySelector(".total-xp");
 
            table.querySelector(".increase").addEventListener("click", function() {
                var actions = parseInt(numActionsElem.textContent) + 1;
                numActionsElem.textContent = actions;
                totalXPElem.textContent = actions * xpPerAction;
            });
 
            table.querySelector(".decrease").addEventListener("click", function() {
                var actions = parseInt(numActionsElem.textContent) - 1;
                if (actions < 0) actions = 0;
                numActionsElem.textContent = actions;
                totalXPElem.textContent = actions * xpPerAction;
            });
        })(tables[i]);
    }
});
 
// Simple calculator
document.addEventListener("DOMContentLoaded", function() {
    var calc = document.getElementById("calc");
    if (!calc) return;
 
    var btn = document.getElementById("calcButton");
    btn.addEventListener("click", function() {
        var a = parseFloat(document.getElementById("num1").value);
        var b = parseFloat(document.getElementById("num2").value);
        var op = document.getElementById("op").value;
        var result;
 
        if (isNaN(a) || isNaN(b)) {
            result = "Enter valid numbers";
        } else {
            switch (op) {
                case "+": result = a + b; break;
                case "-": result = a - b; break;
                case "*": result = a * b; break;
                case "/": result = b !== 0 ? a / b : "∞"; break;
                default: result = "Error";
            }
        }
 
        document.getElementById("result").textContent = " " + result;
    });
});
document.addEventListener("DOMContentLoaded", function() {
  const btn = document.getElementById("calcButton");
  if (!btn) return;
 
  btn.addEventListener("click", function() {
    const a = parseFloat(document.getElementById("num1").textContent);
    const b = parseFloat(document.getElementById("num2").textContent);
    const op = document.getElementById("op").textContent;
    let result;
 
    if (isNaN(a) || isNaN(b)) {
      result = "Enter valid numbers";
    } else {
      switch(op) {
        case "+": result = a + b; break;
        case "-": result = a - b; break;
        case "*": result = a * b; break;
        case "/": result = b !== 0 ? a / b : "∞"; break;
        default: result = "Error";
      }
    }
 
    document.getElementById("result").textContent = result;
  });
});
document.addEventListener("DOMContentLoaded", function() {
  const btn = document.getElementById("calcButton");
  if (!btn) return;
 
  btn.addEventListener("click", function() {
    const a = parseFloat(document.getElementById("num1").textContent);
    const b = parseFloat(document.getElementById("num2").textContent);
    const op = document.getElementById("op").textContent.trim();
    let result;
 
    if (isNaN(a) || isNaN(b)) {
      result = "Enter valid numbers";
    } else {
      switch(op) {
        case "+": result = a + b; break;
        case "-": result = a - b; break;
        case "*": result = a * b; break;
        case "/": result = b !== 0 ? a / b : "∞"; break;
        default: result = "Invalid operation";
      }
    }
 
    document.getElementById("result").textContent = result;
  });
});

Latest revision as of 21:24, 18 July 2026

mw.loader.load('/index.php?title=MediaWiki:DropCalc.js&action=raw&ctype=text/javascript');
mw.loader.load('/index.php?title=MediaWiki:SlayerPointsCalc.js&action=raw&ctype=text/javascript');
mw.loader.load('/index.php?title=MediaWiki:BingoSheet.js&action=raw&ctype=text/javascript');
mw.loader.load('/index.php?title=MediaWiki:TeamBingo.js&action=raw&ctype=text/javascript');
mw.loader.load('/index.php?title=MediaWiki:Tierlist.js&action=raw&ctype=text/javascript');
mw.loader.load('/index.php?title=MediaWiki:SmoothiesDebtCalculator.js&action=raw&ctype=text/javascript');
mw.loader.load('/index.php?title=MediaWiki:VoteBoostToggle.js&action=raw&ctype=text/javascript');