Files
roll20-character-sheets-tester/5eShaped/precompiled/scripts/proficiencyBonus.js
T
2016-07-21 17:14:16 +02:00

37 lines
922 B
JavaScript

/* global on:false */
import { getSetItems, getIntValue, exists } from './utilities';
export class proficiencyBonus {
get(level, challenge) {
let pb = 2;
level = getIntValue(level);
if (challenge === '1/8' || challenge === '1/4' || challenge === '1/2') {
challenge = 1;
} else {
getIntValue(challenge);
}
const levelOrChallenge = Math.max(level, challenge);
if (exists(levelOrChallenge)) {
pb += Math.floor(Math.abs((levelOrChallenge - 1) / 4));
}
return pb;
}
update() {
getSetItems('proficiencyBonus.update', {
collectionArray: ['level', 'challenge', 'pb', 'exp', 'h_PB'],
callback: (v, finalSetAttrs) => {
const pb = this.get(v.level, v.challenge);
finalSetAttrs.pb = pb;
finalSetAttrs.exp = pb * 2;
finalSetAttrs.h_PB = pb / 2;
},
});
}
setup() {
on('change:level', this.update());
}
}