22 lines
1.2 KiB
JavaScript
22 lines
1.2 KiB
JavaScript
function gaussianDiceRoll(ev) {
|
|
const assocField = ev.target.id.replace("Button", "Output")
|
|
const assocDam = ev.target.id.replace("Button", "Input")
|
|
let u = 0, v = 0;
|
|
while(u === 0) u = Math.random();
|
|
while(v === 0) v = Math.random();
|
|
const mean = parseInt(document.getElementById(assocDam).value)
|
|
const storeGaussVal = Math.sqrt( -2.0 * Math.log( u ) ) * Math.cos( 2.0 * Math.PI * v );
|
|
const elementToChange = document.getElementById(assocField)
|
|
elementToChange.innerHTML = storeGaussVal*mean/3.6+mean
|
|
return elementToChange.innerHTML
|
|
}
|
|
function selfSpellDamage(ev) {
|
|
const Mana = document.getElementById("Mana").value
|
|
const Time = document.getElementById("Time").value
|
|
const assocDam = ev.target.id.replace("Press", "Field")
|
|
const elementToChange = document.getElementById(assocDam)
|
|
elementToChange.innerHTML = Math.round((Time**3-3*Mana*Time**2+3*Mana**2*Time-Mana**3)/3/Mana*100)/100
|
|
} //Ich hab da ne Formel gefunden, but I suspect it's not correct...
|
|
document.getElementById("DamageButton").addEventListener("click", gaussianDiceRoll);
|
|
document.getElementById("HealthPress").addEventListener("click", selfSpellDamage);
|