function hits(){
  var finallvl = 0;
  var hitexp = 0;

  var attack = Math.floor(document.forms["combat"].attack.value);
  var defence = Math.floor(document.forms["combat"].defence.value);
  var strength = Math.floor(document.forms["combat"].strength.value);
  var ranged = Math.floor(document.forms["combat"].ranged.value);
  var magic = Math.floor(document.forms["combat"].magic.value);
  var rsclvl = Math.floor(document.forms["combat"].rscranged.value);
  var mexp = Math.floor(document.forms["combat"].nomagic.value);
  rexp = calclvl(rsclvl);

  hitexp = hitexp + calclvl(attack);
  hitexp = hitexp + calclvl(defence);
  hitexp = hitexp + calclvl(strength);
  hitexp = hitexp + calclvl(ranged);
  hitexp = hitexp + calclvl(magic);
  if (rsclvl > 1){
    hitexp = hitexp - rexp;
  }
  if (mexp > 1){
    hitexp = hitexp - mexp;
  }
  hitexp = ((hitexp / 4) * 1.33);
  hitexp = hitexp + 1155;
  finallvl = expToLevel(hitexp);
  if (finallvl >= 99){
   finallvl = 99;
  }
  if (finallvl <= 10){
    finallvl = 10
  }
  var level = Math.round(finallvl)
  document.forms["combat"].hitpoints.value = level;
}

function calclvl(level){
  var points = 0;
  var output = 0;
  for (var lvl = 1; lvl <= 150; lvl++){
    points = points + Math.floor(lvl + 300 * Math.pow(2, lvl / 7.));
    if (lvl >= 1){
      if (lvl == level){
        return output;
      }
      output = Math.floor(points / 4);
    }
  }
  return 0;
}

function expToLevel(exp){
  var points = 0;
  var output = 0;
  for (var lvl = 1; lvl <= 150; lvl++){
    points = points + Math.floor(lvl + 300 * Math.pow(2, lvl / 7.));
    if (lvl >= 1){
      if (output >= exp){
        return lvl - 1;
      }
      output = Math.floor(points / 4);
    }
  }
  return 0;
}
