From 2e27e9f8f6e9d0dd7f490a675f0b658518c6f795 Mon Sep 17 00:00:00 2001 From: Trevor Buckner Date: Tue, 21 Jun 2022 15:53:24 -0400 Subject: [PATCH] Update styles/snippets to match current master --- .../Legacy/5ePHB/snippets/classfeature.gen.js | 12 +++++- themes/V3/5ePHB/snippets/classfeature.gen.js | 14 +++---- themes/V3/5ePHB/style.less | 40 +++++++++++-------- 3 files changed, 41 insertions(+), 25 deletions(-) diff --git a/themes/Legacy/5ePHB/snippets/classfeature.gen.js b/themes/Legacy/5ePHB/snippets/classfeature.gen.js index e6e18e754..e2407ff03 100644 --- a/themes/Legacy/5ePHB/snippets/classfeature.gen.js +++ b/themes/Legacy/5ePHB/snippets/classfeature.gen.js @@ -8,6 +8,7 @@ module.exports = function(classname){ classname = classname.toLowerCase(); const hitDie = _.sample([4, 6, 8, 10, 12]); + const spellSkill = _.sample(['Wisdom', 'Charisma', 'Intelligence']); const abilityList = ['Strength', 'Dexerity', 'Constitution', 'Wisdom', 'Charisma', 'Intelligence']; const skillList = ['Acrobatics ', 'Animal Handling', 'Arcana', 'Athletics', 'Deception', 'History', 'Insight', 'Intimidation', 'Investigation', 'Medicine', 'Nature', 'Perception', 'Performance', 'Persuasion', 'Religion', 'Sleight of Hand', 'Stealth', 'Survival']; @@ -26,12 +27,21 @@ module.exports = function(classname){ '___', `- **Armor:** ${_.sampleSize(['Light armor', 'Medium armor', 'Heavy armor', 'Shields'], _.random(0, 3)).join(', ') || 'None'}`, `- **Weapons:** ${_.sampleSize(['Squeegee', 'Rubber Chicken', 'Simple weapons', 'Martial weapons'], _.random(0, 2)).join(', ') || 'None'}`, - `- **Tools:** ${_.sampleSize(['Artian\'s tools', 'one musical instrument', 'Thieve\'s tools'], _.random(0, 2)).join(', ') || 'None'}`, + `- **Tools:** ${_.sampleSize(['Artisan\'s tools', 'one musical instrument', 'Thieves\' tools'], _.random(0, 2)).join(', ') || 'None'}`, '', '___', `- **Saving Throws:** ${_.sampleSize(abilityList, 2).join(', ')}`, `- **Skills:** Choose two from ${_.sampleSize(skillList, _.random(4, 6)).join(', ')}`, '', + '#### Spellcasting Ability', + '', + `
`, + '___', + `- **Spell save DC** = ${_.sample([6, 8, 10])} + your proficiency bonus + your ${spellSkill} modifier`, + '', + `- **Spell attack modifier** = your proficiency bonus + your ${spellSkill} modifier`, + `
`, + '', '#### Equipment', 'You start with the following equipment, in addition to the equipment granted by your background:', '- *(a)* a martial weapon and a shield or *(b)* two martial weapons', diff --git a/themes/V3/5ePHB/snippets/classfeature.gen.js b/themes/V3/5ePHB/snippets/classfeature.gen.js index 7e2e7e858..353ed33a9 100644 --- a/themes/V3/5ePHB/snippets/classfeature.gen.js +++ b/themes/V3/5ePHB/snippets/classfeature.gen.js @@ -9,6 +9,7 @@ module.exports = function(classname){ classname = classname.toLowerCase(); const hitDie = _.sample([4, 6, 8, 10, 12]); + const spellSkill = _.sample(['Wisdom', 'Charisma', 'Intelligence']); const abilityList = ['Strength', 'Dexerity', 'Constitution', 'Wisdom', 'Charisma', 'Intelligence']; const skillList = ['Acrobatics', 'Animal Handling', 'Arcana', 'Athletics', 'Deception', 'History', 'Insight', 'Intimidation', 'Investigation', 'Medicine', 'Nature', 'Perception', 'Performance', 'Persuasion', 'Religion', 'Sleight of Hand', 'Stealth', 'Survival']; @@ -18,25 +19,24 @@ module.exports = function(classname){ ## Class Features As a ${classname}, you gain the following class features #### Hit Points - **Hit Dice:** :: 1d${hitDie} per ${classname} level **Hit Points at 1st Level:** :: ${hitDie} + your Constitution modifier **Hit Points at Higher Levels:** :: 1d${hitDie} (or ${hitDie/2 + 1}) + your Constitution modifier per ${classname} level after 1st - #### Proficiencies - **Armor:** :: ${_.sampleSize(['Light armor', 'Medium armor', 'Heavy armor', 'Shields'], _.random(0, 3)).join(', ') || 'None'} **Weapons:** :: ${_.sampleSize(['Squeegee', 'Rubber Chicken', 'Simple weapons', 'Martial weapons'], _.random(0, 2)).join(', ') || 'None'} - **Tools:** :: ${_.sampleSize(['Artian\'s tools', 'one musical instrument', 'Thieve\'s tools'], _.random(0, 2)).join(', ') || 'None'} - + **Tools:** :: ${_.sampleSize(['Artisan\'s tools', 'one musical instrument', 'Thieves\' tools'], _.random(0, 2)).join(', ') || 'None'} **Saving Throws:** :: ${_.sampleSize(abilityList, 2).join(', ')} **Skills:** :: Choose two from ${_.sampleSize(skillList, _.random(4, 6)).join(', ')} - + #### Spellcasting Ability + {{text-align:center + **Spell save DC**:: = ${_.sample([6, 8, 10])} + your proficiency bonus + your ${spellSkill} modifier + **Spell attack modifier**:: = your proficiency bonus + your ${spellSkill} modifier + }} #### Equipment You start with the following equipment, in addition to the equipment granted by your background: - *(a)* a martial weapon and a shield or *(b)* two martial weapons - *(a)* five javelins or *(b)* any simple melee weapon - ${_.sample(['10 lint fluffs', '1 button', 'a cherished lost sock'])} - `; }; diff --git a/themes/V3/5ePHB/style.less b/themes/V3/5ePHB/style.less index 8bcbed30e..a2b269b35 100644 --- a/themes/V3/5ePHB/style.less +++ b/themes/V3/5ePHB/style.less @@ -608,8 +608,8 @@ body { white-space : nowrap; } &.frame { - margin-top : 0.66cm; - margin-bottom : 1.05cm; + margin-top : 0.7cm; + margin-bottom : 0.9cm; margin-left : -0.1cm; margin-right : -0.1cm; width : calc(100% + 0.2cm); @@ -617,11 +617,14 @@ body { background-color : white; border : initial; border-style : solid; - border-image-outset : 0.55cm 0.3cm; + border-image-outset : 0.4cm 0.3cm; border-image-repeat : stretch; border-image-slice : 200; border-image-source : @frameBorderImage; border-image-width : 47px; + &.wide:first-child { + margin-top: 0.12cm; + } } &.decoration { transform-style : preserve-3d; @@ -629,22 +632,25 @@ body { position:relative; } &.decoration::before { - content :''; - position : absolute; - background-image : @classTableDecoration; - background-size : contain; - background-repeat : space; - width : 7.75cm; - height : calc(100% + 3.3cm); - top : 50%; - left : 50%; - transform : translateY(-50%) translateX(-50%) translateZ(-1px); - filter : drop-shadow(0px 0px 1px #C8C5C080) + content :''; + position : absolute; + background-image : @classTableDecoration, + @classTableDecoration; + background-size : contain, contain; + background-repeat : no-repeat, no-repeat; + background-position : top, bottom; + width : 7.75cm; + height : calc(100% + 3.3cm); + top : 50%; + left : 50%; + transform : translateY(-50%) translateX(-50%); + filter : drop-shadow(0px 0px 1px #C8C5C080); + z-index : -1; } &.decoration.wide::before { - width : calc(100% + 3.3cm); - height : 7.75cm; - top : calc(50% + 0.4cm); + width : calc(100% + 3.3cm); + height : 7.75cm; + background-position : left, right; } h5 + table{ margin-top : 0.2cm;