MediaWiki:Common.js: Difference between revisions

From Roat Pkz
Jump to navigation Jump to search
No edit summary
(add vote boost for drop rate calcs)
 
(40 intermediate revisions by one other user not shown)
Line 1: Line 1:
// --- DROPRATE CALCULATOR ---
mw.loader.load('/index.php?title=MediaWiki:DropCalc.js&action=raw&ctype=text/javascript');
mw.hook('wikipage.content').add(function () {
mw.loader.load('/index.php?title=MediaWiki:SlayerPointsCalc.js&action=raw&ctype=text/javascript');
    var container = document.getElementById("dropCalcContainer");
mw.loader.load('/index.php?title=MediaWiki:BingoSheet.js&action=raw&ctype=text/javascript');
    if (!container) return;
mw.loader.load('/index.php?title=MediaWiki:TeamBingo.js&action=raw&ctype=text/javascript');
 
mw.loader.load('/index.php?title=MediaWiki:Tierlist.js&action=raw&ctype=text/javascript');
    // Build calculator HTML
mw.loader.load('/index.php?title=MediaWiki:SmoothiesDebtCalculator.js&action=raw&ctype=text/javascript');
    container.innerHTML =
mw.loader.load('/index.php?title=MediaWiki:VoteBoostToggle.js&action=raw&ctype=text/javascript');
        '<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="0">None/option>' +
                    '<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);
    };
});

Latest revision as of 21:24, 18 July 2026

mw.loader.load('/index.php?title=MediaWiki:DropCalc.js&action=raw&ctype=text/javascript');
mw.loader.load('/index.php?title=MediaWiki:SlayerPointsCalc.js&action=raw&ctype=text/javascript');
mw.loader.load('/index.php?title=MediaWiki:BingoSheet.js&action=raw&ctype=text/javascript');
mw.loader.load('/index.php?title=MediaWiki:TeamBingo.js&action=raw&ctype=text/javascript');
mw.loader.load('/index.php?title=MediaWiki:Tierlist.js&action=raw&ctype=text/javascript');
mw.loader.load('/index.php?title=MediaWiki:SmoothiesDebtCalculator.js&action=raw&ctype=text/javascript');
mw.loader.load('/index.php?title=MediaWiki:VoteBoostToggle.js&action=raw&ctype=text/javascript');