MediaWiki:Common.js: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
| Line 5: | Line 5: | ||
// Build the calculator HTML | // Build the calculator HTML | ||
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. | 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);
};
});