289 lines
9.0 KiB
HTML
289 lines
9.0 KiB
HTML
|
|
<!-- main sheet code-->
|
|
<div class="tab-buttons middle center">
|
|
<!-- <input type="hidden" class="npctoggle" name="attr_npc" value="0"> -->
|
|
<button type="action" name="act_character" >Character</button>
|
|
<!-- <button class="npc" type="action" name="act_npc" >NPC</button> -->
|
|
<button type="action" name="act_notes" >Notes</button>
|
|
<button type="action" name="act_settings" >Settings</button>
|
|
</div>
|
|
|
|
<span class="version">Sheet Version: <span name="attr_version"></span> </span>
|
|
|
|
<input type="hidden" class="tabstoggle" name="attr_sheetTab" value="character">
|
|
|
|
<main class="character">
|
|
|
|
<section class="common">
|
|
<div class="columnflex nowrap">
|
|
<label>Name</label>
|
|
<input name="attr_character_name" title="@{character_name}" type="text">
|
|
</div>
|
|
<div class="columnflex nowrap">
|
|
<label>Species</label>
|
|
<input name="attr_species" title="@{species}" type="text">
|
|
</div>
|
|
<div class="columnflex nowrap">
|
|
<label>Archetype</label>
|
|
<input name="attr_archetype" title="@{archetype}" type="text">
|
|
</div>
|
|
<div class="columnflex nowrap">
|
|
<label>Renown</label>
|
|
<input name="attr_renown" title="@{renown}" type="text">
|
|
</div>
|
|
</section>
|
|
|
|
<section class="points rowflex nowrap spaced">
|
|
<div class="rowflex nowrap">
|
|
<span>Body Points</span><input name="attr_body_points" type="number" value="" class="txtfield">/<input name="attr_body_points_max" type="number" value="" class="txtfield">
|
|
</div>
|
|
<div class="rowflex nowrap">
|
|
<span>Mind Points</span><input name="attr_mind_points" type="number" value="" class="txtfield">/<input name="attr_mind_points_max" type="number" value="" class="txtfield">
|
|
</div>
|
|
<div class="rowflex nowrap">
|
|
<span>Hero Points</span><input name="attr_hero_points" title="@{hero_points}" type="number" value="" class="txtfield">/<input name="attr_hero_points_max" title="@{hero_points_max}" type="number" value="" class="txtfield">
|
|
</div>
|
|
<div class="rowflex nowrap">
|
|
<span>Wealth Rating</span><input name="attr_wealth" title="@{wealth}" type="text" value="" class="txtfield">
|
|
</div>
|
|
</section>
|
|
|
|
<section class="attrs columnflex nowrap">
|
|
<h2>Attributes</h2>
|
|
<div class="rowflex nowrap">
|
|
<div>
|
|
<span>con</span>
|
|
<input name="attr_con" type="number" value="">
|
|
<button name="roll_con" value="" type="roll">con</button>
|
|
</div>
|
|
|
|
<div>
|
|
<span>dex</span>
|
|
<input name="attr_dex" type="number" value="">
|
|
<button name="roll_dex" value="" type="roll">dex</button>
|
|
</div>
|
|
|
|
<div>
|
|
<span>spd</span>
|
|
<input name="attr_spd" type="number" value="">
|
|
<button name="roll_spd" value="" type="roll">spd</button>
|
|
</div>
|
|
|
|
<div>
|
|
<span>str</span>
|
|
<input name="attr_str" type="number" value="">
|
|
<button name="roll_str" value="" type="roll">str</button>
|
|
</div>
|
|
|
|
<div>
|
|
<span>cr</span>
|
|
<input name="attr_cr" type="number" value="">
|
|
<button name="roll_cr" value="" type="roll">cr</button>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="rowflex nowrap">
|
|
<div>
|
|
<span>cha</span>
|
|
<input name="attr_cha" type="number" value="">
|
|
<button name="roll_cha" value="" type="roll">sha</button>
|
|
</div>
|
|
|
|
<div>
|
|
<span>int</span>
|
|
<input name="attr_int" type="number" value="">
|
|
<button name="roll_int" value="" type="roll">int</button>
|
|
</div>
|
|
|
|
<div>
|
|
<span>per</span>
|
|
<input name="attr_per" type="number" value="">
|
|
<button name="roll_per" value="" type="roll">per</button>
|
|
</div>
|
|
|
|
<div>
|
|
<span>wil</span>
|
|
<input name="attr_wil" type="number" value="">
|
|
<button name="roll_wil" value="" type="roll">wil</button>
|
|
</div>
|
|
|
|
<div>
|
|
<span>mr</span>
|
|
<input name="attr_mr" type="number" value="">
|
|
<button name="roll_mr" value="" type="roll">mr</button>
|
|
</div>
|
|
<div>
|
|
|
|
</section>
|
|
<!--
|
|
<section class="disadv">
|
|
|
|
</section>
|
|
-->
|
|
<section class="skills columnflex nowrap">
|
|
<h2>Skills</h2>
|
|
<fieldset class="repeating_skills">
|
|
<input name="attr_name" title="@{name}" type="text">
|
|
<input name="attr_rank" title="@{rank}" type="number">
|
|
<input name="attr_attribute" title="@{attribute}" type="number">
|
|
<button name="roll_roll" value="&{template:rolls} {{title=@{name} }} {{subtitle=@{character_name} }} {{result= [[@{dice}+@{rank}+@{attribute}[attribute]@{modquery}]]}}" type="roll" ></button>
|
|
</fieldset>
|
|
</section>
|
|
|
|
|
|
<section class="notes columnflex nowrap">
|
|
<h2>Disadvantages</h2>
|
|
<div>
|
|
<span>personal <input name="attr_personal" title="@{personal}" type="text"><input name="attr_personaldice" title="@{personaldice}" type="number" value=""></span>
|
|
</div>
|
|
<div>
|
|
<span>internal <input name="attr_internal" title="@{internal}" type="text"><input name="attr_internaldice" title="@{internaldice}" type="number" value=""></span>
|
|
</div>
|
|
<div>
|
|
<span>external <input name="attr_external" title="@{external}" type="text"><input name="attr_externaldice" title="@{externaldice}" type="number" value=""></span>
|
|
</div>
|
|
<h2>Notes</h2>
|
|
<textarea name="attr_notes"></textarea>
|
|
</section>
|
|
|
|
</main>
|
|
<!--
|
|
<main class="npc gap">
|
|
<h1>NPC</h1>
|
|
</main>
|
|
-->
|
|
|
|
<main class="notes">
|
|
<h1>Notes</h1>
|
|
|
|
<section>
|
|
<h3>powers</h3>
|
|
<textarea name="attr_powers"></textarea>
|
|
</section>
|
|
|
|
<section>
|
|
<h3>weapons</h3>
|
|
<textarea name="attr_weapons"></textarea>
|
|
</section>
|
|
|
|
<section>
|
|
<h3>equipment</h3>
|
|
<textarea name="attr_equipment"></textarea>
|
|
</section>
|
|
|
|
</main>
|
|
|
|
<main class="settings">
|
|
<h1>Settings</h1>
|
|
|
|
<div class="section columnflex nowrap">
|
|
<span title="@{show_name}">Ask for Roll Modifiers?</span>
|
|
<select name="attr_modquery" title="@{modquery}" title="@{modquery}">
|
|
<option value="+?{Roll Modifier|0}">Yes</option>
|
|
<option value=" ">No</option>
|
|
</select>
|
|
</div>
|
|
|
|
<div class="section rowflex nowrap gap">
|
|
<span title="@{whisper}">Whisper rolls to GM?</span>
|
|
<input name="attr_whisper" title="@{whisper}" type="checkbox" value="/w gm">
|
|
</div>
|
|
|
|
<div class="section rowflex nowrap gap">
|
|
<span>Dice type</span>
|
|
<input name="attr_dice" title="@{dice}" type="text" value="1d20">
|
|
</div>
|
|
</main>
|
|
|
|
|
|
<!--hidden inputs & datalists-->
|
|
<!--sheet version-->
|
|
<input type="hidden" name="attr_version" value="1.0.0"/>
|
|
<input type="hidden" name="attr_" value="0"/>
|
|
<datalist id="list">
|
|
<option value="human"></option>
|
|
<option value="elf"></option>
|
|
<option value="dwarf"></option>
|
|
<option value="halfling"></option>
|
|
</datalist>
|
|
<!--roll templates-->
|
|
<rolltemplate class="sheet-rolltemplate-rolls">
|
|
<div class="sheet-container sheet-color-{{color}}">
|
|
<div class="sheet-header">
|
|
{{#title}}<div class="sheet-title">{{title}}</div>{{/title}}
|
|
{{#name}}<div class="sheet-name">{{name}}</div>{{/name}}
|
|
{{#subtitle}}<div class="sheet-subtitle">{{subtitle}}</div>{{/subtitle}}
|
|
</div>
|
|
<div class="sheet-content">
|
|
{{#allprops() title name subtitle desc color baseroll}}
|
|
<div class="sheet-key">{{key}}</div>
|
|
<div class="sheet-value">{{value}}</div>
|
|
{{/allprops() title subtitle desc color baseroll}}
|
|
{{#rollTotal() baseroll 2}}
|
|
<div class="sheet-fail">^{critical-fumble}</div>
|
|
{{/rollTotal() baseroll 2}}
|
|
{{#rollTotal() baseroll 12}}
|
|
<div class="sheet-crit">Critical Success!</div>
|
|
{{/rollTotal() baseroll 12}}
|
|
{{#desc}}<div class="sheet-desc">{{desc}}</div>{{/desc}}
|
|
</div>
|
|
</div>
|
|
</rolltemplate>
|
|
|
|
<!--sheetworkers-->
|
|
<script type="sheet/worker">
|
|
|
|
const int = score => parseInt(score, 10) || 0;
|
|
|
|
const list = ["str", "dex"];
|
|
|
|
// tabs
|
|
|
|
const buttonlist = ["notes","settings","character"];
|
|
buttonlist.forEach(button => {
|
|
on(`clicked:${button}`, function() {
|
|
|
|
setAttrs({
|
|
sheetTab: button
|
|
});
|
|
});
|
|
});
|
|
|
|
/*
|
|
on("sheet:opened", function() {
|
|
|
|
getAttrs(["npc", "sheetTab"], values => {
|
|
|
|
let npc = int(values["npc"]);
|
|
let sheetTab = values["sheetTab"];
|
|
console.log("sheetTab: ", sheetTab);
|
|
//let page = "character";
|
|
|
|
if (sheetTab === "character"){
|
|
npc = 0;
|
|
console.log("sheetTab was char, set NPC=0: ", npc);
|
|
}
|
|
else if (sheetTab === "npc"){
|
|
npc = 1;
|
|
console.log("sheetTab was npc, set NPC=1: ", npc);
|
|
}
|
|
else if (sheetTab === "notes"){
|
|
console.log("sheetTab was note");
|
|
}
|
|
else if (sheetTab === "settings"){
|
|
console.log("sheetTab was settings");
|
|
}
|
|
setAttrs({
|
|
npc: npc
|
|
});
|
|
});
|
|
});
|
|
|
|
on("sheet:opened", function(eventInfo){
|
|
setAttrs({
|
|
fumble_i18n: getTranslationByKey("critical-fumble"),
|
|
success_i18n: getTranslationByKey("critical-success")
|
|
});
|
|
});
|
|
*/
|
|
</script> |