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() {
    // Only run if container exists
    var container = document.getElementById("calcContainer");
    if (!container) return;
    // Build HTML via JS (CSP-safe)
    container.innerHTML = `
        <label>Base Drop Rate: <input type="number" id="baseRate" value="1000" style="width:80px;"></label><br><br>
        <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>
        <button id="calcButton">Calculate Drop Rate</button><br><br>
        <div>Final Drop Rate: <span id="finalRate">0</span></div>
    `;
     var btn = document.getElementById("calcButton");
     var btn = document.getElementById("calcButton");
    if (!btn) return; // exit if page doesn’t have calculator
     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;
        var vote = parseFloat(document.getElementById("voteBonus").value) || 0;
         var finalRate = base * (1 - donator);
        var skull = parseFloat(document.getElementById("skullBonus").value) || 0;
 
        // Multiply by remaining percentages to **reduce drop rate** by each bonus
         var finalRate = base * (1 - donator) * (1 - vote) * (1 - skull);
 
        // Display result with 2 decimals
         document.getElementById("finalRate").textContent = finalRate.toFixed(2);
         document.getElementById("finalRate").textContent = finalRate.toFixed(2);
     });
     });
});
});

Revision as of 02:48, 5 March 2026

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

    // Build HTML via JS (CSP-safe)
    container.innerHTML = `
        <label>Base Drop Rate: <input type="number" id="baseRate" value="1000" style="width:80px;"></label><br><br>
        <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>
        <button id="calcButton">Calculate Drop Rate</button><br><br>
        <div>Final Drop Rate: <span id="finalRate">0</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 finalRate = base * (1 - donator);
        document.getElementById("finalRate").textContent = finalRate.toFixed(2);
    });
});