Files
2024-06-03 13:15:14 -04:00

958 lines
55 KiB
HTML

<input type="hidden" name="attr_color" class="color-picked" value="111"/>
<input type="hidden" name="attr_powercard" class="powercard-input"/>
<div class="main-container">
<input class="page-button main-pages prefs checkradio checkradio-right-third" type="radio" name="attr_entity" value="prefs"><span>PREFS</span>
<input class="page-button main-pages edit checkradio checkradio-right-second" type="radio" name="attr_entity" value="edit" checked="checked"><span>EDIT</span>
<input class="page-button main-pages ref checkradio checkradio-right-first" type="radio" name="attr_entity" value="ref" title="Stat summary. Fill out info in EDIT block first"><span>REF</span>
<div class="page-content prefs">
<h3>Colors</h3>
<div class="color-picker-container">
<div class="hex-container-1">
<input type="radio" class="color-picker hex hex-000" name="attr_color_picker" value="222"/><span>222</span>
<input type="radio" class="color-picker hex hex-100" name="attr_color_picker" value="122"/><span>122</span>
<input type="radio" class="color-picker hex hex-110" name="attr_color_picker" value="121"/><span>121</span>
<input type="radio" class="color-picker hex hex-120" name="attr_color_picker" value="221"/><span>221</span>
<input type="radio" class="color-picker hex hex-130" name="attr_color_picker" value="211"/><span>211</span>
<input type="radio" class="color-picker hex hex-140" name="attr_color_picker" value="212"/><span>212</span>
<input type="radio" class="color-picker hex hex-150" name="attr_color_picker" value="112"/><span>112</span>
<input type="radio" class="color-picker hex hex-200" name="attr_color_picker" value="022"/><span>022</span>
<input type="radio" class="color-picker hex hex-201" name="attr_color_picker" value="021"/><span>021</span>
<input type="radio" class="color-picker hex hex-210" name="attr_color_picker" value="020"/><span>020</span>
<input type="radio" class="color-picker hex hex-211" name="attr_color_picker" value="120"/><span>120</span>
<input type="radio" class="color-picker hex hex-220" name="attr_color_picker" value="220"/><span>220</span>
<input type="radio" class="color-picker hex hex-221" name="attr_color_picker" value="210"/><span>210</span>
<input type="radio" class="color-picker hex hex-230" name="attr_color_picker" value="200"/><span>200</span>
<input type="radio" class="color-picker hex hex-231" name="attr_color_picker" value="201"/><span>201</span>
<input type="radio" class="color-picker hex hex-240" name="attr_color_picker" value="202"/><span>202</span>
<input type="radio" class="color-picker hex hex-241" name="attr_color_picker" value="102"/><span>102</span>
<input type="radio" class="color-picker hex hex-250" name="attr_color_picker" value="002"/><span>002</span>
<input type="radio" class="color-picker hex hex-251" name="attr_color_picker" value="012"/><span>012</span>
</div>
<div class="hex-container-2">
<input type="radio" class="color-picker hex hex-000" name="attr_color_picker" value="111"/><span>111</span>
<input type="radio" class="color-picker hex hex-100" name="attr_color_picker" value="011"/><span>011</span>
<input type="radio" class="color-picker hex hex-110" name="attr_color_picker" value="010"/><span>010</span>
<input type="radio" class="color-picker hex hex-120" name="attr_color_picker" value="110"/><span>110</span>
<input type="radio" class="color-picker hex hex-130" name="attr_color_picker" value="100"/><span>100</span>
<input type="radio" class="color-picker hex hex-140" name="attr_color_picker" value="101"/><span>101</span>
<input type="radio" class="color-picker hex hex-150" name="attr_color_picker" value="001"/><span>001</span>
</div>
<div class="hex-container-3">
<input type="radio" class="color-picker hex hex-000" name="attr_color_picker" value="000" checked="checked"/><span>000</span>
</div>
</div>
<hr>
<h3>APIs Enabled</h3>
<div class="checkradio-container">
<input type="checkbox" class="checkradio checkradio-left-first" name="attr_powercard_picker"/><span>PowerCard</span>
</div>
<div class="pow-info">
<h4>PowerCard Info</h4>
<p>In order to use the PowerCard functionality, you must enable API scripting and add PowerCard to your campaign.</p>
<p>
In order for the roll buttons to function correctly, you need to create a handout titled 'PowerCard Templates', with the following description:
<textarea readonly class="pre-block">generalPower: --name|~2! --rightsub|~0! --Roll| ~R [^Roll.base] ~R --Mod| ~R ~4! ~R --Situation| ~R ~1! ~R --Stat| ~R ~3! ~R --Margin| ~R [[ [$Roll] 2d6 + ~4! + ~1! - ~3! ]] ~R --?? $Roll.base == 2 AND $Roll <= 0 ??!Result| ~C **Crit** ~C --?? $Roll.base == 2 AND $Roll > 0 ??!Result| ~C **Marginal Success** ~C --?? $Roll.base == 12 AND $Roll > 0 ??!Result| ~C **Fumble** ~C --?? $Roll.base == 12 AND $Roll <= 0 ??!Result| ~C **Marginal Failure** ~C --?? $Roll.base == 2 AND $Roll > 0 ??!Result| ~C **Marginal Success** ~C --?? $Roll.base <> 2 AND $Roll.base <> 12 AND $Roll >= 8 ??!Result| ~C **Overwhelming Failure** ~C --?? $Roll.base <> 2 AND $Roll.base <> 12 AND $Roll >= 6 AND $Roll <= 7 ??!Result| ~C **Extreme Failure** ~C --?? $Roll.base <> 2 AND $Roll.base <> 12 AND $Roll >= 4 AND $Roll <= 5 ??!Result| ~C **Major Failure** ~C --?? $Roll.base <> 2 AND $Roll.base <> 12 AND $Roll >= 2 AND $Roll <= 3 ??!Result| ~C **Minor Failure** ~C --?? $Roll.base <> 2 AND $Roll.base <> 12 AND $Roll == 1 ??!Result| ~C **Marginal Failure** ~C --?? $Roll.base <> 2 AND $Roll.base <> 12 AND $Roll >= -1 AND $Roll <= 0 ??!Result| ~C **Marginal Success** ~C --?? $Roll.base <> 2 AND $Roll.base <> 12 AND $Roll >= -3 AND $Roll <= -2 ??!Result| ~C **Minor Success** ~C --?? $Roll.base <> 2 AND $Roll.base <> 12 AND $Roll >= -5 AND $Roll <= -4 ??!Result| ~C **Major Success** ~C --?? $Roll.base <> 2 AND $Roll.base <> 12 AND $Roll >= -7 AND $Roll <= -6 ??!Result| ~C **Extreme Success** ~C --?? $Roll.base <> 2 AND $Roll.base <> 12 AND $Roll <= -8 ??!Result| ~C **Overwhelming Success** ~C
damagePower: --Damage| ~R ~0! ~R --hroll|[[ [$CritRoll] 1d6 ]] --?? $Roll.base == 2 ??Crit Roll| ~R [^CritRoll] ~R --?? $Roll.base == 2 AND $CritRoll > 0 AND $CritRoll < 4??Crit Multiplier| ~R x2 ~R --?? $Roll.base == 2 AND $CritRoll > 3 AND $CritRoll < 6??Crit Multiplier| ~R x3 ~R --?? $Roll.base == 2 AND $CritRoll == 6??Crit Multiplier| ~R x4 ~R </textarea>
</p>
<p>
In order for the colors to function correctly, you need to create a handout titled 'PowerCard Formats', with the following description:
<textarea readonly class="pre-block">000: --erowtx|#000000 --orowtx|#000000 --orowbg|#FFFFFF --erowbg|#E9E9E9 --bgcolor|#000000
001: --erowtx|#000000 --orowtx|#000000 --orowbg|#FFFFFF --erowbg|#E9E9F4 --bgcolor|#000080
002: --erowtx|#000000 --orowtx|#000000 --orowbg|#FFFFFF --erowbg|#E9E9FF --bgcolor|#0000FF
010: --erowtx|#000000 --orowtx|#000000 --orowbg|#FFFFFF --erowbg|#E9F4E9 --bgcolor|#008000
011: --erowtx|#000000 --orowtx|#000000 --orowbg|#FFFFFF --erowbg|#E9F4F4 --bgcolor|#008080
012: --erowtx|#000000 --orowtx|#000000 --orowbg|#FFFFFF --erowbg|#E9F4FF --bgcolor|#0080FF
020: --erowtx|#000000 --orowtx|#000000 --orowbg|#FFFFFF --erowbg|#E9FFE9 --bgcolor|#00FF00
021: --erowtx|#000000 --orowtx|#000000 --orowbg|#FFFFFF --erowbg|#E9FFF4 --bgcolor|#00FF80
022: --erowtx|#000000 --orowtx|#000000 --orowbg|#FFFFFF --erowbg|#E9FFFF --bgcolor|#00FFFF
100: --erowtx|#000000 --orowtx|#000000 --orowbg|#FFFFFF --erowbg|#F4E9E9 --bgcolor|#800000
101: --erowtx|#000000 --orowtx|#000000 --orowbg|#FFFFFF --erowbg|#F4E9F4 --bgcolor|#800080
102: --erowtx|#000000 --orowtx|#000000 --orowbg|#FFFFFF --erowbg|#F4E9FF --bgcolor|#8000FF
110: --erowtx|#000000 --orowtx|#000000 --orowbg|#FFFFFF --erowbg|#F4F4E9 --bgcolor|#808000
111: --erowtx|#000000 --orowtx|#000000 --orowbg|#FFFFFF --erowbg|#F4F4F4 --bgcolor|#808080
112: --erowtx|#000000 --orowtx|#000000 --orowbg|#FFFFFF --erowbg|#F4F4FF --bgcolor|#8080FF
120: --erowtx|#000000 --orowtx|#000000 --orowbg|#FFFFFF --erowbg|#F4FFE9 --bgcolor|#80FF00
121: --erowtx|#000000 --orowtx|#000000 --orowbg|#FFFFFF --erowbg|#F4FFF4 --bgcolor|#80FF80
122: --erowtx|#000000 --orowtx|#000000 --orowbg|#FFFFFF --erowbg|#F4FFFF --bgcolor|#80FFFF
200: --erowtx|#000000 --orowtx|#000000 --orowbg|#FFFFFF --erowbg|#FFE9E9 --bgcolor|#FF0000
201: --erowtx|#000000 --orowtx|#000000 --orowbg|#FFFFFF --erowbg|#FFE9F4 --bgcolor|#FF0080
202: --erowtx|#000000 --orowtx|#000000 --orowbg|#FFFFFF --erowbg|#FFE9FF --bgcolor|#FF00FF
210: --erowtx|#000000 --orowtx|#000000 --orowbg|#FFFFFF --erowbg|#FFF4E9 --bgcolor|#FF8000
211: --erowtx|#000000 --orowtx|#000000 --orowbg|#FFFFFF --erowbg|#FFF4F4 --bgcolor|#FF8080
212: --erowtx|#000000 --orowtx|#000000 --orowbg|#FFFFFF --erowbg|#FFF4FF --bgcolor|#FF80FF
220: --erowtx|#000000 --orowtx|#000000 --orowbg|#FFFFFF --erowbg|#FFFFE9 --bgcolor|#FFFF00
221: --erowtx|#000000 --orowtx|#000000 --orowbg|#FFFFFF --erowbg|#FFFFF4 --bgcolor|#FFFF80
222: --erowtx|#000000 --orowtx|#000000 --orowbg|#FFFFFF --erowbg|#FFFFFF --bgcolor|#FFFFFF</textarea>
</p>
</div>
</div>
<div class="page-content edit">
<div class="head-container">
<span class="block">
<label>Character Name: <input type="text" class="input-line" name="attr_character_name"/></label>
</span>
<span class="block">
<label>Remaining Character Points: <input type="number" class="input-number" name="attr_cp_remain" value="000" readonly/></label>
<label>Initial CP: <input type="number" class="input-line input-number" name="attr_cp_start" value="0"/></label>
<label>Advancement CP: <input type="number" class="input-line input-number" name="attr_cp_advance" pattern="\d*" value="0"/></label>
</span>
</div>
<hr style="margin-left:-15px;margin-right:-15px">
<div class="body-container">
<!-- page links -->
<input class="page-button edit-pages bio checkradio checkradio-left-first" type="radio" name="attr_page" value="bio" checked="checked"><span>BIO</span>
<input class="page-button edit-pages stats checkradio checkradio-left-second" type="radio" name="attr_page" value="stats"><span>STATS</span>
<input class="page-button edit-pages attributes checkradio checkradio-left-third" type="radio" name="attr_page" value="attributes"><span>ATTRIBUTES</span>
<input class="page-button edit-pages skills checkradio checkradio-left-fourth" type="radio" name="attr_page" value="skills"><span>SKILLS</span>
<input class="page-button edit-pages attacks checkradio checkradio-left-fifth" type="radio" name="attr_page" value="attacks"><span>ATTACKS</span>
<input class="page-button edit-pages magic checkradio checkradio-left-sixth" type="radio" name="attr_page" value="magic"><span>MAGIC</span>
<!-- BIO -->
<div class="page-content bio">
<div>
<span class="block"><label>Race: <input type="text" class="input-line" name="attr_race" /></label></span>
<span class="block"><label>Occupation: <input type="text" class="input-line" name="attr_occupation" /></label></span>
<span class="block"><label>Age: <input type="text" class="input-line" name="attr_age" /></label></span>
<span class="block"><label>Sex: <input type="text" class="input-line" name="attr_sex" /></label></span>
<span class="block"><label>Height: <input type="text" class="input-line" name="attr_height" /></label></span>
<span class="block"><label>Weight: <input type="text" class="input-line" name="attr_weight" /></label></span>
</div>
<div>
<label>Description: <textarea name="attr_bio_desc"></textarea></label>
</div>
</div>
<!-- STATS -->
<div class="page-content stats">
<div>
<span class="block"><label>
<button type="roll" name="roll_roll_body_pow" class="pow-roll"
value="!power {{--format|@{color} --template|generalPower|@{character_name};?{Situational Modifier|0};Body;@{body};0}}"
></button>
<button type="roll" name="roll_roll_body" class="base-roll"
value="&{template:general}{{color=@{color}}}{{name=Body}}{{stat=[[@{body}]]}}{{roll=[[2d6+?{Situational Modifier|0}]]}}"
></button>
Body: <input type="number" class="input-line input-number" name="attr_body" min="0" max="12" value="0"/>
</label></span>
<span class="block"><label>
<button type="roll" name="roll_roll_mind_pow" class="pow-roll"
value="!power {{--format|@{color} --template|generalPower|@{character_name};?{Situational Modifier|0};Mind;@{mind};0}}"
></button>
<button type="roll" name="roll_roll_mind" class="base-roll"
value="&{template:general}{{color=@{color}}}{{name=Mind}}{{stat=[[@{mind}]]}}{{roll=[[2d6+?{Situational Modifier|0}]]}}"
></button>
Mind: <input type="number" class="input-line input-number" name="attr_mind" min="0" max="12" value="0"/>
</label></span>
<span class="block"><label>
<button type="roll" name="roll_roll_soul_pow" class="pow-roll"
value="!power {{--format|@{color} --template|generalPower|@{character_name};?{Situational Modifier|0};Soul;@{soul};0}}"
></button>
<button type="roll" name="roll_roll_soul" class="base-roll"
value="&{template:general}{{color=@{color}}}{{name=Soul}}{{stat=[[@{soul}]]}}{{roll=[[2d6+?{Situational Modifier|0}]]}}"
></button>
Soul: <input type="number" class="input-line input-number" name="attr_soul" min="0" max="12" value="0"/>
</label></span>
<span class="block"><label>
<button type="roll" name="roll_roll_body_mind_pow" class="pow-roll"
value="!power {{--format|@{color} --template|generalPower|@{character_name};?{Situational Modifier|0};Body/Mind;@{body_mind};0}}"
></button>
<button type="roll" name="roll_roll_body_mind" class="base-roll"
value="&{template:general}{{color=@{color}}}{{name=Body/Mind}}{{stat=[[@{body_mind}]]}}{{roll=[[2d6+?{Situational Modifier|0}]]}}"
></button>
Body/Mind: <input type="number" class="input-number" name="attr_body_mind" value="0" readonly/>
</label></span>
<span class="block"><label>
<button type="roll" name="roll_roll_mind_soul_pow" class="pow-roll"
value="!power {{--format|@{color} --template|generalPower|@{character_name};?{Situational Modifier|0};Mind/Soul;@{mind_soul};0}}"
></button>
<button type="roll" name="roll_roll_mind_soul" class="base-roll"
value="&{template:general}{{color=@{color}}}{{name=Mind/Soul}}{{stat=[[@{mind_soul}]]}}{{roll=[[2d6+?{Situational Modifier|0}]]}}"
></button>
Mind/Soul: <input type="number" class="input-number" name="attr_mind_soul" value="0" readonly/>
</label></span>
<span class="block"><label>
<button type="roll" name="roll_roll_soul_body_pow" class="pow-roll"
value="!power {{--format|@{color} --template|generalPower|@{character_name};?{Situational Modifier|0};Soul/Body;@{soul_body};0}}"
></button>
<button type="roll" name="roll_roll_soul_body" class="base-roll"
value="&{template:general}{{color=@{color}}}{{name=Soul/Body}}{{stat=[[@{soul_body}]]}}{{roll=[[2d6+?{Situational Modifier|0}]]}}"
></button>
Soul/Body: <input type="number" class="input-number" name="attr_soul_body" value="0" readonly/>
</label></span>
<span class="block"><label>
<button type="roll" name="roll_roll_body_mind_soul_pow" class="pow-roll"
value="!power {{--format|@{color} --template|generalPower|@{character_name};?{Situational Modifier|0};Body/Mind/Soul;@{body_mind_soul};0}}"
></button>
<button type="roll" name="roll_roll_body_mind_soul" class="base-roll"
value="&{template:general}{{color=@{color}}}{{name=Body/Mind/Soul}}{{stat=[[@{body_mind_soul}]]}}{{roll=[[2d6+?{Situational Modifier|0}]]}}"
></button>
Body/Mind/Soul: <input type="number" class="input-number" name="attr_body_mind_soul" value="0" readonly/>
</label></span>
</div>
<hr>
<div class="checkradio-container" style="left:50px">
<label>Diminutive: </label>
<span class="checkradio-container" style="top:-10px">
<input type="radio" class="checkradio checkradio-left-first" name="attr_hp_diminutive_type" value="1" checked="checked"/><span>NOT</span>
<input type="radio" class="checkradio checkradio-left-second" name="attr_hp_diminutive_type" value="5"/><span>RODENT</span>
<input type="radio" class="checkradio checkradio-left-third" name="attr_hp_diminutive_type" value="20"/><span>BUG</span>
</span>
</div>
<span class="block">
<label>Current Health Points: <input type="number" class="input-number input-line" name="attr_hp_current"value="0" /></label>
<label>Max HP: <input type="number" class="input-number" name="attr_hp_total" value="0" readonly/></label>
<label>Max HP Modifier: <input type="number" class="input-number input-line" name="attr_hp_total_mod" value="0"/></label>
</span>
<span class="block">
<label>Shock Value: <input type="number" class="input-number" name="attr_shock" value="0" readonly/></label>
</span>
<span class="block">
<label>Current Energy Points: <input type="number" class="input-number input-line" name="attr_ep_current" value="0" /></label>
<label>Max EP: <input type="number" class="input-number" name="attr_ep_total" value="0" readonly/></label>
<label>Max EP Modifier: <input type="number" class="input-number input-line" name="attr_ep_total_mod" value="0"/></label>
</span>
</div>
<!-- ATTRIBUTES -->
<div class="page-content attributes">
<h3>Attributes</h3>
<fieldset class="repeating_attributes">
<div>
<label>Name: <input type="text" class="input-line" name="attr_re_attribute_name"/></label>
<label>Level: <input type="number" class="input-line input-number" name="attr_re_attribute_level" min="0" value="0"/></label>
<label>Total Cost: <input type="number" class="input-line input-number" name="attr_re_attribute_cost" min="0" value="0"/></label>
</div>
<div>
<label>Description: <textarea name="attr_re_attribute_desc"></textarea></label>
</div>
</fieldset>
<hr>
<h3>Defects</h3>
<fieldset class="repeating_defects">
<div>
<label>Name: <input type="text" class="input-line" name="attr_re_defect_name"/></label>
<label>Point Bonus: <input type="number" class="input-line input-number" name="attr_re_defect_bonus" min="0" value="0"/></label>
</div>
<div>
<label>Description: <textarea name="attr_re_defect_desc"></textarea></label>
</div>
</fieldset>
</div>
<!-- SKILLS -->
<div class="page-content skills">
<div>
<label>Remaining Skill Points: <input type="number" class="input-number" name="attr_sp_remain" value="0" readonly/></label>
<label>Initial SP: <input type="number" class="input-line input-number" name="attr_sp_start" min="0" value="0"/></label>
<label>Advancement SP: <input type="number" class="input-line input-number" name="attr_sp_advance" min="0" value="0"/></label>
</div>
<hr>
<fieldset class="repeating_skills">
<span class="block">
<button type="roll" name="roll_roll_skill_pow" class="pow-roll"
value="!power {{--format|@{color} --template|generalPower|@{character_name};?{Situational Modifier|0};@{re_skill_name};@{re_skill_stat};-@{re_skill_total_level}-[[?{Specialty Applies|Yes, 1|No, 0}]]}}"
></button>
<button type="roll" name="roll_roll_skill" class="base-roll"
value="&{template:general}{{color=@{color}}}{{name=@{re_skill_name}}}{{stat=[[@{re_skill_stat}]]}}{{roll=[[2d6-@{re_skill_total_level}-[[?{Specialty Applies|Yes, 1|No, 0}]]+?{Situational Modifier|0}]]}}"
></button>
<label>Name: <input type="text" class="input-line" name="attr_re_skill_name"/></label>
</span>
<span class="block"><label>
Stat: <select name="attr_re_skill_stat">
<option value="[[@{body}]]">Body</option>
<option value="[[@{mind}]]">Mind</option>
<option value="[[@{soul}]]">Soul</option>
<option value="[[@{body_mind}]]">Body & Mind</option>
<option value="[[@{mind_soul}]]">Mind & Soul</option>
<option value="[[@{soul_body}]]">Soul & Body</option>
<option value="[[@{body_mind_soul}]]">Body & Mind & Soul</option>
<option value="@{acv}">Attack</option>
<option value="@{dcv}">Defense</option>
</select>
</label></span>
<span class="block"><label>Cost / Level: <input type="number" class="input-line input-number" name="attr_re_skill_cost" min="1" value="1"/></label></span>
<span class="block"><label>Bought Level: <input type="number" class="input-line input-number" name="attr_re_skill_level" min="0" value="0"/></label></span>
<span class="block"><label>Bonus Levels: <input type="number" class="input-line input-number" name="attr_re_skill_bonus_level" min="0" value="0"/></label></span>
<span class="block"><label>Total Levels: <input type="number" class="input-number" name="attr_re_skill_total_level" readonly value="0"/></label></span>
<span class="block"><label title="one for free, comma separated">Specialties: <input type="text" class="input-line" name="attr_re_skill_specialties"/></label></span>
</fieldset>
</div>
<!-- ATTACKS -->
<div class="page-content attacks">
<span class="block">
<label>
<button type="roll" name="roll_roll_initiative_pow" class="pow-roll"
value="!power {{--format|@{color} --name|Initiative --rightsub|@{character_name} --Result|[[ [NH|TRKR] 1d6+@{initiative}]] --charid|@{character_id}}}"
></button>
<button type="roll" name="roll_roll_initiative" class="base-roll"
value="&{template:general}{{color=@{color}}}{{name=Initiative}}{{roll=[[1d6+@{initiative}&{tracker}]]}} "
></button>
Initiative: <input type="number" class="input-number" name="attr_initiative" value="0" readonly/>
</label>
<label>Initiative Modifier: <input type="number" class="input-line input-number" name="attr_initiative_mod" value="0"/></label>
</span>
<span class="block">
<label>Global Combat Value Modifier: <input type="number" class="input-line input-number" name="attr_cv_mod" value="0"/></label>
</span>
<span class="block">
<label>
<button type="roll" name="roll_roll_acv_pow" class="pow-roll"
value="!power {{--format|@{color} --template|generalPower|@{character_name};?{Situational Modifier|0};Attack;@{acv};0}}"
></button>
<button type="roll" name="roll_roll_acv" class="base-roll"
value="&{template:general}{{color=@{color}}}{{name=Attack}}{{stat=[[@{acv}]]}}{{roll=[[2d6+?{Situational Modifier|0}]]}}{{damage=@{base_dmg}}}"
></button>
Attack CV: <input type="number" class="input-number" name="attr_acv" value="0" readonly/>
</label>
<label>ACV Modifier: <input type="number" class="input-line input-number" name="attr_acv_mod" value="0"/></label>
</span>
<span class="block">
<label>
<button type="roll" name="roll_roll_dcv_pow" class="pow-roll"
value="!power {{--format|@{color} --template|generalPower|@{character_name};?{Situational Modifier|0};Defense;@{dcv};0}}"
></button>
<button type="roll" name="roll_roll_dcv" class="base-roll"
value="&{template:general}{{color=@{color}}}{{name=Defense}}{{stat=[[@{dcv}]]}}{{roll=[[2d6+?{Situational Modifier|0}]]}}"
></button>
Defense CV: <input type="number" class="input-number" name="attr_dcv" value="0" readonly/>
</label>
<label>DCV Modifier: <input type="number" class="input-line input-number" name="attr_dcv_mod" value="0"/></label>
</span>
<span class="block">
<label>Base Damage: <input type="number" class="input-number" name="attr_base_dmg" value="0" readonly/></label>
<label>Base Dmg Modifier: <input type="number" class="input-line input-number" name="attr_base_dmg_mod" value="0"/></label>
</span>
<hr>
<fieldset class="repeating_attacks">
<div>
<button type="roll" name="roll_roll_dcv_pow" class="pow-roll"
value="!power {{--format|@{color} --template|generalPower|@{character_name};?{Situational Modifier|0};@{re_attack_name};@{acv};@{re_attack_mod}}}"
></button>
<button type="roll" name="roll_roll_attack" class="base-roll"
value="&{template:general}{{color=@{color}}}{{name=@{re_attack_name}}}{{stat=@{acv}}}{{roll=[[2d6+@{re_attack_mod}+?{Situational Modifier|0}]]}}{{damage=[[@{base_dmg}+@{re_dmg_mod}]]}}"
></button>
<span class="block"><label>Name: <input type="text" class="input-line" name="attr_re_attack_name"/></label></span>
<span class="block"><label>Attack Modifier: <input type="number" class="input-line input-number" name="attr_re_attack_mod" value="0"/></label></span>
<span class="block"><label>Damage Modifier: <input type="number" class="input-line input-number" name="attr_re_dmg_mod" value="0"/></label></span>
</div>
<div>
<label>Description: <textarea name="attr_re_attack_desc"></textarea></label>
</div>
</fieldset>
</div>
<!-- MAGIC -->
<div class="page-content magic">
<div>
<label>Remaining Power Points: <input type="number" class="input-number" name="attr_pp_remain" value="0" readonly/></label>
<label>Initial PP: <input type="number" class="input-line input-number" name="attr_pp_start" min="0"/></label>
</div>
<hr>
<fieldset class="repeating_magics">
<div>
<span class="block"><label>Name: <input type="text" class="input-line" name="attr_re_magic_name"/></label></span>
<span class="block"><label>Attribute: <input type="text" class="input-line" name="attr_re_magic_attribute"/></label></span>
<span class="block"><label>Level: <input type="number" class="input-line input-number" name="attr_re_magic_level" min="0"/></label></span>
<span class="block"><label>Total PP Cost: <input type="number" class="input-line input-number" name="attr_re_magic_pp_cost" min="0"/></label></span>
<span class="block"><label>EP Invoke Cost: <input type="number" class="input-number" name="attr_re_magic_ep_cost_invoke" value="0" readonly/></label></span>
<span class="block"><label title="per minute, only if applicable">EP Maintain Cost: <input type="number" class="input-number" name="attr_re_magic_ep_cost_maintain" value="0" readonly/></label></span>
</div>
<div class="checkradio-container">
<input type="checkbox" class="checkradio checkradio-left-first" name="attr_re_magic_opt_focus"/><span>FOCUS</span>
<input type="checkbox" class="checkradio checkradio-left-second" name="attr_re_magic_opt_ritual"/><span>RITUAL</span>
<input type="checkbox" class="checkradio checkradio-left-third" name="attr_re_magic_opt_silent"/><span>SILENT</span>
<input type="checkbox" class="checkradio checkradio-left-fourth" name="attr_re_magic_opt_still"/><span>STILL</span>
<input type="hidden" name="attr_re_magic_opt_pretty"/>
</div>
<div>
<label>Description: <textarea name="attr_re_magic_desc"></textarea></label>
</div>
</fieldset>
</div>
</div>
</div>
<!--
<span class="block">
class="input-line input-number"
-->
<!-- REF -->
<div class="page-content ref">
<label>Character Name: <input type="text" name="attr_character_name" readonly/></label>
<hr>
<div>
<span class="block"><label>
<button type="roll" name="roll_roll_body_ref_pow" class="pow-roll"
value="!power {{--format|@{color} --template|generalPower|@{character_name};?{Situational Modifier|0};Body;@{body};0}}"
></button>
<button type="roll" name="roll_roll_body_ref" class="base-roll"
value="&{template:general}{{color=@{color}}}{{name=Body}}{{stat=[[@{body}]]}}{{roll=[[2d6+?{Situational Modifier|0}]]}}"
></button>
Body: <input type="number" class="input-number" name="attr_body" readonly/>
</label></span>
<span class="block"><label>
<button type="roll" name="roll_roll_mind_ref_pow" class="pow-roll"
value="!power {{--format|@{color} --template|generalPower|@{character_name};?{Situational Modifier|0};Mind;@{mind};0}}"
></button>
<button type="roll" name="roll_roll_mind_ref" class="base-roll"
value="&{template:general}{{color=@{color}}}{{name=Mind}}{{stat=[[@{mind}]]}}{{roll=[[2d6+?{Situational Modifier|0}]]}}"
></button>
Mind: <input type="number" class="input-number" name="attr_mind" readonly/>
</label></span>
<span class="block"><label>
<button type="roll" name="roll_roll_soul_ref_pow" class="pow-roll"
value="!power {{--format|@{color} --template|generalPower|@{character_name};?{Situational Modifier|0};Soul;@{soul};0}}"
></button>
<button type="roll" name="roll_roll_soul_ref" class="base-roll"
value="&{template:general}{{color=@{color}}}{{name=Soul}}{{stat=[[@{soul}]]}}{{roll=[[2d6+?{Situational Modifier|0}]]}}"
></button>
Soul: <input type="number" class="input-number" name="attr_soul" readonly/>
</label></span>
<span class="block"><label>
<button type="roll" name="roll_roll_body_mind_ref_pow" class="pow-roll"
value="!power {{--format|@{color} --template|generalPower|@{character_name};?{Situational Modifier|0};Body/Mind;@{body_mind};0}}"
></button>
<button type="roll" name="roll_roll_body_mind_ref" class="base-roll"
value="&{template:general}{{color=@{color}}}{{name=Body/Mind}}{{stat=[[@{body_mind}]]}}{{roll=[[2d6+?{Situational Modifier|0}]]}}"
></button>
Body/Mind: <input type="number" class="input-number" name="attr_body_mind" readonly/>
</label></span>
<span class="block"><label>
<button type="roll" name="roll_roll_mind_soul_ref_pow" class="pow-roll"
value="!power {{--format|@{color} --template|generalPower|@{character_name};?{Situational Modifier|0};Mind/Soul;@{mind_soul};0}}"
></button>
<button type="roll" name="roll_roll_mind_soul_ref" class="base-roll"
value="&{template:general}{{color=@{color}}}{{name=Mind/Soul}}{{stat=[[@{mind_soul}]]}}{{roll=[[2d6+?{Situational Modifier|0}]]}}"
></button>
Mind/Soul: <input type="number" class="input-number" name="attr_mind_soul" readonly/>
</label></span>
<span class="block"><label>
<button type="roll" name="roll_roll_soul_body_ref_pow" class="pow-roll"
value="!power {{--format|@{color} --template|generalPower|@{character_name};?{Situational Modifier|0};Soul/Body;@{soul_body};0}}"
></button>
<button type="roll" name="roll_roll_soul_body_ref" class="base-roll"
value="&{template:general}{{color=@{color}}}{{name=Soul/Body}}{{stat=[[@{soul_body}]]}}{{roll=[[2d6+?{Situational Modifier|0}]]}}"
></button>
Soul/Body: <input type="number" class="input-number" name="attr_soul_body" readonly/>
</label></span>
<span class="block"><label>
<button type="roll" name="roll_roll_body_mind_soul_ref_pow" class="pow-roll"
value="!power {{--format|@{color} --template|generalPower|@{character_name};?{Situational Modifier|0};Body/Mind/Soul;@{body_mind_soul};0}}"
></button>
<button type="roll" name="roll_roll_body_mind_soul_ref" class="base-roll"
value="&{template:general}{{color=@{color}}}{{name=Body/Mind/Soul}}{{stat=[[@{body_mind_soul}]]}}{{roll=[[2d6+?{Situational Modifier|0}]]}}"
></button>
Body/Mind/Soul: <input type="number" class="input-number" name="attr_body_mind_soul" readonly/>
</label></span>
</div>
<hr>
<div>
<label>HP: </label><input type="number" class="input-line input-number" name="attr_hp_current"/> / <input type="number" class="input-number" name="attr_hp_total" readonly/>
<label>Shock Value: <input type="number" class="input-number" name="attr_shock" readonly/></label>
<label>EP: </label><input type="number" class="input-line input-number" name="attr_ep_current"/> / <input type="number" class="input-number" name="attr_ep_total" readonly/>
</div>
<hr>
<div>
<h3>Attributes</h3>
<fieldset class="repeating_attributes ref-repeat">
<label>Name: <input type="text" name="attr_re_attribute_name" readonly/></label>
<label>Level: <input type="number" class="input-number" name="attr_re_attribute_level" readonly/></label>
<input type="hidden" name="attr_re_attribute_desc"/>
</fieldset>
<h3>Defects</h3>
<fieldset class="repeating_defects ref-repeat">
<label>Name: <input type="text" name="attr_re_defect_name" readonly/></label>
<input type="hidden" name="attr_re_defect_desc"/>
</fieldset>
</div>
<hr>
<div>
<h3>Skills</h3>
<fieldset class="repeating_skills ref-repeat">
<span class="block"><label>
<button type="roll" name="roll_roll_skill_ref_pow" class="pow-roll"
value="!power {{--format|@{color} --template|generalPower|@{character_name};?{Situational Modifier|0};@{re_skill_name};@{re_skill_stat};-@{re_skill_total_level}-[[?{Specialty Applies|Yes, 1|No, 0}]]}}"
></button>
<button type="roll" name="roll_roll_skill_ref" class="base-roll"
value="&{template:general}{{color=@{color}}}{{name=@{re_skill_name}}}{{stat=[[@{re_skill_stat}]]}}{{roll=[[2d6-@{re_skill_total_level}-[[?{Specialty Applies|Yes, 1|No, 0}]]+?{Situational Modifier|0}]]}}"
></button>
Name: <input type="text" name="attr_re_skill_name" readonly/>
</label></span>
<span class="block"><label>Level: <input type="number" class="input-number" name="attr_re_skill_total_level" readonly/></label></span>
<span class="block"><label>Specialties: <input type="text" name="attr_re_skill_specialties" readonly/></label></span>
<input type="hidden" name="attr_re_skill_stat"/>
</fieldset>
</div>
<hr>
<div>
<div>
<span class="block"><label>
<button type="roll" name="roll_roll_initiative_ref_pow" class="pow-roll"
value="!power {{--format|@{color} --name|Initiative --rightsub|@{character_name} --Result|[[ [NH|TRKR] 1d6+@{initiative}]] --charid|@{character_id}}}"
></button>
<button type="roll" name="roll_roll_initiative_ref" class="base-roll"
value="&{template:general}{{color=@{color}}}{{name=Initiative}}{{roll=[[1d6+@{initiative}&{tracker}]]}} "
></button>
Initiative: <input type="number" class="input-number" name="attr_initiative" value="0" readonly/>
</label></span>
<span class="block"><label>
<button type="roll" name="roll_roll_acv_ref_pow" class="pow-roll"
value="!power {{--format|@{color} --template|generalPower|@{character_name};?{Situational Modifier|0};Attack;@{acv};0}}"
></button>
<button type="roll" name="roll_roll_acv_ref" class="base-roll"
value="&{template:general}{{color=@{color}}}{{name=Attack}}{{stat=[[@{acv}]]}}{{roll=[[2d6+?{Situational Modifier|0}]]}}{{damage=@{base_dmg}}}"
></button>
Attack CV: <input type="number" class="input-number" name="attr_acv" value="0" readonly/>
</label></span>
<span class="block"><label>
<button type="roll" name="roll_roll_dcv_ref_pow" class="pow-roll"
value="!power {{--format|@{color} --template|generalPower|@{character_name};?{Situational Modifier|0};Defense;@{dcv};0}}"
></button>
<button type="roll" name="roll_roll_dcv_ref" class="base-roll"
value="&{template:general}{{color=@{color}}}{{name=Defense}}{{stat=[[@{dcv}]]}}{{roll=[[2d6+?{Situational Modifier|0}]]}}"
></button>
Defense CV: <input type="number" class="input-number" name="attr_dcv" value="0" readonly/>
</label></span>
<span class="block"><label>Base Damage: <input type="number" class="input-number" name="attr_base_dmg" value="0" readonly/></label></span>
</div>
<hr>
<h3>Attack</h3>
<fieldset class="repeating_attacks ref-repeat">
<span class="block"><label>
<button type="roll" name="roll_roll_attack_ref_pow" class="pow-roll"
value="!power {{--format|@{color} --template|generalPower|@{character_name};?{Situational Modifier|0};@{re_attack_name};@{acv};@{re_attack_mod}}}"
></button>
<button type="roll" name="roll_roll_attack_ref" class="base-roll"
value="&{template:general}{{color=@{color}}}{{name=@{re_attack_name}}}{{stat=@{acv}}}{{roll=[[2d6+@{re_attack_mod}+?{Situational Modifier|0}]]}}{{damage=[[@{base_dmg}+@{re_dmg_mod}]]}}"
></button>
Name: <input type="text" name="attr_re_attack_name" readonly/>
</label></span>
<span class="block"><label>Attack Modifier: <input type="number" class="input-number" name="attr_re_attack_mod" readonly/></label></span>
<span class="block"><label>Damage Modifier: <input type="number" class="input-number" name="attr_re_dmg_mod" readonly/></label></span>
<input type="hidden" name="attr_re_attack_desc"/>
</fieldset>
</div>
<hr>
<div>
<h3>Magic</h3>
<fieldset class="repeating_magics ref-repeat">
<span class="block"><label>Name: <input type="text" name="attr_re_magic_name" readonly/></label></span>
<span class="block"><label>EP Invoke Cost: <input type="number" class="input-number" name="attr_re_magic_ep_cost_invoke" readonly/></label></span>
<span class="block"><label title="per minute, only if applicable">EP Maintain Cost: <input type="number" class="input-number" name="attr_re_magic_ep_cost_maintain" readonly/></label></span>
<span class="block"><label>Casting Options: <input type="text" name="attr_re_magic_opt_pretty" readonly/></label></span>
<input type="hidden" name="attr_re_magic_desc"/>
</fieldset>
</div>
</div>
</div>
<!-- WORKERS -->
<script type="text/worker">
on("sheet:opened", function() {
changeColor();
changeAPIs();
calculateRemainingCharacterPoints();
calculateRemainingSkillPoints();
calculateRemainingPowerPoints();
calculateTotalHP();
calculateTotalEP();
calculateAvgs();
calculateACV();
calculateDCV();
calculateInitiative();
calculateBaseDmg();
});
on("change:cp_start change:cp_advance change:body change:mind change:soul change:repeating_attributes:re_attribute_cost remove:repeating_attributes change:repeating_defects:re_defect_bonus remove:repeating_defects", function() {
calculateRemainingCharacterPoints();
});
on("change:sp_start change:sp_advance change:repeating_skills:re_skill_cost change:repeating_skills:re_skill_level change:repeating_skills:re_skill_specialties remove:repeating_skills", function() {
calculateRemainingSkillPoints();
});
on("change:pp_start change:repeating_magics:re_magic_pp_cost remove:repeating_magics", function() {
calculateRemainingPowerPoints();
});
on("change:hp_total_mod change:hp_total_mult change:hp_diminutive_type change:body change:soul", function() {
calculateTotalHP();
});
on("change:ep_total_mod change:ep_total_mult change:mind change:soul", function() {
calculateTotalEP();
});
on("change:body change:mind change:soul", function() {
calculateAvgs();
});
on("change:cv_mod change:acv_mod change:body change:mind change:soul", function() {
calculateACV();
calculateInitiative();
calculateBaseDmg();
});
on("change:cv_mod change:dcv_mod change:body change:mind change:soul", function() {
calculateDCV();
});
on("change:initiative_mod", function() {
calculateInitiative();
});
on("change:base_dmg_mod", function() {
calculateBaseDmg();
});
on("change:repeating_magics:re_magic_pp_cost change:repeating_magics:re_magic_opt_focus change:repeating_magics:re_magic_opt_ritual change:repeating_magics:re_magic_opt_silent change:repeating_magics:re_magic_opt_still", function() {
calculateEPCost();
});
on("change:color_picker change:repeating_magics", function() {
changeColor();
});
on("change:powercard_picker", function() {
changeAPIs();
});
var changeColor = function(){
getAttrs(["color_picker"], function(v) {
setAttrs({
color:v.color_picker
});
});
}
var changeAPIs = function(){
getAttrs(["powercard_picker"], function(v) {
var pc='OFF';
if(v.powercard_picker == "on"){
pc='ON';
}
setAttrs({
powercard:pc
});
});
}
var calculateRemainingCharacterPoints = function(){
var rcp=0;
var setRcp = _.after(3,function(){
setAttrs({
cp_remain:rcp
});
});
getAttrs(["cp_start","cp_advance","body","mind","soul"], function(v) {
rcp = rcp + Number(v.cp_start);
rcp = rcp + Number(v.cp_advance);
rcp = rcp - Number(v.body);
rcp = rcp - Number(v.mind);
rcp = rcp - Number(v.soul);
setRcp();
});
getSectionIDs("attributes", function(idarray) {
var setIsh = _.after(idarray.length+1,function(){
setRcp();
});
setIsh();
for(var i=0; i < idarray.length; i++) {
var id="repeating_attributes_"+idarray[i]+"_re_attribute_cost";
getAttrs([id],function(v){
rcp = rcp - Number(v[Object.keys(v)[0]]);
setIsh();
});
}
});
getSectionIDs("defects", function(idarray) {
var setIsh = _.after(idarray.length+1,function(){
setRcp();
});
setIsh();
for(var i=0; i < idarray.length; i++) {
var id="repeating_defects_"+idarray[i]+"_re_defect_bonus";
getAttrs([id],function(v){
rcp = rcp + Number(v[Object.keys(v)[0]]);
setIsh();
});
}
});
};
var calculateRemainingSkillPoints = function(){
var rsp=0;
var setRsp = _.after(2,function(){
setAttrs({
sp_remain:rsp
});
});
getAttrs(["sp_start","sp_advance"], function(v) {
rsp = rsp + Number(v.sp_start);
rsp = rsp + Number(v.sp_advance);
setRsp();
});
getSectionIDs("skills", function(idarray) {
var setIsh = _.after(idarray.length+1,function(){
setRsp();
});
setIsh();
for(var i=0; i < idarray.length; i++) {
var id="repeating_skills_"+idarray[i];
getAttrs([id+"_re_skill_level",id+"_re_skill_cost",id+"_re_skill_specialties"],function(v){
var cost = Number(v[Object.keys(v)[0]]) * Number(v[Object.keys(v)[1]]);
var specialties = v[Object.keys(v)[2]].split(",");
rsp = rsp - cost - Math.max(0,specialties.length-1);
setIsh();
});
}
});
};
var calculateRemainingPowerPoints = function(){
var rpp=0;
var setRpp = _.after(2,function(){
setAttrs({
pp_remain:rpp
});
});
getAttrs(["pp_start"], function(v) {
rpp = rpp + Number(v.pp_start);
setRpp();
});
getSectionIDs("magics", function(idarray) {
var setIsh = _.after(idarray.length+1,function(){
setRpp();
});
setIsh();
for(var i=0; i < idarray.length; i++) {
var id="repeating_magics_"+idarray[i];
getAttrs([id+"_re_magic_pp_cost"],function(v){
rpp = rpp - Number(v[Object.keys(v)[0]]);
setIsh();
});
}
});
};
var calculateTotalHP = function(){
getAttrs(["hp_total_mod","hp_total_mult","hp_diminutive_type","body","soul"], function(v) {
var hp = (Number(v.body)+Number(v.soul))*5;
hp = hp + Number(v.hp_total_mod);
hp = hp / Number(v.hp_diminutive_type);
hp = Math.max(1, Math.floor(hp));
var sv = hp/5.0;
sv = Math.max(1, Math.ceil(sv));
setAttrs({
hp_total:hp,
shock:sv
});
});
};
var calculateTotalEP = function(){
getAttrs(["ep_total_mod","ep_total_mult","mind","soul"], function(v) {
var ep = (Number(v.mind)+Number(v.soul))*5;
ep = ep + Number(v.ep_total_mod);
ep = Math.floor(ep);
setAttrs({
ep_total:ep
});
});
};
var calculateAvgs = function(){
getAttrs(["body","mind","soul"], function(v) {
var b = Number(v.body);
var m = Number(v.mind);
var s = Number(v.soul);
setAttrs({
body_mind:Math.ceil((b+m)/2.),
mind_soul:Math.ceil((m+s)/2.),
soul_body:Math.ceil((s+b)/2.),
body_mind_soul:Math.ceil((b+m+s)/3.)
});
});
};
var calculateACV = function(){
getAttrs(["cv_mod","acv_mod","body","mind","soul"], function(v) {
var acv = doCalcAcv(v.body,v.mind,v.soul,v.cv_mod,v.acv_mod);
acv = Math.floor(acv);
setAttrs({
acv:acv
});
});
};
var doCalcAcv = function(body,mind,soul,cv_mod,acv_mod){
var acv = (Number(body)+Number(mind)+Number(soul))/3.;
acv = acv + Number(cv_mod);
acv = acv + Number(acv_mod);
return acv;
};
var calculateDCV = function(){
getAttrs(["cv_mod","dcv_mod","body","mind","soul"], function(v) {
var dcv = (Number(v.body)+Number(v.mind)+Number(v.soul))/3.;
dcv = dcv - 2.;
dcv = dcv + Number(v.cv_mod);
dcv = dcv + Number(v.dcv_mod);
dcv = Math.floor(dcv);
setAttrs({
dcv:dcv
});
});
};
var calculateInitiative = function(){
getAttrs(["cv_mod","acv_mod","body","mind","soul","initiative_mod"], function(v) {
var acv = doCalcAcv(v.body,v.mind,v.soul,v.cv_mod,v.acv_mod);
var init = acv + Number(v.initiative_mod);
init = Math.floor(init);
setAttrs({
initiative:init
});
});
};
var calculateBaseDmg = function(){
getAttrs(["cv_mod","acv_mod","body","mind","soul","base_dmg_mod"], function(v) {
var acv = doCalcAcv(v.body,v.mind,v.soul,v.cv_mod,v.acv_mod);
var dmg = acv + Number(v.base_dmg_mod);
dmg = Math.floor(dmg);
setAttrs({
base_dmg:dmg
});
});
};
var calculateEPCost = function(){
getAttrs(["repeating_magics_re_magic_pp_cost","repeating_magics_re_magic_opt_focus","repeating_magics_re_magic_opt_ritual","repeating_magics_re_magic_opt_silent","repeating_magics_re_magic_opt_still"], function(v) {
var epi = Number(v.repeating_magics_re_magic_pp_cost);
var epm = Number(v.repeating_magics_re_magic_pp_cost);
var pretty = '';
if(v.repeating_magics_re_magic_opt_focus == "on"){
epi=epi/2;
pretty = pretty + ' focus';
}
if(v.repeating_magics_re_magic_opt_ritual == "on"){
epi=epi/2;
epm=epm/2;
pretty = pretty + ' ritual';
}
if(v.repeating_magics_re_magic_opt_still == "on"){
epi=epi*2;
pretty = pretty + ' still';
}
if(v.repeating_magics_re_magic_opt_silent == "on"){
epi=epi*2;
pretty = pretty + ' silent';
}
epi = Math.floor(epi);
epm = Math.floor(epm);
setAttrs({
repeating_magics_re_magic_ep_cost_invoke:epi,
repeating_magics_re_magic_ep_cost_maintain:epm,
repeating_magics_re_magic_opt_pretty:pretty
});
});
};
on("change:repeating_skills:re_skill_level change:repeating_skills:re_skill_bonus_level", function() {
getAttrs(["repeating_skills_re_skill_level","repeating_skills_re_skill_bonus_level"], function(v) {
var lvl = Number(v.repeating_skills_re_skill_level)+Number(v.repeating_skills_re_skill_bonus_level);
setAttrs({
repeating_skills_re_skill_total_level:lvl
});
});
});
</script>
<!-- TEMPLATES -->
<rolltemplate class="sheet-rolltemplate-general">
template in progress
<div class="sheet-template-container sheet-template-color-{{color}}">
<div class="sheet-template-header">{{name}}</div>
<div class="sheet-template-body">
<div class="sheet-template-row">Stat: {{stat}}</div>
<div class="sheet-template-row">Roll: {{roll}}</div>
<div class="sheet-template-row">Damage: {{damage}}</div>
</div>
</div>
</rolltemplate>