MediaWiki:Common.js: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
| Line 1: | Line 1: | ||
// | // == Common.js Minimal Droprate Calculator == | ||
// Runs only on pages with #calcContainer | |||
document.addEventListener("DOMContentLoaded", function() { | document.addEventListener("DOMContentLoaded", function() { | ||
var container = document.getElementById("calcContainer"); | var container = document.getElementById("calcContainer"); | ||
| Line 37: | Line 38: | ||
container.innerHTML = html; | container.innerHTML = html; | ||
// Add | // Add calculator functionality | ||
var btn = document.getElementById("calcButton"); | var btn = document.getElementById("calcButton"); | ||
btn.onclick = function() { | btn.onclick = function() { | ||
| Line 45: | Line 46: | ||
var skull = parseFloat(document.getElementById("skullBonus").value) || 0; | var skull = parseFloat(document.getElementById("skullBonus").value) || 0; | ||
// Apply bonuses multiplicatively | |||
var finalRate = base * (1 - donator) * (1 - vote) * (1 - skull); | var finalRate = base * (1 - donator) * (1 - vote) * (1 - skull); | ||
Revision as of 02:45, 5 March 2026
// == Common.js Minimal Droprate Calculator ==
// Runs only on pages with #calcContainer
document.addEventListener("DOMContentLoaded", function() {
var container = document.getElementById("calcContainer");
if (!container) return;
// Build the calculator HTML
var html = '';
html += '<div>';
html += '<label>Base Drop Rate: <input type="number" id="baseRate" value="1000" style="width:80px;"></label>';
html += '</div>';
html += '<div>';
html += '<label>Donator Bonus: <select id="donatorBonus">';
html += '<option value="0">None</option>';
html += '<option value="0.10">Bronze (10%)</option>';
html += '<option value="0.25">Divine (25%)</option>';
html += '</select></label>';
html += '</div>';
html += '<div>';
html += '<label>Vote Bonus: <select id="voteBonus">';
html += '<option value="0">None</option>';
html += '<option value="0.05">5%</option>';
html += '<option value="0.10">10%</option>';
html += '</select></label>';
html += '</div>';
html += '<div>';
html += '<label>Skull Bonus: <select id="skullBonus">';
html += '<option value="0">None</option>';
html += '<option value="0.05">5%</option>';
html += '<option value="0.15">15%</option>';
html += '</select></label>';
html += '</div>';
html += '<div>';
html += '<button id="calcButton">Calculate Drop Rate</button>';
html += '</div>';
html += '<div>Final Drop Rate: <span id="finalRate">0</span></div>';
container.innerHTML = html;
// Add calculator functionality
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;
// Apply bonuses multiplicatively
var finalRate = base * (1 - donator) * (1 - vote) * (1 - skull);
document.getElementById("finalRate").textContent = finalRate.toFixed(2);
};
});