Widget:YieldCalc: Difference between revisions
No edit summary Tag: Reverted |
No edit summary |
||
(103 intermediate revisions by the same user not shown) | |||
Line 4: | Line 4: | ||
Usage: <nowiki>{{#Widget:YieldCalc}}</nowiki> | Usage: <nowiki>{{#Widget:YieldCalc}}</nowiki> | ||
</noinclude> | </noinclude> | ||
<includeonly> | <includeonly> | ||
<style> | |||
input[type='number']{ | |||
width: 40px; | |||
} | |||
#foodYieldForm { | |||
width: 700px; | |||
} | |||
</style> | |||
<form id="foodYieldForm"> | <form id="foodYieldForm"> | ||
<input type="number" id="cityProd" | <input type="number" id="cityProd"> - City Production<br /> | ||
<input type="submit" value="Calculate" onClick=" | <input type="number" id="regionYield"> - Yield(Apples) of the region<br /> | ||
<input type="number" id="farmCount"> - Amount of Farms in the region<br /> | |||
<input type="number" id="percBonus"> - Total Percentage Bonus (e.g. 50% from a Plow and 150% from an expert adds up to 200%)<br /> | |||
<input type="checkbox" id="verseBonus" onClick="yieldScript()"> - Religious Verse active?<br /> | |||
<input type="submit" value="Calculate" onClick="yieldScript()"> | |||
</form> | </form> | ||
<script type="text/javascript"> | |||
// Prevent Submit button from reloading page | |||
foodYieldForm.addEventListener("submit", (event) => { | |||
event.preventDefault(); | |||
}); | |||
// Yield Calculator | |||
function yieldScript(){ | |||
let A = Number(document.getElementById('cityProd').value); // City Production | |||
let B = Number(document.getElementById('regionYield').value); // Yield(Apples) of the region | |||
let C = Number(document.getElementById('farmCount').value); // Amount of Farms in the region | |||
let E = Number(document.getElementById('percBonus').value); // Total Percentage Bonus (e.g. 50% from a Plow) | |||
let F = document.getElementById('verseBonus'); // Extra farm adjacency from religious verse | |||
if (F.checked == true){ | |||
var G = 1; | |||
} else { | |||
var G = 0; | |||
} | |||
let | let H = C + G; // Add G to the actual amount of farms in the region | ||
let Z = Number(Math.floor(A*B+B*5*H+5+(A+5*H)*(E/100)+(H-1)*5+A)); // Resulting production of a single farm | |||
let | let Y = Math.round(Z/25); // Resulting food yield of that production of a single farm | ||
let O = Y*C; // Resulting food yield of that production of the entire region | |||
document.getElementById('outputvalue').innerText= Y; | |||
document.getElementById('outputvalueall').innerText= O; | |||
} | } | ||
</script> | </script> | ||
</includeonly> | </includeonly> |
Latest revision as of 03:06, 30 October 2024
This widget is used to display and calculate the yield with the values submitted by the user.
Usage: {{#Widget:YieldCalc}}