diff --git a/Dolmenwood/dolmenwood.css b/Dolmenwood/dolmenwood.css
index 52515f3eed..c9bd746bf7 100644
--- a/Dolmenwood/dolmenwood.css
+++ b/Dolmenwood/dolmenwood.css
@@ -876,7 +876,6 @@ div.sheet-turn-undead div {
color: black;
}
-.sheet-custom-spells,
.sheet-arcane-spells-sub,
.sheet-holy-spells-sub,
.sheet-glamours-sub,
diff --git a/Dolmenwood/dolmenwood.html b/Dolmenwood/dolmenwood.html
index c89d37c11a..73623e9559 100644
--- a/Dolmenwood/dolmenwood.html
+++ b/Dolmenwood/dolmenwood.html
@@ -1168,6 +1168,7 @@
+
@@ -1446,6 +1447,7 @@
+
@@ -2596,20 +2598,59 @@
};
getAttrs(
- ["level", "class", "kindred", "wisMod", "monsterHitDice", "monsterSpecialAbilities", "Next", "hitdice", "bab", "saveD", "saveW", "saveP", "saveB", "saveS", "customGlamours", "customRunes", "customKnacks", "customArcaneSpells", "customHolySpells" ],
+ ["level", "class", "kindred", "wisMod", "monsterHitDice", "monsterSpecialAbilities", "Next", "hitdice", "bab", "saveD", "saveW", "saveP", "saveB", "saveS", "customGlamours", "customRunes", "customKnacks", "customArcaneSpells", "customHolySpells", "sheetTab" ],
function (values) {
const charClass = values.class.toLowerCase();
const charKindred = values.kindred.toLowerCase();
- const level = parseInt(values.level, 10);
- const monsterHitDice = Math.ceil(values.monsterHitDice);
+ const level = values.sheetTab === "character" ? parseInt(values.level, 10) : Math.ceil(values.monsterHitDice);
const kindredData = {
- breggle: {},
- elf: { glamours: true, magicResistBonus: 2 },
- grimalkin: { glamours: true, magicResistBonus: 2 },
- human: {},
- mossling: { knacks: true, doomSaveBonus: 2, saveBonus: 2 },
- woodgrue: {},
+ breggle: {
+ glamours: values.customGlamours != 0,
+ runes: values.customRunes != 0,
+ arcaneSpells: values.customArcaneSpells == 0 ? [] : [0,0,0,0,0,0],
+ holySpells: values.customHolySpells == 0 ? [] : [0,0,0,0,0],
+ knacks: values.customKnacks != 0,
+ },
+ elf: {
+ runes: values.customRunes != 0,
+ arcaneSpells: values.customArcaneSpells == 0 ? [] : [0,0,0,0,0,0],
+ holySpells: values.customHolySpells == 0 ? [] : [0,0,0,0,0],
+ knacks: values.customKnacks != 0,
+ glamours: true,
+ magicResistBonus: 2
+ },
+ grimalkin: {
+ runes: values.customRunes != 0,
+ arcaneSpells: values.customArcaneSpells == 0 ? [] : [0,0,0,0,0,0],
+ holySpells: values.customHolySpells == 0 ? [] : [0,0,0,0,0],
+ knacks: values.customKnacks != 0,
+ glamours: true,
+ magicResistBonus: 2
+ },
+ human: {
+ glamours: values.customGlamours != 0,
+ runes: values.customRunes != 0,
+ arcaneSpells: values.customArcaneSpells == 0 ? [] : [0,0,0,0,0,0],
+ holySpells: values.customHolySpells == 0 ? [] : [0,0,0,0,0],
+ knacks: values.customKnacks != 0,
+ },
+ mossling: {
+ glamours: values.customGlamours != 0,
+ runes: values.customRunes != 0,
+ arcaneSpells: values.customArcaneSpells == 0 ? [] : [0,0,0,0,0,0],
+ holySpells: values.customHolySpells == 0 ? [] : [0,0,0,0,0],
+ knacks: true,
+ doomSaveBonus: 2,
+ saveBonus: 2
+ },
+ woodgrue: {
+ glamours: values.customGlamours != 0,
+ runes: values.customRunes != 0,
+ arcaneSpells: values.customArcaneSpells == 0 ? [] : [0,0,0,0,0,0],
+ holySpells: values.customHolySpells == 0 ? [] : [0,0,0,0,0],
+ knacks: values.customKnacks != 0,
+ },
custom: {
glamours: values.customGlamours != 0,
runes: values.customRunes != 0,
@@ -2631,7 +2672,7 @@
magicResistance: values.wisMod
}
- if (charClass === "monster" && Number.isInteger(monsterHitDice)) {
+ if (charClass === "monster" && Number.isInteger(level)) {
let monsterData = {
xp: [0, 0],
@@ -2640,12 +2681,12 @@
bab: -1,
};
- if (monsterHitDice < 22 ) {
- monsterData = classData["monster"][monsterHitDice - 1];
+ if (level < 22 ) {
+ monsterData = classData["monster"][level - 1];
} else {
monsterData = {
- xp: [classData["monster"][21].xp[0] * monsterHitDice, classData["monster"][21].xp[1] * monsterHitDice],
- hd: `${monsterHitDice}d8`,
+ xp: [classData["monster"][21].xp[0] * level, classData["monster"][21].xp[1] * level],
+ hd: `${level}d8`,
saves: classData["monster"][21].saves,
bab: classData["monster"][21].bab,
}
@@ -2670,7 +2711,7 @@
rangeBonus: 0,
magicResistance: values.wisMod,
knacks: values.customKnacks != 0,
- level: monsterHitDice,
+ level: level,
};
} else if (charClass === "everyday mortal") {
const { hd, bab, saves } = classData["everyday mortal"][0];