Widget:YieldCalc: Difference between revisions
No edit summary Tag: Reverted |
No edit summary |
||
(127 intermediate revisions by the same user not shown) | |||
Line 5: | Line 5: | ||
</noinclude> | </noinclude> | ||
<includeonly> | <includeonly> | ||
<style> | |||
<form id=" | input[type='number']{ | ||
<input type="number" id="cityProd | width: 40px; | ||
<input type="number" id="regionYield | } | ||
<input type="number" id="farmCount | #foodYieldForm { | ||
<input type="number" id="percBonus" | width: 700px; | ||
<input type=" | } | ||
< | </style> | ||
<form id="foodYieldForm"> | |||
<input type="number" id="cityProd"> - City Production<br /> | |||
<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"> | <script type="text/javascript"> | ||
/ | // Prevent Submit button from reloading page | ||
foodYieldForm.addEventListener("submit", (event) => { | |||
event.preventDefault(); | |||
}); | |||
let | // Yield Calculator | ||
let | function yieldScript(){ | ||
let | let A = Number(document.getElementById('cityProd').value); // City Production | ||
let | 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 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}}