MediaWiki:Common.js: Difference between revisions

From Roat Pkz
Jump to navigation Jump to search
No edit summary
No edit summary
Line 1: Line 1:
// --- Simple Drop Rate Calculator (Adds bonuses) ---
// MediaWiki:Common.js
document.addEventListener("DOMContentLoaded", function () {
document.addEventListener("DOMContentLoaded", function() {
     var container = document.getElementById("calcContainer");
     var container = document.getElementById("calcContainer");
     if (!container) return;
     if (!container) return;


     // Build calculator HTML
     // Build calculator HTML dynamically
     container.innerHTML =
     container.innerHTML =
         '<div style="margin:10px 0;">' +
         '<div style="margin:10px 0;">' +
        'Drop Rate: <input type="number" id="baseRate" value="1000" style="width:80px;"><br><br>' +
            '<label>Num1: <input type="number" id="num1" value="1000" style="width:60px;"></label>' +
        'Donator Bonus: <select id="donatorBonus">' +
            '<label>Num2: <input type="number" id="num2" value="0" style="width:60px;"></label>' +
        '<option value="0">None</option>' +
            '<label>Operation: ' +
        '<option value="0.45">Divine Donator 45%</option>' +
                '<select id="op">' +
        '<option value="0.25">Golden Donator 25%</option>' +
                    '<option value="+">+</option>' +
        '</select><br><br>' +
                    '<option value="-">-</option>' +
        'Vote Bonus: <select id="voteBonus">' +
                    '<option value="*">*</option>' +
        '<option value="0">None</option>' +
                    '<option value="/">/</option>' +
        '<option value="0.10">Vote Bonus 10%</option>' +
                '</select>' +
        '</select><br><br>' +
            '</label>' +
        'Skull Bonus: <select id="skullBonus">' +
            '<button id="calcButton">Calculate</button>' +
        '<option value="0">None</option>' +
        '<option value="0.20">Skull Bonus 20%</option>' +
        '</select><br><br>' +
        '<button id="calcButton">Calculate</button>' +
         '</div>' +
         '</div>' +
         '<div>Result: <span id="result">1000</span></div>';
         '<div>Result: <span id="result">0</span></div>';


     // Calculator functionality (ADDS bonuses instead of multiplying)
     // Add calculator functionality
     var btn = document.getElementById("calcButton");
     var btn = document.getElementById("calcButton");
     btn.addEventListener("click", function () {
     btn.addEventListener("click", function() {
         var base = parseFloat(document.getElementById("baseRate").value) || 0;
         var a = parseFloat(document.getElementById("num1").value);
         var donator = parseFloat(document.getElementById("donatorBonus").value) || 0;
         var b = parseFloat(document.getElementById("num2").value);
         var vote = parseFloat(document.getElementById("voteBonus").value) || 0;
         var op = document.getElementById("op").value;
         var skull = parseFloat(document.getElementById("skullBonus").value) || 0;
         var result;


         // WRONG calculation: adds bonuses
         if (isNaN(a) || isNaN(b)) {
         var finalRate = base + (base * donator) + (base * vote) + (base * skull);
            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";
            }
        }


        // Round result
         document.getElementById("result").textContent = result;
         document.getElementById("result").textContent = Math.round(finalRate);
     });
     });
});
});

Revision as of 02:52, 5 March 2026

// MediaWiki:Common.js
document.addEventListener("DOMContentLoaded", function() {
    var container = document.getElementById("calcContainer");
    if (!container) return;

    // Build calculator HTML dynamically
    container.innerHTML =
        '<div style="margin:10px 0;">' +
            '<label>Num1: <input type="number" id="num1" value="1000" style="width:60px;"></label>' +
            '<label>Num2: <input type="number" id="num2" value="0" style="width:60px;"></label>' +
            '<label>Operation: ' +
                '<select id="op">' +
                    '<option value="+">+</option>' +
                    '<option value="-">-</option>' +
                    '<option value="*">*</option>' +
                    '<option value="/">/</option>' +
                '</select>' +
            '</label>' +
            '<button id="calcButton">Calculate</button>' +
        '</div>' +
        '<div>Result: <span id="result">0</span></div>';

    // Add calculator functionality
    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;
    });
});