MediaWiki:Common.js: Difference between revisions

From Roat Pkz
Jump to navigation Jump to search
No edit summary
No edit summary
Line 12: Line 12:
                 '<select id="donatorBonus">' +
                 '<select id="donatorBonus">' +
                     '<option value="0">None</option>' +
                     '<option value="0">None</option>' +
                     '<option value="10">Bronze 10%</option>' +
                     '<option value="10">test 10%</option>' +
                     '<option value="25">Silver 25%</option>' +
                     '<option value="25">test 25%</option>' +
                     '<option value="45">Divine 45%</option>' +
                     '<option value="45">test 45%</option>' +
                 '</select>' +
                 '</select>' +
             '</label><br><br>' +
             '</label><br><br>' +
Line 20: Line 20:
             '<label>Monster Slayer Perk: ' +
             '<label>Monster Slayer Perk: ' +
                 '<select id="slayerBonus">' +
                 '<select id="slayerBonus">' +
                    '<option value="0">None</option>' +
                    '<option value="5">5%</option>' +
                     '<option value="10">10%</option>' +
                     '<option value="10">10%</option>' +
                 '</select>' +
                 '</select>' +
Line 29: Line 27:
                 '<select id="ringBonus">' +
                 '<select id="ringBonus">' +
                     '<option value="0">None</option>' +
                     '<option value="0">None</option>' +
                     '<option value="5">5%</option>' +
                     '<option value="3">3%</option>' +
                     '<option value="15">15%</option>' +
                     '<option value="6">6%</option>' +
                '</select>' +
            '</label><br><br>' +
 
            '<label>Skull Bonus: ' +
                '<select id="skullBonus">' +
                    '<option value="0">None</option>' +
                    '<option value="20">20%</option>' +
                 '</select>' +
                 '</select>' +
             '</label><br><br>' +
             '</label><br><br>' +
Line 37: Line 42:
                 '<select id="voteBonus">' +
                 '<select id="voteBonus">' +
                     '<option value="0">None</option>' +
                     '<option value="0">None</option>' +
                    '<option value="10">10%</option>' +
                     '<option value="20">20%</option>' +
                     '<option value="20">20%</option>' +
                    '<option value="30">30%</option>' +
                 '</select>' +
                 '</select>' +
             '</label><br><br>' +
             '</label><br><br>' +

Revision as of 03:01, 5 March 2026

// --- DROPRATE CALCULATOR ---
mw.hook('wikipage.content').add(function () {
    var container = document.getElementById("dropCalcContainer");
    if (!container) return;

    // Build calculator HTML
    container.innerHTML =
        '<div style="margin:10px 0;">' +
            '<label>Base Drop Rate: <input type="number" id="baseRate" value="1000" style="width:80px;"></label><br><br>' +

            '<label>Donator Rank Bonus: ' +
                '<select id="donatorBonus">' +
                    '<option value="0">None</option>' +
                    '<option value="10">test 10%</option>' +
                    '<option value="25">test 25%</option>' +
                    '<option value="45">test 45%</option>' +
                '</select>' +
            '</label><br><br>' +

            '<label>Monster Slayer Perk: ' +
                '<select id="slayerBonus">' +
                    '<option value="10">10%</option>' +
                '</select>' +
            '</label><br><br>' +

            '<label>Collector\'s Ring Bonus: ' +
                '<select id="ringBonus">' +
                    '<option value="0">None</option>' +
                    '<option value="3">3%</option>' +
                    '<option value="6">6%</option>' +
                '</select>' +
            '</label><br><br>' +

            '<label>Skull Bonus: ' +
                '<select id="skullBonus">' +
                    '<option value="0">None</option>' +
                    '<option value="20">20%</option>' +
                '</select>' +
            '</label><br><br>' +

            '<label>Voting Bonus: ' +
                '<select id="voteBonus">' +
                    '<option value="0">None</option>' +
                    '<option value="20">20%</option>' +
                '</select>' +
            '</label><br><br>' +

            '<button id="calcDropBtn">Calculate Drop Rate</button>' +
        '</div>' +
        '<div>Final Drop Rate: <span id="finalDrop">0</span></div>';

    // Calculation
    var btn = document.getElementById("calcDropBtn");
    btn.onclick = function () {
        var base = parseFloat(document.getElementById("baseRate").value) || 0;
        var donator = parseFloat(document.getElementById("donatorBonus").value) || 0;
        var slayer = parseFloat(document.getElementById("slayerBonus").value) || 0;
        var ring = parseFloat(document.getElementById("ringBonus").value) || 0;
        var vote = parseFloat(document.getElementById("voteBonus").value) || 0;

        // Correct drop rate calculation: subtracting percentages in order
        var finalRate = base;
        finalRate *= (1 - donator / 100);
        finalRate *= (1 - slayer / 100);
        finalRate *= (1 - ring / 100);
        finalRate *= (1 - vote / 100);

        document.getElementById("finalDrop").textContent = Math.round(finalRate);
    };
});