Files
roll20-character-sheets/Invisible Sun/invisiblesun.html
T

713 lines
26 KiB
HTML

<!-- Invisible Sun v1.0 by Medieve (Richard Tran)
Questions and comments can be sent through Roll20 https://app.roll20.net/users/23472/richard-t -->
<div class="contentwrapper">
<div class="innerbg">
<button type="roll" class="venture" value="&{template:rollventure} {{CharacterName=@{character_name}}} {{description=?{Description?}}} {{rollresult=[[1d10-1]]}} {{difficulty=[[@{difficulty}]]}}">Venture</button>
<button type="roll" class="venture-enhance1" value="&{template:rollventure} {{CharacterName=@{character_name}}} {{description=?{Description?}}} {{rollresult=[[1d10-1]]}} {{enhancement1=[[1d10-1]]}}{{difficulty=[[@{difficulty}]]}}"></button>
<button type="roll" class="venture-enhance2" value="&{template:rollventure} {{CharacterName=@{character_name}}} {{description=?{Description?}}} {{rollresult=[[1d10-1]]}} {{enhancement1=[[1d10-1]]}} {{enhancement2=[[1d10-1]]}} {{difficulty=[[@{difficulty}]]}}"></button>
<button type="roll" class="venture-enhance3" value="&{template:rollventure} {{CharacterName=@{character_name}}} {{description=?{Description?}}} {{rollresult=[[1d10-1]]}} {{enhancement1=[[1d10-1]]}} {{enhancement2=[[1d10-1]]}} {{enhancement3=[[1d10-1]]}} {{difficulty=[[@{difficulty}]]}}"></button>
<button type="roll" class="venture-enhance4" value="&{template:rollventure} {{CharacterName=@{character_name}}} {{description=?{Description?}}} {{rollresult=[[1d10-1]]}} {{enhancement1=[[1d10-1]]}} {{enhancement2=[[1d10-1]]}} {{enhancement3=[[1d10-1]]}} {{enhancement4=[[1d10-1]]}} {{difficulty=[[@{difficulty}]]}}"></button>
<button type="roll" class="venture-enhance5" value="&{template:rollventure} {{CharacterName=@{character_name}}} {{description=?{Description?}}} {{rollresult=[[1d10-1]]}} {{enhancement1=[[1d10-1]]}} {{enhancement2=[[1d10-1]]}} {{enhancement3=[[1d10-1]]}} {{enhancement4=[[1d10-1]]}} {{enhancement5=[[1d10-1]]}} {{difficulty=[[@{difficulty}]]}}"></button>
<div class="flexrow venturecontainer centerforce">
<label><input type="radio" name="attr_difficulty" value="0"><span>?</span></label>
<label><input type="radio" name="attr_difficulty" value="1"><span>1</span></label>
<label><input type="radio" name="attr_difficulty" value="2"><span>2</span></label>
<label><input type="radio" name="attr_difficulty" value="3"><span>3</span></label>
<label><input type="radio" name="attr_difficulty" value="4"><span>4</span></label>
<label><input type="radio" name="attr_difficulty" value="5"><span>5</span></label>
<label><input type="radio" name="attr_difficulty" value="6"><span>6</span></label>
<label><input type="radio" name="attr_difficulty" value="7"><span>7</span></label>
<label><input type="radio" name="attr_difficulty" value="8"><span>8</span></label>
<label><input type="radio" name="attr_difficulty" value="9"><span>9</span></label>
</div>
<div class="biglabel">Certes</div>
<div class="flexrow">
<div class="flexrow">
<div class="flexcol poolcontent">
<button type="action" class="poollabel" name="act_accuracy-reset">Accuracy</button>
<div class="flexrow">
<input type="number" class="maxnumber" name="attr_accuracy-max" value="0"></input>
<div class="flexcol">
<button type="action" class="plusbutton" name="act_accuracy-plus1">+1</button>
<button type="action" class="plusbutton" name="act_accuracy-plus3">+3</button>
<input type="number" name="attr_accuracy-current" value="0" />
<button type="action" class="minusbutton" name="act_accuracy-minus3">-3</button>
<button type="action" class="minusbutton" name="act_accuracy-minus1">-1</button>
</div>
</div>
</div>
<div class="flexcol poolcontent">
<button type="action" class="poollabel" name="attr_movement-reset">Movement</button>
<div class="flexrow">
<input type="number" class="maxnumber" name="attr_movement-max" value="0"></input>
<div class="flexcol">
<button type="action" class="plusbutton" name="act_movement-plus1">+1</button>
<button type="action" class="plusbutton" name="act_movement-plus3">+3</button>
<input type="number" name="attr_movement-current" value="0" />
<button type="action" class="minusbutton" name="act_movement-minus3">-3</button>
<button type="action" class="minusbutton" name="act_movement-minus1">-1</button>
</div>
</div>
</div>
</div>
<div class="flexrow">
<div class="flexcol poolcontent">
<button type="action" class="poollabel" name="attr_physicality-reset">Physicality</button>
<div class="flexrow">
<input type="number" class="maxnumber" name="attr_physicality-max" value="0"></input>
<div class="flexcol">
<button type="action" class="plusbutton" name="act_physicality-plus1">+1</button>
<button type="action" class="plusbutton" name="act_physicality-plus3">+3</button>
<input type="number" name="attr_physicality-current" value="0" />
<button type="action" class="minusbutton" name="act_physicality-minus3">-3</button>
<button type="action" class="minusbutton" name="act_physicality-minus1">-1</button>
</div>
</div>
</div>
<div class="flexcol poolcontent">
<button type="action" class="poollabel" name="attr_perception-reset">Perception</button>
<div class="flexrow">
<input type="number" class="maxnumber" name="attr_perception-max" value="0"></input>
<div class="flexcol">
<button type="action" class="plusbutton" name="act_perception-plus1">+1</button>
<button type="action" class="plusbutton" name="act_perception-plus3">+3</button>
<input type="number" name="attr_perception-current" value="0" />
<button type="action" class="minusbutton" name="act_perception-minus3">-3</button>
<button type="action" class="minusbutton" name="act_perception-minus1">-1</button>
</div>
</div>
</div>
</div>
</div>
<div class="biglabel">Qualia</div>
<div class="box-header flexrow">
<div class="flexrow">
<div class="flexcol poolcontent">
<button type="action" class="poollabel" name="attr_sorcery-reset">Sorcery</button>
<div class="flexrow">
<input type="number" class="maxnumber" name="attr_sorcery-max" value="0"></input>
<div class="flexcol">
<button type="action" class="plusbutton" name="act_sorcery-plus1">+1</button>
<button type="action" class="plusbutton" name="act_sorcery-plus3">+3</button>
<input type="number" name="attr_sorcery-current" value="0" />
<button type="action" class="minusbutton" name="act_sorcery-minus3">-3</button>
<button type="action" class="minusbutton" name="act_sorcery-minus1">-1</button>
</div>
</div>
</div>
<div class="flexcol poolcontent">
<button type="action" class="poollabel" name="attr_interaction-reset">Interaction</button>
<div class="flexrow">
<input type="number" class="maxnumber" name="attr_interaction-max" value="0"></input>
<div class="flexcol">
<button type="action" class="plusbutton" name="act_interaction-plus1">+1</button>
<button type="action" class="plusbutton" name="act_interaction-plus3">+3</button>
<input type="number" name="attr_interaction-current" value="0" />
<button type="action" class="minusbutton" name="act_interaction-minus3">-3</button>
<button type="action" class="minusbutton" name="act_interaction-minus1">-1</button>
</div>
</div>
</div>
</div>
<div class="flexrow">
<div class="flexcol poolcontent">
<button type="action" class="poollabel" name="attr_intellect-reset">Intellect</button>
<div class="flexrow">
<input type="number" class="maxnumber" name="attr_intellect-max" value="0"></input>
<div class="flexcol">
<button type="action" class="plusbutton" name="act_intellect-plus1">+1</button>
<button type="action" class="plusbutton" name="act_intellect-plus3">+3</button>
<input type="number" name="attr_intellect-current" value="0" />
<button type="action" class="minusbutton" name="act_intellect-minus3">-3</button>
<button type="action" class="minusbutton" name="act_intellect-minus1">-1</button>
</div>
</div>
</div>
<div class="flexcol poolcontent">
<button type="action" class="poollabel" name="attr_sortiledge-reset">Sortiledge</button>
<div class="flexrow">
<input type="number" class="maxnumber" name="attr_sortiledge-max" value="0"></input>
<div class="flexcol">
<button type="action" class="plusbutton" name="act_sortiledge-plus1">+1</button>
<button type="action" class="plusbutton" name="act_sortiledge-plus3">+3</button>
<input type="number" name="attr_sortiledge-current" value="0" />
<button type="action" class="minusbutton" name="act_sortiledge-minus3">-3</button>
<button type="action" class="minusbutton" name="act_sortiledge-minus1">-1</button>
</div>
</div>
</div>
</div>
</div>
<!-------------------- Rest -------------------->
<div class="flexrow restgroup centerforce">
<label><input type="checkbox" name="attr_rest1"/>
<span>One Action</span></label>
<label><input type="checkbox" name="attr_rest2"/>
<span>One Action</span></label>
<label><input type="checkbox" name="attr_rest3"/>
<span>Ten Minutes</span></label>
<label><input type="checkbox" name="attr_rest4"/>
<span>One Hour</span></label>
</div>
</div>
</div>
<rolltemplate class="sheet-rolltemplate-rollventure">
<div class="sheet-venture-charactername">{{CharacterName}}</div>
<div class="sheet-venture-description">{{description}}</div>
<div class="sheet-venture-roll">
{{rollresult}}<span class="sheet-venture-enhancementresults">{{#enhancement1}},{{/enhancement1}}{{enhancement1}}{{#enhancement2}},{{/enhancement2}}{{enhancement2}}{{#enhancement3}},{{/enhancement3}}{{enhancement3}}{{#enhancement4}},{{/enhancement4}}{{enhancement4}}{{#enhancement5}},{{/enhancement5}}{{enhancement5}}</span>
versus
<span class="sheet-venture-difficulty">{{difficulty}}</span>
</div>
<div class="sheet-venture-result">
{{#^rollLess() rollresult difficulty}}
<span>I</span>
{{/^rollLess() rollresult difficulty}}
{{#^rollLess() enhancement1 difficulty}}
<span>I</span>
{{/^rollLess() enhancement1 difficulty}}
{{#^rollLess() enhancement2 difficulty}}
<span>I</span>
{{/^rollLess() enhancement2 difficulty}}
{{#^rollLess() enhancement3 difficulty}}
<span>I</span>
{{/^rollLess() enhancement3 difficulty}}
{{#^rollLess() enhancement4 difficulty}}
<span>I</span>
{{/^rollLess() enhancement4 difficulty}}
{{#^rollLess() enhancement5 difficulty}}
<span>I</span>
{{/^rollLess() enhancement5 difficulty}}
</div>
</rolltemplate>
<script type="text/worker">
///////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////// Certes Functions /////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////
//Accuracy Functions
on('clicked:accuracy-reset', function() {
getAttrs(['accuracy-max'], function(values) {
// set the current attribute to maximumum
setAttrs({
'accuracy-current': +values['accuracy-max'] || 0
});
});
});
on('clicked:accuracy-plus3', function() {
getAttrs(['accuracy-current'], function(values) {
// get the level stat, and coerce into a numerical value.
const level = +values['accuracy-current'] || 0;
// increase by 1
const newlevel = level +3;
// save the updated attribute to the sheet
setAttrs({
'accuracy-current': newlevel
});
});
});
on('clicked:accuracy-plus1', function() {
getAttrs(['accuracy-current'], function(values) {
// get the level stat, and coerce into a numerical value.
const level = +values['accuracy-current'] || 0;
// increase by 1
const newlevel = level +1;
// save the updated attribute to the sheet
setAttrs({
'accuracy-current': newlevel
});
});
});
on('clicked:accuracy-minus3', function() {
getAttrs(['accuracy-current'], function(values) {
// get the level stat, and coerce into a numerical value.
const level = +values['accuracy-current'] || 0;
// increase by 1
const newlevel = level -3;
// save the updated attribute to the sheet
setAttrs({
'accuracy-current': newlevel
});
});
});
on('clicked:accuracy-minus1', function() {
getAttrs(['accuracy-current'], function(values) {
// get the level stat, and coerce into a numerical value.
const level = +values['accuracy-current'] || 0;
// increase by 1
const newlevel = level -1;
// save the updated attribute to the sheet
setAttrs({
'accuracy-current': newlevel
});
});
});
//Movement Functions
on('clicked:movement-reset', function() {
getAttrs(['movement-max'], function(values) {
// set the current attribute to maximumum
setAttrs({
'movement-current': +values['movement-max'] || 0
});
});
});
on('clicked:movement-plus3', function() {
getAttrs(['movement-current'], function(values) {
// get the level stat, and coerce into a numerical value.
const level = +values['movement-current'] || 0;
// increase by 1
const newlevel = level +3;
// save the updated attribute to the sheet
setAttrs({
'movement-current': newlevel
});
});
});
on('clicked:movement-plus1', function() {
getAttrs(['movement-current'], function(values) {
// get the level stat, and coerce into a numerical value.
const level = +values['movement-current'] || 0;
// increase by 1
const newlevel = level +1;
// save the updated attribute to the sheet
setAttrs({
'movement-current': newlevel
});
});
});
on('clicked:movement-minus3', function() {
getAttrs(['movement-current'], function(values) {
// get the level stat, and coerce into a numerical value.
const level = +values['movement-current'] || 0;
// increase by 1
const newlevel = level -3;
// save the updated attribute to the sheet
setAttrs({
'movement-current': newlevel
});
});
});
on('clicked:movement-minus1', function() {
getAttrs(['movement-current'], function(values) {
// get the level stat, and coerce into a numerical value.
const level = +values['movement-current'] || 0;
// increase by 1
const newlevel = level -1;
// save the updated attribute to the sheet
setAttrs({
'movement-current': newlevel
});
});
});
//Physicality Functions
on('clicked:physicality-reset', function() {
getAttrs(['physicality-max'], function(values) {
// set the current attribute to maximumum
setAttrs({
'physicality-current': +values['physicality-max'] || 0
});
});
});
on('clicked:physicality-plus3', function() {
getAttrs(['physicality-current'], function(values) {
// get the level stat, and coerce into a numerical value.
const level = +values['physicality-current'] || 0;
// increase by 1
const newlevel = level +3;
// save the updated attribute to the sheet
setAttrs({
'physicality-current': newlevel
});
});
});
on('clicked:physicality-plus1', function() {
getAttrs(['physicality-current'], function(values) {
// get the level stat, and coerce into a numerical value.
const level = +values['physicality-current'] || 0;
// increase by 1
const newlevel = level +1;
// save the updated attribute to the sheet
setAttrs({
'physicality-current': newlevel
});
});
});
on('clicked:physicality-minus3', function() {
getAttrs(['physicality-current'], function(values) {
// get the level stat, and coerce into a numerical value.
const level = +values['physicality-current'] || 0;
// increase by 1
const newlevel = level -3;
// save the updated attribute to the sheet
setAttrs({
'physicality-current': newlevel
});
});
});
on('clicked:physicality-minus1', function() {
getAttrs(['physicality-current'], function(values) {
// get the level stat, and coerce into a numerical value.
const level = +values['physicality-current'] || 0;
// increase by 1
const newlevel = level -1;
// save the updated attribute to the sheet
setAttrs({
'physicality-current': newlevel
});
});
});
//Perception Functions
on('clicked:perception-reset', function() {
getAttrs(['perception-max'], function(values) {
// set the current attribute to maximumum
setAttrs({
'perception-current': +values['perception-max'] || 0
});
});
});
on('clicked:perception-plus3', function() {
getAttrs(['perception-current'], function(values) {
// get the level stat, and coerce into a numerical value.
const level = +values['perception-current'] || 0;
// increase by 1
const newlevel = level +3;
// save the updated attribute to the sheet
setAttrs({
'perception-current': newlevel
});
});
});
on('clicked:perception-plus1', function() {
getAttrs(['perception-current'], function(values) {
// get the level stat, and coerce into a numerical value.
const level = +values['perception-current'] || 0;
// increase by 1
const newlevel = level +1;
// save the updated attribute to the sheet
setAttrs({
'perception-current': newlevel
});
});
});
on('clicked:perception-minus3', function() {
getAttrs(['perception-current'], function(values) {
// get the level stat, and coerce into a numerical value.
const level = +values['perception-current'] || 0;
// increase by 1
const newlevel = level -3;
// save the updated attribute to the sheet
setAttrs({
'perception-current': newlevel
});
});
});
on('clicked:perception-minus1', function() {
getAttrs(['perception-current'], function(values) {
// get the level stat, and coerce into a numerical value.
const level = +values['perception-current'] || 0;
// increase by 1
const newlevel = level -1;
// save the updated attribute to the sheet
setAttrs({
'perception-current': newlevel
});
});
});
///////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////// Qualia Functions /////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////
//Sorcery Functions
on('clicked:sorcery-reset', function() {
getAttrs(['sorcery-max'], function(values) {
// set the current attribute to maximumum
setAttrs({
'sorcery-current': +values['sorcery-max'] || 0
});
});
});
on('clicked:sorcery-plus3', function() {
getAttrs(['sorcery-current'], function(values) {
// get the level stat, and coerce into a numerical value.
const level = +values['sorcery-current'] || 0;
// increase by 1
const newlevel = level +3;
// save the updated attribute to the sheet
setAttrs({
'sorcery-current': newlevel
});
});
});
on('clicked:sorcery-plus1', function() {
getAttrs(['sorcery-current'], function(values) {
// get the level stat, and coerce into a numerical value.
const level = +values['sorcery-current'] || 0;
// increase by 1
const newlevel = level +1;
// save the updated attribute to the sheet
setAttrs({
'sorcery-current': newlevel
});
});
});
on('clicked:sorcery-minus3', function() {
getAttrs(['sorcery-current'], function(values) {
// get the level stat, and coerce into a numerical value.
const level = +values['sorcery-current'] || 0;
// increase by 1
const newlevel = level -3;
// save the updated attribute to the sheet
setAttrs({
'sorcery-current': newlevel
});
});
});
on('clicked:sorcery-minus1', function() {
getAttrs(['sorcery-current'], function(values) {
// get the level stat, and coerce into a numerical value.
const level = +values['sorcery-current'] || 0;
// increase by 1
const newlevel = level -1;
// save the updated attribute to the sheet
setAttrs({
'sorcery-current': newlevel
});
});
});
//Interaction Functions
on('clicked:interaction-reset', function() {
getAttrs(['interaction-max'], function(values) {
// set the current attribute to maximumum
setAttrs({
'interaction-current': +values['interaction-max'] || 0
});
});
});
on('clicked:interaction-plus3', function() {
getAttrs(['interaction-current'], function(values) {
// get the level stat, and coerce into a numerical value.
const level = +values['interaction-current'] || 0;
// increase by 1
const newlevel = level +3;
// save the updated attribute to the sheet
setAttrs({
'interaction-current': newlevel
});
});
});
on('clicked:interaction-plus1', function() {
getAttrs(['interaction-current'], function(values) {
// get the level stat, and coerce into a numerical value.
const level = +values['interaction-current'] || 0;
// increase by 1
const newlevel = level +1;
// save the updated attribute to the sheet
setAttrs({
'interaction-current': newlevel
});
});
});
on('clicked:interaction-minus3', function() {
getAttrs(['interaction-current'], function(values) {
// get the level stat, and coerce into a numerical value.
const level = +values['interaction-current'] || 0;
// increase by 1
const newlevel = level -3;
// save the updated attribute to the sheet
setAttrs({
'interaction-current': newlevel
});
});
});
on('clicked:interaction-minus1', function() {
getAttrs(['interaction-current'], function(values) {
// get the level stat, and coerce into a numerical value.
const level = +values['interaction-current'] || 0;
// increase by 1
const newlevel = level -1;
// save the updated attribute to the sheet
setAttrs({
'interaction-current': newlevel
});
});
});
//Intellect Functions
on('clicked:intellect-reset', function() {
getAttrs(['intellect-max'], function(values) {
// set the current attribute to maximumum
setAttrs({
'intellect-current': +values['intellect-max'] || 0
});
});
});
on('clicked:intellect-plus3', function() {
getAttrs(['intellect-current'], function(values) {
// get the level stat, and coerce into a numerical value.
const level = +values['intellect-current'] || 0;
// increase by 1
const newlevel = level +3;
// save the updated attribute to the sheet
setAttrs({
'intellect-current': newlevel
});
});
});
on('clicked:intellect-plus1', function() {
getAttrs(['intellect-current'], function(values) {
// get the level stat, and coerce into a numerical value.
const level = +values['intellect-current'] || 0;
// increase by 1
const newlevel = level +1;
// save the updated attribute to the sheet
setAttrs({
'intellect-current': newlevel
});
});
});
on('clicked:intellect-minus3', function() {
getAttrs(['intellect-current'], function(values) {
// get the level stat, and coerce into a numerical value.
const level = +values['intellect-current'] || 0;
// increase by 1
const newlevel = level -3;
// save the updated attribute to the sheet
setAttrs({
'intellect-current': newlevel
});
});
});
on('clicked:intellect-minus1', function() {
getAttrs(['intellect-current'], function(values) {
// get the level stat, and coerce into a numerical value.
const level = +values['intellect-current'] || 0;
// increase by 1
const newlevel = level -1;
// save the updated attribute to the sheet
setAttrs({
'intellect-current': newlevel
});
});
});
//Sortiledge Functions
on('clicked:sortiledge-reset', function() {
getAttrs(['sortiledge-max'], function(values) {
// set the current attribute to maximumum
setAttrs({
'sortiledge-current': +values['sortiledge-max'] || 0
});
});
});
on('clicked:sortiledge-plus3', function() {
getAttrs(['sortiledge-current'], function(values) {
// get the level stat, and coerce into a numerical value.
const level = +values['sortiledge-current'] || 0;
// increase by 1
const newlevel = level +3;
// save the updated attribute to the sheet
setAttrs({
'sortiledge-current': newlevel
});
});
});
on('clicked:sortiledge-plus1', function() {
getAttrs(['sortiledge-current'], function(values) {
// get the level stat, and coerce into a numerical value.
const level = +values['sortiledge-current'] || 0;
// increase by 1
const newlevel = level +1;
// save the updated attribute to the sheet
setAttrs({
'sortiledge-current': newlevel
});
});
});
on('clicked:sortiledge-minus3', function() {
getAttrs(['sortiledge-current'], function(values) {
// get the level stat, and coerce into a numerical value.
const level = +values['sortiledge-current'] || 0;
// increase by 1
const newlevel = level -3;
// save the updated attribute to the sheet
setAttrs({
'sortiledge-current': newlevel
});
});
});
on('clicked:sortiledge-minus1', function() {
getAttrs(['sortiledge-current'], function(values) {
// get the level stat, and coerce into a numerical value.
const level = +values['sortiledge-current'] || 0;
// increase by 1
const newlevel = level -1;
// save the updated attribute to the sheet
setAttrs({
'sortiledge-current': newlevel
});
});
});
</script>