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:
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
     container.innerHTML =
     container.innerHTML =
         '<div style="margin:10px 0;">' +
         '<div style="margin:10px 0;">' +
         '<label>Base Drop Rate: <input type="number" id="baseRate" value="1000" style="width:80px;"></label><br><br>' +
         'Drop Rate: <input type="number" id="baseRate" value="1000" style="width:80px;"><br><br>' +
        'Donator Bonus: <select id="donatorBonus">' +
        '<option value="0">None</option>' +
        '<option value="0.45">Divine Donator 45%</option>' +
        '<option value="0.25">Golden Donator 25%</option>' +
        '</select><br><br>' +
        'Vote Bonus: <select id="voteBonus">' +
        '<option value="0">None</option>' +
        '<option value="0.10">Vote Bonus 10%</option>' +
        '</select><br><br>' +
        'Skull Bonus: <select id="skullBonus">' +
        '<option value="0">None</option>' +
        '<option value="0.20">Skull Bonus 20%</option>' +
        '</select><br><br>' +
        '<button id="calcButton">Calculate</button>' +
        '</div>' +
        '<div>Result: <span id="result">1000</span></div>';


        '<label>Donator Bonus: ' +
            '<select id="donatorBonus">' +
                '<option value="0">None</option>' +
                '<option value="0.10">Bronze (10%)</option>' +
                '<option value="0.25">Divine (25%)</option>' +
                '<option value="0.50">Legendary (50%)</option>' +
            '</select>' +
        '</label><br><br>' +
        '<label>Vote Bonus: ' +
            '<select id="voteBonus">' +
                '<option value="0">None</option>' +
                '<option value="0.05">Vote (5%)</option>' +
                '<option value="0.10">Vote+ (10%)</option>' +
            '</select>' +
        '</label><br><br>' +
        '<label>Skull Bonus: ' +
            '<select id="skullBonus">' +
                '<option value="0">None</option>' +
                '<option value="0.10">Skull (10%)</option>' +
                '<option value="0.20">Skull+ (20%)</option>' +
            '</select>' +
        '</label><br><br>' +
        '<button id="calcButton">Calculate Drop Rate</button><br><br>' +
        '<div>Final Drop Rate: <span id="finalRate">0</span></div>' +
        '</div>';
    // 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 base = parseFloat(document.getElementById("baseRate").value) || 0;
         var donator = parseFloat(document.getElementById("donatorBonus").value) || 0;
         var donator = parseFloat(document.getElementById("donatorBonus").value) || 0;
Line 45: Line 30:
         var skull = parseFloat(document.getElementById("skullBonus").value) || 0;
         var skull = parseFloat(document.getElementById("skullBonus").value) || 0;


         // Correct multiplicative calculation
         // Calculate final drop rate multiplicatively
         var finalRate = base * (1 - donator) * (1 - vote) * (1 - skull);
         var finalRate = base * (1 - donator) * (1 - vote) * (1 - skull);


         document.getElementById("finalRate").textContent = finalRate.toFixed(2);
         document.getElementById("result").textContent = Math.round(finalRate);
     });
     });
});
});

Revision as of 02:50, 5 March 2026

document.addEventListener("DOMContentLoaded", function () {
    var container = document.getElementById("calcContainer");
    if (!container) return;

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

    var btn = document.getElementById("calcButton");
    btn.addEventListener("click", function () {
        var base = parseFloat(document.getElementById("baseRate").value) || 0;
        var donator = parseFloat(document.getElementById("donatorBonus").value) || 0;
        var vote = parseFloat(document.getElementById("voteBonus").value) || 0;
        var skull = parseFloat(document.getElementById("skullBonus").value) || 0;

        // Calculate final drop rate multiplicatively
        var finalRate = base * (1 - donator) * (1 - vote) * (1 - skull);

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