mirror of
https://github.com/Nighthawk42/roll20-character-sheets.git
synced 2026-08-30 11:42:29 +00:00
958 lines
55 KiB
HTML
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>
|
|
|
|
|
|
|
|
|