Windrose: Character Sheet Initial Version (#7549)

* initial commit

* changed .json file name from windrose to sheet

* renamed windrosepng.png to windrose.png
This commit is contained in:
Ozark
2020-10-19 10:03:50 -04:00
committed by GitHub
parent d5601ada2e
commit 3262fc07df
4 changed files with 1279 additions and 0 deletions
+9
View File
@@ -0,0 +1,9 @@
{
"html": "windrose.html",
"css": "windrose.css",
"authors": "Ozark",
"roll20userid": "6103116",
"patreon": "www.patreon.com/windroseeverlasting",
"preview": "windrose.png",
"instructions": "Character sheet for Windrose Everlasting. See [windrose github](https://github.com/Ozarke/windrose) for more info on how to use the sheet."
}
+724
View File
@@ -0,0 +1,724 @@
/*Configure the tab buttons*/
.sheet-attribute-values,
.sheet-attribute-settings {
display: none;
}
/* show the selected tab */
.sheet-tabstoggle[value="character"] ~ div.sheet-attribute-values,
.sheet-tabstoggle[value="configuration"] ~ div.sheet-attribute-settings {
display: grid;
}
/* --------- 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;
color: white;
font-size: 15px;
}
textarea {
background-color: transparent;
width: 89%;
height: 70%;
margin-right: 15px;
}
input[type="checkbox"].sheet-checkbox {
border-style: solid black;
border-radius: 0px;
}
textarea:focus,
input[type="text"]:focus,
input[type="number"]:focus{
background-color: #F6CED8;
}
/* -----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 {
height: 4vh;
width: 215px;
border-radius: 0px;
-moz-appearance: none;
background-color: rgba(255,255,255, 0.099) !important;
border-color: transparent;
margin: 1vh;
box-shadow: 0px 7px 5px #5b3a21;
background-image: none;
color: inherit;
text-shadow: none;
}
button:hover {
color:inherit;
background-color: rgba(255,255,255, 0.2) !important;
}
.sheet-tab button{
height: 20%;
width: 20%;
border-radius: 0px;
-moz-appearance: none;
background-color: rgba(255,255,255, 0.099) !important;
border-color: transparent;
box-shadow: 0px 7px 5px #5b3a21;
background-image: none;
color: inherit;
text-shadow: none;
}
.sheet-tab button:hover{
color:inherit;
background-color: rgba(255,255,255, 0.2) !important;
}
.sheet-inset {
box-shadow: 0px 10px 20px #5b3a21 inset, 0px -7px 7px #bfa187 inset;
background-color: rgba(153,114,76, 0.2);
border-radius:20px;
}
.sheet-doubleinset {
box-shadow: 0px 7px 4px #5b3a21 inset, 0px -3px 3px #bfa187 inset;
background-color: rgba(112,81,51, 0.2);
border-radius:20px;
}
.sheet-red {
background-color: #F67381;
}
.sheet-blue {
background-color: #72A7D3;
}
.sheet-yellow {
background-color: #FECC51;
}
.sheet-green {
background-color: green;
}
.sheet-orange {
background-color: orange;
}
.sheet-purple {
background-color: purple;
}
.sheet-black {
background-color: black;
}
.sheet-grey {
background-color: grey;
}
.sheet-white {
background-color: white;
}
.sheet-attr-icon {
background-image: url('https://raw.githubusercontent.com/missing-q/charsheets/master/Windrose%20Everlasting/assets/Get!%20Icons/windrose_flower_pattern-dark.png');
background-size: 100% 100%;
height: 100px;
width: 100px;
display: flex;
flex-direction:column;
justify-content:flex-end;
align-items: center;
border-radius:20px;
margin-bottom: 10px;
margin-right: 10px;
}
.sheet-attr-icon-black {
background-image: url('https://raw.githubusercontent.com/missing-q/charsheets/master/Windrose%20Everlasting/assets/Get!%20Icons/windrose_flower_pattern.png');
background-size: 100% 100%;
height: 100px;
width: 100px;
display: flex;
flex-direction:column;
justify-content:flex-end;
align-items: center;
border-radius:20px;
margin-bottom: 10px;
margin-right: 10px;
}
.sheet-swing{
font-size: 30px;
text-align:center;
vertical-align: middle;
border: 0px;
background-color: transparent !important;
border-radius: 0px;
padding: 0px;
color: black;
border-radius: 0px;
margin-bottom: 0px;
margin-right: 0px;
}
.sheet-big {
font-size: 65px;
text-align:center;
vertical-align: middle;
border: 0px !important;
background-color: transparent !important;
border-radius: 0px;
padding: 0px;
}
.sheet-normal {
font-size: 20px;
text-align:center;
vertical-align: middle;
border: 0px !important;
background-color: transparent !important;
border-radius: 0px;
padding: 0px;
color: black;
}
.sheet-small {
font-size: 15px;
text-align:center;
vertical-align: middle;
border: 0px !important;
background-color: transparent !important;
border-radius: 0px;
padding: 0px;
color: black;
}
.sheet-big-black {
font-size: 65px;
text-align:center;
vertical-align: middle;
border: 0px !important;
background-color: transparent !important;
border-radius: 0px;
padding: 0px;
color: black;
}
.sheet-big-white {
font-size: 65px;
text-align:center;
vertical-align: middle;
border: 0px !important;
background-color: transparent !important;
border-radius: 0px;
padding: 0px;
color: white;
}
.sheet-swing input{
border-radius:0px;
border-color:#f3f4dd;
background-color: rgba(255,255,255,0.5);
color:#000;
text-align:center;
}
.sheet-swing {
align-items: center;
justify-content: center;
width: 40%;
justify-self: center;
}
.sheet-color-swing[value=''] ~ .sheet-color-swing-receiver{
background-color:transparent;
}
.sheet-color-swing[value=red] ~ .sheet-color-swing-receiver{
background-color:#F67381;
color:black;
}
.sheet-color-swing[value=blue] ~ .sheet-color-swing-receiver{
background-color:#72A7D3;
color:black;
}
.sheet-color-swing[value=yellow] ~ .sheet-color-swing-receiver{
background-color:#FECC51;
color:black;
}
.sheet-color-swing[value=green] ~ .sheet-color-swing-receiver{
background-color:green;
color:black;
}
.sheet-color-swing[value=orange] ~ .sheet-color-swing-receiver{
background-color:orange;
color:black;
}
.sheet-color-swing[value=purple] ~ .sheet-color-swing-receiver{
background-color:purple;
color:black;
}
.sheet-color-swing[value=black] ~ .sheet-color-swing-receiver{
background-color:black;
color:white;
background-image: url('https://raw.githubusercontent.com/missing-q/charsheets/master/Windrose%20Everlasting/assets/Get!%20Icons/windrose_flower_pattern.png');
}
.sheet-color-swing[value=grey] ~ .sheet-color-swing-receiver{
background-color:grey;
color:black;
}
.sheet-color-swing[value=white] ~ .sheet-color-swing-receiver{
background-color:white;
color:black;
}
.sheet-color-enabled[value='true'] ~ .sheet-color-enabled-receiver{
display:flex;
}
.sheet-color-enabled[value='false'] ~ .sheet-color-enabled-receiver{
display:none;
}
/*-----------------------------------------------------------------*\
#SECTIONS
\*-----------------------------------------------------------------*/
/* --------- General Section Styling ------------- */
.sheet-flex-center {
display: flex;
align-items: center;
}
.sheet-flex-middle {
display: flex;
justify-content: center;
}
.sheet-flex-down {
flex-flow: column nowrap;
}
.sheet-grid-column {
display:grid;
grid-template-columns: auto auto auto auto;
}
.sheet-left{
display: inline-flex;
text-align: left;
vertical-align:middle;
}
.sheet-section {
padding: 5px;
min-height: 90%;
}
div.sheet-main {
font-family: "Lucida Sans Unicode", "Lucida Grande", sans-serif;
background: #f7f7f7;
background-image: url('https://raw.githubusercontent.com/missing-q/charsheets/master/Windrose%2520Everlasting/assets/bg.jpg');
background-size: contain;
color: #602749;
display: grid;
grid-template-columns: 1fr 2fr 1fr;
grid-template-rows: 0.5fr auto 0.5fr;
grid-column-gap: 25px;
grid-row-gap: 25px;
width: 600px;
height: auto;
outline: #ffffff solid 5px;
padding: 30px;
}
div.sheet-header{
grid-area: 1 / 1 / 2 / 4;;
display: inline-block;
margin-top: 15px;
color: #efdabf;
text-align: center;
}
div.sheet-buttons {
grid-area: 2 / 1 / 3 / 2;
display: flex;
justify-content:flex-start;
align-items: center;
flex-flow: column;
}
div.sheet-attribute-values {
grid-area: 2 / 2 / 3 / 4;
height: 200px;
width: 325px;
grid-template-columns: auto;
grid-template-rows: auto auto;
padding: 10px 10px 10px 10px;
}
button[type=roll].sheet-d6-dice::before {
font-family: 'dicefontd6';
content: 'F ';
}
div.sheet-attribute-settings {
grid-area: 2 / 2 / 3 / 4;
height: 325px;
width: 325px;
grid-template-columns: 20% 25% auto;
padding: 10px 10px 10px 10px;
}
div.sheet-footer {
grid-area: 3 / 1 / 4 / 3;
display: grid;
grid-template-columns: auto auto auto;
margin: auto;
padding: 10px 10px 10px 10px;
}
div.sheet-footer-2 {
grid-area: 3 / 1 / 4 / 4;
display:flex;
height: 150px;
flex-flow: column-reverse wrap;
margin: auto;
padding: 10px 10px 10px 10px;
}
div.sheet-swing{
grid-area: 3 / 3 / 4 / 4;
display: grid;
}
/* Smaller margins - remove these if you want the huge default left margin */
.sheet-rolltemplate-roll {
margin-left: -37px;
}
.withoutavatars .sheet-rolltemplate-roll {
margin-left: -7px;
}
.sheet-rolltemplate-roll .sheet-container {
border: 1px solid;
/* by default, the border is the same color as the header. You can change this here, e.g. to black */
border-color: var(--header-bg-color);
}
/* Header formatting - title and subtitle */
.sheet-rolltemplate-roll .sheet-header {
background-color: var(--header-bg-color);
/* change text-align to center to center the header text */
text-align: left;
color: var(--header-text-color);
padding: 0px;
}
.sheet-rolltemplate-roll .sheet-title {
font-size:1.1em;
}
.sheet-rolltemplate-roll .sheet-subtitle {
font-size:.9em;
}
/* example colors */
.sheet-rolltemplate-roll .sheet-container {
/* this is the default color */
--header-bg-color: gray;
--header-text-color: #000;
}
.sheet-rolltemplate-roll .sheet-container.sheet-color-red{
--header-bg-color:#F67381;
--header-text-color: #FFF;
}
.sheet-rolltemplate-roll .sheet-container.sheet-color-blue{
--header-bg-color:#72A7D3;
--header-text-color: #000;
}
.sheet-rolltemplate-roll .sheet-container.sheet-color-yellow{
--header-bg-color:#FECC51;
--header-text-color: #000;
}
.sheet-rolltemplate-roll .sheet-container.sheet-color-green{
--header-bg-color:green;
--header-text-color: #FFF;
}
.sheet-rolltemplate-roll .sheet-container.sheet-color-orange{
--header-bg-color:orange;
--header-text-color: #000;
}
.sheet-rolltemplate-roll .sheet-container.sheet-color-purple{
--header-bg-color:purple;
--header-text-color: #FFF;
}
.sheet-rolltemplate-roll .sheet-container.sheet-color-black{
--header-bg-color:black;
--header-text-color: #FFF;
}
.sheet-rolltemplate-roll .sheet-container.sheet-color-grey{
--header-bg-color:grey;
--header-text-color:black;
}
.sheet-rolltemplate-roll .sheet-container.sheet-color-white{
--header-bg-color:white;
--header-text-color:black;
border-color:black;
}
.sheet-rolltemplate-roll .sheet-roll {
display: grid;
background: #FFF;
/* Header formatting - modify the column layout below */
grid-template-columns: 40% auto;
/* Line height to match default roll template */
padding: 10px;
}
.sheet-rolltemplate-roll .sheet-roll .sheet-total {
display: inline-grid;
grid-template-columns: auto auto auto;
}
.sheet-rolltemplate-roll .sheet-roll .sheet-total > div{
display: flex;
justify-content: space-between;
padding-top: 5px;
padding-bottom: 5px;
align-items: center;
font-weight: bold;
}
.sheet-rolltemplate-roll .sheet-roll .sheet-sum {
display: inline-grid;
grid-template-rows: auto auto auto auto;
}
.sheet-rolltemplate-roll .sheet-roll .sheet-sum > div{
display: flex;
justify-content: space-between;
padding-top: 5px;
padding-bottom: 5px;
align-items: center;
font-weight: bold;
}
.sheet-rolltemplate-roll .sheet-roll .sheet-sum .sheet-sum-color {
display: inline-grid;
grid-template-columns: auto auto auto auto auto auto;
grid-gap:5px;
}
.sheet-rolltemplate-roll .sheet-roll .sheet-sum .sheet-sum-color > div{
display: flex;
justify-content: center;
align-items: center;
font-weight: bold;
}
/* a tag*/
.sheet-rolltemplate-roll .sheet-red-roll {
color: black;
background-color: #F67381;
}
.sheet-rolltemplate-roll .sheet-yellow-roll {
color: black;
background-color: #FECC51;
}
.sheet-rolltemplate-roll .sheet-blue-roll {
color: black;
background-color: #72A7D3;
}
.sheet-rolltemplate-roll .sheet-green-roll {
color: black;
background-color: green;
}
.sheet-rolltemplate-roll .sheet-orange-roll {
color: black;
background-color: orange;
}
.sheet-rolltemplate-roll .sheet-purple-roll {
color: black;
background-color: purple;
}
.sheet-rolltemplate-roll .sheet-black-roll {
color: white;
background-color: black;
}
.sheet-rolltemplate-roll .sheet-grey-roll {
color: black;
background-color: grey;
}
.sheet-rolltemplate-roll .sheet-white-roll {
color: black;
background-color: white;
border-color: black;
}
.sheet-rolltemplate-roll .sheet-color-roll {
font-weight: bold;
width: 25px;
height: 25px;
text-align: center;
}
/* Allprops part */
.sheet-rolltemplate-roll .sheet-content {
display: grid;
background: #FFF;
/* Header formatting - modify the column layout below */
grid-template-columns: auto auto;
/* Line height to match default roll template */
line-height:1.4em;
}
.sheet-rolltemplate-roll .sheet-content > div {
padding: 5px;
}
/* Left column */
.sheet-rolltemplate-roll .sheet-content .sheet-key {
display: flex;
font-weight: bold;
justify-content: flex-end;
align-items: center;
}
.sheet-rolltemplate-roll .sheet-d6 {
display: grid !important;
min-width: 30px;
grid-template-columns: auto auto auto auto auto auto;
grid-gap:5px;
}
.sheet-rolltemplate-roll .sheet-d20 {
display: inline-block;
min-width: 30px;
text-align: center;
align-items: center;
position: relative;
}
.sheet-rolltemplate-roll .sheet-d20-first {
display: flex;
justify-content: space-between;
text-shadow: -1px -1px 1px #FFF, 1px -1px 1px #FFF, -1px 1px 1px #FFF, 1px 1px 1px #FFF;
z-index:2;
height: auto;
align-items: center;
text-align: center;
vertical-align: middle;
color: black;
position:relative;
min-height: 30px;
margin-top: 0px;
top: 0px;
left: 0px;
box-sizing: content-box;
}
.sheet-rolltemplate-roll .sheet-d20-second {
font-family: 'dicefontd20';
font-weight: normal;
width: 100%;
color: black;
opacity: .75;
text-align: center;
font-size: 30px;
position:absolute;
top: 7px;
left: 0px;
box-sizing: content-box;
z-index:1;
}
/* Empty rule, use this if you want to change the right column */
.sheet-rolltemplate-roll .sheet-value {
display: flex;
justify-content: space-between;
align-items: center;
}
/* a tag*/
.sheet-rolltemplate-roll .sheet-value a {
color: graytext;
font-weight: bold;
background-color: lightgray;
}
/* Make even-numbered rows grey */
.sheet-rolltemplate-roll .sheet-content :nth-child(4n+3),
.sheet-rolltemplate-roll .sheet-content :nth-child(4n) {
background:#EEE;
}
/* Description field */
.sheet-rolltemplate-roll .sheet-desc {
grid-column: span 2;
padding: 5px;
text-align: center;
}
.sheet-rolltemplate-roll .inlinerollresult {
background-color: transparent;
border: none;
}
.sheet-rolltemplate-roll .inlinerollresult.fullcrit {
color: #3FB315;
border: none;
}
.sheet-rolltemplate-roll .inlinerollresult.fullfail {
color: #B31515;
border: none;
}
.sheet-rolltemplate-roll .inlinerollresult.importantroll {
color: #4A57ED;
border: none;
}
/* Configure a container for the toggle */
.sheet-radios {
display:flex;
align-items: center;
}
/* Configure the button styling. This example makes it look like a checkbox. */
button.sheet-toggle {
padding: 0;
border: solid 1px #a8a8a8;
cursor: pointer;
width: 18px;
height: 18px;
border-radius: 3px;
display:inline-block;
font-size: 12px;
margin: 0px;
}
/* Hide the "checked" section of the toggle if the attribute value is not "1". */
input.sheet-toggle:not([value="true"]) ~ button.sheet-toggle > span.sheet-checked {
opacity:0;
}
+546
View File
@@ -0,0 +1,546 @@
<div class="main">
<div class="header tab">
<div>
<h1>Windrose Everlasting</h1>
<span class="normal" name='attr_character_name'><</span>
</div>
<div>
<button type="action" name="act_character" >Character</button>
<button type="action" name="act_configuration" >Configuration</button>
</div>
</div>
<input type='hidden' class='sheet-tabstoggle' name='attr_sheetTab' value='character' />
<div class="sheet-buttons">
<button type="action" name="act_calc_do" class="d6-dice">Calculate Roll to Do</button>
<input type="hidden" value='&{template:roll} {{title=Please Pres Calculate Button}}' name="attr_do_formula" />
<button type="roll" name="roll_do" value="@{do_formula}" class="d6-dice">Show Roll to Do</button>
<button type="action" name="act_calc_dye" class="d6-dice">Calculate Roll to Dye</button>
<input type="hidden" value='&{template:roll} {{title=Please Press Calculate Button}}' name="attr_dye_formula"/>
<button type="roll" name="roll_dye" value="@{dye_formula}" class="d6-dice">Show Roll to Dye</button>
</div>
<div class="sheet-attribute-values inset">
<div>
Swing Color: <select name='attr_swing_color'>
<option value="" selected>None</option>
<option value="red">Red</option>
<option value="yellow">Yellow</option>
<option value="blue">Blue</option>
<option value="green">Green</option>
<option value="orange">Orange</option>
<option value="purple">Purple</option>
<option value="white">White</option>
<option value="grey">Grey</option>
<option value="black">Black</option>
</select>
</div>
<div>
Swing Value: <select name='attr_swing_value'>
<option value=0 selected>NA</option>
<option value=1>1</option>
<option value=2>2</option>
<option value=3>3</option>
<option value=4>4</option>
<option value=5>5</option>
<option value=6>6</option>
</select>
</div>
<div>d6s:<input name="attr_d6s" type="number" value="0"></div>
<div>Bonus:<input name="attr_bonus" type="number" value="0"></div>
<input type='hidden' name="attr_red_value" value="1"/>
<input type='hidden' name="attr_yellow_value" value="1"/>
<input type='hidden' name="attr_blue_value" value="1"/>
<input type='hidden' name="attr_green_value" value="1"/>
<input type='hidden' name="attr_orange_value" value="1"/>
<input type='hidden' name="attr_purple_value" value="1"/>
<input type='hidden' name="attr_white_value" value="1"/>
<input type='hidden' name="attr_grey_value" value="1"/>
<input type='hidden' name="attr_black_value" value="1"/>
<input type='hidden' name="attr_total" value="1"/>
</div>
<div class="sheet-attribute-settings inset">
<div class='small left'>Red</div>
<div>Lvl:<input name="attr_red_level" type="number" value="0"></div>
<div class="sheet-grid-column">
<div class="toggle-container">
W:<input type="hidden" class="toggle" name="attr_red_wounded" />
<button type="action" name="act_red_wounded" class="toggle">
<span class="checked"></span>
</button>
</div>
<div class="toggle-container">
L:<input type="hidden" class="toggle" name="attr_red_lockedout" />
<button type="action" name="act_red_lockedout" class="toggle">
<span class="checked"></span>
</button>
</div>
<div class="toggle-container">
E:<input type="hidden" class="toggle" name="attr_red_enabled" />
<button type="action" name="act_red_enabled" class="toggle">
<span class="checked"></span>
</button>
</div>
</div>
<div class='small left'>Yellow</div>
<div>Lvl:<input name="attr_yellow_level" type="number" value="0"></div>
<div class="sheet-grid-column">
<div class="toggle-container">
W:<input type="hidden" class="toggle" name="attr_yellow_wounded" />
<button type="action" name="act_yellow_wounded" class="toggle">
<span class="checked"></span>
</button>
</div>
<div class="toggle-container">
L:<input type="hidden" class="toggle" name="attr_yellow_lockedout" />
<button type="action" name="act_yellow_lockedout" class="toggle">
<span class="checked"></span>
</button>
</div>
<div class="toggle-container">
E:<input type="hidden" class="toggle" name="attr_yellow_enabled" />
<button type="action" name="act_yellow_enabled" class="toggle">
<span class="checked"></span>
</button>
</div>
</div>
<div class='small left'>Blue</div>
<div>Lvl:<input name="attr_blue_level" type="number" value="0"></div>
<div class="sheet-grid-column">
<div class="toggle-container">
W:<input type="hidden" class="toggle" name="attr_blue_wounded" />
<button type="action" name="act_blue_wounded" class="toggle">
<span class="checked"></span>
</button>
</div>
<div class="toggle-container">
L:<input type="hidden" class="toggle" name="attr_blue_lockedout" />
<button type="action" name="act_blue_lockedout" class="toggle">
<span class="checked"></span>
</button>
</div>
<div class="toggle-container">
E:<input type="hidden" class="toggle" name="attr_blue_enabled" />
<button type="action" name="act_blue_enabled" class="toggle">
<span class="checked"></span>
</button>
</div>
</div>
<div class='small left'>Green</div>
<div> Lvl:<input name="attr_green_level" type="number" value="0"></div>
<div class="sheet-grid-column">
<div class="toggle-container">
W:<input type="hidden" class="toggle" name="attr_green_wounded" />
<button type="action" name="act_green_wounded" class="toggle">
<span class="checked"></span>
</button>
</div>
<div class="toggle-container">
L:<input type="hidden" class="toggle" name="attr_green_lockedout" />
<button type="action" name="act_green_lockedout" class="toggle">
<span class="checked"></span>
</button>
</div>
<div class="toggle-container">
E:<input type="hidden" class="toggle" name="attr_green_enabled" />
<button type="action" name="act_green_enabled" class="toggle">
<span class="checked"></span>
</button>
</div>
</div>
<div class='small left'>Purple</div>
<div>Lvl:<input name="attr_purple_level" type="number" value="0"></div>
<div class="sheet-grid-column">
<div class="toggle-container">
W:<input type="hidden" class="toggle" name="attr_purple_wounded" />
<button type="action" name="act_purple_wounded" class="toggle">
<span class="checked"></span>
</button>
</div>
<div class="toggle-container">
L:<input type="hidden" class="toggle" name="attr_purple_lockedout" />
<button type="action" name="act_purple_lockedout" class="toggle">
<span class="checked"></span>
</button>
</div>
<div class="toggle-container">
E:<input type="hidden" class="toggle" name="attr_purple_enabled" />
<button type="action" name="act_purple_enabled" class="toggle">
<span class="checked"></span>
</button>
</div>
</div>
<div class='small left'>Orange</div>
<div>Lvl:<input name="attr_orange_level" type="number" value="0"></div>
<div class="sheet-grid-column">
<div class="toggle-container">
W:<input type="hidden" class="toggle" name="attr_orange_wounded" />
<button type="action" name="act_orange_wounded" class="toggle">
<span class="checked"></span>
</button>
</div>
<div class="toggle-container">
L:<input type="hidden" class="toggle" name="attr_orange_lockedout" />
<button type="action" name="act_orange_lockedout" class="toggle">
<span class="checked"></span>
</button>
</div>
<div class="toggle-container">
E:<input type="hidden" class="toggle" name="attr_orange_enabled" />
<button type="action" name="act_orange_enabled" class="toggle">
<span class="checked"></span>
</button>
</div>
</div>
<div class="small left">Black</div>
<div>Lvl:<input name="attr_black_level" type="number" value="0"></div>
<div class="sheet-grid-column">
<div class="toggle-container">
W:<input type="hidden" class="toggle" name="attr_black_wounded" />
<button type="action" name="act_black_wounded" class="toggle">
<span class="checked"></span>
</button>
</div>
<div class="toggle-container">
L:<input type="hidden" class="toggle" name="attr_black_lockedout" />
<button type="action" name="act_black_lockedout" class="toggle">
<span class="checked"></span>
</button>
</div>
<div class="toggle-container">
E:<input type="hidden" class="toggle" name="attr_black_enabled" />
<button type="action" name="act_black_enabled" class="toggle">
<span class="checked"></span>
</button>
</div>
</div>
<div class="small left">Grey</div>
<div>Lvl:<input name="attr_grey_level" type="number" value="0"></div>
<div class="sheet-grid-column">
<div class="toggle-container">
W:<input type="hidden" class="toggle" name="attr_grey_wounded" />
<button type="action" name="act_grey_wounded" class="toggle">
<span class="checked"></span>
</button>
</div>
<div class="toggle-container">
L:<input type="hidden" class="toggle" name="attr_grey_lockedout" />
<button type="action" name="act_grey_lockedout" class="toggle">
<span class="checked"></span>
</button>
</div>
<div class="toggle-container">
E:<input type="hidden" class="toggle" name="attr_grey_enabled" />
<button type="action" name="act_grey_enabled" class="toggle">
<span class="checked"></span>
</button>
</div>
</div>
<div class="small left">White</div>
<div>Lvl:<input name="attr_white_level" type="number" value="0"></div>
<div class="sheet-grid-column">
<div class="toggle-container">
W:<input type="hidden" class="toggle" name="attr_white_wounded" />
<button type="action" name="act_white_wounded" class="toggle">
<span class="checked"></span>
</button>
</div>
<div class="toggle-container">
L:<input type="hidden" class="toggle" name="attr_white_lockedout" />
<button type="action" name="act_white_lockedout" class="toggle">
<span class="checked"></span>
</button>
</div>
<div class="toggle-container">
E:<input type="hidden" class="toggle" name="attr_white_enabled" />
<button type="action" name="act_white_enabled" class="toggle">
<span class="checked"></span>
</button>
</div>
</div>
</div>
<div class="footer inset">
<label>Health:
<input name="attr_health" type="number" value="10">
</label>
<label>EXP:
<input name="attr_exp" type="number" value="0">
</label>
<label>Speed:
<input name="attr_speed" type="number" value="30">
</label>
</div>
<div class="footer-2">Find full character sheet with API at https://github.com/Ozarke/windrose</div>
<div class="swing">
<input type='hidden' value='' class='color-swing' name='attr_swing_color'/>
<div class="color-swing-receiver attr-icon black">
Swing
<span class="big" name="attr_swing_value" type="number" value="0" minvalue="0"></span>
</div>
</div>
</div>
<script type="text/worker">
const buttonList = ["character","configuration"];
buttonList.forEach(button => {
on(`clicked:${button}`, function() {
setAttrs({
sheetTab: button
});
});
});
on('clicked:calc_do', function() {
let colors = ["red","yellow","blue","green","orange","purple","black","white","grey"];
let attributes = ["d6s","bonus","swing_color","swing_value"];
colors.forEach(color=>{
attributes.push(color+"_level");
});
getAttrs(attributes,function(values){
let header_url = 'https://raw.githubusercontent.com/Ozarke/windrose/main/assets/Roll-to-do-clear.png';
let background_color = '';
if(values.swing_color !== "")
{
background_color = values.swing_color;
}
let total = 0;
let outstr = "";
let roll_val = 0;
outstr +='&{template:roll}{{color='+ background_color + '}}{{title=[Dye](' + header_url + ')}}';
roll_val = Math.floor( Math.random() * 20 ) +1;
outstr += '{{d20='+roll_val+'}}';
total += parseInt(roll_val);
roll_val = 0;
if(values.swing_color !== "")
{
if("0" !== values.swing_value)
{
roll_val = values.swing_value;
}
else
{
roll_val = Math.floor( Math.random() * 6 ) +1;
}
if(values[values.swing_color+"_level"] !== "0")
{
total += parseInt(values[values.swing_color+"_level"]);
outstr += '{{swing=+ [['+ values[values.swing_color+"_level"] +']] **Attribute Level**}}';
}
total += parseInt(roll_val);
outstr += "{{"+values.swing_color+'='+roll_val+'}}';
}
let d6 = parseInt(values.d6s);
if(d6 !== 0)
{
outstr += '{{d6s= ';
if(d6 > 0)
{
for(i = 0; i<parseInt(d6);i++)
{
roll_val = Math.floor( Math.random() * 6 ) +1;
outstr += '+ [[' + roll_val + ']] ';
total += parseInt(roll_val);
}
}
else
{
for(i = 0; i<-parseInt(d6);i++)
{
roll_val = Math.floor( Math.random() * 6 ) +1;
outstr += '+ [[-' + roll_val + ']] ';
total -= parseInt(roll_val);
}
}
outstr += '}}';
}
let bonus = parseInt(values.bonus);
if (bonus !== 0)
{
outstr += '{{bonus=+ [['+bonus+']] ** Bonus **}}';
total += bonus;
}
outstr += "{{total="+total+"}}";
setAttrs({"do_formula":outstr});
});
});
on('clicked:calc_dye', function() {
// Header
let colors = ["red","yellow","blue","green","orange","purple","black","white","grey"];
let attributes = ["d6s","bonus","swing_color","swing_value"];
colors.forEach(color=>{
attributes.push(color+"_enabled");
attributes.push(color+"_wounded");
attributes.push(color+"_lockedout");
attributes.push(color+"_level");
});
getAttrs(attributes,function(values){
let header_url = 'https://raw.githubusercontent.com/Ozarke/windrose/main/assets/Roll-to-dye.jpg';
let background_color = '';
if(values.swing_color !== "" && values.swing_value !== "0")
{
background_color = values.swing_color;
header_url = 'https://raw.githubusercontent.com/Ozarke/windrose/main/assets/Roll-to-dye-clear.png';
}
let total = 0;
let outstr = "";
let roll_val = 0;
outstr +='&{template:roll}{{color='+ background_color + '}}{{title=[Dye](' + header_url + ')}}';
colors.forEach(color =>{
if(values[color + "_enabled"] === "true")
{
if(values[color + "_wounded"] === "true")
{
outstr += "{{"+color+'=W}}';
}
else
{
if(values[color + "_lockedout"] === "true")
{
outstr += "{{"+color+'=L}}';
}
else
{
roll_val = 0;
if(color === values.swing_color && values.swing_value !== "0")
{
roll_val = values.swing_value;
if(values[color+"_level"] !== "0")
{
total += parseInt(values[color+"_level"]);
outstr += '{{swing=+ [['+ values[color+"_level"] +']] **Attribute Level**}}';
}
}
else
{
roll_val = Math.floor( Math.random() * 6 ) +1;
}
total += parseInt(roll_val);
outstr += "{{"+color+'='+roll_val+'}}';
}
}
}
});
let d6 = parseInt(values.d6s);
if(d6 !== 0)
{
outstr += '{{d6s= ';
if(d6 > 0)
{
for(i = 0; i<parseInt(d6);i++)
{
roll_val = Math.floor( Math.random() * 6 ) +1;
outstr += '+ [[' + roll_val + ']] ';
total += parseInt(roll_val);
}
}
else
{
for(i = 0; i<-parseInt(d6);i++)
{
roll_val = Math.floor( Math.random() * 6 ) +1;
outstr += '+ [[-' + roll_val + ']] ';
total -= parseInt(roll_val);
}
}
outstr += '}}';
}
let bonus = parseInt(values.bonus);
if (bonus !== 0)
{
outstr += '{{bonus=+ [['+bonus+']] ** Bonus **}}';
total += bonus;
}
outstr += "{{total="+total+"}}";
setAttrs({"dye_formula":outstr});
});
});
const toggleList = ["red_wounded","red_lockedout","red_enabled",
"blue_wounded","blue_lockedout","blue_enabled",
"yellow_wounded","yellow_lockedout","yellow_enabled",
"green_wounded","green_lockedout","green_enabled",
"orange_wounded","orange_lockedout","orange_enabled",
"purple_wounded","purple_lockedout","purple_enabled",
"black_wounded","black_lockedout","black_enabled",
"grey_wounded","grey_lockedout","grey_enabled",
"white_wounded","white_lockedout","white_enabled"];
toggleList.forEach(function(button) {
on(`clicked:${button}`, function() {
const flag = `${button}`;
// Check the current value of the hidden flag.
getAttrs([flag], function(v) {
// Update the value of the hidden flag to "1" for checked or "0" for unchecked.
setAttrs({
[flag]: v[flag] !== "false" ? "false" : "true"
});
});
});
});
</script>
<rolltemplate class="sheet-rolltemplate-roll">
<div class="sheet-container sheet-color-{{color}}">
<div class="sheet-header">
{{#title}}<div class="sheet-title">{{title}}</div>{{/title}}
{{#subtitle}}<div class="sheet-subtitle">{{subtitle}}</div>{{/subtitle}}
</div>
<div class="sheet-roll">
<div class="sheet-total">
{{#total}}<div>Total</div><div>{{total}}</div><div>=</div>{{/total}}
</div>
<div class="sheet-sum">
<div class="sheet-sum-color">
{{#d20}}<div class="sheet-d20">
<div class="sheet-d20-first">{{d20}}</div>
<div class="sheet-d20-second">0</div>
</div>{{/d20}}
{{#red}}<div>+</div><div class="sheet-color-roll sheet-red-roll">{{red}}</div>{{/red}}
{{#yellow}}<div>+</div><div class="sheet-color-roll sheet-yellow-roll">{{yellow}}</div>{{/yellow}}
{{#blue}}<div>+</div><div class="sheet-color-roll sheet-blue-roll">{{blue}}</div>{{/blue}}
{{#green}}<div>+</div><div class="sheet-color-roll sheet-green-roll">{{green}}</div>{{/green}}
{{#orange}}<div>+</div><div class="sheet-color-roll sheet-orange-roll">{{orange}}</div>{{/orange}}
{{#purple}}<div>+</div><div class="sheet-color-roll sheet-purple-roll">{{purple}}</div>{{/purple}}
{{#black}}<div>+</div><div class="sheet-color-roll sheet-black-roll">{{black}}</div>{{/black}}
{{#grey}}<div>+</div><div class="sheet-color-roll sheet-grey-roll">{{grey}}</div>{{/grey}}
{{#white}}<div>+</div><div class="sheet-color-roll sheet-white-roll">{{white}}</div>{{/white}}
{{#H}}<div>+</div><div class="sheet-color-roll sheet-white-roll">{{H}}</div>{{/H}}
{{#HH}}<div>+</div><div class="sheet-color-roll sheet-white-roll">{{HH}}</div>{{/HH}}
{{#HHH}}<div>+</div><div class="sheet-color-roll sheet-white-roll">{{HHH}}</div>{{/HHH}}
{{#HHHH}}<div>+</div><div class="sheet-color-roll sheet-white-roll">{{HHHH}}</div>{{/HHHH}}
{{#HHHHH}}<div>+</div><div class="sheet-color-roll sheet-white-roll">{{HHHHH}}</div>{{/HHHHH}}
{{#HHHHHH}}<div>+</div><div class="sheet-color-roll sheet-white-roll">{{HHHHHH}}</div>{{/HHHHHH}}
</div>
{{#swing}}<div>
{{swing}}
</div>{{/swing}}
{{#d6s}}<div class="sheet-d6">
{{d6s}}
</div>{{/d6s}}
{{#bonus}}<div>
{{bonus}}
</div>{{/bonus}}
</div>
</div>
</div>
</rolltemplate>
Binary file not shown.

After

Width:  |  Height:  |  Size: 754 KiB