JSFiddle - React, Tailwind, and code Playground

HTML

<input id=avgbolt />
<input id=isbuptime />

JavaScript

var total = 0;
var isb = 0;
var simulations = 10000000;
var isbuptime = 0;
var crit = 0.15;
var hit = 0.83;
var bolt = 1054.74;
var casttime = 2.5;

for(var i = 0; i <= simulations; i++){
    if (isb > 0) isbuptime += casttime;
    if (Math.random() > hit) continue;
    if (Math.random() <= crit){
        total += isb > 0 ? bolt * 2 * 1.2 : bolt * 2;
        isb = 4;
    }
    else {
        total += isb > 0 ? bolt * 1.2 : bolt;
        if (isb > 0) isb--;
    }   
}

$("#avgbolt").val(total / simulations);
$("#isbuptime").val(isbuptime / (simulations*casttime));