Initial Release

As always, we start at the beginning.
This commit is contained in:
Ikidaore
2017-02-17 19:13:31 -05:00
parent 9a420908d2
commit 7bd68bf6ca
4 changed files with 605 additions and 0 deletions
+328
View File
@@ -0,0 +1,328 @@
input[type="text"] {
display: flex;
background-color: transparent;
box-shadow: none;
border-radius: 0;
flex: 1;
vertical-align: middle;
width: 100%;
height: 28px;
margin: auto;
color: black;
min-width: 20px;
}
input[type=number] {-moz-appearance: textfield;}
input[type=number]::-webkit-outer-spin-button,
input[type=number]::-webkit-inner-spin-button {
-webkit-appearance: none !important;
margin: 0;
}
input:focus::-webkit-input-placeholder { color:transparent; }
input:focus:-moz-placeholder { color:transparent; } /* FF 4-18 */
input:focus::-moz-placeholder { color:transparent; } /* FF 19+ */
input:focus:-ms-input-placeholder { color:transparent; } /* IE 10+ */
::-webkit-input-placeholder { /* Chrome/Opera/Safari */
color: black;
}
::-moz-placeholder { /* Firefox 19+ */
color: black;
}
:-ms-input-placeholder { /* IE 10+ */
color: black;
}
:-moz-placeholder { /* Firefox 18- */
color: black;
}
.sheet-box {
height: 28px !important;
padding-top: 2.5px;
padding-bottom: 2.5px;
}
.sheet-checkbox {
width: 28px !important;
height: 28px !important;
opacity: 0;
position: absolute;
margin: auto;
}
.sheet-checkbox + span::before {
position: relative;
content: url(http://i.imgur.com/nAAUXzD.png);
z-index: -1;
}
.sheet-checkbox:checked + span::before {
content: url(http://i.imgur.com/NckV8Nn.png);
//z-index: -1;
}
.sheet-button {
width: 25px;
height: 25px;
margin-top: auto !important;
margin-bottom: auto !important;
font-size: 13px !important;
}
.itemcontrol {
z-index: 1000 !important;
}
.sheet-outline {
display: flex !important;
flex-flow: row;
flex-wrap: wrap;
border: 1px solid #4c2590;
}
.sheet-text-header {
box-sizing: border-box;
background-color: #4c2590;
color: white;
font-weight: bold;
font-size: 14px;
height: 34px;
line-height: 34px;
padding-left: 4px;
z-index: -2;
}
.sheet-text-other {
color: black;
margin: auto auto auto 0px;
padding: 1px 4px 1px 4px;
font-size: 13px;
}
.sheet-number {
border: 1px solid #4c2590;
border-radius: 100px;
box-shadow: none;
height: 25px !important;
width: 25px !important;
text-align: center;
margin-top: auto;
margin-bottom: auto;
margin-left: 4px;
margin-right: 4px;
}
.sheet-number-fate {
height: 100% !important;
width: 100% !important;
text-align: center;
border: none;
background-color: transparent;
font-size: 15px;
}
.sheet-text-aspects {
padding-left: 4px;
color: black;
font-size: 10px;
vertical-align: center;
}
.sheet-title {
width: 100%;
color: #4c2590;
font-size: 30px;
font-weight: bold;
text-align: center;
line-height: 30px;
}
.sheet-half {
width: 50%;
}
.sheet-third {
width: calc(100%/3);
}
.sheet-quarter {
width: 25%;
}
.sheet-container {
box-sizing: border-box;
display: flex;
flex-flow: column;
flex-wrap: wrap;
border: 1px solid #4c2590;
}
.sheet-flexrow {
display: flex;
flex-flow: row;
}
.sheet-mantle {
display: inline-block;
width: 35% !important;
}
.sheet-repeating-mantle {
display: inline-block;
width: 100%;
}
.sheet-fate {
margin: auto;
}
.sheet-top {
display: flex;
flex-flow: column;
justify-content: space-around;
flex-grow: 1;
}
.sheet-spacer {
flex-grow: 1;
}
.sheet-tooltip {
display: none;
pointer-events: none;
position: absolute;
bottom: 110%;
left: 0%;
word-wrap: break-word;
text-align: left;
background-color: white;
border: 1px solid black;
border-radius: 5px;
pointer-events: none;
padding: 5px;
white-space: pre-wrap;
visibility: hidden;
opacity: 0;
transition: visibility 500ms, opacity 500ms;
-webkit-transition-delay: 0s; /* Safari */
-webkit-transition: all 500ms ease-in-out;
-moz-transition: all 500ms ease-in-out;
-ms-transition: all 500ms ease-in-out;
-o-transition: all 500ms ease-in-out;
transition: all 500ms ease-in-out;
transition-delay: 0s;
}
.sheet-hover:hover + .sheet-tooltip {
display: block;
background-color: white;
opacity: 1.0 !important;
visibility: visible;
pointer-events: visible;
box-shadow: none;
z-index: 1;
}
.sheet-hover-hidden {
margin: auto;
opacity: 0;
position: relative;
left: 32px;
}
.sheet-hover-hidden + span::before {
height: 32px;
width: 32px;
content: url(http://i.imgur.com/SvPkbOW.png);
z-index: -1;
}
.sheet-hover-hidden:checked + span::before {
height: 32px;
width: 32px;
content: url(http://i.imgur.com/SvPkbOW.png);
z-index: -1;
}
.sheet-hover-hidden:hover ~ .sheet-tooltip {
left: 0%;
pointer-events: visible;
box-shadow: none;
z-index: 1;
}
.sheet-hover-hidden:checked ~ .sheet-tooltip {
display: block;
left: 0%;
background-color: #bbb;
opacity: 1.0;
visibility: visible;
pointer-events: visible;
z-index: 1;
}
.sheet-stress-tab {
display: none;
}
.sheet-stress-tab-config {
display: none;
opacity: .99;
background-color: red;
}
.sheet-stress-config {
width: 28px !important;
height: 28px !important;
opacity: 0;
position: absolute;
}
.sheet-stress-config + span::before {
height: 32px;
width: 32px;
position: absolute;
right: 0;
top: 0;
content: url(http://i.imgur.com/vxAtLJG.png);
z-index: -1;
}
.sheet-stress-config:checked + span::before {
background-color: red;
height: 32px;
width: 32px;
position: absolute;
right: 0;
top: 0;
content: url(http://i.imgur.com/vxAtLJG.png);
//z-index: -1;
}
.sheet-stress-config:checked ~ .sheet-stress-tab-config {
display: block;
}
.sheet-stress-config:not(:checked) ~ .sheet-stress-tab {
display: block;
}
.sheet-stress-hidden {
display: none;
}
.sheet-stress-hidden:checked ~ span {
display: none;
}
.sheet-scale {
justify-content: center;
margin-top: auto;
margin-bottom: auto;
}
+269
View File
@@ -0,0 +1,269 @@
<div class="sheet-title">DRESDEN FILES ACCELERATED</div>
<div class="sheet-outline">
<div class="sheet-container sheet-half">
<div class="sheet-text-header">CHARACTER NAME</div>
<div class="sheet-flexrow sheet-top"><input type="text" name="attr_character-name" title="@{character-name}"/></div>
</div>
<div class="sheet-container sheet-half">
<div class="sheet-text-header">MANTLES</div>
<div class="sheet-flexrow">
<input type="text" class="sheet-mantle" name="attr_mantle-1" title="@{mantle-1}"/>
<input type="text" class="sheet-mantle" name="attr_mantle-2" title="@{mantle-2}"/>
</div>
</div>
<div class="sheet-container sheet-half">
<div class="sheet-text-header">ASPECTS</div>
<div class="sheet-text-aspects">High Concept</div>
<input type="text" class="sheet-text-input" name="attr_high-concept" title="@{high-concept}">
<div class="sheet-text-aspects">Trouble</div>
<input type="text"/ name="attr_trouble" title="@{trouble}">
<div class="sheet-text-aspects">Other Aspects</div>
<input type="text"/ name="attr_other-aspect-1" title="@{other-aspect-1">
<input type="text"/ name="attr_other-aspect-2" title="@{other-aspect-2">
<input type="text"/ name="attr_other-aspect-3" title="@{other-aspect-3">
</div>
<div class="sheet-flexrow sheet-half">
<div class="sheet-container sheet-third">
<div class="sheet-text-header">APPROACHES</div>
<div class="sheet-top">
<div class="sheet-flexrow">
<button type="roll" class="sheet-button" value="[[4df + @{flair}]]" name="roll_flair"></button>
<input type="number" class="sheet-number" name="attr_flair" title="@{flair}" placeholder="0" />
<div class="sheet-text-other">Flair</div>
</div>
<div class="sheet-flexrow">
<button type="roll" class="sheet-button" value="[[4df + @{focus}]]" name="roll_focus"></button>
<input type="number" class="sheet-number" name="attr_focus" title="@{focus}" placeholder="0" />
<div class="sheet-text-other">Focus</div>
</div>
<div class="sheet-flexrow">
<button type="roll" class="sheet-button" value="[[4df + @{force}]]" name="roll_force"></button>
<input type="number" class="sheet-number" name="attr_force" title="@{force}" placeholder="0" />
<div class="sheet-text-other">Force</div>
</div>
<div class="sheet-flexrow">
<button type="roll" class="sheet-button" value="[[4df + @{guile}]]" name="roll_guile"></button>
<input type="number" class="sheet-number" name="attr_guile" title="@{guile}" placeholder="0" />
<div class="sheet-text-other">Guile</div>
</div>
<div class="sheet-flexrow">
<button type="roll" class="sheet-button" value="[[4df + @{haste}]]" name="roll_haste"></button>
<input type="number" class="sheet-number" name="attr_haste" title="@{haste}" placeholder="0" />
<div class="sheet-text-other">Haste</div>
</div>
<div class="sheet-flexrow">
<button type="roll" class="sheet-button" value="[[4df + @{intellect}]]" name="roll_intellect"></button>
<input type="number" class="sheet-number" name="attr_intellect" title="@{intellect}" placeholder="0" />
<div class="sheet-text-other">Intellect</div>
</div>
<div class="sheet-flexrow">
<button type="roll" class="sheet-button" value="[[4df + @{intellect}]]" name="roll_intellect"></button>
<input type="number" class="sheet-number" name="attr_mantle-approach" title="@{mantle-approach}" placeholder="0" />
<input type="text" placeholder="Mantle" />
</div>
</div>
</div>
<div class="sheet-container sheet-third">
<div class="sheet-text-header">LADDER</div>
<div class="sheet-text-other">+8 Legendary</div>
<div class="sheet-text-other">+7 Epic</div>
<div class="sheet-text-other">+6 Fantastic</div>
<div class="sheet-text-other">+5 Superb</div>
<div class="sheet-text-other">+4 Great</div>
<div class="sheet-text-other">+3 Good</div>
<div class="sheet-text-other">+2 Fair</div>
<div class="sheet-text-other">+1 Average</div>
<div class="sheet-text-other">+0 Mediocre</div>
<div class="sheet-text-other">-1 Poor</div>
<div class="sheet-text-other">-2 Terrible</div>
</div>
<div class="sheet-container sheet-third">
<div class="sheet-text-header">SCALE</div>
<div class="sheet-scale">
<div class="sheet-text-other">Godlike</div>
<div class="sheet-text-other">Legendary</div>
<div class="sheet-text-other">Otherworldly</div>
<div class="sheet-text-other">Supernatural</div>
<div class="sheet-text-other">Mundane</div>
</div>
</div>
</div>
<div class="sheet-container sheet-half" style="position:relative;">
<div class="sheet-text-header">STRESS & CONDITIONS</div>
<input type="checkbox" class="sheet-stress-config" name="stress-config" style="position:absolute;right:0;top:0;"/><span></span>
<div class="sheet-flexrow">
<input type="number" class="sheet-number" value="0" disabled="disabled"/>
<div class="sheet-text-other">Stress</div>
<div class="sheet-box"><input type="checkbox" class="sheet-checkbox" name="attr_stress-1" title="@{stress-1}"/><span></span></div>
<div class="sheet-box"><input type="checkbox" class="sheet-checkbox" name="attr_stress-2" title="@{stress-2}"/><span></span></div>
<div class="sheet-box"><input type="checkbox" class="sheet-checkbox" name="attr_stress-3" title="@{stress-3}"/><span></span></div>
<div class="sheet-box"><input type="checkbox" class="sheet-checkbox" name="attr_stress-4" title="@{stress-4}"/><span></span></div>
<div class="sheet-box"><input type="checkbox" class="sheet-checkbox" name="attr_stress-5" title="@{stress-5}"/><span></span></div>
<div class="sheet-box"><input type="checkbox" class="sheet-checkbox" name="attr_stress-6" title="@{stress-6}"/><span></span></div>
</div>
<div class="sheet-flexrow">
<input type="number" class="sheet-number" value="0" disabled="disabled"/>
<div class="sheet-text-other">Indebted</div>
<div class="sheet-box"><input type="checkbox" class="sheet-checkbox" name="attr_indebted-1" title="@{indebted-1}"/><span></span></div>
<div class="sheet-box"><input type="checkbox" class="sheet-checkbox" name="attr_indebted-2" title="@{indebted-2}"/><span></span></div>
<div class="sheet-box"><input type="checkbox" class="sheet-checkbox" name="attr_indebted-3" title="@{indebted-3}"/><span></span></div>
<div class="sheet-box"><input type="checkbox" class="sheet-checkbox" name="attr_indebted-4" title="@{indebted-4}"/><span></span></div>
<div class="sheet-box"><input type="checkbox" class="sheet-checkbox" name="attr_indebted-5" title="@{indebted-5}"/><span></span></div>
</div>
<div class="sheet-flexrow">
<input type="number" class="sheet-number" value="0" disabled="disabled"/>
<input type="text" class="sheet-hover" placeholder="In Peril" name="attr_in-peril-aspect" title="@{in-peril-aspect"/>
<div class="sheet-box"><input type="checkbox" class="sheet-checkbox" name="attr_in-peril" title="@{in-peril}"/><span></span></div>
</div>
<div class="sheet-flexrow">
<input type="number" class="sheet-number" value="0" disabled="disabled"/>
<input type="text" placeholder="Doomed" name="attr_doomed-aspect" title="@{doomed-aspect"/>
<div class="sheet-box"><input type="checkbox" class="sheet-checkbox" name="attr_doomed" title="@{doomed}"/><span></span></div>
</div>
<div class="sheet-stress-tab">
<fieldset class="repeating_condition">
<div class="sheet-flexrow" style="height:32px;">
<input type="number" class="sheet-number" name="attr_condition-cost" title="@{condition-cost}" placeholder="0" value=0/>
<input type="text" class="sheet-hover" placeholder="Other Condition" name="attr_condition-name" style="margin-right:-26px;"/>
<span name="attr_condition-tooltip" class="sheet-tooltip"></span>
<input type="checkbox" class="sheet-hover-hidden" style="width:28px; height:28px;"><span></span>
<textarea placeholder="Power Tooltip" class="sheet-tooltip" name="attr_condition-tooltip" title="@{power-tooltip}"></textarea>
<div class="sheet-flexrow">
<div class="sheet-box"><input type="checkbox" class="sheet-stress-hidden" name="attr_condition-1-enabled"/><input type="checkbox" class="sheet-checkbox" name="attr_condition-1"/><span></span></div>
<div class="sheet-box"><input type="checkbox" class="sheet-stress-hidden" name="attr_condition-2-enabled"/><input type="checkbox" class="sheet-checkbox" name="attr_condition-2"/><span></span></div>
<div class="sheet-box"><input type="checkbox" class="sheet-stress-hidden" name="attr_condition-3-enabled"/><input type="checkbox" class="sheet-checkbox" name="attr_condition-3"/><span></span></div>
<div class="sheet-box"><input type="checkbox" class="sheet-stress-hidden" name="attr_condition-4-enabled"/><input type="checkbox" class="sheet-checkbox" name="attr_condition-4"/><span></span></div>
<div class="sheet-box"><input type="checkbox" class="sheet-stress-hidden" name="attr_condition-5-enabled"/><input type="checkbox" class="sheet-checkbox" name="attr_condition-5"/><span></span></div>
</div>
</div>
</fieldset>
</div>
<div class="sheet-stress-tab-config">
<fieldset class="repeating_condition">
<div class="sheet-flexrow" style="height:32px;">
<input type="number" class="sheet-number" name="attr_condition-cost" title="@{condition-cost}" placeholder="0" />
<input type="text" class="sheet-hover" placeholder="Other Condition" name="attr_condition-name" style="margin-right:-26px;"/>
<span name="attr_condition-tooltip" class="sheet-tooltip"></span>
<input type="checkbox" class="sheet-hover-hidden" style="width:28px; height:28px;"><span></span>
<textarea placeholder="Power Tooltip" class="sheet-tooltip" name="attr_condition-tooltip" title="@{power-tooltip}"></textarea>
<div class="sheet-flexrow">
<div class="sheet-box"><input type="checkbox" class="sheet-checkbox" name="attr_condition-1-enabled"/><span></span></div>
<div class="sheet-box"><input type="checkbox" class="sheet-checkbox" name="attr_condition-2-enabled"/><span></span></div>
<div class="sheet-box"><input type="checkbox" class="sheet-checkbox" name="attr_condition-3-enabled"/><span></span></div>
<div class="sheet-box"><input type="checkbox" class="sheet-checkbox" name="attr_condition-4-enabled"/><span></span></div>
<div class="sheet-box"><input type="checkbox" class="sheet-checkbox" name="attr_condition-5-enabled"/><span></span></div>
</div>
</div>
</fieldset>
</div>
<div class="sheet-spacer"></div>
<div class="sheet-flexrow">
<div class="sheet-container sheet-quarter">
<div class="sheet-text-header">FATE POINTS</div>
<div class="sheet-fate"><input type="number" class="sheet-number-fate" name="attr_fate-points" title="@{fate-points}" placeholder="0" /></div>
</div>
<div class="sheet-container sheet-quarter">
<div class="sheet-text-header">REFRESH</div>
<div class="sheet-fate"><input type="number" class="sheet-number-fate" name="attr_refresh" title="@{refresh}" value="@{refresh-total}+(@{refresh-spent})" placeholder="0" disabled="true"/></div>
</div>
<div class="sheet-container sheet-quarter">
<div class="sheet-text-header">SPENT</div>
<div class="sheet-fate"><input type="number" class="sheet-number-fate" name="attr_refresh-spent" title="@{refresh-spent}" placeholder="0" readonly="readonly" /></div>
</div>
<div class="sheet-container sheet-quarter">
<div class="sheet-text-header">TOTAL</div>
<div class="sheet-fate"><input type="number" class="sheet-number-fate" name="attr_refresh-total" title="@{refresh-total}" placeholder="0" /></div>
</div>
</div>
</div>
<div class="sheet-container sheet-half">
<div class="sheet-text-header">STUNTS</div>
<fieldset class="repeating_stunt">
<div class="sheet-flexrow" style="height:32px;">
<input type="number" class="sheet-number" name="attr_stunt-cost" placeholder="0" />
<input type="text" class="sheet-hover" name="attr_stunt-name" style="margin-right:-26px;"/>
<span name="attr_power-tooltip" class="sheet-tooltip"></span>
<input type="checkbox" class="sheet-hover-hidden" style="width:28px; height:28px;"><span></span>
<textarea placeholder="Power Tooltip" class="sheet-tooltip" name="attr_power-tooltip"></textarea>
</div>
</fieldset>
</div>
</div>
<script type="text/worker">
on('change:repeating_stunt remove:repeating_stunt', function(eventInfo) {
getSectionIDs('repeating_stunt', function(idarray) {
var costIds = idarray.map(function(rowid) { return 'repeating_stunt_' + rowid + '_stunt-cost'; });
getAttrs(costIds, function(values) {
var total = i = 0;
for(; i < costIds.length; i++) {
total -= parseInt(values[costIds[i]]) || 0;
}
setAttrs({ 'stuntCost': total });
});
});
});
on('change:repeating_condition remove:repeating_condition', function(eventInfo) {
getSectionIDs('repeating_condition', function(idarray) {
var costIds = idarray.map(function(rowid) { return 'repeating_condition_' + rowid + '_condition-cost'; });
getAttrs(costIds, function(values) {
var total = i = 0;
for(; i < costIds.length; i++) {
total -= parseInt(values[costIds[i]]) || 0;
}
setAttrs({ 'conditionCost': total });
});
});
});
on('change:repeating_stress remove:repeating_stress', function(eventInfo) {
getSectionIDs('repeating_stress', function(idarray) {
var costIds = idarray.map(function(rowid) { return 'repeating_stress_' + rowid + '_stress-cost'; });
getAttrs(costIds, function(values) {
var total = i = 0;
for(; i < costIds.length; i++) {
total -= parseInt(values[costIds[i]]) || 0;
}
setAttrs({ 'stressCost': total });
});
});
});
on('change:stressCost change:stuntCost change:conditionCost', function(eventInfo) {
getAttrs(['stressCost','stuntCost','conditionCost'], function(values) {
var sum = 0 - values.stressCost - values.stuntCost - values.conditionCost;
setAttrs({ 'refresh-spent': sum });
});
})
</script>
Binary file not shown.

After

Width:  |  Height:  |  Size: 94 KiB

+8
View File
@@ -0,0 +1,8 @@
{
"html": "DFA.html",
"css": "DFA.css",
"authors": "Jonathan Csanady",
"roll20userid": "Yukidaore",
"preview": "DFA.png",
"instructions": "You can edit the length of stress/condition tracks through the config button in the top right of that section. Mouseover tooltips for stunts/conditions may be defined by clicking the nearby info icon."
}