mirror of
https://github.com/Nighthawk42/roll20-character-sheets.git
synced 2026-08-30 03:40:32 +00:00
Feast of Legends: New sheet added. Includes roll buttons for main stats, and stat bonuses are calculated automaticly. (#5529)
This commit is contained in:
Binary file not shown.
|
After Width: | Height: | Size: 118 KiB |
@@ -0,0 +1,305 @@
|
||||
/*------------------------------------*\
|
||||
#GENERAL
|
||||
\*------------------------------------*/
|
||||
|
||||
|
||||
/* --------- Content positioning ------------- */
|
||||
|
||||
.sheet-flex-center {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.sheet-flex-middle {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.sheet-flex-down {
|
||||
flex-flow: column nowrap;
|
||||
}
|
||||
|
||||
.sheet-section {
|
||||
padding: 5px;
|
||||
min-height: 90%;
|
||||
}
|
||||
|
||||
|
||||
/* --------- Text ------------- */
|
||||
|
||||
span.sheet-bold{
|
||||
font-weight: 800;
|
||||
font-size: medium;
|
||||
}
|
||||
|
||||
label {
|
||||
margin: 5px 0px 5px 0px;
|
||||
font-size: 1.1em;
|
||||
}
|
||||
|
||||
|
||||
/* --------- Inputs ------------- */
|
||||
|
||||
input[type="text"] {
|
||||
background-color: transparent;
|
||||
border-style: none none solid none;
|
||||
border-color: black;
|
||||
}
|
||||
|
||||
input[type="number"] {
|
||||
background-color: transparent;
|
||||
border: none;
|
||||
}
|
||||
|
||||
textarea {
|
||||
width: 85%;
|
||||
height: 70%;
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
input[type="checkbox"].sheet-checkbox {
|
||||
border-style: solid black;
|
||||
border-radius: 0px;
|
||||
}
|
||||
|
||||
/* -----Hides up/down buttons on numberfields that don't need them ---*/
|
||||
|
||||
input[type=number].sheet-ref::-webkit-inner-spin-button,
|
||||
input[type=number].sheet-ref::-webkit-outer-spin-button,
|
||||
input[type=number].sheet-txtfield::-webkit-inner-spin-button,
|
||||
input[type=number].sheet-txtfield::-webkit-outer-spin-button {
|
||||
-webkit-appearance: none;
|
||||
margin: 0;
|
||||
}
|
||||
input[type=number].sheet-ref,
|
||||
input[type=number].sheet-txtfield {
|
||||
-moz-appearance: textfield;
|
||||
}
|
||||
|
||||
/* Buttons */
|
||||
|
||||
button[type="roll"]{
|
||||
color: black;
|
||||
height: 30px;
|
||||
width: 30px;
|
||||
margin-left: 15px;
|
||||
}
|
||||
|
||||
button[type="roll"]::before{
|
||||
font-size: 1.4em;
|
||||
}
|
||||
|
||||
|
||||
/*------------------------------------*\
|
||||
#SECTIONS
|
||||
\*------------------------------------*/
|
||||
|
||||
div.sheet-main {
|
||||
display: grid;
|
||||
grid-gap: 6px;
|
||||
grid-template-columns: 2.5fr 1fr 3.5fr;
|
||||
grid-template-rows: 2fr 1fr 2fr 1fr 3fr 1fr 1fr 2fr;
|
||||
grid-template-areas:"logo logo name"
|
||||
"logo logo bio"
|
||||
"stats stats bio"
|
||||
"stats stats gold"
|
||||
"stats stats load"
|
||||
"stats stats skilled"
|
||||
"resistance resistance order-skills"
|
||||
"resistance resistance order-skills";
|
||||
width: 650px;
|
||||
height: 900px;
|
||||
background-image: url(https://i.imgur.com/qKceron.jpg);
|
||||
background-size: 650px 900px;
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
|
||||
/* LOGO SECTION */
|
||||
|
||||
div.sheet-logo{
|
||||
grid-area: logo;
|
||||
background-image: url(https://i.imgur.com/N8oNFQ9.jpg);
|
||||
background-size: 295px 180px;
|
||||
background-repeat: no-repeat;
|
||||
margin-left: 20px;
|
||||
margin-top: 20px;
|
||||
}
|
||||
|
||||
/* NAME SECTION */
|
||||
|
||||
div.sheet-name{
|
||||
grid-area: name;
|
||||
padding-top: 35px;
|
||||
}
|
||||
|
||||
div.sheet-name div.sheet-section-small{
|
||||
background-image: url(https://i.imgur.com/ia9MOUx.jpg);
|
||||
background-size: contain;
|
||||
background-repeat: no-repeat;
|
||||
height: 50px;
|
||||
width: 290px;
|
||||
}
|
||||
|
||||
div.sheet-name label{
|
||||
width: 50px;
|
||||
padding-left: 15px;
|
||||
}
|
||||
|
||||
div.sheet-name input{
|
||||
width: 180px;
|
||||
}
|
||||
|
||||
/* STATS SECTION */
|
||||
|
||||
div.sheet-stats{
|
||||
grid-area: stats;
|
||||
margin-left: 15px;
|
||||
}
|
||||
|
||||
div.sheet-stats div.sheet-stat-block{
|
||||
background-image: url(https://i.imgur.com/i0fqhxv.jpg);
|
||||
background-repeat: no-repeat;
|
||||
background-size: contain;
|
||||
height: 65px;
|
||||
width: 290px;
|
||||
}
|
||||
|
||||
div.sheet-stats div.sheet-stat-block label{
|
||||
width: 90px;
|
||||
padding-left: 10px;
|
||||
}
|
||||
|
||||
div.sheet-stats input,
|
||||
div.sheet-stats span{
|
||||
height: 45px;
|
||||
width: 60px;
|
||||
font-size: 20px;
|
||||
font-weight: 600;
|
||||
text-align: center;
|
||||
padding-left: 20px;
|
||||
}
|
||||
|
||||
div.sheet-stats span{
|
||||
padding-top: 15px;
|
||||
padding-left: 10px;
|
||||
}
|
||||
|
||||
/* RESITANCE SECTION */
|
||||
|
||||
div.sheet-resistance{
|
||||
grid-area: resistance;
|
||||
background-image: url(https://i.imgur.com/SlEHxEm.jpg);
|
||||
background-size: 290px 170px;
|
||||
background-repeat: no-repeat;
|
||||
margin-left: 20px;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
div.sheet-resistance label{
|
||||
width: 110px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
div.sheet-resistance div{
|
||||
padding-bottom: 25px;
|
||||
}
|
||||
|
||||
div.sheet-resistance input{
|
||||
width: 150px;
|
||||
margin: 3px 0px 3px 0px;
|
||||
}
|
||||
|
||||
div.sheet-resistance hr {
|
||||
display: block;
|
||||
margin-top: 0.5em;
|
||||
margin-bottom: 0.5em;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
border-style: solid;
|
||||
border-width: 2px;
|
||||
border-color: black;
|
||||
width: 110px;
|
||||
}
|
||||
|
||||
/* BIO SECTION */
|
||||
|
||||
div.sheet-bio{
|
||||
grid-area: bio;
|
||||
background-image: url(https://i.imgur.com/SlEHxEm.jpg);
|
||||
background-size: 290px 195px;
|
||||
background-repeat: no-repeat;
|
||||
padding-right: 25px;
|
||||
}
|
||||
|
||||
div.sheet-bio label{
|
||||
width:60px;
|
||||
margin-top: 0px;
|
||||
}
|
||||
|
||||
/* GOLD SECTION */
|
||||
|
||||
div.sheet-gold{
|
||||
grid-area: gold;
|
||||
background-image: url(https://i.imgur.com/ia9MOUx.jpg);
|
||||
background-size: 290px 60px;
|
||||
background-repeat: no-repeat;
|
||||
padding-bottom: 20px;
|
||||
}
|
||||
|
||||
div.sheet-gold label{
|
||||
width: 50px;
|
||||
margin-left: 15px;
|
||||
}
|
||||
|
||||
div.sheet-gold input[type=number]{
|
||||
width: 120px;
|
||||
}
|
||||
|
||||
/* LOAD SECTION */
|
||||
|
||||
div.sheet-load{
|
||||
grid-area: load;
|
||||
background-image: url(https://i.imgur.com/SlEHxEm.jpg);
|
||||
background-size: 290px 195px;
|
||||
background-repeat: no-repeat;
|
||||
padding-right: 25px;
|
||||
}
|
||||
|
||||
div.sheet-load label{
|
||||
width:60px;
|
||||
margin-top: 0px;
|
||||
}
|
||||
|
||||
/* SKILLED SECTION */
|
||||
|
||||
div.sheet-skilled{
|
||||
grid-area: skilled;
|
||||
background-image: url(https://i.imgur.com/ia9MOUx.jpg);
|
||||
background-size: 290px 60px;
|
||||
background-repeat: no-repeat;
|
||||
padding-bottom: 25px;
|
||||
}
|
||||
|
||||
div.sheet-skilled label{
|
||||
width: 90px;
|
||||
padding-left: 10px;
|
||||
}
|
||||
|
||||
div.sheet-skilled input{
|
||||
width: 160px;
|
||||
}
|
||||
|
||||
/* ORDER SKILL SECTION */
|
||||
|
||||
div.sheet-order-skills{
|
||||
grid-area: order-skills;
|
||||
background-image: url(https://i.imgur.com/SlEHxEm.jpg);
|
||||
background-size: 290px 185px;
|
||||
background-repeat: no-repeat;
|
||||
padding-right: 25px;
|
||||
}
|
||||
|
||||
div.sheet-order-skills label{
|
||||
width:120px;
|
||||
margin: 3px 0px 2px;
|
||||
}
|
||||
@@ -0,0 +1,196 @@
|
||||
|
||||
<div class="main">
|
||||
|
||||
<!-- LOGO SECTION -->
|
||||
<div class="logo section"></div>
|
||||
|
||||
<!-- NAME SECTION -->
|
||||
<div class="name section">
|
||||
<div class="section-small flex-center">
|
||||
<label>NAME: </label>
|
||||
<input name="attr_character_name" type="text">
|
||||
</div>
|
||||
<div class="section-small flex-center">
|
||||
<label>ORDER: </label>
|
||||
<input name="attr_order" type="text">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- MAIN STAT SECTION -->
|
||||
<div class="stats section">
|
||||
<div class="stat-block flex-center">
|
||||
<label>STRENGTH</label>
|
||||
<input name="attr_strength" type="number" value="2">
|
||||
<span name="attr_strength_bonus"></span>
|
||||
<button name="roll_strength" type="roll" value="&{template:default} {{name=Strength}} {{Result=[[d20+(@{strength_bonus})]]}}"></button>
|
||||
</div>
|
||||
|
||||
<div class="stat-block flex-center">
|
||||
<label>INTELLIGENCE</label>
|
||||
<input name="attr_intelligence" type="number" value="">
|
||||
<span name="attr_intelligence_bonus"></span>
|
||||
<button name="roll_intelligence" type="roll" value="&{template:default} {{name=Intelligence}} {{Result=[[d20+(@{intelligence_bonus})]]}}"></button>
|
||||
</div>
|
||||
|
||||
<div class="stat-block flex-center">
|
||||
<label>CHARM</label>
|
||||
<input name="attr_charm" type="number" value="">
|
||||
<span name="attr_charm_bonus"></span>
|
||||
<button name="roll_charm" type="roll" value="&{template:default} {{name=Charm}} {{Result=[[d20+(@{charm_bonus})]]}}"></button>
|
||||
</div>
|
||||
|
||||
<div class="stat-block flex-center">
|
||||
<label>ARCANA</label>
|
||||
<input name="attr_arcana" type="number" value="">
|
||||
<span name="attr_arcana_bonus"></span>
|
||||
<button name="roll_arcana" type="roll" value="&{template:default} {{name=Arcana}} {{Result=[[d20+(@{arcana_bonus})]]}}"></button>
|
||||
</div>
|
||||
|
||||
<div class="stat-block flex-center">
|
||||
<label>GRACE</label>
|
||||
<input name="attr_grace" type="number" value="">
|
||||
<span name="attr_grace_bonus"></span>
|
||||
<button name="roll_grace" type="roll" value="&{template:default} {{name=Grace}} {{Result=[[d20+(@{grace_bonus})]]}}"></button>
|
||||
</div>
|
||||
|
||||
<div class="stat-block flex-center">
|
||||
<label>DEFENSE</label>
|
||||
<input name="attr_defense" type="number" value="11">
|
||||
<input name="attr_defense_bonus" type="number" value="" class="ref" disabled="true">
|
||||
</div>
|
||||
|
||||
<div class="stat-block flex-center">
|
||||
<label>HIT POINTS</label>
|
||||
<input name="attr_hit_points" type="number" value="">
|
||||
<input name="attr_hit_points_max" type="number" value="">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- RESISTANCE/WEAKNESS/ADVANTAGE SECTION -->
|
||||
<div class="resistance section flex-center">
|
||||
<div>
|
||||
<label>Resistance/</label>
|
||||
<label>Weakness</label>
|
||||
<hr>
|
||||
<label>Advantage/</label>
|
||||
<label>Disadvantage</label>
|
||||
</div>
|
||||
<div>
|
||||
<input name="attr_resistance1" type="text">
|
||||
<input name="attr_resistance2" type="text">
|
||||
<input name="attr_resistance3" type="text">
|
||||
<input name="attr_resistance4" type="text">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- BIO SECTION -->
|
||||
<div class="bio section flex-center flex-middle flex-down">
|
||||
<label>Bio</label>
|
||||
<textarea name="attr_bio" placeholder="Bio"></textarea>
|
||||
</div>
|
||||
|
||||
<!-- GOLD SECTION-->
|
||||
<div class="gold section flex-center">
|
||||
<label>Gold:</label>
|
||||
<input name="attr_gold" type="number" value="200">
|
||||
</div>
|
||||
|
||||
<!-- LOAD SECTION -->
|
||||
<div class="load section flex-center flex-middle flex-down">
|
||||
<label>Load</label>
|
||||
<textarea name="attr_load" placeholder="Load"></textarea>
|
||||
</div>
|
||||
|
||||
<!-- SKILLED WITH SECTION -->
|
||||
<div class="skilled section flex-center">
|
||||
<label>Skilled with: </label>
|
||||
<input name="attr_skilled_with" type="text">
|
||||
</div>
|
||||
|
||||
<!-- ORDER SKILL SECTION -->
|
||||
<div class="order-skills section flex-center flex-down">
|
||||
<label>Order Skills</label>
|
||||
<textarea name="attr_order_skills" placeholder="Order Skills"></textarea>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<input name="attr_strength_bonus" type="hidden" value="0">
|
||||
<input name="attr_intelligence_bonus" type="hidden" value="0">
|
||||
<input name="attr_charm_bonus" type="hidden" value="0">
|
||||
<input name="attr_arcana_bonus" type="hidden" value="0">
|
||||
<input name="attr_grace_bonus" type="hidden" value="0">
|
||||
|
||||
|
||||
<!-- ---------------------------SHEET WORKERS----------------- -->
|
||||
|
||||
<script type="text/worker">
|
||||
|
||||
var attr_base = ["strength_base","intelligence_base","charm_base","arcana_base","grace_base"];
|
||||
|
||||
var attr_bonus = ["strength_bonus","intelligence_bonus","charm_bonus","arcana_bonus","grace_bonus"];
|
||||
|
||||
const stats = ["strength","intelligence","charm","arcana","grace"];
|
||||
|
||||
|
||||
stats.forEach(stat => {
|
||||
on(`change:${stat}`, () => {
|
||||
getAttrs([stat], values => {
|
||||
const stat_base = parseInt(values[stat], 10)||0;
|
||||
console.log(stat_base);
|
||||
|
||||
if(stat_base == "2" || stat_base == "3" || stat_base == "4"){
|
||||
const stat_bonus = "-2"
|
||||
setAttrs({
|
||||
[`${stat}_bonus`]: stat_bonus
|
||||
});
|
||||
}
|
||||
|
||||
else if(stat_base == "5" || stat_base == "6"){
|
||||
const stat_bonus = "-1"
|
||||
setAttrs({
|
||||
[`${stat}_bonus`]: stat_bonus
|
||||
});
|
||||
}
|
||||
|
||||
else if(stat_base == "7" || stat_base == "8"){
|
||||
const stat_bonus = "0"
|
||||
setAttrs({
|
||||
[`${stat}_bonus`]: stat_bonus
|
||||
});
|
||||
}
|
||||
|
||||
else if(stat_base == "9" || stat_base == "10" || stat_base == "11" || stat_base == "12"){
|
||||
const stat_bonus = "+1"
|
||||
setAttrs({
|
||||
[`${stat}_bonus`]: stat_bonus
|
||||
});
|
||||
}
|
||||
|
||||
else if(stat_base == "13" || stat_base == "14" || stat_base == "15"){
|
||||
const stat_bonus = "+2"
|
||||
setAttrs({
|
||||
[`${stat}_bonus`]: stat_bonus
|
||||
});
|
||||
}
|
||||
|
||||
else if(stat_base == "16"){
|
||||
const stat_bonus = "+3"
|
||||
setAttrs({
|
||||
[`${stat}_bonus`]: stat_bonus
|
||||
});
|
||||
}
|
||||
|
||||
else if(stat_base >= "17"){
|
||||
const stat_bonus = "+4"
|
||||
setAttrs({
|
||||
[`${stat}_bonus`]: stat_bonus
|
||||
});
|
||||
}
|
||||
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
</script>
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"html": "feast_of_legends.html",
|
||||
"css": "feast_of_legends.css",
|
||||
"authors": "Andreas J.",
|
||||
"roll20userid": "1223200",
|
||||
"preview": "FoLpreview.png",
|
||||
"instructions": "Character Sheet for 'Feast of Legends', a RPG made by Wendy's.\n* [Rulebook](https://www.feastoflegends.com/images/Feast_Of_Legends.pdf)"
|
||||
}
|
||||
Reference in New Issue
Block a user