|
|
| (43 intermediate revisions by the same user not shown) |
| Line 1: |
Line 1: |
| // --- Drop Rate Calculator (ES5 Compatible) ---
| | mw.loader.load('/index.php?title=MediaWiki:DropCalc.js&action=raw&ctype=text/javascript'); |
| document.addEventListener("DOMContentLoaded", function () {
| | mw.loader.load('/index.php?title=MediaWiki:SlayerPointsCalc.js&action=raw&ctype=text/javascript'); |
| var container = document.getElementById("calcContainer");
| | mw.loader.load('/index.php?title=MediaWiki:BingoSheet.js&action=raw&ctype=text/javascript'); |
| if (!container) return;
| |
| | |
| // Build calculator HTML
| |
| 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>';
| |
| | |
| // Calculator functionality
| |
| 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;
| |
| | |
| // Multiplicative calculation
| |
| var finalRate = base * (1 - donator) * (1 - vote) * (1 - skull);
| |
| | |
| // Round result
| |
| document.getElementById("result").textContent = Math.round(finalRate);
| |
| });
| |
| });
| |