diff --git a/shared/homebrewery/phb_style/img/monster_bg.jpg b/shared/homebrewery/phb_style/img/monster_bg.jpg new file mode 100644 index 000000000..d22f8399a Binary files /dev/null and b/shared/homebrewery/phb_style/img/monster_bg.jpg differ diff --git a/shared/homebrewery/phb_style/img/monstor_border.png b/shared/homebrewery/phb_style/img/monster_border.png similarity index 100% rename from shared/homebrewery/phb_style/img/monstor_border.png rename to shared/homebrewery/phb_style/img/monster_border.png diff --git a/shared/homebrewery/phb_style/phb.blocks.less b/shared/homebrewery/phb_style/phb.blocks.less index c7c244299..0d24b2992 100644 --- a/shared/homebrewery/phb_style/phb.blocks.less +++ b/shared/homebrewery/phb_style/phb.blocks.less @@ -12,7 +12,28 @@ } } .monster{ + -webkit-column-break-inside : avoid; + column-break-inside : avoid; + + &>.internal{ + //background-color : @monsterStatBackground; + background-image: @monsterBG; + border-style : solid; + border-width : 10px; + border-image : @monsterBorder 10; + table{ + color : @headerText; + } + + ul:nth-of-type(1),ul:nth-of-type(2){ + background-color: red; + } + + } + } + + .note{ .useSansSerif(); margin: 9px 0px; @@ -90,6 +111,7 @@ } + .brushed{ border-image-source : url('http://i.imgur.com/nzPYZyD.png'); border-image-outset : 25px 17px; @@ -98,4 +120,23 @@ border-image-width : 1250px; +} + + +//basics +.left{ + text-align: left; +} +.right{ + text-align: right; +} +.center{ + text-align: center; +} +.bold{ + font-weight: 800; +} + +.sansSerif{ + .useSansSerif(); } \ No newline at end of file diff --git a/shared/homebrewery/phb_style/phb.img.less b/shared/homebrewery/phb_style/phb.img.less index 7e3a597ed..00f1bf012 100644 --- a/shared/homebrewery/phb_style/phb.img.less +++ b/shared/homebrewery/phb_style/phb.img.less @@ -9,4 +9,5 @@ @phbBG : url('/assets/homebrewery/phb_style/img/phb_bg.jpg'); @darkBG : url('/assets/homebrewery/phb_style/img/phb_dark_bg.jpg'); @dmgBG : url('/assets/homebrewery/phb_style/img/dmg_bg.jpg'); +@monsterBG : url('/assets/homebrewery/phb_style/img/monster_bg.jpg'); diff --git a/shared/homebrewery/phb_style/phb.less b/shared/homebrewery/phb_style/phb.less index afc2b02ce..35c4e8ba1 100644 --- a/shared/homebrewery/phb_style/phb.less +++ b/shared/homebrewery/phb_style/phb.less @@ -147,6 +147,15 @@ font-size : 0.423cm; font-weight : 900; } + + hr{ + visibility : visible; + height : 6px; + margin : 4px 0px; + background-image : @dividerImg; + background-size : 100% 100%; + border : none; + } //***************************** // * TABLE // *****************************/ @@ -264,7 +273,7 @@ } //Full Width hr+hr+blockquote{ - .useColumns(0.96); + //.useColumns(0.96); } //***************************** // * FOOTER @@ -317,17 +326,14 @@ //***************************** // * EXTRAS // *****************************/ - hr{ - visibility : hidden; - margin : 0px; - } + //Modified unorder list, used in spells - hr+ul{ - margin-bottom : 0.5em; - padding-left : 1em; - text-indent : -1em; - list-style-type : none; - } + // hr+ul{ + // margin-bottom : 0.5em; + // padding-left : 1em; + // text-indent : -1em; + // list-style-type : none; + // } //Column Break /* pre, code{ @@ -338,20 +344,21 @@ } */ //Avoid breaking up + /* p,blockquote,table{ z-index : 15; -webkit-column-break-inside : avoid; column-break-inside : avoid; overflow: hidden; /* Firefox fix */ - } + //Better spacing for spell blocks - h4+p+hr+ul{ - margin-top : -0.5em - } - //Text indent right after table - table+p{ - text-indent : 1em; - } + // h4+p+hr+ul{ + // margin-top : -0.5em + // } + // //Text indent right after table + // table+p{ + // text-indent : 1em; + // } // Nested lists ul ul,ol ol,ul ol,ol ul{ margin-bottom : 0px; @@ -365,6 +372,7 @@ //***************************** // * SPELL LIST // *****************************/ + /* .spellList{ .useSansSerif(); column-count : 4; @@ -390,11 +398,11 @@ //***************************** // * PRINT // *****************************/ - &.print{ - blockquote{ - box-shadow : none; - } - } + // &.print{ + // blockquote{ + // box-shadow : none; + // } + // } //***************************** // * WIDE @@ -408,22 +416,22 @@ //***************************** // * CLASS TABLE // *****************************/ - .classTable{ - margin-top : 25px; - margin-bottom : 40px; - border-collapse : separate; - background-color : white; - border : initial; - border-style : solid; - border-image-outset : 25px 17px; - border-image-repeat : round; - border-image-slice : 150 200 150 200; - border-image-source : @frameBorder; - border-image-width : 47px; - h5{ - margin-bottom : 10px; - } - } + // .classTable{ + // margin-top : 25px; + // margin-bottom : 40px; + // border-collapse : separate; + // background-color : white; + // border : initial; + // border-style : solid; + // border-image-outset : 25px 17px; + // border-image-repeat : round; + // border-image-slice : 150 200 150 200; + // border-image-source : @frameBorder; + // border-image-width : 47px; + // h5{ + // margin-bottom : 10px; + // } + // } //***************************** // * CLASS TABLE // *****************************/ @@ -488,33 +496,33 @@ // * Old Stuff // *****************************/ - //Double hr for full width elements - hr+hr+blockquote{ - column-span : all; - -webkit-column-span : all; - -moz-column-span : all; - } + // //Double hr for full width elements + // hr+hr+blockquote{ + // column-span : all; + // -webkit-column-span : all; + // -moz-column-span : all; + // } //***************************** // * CLASS TABLE // *****************************/ - hr+table{ - margin-top : -5px; - margin-bottom : 50px; - padding-top : 10px; - border-collapse : separate; - background-color : white; - border : initial; - border-style : solid; - border-image-outset : 37px 17px; - border-image-repeat : round; - border-image-slice : 150 200 150 200; - border-image-source : @frameBorder; - border-image-width : 47px; - } - h5+hr+table{ - column-span : all; - -webkit-column-span : all; - -moz-column-span : all; - } + // hr+table{ + // margin-top : -5px; + // margin-bottom : 50px; + // padding-top : 10px; + // border-collapse : separate; + // background-color : white; + // border : initial; + // border-style : solid; + // border-image-outset : 37px 17px; + // border-image-repeat : round; + // border-image-slice : 150 200 150 200; + // border-image-source : @frameBorder; + // border-image-width : 47px; + // } + // h5+hr+table{ + // column-span : all; + // -webkit-column-span : all; + // -moz-column-span : all; + // } } \ No newline at end of file diff --git a/shared/homebrewery/snippets/brew/index.js b/shared/homebrewery/snippets/brew/index.js index e8dd3de3f..d1f9b0b93 100644 --- a/shared/homebrewery/snippets/brew/index.js +++ b/shared/homebrewery/snippets/brew/index.js @@ -4,7 +4,8 @@ module.exports = _.merge( require('./spell.snippet.js'), require('./table.snippet.js'), require('./classTable.snippet.js'), - require('./note.snippet.js') + require('./note.snippet.js'), + require('./monster.snippet.js') //wide diff --git a/shared/homebrewery/snippets/brew/monster.snippet.js b/shared/homebrewery/snippets/brew/monster.snippet.js new file mode 100644 index 000000000..a53d189e6 --- /dev/null +++ b/shared/homebrewery/snippets/brew/monster.snippet.js @@ -0,0 +1,38 @@ +const _ = require('lodash'); +const Data = require('./random.data.js'); + + +module.exports = { + monster : ()=>{ + + const stats = ''; + + return `{{monster +## ${Data.rand('creatures')} +*${Data.rand('sizes')}, ${Data.rand('alignments')}* + +--- + +- **Armor Class** ${_.random(10,20)} +- **Hit Points** ${_.random(1, 150)} (1d4 + 5) +- **Speed** ${ _.random(0,50)} ft + +--- + +|STR|DEX|CON|INT|WIS|CHA| +|:---:|:---:|:---:|:---:|:---:|:---:| +${stats} + +--- + +- **Condition Immunities** " + genList(["groggy", "swagged", "weak-kneed", "buzzed", "groovy", "melancholy", "drunk"], 3), +- **Senses** passive Perception " + _.random(3, 20), +- **Languages** " + genList(["Common", "Pottymouth", "Gibberish", "Latin", "Jive"], 2), +- **Challenge** " + _.random(0, 15) + " (" + _.random(10,10000)+ " XP)", + + +}}` + + + } +}; \ No newline at end of file diff --git a/shared/homebrewery/snippets/brew/random.data.js b/shared/homebrewery/snippets/brew/random.data.js index 5c3284a3e..4be3f58a1 100644 --- a/shared/homebrewery/snippets/brew/random.data.js +++ b/shared/homebrewery/snippets/brew/random.data.js @@ -356,6 +356,63 @@ const Data = { `Thanks to alien forces, the characters end up in the earth's past.`, `Thanks to alien forces, the secondary protagonist ends up in a world after an apocalypse.`, `Due to a panic attack a character has to get psychological therapy.`, + ], + + + + creatures : [ + "All-devouring Baseball Imp", + "All-devouring Gumdrop Wraith", + "Chocolate Hydra", + "Devouring Peacock", + "Economy-sized Colossus of the Lemonade Stand", + "Ghost Pigeon", + "Gibbering Duck", + "Sparklemuffin Peacock Spider", + "Gum Elemental", + "Illiterate Construct of the Candy Store", + "Ineffable Chihuahua", + "Irritating Death Hamster", + "Irritating Gold Mouse", + "Juggernaut Snail", + "Juggernaut of the Sock Drawer", + "Koala of the Cosmos", + "Mad Koala of the West", + "Milk Djinni of the Lemonade Stand", + "Mind Ferret", + "Mystic Salt Spider", + "Necrotic Halitosis Angel", + "Pinstriped Famine Sheep", + "Ritalin Leech", + "Shocker Kangaroo", + "Stellar Tennis Juggernaut", + "Wailing Quail of the Sun", + "Angel Pigeon", + "Anime Sphinx", + "Bored Avalanche Sheep of the Wasteland", + "Devouring Nougat Sphinx of the Sock Drawer", + "Djinni of the Footlocker", + "Ectoplasmic Jazz Devil", + "Flatuent Angel", + "Gelatinous Duck of the Dream-Lands", + "Gelatinous Mouse", + "Golem of the Footlocker", + "Lich Wombat", + "Mechanical Sloth of the Past", + "Milkshake Succubus", + "Puffy Bone Peacock of the East", + "Rainbow Manatee", + "Rune Parrot", + "Sand Cow", + "Sinister Vanilla Dragon", + "Snail of the North", + "Spider of the Sewer", + "Stellar Sawdust Leech", + "Storm Anteater of Hell", + "Stupid Spirit of the Brewery", + "Time Kangaroo", + "Tomb Poodle" + ] };