MediaWiki:Calculator.js/Luck.js — различия между версиями
Alastar (обсуждение | вклад) (Новая страница: «→* * Calculator that calculates your percentage chance for more and better loot given a specified Luck value.: function LuckToChanceCalculator() { var ca…») |
(нет различий)
|
Текущая версия на 12:13, 25 августа 2019
/**
* Calculator that calculates your percentage chance for more and better loot given a specified Luck value.
*/
function LuckToChanceCalculator() {
var calculate = function(input, label) {
if (input.value) {
if (isNumeric(input.value)) {
var percentChance = Math.pow(input.value, (5 / 9));
if (percentChance > 100) {
percentChance = 100;
}
percentChance = percentChance.toFixed(3);
removeChildren(label);
label.appendChild(document.createTextNode(percentChance + '% Chance'));
}
}
};
var calcTableRow = document.createElement('tr');
var calcTableCell = document.createElement('td');
var luckInput = document.createElement('input');
var calculateButton = document.createElement('input');
var percentChanceLabel = document.createElement('div');
calcTableCell.style.textAlign = 'right';
calcTableCell.appendChild(document.createTextNode('Luck:'));
calcTableRow.appendChild(calcTableCell);
luckInput.id = 'luckInput';
luckInput.maxLength = '4';
luckInput.type = 'text';
luckInput.style.width = '35px';
luckInput.onkeyup = function(keyEvent) {
var keyID = window.event ? event.keyCode : keyEvent.keyCode;
if (keyID == 13)
calculate(luckInput, percentChanceLabel);
};
calcTableCell = document.createElement('td');
calcTableCell.appendChild(luckInput);
calcTableRow.appendChild(calcTableCell);
calculateButton.type = 'button';
calculateButton.value = 'Calculate >>';
calculateButton.onclick = function() {
calculate(luckInput, percentChanceLabel);
};
calcTableCell = document.createElement('td');
calcTableCell.appendChild(calculateButton);
calcTableRow.appendChild(calcTableCell);
percentChanceLabel.appendChild(document.createTextNode('0.000% Chance'));
percentChanceLabel.style.textAlign = 'right';
percentChanceLabel.style.width = '110px';
calcTableCell = document.createElement('td');
calcTableCell.appendChild(percentChanceLabel);
calcTableRow.appendChild(calcTableCell);
return calcTableRow;
}
/**
* Calculator that calculates the amount of Luck required to achieve a specified percentage chance for more and better loot.
*/
function ChanceToLuckCalculator() {
var calculate = function(input, label) {
if (input.value) {
if (input.value > 100) {
input.value = '100';
}
if (isNumeric(input.value)) {
var luckAmount = Math.ceil(Math.pow(input.value, (9 / 5)));
removeChildren(label);
label.appendChild(document.createTextNode(luckAmount + ' Luck'));
}
}
};
var calcTableRow = document.createElement('tr');
var calcTableCell = document.createElement('td');
var chanceInput = document.createElement('input');
var calculateButton = document.createElement('input');
var luckAmountLabel = document.createElement('div');
calcTableCell.style.textAlign = 'right';
calcTableCell.appendChild(document.createTextNode('Chance:'));
calcTableRow.appendChild(calcTableCell);
chanceInput.id = 'chanceInput';
chanceInput.maxLength = '3';
chanceInput.type = 'text';
chanceInput.style.width = '25px';
chanceInput.onkeyup = function(keyEvent) {
var keyID = window.event ? event.keyCode : keyEvent.keyCode;
if (keyID == 13)
calculate(chanceInput, luckAmountLabel);
};
calcTableCell = document.createElement('td');
calcTableCell.appendChild(chanceInput);
calcTableRow.appendChild(calcTableCell);
calculateButton.type = 'button';
calculateButton.value = 'Calculate >>';
calculateButton.onclick = function() {
calculate(chanceInput, luckAmountLabel);
};
calcTableCell = document.createElement('td');
calcTableCell.appendChild(calculateButton);
calcTableRow.appendChild(calcTableCell);
luckAmountLabel.appendChild(document.createTextNode('0 Luck'));
luckAmountLabel.style.textAlign = 'right';
luckAmountLabel.style.width = '60px';
calcTableCell = document.createElement('td');
calcTableCell.appendChild(luckAmountLabel);
calcTableRow.appendChild(calcTableCell);
return calcTableRow;
}
function searchForCalculators() {
var calculators = document.getElementsByTagName('div');
for (var i in calculators) {
if (calculators[i].id == 'LuckToChance') {
Calculator(LuckToChanceCalculator(), 'LuckToChance', 'Luck to Chance', 4);
} else if (calculators[i].id == 'ChanceToLuck') {
Calculator(ChanceToLuckCalculator(), 'ChanceToLuck', 'Chance to Luck', 4);
}
}
}
addOnloadHook(searchForCalculators);