diff --git a/Kids on Bikes Official/images/KOBLogo.png b/Kids on Bikes Official/images/KOBLogo.png new file mode 100644 index 0000000000..e0c60abee0 Binary files /dev/null and b/Kids on Bikes Official/images/KOBLogo.png differ diff --git a/Kids on Bikes Official/images/Label-Adversity_updated.png b/Kids on Bikes Official/images/Label-Adversity_updated.png new file mode 100644 index 0000000000..fbba8c619e Binary files /dev/null and b/Kids on Bikes Official/images/Label-Adversity_updated.png differ diff --git a/Kids on Bikes Official/images/Label-Age.png b/Kids on Bikes Official/images/Label-Age.png new file mode 100644 index 0000000000..60c436b064 Binary files /dev/null and b/Kids on Bikes Official/images/Label-Age.png differ diff --git a/Kids on Bikes Official/images/Label-Backpack-1.png b/Kids on Bikes Official/images/Label-Backpack-1.png new file mode 100644 index 0000000000..714003cdd6 Binary files /dev/null and b/Kids on Bikes Official/images/Label-Backpack-1.png differ diff --git a/Kids on Bikes Official/images/Label-Bio.png b/Kids on Bikes Official/images/Label-Bio.png new file mode 100644 index 0000000000..c0395c2321 Binary files /dev/null and b/Kids on Bikes Official/images/Label-Bio.png differ diff --git a/Kids on Bikes Official/images/Label-Brains.png b/Kids on Bikes Official/images/Label-Brains.png new file mode 100644 index 0000000000..544532a15f Binary files /dev/null and b/Kids on Bikes Official/images/Label-Brains.png differ diff --git a/Kids on Bikes Official/images/Label-Brawn.png b/Kids on Bikes Official/images/Label-Brawn.png new file mode 100644 index 0000000000..e5768a793b Binary files /dev/null and b/Kids on Bikes Official/images/Label-Brawn.png differ diff --git a/Kids on Bikes Official/images/Label-Charm.png b/Kids on Bikes Official/images/Label-Charm.png new file mode 100644 index 0000000000..2a338f6d69 Binary files /dev/null and b/Kids on Bikes Official/images/Label-Charm.png differ diff --git a/Kids on Bikes Official/images/Label-Descriptions.png b/Kids on Bikes Official/images/Label-Descriptions.png new file mode 100644 index 0000000000..c9120eef66 Binary files /dev/null and b/Kids on Bikes Official/images/Label-Descriptions.png differ diff --git a/Kids on Bikes Official/images/Label-Fear.png b/Kids on Bikes Official/images/Label-Fear.png new file mode 100644 index 0000000000..fd3c58060a Binary files /dev/null and b/Kids on Bikes Official/images/Label-Fear.png differ diff --git a/Kids on Bikes Official/images/Label-Fight.png b/Kids on Bikes Official/images/Label-Fight.png new file mode 100644 index 0000000000..84c1256eb8 Binary files /dev/null and b/Kids on Bikes Official/images/Label-Fight.png differ diff --git a/Kids on Bikes Official/images/Label-Flaws-1.png b/Kids on Bikes Official/images/Label-Flaws-1.png new file mode 100644 index 0000000000..06e216e296 Binary files /dev/null and b/Kids on Bikes Official/images/Label-Flaws-1.png differ diff --git a/Kids on Bikes Official/images/Label-Flight.png b/Kids on Bikes Official/images/Label-Flight.png new file mode 100644 index 0000000000..32a473e06a Binary files /dev/null and b/Kids on Bikes Official/images/Label-Flight.png differ diff --git a/Kids on Bikes Official/images/Label-Grit.png b/Kids on Bikes Official/images/Label-Grit.png new file mode 100644 index 0000000000..2df3e19093 Binary files /dev/null and b/Kids on Bikes Official/images/Label-Grit.png differ diff --git a/Kids on Bikes Official/images/Label-Motivation.png b/Kids on Bikes Official/images/Label-Motivation.png new file mode 100644 index 0000000000..ceee0bcef8 Binary files /dev/null and b/Kids on Bikes Official/images/Label-Motivation.png differ diff --git a/Kids on Bikes Official/images/Label-Name.png b/Kids on Bikes Official/images/Label-Name.png new file mode 100644 index 0000000000..bb4ce4a52f Binary files /dev/null and b/Kids on Bikes Official/images/Label-Name.png differ diff --git a/Kids on Bikes Official/images/Label-Notes-1.png b/Kids on Bikes Official/images/Label-Notes-1.png new file mode 100644 index 0000000000..eb2cb8c2ea Binary files /dev/null and b/Kids on Bikes Official/images/Label-Notes-1.png differ diff --git a/Kids on Bikes Official/images/Label-Powers-1.png b/Kids on Bikes Official/images/Label-Powers-1.png new file mode 100644 index 0000000000..b7672e8a0a Binary files /dev/null and b/Kids on Bikes Official/images/Label-Powers-1.png differ diff --git a/Kids on Bikes Official/images/Label-Strengths-1.png b/Kids on Bikes Official/images/Label-Strengths-1.png new file mode 100644 index 0000000000..2d01ccc035 Binary files /dev/null and b/Kids on Bikes Official/images/Label-Strengths-1.png differ diff --git a/Kids on Bikes Official/images/Stats.png b/Kids on Bikes Official/images/Stats.png new file mode 100644 index 0000000000..4328037a0f Binary files /dev/null and b/Kids on Bikes Official/images/Stats.png differ diff --git a/Kids on Bikes Official/images/Strengths.png b/Kids on Bikes Official/images/Strengths.png new file mode 100644 index 0000000000..f88fbe75a2 Binary files /dev/null and b/Kids on Bikes Official/images/Strengths.png differ diff --git a/Kids on Bikes Official/images/bg-bio.png b/Kids on Bikes Official/images/bg-bio.png new file mode 100644 index 0000000000..3f3fea77c3 Binary files /dev/null and b/Kids on Bikes Official/images/bg-bio.png differ diff --git a/Kids on Bikes Official/images/readme.txt b/Kids on Bikes Official/images/readme.txt new file mode 100644 index 0000000000..8b13789179 --- /dev/null +++ b/Kids on Bikes Official/images/readme.txt @@ -0,0 +1 @@ + diff --git a/Kids on Bikes Official/images/wallpaper.png b/Kids on Bikes Official/images/wallpaper.png new file mode 100644 index 0000000000..01a4761a4d Binary files /dev/null and b/Kids on Bikes Official/images/wallpaper.png differ diff --git a/Kids on Bikes Official/kob.css b/Kids on Bikes Official/kob.css new file mode 100644 index 0000000000..96ac0b9bb2 --- /dev/null +++ b/Kids on Bikes Official/kob.css @@ -0,0 +1,166 @@ +* { + box-sizing: border-box; } + +.charsheet { + background-color: #eee; + padding: 1%; + width: 850px; } + +button:before { + display: none; } + +button[type='roll'] { + background: #bbb; + border-radius: 0.1em; } + button[type='roll']:focus, button[type='roll']:hover, button[type='roll']:active { + background-color: #770709; } + button[type='roll']:focus > img, button[type='roll']:hover > img, button[type='roll']:active > img { + filter: invert(1); } + +label { + margin: 0px; + padding: 0px; } + +input[type="text"] { + width: 100%; } + +textarea { + font-size: 1.1em; + font-weight: normal; + line-height: 1.5em; + min-height: 150px; + overflow-wrap: break-word; + overflow: scroll; + padding: 2px; + resize: vertical; + text-align: left; + vertical-align: top; + white-space: pre-line; } + +h1.sheet-logo { + padding-left: 30%; } + +div.sheet-box { + border: thin solid #bbb; + margin: 1%; + padding: 1%; + background-color: #fff; } + div.sheet-box img { + width: 100%; } + +div.sheet-grid { + display: inline-grid; + grid-row-gap: 0.5em; } + +div.sheet-kob-row { + grid-template-columns: 1fr 1fr; + width: 100%; } + div.sheet-kob-row img.sheet-header { + height: 30px; + width: 200px; } + div.sheet-kob-row div.sheet-biobox { + grid-template-columns: 8em 1fr; } + div.sheet-kob-row div.sheet-biobox input[type='checkbox'] { + height: 15px; + width: 15px; } + div.sheet-kob-row div.sheet-biobox textarea[name='attr_character_description'] { + grid-column: 1 / 3; } + div.sheet-kob-row div.sheet-dicebox { + grid-template-columns: 3em 1fr 1fr 3em; } + div.sheet-kob-row div.sheet-dicebox button:nth-of-type(odd) { + grid-column: 1; } + div.sheet-kob-row div.sheet-dicebox button:nth-of-type(even) { + grid-column: 4; } + div.sheet-kob-row div.sheet-dicebox select { + font-size: 4em; + height: 100%; + margin: 0px; + padding-left: 25%; + width: 100%; } + div.sheet-kob-row div.sheet-dicebox select:nth-of-type(odd) { + grid-column: 2; } + div.sheet-kob-row div.sheet-dicebox select:nth-of-type(even) { + grid-column: 3; } + div.sheet-kob-row div.sheet-dicebox select[name="attr_flight"] { + grid-row: 1; } + div.sheet-kob-row div.sheet-dicebox select[name="attr_brawn"] { + grid-row: 2; } + div.sheet-kob-row div.sheet-dicebox select[name="attr_grit"] { + grid-row: 3; } + div.sheet-kob-row div.sheet-dicebox optgroup { + font-size: 0.5em; } + div.sheet-kob-row div.sheet-dicebox option { + font-size: 0.8em; } + div.sheet-kob-row div.sheet-strenghtsbox, + div.sheet-kob-row div.sheet-flawsbox { + grid-template-columns: 2em 1fr 2em 1fr; + grid-column-gap: 0.2em; } + div.sheet-kob-row div.sheet-strenghtsbox label, + div.sheet-kob-row div.sheet-flawsbox label { + height: 100%; } + div.sheet-kob-row div.sheet-strenghtsbox label.sheet-skilledat, + div.sheet-kob-row div.sheet-flawsbox label.sheet-skilledat { + grid-column: 1 / 2; } + div.sheet-kob-row div.sheet-strenghtsbox label.sheet-skillatcheckbox, + div.sheet-kob-row div.sheet-flawsbox label.sheet-skillatcheckbox { + grid-column: 3 / 5; } + div.sheet-kob-row div.sheet-strenghtsbox input[type='checkbox'], + div.sheet-kob-row div.sheet-flawsbox input[type='checkbox'] { + height: 25px; + width: 25px; } + div.sheet-kob-row div.sheet-strenghtsbox span, + div.sheet-kob-row div.sheet-flawsbox span { + font-weight: bold; + font-variant: small-caps; } + div.sheet-kob-row div.sheet-strenghtsbox { + grid-template-columns: 2em 1fr 2em 1fr; } + div.sheet-kob-row div.sheet-strenghtsbox h2 { + grid-column: 1 / 5; } + div.sheet-kob-row div.sheet-flawsbox { + grid-template-columns: 2em 1fr 2em 1fr 2em 1fr; } + div.sheet-kob-row div.sheet-flawsbox h2 { + grid-column: 1 / 7; } + div.sheet-kob-row div.sheet-boxnotes { + grid-column: 1 / 3; } + +/* ROLL TEMPLATE +============================= */ +.sheet-rolltemplate-rolls .sheet-template-body { + border: 1px solid #000; + text-align: center; } + +.sheet-rolltemplate-rolls .sheet-template-header { + background: #210000; + background: linear-gradient(180deg, #210000 0%, #890b0d 70%, #d5191f 94%); + border: 1px solid #000; + border-bottom: 2px solid #000; + border-top-left-radius: 10px; + border-top-right-radius: 10px; + color: white; + font-size: 20px; + font-variant: small-caps; + font-weight: bold; + letter-spacing: 2px; + padding: 5px; + text-align: center; + text-transform: capitalize; } + +.sheet-rolltemplate-rolls .sheet-template-row { + background-color: white; + padding: 5px; } + +/* Use this to alternate the background colors for each row */ +.sheet-rolltemplate-rolls .sheet-template-row:nth-child(2n+0) { + background-color: #1c1c1c; } + +/* Remove some fo the built in styles around rolls */ +.sheet-rolltemplate-rolls .inlinerollresult, +.sheet-rolltemplate-rolls .inlinerollresult.importantroll, +.sheet-rolltemplate-rolls .inlinerollresult.fullfail, +.sheet-rolltemplate-rolls .inlinerollresult.fullcrit { + background-color: transparent; + border: none; + color: black; + display: inline-block; + font-size: 25px; + padding: 5px; } diff --git a/Kids on Bikes Official/kob.html b/Kids on Bikes Official/kob.html new file mode 100644 index 0000000000..6afd12a55c --- /dev/null +++ b/Kids on Bikes Official/kob.html @@ -0,0 +1,316 @@ + +

Kids on Bike Character Sheet

+
+
Name + Age + Fear + Motivation + Description + Adversity +
+ + + + + + + + + + + + + + + +
+
+
+ + + + + + + + + + + + +
+
+
+
+

Strengths +

+ COOL UNDER PRESSURE + EASYGOING + GROSS + HEROIC + INTUITIVE + LOYAL + LUCKY + PREPARED + PROTECTIVE + QUICK HEALING + REBELLIOUS + TOUGH + TREASURE HUNTER + UNASSUMING + WEALTHY + SKILLED AT: + +
+
+

Flaws

+ ABSENT MINDED + BLUNT + BOASTFUL + CLUMSY + CONCEITED + COWARDLY + DECEITFUL + DEMANDING + DEMANDING + DISLOYAL + DISOBEDIENT + DOGMATIC + ENVIOUS + FLIPPANT + GLOOMY + GREEDY + HOT-TEMPERED + IGNORANT + INCONSIDERATE + INSECURE + IRRATIONAL + NEUROTIC + OBNOXIOUS + PARANOID + PATRONIZING + PERVERSE + PETTY + PICKY + PREJUDICE + PRIM + RECKLESS + RESENTFUL + RESTLESS + RUDE + SECRETIVE + SELF-CENTERED + SELF-PITYING + SLOVENLY + SUPERSTITIOUS + VAIN + VINDICTIVE +
+
+
+
+

Powers

+ +
+
+

Backpack

+ +
+
+
+
+

Notes

+ +
+
+
+ + +
+ {{#header}}{{header}}{{/header}} +
+ +
+ {{#dice}} +
{{dice}}
+ {{/dice}} + + {{#desc}} +
+ + +
+ {{/desc}} +
+
+
diff --git a/Kids on Bikes Official/kob.pug b/Kids on Bikes Official/kob.pug new file mode 100644 index 0000000000..40340a746a --- /dev/null +++ b/Kids on Bikes Official/kob.pug @@ -0,0 +1,82 @@ + +//- VERSION +//- ============================= +input(name='attr_version' type='hidden' value='1') + +//- MIXINS +include src/pug/_mixins.pug + +h1.logo + img(alt='Kids on Bike Character Sheet', src='https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Kids-on-Bikes/images/KOBLogo.png') +.grid.kob-row + .grid.box.biobox + each val in ['Name', 'Age', 'Fear', 'Motivation'] + - const attrName = val.toLowerCase(); + img(alt=val src='https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Kids-on-Bikes/images/Label-'+val+'.png') + input(data-i18n-placeholder=val name='attr_character_'+attrName placeholder=val title='@{character_'+attrName+'}' type='text' value='') + img(src='https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Kids-on-Bikes/images/Label-Descriptions.png', alt='Description') + textarea(name='attr_character_description' title='@{character_description}') + img(src='https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Kids-on-Bikes/images/Label-Adversity_updated.png' alt='Adversity') + .sheet-biolabelcol + span.sheet-adversitytokens + - let index = 1 + while index < 16 + input(name='attr_token' + index++ title='@{token}' type='checkbox' value='1') + + .grid.box.dicebox + each val in ['Fight', 'Flight', 'Brains', 'Brawn', 'Charm', 'Grit'] + - const attrName = val.toLowerCase(); + button(name=val type='roll' value!='&{template:rolls}{{header=^{'+val+'}}} {{dice=[[@{'+attrName+'}+?{modifier|0}]]}}') + img(alt=val src='https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Kids-on-Bikes/images/Label-'+val+'.png') + select(name='attr_'+attrName title='@{'+attrName+'}' value='d4') + +diceSelect() + +.grid.kob-row + .grid.box.strenghtsbox + h2 + img.header(alt='Strengths' src='https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Kids-on-Bikes/images/Label-Strengths-1.png') + - const strengths =[{'attr' : 'cool', 'name' : 'COOL UNDER PRESSURE'}, {'attr' : 'easy_going', 'name' : 'EASYGOING'}, {'attr' : 'gross', 'name' : 'GROSS'}, {'attr' : 'heroic', 'name' : 'HEROIC'}, {'attr' : 'intuitive', 'name' : 'INTUITIVE'}, {'attr' : 'loyal', 'name' : 'LOYAL'}, {'attr' : 'lucky', 'name' : 'LUCKY'}, {'attr' : 'prepared', 'name' : 'PREPARED'}, {'attr' : 'protective', 'name' : 'PROTECTIVE'}, {'attr' : 'quick_healing', 'name' : 'QUICK HEALING'}, {'attr' : 'rebellious', 'name' : 'REBELLIOUS'}, {'attr' : 'tough', 'name' : 'TOUGH'}, {'attr' : 'treasure_hunter', 'name' : 'TREASURE HUNTER'}, {'attr' : 'unassuming', 'name' : 'UNASSUMING'}, {'attr' : 'wealthy', 'name' : 'WEALTHY'}] + each s,i in strengths + - const attrName = s.attr.split('attr_')[0]; + label(data-i18n-title=s.name title=s.name) + input(name='attr_'+s.attr title='@{'+attrName+'}' type='checkbox' value='1') + span(data-i18n=s.name)=s.name + label.skilledat(data-i18n-title='SKILLED AT' title='SKILLED AT') + input(name='attr_skilled_at' title='@{skilled_at}' type='checkbox' value='1') + span(data-i18n='SKILLED AT:') SKILLED AT: + label.skillatcheckbox(data-i18n-title='SKILLED AT DESCRIPTION' title='SKILLED AT DESCRIPTION') + input(name='attr_skill_description' title='@{skill_description}' type='text' ) + + .grid.box.flawsbox + h2 + img.header(alt='Flaws' src='https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Kids-on-Bikes/images/Label-Flaws-1.png') + - const flaws = [{'name': "ABSENT MINDED", "attr":"attr_absent_minded"},{"name": "BLUNT","attr":"attr_blunt" } ,{"name":"BOASTFUL", "attr":"attr_boastful"},{"name":"CLUMSY", "attr" : "attr_clumsy"},{"name":"CONCEITED", "attr":"attr_conceited"} , {"name":"COWARDLY", "attr": "attr_cowardly"},{"name": "DECEITFUL", "attr":"attr_deceitful"} , {"name":"DEMANDING", "attr": "attr_demanding"},{'attr' :'attr_demanding', 'name': 'DEMANDING'}, {'attr' :'attr_disloyal', 'name': 'DISLOYAL'}, {'attr' :'attr_disobedient', 'name' : 'DISOBEDIENT'}, {'attr' :'attr_dogmatic', 'name' :'DOGMATIC'}, {'attr' :'attr_envious', 'name' : 'ENVIOUS'}, {'attr' :'attr_flippant', 'name' :'FLIPPANT'}, {'attr' :'attr_gloomy', 'name' : 'GLOOMY'}, {'attr' :'attr_greedy', 'name' :'GREEDY'}, {'attr' :'attr_hot_tempered', 'name' :'HOT-TEMPERED'}, {'attr' :'attr_ignorant', 'name' :'IGNORANT'}, {'attr' :'attr_inconsiderate', 'name' :'INCONSIDERATE'}, {'attr' :'attr_insecure', 'name' :'INSECURE'}, {'attr' :'attr_irrational', 'name' :'IRRATIONAL'}, {'attr' :'attr_neurotic', 'name' :'NEUROTIC'}, {'attr' :'attr_obnoxious', 'name' :'OBNOXIOUS'}, {'attr' :'attr_paranoid', 'name' :'PARANOID'}, {'attr' :'attr_patronizing', 'name' :'PATRONIZING'}, {'attr' :'attr_perverse', 'name' :'PERVERSE'}, {'attr' :'attr_petty', 'name' :'PETTY'}, {'attr' :'attr_picky', 'name' :'PICKY'}, {'attr' :'attr_prejudice', 'name' :'PREJUDICE'}, {'attr' :'attr_prim', 'name' :'PRIM'}, {'attr' :'attr_reckless', 'name' :'RECKLESS'},{'attr' :'attr_resentful', 'name' :'RESENTFUL'}, {'attr' :'attr_restless', 'name' :'RESTLESS'}, {'attr' :'attr_rude', 'name' :'RUDE'}, {'attr' :'attr_secretive', 'name' :'SECRETIVE'}, {'attr' :'attr_selfcentered', 'name' :'SELF-CENTERED'}, {'attr' :'attr_selfpitying', 'name' :'SELF-PITYING'}, {'attr' :'attr_slovenly', 'name' :'SLOVENLY'}, {'attr' :'attr_superstitous', 'name' :'SUPERSTITIOUS'}, {'attr' :'attr_vain', 'name' :'VAIN'}, {'attr' :'attr_vindictive', 'name' :'VINDICTIVE'} ] + each n in flaws + - const attrName = n.attr.split('attr_')[0]; + label(data-i18n-title=n.name title=n.name) + input(name=n.attr title='@{'+attrName+'}' type='checkbox' value='1') + span(data-i18n=n.name)=n.name + + +.grid.kob-row + .grid.box.powers + h2 + img.header(alt='Powers' src='https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Kids-on-Bikes/images/Label-Powers-1.png') + textarea(data-i18n-placeholder='Powers' name='attr_powers' placeholder='Powers' title='@{powers}') + + .grid.box.backpack + h2 + img.header(alt='Backpack' src='https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Kids-on-Bikes/images/Label-Backpack-1.png') + textarea(data-i18n-placeholder='Backpack' name='attr_backpack' placeholder='Backpack' title='@{backpack}') + +.grid.kob-row + .grid.box.boxnotes + h2 + img.header(alt='Notes' src='https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Kids-on-Bikes/images/Label-Notes-1.png') + textarea(data-i18n-placeholder='Notes' name='attr_notes' placeholder='Notes' title='@{notes}') + + + +//- ROLL TEMPLATE +//include src/pug/_rolltemplate.pug +include src/pug/rolltemplate.html \ No newline at end of file diff --git a/Kids on Bikes Official/kob.scss b/Kids on Bikes Official/kob.scss new file mode 100644 index 0000000000..732c2510bc --- /dev/null +++ b/Kids on Bikes Official/kob.scss @@ -0,0 +1,176 @@ +* { box-sizing: border-box; } + +.charsheet { + background-color: #eee; + padding: 1%; + width: 850px; +} + +button:before { display: none; } + +button[type='roll'] { + background: #bbb; + border-radius: 0.1em; + + &:focus, &:hover, &:active { + background-color: #770709; + + & > img { + filter: invert(1); + } + } +} + +label { + margin: 0px; + padding: 0px; +} + +input[type="text"] { + width: 100%; +} + +textarea { + font-size: 1.1em; + font-weight: normal; + line-height: 1.5em; + min-height: 150px; + overflow-wrap: break-word; + overflow: scroll; + padding: 2px; + resize: vertical; + text-align: left; + vertical-align: top; + white-space: pre-line; +} + +h1.sheet-logo { + padding-left: 30%; +} + +div.sheet-box { + border: thin solid #bbb; + margin: 1%; + padding: 1%; + background-color: #fff; + + img { + width: 100%; + } +} + +div.sheet-grid { + display: inline-grid; + grid-row-gap: 0.5em; +} + +div.sheet-kob-row { + grid-template-columns: 1fr 1fr; + width: 100%; + + img.sheet-header { + height: 30px; + width: 200px; + } + + div.sheet-biobox { + grid-template-columns: 8em 1fr; + + input { + &[type='checkbox'] { + height: 15px; + width: 15px; + } + } + + textarea[name='attr_character_description'] { + grid-column: 1 / 3; + } + } + + div.sheet-dicebox { + grid-template-columns: 3em 1fr 1fr 3em; + + button { + &:nth-of-type(odd) { grid-column: 1; } + &:nth-of-type(even) { grid-column: 4; } + } + + select { + font-size: 4em; + height: 100%; + margin: 0px; + padding-left: 25%; + width: 100%; + + &:nth-of-type(odd) { grid-column: 2; } + &:nth-of-type(even) { grid-column: 3; } + + &[name="attr_flight"] { grid-row: 1 } + &[name="attr_brawn"] { grid-row: 2 } + &[name="attr_grit"] { grid-row: 3 } + } + + optgroup { + font-size: 0.5em; + } + + option { + font-size: 0.8em; + } + } + + div.sheet-strenghtsbox, + div.sheet-flawsbox { + grid-template-columns: 2em 1fr 2em 1fr; + grid-column-gap: 0.2em; + + label { + height: 100%; + + &.sheet-skilledat { + grid-column: 1 / 2; + } + + &.sheet-skillatcheckbox { + grid-column: 3 / 5; + } + } + + + input { + &[type='checkbox'] { + height: 25px; + width: 25px; + } + } + + span { + font-weight: bold; + font-variant: small-caps; + } + } + + div.sheet-strenghtsbox { + grid-template-columns: 2em 1fr 2em 1fr; + + h2 { + grid-column: 1 / 5; + } + } + div.sheet-flawsbox { + grid-template-columns: 2em 1fr 2em 1fr 2em 1fr; + + h2 { + grid-column: 1 / 7; + } + } + + div.sheet-boxnotes { + grid-column: 1 / 3; + } +} + +// ROLL TEMPLATE +//============================= + @import 'src/scss/_rolltemplate'; \ No newline at end of file diff --git a/Kids on Bikes Official/preview.png b/Kids on Bikes Official/preview.png new file mode 100644 index 0000000000..66b6d88e33 Binary files /dev/null and b/Kids on Bikes Official/preview.png differ diff --git a/Kids on Bikes Official/sheet.json b/Kids on Bikes Official/sheet.json new file mode 100644 index 0000000000..736fcf2fd6 --- /dev/null +++ b/Kids on Bikes Official/sheet.json @@ -0,0 +1,8 @@ +{ + "html": "kob.html", + "css": "kob.css", + "authors": "Emerald Productions, LLC", + "roll20userid": "26123, 557736", + "preview": "preview.png", + "instructions": "Hunter Entertainment's Kids on Bikes" +} diff --git a/Kids on Bikes Official/src/pug/_mixins.pug b/Kids on Bikes Official/src/pug/_mixins.pug new file mode 100644 index 0000000000..5d5d33fcca --- /dev/null +++ b/Kids on Bikes Official/src/pug/_mixins.pug @@ -0,0 +1,8 @@ + +//- DICE SELECT +mixin diceSelect(selectedDefault) + - const diceTypes = ['d4', 'd6', 'd8', 'd10', 'd12', 'd20']; + optgroup(label='Dice') Dice + each val in diceTypes + - const selectedDie = val === selectedDefault ? selected : ''; + option(value=val selectedDie)=val \ No newline at end of file diff --git a/Kids on Bikes Official/src/pug/_rolltemplate.pug b/Kids on Bikes Official/src/pug/_rolltemplate.pug new file mode 100644 index 0000000000..39c2c94a52 --- /dev/null +++ b/Kids on Bikes Official/src/pug/_rolltemplate.pug @@ -0,0 +1,21 @@ +//- ROLL TEMPLATE +//- ============================= --> +.rolltemplates + rolltemplate.sheet-rolltemplate-rolls + .sheet-template-container + //- Display a header on the template - + | {{#header}} + .sheet-template-header + h1 {{header}} + | {{/header}} + //- Display the dice roll in the template - + .sheet-template-body + | {{#dice}} + .sheet-template-row + span.inlinerollresult {{dice} + | {{/dice}} + //- Display a description. This is great for text included with a roll - + | {{#desc}} + .sheet-template-row + span.sheet-template-desc {{desc}} + | {{/desc}} \ No newline at end of file diff --git a/Kids on Bikes Official/src/pug/rolltemplate.html b/Kids on Bikes Official/src/pug/rolltemplate.html new file mode 100644 index 0000000000..43b5bfb22b --- /dev/null +++ b/Kids on Bikes Official/src/pug/rolltemplate.html @@ -0,0 +1,21 @@ +
+ + +
+ {{#header}}{{header}}{{/header}} +
+ +
+ {{#dice}} +
{{dice}}
+ {{/dice}} + + {{#desc}} +
+ + +
+ {{/desc}} +
+
+
diff --git a/Kids on Bikes Official/src/scss/_rolltemplate.scss b/Kids on Bikes Official/src/scss/_rolltemplate.scss new file mode 100644 index 0000000000..9b53dd5250 --- /dev/null +++ b/Kids on Bikes Official/src/scss/_rolltemplate.scss @@ -0,0 +1,44 @@ +/* ROLL TEMPLATE +============================= */ + .sheet-rolltemplate-rolls {} + + .sheet-rolltemplate-rolls .sheet-template-body { + border : 1px solid #000; + text-align: center;} + + .sheet-rolltemplate-rolls .sheet-template-header { + background: rgb(33,0,0); + background: linear-gradient(180deg, rgba(33,0,0,1) 0%, rgba(137,11,13,1) 70%, rgba(213,25,31,1) 94%); + border : 1px solid #000; + border-bottom : 2px solid #000; + border-top-left-radius : 10px; + border-top-right-radius: 10px; + color : white; + font-size : 20px; + font-variant : small-caps; + font-weight : bold; + letter-spacing : 2px; + padding : 5px; + text-align : center; + text-transform : capitalize; + } + + .sheet-rolltemplate-rolls .sheet-template-row { + background-color: white; + padding: 5px;} + + /* Use this to alternate the background colors for each row */ + .sheet-rolltemplate-rolls .sheet-template-row:nth-child(2n+0) { + background-color: #1c1c1c;} + + /* Remove some fo the built in styles around rolls */ + .sheet-rolltemplate-rolls .inlinerollresult, + .sheet-rolltemplate-rolls .inlinerollresult.importantroll, + .sheet-rolltemplate-rolls .inlinerollresult.fullfail, + .sheet-rolltemplate-rolls .inlinerollresult.fullcrit { + background-color: transparent; + border : none; + color : black; + display : inline-block; + font-size : 25px; + padding : 5px;} \ No newline at end of file diff --git a/Kids on Bikes Official/translation.json b/Kids on Bikes Official/translation.json new file mode 100644 index 0000000000..3ad38701c4 --- /dev/null +++ b/Kids on Bikes Official/translation.json @@ -0,0 +1,72 @@ +{ + "Name":"Name" + ,"Age": "Age" + ,"Fear":"Fear" + ,"Motivation": "Motivation" + ,"Fight":"Fight" + ,"Flight":"Flight" + ,"Brains":"Brains" + ,"Brawn":"Brawn" + ,"Charm":"Charm" + ,"Grit":"Grit" + ,"COOL UNDER PRESSURE": "COOL UNDER PRESSURE" + ,"EASYGOING":"EASYGOING" + ,"GROSS": "GROSS" + ,"HEROIC": "HEROIC" + ,"INTUITIVE": "INTUITIVE" + ,"LOYAL":"LOYAL" + ,"LUCKY": "LUCKY" + ,"PREPARED": "PREPARED" + ,"PROTECTIVE":"PROTECTIVE" + ,"QUICK HEALING":"QUICK HEALING" + ,"REBELLIOUS": "REBELLIOUS" + ,"TOUGH":"TOUGH" + ,"TREASURE HUNTER":"TREASURE HUNTER" + ,"UNASSUMING":"UNASSUMING" + ,"WEALTHY":"WEALTHY" + ,"SKILLED AT:":"SKILLED AT:" + ,"SKILLED AT DESCRIPTION":"SKILLED AT DESCRIPTION" + ,"ABSENT MINDED":"ABSENT MINDED" + ,"BLUNT":"BLUNT" + ,"BOASTFUL":"BOASTFUL" + ,"CLUMSY":"CLUMSY" + ,"CONCEITED":"CONCEITED" + ,"COWARDLY":"COWARDLY" + ,"DECEITFUL":"DECEITFUL" + ,"DEMANDING":"DEMANDING" + ,"DISLOYAL":"DISLOYAL" + ,"DISOBEDIENT":"DISOBEDIENT" + ,"DOGMATIC":"DOGMATIC" + ,"ENVIOUS":"ENVIOUS" + ,"FLIPPANT":"FLIPPANT" + ,"GLOOMY":"GLOOMY" + ,"GREEDY":"GREEDY" + ,"HOT-TEMPERED":"HOT-TEMPERED" + ,"IGNORANT":"IGNORANT" + ,"INCONSIDERATE":"INCONSIDERATE" + ,"INSECURE":"INSECURE" + ,"IRRATIONAL":"IRRATIONAL" + ,"NEUROTIC":"NEUROTIC" + ,"OBNOXIOUS":"OBNOXIOUS" + ,"PARANOID":"PARANOID" + ,"PATRONIZING":"PATRONIZING" + ,"PERVERSE":"PERVERSE" + ,"PETTY":"PETTY" + ,"PICKY":"PICKY" + ,"PREJUDICE":"PREJUDICE" + ,"PRIM":"PRIM" + ,"RECKLESS":"RECKLESS" + ,"RESENTFUL":"RESENTFUL" + ,"RESTLESS":"RESTLESS" + ,"RUDE":"RUDE" + ,"SECRETIVE":"SECRETIVE" + ,"SELF-CENTERED":"SELF-CENTERED" + ,"SELF-PITYING":"SELF-PITYING" + ,"SLOVENLY":"SLOVENLY" + ,"SUPERSTITIOUS":"SUPERSTITIOUS" + ,"VAIN":"VAIN" + ,"VINDICTIVE":"VINDICTIVE" + ,"Powers":"Powers" + ,"Backpack":"Backpack" + ,"Notes":"Notes" +} \ No newline at end of file