Widget:YieldCalc: Difference between revisions
No edit summary Tag: Manual revert |
No edit summary |
||
(111 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="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) => { | |||
foodYieldForm.addEventListener("submit", ( | event.preventDefault(); | ||
}); | }); | ||
/ | // 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 | 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( | 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}}