MediaWiki:Common.js: Difference between revisions

From Roat Pkz
Jump to navigation Jump to search
No edit summary
No edit summary
Line 5: Line 5:


     // Build the calculator HTML
     // Build the calculator HTML
     container.innerHTML = ''
     var html = ''
         + '<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>'
         + '  <label>Base Drop Rate: <input type="number" id="baseRate" value="1000" style="width:80px;"></label>'
Line 40: Line 40:
         + '</div>'
         + '</div>'
         + '<div style="margin:10px 0;">Final Drop Rate: <span id="finalRate">0</span></div>';
         + '<div style="margin:10px 0;">Final Drop Rate: <span id="finalRate">0</span></div>';
    container.innerHTML = html;


     // Calculator logic
     // Calculator logic
     var btn = document.getElementById("calcButton");
     var btn = document.getElementById("calcButton");
     btn.addEventListener("click", function() {
     btn.onclick = 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 53: Line 55:


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

Revision as of 02:43, 5 March 2026

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

    // Build the calculator HTML
    var html = ''
        + '<div style="margin:10px 0;">'
        + '  <label>Base Drop Rate: <input type="number" id="baseRate" value="1000" style="width:80px;"></label>'
        + '</div>'
        + '<div style="margin:10px 0;">'
        + '  <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>'
        + '    </select>'
        + '  </label>'
        + '</div>'
        + '<div style="margin:10px 0;">'
        + '  <label>Vote Bonus: '
        + '    <select id="voteBonus">'
        + '      <option value="0">None</option>'
        + '      <option value="0.05">5%</option>'
        + '      <option value="0.10">10%</option>'
        + '    </select>'
        + '  </label>'
        + '</div>'
        + '<div style="margin:10px 0;">'
        + '  <label>Skull Bonus: '
        + '    <select id="skullBonus">'
        + '      <option value="0">None</option>'
        + '      <option value="0.05">5%</option>'
        + '      <option value="0.15">15%</option>'
        + '    </select>'
        + '  </label>'
        + '</div>'
        + '<div style="margin:10px 0;">'
        + '  <button id="calcButton">Calculate Drop Rate</button>'
        + '</div>'
        + '<div style="margin:10px 0;">Final Drop Rate: <span id="finalRate">0</span></div>';

    container.innerHTML = html;

    // Calculator logic
    var btn = document.getElementById("calcButton");
    btn.onclick = 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;

        // Multiplicative reduction formula
        var finalRate = base * (1 - donator) * (1 - vote) * (1 - skull);

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