32 lines
917 B
JavaScript
32 lines
917 B
JavaScript
function proficiency() {
|
|
return parseInt(document.getElementById('proficiency_bonus').innerHTML);
|
|
}
|
|
|
|
function bonus(stat) {
|
|
return parseInt(document.getElementById(stat + '_bonus').innerHTML);
|
|
}
|
|
|
|
function setStatBonus(stat) {
|
|
var score = document.getElementById(stat).value;
|
|
var bonus = Math.floor((score - 10) / 2);
|
|
document.getElementById(stat + '_bonus').innerHTML = bonus;
|
|
}
|
|
|
|
function setProficiencyBonus() {
|
|
var score = document.getElementById('level').value;
|
|
var bonus = Math.ceil(1 + (0.25 * score));
|
|
document.getElementById('proficiency_bonus').innerHTML = bonus;
|
|
}
|
|
|
|
function setSpellSaveDC() {
|
|
var score = 8 + proficiency() + bonus('wis');
|
|
document.getElementById('spell_save_dc').innerHTML = score;
|
|
}
|
|
|
|
(function () {
|
|
const stats = ['str', 'dex', 'con', 'int', 'wis', 'cha'];
|
|
stats.forEach(setStatBonus);
|
|
setProficiencyBonus();
|
|
setSpellSaveDC();
|
|
})();
|