mirror of
https://github.com/Nighthawk42/roll20-character-sheets.git
synced 2026-08-30 03:40:32 +00:00
2355 lines
174 KiB
HTML
2355 lines
174 KiB
HTML
<!-- div to hold notification about new sheet version -->
|
|
|
|
<div class=avatarbanner>
|
|
<img class='avatarimage' name='attr_character_avatar' alt="Character Avatar">
|
|
</div>
|
|
|
|
<!-- buttons to select desired tab -->
|
|
<div class="tab-buttons">
|
|
<button id=chartab type="action" name="act_character" >Character<span class="buttonicon"> U </span></button>
|
|
<button id=inventab type="action" name="act_inventory" >Inventory<span class="buttonicon"> O </span></button>
|
|
<button id=settingstab type="action" name="act_settings" >Settings<span class="buttonicon"> x </span></button>
|
|
</div>
|
|
|
|
<!-- inputs to switch tabs and various other things -->
|
|
<input type='hidden' class='tabstoggle' name='attr_sheettab' value='character' />
|
|
|
|
<datalist id="convocations">
|
|
<option value="Lyáhvi">Lyáhvi</option>
|
|
<option value="Pèleáhn">Pèleáhn</option>
|
|
<option value="Jmôrvi">Jmôrvi</option>
|
|
<option value="Fývria">Fývria</option>
|
|
<option value="Odívshè">Odívshè</option>
|
|
<option value="Sàvôrya">Sàvôrya</option>
|
|
<option value="Neutral">Neutral</option>
|
|
</datalist>
|
|
|
|
<!-- actual character sheet, divided in tabs -->
|
|
<div class='character'> <!-- CHARACTER TAB -->
|
|
<h2 class='tab-header'>HârnMaster Gold</h2>
|
|
<h1 class='tab-header'>Character Profile</h1>
|
|
<div class='character-grid'> <!-- CHARACTER grid container-->
|
|
<div class='character-grid-section personal personal-grid colored-grid'>
|
|
<div class="skill-section-title">PERSONAL</div>
|
|
<label for=charname>Name</label><input type="text" spellcheck=false id=charname name="attr_character_name" class="personal-input">
|
|
<label for=race>Race</label><input type="text" spellcheck=false id=race name="attr_species" class="personal-input">
|
|
<label for=gender>Gender</label><input type="text" id=gender name="attr_gender" class="personal-input">
|
|
<label for=birthdate>Birthdate</label><input type="text" spellcheck=false id=birthdate name="attr_birthdate" class="personal-input">
|
|
<label for=sunsign>Sunsign</label>
|
|
<select id=sunsign name="attr_sunsign" class="personal-input">
|
|
<option value="ulandus">Ulandus</option>
|
|
<option value="ulandus-aralius">Ulandus-Aralius</option>
|
|
<option value="aralius">Aralius</option>
|
|
<option value="aralius-feniri">Aralius-Feniri</option>
|
|
<option value="feniri">Feniri</option>
|
|
<option value="feniri-ahnu">Feniri-Ahnu</option>
|
|
<option value="ahnu">Ahnu</option>
|
|
<option value="ahnu-angberelius">Ahnu-Angberelius</option>
|
|
<option value="angberelius">Angberelius</option>
|
|
<option value="angberelius-nadai">Angberelius-Nadai</option>
|
|
<option value="nadai">Nadai</option>
|
|
<option value="nadai-hirin">Nadai-Hirin</option>
|
|
<option value="hirin">Hirin</option>
|
|
<option value="hirin-tarael">Hirin-Tarael</option>
|
|
<option value="tarael">Tarael</option>
|
|
<option value="tarael-tai">Tarael-Tai</option>
|
|
<option value="tai">Tai</option>
|
|
<option value="tai-skorus">Tai-Skorus</option>
|
|
<option value="skorus">Skorus</option>
|
|
<option value="skorus-masara">Skorus-Masara</option>
|
|
<option value="masara">Masara</option>
|
|
<option value="masara-lado">Masara-Lado</option>
|
|
<option value="lado">Lado</option>
|
|
<option value="lado-ulandus">Lado-Ulandus</option>
|
|
</select>
|
|
<label for=handedness>Handedness</label>
|
|
<select id=handedness name="attr_handedness" class="physical-input">
|
|
<option value="right">Right Handed</option>
|
|
<option value="left">Left Handed</option>
|
|
<option value="both">Ambidextrous</option>
|
|
</select>
|
|
</div>
|
|
<div class='character-grid-section attribs attribs-grid colored-grid'>
|
|
<div class="skill-section-title">ATTRIBUTES</div>
|
|
<label for=str>STR</label>
|
|
<input id=str type="number" name="attr_str" class="attribute-input" value="0">
|
|
<button type="roll" value="&{template:custom} {{color=harn}} {{title=@{character_name} tests Strength}} {{rolltarget=[[{[[{[[@{str} * ?{Attribute multiplier?|3|4|5|6|7} - [[(@{physical_penalty})]] ]],5}kh1]],95}kl1]]}} {{Target Level=[[@{str} * ?{Attribute multiplier?}]] ( @{str} * ?{Attribute multiplier?} ) }} {{penalty=[[(@{physical_penalty})]]}} {{rollresult=[[1d100cs5cs10cs15cs20cs25cs30cs35cs40cs45cs50cs55cs60cs65cs70cs75cs80cs85cs90cs95cs100]]}}" name="roll_StrengthCheck">
|
|
</button>
|
|
<label for=end>END</label>
|
|
<input id=end type="number" name="attr_end" class="attribute-input" value="0">
|
|
<button type="roll" value="&{template:custom} {{color=harn}} {{title=@{character_name} tests Endurance}} {{rolltarget=[[{[[{[[@{end} * ?{Attribute multiplier?|3|4|5|6|7} - [[(@{physical_penalty})]] ]],5}kh1]],95}kl1]]}} {{Target Level=[[@{end} * ?{Attribute multiplier?}]] (@{end} * ?{Attribute multiplier?}) }} {{penalty=[[(@{physical_penalty})]]}} {{rollresult=[[1d100cs5cs10cs15cs20cs25cs30cs35cs40cs45cs50cs55cs60cs65cs70cs75cs80cs85cs90cs95cs100]]}}" name="roll_EnduranceCheck">
|
|
</button>
|
|
<label for=dex>DEX</label>
|
|
<input id=dex type="number" name="attr_dex" class="attribute-input" value="0">
|
|
<button type="roll" value="&{template:custom} {{color=harn}} {{title=@{character_name} tests Dexterity}} {{rolltarget=[[{[[{[[@{dex} * ?{Attribute multiplier?|3|4|5|6|7} - [[(@{physical_penalty})]] ]],5}kh1]],95}kl1]]}} {{Target Level=[[@{dex} * ?{Attribute multiplier?}]] (@{dex} * ?{Attribute multiplier?}) }} {{penalty=[[(@{physical_penalty})]]}} {{rollresult=[[1d100cs5cs10cs15cs20cs25cs30cs35cs40cs45cs50cs55cs60cs65cs70cs75cs80cs85cs90cs95cs100]]}} " name="roll_DexterityCheck">
|
|
</button>
|
|
<label for=agl>AGL</label>
|
|
<input id=agl type="number" name="attr_agl" class="attribute-input" value="0">
|
|
<button type="roll" value="&{template:custom} {{color=harn}} {{title=@{character_name} tests Agility}} {{rolltarget=[[{[[{[[@{agl} * ?{Attribute multiplier?|3|4|5|6|7} - [[(@{physical_penalty})]] ]],5}kh1]],95}kl1]]}} {{Target Level=[[@{agl} * ?{Attribute multiplier?}]] (@{agl} * ?{Attribute multiplier?}) }} {{penalty=[[(@{physical_penalty})]]}} {{rollresult=[[1d100cs5cs10cs15cs20cs25cs30cs35cs40cs45cs50cs55cs60cs65cs70cs75cs80cs85cs90cs95cs100]]}} " name="roll_AgilityCheck">
|
|
</button>
|
|
<label for=spd>SPD</label>
|
|
<input id=spd type="number" name="attr_spd" class="attribute-input" value="0">
|
|
<button type="roll" value="&{template:custom} {{color=harn}} {{title=@{character_name} tests Speed}} {{rolltarget=[[{[[{[[@{spd} * ?{Attribute multiplier?|3|4|5|6|7} - [[(@{physical_penalty})]] ]],5}kh1]],95}kl1]]}} {{Target Level=[[@{spd} * ?{Attribute multiplier?}]] (@{spd} * ?{Attribute multiplier?}) }} {{penalty=[[(@{physical_penalty})]]}} {{rollresult=[[1d100cs5cs10cs15cs20cs25cs30cs35cs40cs45cs50cs55cs60cs65cs70cs75cs80cs85cs90cs95cs100]]}} " name="roll_SpeedCheck">
|
|
</button>
|
|
<label for=eye>EYE</label>
|
|
<input id=eye type="number" name="attr_eye" class="attribute-input" value="0">
|
|
<button type="roll" value="&{template:custom} {{color=harn}} {{title=@{character_name} tests Eye}} {{rolltarget=[[{[[{[[@{eye} * ?{Attribute multiplier?|3|4|5|6|7} - [[(@{universal_penalty})]] ]],5}kh1]],95}kl1]]}} {{Target Level=[[@{eye} * ?{Attribute multiplier?}]] (@{eye} * ?{Attribute multiplier?}) }} {{penalty=[[(@{universal_penalty})]]}} {{rollresult=[[1d100cs5cs10cs15cs20cs25cs30cs35cs40cs45cs50cs55cs60cs65cs70cs75cs80cs85cs90cs95cs100]]}} " name="roll_EyeCheck">
|
|
</button>
|
|
<label for=hrg>HRG</label>
|
|
<input id=hrg type="number" name="attr_hrg" class="attribute-input" value="0">
|
|
<button type="roll" value="&{template:custom} {{color=harn}} {{title=@{character_name} tests Hearing}} {{rolltarget=[[{[[{[[@{hrg} * ?{Attribute multiplier?|3|4|5|6|7} - [[(@{universal_penalty})]] ]],5}kh1]],95}kl1]]}} {{Target Level=[[@{hrg} * ?{Attribute multiplier?}]] (@{hrg} * ?{Attribute multiplier?}) }} {{penalty=[[(@{universal_penalty})]]}} {{rollresult=[[1d100cs5cs10cs15cs20cs25cs30cs35cs40cs45cs50cs55cs60cs65cs70cs75cs80cs85cs90cs95cs100]]}} " name="roll_HearingCheck">
|
|
</button>
|
|
<label for=sml>SMT</label>
|
|
<input id=sml type="number" name="attr_sml" class="attribute-input" value="0">
|
|
<button type="roll" value="&{template:custom} {{color=harn}} {{title=@{character_name} tests Smell/Taste}} {{rolltarget=[[{[[{[[@{sml} * ?{Attribute multiplier?|3|4|5|6|7} - [[(@{universal_penalty})]] ]],5}kh1]],95}kl1]]}} {{Target Level=[[@{sml} * ?{Attribute multiplier?} ]] (@{sml} * ?{Attribute multiplier?}) }} {{penalty=[[(@{universal_penalty})]]}} {{rollresult=[[1d100cs5cs10cs15cs20cs25cs30cs35cs40cs45cs50cs55cs60cs65cs70cs75cs80cs85cs90cs95cs100]]}} " name="roll_SmellCheck">
|
|
</button>
|
|
<label for=tch>TCH</label>
|
|
<input id=tch type="number" name="attr_tch" class="attribute-input" value="0">
|
|
<button type="roll" value="&{template:custom} {{color=harn}} {{title=@{character_name} tests Touch}} {{rolltarget=[[{[[{[[@{tch} * ?{Attribute multiplier?|3|4|5|6|7} - [[(@{physical_penalty})]] ]],5}kh1]],95}kl1]]}} {{Target Level=[[@{tch} * ?{Attribute multiplier?} ]] (@{tch} * ?{Attribute multiplier?}) }} {{penalty=[[(@{physical_penalty})]]}} {{rollresult=[[1d100cs5cs10cs15cs20cs25cs30cs35cs40cs45cs50cs55cs60cs65cs70cs75cs80cs85cs90cs95cs100]]}} " name="roll_TouchCheck">
|
|
</button>
|
|
<label for=voi>VOI</label>
|
|
<input id=voi type="number" name="attr_voi" class="attribute-input" value="0">
|
|
<button type="roll" value="&{template:custom} {{color=harn}} {{title=@{character_name} tests Voice}} {{rolltarget=[[{[[{[[@{voi} * ?{Attribute multiplier?|3|4|5|6|7} - [[(@{universal_penalty})]] ]],5}kh1]],95}kl1]]}} {{Target Level=[[@{voi} * ?{Attribute multiplier?}]] (@{voi} * ?{Attribute multiplier?}) }} {{penalty=[[(@{universal_penalty})]]}} {{rollresult=[[1d100cs5cs10cs15cs20cs25cs30cs35cs40cs45cs50cs55cs60cs65cs70cs75cs80cs85cs90cs95cs100]]}} " name="roll_VoiceCheck">
|
|
</button>
|
|
<label for=cml>CML</label>
|
|
<input id=cml type="number" name="attr_cml" class="attribute-input" value="0">
|
|
<button type="roll" value="&{template:custom} {{color=harn}} {{title=@{character_name} tests Comeliness}} {{rolltarget=[[{[[{[[@{cml} * ?{Attribute multiplier?|3|4|5|6|7} - [[(@{universal_penalty})]] ]],5}kh1]],95}kl1]]}} {{Target Level=[[@{cml} * ?{Attribute multiplier?}]] (@{cml} * ?{Attribute multiplier?}) }} {{penalty=[[(@{universal_penalty})]]}} {{rollresult=[[1d100cs5cs10cs15cs20cs25cs30cs35cs40cs45cs50cs55cs60cs65cs70cs75cs80cs85cs90cs95cs100]]}} " name="roll_ComelinessCheck">
|
|
</button>
|
|
<label for=int>INT</label>
|
|
<input id=int type="number" name="attr_int" class="attribute-input" value="0">
|
|
<button type="roll" value="&{template:custom} {{color=harn}} {{title=@{character_name} tests Intelligence}} {{rolltarget=[[{[[{[[@{int} * ?{Attribute multiplier?|3|4|5|6|7} - [[(@{universal_penalty})]] ]],5}kh1]],95}kl1]]}} {{Target Level=[[@{int} * ?{Attribute multiplier?}]] (@{int} * ?{Attribute multiplier?}) }} {{penalty=[[(@{universal_penalty})]]}} {{rollresult=[[1d100cs5cs10cs15cs20cs25cs30cs35cs40cs45cs50cs55cs60cs65cs70cs75cs80cs85cs90cs95cs100]]}} " name="roll_IntelligenceCheck">
|
|
</button>
|
|
<label for=aur>AUR</label>
|
|
<input id=aur type="number" name="attr_aur" class="attribute-input" value="0">
|
|
<button type="roll" value="&{template:custom} {{color=harn}} {{title=@{character_name} tests Aura}} {{rolltarget=[[{[[{[[@{aur} * ?{Attribute multiplier?|3|4|5|6|7} - [[(@{universal_penalty})]] ]],5}kh1]],95}kl1]]}} {{Target Level=[[@{aur} * ?{Attribute multiplier?}]] (@{aur} * ?{Attribute multiplier?}) }} {{penalty=[[(@{universal_penalty})]]}} {{rollresult=[[1d100cs5cs10cs15cs20cs25cs30cs35cs40cs45cs50cs55cs60cs65cs70cs75cs80cs85cs90cs95cs100]]}} " name="roll_AuraCheck">
|
|
</button>
|
|
<label for=wil>WIL</label>
|
|
<input id=wil type="number" name="attr_wil" class="attribute-input" value="0">
|
|
<button type="roll" value="&{template:custom} {{color=harn}} {{title=@{character_name} tests Willpower}} {{rolltarget=[[{[[{[[@{wil} * ?{Attribute multiplier?|3|4|5|6|7} - [[(@{universal_penalty})]] ]],5}kh1]],95}kl1]]}} {{Target Level=[[@{wil} * ?{Attribute multiplier?}]] (@{wil} * ?{Attribute multiplier?}) }} {{penalty=[[(@{universal_penalty})]]}} {{rollresult=[[1d100cs5cs10cs15cs20cs25cs30cs35cs40cs45cs50cs55cs60cs65cs70cs75cs80cs85cs90cs95cs100]]}} " name="roll_WillpowerCheck">
|
|
</button>
|
|
</div>
|
|
<div class='character-grid-section family family-grid colored-grid'>
|
|
<div class="skill-section-title">FAMILY</div>
|
|
<label for=birthplace>Birthplace</label>
|
|
<input id=birthplace type="text" spellcheck=false name="attr_birthplace" class="family-input">
|
|
<label for=culture>Culture</label>
|
|
<input id=culture type="text" name="attr_culture" class="family-input">
|
|
<label for=socialclass>Social Class</label>
|
|
<input id=socialclass type="text" name="attr_social_class" class="family-input">
|
|
<label for=siblingrank>Sibling Rank</label>
|
|
<input id=siblingrank type="text" name="attr_sibling_rank" class="family-input">
|
|
<label for=parent>Parent</label>
|
|
<input id=parent type="text" spellcheck=false name="attr_parent" class="family-input">
|
|
<label for=estrangement>Estrangement</label>
|
|
<input id=estrangement type="text" name="attr_estrangement" class="family-input">
|
|
<label for=clanhead>Clanhead</label>
|
|
<input id=clanhead type="text" spellcheck=false name="attr_clanhead" class="family-input">
|
|
<label for=mental>Mental</label>
|
|
<input id=mental type="text" name="attr_mental" class="family-input">
|
|
<label for=physical>Physical</label>
|
|
<input id=physical type="text" name="attr_physical" class="family-input">
|
|
</div>
|
|
<div class='character-grid-section physical physical-grid colored-grid'>
|
|
<label for=age>Age</label><input type="number" id=age name="attr_age" class="physical-input">
|
|
<label for=height>Height</label><input type="text" id=height name="attr_height" class="physical-input skill-value">
|
|
<label for=frame>Frame</label><input type="text" id=frame name="attr_frame" class="physical-input">
|
|
<label for=weight>Weight</label><input type="number" id=weight name="attr_weight" class="physical-input">
|
|
<label for=size>Size</label><input type="number" id=size name="attr_size" class="physical-input">
|
|
<label for=skin>Skin</label><input type="text" id=skin name="attr_complexion" class="physical-input">
|
|
<label for=hair>Hair</label><input type="text" id=hair name="attr_hair_colors" class="physical-input">
|
|
<label for=eyes>Eyes</label><input type="text" id=eyes name="attr_eye_color" class="physical-input">
|
|
<label for=morality>Morality</label><input type="number" id=morality name="attr_moral" class="physical-input">
|
|
<input class="showsinglepiety" name="attr_hrconsolidatedpiety" type="hidden" value="1"/><label for=piety>Piety</label><input type="number" id=piety name="attr_piety" class="physical-input">
|
|
|
|
</div>
|
|
<div class='character-grid-section section-title'><h2>Skills</h2></div>
|
|
<div class='character-grid-section skills skills-grid colored-grid'>
|
|
<div class="skill-section-title">COMBAT SKILLS</div>
|
|
<div class="skill-header skill-label">Skill</div>
|
|
<div class="skill-header"> </div>
|
|
<div class="skill-header skill-value">SB</div>
|
|
<div class="skill-header skill-value">ML</div>
|
|
<div class="skill-header"> </div>
|
|
|
|
<input type="text" class="skill-label" name="attr_initiative_name" value="INITIATIVE" disabled="true">
|
|
<button type="roll" value="&{template:custom} {{skilldevroll=1}} {{color=harn}} {{title=@{character_name} tries to improve @{initiative_name}}} {{rolltarget=[[@{initiative_ml}]]}} {{rollresult=[[1d100+@{initiative_sb}]]}}" name="roll_InitiativeDevelop" class="skilldev-button">
|
|
</button>
|
|
<input type="number" name="attr_initiative_sb" class="skill-value" value="0">
|
|
<input type="number" name="attr_initiative_ml" class="skill-value" value="0">
|
|
<!-- <button type="roll" value="&{template:custom} {{color=harn}} {{title=@{character_name} tests @{initiative_name}}} {{rolltarget=[[{[[{[[@{initiative_ml} - [[(@{physical_penalty})]] + ?{Target Modifier?|0}]],5}kh1]],95}kl1]]}} {{penalty=[[(@{physical_penalty})]]}} {{rollresult=[[1d100cs5cs10cs15cs20cs25cs30cs35cs40cs45cs50cs55cs60cs65cs70cs75cs80cs85cs90cs95cs100]]}} {{Modifier=[[?{Target Modifier?|0}]]}} {{Mastery Lvl=[[@{initiative_ml}]]}}" name="roll_InitiativeCheck">
|
|
</button> -->
|
|
<button type="roll" value="&{template:custom} {{color=harn}} {{title=@{character_name} tests @{initiative_name}}} {{Mastery Lvl=[[@{initiative_ml}]]}} {{penalty=[[(@{physical_penalty})]]}} {{Modifiers=[[?{Target Modifier?|0}]]}} {{rolltarget=[[{[[{[[@{initiative_ml} - [[(@{physical_penalty})]] + ?{Target Modifier?|0}]],5}kh1]],95}kl1]]}} {{rollresult=[[1d100cs5cs10cs15cs20cs25cs30cs35cs40cs45cs50cs55cs60cs65cs70cs75cs80cs85cs90cs95cs100]]}}" name="roll_InitiativeCheck" >
|
|
</button>
|
|
|
|
<input type="text" class="skill-label" name="attr_unarmed_name" value="UNARMED" disabled="true">
|
|
<button type="roll" value="&{template:custom} {{skilldevroll=1}} {{color=harn}} {{title=@{character_name} tries to improve @{unarmed_name}}} {{rolltarget=[[@{unarmed_ml}]]}} {{rollresult=[[1d100+@{unarmed_sb}]]}}" name="roll_UnarmedDevelop" class="skilldev-button"></button>
|
|
<input type="number" name="attr_unarmed_sb" class="skill-value" value="0">
|
|
<input type="number" name="attr_unarmed_ml" class="skill-value" value="0">
|
|
<button type="roll" value="&{template:custom} {{color=harn}} {{title=@{character_name} tests @{unarmed_name}}} {{rolltarget=[[{[[{[[@{unarmed_ml} - [[(@{physical_penalty})]] + ?{Target Modifier?|0}]],5}kh1]],95}kl1]]}} {{Mastery Lvl=[[@{unarmed_ml}]]}} {{penalty=[[(@{physical_penalty})]]}} {{rollresult=[[1d100cs5cs10cs15cs20cs25cs30cs35cs40cs45cs50cs55cs60cs65cs70cs75cs80cs85cs90cs95cs100]]}} {{Modifier=[[?{Target Modifier?|0}]]}}" name="roll_UnarmedCheck">
|
|
</button>
|
|
|
|
<input type="text" class="skill-label" name="attr_dodge_name" value="DODGE" disabled="true">
|
|
<button type="roll" value="&{template:custom} {{skilldevroll=1}} {{color=harn}} {{title=@{character_name} tries to improve @{dodge_name}}} {{rolltarget=[[@{dodge_ml}]]}} {{rollresult=[[1d100+@{dodge_sb}]]}}" name="roll_DodgeDevelop" class="skilldev-button">
|
|
</button>
|
|
<input type="number" name="attr_dodge_sb" class="skill-value" value="0">
|
|
<input type="number" name="attr_dodge_ml" class="skill-value" value="0">
|
|
<button type="roll" value="&{template:custom} {{color=harn}} {{title=@{character_name} tests @{dodge_name}}} {{rolltarget=[[{[[{[[@{dodge_ml} - [[(@{physical_penalty})]] + ?{Target Modifier?|0}]],5}kh1]],95}kl1]]}} {{Mastery Lvl=[[@{dodge_ml}]]}} {{penalty=[[(@{physical_penalty})]]}} {{rollresult=[[1d100cs5cs10cs15cs20cs25cs30cs35cs40cs45cs50cs55cs60cs65cs70cs75cs80cs85cs90cs95cs100]]}} {{Modifier=[[?{Target Modifier?|0}]]}}" name="roll_DodgeCheck">
|
|
</button>
|
|
|
|
<fieldset class="repeating_combatskill">
|
|
<input type="text" name="attr_combatskill_name" class="skill-label">
|
|
<button type="roll" value="&{template:custom} {{skilldevroll=1}} {{color=harn}} {{title=@{character_name} tries to improve @{combatskill_name}}} {{rolltarget=[[@{combatskill_ml}]]}} {{rollresult=[[1d100+@{combatskill_sb}]]}}" name="roll_CombatSkillDevelop" class="skilldev-button">
|
|
</button>
|
|
<input type="number" name="attr_combatskill_sb" class="skill-value" value="0">
|
|
<input type="number" name="attr_combatskill_ml" class="skill-value" value="0">
|
|
<button type="roll" value="&{template:custom} {{color=harn}} {{title=@{character_name} tests @{combatskill_name}}} {{rolltarget=[[{[[{[[@{combatskill_ml} - [[(@{physical_penalty})]] + ?{Target Modifier?|0}]],5}kh1]],95}kl1]]}} {{Mastery Lvl=[[@{combatskill_ml}]]}} {{penalty=[[(@{physical_penalty})]]}} {{rollresult=[[1d100cs5cs10cs15cs20cs25cs30cs35cs40cs45cs50cs55cs60cs65cs70cs75cs80cs85cs90cs95cs100]]}} {{Modifier=[[?{Target Modifier?|0}]]}}" name="roll_CombatSkillCheck">
|
|
</button>
|
|
</fieldset>
|
|
|
|
</div>
|
|
<div class='character-grid-section skills skills-grid colored-grid'>
|
|
<div class="skill-section-title">PHYSICAL SKILLS</div>
|
|
<div class="skill-header skill-label">Skill</div>
|
|
<div class="skill-header"> </div>
|
|
<div class="skill-header skill-value">SB</div>
|
|
<div class="skill-header skill-value">ML</div>
|
|
<div class="skill-header"> </div>
|
|
|
|
<input type="text" class="skill-label" name="attr_climbing_name" value="CLIMBING" disabled="true">
|
|
<button type="roll" value="&{template:custom} {{skilldevroll=1}} {{color=harn}} {{title=@{character_name} tries to improve @{climbing_name}}} {{rolltarget=[[@{climbing_ml}]]}} {{rollresult=[[1d100+@{climbing_sb}]]}}" name="roll_ClimbingDevelop" class="skilldev-button">
|
|
</button>
|
|
<input type="number" name="attr_climbing_sb" class="skill-value" value="0">
|
|
<input type="number" name="attr_climbing_ml" class="skill-value" value="0">
|
|
<button type="roll" value="&{template:custom} {{color=harn}} {{title=@{character_name} tests @{climbing_name}}} {{rolltarget=[[{[[{[[@{climbing_ml} - [[(@{physical_penalty})]] + ?{Target Modifier?|0}]],5}kh1]],95}kl1]]}} {{Mastery Lvl=[[@{climbing_ml}]]}} {{penalty=[[(@{physical_penalty})]]}} {{rollresult=[[1d100cs5cs10cs15cs20cs25cs30cs35cs40cs45cs50cs55cs60cs65cs70cs75cs80cs85cs90cs95cs100]]}} {{Modifier=[[?{Target Modifier?|0}]]}}" name="roll_ClimbingSkillCheck">
|
|
</button>
|
|
|
|
<input type="text" class="skill-label" name="attr_condition_name" value="CONDITION" disabled="true">
|
|
<button type="roll" value="&{template:custom} {{skilldevroll=1}} {{color=harn}} {{title=@{character_name} tries to improve @{condition_name}}} {{rolltarget=[[@{condition_ml}]]}} {{rollresult=[[1d100+@{condition_sb}]]}}" name="roll_ConditionDevelop" class="skilldev-button"></button>
|
|
<input type="number" name="attr_condition_sb" class="skill-value" value="0">
|
|
<input type="number" name="attr_condition_ml" class="skill-value" value="0">
|
|
<button type="roll" value="&{template:custom} {{color=harn}} {{title=@{character_name} tests @{condition_name}}} {{rolltarget=[[{[[{[[@{condition_ml} - [[(@{physical_penalty})]] + ?{Target Modifier?|0}]],5}kh1]],95}kl1]]}} {{Mastery Lvl=[[@{condition_ml}]]}} {{penalty=[[(@{physical_penalty})]]}} {{rollresult=[[1d100cs5cs10cs15cs20cs25cs30cs35cs40cs45cs50cs55cs60cs65cs70cs75cs80cs85cs90cs95cs100]]}} {{Modifier=[[?{Target Modifier?|0}]]}}" name="roll_ConditionSkillCheck">
|
|
</button>
|
|
|
|
<input type="text" class="skill-label" name="attr_jumping_name" value="JUMPING" disabled="true">
|
|
<button type="roll" value="&{template:custom} {{skilldevroll=1}} {{color=harn}} {{title=@{character_name} tries to improve @{jumping_name}}} {{rolltarget=[[@{jumping_ml}]]}} {{rollresult=[[1d100+@{jumping_sb}]]}}" name="roll_JumpingDevelop" class="skilldev-button">
|
|
</button>
|
|
<input type="number" name="attr_jumping_sb" class="skill-value" value="0">
|
|
<input type="number" name="attr_jumping_ml" class="skill-value" value="0">
|
|
<button type="roll" value="&{template:custom} {{color=harn}} {{title=@{character_name} tests @{jumping_name}}} {{rolltarget=[[{[[{[[@{jumping_ml} - [[(@{physical_penalty})]] + ?{Target Modifier?|0}]],5}kh1]],95}kl1]]}} {{Mastery Lvl=[[@{jumping_ml}]]}} {{penalty=[[(@{physical_penalty})]]}} {{rollresult=[[1d100cs5cs10cs15cs20cs25cs30cs35cs40cs45cs50cs55cs60cs65cs70cs75cs80cs85cs90cs95cs100]]}} {{Modifier=[[?{Target Modifier?|0}]]}}" name="roll_JumpingSkillCheck">
|
|
</button>
|
|
|
|
<input type="text" class="skill-label" name="attr_mobility_name" value="MOBILITY" disabled="true">
|
|
<button type="roll" value="&{template:custom} {{skilldevroll=1}} {{color=harn}} {{title=@{character_name} tries to improve @{mobility_name}}} {{rolltarget=[[@{mobility_ml}]]}} {{rollresult=[[1d100+@{mobility_sb}]]}}" name="roll_MobilityDevelop" class="skilldev-button">
|
|
</button>
|
|
<input type="number" name="attr_mobility_sb" class="skill-value" value="0">
|
|
<input type="number" name="attr_mobility_ml" class="skill-value" value="0">
|
|
<button type="roll" value="&{template:custom} {{color=harn}} {{title=@{character_name} tests @{mobility_name}}} {{rolltarget=[[{[[{[[@{mobility_ml} - [[(@{physical_penalty})]] + ?{Target Modifier?|0}]],5}kh1]],95}kl1]]}} {{Mastery Lvl=[[@{mobility_ml}]]}} {{penalty=[[(@{physical_penalty})]]}} {{rollresult=[[1d100cs5cs10cs15cs20cs25cs30cs35cs40cs45cs50cs55cs60cs65cs70cs75cs80cs85cs90cs95cs100]]}} {{Modifier=[[?{Target Modifier?|0}]]}}" name="roll_MobilitySkillCheck">
|
|
</button>
|
|
|
|
<input type="text" class="skill-label" name="attr_ridingpersonal_name" value="Riding" disabled="true">
|
|
<button type="roll" value="&{template:custom} {{skilldevroll=1}} {{color=harn}} {{title=@{character_name} tries to improve @{ridingpersonal_name}}} {{rolltarget=[[@{ridingpersonal_ml}]]}} {{rollresult=[[1d100+@{ridingpersonal_sb}]]}}" name="roll_RidingDevelop" class="skilldev-button">
|
|
</button>
|
|
<input type="number" name="attr_ridingpersonal_sb" class="skill-value" value="0">
|
|
<input type="number" name="attr_ridingpersonal_ml" class="skill-value" value="0">
|
|
<button type="roll" value="&{template:custom} {{color=harn}} {{title=@{character_name} tests @{ridingpersonal_name}}} {{rolltarget=[[{[[{[[@{ridingpersonal_ml} - [[(@{physical_penalty})]] + ?{Target Modifier?|0}]],5}kh1]],95}kl1]]}} {{Mastery Lvl=[[@{ridingpersonal_ml}]]}} {{penalty=[[(@{physical_penalty})]]}} {{rollresult=[[1d100cs5cs10cs15cs20cs25cs30cs35cs40cs45cs50cs55cs60cs65cs70cs75cs80cs85cs90cs95cs100]]}} {{Modifier=[[?{Target Modifier?|0}]]}}" name="roll_RidingPersonalCheck">
|
|
</button>
|
|
|
|
<input type="text" class="skill-label" name="attr_stealth_name" value="STEALTH" disabled="true">
|
|
<button type="roll" value="&{template:custom} {{skilldevroll=1}} {{color=harn}} {{title=@{character_name} tries to improve @{stealth_name}}} {{rolltarget=[[@{stealth_ml}]]}} {{rollresult=[[1d100+@{stealth_sb}]]}}" name="roll_StealthDevelop" class="skilldev-button">
|
|
</button>
|
|
<input type="number" name="attr_stealth_sb" class="skill-value" value="0">
|
|
<input type="number" name="attr_stealth_ml" class="skill-value" value="0">
|
|
<button type="roll" value="&{template:custom} {{color=harn}} {{title=@{character_name} tests @{stealth_name}}} {{rolltarget=[[{[[{[[@{stealth_ml} - [[(@{physical_penalty})]] + ?{Target Modifier?|0}]],5}kh1]],95}kl1]]}} {{Mastery Lvl=[[@{stealth_ml}]]}} {{penalty=[[(@{physical_penalty})]]}} {{rollresult=[[1d100cs5cs10cs15cs20cs25cs30cs35cs40cs45cs50cs55cs60cs65cs70cs75cs80cs85cs90cs95cs100]]}} {{Modifier=[[?{Target Modifier?|0}]]}}" name="roll_StealthSkillCheck">
|
|
</button>
|
|
|
|
<input type="text" class="skill-label" name="attr_throwing_name" value="THROWING" disabled="true">
|
|
<button type="roll" value="&{template:custom} {{skilldevroll=1}} {{color=harn}} {{title=@{character_name} tries to improve @{throwing_name}}} {{rolltarget=[[@{throwing_ml}]]}} {{rollresult=[[1d100+@{throwing_sb}]]}}" name="roll_ThrowingDevelop" class="skilldev-button">
|
|
</button>
|
|
<input type="number" name="attr_throwing_sb" class="skill-value" value="0">
|
|
<input type="number" name="attr_throwing_ml" class="skill-value" value="0">
|
|
<button type="roll" value="&{template:custom} {{color=harn}} {{title=@{character_name} tests @{throwing_name}}} {{rolltarget=[[{[[{[[@{throwing_ml} - [[(@{physical_penalty})]] + ?{Target Modifier?|0}]],5}kh1]],95}kl1]]}} {{Mastery Lvl=[[@{throwing_ml}]]}} {{penalty=[[(@{physical_penalty})]]}} {{rollresult=[[1d100cs5cs10cs15cs20cs25cs30cs35cs40cs45cs50cs55cs60cs65cs70cs75cs80cs85cs90cs95cs100]]}} {{Modifier=[[?{Target Modifier?|0}]]}}" name="roll_ThrowingSkillCheck">
|
|
</button>
|
|
|
|
<fieldset class="repeating_physicalskill">
|
|
<input type="text" name="attr_physicalskill_name" class="skill-label">
|
|
<button type="roll" value="&{template:custom} {{skilldevroll=1}} {{color=harn}} {{title=@{character_name} tries to improve @{physicalskill_name}}} {{rolltarget=[[@{physicalskill_ml}]]}} {{rollresult=[[1d100+@{physicalskill_sb}]]}}" name="roll_PhysSkillDevelop" class="skilldev-button">
|
|
</button>
|
|
<input type="number" name="attr_physicalskill_sb" class="skill-value" value="0">
|
|
<input type="number" name="attr_physicalskill_ml" class="skill-value" value="0">
|
|
<button type="roll" value="&{template:custom} {{color=harn}} {{title=@{character_name} tests @{physicalskill_name}}} {{rolltarget=[[{[[{[[@{physicalskill_ml} - [[(@{physical_penalty})]] + ?{Target Modifier?|0}]],5}kh1]],95}kl1]]}} {{Mastery Lvl=[[@{physicalskill_ml}]]}} {{penalty=[[(@{physical_penalty})]]}} {{rollresult=[[1d100cs5cs10cs15cs20cs25cs30cs35cs40cs45cs50cs55cs60cs65cs70cs75cs80cs85cs90cs95cs100]]}} {{Modifier=[[?{Target Modifier?|0}]]}}" name="roll_PhysicalSkillCheck">
|
|
</button>
|
|
</fieldset>
|
|
</div>
|
|
<div class='character-grid-section skills skills-grid colored-grid'>
|
|
<div class="skill-section-title">COMMUNICATION SKILLS</div>
|
|
<div class="skill-header skill-label">Skill</div>
|
|
<div class="skill-header"> </div>
|
|
<div class="skill-header skill-value">SB</div>
|
|
<div class="skill-header skill-value">ML</div>
|
|
<div class="skill-header"> </div>
|
|
|
|
<input type="text" class="skill-label" name="attr_awareness_name" value="AWARENESS" disabled="true">
|
|
<button type="roll" value="&{template:custom} {{skilldevroll=1}} {{color=harn}} {{title=@{character_name} tries to improve @{awareness_name}}} {{rolltarget=[[@{awareness_ml}]]}} {{rollresult=[[1d100+@{awareness_sb}]]}}" name="roll_AwarenessDevelop" class="skilldev-button">
|
|
</button>
|
|
<input type="number" name="attr_awareness_sb" class="skill-value" value="0">
|
|
<input type="number" name="attr_awareness_ml" class="skill-value" value="0">
|
|
<button type="roll" value="&{template:custom} {{color=harn}} {{title=@{character_name} tests @{awareness_name}}} {{rolltarget=[[{[[{[[@{awareness_ml} - [[(@{universal_penalty})]] + ?{Target Modifier?|0}]],5}kh1]],95}kl1]]}} {{Mastery Lvl=[[@{awareness_ml}]]}} {{penalty=[[(@{universal_penalty})]]}} {{rollresult=[[1d100cs5cs10cs15cs20cs25cs30cs35cs40cs45cs50cs55cs60cs65cs70cs75cs80cs85cs90cs95cs100]]}} {{Modifier=[[?{Target Modifier?|0}]]}}" name="roll_AwarenessSkillCheck">
|
|
</button>
|
|
|
|
<input type="text" class="skill-label" name="attr_intrigue_name" value="INTRIGUE" disabled="true">
|
|
<button type="roll" value="&{template:custom} {{skilldevroll=1}} {{color=harn}} {{title=@{character_name} tries to improve @{intrigue_name}}} {{rolltarget=[[@{intrigue_ml}]]}} {{rollresult=[[1d100+@{intrigue_sb}]]}}" name="roll_IntrigueDevelop" class="skilldev-button">
|
|
</button>
|
|
<input type="number" name="attr_intrigue_sb" class="skill-value" value="0">
|
|
<input type="number" name="attr_intrigue_ml" class="skill-value" value="0">
|
|
<button type="roll" value="&{template:custom} {{color=harn}} {{title=@{character_name} tests @{intrigue_name}}} {{rolltarget=[[{[[{[[@{intrigue_ml} - [[(@{universal_penalty})]] + ?{Target Modifier?|0}]],5}kh1]],95}kl1]]}} {{Mastery Lvl=[[@{intrigue_ml}]]}} {{penalty=[[(@{universal_penalty})]]}} {{rollresult=[[1d100cs5cs10cs15cs20cs25cs30cs35cs40cs45cs50cs55cs60cs65cs70cs75cs80cs85cs90cs95cs100]]}} {{Modifier=[[?{Target Modifier?|0}]]}}" name="roll_IntrigueSkillCheck">
|
|
</button>
|
|
|
|
<input type="text" class="skill-label" name="attr_oratory_name" value="ORATORY" disabled="true">
|
|
<button type="roll" value="&{template:custom} {{skilldevroll=1}} {{color=harn}} {{title=@{character_name} tries to improve @{oratory_name}}} {{rolltarget=[[@{oratory_ml}]]}} {{rollresult=[[1d100+@{oratory_sb}]]}}" name="roll_OratoryDevelop" class="skilldev-button">
|
|
</button>
|
|
<input type="number" name="attr_oratory_sb" class="skill-value" value="0">
|
|
<input type="number" name="attr_oratory_ml" class="skill-value" value="0">
|
|
<button type="roll" value="&{template:custom} {{color=harn}} {{title=@{character_name} tests @{oratory_name}}} {{rolltarget=[[{[[{[[@{oratory_ml} - [[(@{universal_penalty})]] + ?{Target Modifier?|0}]],5}kh1]],95}kl1]]}} {{Mastery Lvl=[[@{oratory_ml}]]}} {{penalty=[[(@{universal_penalty})]]}} {{rollresult=[[1d100cs5cs10cs15cs20cs25cs30cs35cs40cs45cs50cs55cs60cs65cs70cs75cs80cs85cs90cs95cs100]]}} {{Modifier=[[?{Target Modifier?|0}]]}}" name="roll_OratorySkillCheck">
|
|
</button>
|
|
|
|
<input type="text" class="skill-label" name="attr_rhetoric_name" value="RHETORIC" disabled="true">
|
|
<button type="roll" value="&{template:custom} {{skilldevroll=1}} {{color=harn}} {{title=@{character_name} tries to improve @{rhetoric_name}}} {{rolltarget=[[@{rhetoric_ml}]]}} {{rollresult=[[1d100+@{rhetoric_sb}]]}}" name="roll_RhetoricDevelop" class="skilldev-button">
|
|
</button>
|
|
<input type="number" name="attr_rhetoric_sb" class="skill-value" value="0">
|
|
<input type="number" name="attr_rhetoric_ml" class="skill-value" value="0">
|
|
<button type="roll" value="&{template:custom} {{color=harn}} {{title=@{character_name} tests @{rhetoric_name}}} {{rolltarget=[[{[[{[[@{rhetoric_ml} - [[(@{universal_penalty})]] + ?{Target Modifier?|0}]],5}kh1]],95}kl1]]}} {{Mastery Lvl=[[@{rhetoric_ml}]]}} {{penalty=[[(@{universal_penalty})]]}} {{rollresult=[[1d100cs5cs10cs15cs20cs25cs30cs35cs40cs45cs50cs55cs60cs65cs70cs75cs80cs85cs90cs95cs100]]}} {{Modifier=[[?{Target Modifier?|0}]]}}" name="roll_RhetoricSkillCheck">
|
|
</button>
|
|
|
|
<input type="text" class="skill-label" name="attr_singing_name" value="SINGING" disabled="true">
|
|
<button type="roll" value="&{template:custom} {{skilldevroll=1}} {{color=harn}} {{title=@{character_name} tries to improve @{singing_name}}} {{rolltarget=[[@{singing_ml}]]}} {{rollresult=[[1d100+@{singing_sb}]]}}" name="roll_SingingDevelop" class="skilldev-button">
|
|
</button>
|
|
<input type="number" name="attr_singing_sb" class="skill-value" value="0">
|
|
<input type="number" name="attr_singing_ml" class="skill-value" value="0">
|
|
<button type="roll" value="&{template:custom} {{color=harn}} {{title=@{character_name} tests @{singing_name}}} {{rolltarget=[[{[[{[[@{singing_ml} - [[(@{universal_penalty})]] + ?{Target Modifier?|0}]],5}kh1]],95}kl1]]}} {{Mastery Lvl=[[@{singing_ml}]]}} {{penalty=[[(@{universal_penalty})]]}} {{rollresult=[[1d100cs5cs10cs15cs20cs25cs30cs35cs40cs45cs50cs55cs60cs65cs70cs75cs80cs85cs90cs95cs100]]}} {{Modifier=[[?{Target Modifier?|0}]]}}" name="roll_SingingSkillCheck">
|
|
</button>
|
|
|
|
<fieldset class="repeating_communicationskill">
|
|
<input type="text" name="attr_communicationskill_name" class="skill-label">
|
|
<button type="roll" value="&{template:custom} {{skilldevroll=1}} {{color=harn}} {{title=@{character_name} tries to improve @{communicationskill_name}}} {{rolltarget=[[@{communicationskill_ml}]]}} {{rollresult=[[1d100+@{communicationskill_sb}]]}}" name="roll_CommSkillDevelop" class="skilldev-button">
|
|
</button>
|
|
<input type="number" name="attr_communicationskill_sb" class="skill-value" value="0">
|
|
<input type="number" name="attr_communicationskill_ml" class="skill-value" value="0">
|
|
<button type="roll" value="&{template:custom} {{color=harn}} {{title=@{character_name} tests @{communicationskill_name}}} {{rolltarget=[[{[[{[[@{communicationskill_ml} - [[(@{universal_penalty})]] + ?{Target Modifier?|0}]],5}kh1]],95}kl1]]}} {{Mastery Lvl=[[@{communicationskill_ml}]]}} {{penalty=[[(@{universal_penalty})]]}} {{rollresult=[[1d100cs5cs10cs15cs20cs25cs30cs35cs40cs45cs50cs55cs60cs65cs70cs75cs80cs85cs90cs95cs100]]}} {{Modifier=[[?{Target Modifier?|0}]]}}" name="roll_CommunicationSkillCheck">
|
|
</button>
|
|
</fieldset>
|
|
</div>
|
|
<div class='character-grid-section skills skills-grid colored-grid'>
|
|
<div class="skill-section-title">CRAFT/LORE SKILLS</div>
|
|
<div class="skill-header skill-label">Skill</div>
|
|
<div class="skill-header"> </div>
|
|
<div class="skill-header skill-value">SB</div>
|
|
<div class="skill-header skill-value">ML</div>
|
|
<div class="skill-header"> </div>
|
|
<fieldset class="repeating_loreskill">
|
|
<input type="text" name="attr_loreskill_name" class="skill-label">
|
|
<button type="roll" value="&{template:custom} {{skilldevroll=1}} {{color=harn}} {{title=@{character_name} tries to improve @{loreskill_name}}} {{rolltarget=[[@{loreskill_ml}]]}} {{rollresult=[[1d100+@{loreskill_sb}]]}}" name="roll_LoreSkillDevelop" class="skilldev-button">
|
|
</button>
|
|
<input type="number" name="attr_loreskill_sb" class="skill-value" value="0">
|
|
<input type="number" name="attr_loreskill_ml" class="skill-value" value="0">
|
|
<button type="roll" value="&{template:custom} {{color=harn}} {{title=@{character_name} tests @{loreskill_name}}} {{rolltarget=[[{[[{[[@{loreskill_ml} - [[(@{universal_penalty})]] + ?{Target Modifier?|0}]],5}kh1]],95}kl1]]}} {{Mastery Lvl=[[@{loreskill_ml}]]}} {{penalty=[[(@{universal_penalty})]]}} {{rollresult=[[1d100cs5cs10cs15cs20cs25cs30cs35cs40cs45cs50cs55cs60cs65cs70cs75cs80cs85cs90cs95cs100]]}} {{Modifier=[[?{Target Modifier?|0}]]}}" name="roll_LoreSkillCheck">
|
|
</button>
|
|
</fieldset>
|
|
|
|
</div>
|
|
<div class='character-grid-section skills skills-grid colored-grid'>
|
|
<div class="skill-section-title">RITUAL SKILLS</div>
|
|
<div class="skill-header skill-label">Skill</div>
|
|
<div class="skill-header"> </div>
|
|
<div class="skill-header skill-value">SB</div>
|
|
<div class="skill-header skill-value">ML</div>
|
|
<div class="skill-header"> </div>
|
|
<fieldset class="repeating_ritualskill">
|
|
<input type="text" name="attr_ritualskill_name" class="skill-label">
|
|
<button type="roll" value="&{template:custom} {{skilldevroll=1}} {{color=harn}} {{title=@{character_name} tries to improve @{ritualskill_name}}} {{rolltarget=[[@{ritualskill_ml}]]}} {{rollresult=[[1d100+@{ritualskill_sb}]]}}" name="roll_RitualSkillDevelop" class="skilldev-button">
|
|
</button>
|
|
<input type="number" name="attr_ritualskill_sb" class="skill-value" value="0">
|
|
<input type="number" name="attr_ritualskill_ml" class="skill-value" value="0">
|
|
<button type="roll" value="&{template:custom} {{color=harn}} {{title=@{character_name} tests @{ritualskill_name}}} {{rolltarget=[[{[[{[[@{ritualskill_ml} - [[(@{universal_penalty})]] + ?{Target Modifier?|0}]],5}kh1]],95}kl1]]}} {{Mastery Lvl=[[@{ritualskill_ml}]]}} {{penalty=[[(@{universal_penalty})]]}} {{rollresult=[[1d100cs5cs10cs15cs20cs25cs30cs35cs40cs45cs50cs55cs60cs65cs70cs75cs80cs85cs90cs95cs100]]}} {{Modifier=[[?{Target Modifier?|0}]]}}" name="roll_RitualSkillCheck">
|
|
</button>
|
|
</fieldset>
|
|
</div>
|
|
<div class='character-grid-section skills skills-grid colored-grid'>
|
|
<div class="skill-section-title">SHEK PVAR</div>
|
|
<div class="skill-header skill-label">Skill</div>
|
|
<div class="skill-header"> </div>
|
|
<div class="skill-header skill-value">SB</div>
|
|
<div class="skill-header"> </div>
|
|
<div class="skill-header"> </div>
|
|
<fieldset class="repeating_magicskill">
|
|
<input type="text" name="attr_magicskill_name" class="skill-label" list="convocations">
|
|
<div class="skill-level"> </div>
|
|
<input type="number" name="attr_magicskill_sb" class="skill-value" value="0">
|
|
<div class="skill-level"> </div>
|
|
<div class="skill-level"> </div>
|
|
</fieldset>
|
|
</div>
|
|
<div class='character-grid-section section-title'><h2>Combat Profile</h2></div>
|
|
<div class='character-grid-section combat combat-grid colored-grid'>
|
|
<div class="skill-section-title">COMBAT STATS</div>
|
|
<label for=combatinit>Initiative</label>
|
|
<span id=combatinit name="attr_combat_initiative" class="skill-value"></span>
|
|
<button type="roll" value="&{template:custom} {{color=harn}} {{title=Turn Order}} {{subtitle=@{character_name}}} {{Initiative=[[@{combat_initiative} &{tracker}]]}} {{desc=Initiative (adjusted for penalties) added to the Turn Order}}" name="roll_CombatInitiativeToTurn" class="turnorder-button harntooltip" data-tooltiptext="Add current initiative to Turn Order. Remember to select your token!">
|
|
</button>
|
|
|
|
<!-- clean up the endurance / condition situation -->
|
|
<label for=combatend>Endurance</label>
|
|
<span id=combatend name="attr_end" class="skill-value"></span>
|
|
<div> </div>
|
|
|
|
<label for=combatcarry class="harntooltip" data-tooltiptext="This can used to calculate encumbrance, dependant on the setting of the Use Condition houserule on the settings tab.">Condition/5</label>
|
|
<span id=combatcarry name="attr_load_effectivecondition" class="skill-value"></span>
|
|
<div> </div>
|
|
|
|
<label for=combatmove>Mobility</label>
|
|
<span id=combatmove name="attr_combat_move" class="skill-value"></span>
|
|
<div> </div>
|
|
|
|
<label for=combatdodge>Dodge</label>
|
|
<span id=combatdodge name="attr_dodge_eml" class="skill-value"></span>
|
|
<button type="roll" value="&{template:custom} {{color=harn}} {{title=@{character_name} tests dodge}} {{rolltarget=[[{[[{[[@{dodge_ml} - [[(@{physical_penalty})]] + ?{Target Modifier?|0}]],5}kh1]],95}kl1]]}} {{Mastery Lvl=[[@{dodge_ml}]]}} {{penalty=[[(@{physical_penalty})]]}} {{rollresult=[[1d100cs5cs10cs15cs20cs25cs30cs35cs40cs45cs50cs55cs60cs65cs70cs75cs80cs85cs90cs95cs100]]}} {{Modifier=[[?{Target Modifier?|0}]]}}" name="roll_DodgeCheck"></button>
|
|
</div>
|
|
<div class='character-grid-section load load-grid colored-grid'>
|
|
<div class="skill-section-title">LOAD CARRIED</div>
|
|
<label for=weaponload>Weapons</label>
|
|
<span id=weaponload name="attr_load_weapons_total" class="skill-value"></span>
|
|
<label for=armorload>Armour</label>
|
|
<span id=armorload name="attr_load_armor_total" class="skill-value" class="number-value"></span>
|
|
<label for=invenload>Inventory</label>
|
|
<span id=invenload name="attr_load_inventory_total" class="skill-value" class="number-value"></span>
|
|
<label for=totalweight class="sumrow">Total Weight</label>
|
|
<input id=totalweight name="attr_load_total" class="skill-value sumrow" readonly>
|
|
<label for=fatiguerate>Fatigue Rate</label>
|
|
<span id=fatiguerate name="attr_fatigue_rate" class="skill-value"></span>
|
|
<div> </div> <div> </div>
|
|
<label for=mountedtoggle>Mounted?</label>
|
|
<input id=mountedtoggle type="checkbox" name="attr_is_mounted" value="1">
|
|
<input type="hidden" name="attr_is_mounted" class="display-mounted-status"> <!-- this is filled with the value set by the is carried checkbox above-->
|
|
</div>
|
|
<div class='character-grid-section penalties penalties-grid colored-grid'>
|
|
<div class="skill-section-title">PENALTIES</div>
|
|
<label for=injurylvl>Injury</label>
|
|
<span id=injurylvl name="attr_injury_total" class="skill-value"></span>
|
|
<label for=fatigue>Fatigue</label>
|
|
<input id=fatigue type="number" name="attr_fatigue_total" value="0" class="skill-value">
|
|
<label for=universalpenalty class="sumrow harntooltip" data-tooltiptext="Universal penalty is applied to non-physical skills if the option is set.">Universal</label>
|
|
<input id=universalpenalty name="attr_universal_penalty" class="skill-value sumrow" readonly>
|
|
<label for=enc_mult>FR Mult.</label>
|
|
<select id=enc_mult name="attr_enc_multiplier" class="skill-label">
|
|
<option value="2">2</option>
|
|
<option value="3">3</option>
|
|
<option value="4">4</option>
|
|
<option value="5">5</option>
|
|
</select>
|
|
<label for=encumbrance class="harntooltip" data-tooltiptext="Encumbrance is added to physical penalty if the option is set.">Encumb.</label>
|
|
<span id=encumbrance name="attr_encumbrance" class="skill-value"></span>
|
|
<label for=physicalpenalty class="sumrow">Physical</label>
|
|
<input id=physicalpenalty type="number" name="attr_physical_penalty" value="0" class="skill-value sumrow" readonly>
|
|
</div>
|
|
<div class='character-grid-section injuries injuries-grid colored-grid'>
|
|
<div class="skill-section-title">INJURIES</div>
|
|
<div class="skill-header skill-label">Location/Type</div>
|
|
<div class="skill-header skill-value">SV</div>
|
|
<div class="skill-header skill-value">LvL</div>
|
|
<div class="skill-header skill-value">HR</div>
|
|
<div class="skill-header skill-value">Day</div>
|
|
<div class="skill-header skill-value"> </div>
|
|
<div class="skill-header">Inf</div>
|
|
|
|
<fieldset class="repeating_injury">
|
|
<input type="text" name="attr_injury_location" class="skill-label">
|
|
<select name="attr_injury_severity" class="skill-label">
|
|
<option value="M">M</option>
|
|
<option value="S">S</option>
|
|
<option value="G">G</option>
|
|
<option value="K">K</option>
|
|
</select>
|
|
<input type="number" name="attr_injury_level" class="skill-value" value="0">
|
|
<input type="number" name="attr_injury_healingroll" class="skill-value" value="0">
|
|
<input type="number" name="attr_injury_day" class="skill-value" value="0">
|
|
<button type="roll" value="&{template:custom} {{color=harn}} {{title=@{character_name} rolls a healing check}} {{infected=[[@{injury_infected_feedback}]]}} {{rolltarget=[[{[[{[[(@{injury_healingroll} * 5 + [[@{condition_ml}]]) - [[(@{universal_penalty})]] + ?{Target Modifier?|0}]],5}kh1]],95}kl1]]}} {{rollresult=[[1d100cs5cs10cs15cs20cs25cs30cs35cs40cs45cs50cs55cs60cs65cs70cs75cs80cs85cs90cs95cs100]]}} {{Modifiers=[[?{Target Modifier?|0}]]}} {{Healing Roll=[[@{injury_healingroll} * 5 + [[@{condition_ml}]]]]}} {{desc=@{injury_location} @{injury_severity}@{injury_level} H@{injury_healingroll}}}" name="roll_healingcheck"></button>
|
|
<input type="checkbox" name="attr_injury_infected"><span></span>
|
|
<input type="hidden" name="attr_injury_infected_feedback" value="0" readonly>
|
|
</fieldset>
|
|
<div class="injuryrollbutton-grid">
|
|
<div> </div>
|
|
<button type="roll" class="injuryroll"
|
|
value="&{template:custom} {{color=harn}} {{title=@{character_name} tests shock}} {{rolltarget=[[{[[{[[@{condition_ml} - [[(@{universal_penalty})]] + ?{Target Modifier?|0}]],5}kh1]],95}kl1]]}} {{Mastery Lvl=[[@{condition_ml}]]}} {{penalty=[[(@{universal_penalty})]]}} {{rollresult=[[1d100cs5cs10cs15cs20cs25cs30cs35cs40cs45cs50cs55cs60cs65cs70cs75cs80cs85cs90cs95cs100]]}} {{Modifier=[[?{Target Modifier?|0}]]}}" name="roll_ShockCheck">Shock
|
|
</button>
|
|
<button type="roll" class="injuryroll"
|
|
value="&{template:custom} {{color=harn}} {{title=@{character_name} tests stumble}} {{rolltarget=[[{[[{[[(@{combat_stumble}) - [[(@{physical_penalty})]] + ?{Target Modifier?|0}]],5}kh1]],95}kl1]]}} {{Mastery Lvl=[[@{combat_stumble}]]}} {{penalty=[[(@{physical_penalty})]]}} {{rollresult=[[1d100cs5cs10cs15cs20cs25cs30cs35cs40cs45cs50cs55cs60cs65cs70cs75cs80cs85cs90cs95cs100]]}} {{Modifier=[[?{Target Modifier?|0}]]}}" name="roll_ShockCheck">Stumble
|
|
</button>
|
|
<button type="roll" class="injuryroll"
|
|
value="&{template:custom} {{color=harn}} {{title=@{character_name} tests fumble}} {{rolltarget=[[{[[{[[@{dex}*5 - [[(@{universal_penalty})]] + ?{Target Modifier?|0}]],5}kh1]],95}kl1]]}} {{Mastery Lvl=[[@{dex}*5]]}} {{penalty=[[(@{universal_penalty})]]}} {{rollresult=[[1d100cs5cs10cs15cs20cs25cs30cs35cs40cs45cs50cs55cs60cs65cs70cs75cs80cs85cs90cs95cs100]]}} {{Modifier=[[?{Target Modifier?|0}]]}}" name="roll_ShockCheck">Fumble
|
|
</button>
|
|
<div> </div>
|
|
</div>
|
|
</div>
|
|
<div class='character-grid-section armorprotection armorprotection-grid bordered-grid'>
|
|
<div class="skill-section-title">ARMOR PROTECTION</div>
|
|
<div class="skill-label skill-header">Location</div>
|
|
<div class="skill-label skill-header">Compound Layers</div>
|
|
<div class="skill-value skill-header">B</div>
|
|
<div class="skill-value skill-header">E</div>
|
|
<div class="skill-value skill-header">P</div>
|
|
<div class="skill-value skill-header">F</div>
|
|
<div class="skill-value skill-header">S</div>
|
|
<div class="skill-value skill-header">T</div>
|
|
|
|
<div class="sectionarmourhead full-width sectionwrapper">
|
|
<label for=skull>Skull</label>
|
|
<input id=skull type="text" name="attr_skull_layers" class="armor-label">
|
|
<input type="number" name="attr_sk_b" class="skill-value" value="0" readonly>
|
|
<input type="number" name="attr_sk_e" class="skill-value" value="0" readonly>
|
|
<input type="number" name="attr_sk_p" class="skill-value" value="0" readonly>
|
|
<input type="number" name="attr_sk_f" class="skill-value" value="0" readonly>
|
|
<input type="number" name="attr_sk_s" class="skill-value" value="0" readonly>
|
|
<input type="number" name="attr_sk_t" class="skill-value" value="0" readonly>
|
|
|
|
<label for=face>Face</label>
|
|
<input id=face type="text" name="attr_face_layers" class="armor-label">
|
|
<input type="number" name="attr_fa_b" class="skill-value" value="0" readonly>
|
|
<input type="number" name="attr_fa_e" class="skill-value" value="0" readonly>
|
|
<input type="number" name="attr_fa_p" class="skill-value" value="0" readonly>
|
|
<input type="number" name="attr_fa_f" class="skill-value" value="0" readonly>
|
|
<input type="number" name="attr_fa_s" class="skill-value" value="0" readonly>
|
|
<input type="number" name="attr_fa_t" class="skill-value" value="0" readonly>
|
|
|
|
<label for=neck>Neck</label>
|
|
<input id=neck type="text" name="attr_neck_layers" class="armor-label">
|
|
<input type="number" name="attr_nk_b" class="skill-value" value="0" readonly>
|
|
<input type="number" name="attr_nk_e" class="skill-value" value="0" readonly>
|
|
<input type="number" name="attr_nk_p" class="skill-value" value="0" readonly>
|
|
<input type="number" name="attr_nk_f" class="skill-value" value="0" readonly>
|
|
<input type="number" name="attr_nk_s" class="skill-value" value="0" readonly>
|
|
<input type="number" name="attr_nk_t" class="skill-value" value="0" readonly>
|
|
</div>
|
|
|
|
<div class="sectionarmourarms full-width sectionwrapper">
|
|
<label for=shoulder>Shoulder</label>
|
|
<input id=shoulder type="text" name="attr_shoulder_layers" class="armor-label">
|
|
<input type="number" name="attr_sh_b" class="skill-value" value="0" readonly>
|
|
<input type="number" name="attr_sh_e" class="skill-value" value="0" readonly>
|
|
<input type="number" name="attr_sh_p" class="skill-value" value="0" readonly>
|
|
<input type="number" name="attr_sh_f" class="skill-value" value="0" readonly>
|
|
<input type="number" name="attr_sh_s" class="skill-value" value="0" readonly>
|
|
<input type="number" name="attr_sh_t" class="skill-value" value="0" readonly>
|
|
|
|
<label for=upperarm>Upper Arm</label>
|
|
<input id=upperarm type="text" name="attr_upperarm_layers" class="armor-label">
|
|
<input type="number" name="attr_ua_b" class="skill-value" value="0" readonly>
|
|
<input type="number" name="attr_ua_e" class="skill-value" value="0" readonly>
|
|
<input type="number" name="attr_ua_p" class="skill-value" value="0" readonly>
|
|
<input type="number" name="attr_ua_f" class="skill-value" value="0" readonly>
|
|
<input type="number" name="attr_ua_s" class="skill-value" value="0" readonly>
|
|
<input type="number" name="attr_ua_t" class="skill-value" value="0" readonly>
|
|
|
|
<label for=elbow>Elbow</label>
|
|
<input id=elbow type="text" name="attr_elbow_layers" class="armor-label">
|
|
<input type="number" name="attr_el_b" class="skill-value" value="0" readonly>
|
|
<input type="number" name="attr_el_e" class="skill-value" value="0" readonly>
|
|
<input type="number" name="attr_el_p" class="skill-value" value="0" readonly>
|
|
<input type="number" name="attr_el_f" class="skill-value" value="0" readonly>
|
|
<input type="number" name="attr_el_s" class="skill-value" value="0" readonly>
|
|
<input type="number" name="attr_el_t" class="skill-value" value="0" readonly>
|
|
|
|
<label for=forearm>Forearm</label>
|
|
<input id=forearm type="text" name="attr_forearm_layers" class="armor-label">
|
|
<input type="number" name="attr_fo_b" class="skill-value" value="0" readonly>
|
|
<input type="number" name="attr_fo_e" class="skill-value" value="0" readonly>
|
|
<input type="number" name="attr_fo_p" class="skill-value" value="0" readonly>
|
|
<input type="number" name="attr_fo_f" class="skill-value" value="0" readonly>
|
|
<input type="number" name="attr_fo_s" class="skill-value" value="0" readonly>
|
|
<input type="number" name="attr_fo_t" class="skill-value" value="0" readonly>
|
|
|
|
<label for=hand>Hand</label>
|
|
<input id=hand type="text" name="attr_hand_layers" class="armor-label">
|
|
<input type="number" name="attr_ha_b" class="skill-value" value="0" readonly>
|
|
<input type="number" name="attr_ha_e" class="skill-value" value="0" readonly>
|
|
<input type="number" name="attr_ha_p" class="skill-value" value="0" readonly>
|
|
<input type="number" name="attr_ha_f" class="skill-value" value="0" readonly>
|
|
<input type="number" name="attr_ha_s" class="skill-value" value="0" readonly>
|
|
<input type="number" name="attr_ha_t" class="skill-value" value="0" readonly>
|
|
</div>
|
|
|
|
<div class="sectionarmourtorso full-width sectionwrapper">
|
|
<label for=thorax>Thorax</label>
|
|
<input id=thorax type="text" name="attr_thorax_layers" class="armor-label">
|
|
<input type="number" name="attr_tx_b" class="skill-value" value="0" readonly>
|
|
<input type="number" name="attr_tx_e" class="skill-value" value="0" readonly>
|
|
<input type="number" name="attr_tx_p" class="skill-value" value="0" readonly>
|
|
<input type="number" name="attr_tx_f" class="skill-value" value="0" readonly>
|
|
<input type="number" name="attr_tx_s" class="skill-value" value="0" readonly>
|
|
<input type="number" name="attr_tx_t" class="skill-value" value="0" readonly>
|
|
|
|
<label for=abdomen>Abdomen</label>
|
|
<input id=abdomen type="text" name="attr_abdomen_layers" class="armor-label">
|
|
<input type="number" name="attr_ab_b" class="skill-value" value="0" readonly>
|
|
<input type="number" name="attr_ab_e" class="skill-value" value="0" readonly>
|
|
<input type="number" name="attr_ab_p" class="skill-value" value="0" readonly>
|
|
<input type="number" name="attr_ab_f" class="skill-value" value="0" readonly>
|
|
<input type="number" name="attr_ab_s" class="skill-value" value="0" readonly>
|
|
<input type="number" name="attr_ab_t" class="skill-value" value="0" readonly>
|
|
|
|
<label for=hip>Hip</label>
|
|
<input id=hp type="text" name="attr_hp_layers" class="armor-label">
|
|
<input type="number" name="attr_hp_b" class="skill-value" value="0" readonly>
|
|
<input type="number" name="attr_hp_e" class="skill-value" value="0" readonly>
|
|
<input type="number" name="attr_hp_p" class="skill-value" value="0" readonly>
|
|
<input type="number" name="attr_hp_f" class="skill-value" value="0" readonly>
|
|
<input type="number" name="attr_hp_s" class="skill-value" value="0" readonly>
|
|
<input type="number" name="attr_hp_t" class="skill-value" value="0" readonly>
|
|
|
|
<label for=groin>Groin</label>
|
|
<input id=groin type="text" name="attr_groin_layers" class="armor-label">
|
|
<input type="number" name="attr_gr_b" class="skill-value" value="0" readonly>
|
|
<input type="number" name="attr_gr_e" class="skill-value" value="0" readonly>
|
|
<input type="number" name="attr_gr_p" class="skill-value" value="0" readonly>
|
|
<input type="number" name="attr_gr_f" class="skill-value" value="0" readonly>
|
|
<input type="number" name="attr_gr_s" class="skill-value" value="0" readonly>
|
|
<input type="number" name="attr_gr_t" class="skill-value" value="0" readonly>
|
|
</div>
|
|
|
|
<div class="sectionarmourlegs full-width sectionwrapper">
|
|
<label for=thigh>Thigh</label>
|
|
<input id=thigh type="text" name="attr_thigh_layers" class="armor-label">
|
|
<input type="number" name="attr_th_b" class="skill-value" value="0" readonly>
|
|
<input type="number" name="attr_th_e" class="skill-value" value="0" readonly>
|
|
<input type="number" name="attr_th_p" class="skill-value" value="0" readonly>
|
|
<input type="number" name="attr_th_f" class="skill-value" value="0" readonly>
|
|
<input type="number" name="attr_th_s" class="skill-value" value="0" readonly>
|
|
<input type="number" name="attr_th_t" class="skill-value" value="0" readonly>
|
|
|
|
<label for=knee>Knee</label>
|
|
<input id=knee type="text" name="attr_knee_layers" class="armor-label">
|
|
<input type="number" name="attr_kn_b" class="skill-value" value="0" readonly>
|
|
<input type="number" name="attr_kn_e" class="skill-value" value="0" readonly>
|
|
<input type="number" name="attr_kn_p" class="skill-value" value="0" readonly>
|
|
<input type="number" name="attr_kn_f" class="skill-value" value="0" readonly>
|
|
<input type="number" name="attr_kn_s" class="skill-value" value="0" readonly>
|
|
<input type="number" name="attr_kn_t" class="skill-value" value="0" readonly>
|
|
|
|
<label for=calf>Calf</label>
|
|
<input id=calf type="text" name="attr_calf_layers" class="armor-label">
|
|
<input type="number" name="attr_ca_b" class="skill-value" value="0" readonly>
|
|
<input type="number" name="attr_ca_e" class="skill-value" value="0" readonly>
|
|
<input type="number" name="attr_ca_p" class="skill-value" value="0" readonly>
|
|
<input type="number" name="attr_ca_f" class="skill-value" value="0" readonly>
|
|
<input type="number" name="attr_ca_s" class="skill-value" value="0" readonly>
|
|
<input type="number" name="attr_ca_t" class="skill-value" value="0" readonly>
|
|
|
|
<label for=foot>Foot</label>
|
|
<input id=foot type="text" name="attr_foot_layers" class="armor-label">
|
|
<input type="number" name="attr_ft_b" class="skill-value" value="0" readonly>
|
|
<input type="number" name="attr_ft_e" class="skill-value" value="0" readonly>
|
|
<input type="number" name="attr_ft_p" class="skill-value" value="0" readonly>
|
|
<input type="number" name="attr_ft_f" class="skill-value" value="0" readonly>
|
|
<input type="number" name="attr_ft_s" class="skill-value" value="0" readonly>
|
|
<input type="number" name="attr_ft_t" class="skill-value" value="0" readonly>
|
|
</div>
|
|
|
|
|
|
</div>
|
|
<div class='character-grid-section carriedweapons weapons-grid colored-grid'>
|
|
<div class="skill-section-title">CARRIED MELEE WEAPONS</div>
|
|
<div class="skill-header weapon-label">Weapon</div>
|
|
<div class="skill-header skill-value harntooltip" data-tooltiptext="Equipped?">E</div>
|
|
<div class="skill-header skill-value">WGT</div>
|
|
<div class="skill-header skill-value">WQ</div>
|
|
<div class="skill-header skill-value"> </div>
|
|
<div class="skill-header skill-value">A/D</div>
|
|
<div class="skill-header skill-value">Pr.</div>
|
|
<div class="skill-header skill-value"> </div>
|
|
<div class="skill-header skill-value">Se.</div>
|
|
<div class="skill-header skill-value"> </div>
|
|
<div class="skill-header skill-value">B</div>
|
|
<div class="skill-header skill-value">E</div>
|
|
<div class="skill-header skill-value">P</div>
|
|
<div class="skill-header skill-value">ML</div>
|
|
<div class="skill-header skill-value"> </div>
|
|
<div class="skill-header skill-label weapon-note">Note</div>
|
|
|
|
<input type="text" name="attr_punch_weapon_name" class="weapon-label" readonly value="Punch">
|
|
<div> </div>
|
|
<input type="number" step="any" name="attr_punch_weapon_wgt" class="skill-value" readonly value="0">
|
|
<input type="number" name="attr_punch_weapon_wq" class="skill-value" readonly value="0">
|
|
<button type="roll" value="&{template:custom} {{color=harn}} {{nocrit=1}} {{title=@{character_name} tests weapon break}} {{subtitle=@{punch_weapon_name}}} {{rolltarget=[[@{punch_weapon_wq}]]}} {{rollresult=[[3d6]]}} {{base=@{punch_weapon_wq}}} {{rolltype=3d6}}" name="roll_unarmedweaponbreakcheck">
|
|
</button>
|
|
<span>0/3</span>
|
|
<input type="number" name="attr_punch_weapon_pr" class="skill-value" readonly value="0">
|
|
<div> </div>
|
|
<input type="number" name="attr_punch_weapon_se" class="skill-value" readonly value="0">
|
|
<div> </div>
|
|
<input type="number" name="attr_punch_weapon_b" class="skill-value" readonly value="1">
|
|
<input type="number" name="attr_punch_weapon_e" class="skill-value" readonly value="0">
|
|
<input type="number" name="attr_punch_weapon_p" class="skill-value" readonly value="0">
|
|
<input type="number" name="attr_punch_weapon_ml" class="skill-value">
|
|
<button type="roll" value="&{template:custom} {{color=harn}} {{title=@{character_name} melees with a @{punch_weapon_name}}} {{rolltarget=[[{[[{[[@{punch_weapon_ml} - @{physical_penalty} + ?{Target Modifier?|0}]],5}kh1]],95}kl1]]}} {{Mastery Lvl=[[@{punch_weapon_ml}]]}} {{penalty=[[(@{physical_penalty})]]}} {{rollresult=[[1d100cs5cs10cs15cs20cs25cs30cs35cs40cs45cs50cs55cs60cs65cs70cs75cs80cs85cs90cs95cs100]]}} {{Modifiers=[[?{Target Modifier?|0}]]}} {{desc=B(@{punch_weapon_b}) E(@{punch_weapon_e}) P(@{punch_weapon_p})}}" name="roll_UnarmedWeaponMLSkillCheck">
|
|
</button>
|
|
<input type="text" name="attr_punch_weapon_note" class="skill-label weapon-note">
|
|
<input type="text" name="attr_kick_weapon_name" class="weapon-label" readonly value="Kick">
|
|
<div> </div>
|
|
<input type="number" step="any" name="attr_kick_weapon_wgt" class="skill-value" readonly value="0">
|
|
<input type="number" name="attr_kick_weapon_wq" class="skill-value" readonly value="0">
|
|
<button type="roll" value="&{template:custom} {{color=harn}} {{nocrit=1}} {{title=@{character_name} tests weapon break}} {{subtitle=@{kick_weapon_name}}} {{rolltarget=[[@{kick_weapon_wq}]]}} {{rollresult=[[3d6]]}} {{base=@{kick_weapon_wq}}} {{rolltype=3d6}}" name="roll_unarmedweaponbreakcheck">
|
|
</button>
|
|
<span>1/1</span>
|
|
<input type="number" name="attr_kick_weapon_pr" class="skill-value" readonly value="0">
|
|
<div> </div>
|
|
<input type="number" name="attr_kick_weapon_se" class="skill-value" readonly value="0">
|
|
<div> </div>
|
|
<input type="number" name="attr_kick_weapon_b" class="skill-value" readonly value="2">
|
|
<input type="number" name="attr_kick_weapon_e" class="skill-value" readonly value="0">
|
|
<input type="number" name="attr_kick_weapon_p" class="skill-value" readonly value="0">
|
|
<input type="number" name="attr_kick_weapon_ml" class="skill-value">
|
|
<button type="roll" value="&{template:custom} {{color=harn}} {{title=@{character_name} melees with a @{kick_weapon_name}}} {{rolltarget=[[{[[{[[@{kick_weapon_ml} - @{physical_penalty} + ?{Target Modifier?|0}]],5}kh1]],95}kl1]]}} {{Mastery Lvl=[[@{kick_weapon_ml}]]}} {{penalty=[[(@{physical_penalty})]]}} {{rollresult=[[1d100cs5cs10cs15cs20cs25cs30cs35cs40cs45cs50cs55cs60cs65cs70cs75cs80cs85cs90cs95cs100]]}} {{Modifiers=[[?{Target Modifier?|0}]]}}" name="roll_unarmedweaponmlskillcheck">
|
|
</button>
|
|
<input type="text" name="attr_kick_weapon_note" class="skill-label weapon-note">
|
|
|
|
<fieldset class="repeating_weapon">
|
|
<input type="hidden" name="attr_weapon_iscarried" class="display-carried-weapon"> <!-- this is filled with the value set by the is carried checkbox above-->
|
|
<div class="weapon-display">
|
|
<input type="text" name="attr_weapon_name" class="weapon-label" readonly>
|
|
<input type="checkbox" name="attr_weapon_iscarried" value="1">
|
|
<span name="attr_weapon_wgt" class="skill-value"></span>
|
|
<input type="number" name="attr_weapon_wq" class="skill-value" readonly>
|
|
<button type="roll" class="harntooltip" value="&{template:custom} {{color=harn}} {{title=@{character_name} tests weapon damage}} {{subtitle=@{weapon_name}}} {{rolltarget=[[{[[{[[@{weapon_wq}*5 + ?{Target Modifier?|0}]],5}kh1]],95}kl1]]}} {{Modifier=[[?{Target Modifier?|0}]]}} {{rollresult=[[1d100cs5cs10cs15cs20cs25cs30cs35cs40cs45cs50cs55cs60cs65cs70cs75cs80cs85cs90cs95cs100]]}}" name="roll_WeaponBreakCheck" data-tooltiptext="Use this button to roll a weapon damage check">
|
|
</button>
|
|
<span name="attr_weapon_classes" class="skill-value"></span>
|
|
<input type="number" name="attr_weapon_pr" class="skill-value" readonly>
|
|
<button type="roll" class="harntooltip" value="&{template:custom} {{color=harn}} {{title=@{character_name} melees with a @{weapon_name}}} {{subtitle=With primary hand penalty}} {{rolltarget=[[{[[{[[@{weapon_ml} - @{weapon_pr} - @{physical_penalty} + ?{Target Modifier?|0}]],5}kh1]],95}kl1]]}} {{Mastery Lvl=[[@{weapon_ml}]]}} {{penalty=[[@{physical_penalty} + @{weapon_pr}]]}} {{rollresult=[[1d100cs5cs10cs15cs20cs25cs30cs35cs40cs45cs50cs55cs60cs65cs70cs75cs80cs85cs90cs95cs100]]}} {{Modifier=[[?{Target Modifier?|0}]]}} {{desc=B(@{weapon_b}) E(@{weapon_e}) P(@{weapon_p}) }}" name="roll_WeaponPRMLSkillCheck" data-tooltiptext="Use this button to roll attack/defense with included primary hand penalty">
|
|
</button>
|
|
<input type="number" name="attr_weapon_se" class="skill-value" readonly>
|
|
<button type="roll" class="harntooltip" value="&{template:custom} {{color=harn}} {{title=@{character_name} melees with a @{weapon_name}}} {{subtitle=With secondary hand penalty}} {{rolltarget=[[{[[{[[@{weapon_ml} - @{weapon_se} - @{physical_penalty} + ?{Target Modifier?|0}]],5}kh1]],95}kl1]]}} {{Mastery Lvl=[[@{weapon_ml}]]}} {{penalty=[[@{physical_penalty} + @{weapon_se}]]}} {{rollresult=[[1d100cs5cs10cs15cs20cs25cs30cs35cs40cs45cs50cs55cs60cs65cs70cs75cs80cs85cs90cs95cs100]]}} {{Modifier=[[?{Target Modifier?|0}]]}} {{desc=B(@{weapon_b}) E(@{weapon_e}) P(@{weapon_p}) }}" name="roll_WeaponSEMLSkillCheck" data-tooltiptext="Use this button to roll attack/defense with included secondary hand penalty">
|
|
</button>
|
|
<input type="number" name="attr_weapon_b" class="skill-value" readonly>
|
|
<input type="number" name="attr_weapon_e" class="skill-value" readonly>
|
|
<input type="number" name="attr_weapon_p" class="skill-value" readonly>
|
|
<input type="number" name="attr_weapon_ml" class="skill-value" readonly>
|
|
<button type="roll" value="&{template:custom} {{color=harn}} {{title=@{character_name} melees with a @{weapon_name}}} {{rolltarget=[[{[[{[[@{weapon_ml} - [[(@{physical_penalty})]] + ?{Target Modifier?|0}]],5}kh1]],95}kl1]]}} {{Mastery Lvl=[[@{weapon_ml}]]}} {{penalty=[[(@{physical_penalty})]]}} {{rollresult=[[1d100cs5cs10cs15cs20cs25cs30cs35cs40cs45cs50cs55cs60cs65cs70cs75cs80cs85cs90cs95cs100]]}} {{Modifier=[[?{Target Modifier?|0}]]}} {{desc=WQ @{weapon_wq} B(@{weapon_b}) E(@{weapon_e}) P(@{weapon_p})}}" name="roll_WeaponMLSkillCheck">
|
|
</button>
|
|
<span name="attr_weapon_note" class="skill-label weapon-note"></span>
|
|
</div>
|
|
</fieldset>
|
|
</div>
|
|
<div class='character-grid-section carriedmissileweapons colored-grid'>
|
|
<div class="skill-section-title">CARRIED MISSILE WEAPONS</div>
|
|
<div class="missileweapons-container">
|
|
<div class="missileweapons-grid">
|
|
<div class="skill-header weapon-label">Missile Weapon</div>
|
|
<div class="skill-header skill-value harntooltip" data-tooltiptext="Equipped?">E</div>
|
|
<div class="skill-header skill-value harntooltip" data-tooltiptext="Missile aspect for impact">A</div>
|
|
<div class="skill-header skill-value harntooltip" data-tooltiptext="Missile impact">IMP</div>
|
|
<div class="skill-header skill-value">ML</div>
|
|
<div class="skill-header skill-value">Ammo</div>
|
|
<div class="skill-header"> </div>
|
|
|
|
<div class="skill-header skill-value">ML</div>
|
|
<div class="skill-header skill-value">IMP</div>
|
|
<div class="skill-header skill-value">4</div>
|
|
<div class="skill-header skill-value">ML</div>
|
|
<div class="skill-header skill-value">IMP</div>
|
|
<div class="skill-header skill-value">8</div>
|
|
<div class="skill-header skill-value">ML</div>
|
|
<div class="skill-header skill-value">IMP</div>
|
|
<div class="skill-header skill-value">16</div>
|
|
<div class="skill-header skill-value">ML</div>
|
|
<div class="skill-header skill-value">IMP</div>
|
|
<div class="skill-header skill-value">32</div>
|
|
<div class="skill-header skill-value">ML</div>
|
|
<div class="skill-header skill-value">IMP</div>
|
|
<div class="skill-header skill-value">64</div>
|
|
<div class="skill-header skill-value">ML</div>
|
|
<div class="skill-header skill-value">IMP</div>
|
|
<div class="skill-header skill-value">128</div>
|
|
<div class="skill-header skill-value">ML</div>
|
|
<div class="skill-header skill-value">IMP</div>
|
|
<div class="skill-header skill-value">256</div>
|
|
<div class="skill-header skill-value">ML</div>
|
|
<div class="skill-header skill-value">IMP</div>
|
|
<div class="skill-header skill-value">512</div>
|
|
<div class="skill-header skill-value">ML</div>
|
|
<div class="skill-header skill-value">IMP</div>
|
|
<div class="skill-header skill-value">1024</div>
|
|
|
|
<fieldset class="repeating_missileweapon">
|
|
<input type="hidden" name="attr_missileweapon_iscarried" class="display-carried-missileweapon">
|
|
<div class="missileweapon-display">
|
|
<input type="text" name="attr_missileweapon_name" class="weapon-label" readonly>
|
|
<input type="checkbox" name="attr_missileweapon_iscarried" value="1">
|
|
<input type="text" name="attr_missileweapon_aspect" class="skill-value" readonly>
|
|
<span name="attr_missileweapon_p" class="skill-value"></span>
|
|
<span name="attr_missileweapon_ml" class="skill-value"></span>
|
|
<span name="attr_missileweapon_ammo" class="skill-value"></span>
|
|
<div class="skill-value"> </div>
|
|
|
|
<!-- don't use span here, because the roll button needs input elements to get the numbers, apparently -->
|
|
<div class="range-data">
|
|
<input type="number" name="attr_missileweapon_4_aml" class="skill-value" value="0" readonly>
|
|
<input type="number" name="attr_missileweapon_4_dmg" class="skill-value" value="0" readonly>
|
|
<button type="roll" value="&{template:custom} {{color=harn}} {{title=@{character_name} shoots with a @{missileweapon_name}}} {{subtitle=up to 4 Range}} {{rolltarget=[[{[[{[[@{missileweapon_4_aml} - @{physical_penalty} - [[(@{is_mounted})*10]] + ?{Target Modifier?|0}]],5}kh1]],95}kl1]]}} {{Mastery Lvl=[[@{missileweapon_4_aml}]]}} {{penalty=[[(@{physical_penalty}) +(@{is_mounted})*10]]}} {{rollresult=[[1d100cs5cs10cs15cs20cs25cs30cs35cs40cs45cs50cs55cs60cs65cs70cs75cs80cs85cs90cs95cs100]]}} {{Modifier=[[?{Target Modifier?|0}]]}} {{successdesc=@{missileweapon_aspect}(@{missileweapon_4_dmg}) }}" name="roll_MissileWeapon4SkillCheck">
|
|
</button>
|
|
</div>
|
|
|
|
<div class="range-data">
|
|
<input type="number" name="attr_missileweapon_8_aml" class="skill-value" value="0" readonly>
|
|
<input type="number" name="attr_missileweapon_8_dmg" class="skill-value" value="0" readonly>
|
|
<button type="roll" value="&{template:custom} {{color=harn}} {{title=@{character_name} shoots with a @{missileweapon_name}}} {{subtitle=up to 8 Range}} {{rolltarget=[[{[[{[[@{missileweapon_8_aml} - @{physical_penalty} - [[(@{is_mounted})*10]] + ?{Target Modifier?|0}]],5}kh1]],95}kl1]]}} {{Mastery Lvl=[[@{missileweapon_8_aml}]]}} {{penalty=[[(@{physical_penalty}) +(@{is_mounted})*10]]}} {{rollresult=[[1d100cs5cs10cs15cs20cs25cs30cs35cs40cs45cs50cs55cs60cs65cs70cs75cs80cs85cs90cs95cs100]]}} {{Modifier=[[?{Target Modifier?|0}]]}} {{successdesc=@{missileweapon_aspect}(@{missileweapon_8_dmg})}}" name="roll_MissileWeapon8SkillCheck">
|
|
</button>
|
|
</div>
|
|
|
|
<div class="range-data">
|
|
<input type="number" name="attr_missileweapon_16_aml" class="skill-value" value="0" readonly>
|
|
<input type="number" name="attr_missileweapon_16_dmg" class="skill-value" value="0" readonly>
|
|
<button type="roll" value="&{template:custom} {{color=harn}} {{title=@{character_name} shoots with a @{missileweapon_name}}} {{subtitle=up to 16 Range}} {{rolltarget=[[{[[{[[@{missileweapon_16_aml} - @{physical_penalty} - [[(@{is_mounted})*10]] + ?{Target Modifier?|0}]],5}kh1]],95}kl1]]}} {{Mastery Lvl=[[@{missileweapon_16_aml}]]}} {{penalty=[[(@{physical_penalty}) +(@{is_mounted})*10]]}} {{rollresult=[[1d100cs5cs10cs15cs20cs25cs30cs35cs40cs45cs50cs55cs60cs65cs70cs75cs80cs85cs90cs95cs100]]}} {{Modifier=[[?{Target Modifier?|0}]]}} {{successdesc=@{missileweapon_aspect}(@{missileweapon_16_dmg})}}" name="roll_MissileWeapon16SkillCheck">
|
|
</button>
|
|
</div>
|
|
|
|
<div class="range-data">
|
|
<input type="number" name="attr_missileweapon_32_aml" class="skill-value" value="0" readonly>
|
|
<input type="number" name="attr_missileweapon_32_dmg" class="skill-value" value="0" readonly>
|
|
<button type="roll" value="&{template:custom} {{color=harn}} {{title=@{character_name} shoots with a @{missileweapon_name}}} {{subtitle=up to 32 Range}} {{rolltarget=[[{[[{[[@{missileweapon_32_aml} - @{physical_penalty} - [[(@{is_mounted})*10]] + ?{Target Modifier?|0}]],5}kh1]],95}kl1]]}} {{Mastery Lvl=[[@{missileweapon_32_aml}]]}} {{penalty=[[(@{physical_penalty}) +(@{is_mounted})*10]]}} {{rollresult=[[1d100cs5cs10cs15cs20cs25cs30cs35cs40cs45cs50cs55cs60cs65cs70cs75cs80cs85cs90cs95cs100]]}} {{Modifier=[[?{Target Modifier?|0}]]}} {{successdesc=@{missileweapon_aspect}(@{missileweapon_32_dmg})}}" name="roll_MissileWeapon32SkillCheck">
|
|
</button>
|
|
</div>
|
|
|
|
<div class="range-data">
|
|
<input type="number" name="attr_missileweapon_64_aml" class="skill-value" value="0" readonly>
|
|
<input type="number" name="attr_missileweapon_64_dmg" class="skill-value" value="0" readonly>
|
|
<button type="roll" value="&{template:custom} {{color=harn}} {{title=@{character_name} shoots with a @{missileweapon_name}}} {{subtitle=up to 64 Range}} {{rolltarget=[[{[[{[[@{missileweapon_64_aml} - @{physical_penalty} - [[(@{is_mounted})*10]] + ?{Target Modifier?|0}]],5}kh1]],95}kl1]]}} {{Mastery Lvl=[[@{missileweapon_64_aml}]]}} {{penalty=[[(@{physical_penalty}) +(@{is_mounted})*10]]}} {{rollresult=[[1d100cs5cs10cs15cs20cs25cs30cs35cs40cs45cs50cs55cs60cs65cs70cs75cs80cs85cs90cs95cs100]]}} {{Modifier=[[?{Target Modifier?|0}]]}} {{successdesc=@{missileweapon_aspect}(@{missileweapon_64_dmg})}}" name="roll_MissileWeapon64SkillCheck">
|
|
</button>
|
|
</div>
|
|
|
|
<div class="range-data">
|
|
<input type="number" name="attr_missileweapon_128_aml" class="skill-value" value="0" readonly>
|
|
<input type="number" name="attr_missileweapon_128_dmg" class="skill-value" value="0" readonly>
|
|
<button type="roll" value="&{template:custom} {{color=harn}} {{title=@{character_name} shoots with a @{missileweapon_name}}} {{subtitle=up to 128 Range}} {{rolltarget=[[{[[{[[@{missileweapon_128_aml} - @{physical_penalty} - [[(@{is_mounted})*10]] + ?{Target Modifier?|0}]],5}kh1]],95}kl1]]}} {{Mastery Lvl=[[@{missileweapon_128_aml}]]}} {{penalty=[[(@{physical_penalty}) +(@{is_mounted})*10]]}} {{rollresult=[[1d100cs5cs10cs15cs20cs25cs30cs35cs40cs45cs50cs55cs60cs65cs70cs75cs80cs85cs90cs95cs100]]}} {{Modifier=[[?{Target Modifier?|0}]]}} {{successdesc=@{missileweapon_aspect}(@{missileweapon_128_dmg})}}" name="roll_MissileWeapon128SkillCheck">
|
|
</button>
|
|
</div>
|
|
|
|
<div class="range-data">
|
|
<input type="number" name="attr_missileweapon_256_aml" class="skill-value" value="0" readonly>
|
|
<input type="number" name="attr_missileweapon_256_dmg" class="skill-value" value="0" readonly>
|
|
<button type="roll" value="&{template:custom} {{color=harn}} {{title=@{character_name} shoots with a @{missileweapon_name}}} {{subtitle=up to 256 Range}} {{rolltarget=[[{[[{[[@{missileweapon_256_aml} - @{physical_penalty} - [[(@{is_mounted})*10]] + ?{Target Modifier?|0}]],5}kh1]],95}kl1]]}} {{Mastery Lvl=[[@{missileweapon_256_aml}]]}} {{penalty=[[(@{physical_penalty}) +(@{is_mounted})*10]]}} {{rollresult=[[1d100cs5cs10cs15cs20cs25cs30cs35cs40cs45cs50cs55cs60cs65cs70cs75cs80cs85cs90cs95cs100]]}} {{Modifier=[[?{Target Modifier?|0}]]}} {{successdesc=@{missileweapon_aspect}(@{missileweapon_256_dmg})}}" name="roll_MissileWeapon256SkillCheck">
|
|
</button>
|
|
</div>
|
|
|
|
<div class="range-data">
|
|
<input type="number" name="attr_missileweapon_512_aml" class="skill-value" value="0" readonly>
|
|
<input type="number" name="attr_missileweapon_512_dmg" class="skill-value" value="0" readonly>
|
|
<button type="roll" value="&{template:custom} {{color=harn}} {{title=@{character_name} shoots with a @{missileweapon_name}}} {{subtitle=up to 512 Range}} {{rolltarget=[[{[[{[[@{missileweapon_512_aml} - @{physical_penalty} - [[(@{is_mounted})*10]] + ?{Target Modifier?|0}]],5}kh1]],95}kl1]]}} {{Mastery Lvl=[[@{missileweapon_512_aml}]]}} {{penalty=[[(@{physical_penalty}) +(@{is_mounted})*10]]}} {{rollresult=[[1d100cs5cs10cs15cs20cs25cs30cs35cs40cs45cs50cs55cs60cs65cs70cs75cs80cs85cs90cs95cs100]]}} {{Modifier=[[?{Target Modifier?|0}]]}} {{successdesc=@{missileweapon_aspect}(@{missileweapon_512_dmg})}}" name="roll_MissileWeapon512SkillCheck">
|
|
</button>
|
|
</div>
|
|
|
|
<div class="range-data">
|
|
<input type="number" name="attr_missileweapon_1024_aml" class="skill-value" value="0" readonly>
|
|
<input type="number" name="attr_missileweapon_1024_dmg" class="skill-value" value="0" readonly>
|
|
<button type="roll" value="&{template:custom} {{color=harn}} {{title=@{character_name} shoots with a @{missileweapon_name}}} {{subtitle=up to 1024 Range}} {{rolltarget=[[{[[{[[@{missileweapon_1024_aml} - @{physical_penalty} - [[(@{is_mounted})*10]] + ?{Target Modifier?|0}]],5}kh1]],95}kl1]]}} {{Mastery Lvl=[[@{missileweapon_1024_aml}]]}} {{penalty=[[(@{physical_penalty}) +(@{is_mounted})*10]]}} {{rollresult=[[1d100cs5cs10cs15cs20cs25cs30cs35cs40cs45cs50cs55cs60cs65cs70cs75cs80cs85cs90cs95cs100]]}} {{Modifier=[[?{Target Modifier?|0}]]}} {{successdesc=@{missileweapon_aspect}(@{missileweapon_1024_dmg})}}" name="roll_MissileWeapon1024SkillCheck">
|
|
</button>
|
|
</div>
|
|
</div>
|
|
</fieldset>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class='character-grid-section section-title-half sectionoptions'><h2>Magic & Religion</h2></div>
|
|
<span>Show: </span>
|
|
<span>Spells</span>
|
|
<input type="checkbox" name="attr_show_spells" class="toggle-show-spells" checked/>
|
|
<span>Rituals</span>
|
|
<input type="checkbox" name="attr_show_rituals" class="toggle-show-rituals" checked/>
|
|
<span>Psionic</span>
|
|
<input type="checkbox" name="attr_show_psionic" class="toggle-show-psionic" checked/>
|
|
<input class="showsinglepiety" name="attr_hrconsolidatedpiety" type="hidden" value="1"/>
|
|
|
|
|
|
<div class='character-grid-section magic magic-grid mr-spells colored-grid'>
|
|
<div class="skill-section-title">SPELLS
|
|
<span>(Memorized</span>
|
|
<span name="attr_total_cl_memorized"></span>
|
|
<span>/</span>
|
|
<span name="attr_max_cl_memorized"></span>
|
|
<span>)</span>
|
|
</div>
|
|
<div class="skill-header">Name</div>
|
|
<div class="skill-header">Convocation</div>
|
|
<div class="skill-header skill-value harntooltip" data-tooltiptext="Complexity Level">CL</div>
|
|
<div class="skill-header"> </div>
|
|
<div class="skill-header skill-value harntooltip" data-tooltiptext="Skill Base">SB</div>
|
|
<div class="skill-header skill-value harntooltip" data-tooltiptext="Memorized">M</div>
|
|
<div class="skill-header skill-value">ML</div>
|
|
<div class="skill-header"> </div>
|
|
<fieldset class="repeating_spells">
|
|
<input type="text" name="attr_spell_name" spellcheck=false class="magic-label">
|
|
<input type="text" name="attr_spell_convocation" spellcheck=false class="magic-label" list="convocations">
|
|
<input type="number" name="attr_spell_level" class="skill-value" value="1">
|
|
<button type="roll" value="&{template:custom} {{skilldevroll=1}} {{color=harn}} {{title=@{character_name} tries to improve @{spell_name}}} {{rolltarget=[[@{spell_ml}]]}} {{rollresult=[[1d100+@{spell_sb}]]}}" name="roll_SpellSkillDevelop" class="skilldev-button">
|
|
</button>
|
|
<input type="number" name="attr_spell_sb" class="skill-value" value="0">
|
|
<!--span name="attr_spell_si" class="skill-value"></span-->
|
|
<input type="checkbox" name="attr_spell_memorized">
|
|
<input type="number" name="attr_spell_ml" class="skill-value" value="0">
|
|
<button type="roll" value="/w gm &{template:custom} {{color=harn}} {{title=@{character_name} casts @{spell_name}}} {{subtitle=@{spell_convocation}}} {{rolltarget=[[{[[{[[@{spell_ml} - [[(@{physical_penalty})]] + ?{Target Modifier?|0}]],5}kh1]],95}kl1]]}} {{Mastery Lvl=[[@{spell_ml}]]}} {{penalty=[[(@{physical_penalty})]]}} {{rollresult=[[1d100cs5cs10cs15cs20cs25cs30cs35cs40cs45cs50cs55cs60cs65cs70cs75cs80cs85cs90cs95cs100]]}} {{Modifiers=[[?{Target Modifier?|0}]]}}" name="roll_spellcastcheck">
|
|
</button>
|
|
</fieldset>
|
|
</div>
|
|
<div class='character-grid-section magic magic-grid mr-rituals colored-grid'>
|
|
<div class="skill-section-title">RITUALS</div>
|
|
<div class="skill-header">Name</div>
|
|
<div class="skill-header">Deity</div>
|
|
<div class="skill-header skill-value">Lvl</div>
|
|
<div class="skill-header"> </div>
|
|
<div class="skill-header skill-value harntooltip" data-tooltiptext="Skill Base">SB</div>
|
|
<div class="skill-header skill-value harntooltip" data-tooltiptext="Skill Index">SI</div>
|
|
<div class="skill-header skill-value">ML</div>
|
|
<div class="skill-header"> </div>
|
|
<fieldset class="repeating_rituals">
|
|
<input type="text" name="attr_ritual_name" spellcheck=false class="magic-label ">
|
|
<input type="text" name="attr_ritual_religion" spellcheck=false class="piety-label">
|
|
<input type="number" name="attr_ritual_level" class="skill-value" value="0">
|
|
<button type="roll" value="&{template:custom} {{skilldevroll=1}} {{color=harn}} {{title=@{character_name} tries to improve @{ritual_name}}} {{rolltarget=[[@{ritual_ml}]]}} {{rollresult=[[1d100+@{ritual_sb}]]}}" name="roll_RitualSkillDevelop" class="skilldev-button">
|
|
</button>
|
|
<input type="number" name="attr_ritual_sb" class="skill-value" value="0">
|
|
<span name="attr_ritual_si" class="skill-value"></span>
|
|
<input type="number" name="attr_ritual_ml" class="skill-value" value="0">
|
|
<button type="roll" value="/w gm &{template:custom} {{color=harn}} {{title=@{character_name} performs @{ritual_name}}} {{subtitle=@{ritual_religion}}} {{rolltarget=[[{[[{[[@{ritual_ml} - [[(@{universal_penalty})]] + ?{Target Modifier?|0}]],5}kh1]],95}kl1]]}} {{Mastery Lvl=[[@{ritual_ml}]]}} {{penalty=[[(@{universal_penalty})]]}} {{rollresult=[[1d100cs5cs10cs15cs20cs25cs30cs35cs40cs45cs50cs55cs60cs65cs70cs75cs80cs85cs90cs95cs100]]}} {{Modifiers=[[?{Target Modifier?|0}]]}}" name="roll_ritualcheck"></button>
|
|
</fieldset>
|
|
</div>
|
|
<div class='character-grid-section magic magic-grid mr-psionic colored-grid'>
|
|
<div class="skill-section-title">PSIONIC POWERS</div>
|
|
<div class="skill-header">Talent</div>
|
|
<div class="skill-header"> </div>
|
|
<div class="skill-value skill-header harntooltip" data-tooltiptext="Fatigue Penalty">FP</div>
|
|
<div class="skill-header"> </div>
|
|
<div class="skill-header skill-value harntooltip" data-tooltiptext="Skill Base of spell when using individual spell skills">SB</div>
|
|
<div class="skill-header skill-value harntooltip" data-tooltiptext="Skill Index of spell when using individual spell skills">SI</div>
|
|
<div class="skill-header skill-value">ML</div>
|
|
<div class="skill-header"> </div>
|
|
<fieldset class="repeating_psionics">
|
|
<input type="text" name="attr_talent_name" class="magic-label ">
|
|
<div> </div>
|
|
<input type="number" name="attr_talent_fatigue" class="skill-value" value="0">
|
|
<button type="roll" value="&{template:custom} {{skilldevroll=1}} {{color=harn}} {{title=@{character_name} tries to improve @{talent_name}}} {{rolltarget=[[@{talent_ml}]]}} {{rollresult=[[1d100+@{talent_sb}]]}}" name="roll_TalentSkillDevelop" class="skilldev-button">
|
|
</button>
|
|
<input type="number" name="attr_talent_sb" class="skill-value" value="0">
|
|
<span name="attr_talent_si" class="skill-value"></span>
|
|
<input type="number" name="attr_talent_ml" class="skill-value" value="0">
|
|
<button type="roll" value="/w gm &{template:custom} {{color=harn}} {{title=@{character_name} invokes @{talent_name}}} {{rolltarget=[[{[[{[[@{talent_ml} - [[(@{physical_penalty})]] + ?{Target Modifier?|0}]],5}kh1]],95}kl1]]}} {{Mastery Lvl=[[@{talent_ml}]]}} {{penalty=[[(@{physical_penalty})]]}} {{rollresult=[[1d100cs5cs10cs15cs20cs25cs30cs35cs40cs45cs50cs55cs60cs65cs70cs75cs80cs85cs90cs95cs100]]}} {{Modifiers=[[?{Target Modifier?|0}]]}}" name="roll_talentcheck"></button>
|
|
</fieldset>
|
|
</div>
|
|
<input class="showsinglepiety" name="attr_hrconsolidatedpiety" type="hidden" value="1"/>
|
|
<div class='character-grid-section piety piety-grid colored-grid'>
|
|
<div class="skill-section-title">PIETY</div>
|
|
<div class="skill-header">God</div>
|
|
<div class="skill-value skill-header">Pts</div>
|
|
<fieldset class="repeating_piety">
|
|
<input type="text" name="attr_piety_name" class="piety-label">
|
|
<input type="number" name="attr_piety_points" class="skill-value" value="0">
|
|
</fieldset>
|
|
</div>
|
|
</div>
|
|
<input class="showhorse" name="attr_hrhorseonsheet" type="hidden" value="1"/>
|
|
<div class='character-grid horse-grid'> <!-- HORSE section (optional) -->
|
|
<div class='character-grid-section horse-section section-title'><h2>Horse</h2></div>
|
|
<div class='character-grid-section horse-section basichorseinfo bhigrid colored-grid'>
|
|
<label for=horsename>Horse Name</label>
|
|
<input id=horsename type="text" name="attr_hname" class="skill-label">
|
|
<label for=horsebreed>Horse Breed</label>
|
|
<input type="text" id=horsebreed name="attr_hspecies" class="skill-label" list="hbreeds">
|
|
<datalist id="hbreeds">
|
|
<option value="Reksyni">Reksyni</option><!-- standard Harn value-->
|
|
<option value="Hacherdad">Hacherdad</option><!-- standard Harn value-->
|
|
<option value="Lankum">Lankum</option><!-- standard Harn value-->
|
|
<option value="Khanset">Khanset</option><!-- standard Harn value-->
|
|
<option value="Hodiri">Hodiri</option><!-- standard Harn value-->
|
|
<option value="Chelni">Chelni</option><!-- standard Harn value-->
|
|
</datalist>
|
|
<label for=horsegender>Gender</label>
|
|
<input type="text" id=horsegender name="attr_hgender" class="skill-label" list="hgender">
|
|
<datalist id="hgender">
|
|
<option value="Stallion">Stallion</option>
|
|
<option value="Mare">Mare</option>
|
|
</datalist>
|
|
</div>
|
|
<div class='character-grid-section horse-section horseattribs horseattribs-grid bordered-grid colored-grid'>
|
|
<div class="skill-section-title">ATTRIBUTES</div>
|
|
<label for=horsestr>STR</label>
|
|
<input id=horsestr type="number" name="attr_hstr" class="attribute-input" value="0">
|
|
<label for=horseint>INT</label>
|
|
<input id=horseint type="number" name="attr_hint" class="attribute-input" value="0">
|
|
<label for=horseend>END</label>
|
|
<input id=horseend type="number" name="attr_hend" class="attribute-input" value="0">
|
|
<label for=horseaur>AURA</label>
|
|
<input id=horseaur type="number" name="attr_haura" class="attribute-input" value="0">
|
|
<label for=horseagl>AGL</label>
|
|
<input id=horseagl type="number" name="attr_hagl" class="attribute-input" value="0">
|
|
<label for=horsewil>WILL</label>
|
|
<input id=horsewil type="number" name="attr_hwill" class="attribute-input" value="0">
|
|
<label for=horseeye >EYE</label>
|
|
<input id=horseeye type="number" name="attr_heye" class="attribute-input" value="0">
|
|
<label for=horsemove>Mobility</label>
|
|
<input id=horsemove type="number" name="attr_hmove" class="attribute-input" value="0">
|
|
<label for=horsehrg>HRG</label>
|
|
<input id=horsehrg type="number" name="attr_hhrg" class="attribute-input" value="0">
|
|
<label for=horsesml>SML</label>
|
|
<input id=horsesml type="number" name="attr_hsmell" class="attribute-input" value="0">
|
|
<label for=horseloadlimit class="width-2col">Load Limit</label>
|
|
<div class="labelinputjoin">  </div>
|
|
<input id=horseloadlimit type="number" name="attr_hloadlimit" class="skill-valuel" readonly>
|
|
</div>
|
|
<div class='character-grid-section horse-section horseabilities horseabilities-grid colored-grid'>
|
|
<div class="skill-section-title">ABILITIES</div>
|
|
<div class="skill-header">Skill</div>
|
|
<div class="skill-header">SB</div>
|
|
<div class="skill-header">ML</div>
|
|
<div class="skill-header">  </div>
|
|
<input type="text" class="skill-label" name="attr_hawareness_name" value="Awareness" disabled="true">
|
|
<input type="number" name="attr_hawareness_sb" class="skill-value" value="0">
|
|
<input type="number" name="attr_hawareness_ml" class="skill-value" value="0">
|
|
<button type="roll" value="&{template:custom} {{color=harn}} {{title=@{hname} tests @{hawareness_name}}} {{rolltarget=[[{[[{[[@{hawareness_ml} - [[(@{hphysical_penalty})]] + ?{Target Modifier?|0}]],5}kh1]],95}kl1]]}} {{Mastery Lvl=[[@{hawareness_ml}]]}} {{Modifiers=[[?{Target Modifier?|0}]]}} {{penalty=[[(@{hphysical_penalty})]]}} {{rollresult=[[1d100cs5cs10cs15cs20cs25cs30cs35cs40cs45cs50cs55cs60cs65cs70cs75cs80cs85cs90cs95cs100]]}}" name="roll_HorseAwarenessCheck">
|
|
</button>
|
|
<input type="text" class="skill-label" name="attr_hdodge_name" value="Dodge" disabled="true">
|
|
<input type="number" name="attr_hdodge_sb" class="skill-value" value="0">
|
|
<input type="number" name="attr_hdodge_ml" class="skill-value" value="0">
|
|
<button type="roll" value="&{template:custom} {{color=harn}} {{title=@{hname} tests @{hdodge_name}}} {{rolltarget=[[{[[{[[@{hdodge_ml} - [[(@{hphysical_penalty})]] + ?{Target Modifier?|0}]],5}kh1]],95}kl1]]}} {{Mastery Lvl=[[@{hdodge_ml}]]}} {{Modifiers=[[?{Target Modifier?|0}]]}} {{penalty=[[(@{hphysical_penalty})]]}} {{rollresult=[[1d100cs5cs10cs15cs20cs25cs30cs35cs40cs45cs50cs55cs60cs65cs70cs75cs80cs85cs90cs95cs100]]}}" name="roll_HorseDodgeCheck">
|
|
</button>
|
|
<input type="text" class="skill-label" name="attr_hinitiative_name" value="Horse Initiative" disabled="true">
|
|
<input type="number" name="attr_hinitiative_sb" class="skill-value" value="0">
|
|
<input type="number" name="attr_hinitiative_ml" class="skill-value" value="0">
|
|
<button type="roll" value="&{template:custom} {{color=harn}} {{title=@{hname} tests @{hinitiative_name}}} {{rolltarget=[[{[[{[[@{hinitiative_ml} - [[(@{hphysical_penalty})]] + ?{Target Modifier?|0}]],5}kh1]],95}kl1]]}} {{Mastery Lvl=[[@{hinitiative_ml}]]}} {{Modifiers=[[?{Target Modifier?|0}]]}} {{penalty=[[(@{hphysical_penalty})]]}} {{rollresult=[[1d100cs5cs10cs15cs20cs25cs30cs35cs40cs45cs50cs55cs60cs65cs70cs75cs80cs85cs90cs95cs100]]}}" name="roll_HorseInitiativeCheck">
|
|
</button>
|
|
<input type="text" class="skill-label" name="attr_hjumping_name" value="Jumping" disabled="true">
|
|
<input type="number" name="attr_hjumping_sb" class="skill-value" value="0">
|
|
<input type="number" name="attr_hjumping_ml" class="skill-value" value="0">
|
|
<button type="roll" value="&{template:custom} {{color=harn}} {{title=@{hname} tests @{hjumping_name}}} {{rolltarget=[[{[[{[[@{hjumping_ml} - [[(@{hphysical_penalty})]] + ?{Target Modifier?|0}]],5}kh1]],95}kl1]]}} {{Mastery Lvl=[[@{hjumping_ml}]]}} {{Modifiers=[[?{Target Modifier?|0}]]}} {{penalty=[[(@{hphysical_penalty})]]}} {{rollresult=[[1d100cs5cs10cs15cs20cs25cs30cs35cs40cs45cs50cs55cs60cs65cs70cs75cs80cs85cs90cs95cs100]]}}" name="roll_HorseJumpCheck">
|
|
</button>
|
|
<input type="text" class="skill-label" name="attr_hstealth_name" value="Stealth" disabled="true">
|
|
<input type="number" name="attr_hstealth_sb" class="skill-value" value="0">
|
|
<input type="number" name="attr_hstealth_ml" class="skill-value" value="0">
|
|
<button type="roll" value="&{template:custom} {{color=harn}} {{title=@{hname} tests @{hstealth_name}}} {{rolltarget=[[{[[{[[@{hstealth_ml} - [[(@{hphysical_penalty})]] + ?{Target Modifier?|0}]],5}kh1]],95}kl1]]}} {{Mastery Lvl=[[@{hstealth_ml}]]}} {{Modifiers=[[?{Target Modifier?|0}]]}} {{penalty=[[(@{hphysical_penalty})]]}} {{rollresult=[[1d100cs5cs10cs15cs20cs25cs30cs35cs40cs45cs50cs55cs60cs65cs70cs75cs80cs85cs90cs95cs100]]}}" name="roll_HorseStealthCheck">
|
|
</button>
|
|
<input type="text" class="skill-label" name="attr_htrample_name" value="Trample" disabled="true">
|
|
<input type="number" name="attr_htrample_sb" class="skill-value" value="0">
|
|
<input type="number" name="attr_htrample_ml" class="skill-value" value="0">
|
|
</div>
|
|
<div class='character-grid-section horse-section horsecombat horsecombat-grid colored-grid'>
|
|
<div class="skill-section-title">COMBAT</div>
|
|
<label for=horseinit>Horse Init</label>
|
|
<input id=horseinit type="number" name="attr_hcombat_initiative" value="0" class="skill-value" readonly>
|
|
<div>  </div>
|
|
<label for=horseendurance>Endurance</label>
|
|
<input id=horseendurance type="number" name="attr_hend" class="skill-value" value="0" readonly>
|
|
<div>  </div>
|
|
<label for=horseagility>Agility</label>
|
|
<input id=horseagility type="number" name="attr_hagl" readonly class="skill-value">
|
|
<div>  </div>
|
|
<label for=horsecombatmove>Move / min. move</label>
|
|
<input id=horsecombatmove type="number" name="attr_hcombat_move" class="skill-value" value="0" readonly>
|
|
<div>/
|
|
<span name="attr_hcombat_min_move" class="skill-value"></span>
|
|
</div>
|
|
<label for=horseturn>60° turn (hex)</label>
|
|
<input id=horseturn type="number" name="attr_hturn" readonly value="0" class="skill-value">
|
|
<div>  </div>
|
|
<label for=horsecombatdodge>Dodge</label>
|
|
<input id=horsecombatdodge type="number" name="attr_hdodge_ml" class="skill-value" readonly>
|
|
<button type="roll" value="&{template:custom} {{color=harn}} {{title=@{hname} dodges}} {{rolltarget=[[{[[{[[@{hdodge_ml} - [[(@{hphysical_penalty})]] + ?{Target Modifier?|0}]],5}kh1]],95}kl1]]}} {{Mastery Lvl=[[@{hdodge_ml}]]}} {{Modifiers=[[?{Target Modifier?|0}]]}} {{penalty=[[(@{hphysical_penalty})]]}} {{rollresult=[[1d100cs5cs10cs15cs20cs25cs30cs35cs40cs45cs50cs55cs60cs65cs70cs75cs80cs85cs90cs95cs100]]}}" name="roll_HorseCombatDodgeCheck">
|
|
</button>
|
|
<label for=horsespeed>Horse speed:</label>
|
|
<select id=horsespeed name="attr_horse_speed" class="skill-label width-2col">
|
|
<option value=0 selected="selected">Stop</option>
|
|
<option value=0.5>Walk</option>
|
|
<option value=1>Trot</option>
|
|
<option value=2>Canter</option>
|
|
<option value=3>Gallop</option>
|
|
</select>
|
|
</div>
|
|
<div class='character-grid-section horse-section horseload horseload-grid colored-grid'>
|
|
<div class="skill-section-title">LOAD CARRIED</div>
|
|
<label for=riderload>Total Rider Load</label>
|
|
<input id=horseriderload type="number" name="attr_hload_rider_total" class="skill-value" value="0" readonly>
|
|
<label for=horsearmorload>Horse Armour</label>
|
|
<input id=horsearmorload type="number" name="attr_hload_armor_total" class="skill-value" value="0" class="number-value" readonly>
|
|
<label for=horseinvenload>Horse Inventory</label>
|
|
<input id=horseinvenload type="number" name="attr_hload_inventory_total" class="skill-value" value="0" class="number-value" readonly>
|
|
<label for=htotalweight class="sumrow">Total Weight</label>
|
|
<input id=htotalweight type="number" name="attr_hload_total" class="skill-value sumrow" value="0" readonly>
|
|
<label for=hadjload class="sumrow">Adjusted Load</label>
|
|
<input id=hadjload type="number" name="attr_hadjusted_load" class="skill-value sumrow" value="0" readonly>
|
|
</div>
|
|
<div class='character-grid-section horse-section horseap horseap-grid colored-grid'>
|
|
<div class="skill-section-title">ARMOUR PROTECTION</div>
|
|
<div class="info-label skill-header">Location</div>
|
|
<div class="skill-header">Compound Layers</div>
|
|
<div class="skill-value skill-header">AQ</div>
|
|
<div class="skill-value skill-header">B</div>
|
|
<div class="skill-value skill-header">E</div>
|
|
<div class="skill-value skill-header">P</div>
|
|
<div class="skill-value skill-header">F</div>
|
|
<div class="info-label">All (-/- eyes)</div>
|
|
<input type="text" name="attr_hnatural_layers" class="armor-label" disabled="true" value="Natural Armour">
|
|
<input type="number" name="attr_hnatural_aq" class="skill-value" value="0">
|
|
<input type="number" name="attr_hnatural_b" class="skill-value" value="4" readonly >
|
|
<input type="number" name="attr_hnatural_e" class="skill-value" value="3" readonly >
|
|
<input type="number" name="attr_hnatural_p" class="skill-value" value="1" readonly >
|
|
<input type="number" name="attr_hnatural_f" class="skill-value" value="3" readonly >
|
|
<div class="info-label">All (-/- eyes)</div>
|
|
<input type="text" name="attr_hall_layers" class="armor-label">
|
|
<input type="number" name="attr_hall_aq" class="skill-value" value="0">
|
|
<input type="number" name="attr_hall_b" class="skill-value" value="0">
|
|
<input type="number" name="attr_hall_e" class="skill-value" value="0">
|
|
<input type="number" name="attr_hall_p" class="skill-value" value="0">
|
|
<input type="number" name="attr_hall_f" class="skill-value" value="0">
|
|
</div>
|
|
<div class='character-grid-section horse-section horseinjuries horseinjuries-grid colored-grid'>
|
|
<div class="skill-section-title">INJURIES</div>
|
|
<div class="skill-header">Location/Type</div>
|
|
<div class="skill-header skill-value">SV</div>
|
|
<div class="skill-header skill-value">LvL</div>
|
|
<div class="skill-header skill-value">HR</div>
|
|
<div class="skill-header skill-value">Day</div>
|
|
<div class="skill-header skill-value"> </div>
|
|
<div class="skill-header check-col">Inf</div>
|
|
<fieldset class="repeating_hinjury">
|
|
<input type="text" name="attr_hinjury_location" class="skill-label">
|
|
<select name="attr_hinjury_severity" class="skill-label">
|
|
<option value="m">M</option>
|
|
<option value="s">S</option>
|
|
<option value="g">G</option>
|
|
<option value="k">K</option>
|
|
</select>
|
|
<input type="number" name="attr_hinjury_level" class="skill-value" value="0">
|
|
<input type="number" name="attr_hinjury_healingroll" class="skill-value" value="0">
|
|
<input type="number" name="attr_hinjury_day" class="skill-value" value="0">
|
|
<button type="roll" value="&{template:custom} {{color=harn}} {{title=@{hname} rolls a healing check}} {{infected=[[@{hinjury_infected_feedback}]]}} {{rolltarget=[[{[[{[[(@{hinjury_healingroll} * 5 + [[@{hend}*5]]) - [[(@{huniversal_penalty})]] + ?{Target Modifier?|0}]],5}kh1]],95}kl1]]}} {{Healing Roll=[[@{hinjury_healingroll} * 5 + [[@{hend}*5]]]]}} {{Modifiers=[[?{Target Modifier?|0}]]}} {{penalty=[[(@{hphysical_penalty})]]}} {{rollresult=[[1d100cs5cs10cs15cs20cs25cs30cs35cs40cs45cs50cs55cs60cs65cs70cs75cs80cs85cs90cs95cs100]]}} {{desc=@{hinjury_location} @{hinjury_severity}@{hinjury_level} h@{hinjury_healingroll}}}" name="roll_horsehealingcheck">
|
|
</button>
|
|
<input type="checkbox" name="attr_hinjury_infected"><span></span>
|
|
<input type="hidden" name="attr_hinjury_infected_feedback" value="0" readonly>
|
|
</fieldset>
|
|
</div>
|
|
<div class='character-grid-section horse-section horsepenalties horsepenalties-grid colored-grid'>
|
|
<div class="skill-section-title">PENALTIES</div>
|
|
<label for=hinjurylvl>Injury</label>
|
|
<input id=hinjurylvl type="number" name="attr_hinjury_total" value="0" class="skill-value" readonly>
|
|
<label for=hfatigue>Fatigue</label>
|
|
<input id=hfatigue type="number" name="attr_hfatigue_total" class="skill-value" value="0">
|
|
<label for=hunipenalty class="sumrow">Universal</label>
|
|
<input id=hunipenalty type="number" value="0" class="skill-value sumrow" name="attr_huniversal_penalty" readonly>
|
|
<label for=hencumbrance>Encumbrance</label>
|
|
<input id=hencumbrance type="number" name="attr_hencumbrance" class="skill-value" value="0" readonly>
|
|
<label for=hphyspenalty class="sumrow">Physical</label>
|
|
<input id=hphyspenalty type="number" name="attr_hphysical_penalty" class="skill-value sumrow" value="0" readonly>
|
|
</div>
|
|
<div class='character-grid-section horse-section horseattacks horseattacks-grid colored-grid'>
|
|
<div class="skill-section-title">ATTACKS</div>
|
|
<div class="skill-header skill-label">Attack</div>
|
|
<div class="skill-header skill-value">B</div>
|
|
<div class="skill-header skill-value">E</div>
|
|
<div class="skill-header skill-value">P</div>
|
|
<div class="skill-header skill-value">ML</div>
|
|
<div class="skill-header skill-value"> </div>
|
|
<input type="text" name="attr_trample_weapon_name" class="skill-label" disabled="true" value="Trample">
|
|
<input type="number" name="attr_trample_weapon_b" class="skill-value" value="8">
|
|
<input type="number" name="attr_trample_weapon_e" class="skill-value" disabled="true" value="0">
|
|
<input type="number" name="attr_trample_weapon_p" class="skill-value" disabled="true" value="0">
|
|
|
|
<input type="number" name="attr_htrample_ml" class="skill-value" readonly>
|
|
<button type="roll" value="&{template:custom} {{color=harn}} {{title=@{hname} tramples}} {{rolltarget=[[{[[{[[@{htrample_ml} - [[(@{hphysical_penalty})]] + ?{Target Modifier?|0}]],5}kh1]],95}kl1]]}} {{Mastery Lvl=[[@{htrample_ml}]]}} {{Modifiers=[[?{Target Modifier?|0}]]}} {{penalty=[[(@{hphysical_penalty})]]}} {{rollresult=[[1d100cs5cs10cs15cs20cs25cs30cs35cs40cs45cs50cs55cs60cs65cs70cs75cs80cs85cs90cs95cs100]]}} {{note=B(@{trample_weapon_b}) E(@{trample_weapon_e}) P(@{trample_weapon_p})}}" name="roll_trampleweaponamlskillcheck">
|
|
</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class='inventory'> <!-- INVENTORY TAB -->
|
|
<h2 class='tab-header'>HârnMaster</h2>
|
|
<h1 class='tab-header'>Character Inventory</h1>
|
|
<div class='inventory-grid'> <!-- grid container-->
|
|
<div class='inventory-grid-section inven-weapons weapons-grid colored-grid'>
|
|
<div class="skill-section-title">MELEE WEAPONS</div>
|
|
<div class="skill-header weapon-label">Weapon</div>
|
|
<div class="skill-header skill-value harntooltip" data-tooltiptext="Equipped?">E</div>
|
|
<div class="skill-header skill-value">WGT</div>
|
|
<div class="skill-header skill-value">WQ</div>
|
|
<div class="skill-header skill-value"> </div>
|
|
<div class="skill-header skill-value">A/D</div>
|
|
<div class="skill-header skill-value">Pr.</div>
|
|
<div class="skill-header skill-value"> </div>
|
|
<div class="skill-header skill-value">Se.</div>
|
|
<div class="skill-header skill-value"> </div>
|
|
<div class="skill-header skill-value">B</div>
|
|
<div class="skill-header skill-value">E</div>
|
|
<div class="skill-header skill-value">P</div>
|
|
<div class="skill-header skill-value">ML</div>
|
|
<div class="skill-header skill-label width-2col">Note</div>
|
|
|
|
<fieldset class="repeating_weapon">
|
|
<input type="text" name="attr_weapon_name" class="weapon-label">
|
|
<input type="checkbox" name="attr_weapon_iscarried" value="1">
|
|
<input type="number" step="any" name="attr_weapon_wgt" class="skill-value" value="0">
|
|
<input type="number" name="attr_weapon_wq" class="skill-value" value="0">
|
|
<div> </div>
|
|
<input type="text" name="attr_weapon_classes" class="skill-value">
|
|
<input type="number" name="attr_weapon_pr" class="skill-value" value="0">
|
|
<div> </div>
|
|
<input type="number" name="attr_weapon_se" class="skill-value" value="0">
|
|
<div> </div>
|
|
<input type="number" name="attr_weapon_b" class="skill-value" value="0">
|
|
<input type="number" name="attr_weapon_e" class="skill-value" value="0">
|
|
<input type="number" name="attr_weapon_p" class="skill-value" value="0">
|
|
<input type="number" name="attr_weapon_ml" class="skill-value" value="0">
|
|
<input type="text" name="attr_weapon_note" class="skill-label width-2col">
|
|
</fieldset>
|
|
<div class="footnote"> <details><summary>Note: checking the "E" checkbox denotes the weapon is equipped/carried</summary><p>This means it will show up on the character tab and its weight will count towards the characters encumbrance (automatically calculated).</p></details></div>
|
|
</div>
|
|
<div class='inventory-grid-section inven-missileweapons colored-grid'>
|
|
<div class="skill-section-title">MISSILE WEAPONS</div>
|
|
<div class="missileweapons-container">
|
|
<div class="missileweapons-grid">
|
|
<div class="skill-header weapon-label">Missile Weapon</div>
|
|
<div class="skill-header skill-value harntooltip" data-tooltiptext="Equipped?">E</div>
|
|
<div class="skill-header skill-value harntooltip" data-tooltiptext="Missile aspect for impact">A</div>
|
|
<div class="skill-header skill-value harntooltip" data-tooltiptext="Missile impact">IMP</div>
|
|
<div class="skill-header skill-value">ML</div>
|
|
<div class="skill-header skill-value">Ammo</div>
|
|
<div class="skill-header"> </div>
|
|
|
|
<div class="skill-header">+ML</div>
|
|
<div class="skill-header">+IMP</div>
|
|
<div class="skill-header skill-value">4</div>
|
|
<div class="skill-header">+ML</div>
|
|
<div class="skill-header">+IMP</div>
|
|
<div class="skill-header skill-value">8</div>
|
|
<div class="skill-header">+ML</div>
|
|
<div class="skill-header">+IMP</div>
|
|
<div class="skill-header skill-value">16</div>
|
|
<div class="skill-header">+ML</div>
|
|
<div class="skill-header">+IMP</div>
|
|
<div class="skill-header skill-value">32</div>
|
|
<div class="skill-header">+ML</div>
|
|
<div class="skill-header">+IMP</div>
|
|
<div class="skill-header skill-value">64</div>
|
|
<div class="skill-header">+ML</div>
|
|
<div class="skill-header">+IMP</div>
|
|
<div class="skill-header skill-value">128</div>
|
|
<div class="skill-header">+ML</div>
|
|
<div class="skill-header">+IMP</div>
|
|
<div class="skill-header skill-value">256</div>
|
|
<div class="skill-header">+ML</div>
|
|
<div class="skill-header">+IMP</div>
|
|
<div class="skill-header skill-value">512</div>
|
|
<div class="skill-header">+ML</div>
|
|
<div class="skill-header">+IMP</div>
|
|
<div class="skill-header skill-value">1024</div>
|
|
|
|
<!-- Default values for medium projectile and range class 2 firearm. Totally different for bows and suchlike! -->
|
|
<fieldset class="repeating_missileweapon">
|
|
<input type="text" name="attr_missileweapon_name" value="Bow" class="weapon-label">
|
|
<input type="checkbox" name="attr_missileweapon_iscarried" value="1">
|
|
<input type="text" name="attr_missileweapon_aspect" class="skill-value" value="P">
|
|
<input type="number" name="attr_missileweapon_p" class="skill-value" value="0">
|
|
<input type="number" name="attr_missileweapon_ml" class="skill-value" value="0">
|
|
<input type="number" name="attr_missileweapon_ammo" class="skill-value">
|
|
<div class="skill-value"> </div>
|
|
|
|
<div class="range-data">
|
|
<input type="number" name="attr_missileweapon_4_mod_ml" class="skill-value" value="15">
|
|
<input type="number" name="attr_missileweapon_4_mod_dmg" class="skill-value" value="0">
|
|
<div class="skill-value"> </div>
|
|
</div>
|
|
<div class="range-data">
|
|
<input type="number" name="attr_missileweapon_8_mod_ml" class="skill-value" value="10">
|
|
<input type="number" name="attr_missileweapon_8_mod_dmg" class="skill-value" value="0">
|
|
<div class="skill-value"> </div>
|
|
</div>
|
|
<div class="range-data">
|
|
<input type="number" name="attr_missileweapon_16_mod_ml" class="skill-value" value="0">
|
|
<input type="number" name="attr_missileweapon_16_mod_dmg" class="skill-value" value="0">
|
|
<div class="skill-value"> </div>
|
|
</div>
|
|
<div class="range-data">
|
|
<input type="number" name="attr_missileweapon_32_mod_ml" class="skill-value" value="-10">
|
|
<input type="number" name="attr_missileweapon_32_mod_dmg" class="skill-value" value="-1">
|
|
<div class="skill-value"> </div>
|
|
</div>
|
|
<div class="range-data">
|
|
<input type="number" name="attr_missileweapon_64_mod_ml" class="skill-value" value="-20">
|
|
<input type="number" name="attr_missileweapon_64_mod_dmg" class="skill-value" value="-2">
|
|
<div class="skill-value"> </div>
|
|
</div>
|
|
<div class="range-data">
|
|
<input type="number" name="attr_missileweapon_128_mod_ml" class="skill-value" value="-40">
|
|
<input type="number" name="attr_missileweapon_128_mod_dmg" class="skill-value" value="-4">
|
|
<div class="skill-value"> </div>
|
|
</div>
|
|
<div class="range-data">
|
|
<input type="number" name="attr_missileweapon_256_mod_ml" class="skill-value" value="-99">
|
|
<input type="number" name="attr_missileweapon_256_mod_dmg" class="skill-value" value="-6">
|
|
<div class="skill-value"> </div>
|
|
</div>
|
|
<div class="range-data">
|
|
<input type="number" name="attr_missileweapon_512_mod_ml" class="skill-value" value="-99">
|
|
<input type="number" name="attr_missileweapon_512_mod_dmg" class="skill-value" value="-9">
|
|
<div class="skill-value"> </div>
|
|
</div>
|
|
<div class="range-data">
|
|
<input type="number" name="attr_missileweapon_1024_mod_ml" class="range-data-ml skill-value" value="-99">
|
|
<input type="number" name="attr_missileweapon_1024_mod_dmg" class="skill-value" value="-12">
|
|
<div class="skill-value"> </div>
|
|
</div>
|
|
|
|
</fieldset>
|
|
</div>
|
|
</div>
|
|
<div class="footnote"> Note: If you have a missile weapon equipped, make sure to add it to the "Weapons" list above too, with weight and the equipped checkbox ticked</div>
|
|
</div>
|
|
<div class='inventory-grid-section inven-armor armorinvengrid colored-grid'>
|
|
<div class="skill-section-title">ARMOUR</div>
|
|
<div class="skill-header">Armour/Clothing</div>
|
|
<div class="skill-header skill-value harntooltip" data-tooltiptext="Equipped?">E</div>
|
|
<div class="skill-header skill-value">SZ</div>
|
|
<div class="skill-header skill-value">WGT</div>
|
|
<div class="skill-header skill-value">AQ</div>
|
|
<div class="skill-header skill-value">B</div>
|
|
<div class="skill-header skill-value">E</div>
|
|
<div class="skill-header skill-value">P</div>
|
|
<div class="skill-header skill-value">F</div>
|
|
<div class="skill-header skill-value">S</div>
|
|
<div class="skill-header skill-value">T</div>
|
|
<div class="armourareawrapper">
|
|
<div class="skill-header skill-value sectionarmourhead">Sk</div>
|
|
<div class="skill-header skill-value sectionarmourhead">Fa</div>
|
|
<div class="skill-header skill-value sectionarmourhead">Nk</div>
|
|
<div class="skill-header skill-value sectionarmourarms">Sh</div>
|
|
<div class="skill-header skill-value sectionarmourarms">Ua</div>
|
|
<div class="skill-header skill-value sectionarmourarms">El</div>
|
|
<div class="skill-header skill-value sectionarmourarms">Fo</div>
|
|
<div class="skill-header skill-value sectionarmourarms">Ha</div>
|
|
<div class="skill-header skill-value sectionarmourtorso">Tx</div>
|
|
<div class="skill-header skill-value sectionarmourtorso">Ab</div>
|
|
<div class="skill-header skill-value sectionarmourtorso">Hp</div>
|
|
<div class="skill-header skill-value sectionarmourtorso">Gr</div>
|
|
<div class="skill-header skill-value sectionarmourlegs">Th</div>
|
|
<div class="skill-header skill-value sectionarmourlegs">Kn</div>
|
|
<div class="skill-header skill-value sectionarmourlegs">Ca</div>
|
|
<div class="skill-header skill-value sectionarmourlegs">Ft</div>
|
|
</div>
|
|
<fieldset class="repeating_armoritems">
|
|
<input type="text" name="attr_armor_name" class="skill-label">
|
|
<input type="checkbox" name="attr_armor_iscarried" value="1">
|
|
<input type="number" name="attr_armor_size" class="skill-value">
|
|
<input type="number" step="any" name="attr_armor_wgt" class="skill-value" value="0">
|
|
<input type="number" name="attr_armor_aq" class="skill-value" value="0">
|
|
<input type="number" name="attr_armor_b" class="skill-value" value="0">
|
|
<input type="number" name="attr_armor_e" class="skill-value" value="0">
|
|
<input type="number" name="attr_armor_p" class="skill-value" value="0">
|
|
<input type="number" name="attr_armor_f" class="skill-value" value="0">
|
|
<input type="number" name="attr_armor_s" class="skill-value" value="0">
|
|
<input type="number" name="attr_armor_t" class="skill-value" value="0">
|
|
<div class="invensectionwrapper sectionarmourhead">
|
|
<input type="checkbox" name="attr_armor_loc_sk" class="skill-value " value="1">
|
|
<input type="hidden" name="attr_armor_sk_bvalue" class="skill-value " value="1">
|
|
<input type="hidden" name="attr_armor_sk_evalue" class="skill-value " value="1">
|
|
<input type="hidden" name="attr_armor_sk_pvalue" class="skill-value " value="1">
|
|
<input type="hidden" name="attr_armor_sk_fvalue" class="skill-value " value="1">
|
|
<input type="hidden" name="attr_armor_sk_svalue" class="skill-value " value="1">
|
|
<input type="hidden" name="attr_armor_sk_tvalue" class="skill-value " value="1">
|
|
<input type="checkbox" name="attr_armor_loc_fa" class="skill-value " value="1">
|
|
<input type="hidden" name="attr_armor_fa_bvalue" class="skill-value " value="1">
|
|
<input type="hidden" name="attr_armor_fa_evalue" class="skill-value " value="1">
|
|
<input type="hidden" name="attr_armor_fa_pvalue" class="skill-value " value="1">
|
|
<input type="hidden" name="attr_armor_fa_fvalue" class="skill-value " value="1">
|
|
<input type="hidden" name="attr_armor_fa_svalue" class="skill-value " value="1">
|
|
<input type="hidden" name="attr_armor_fa_tvalue" class="skill-value " value="1">
|
|
<input type="checkbox" name="attr_armor_loc_nk" class="skill-value " value="1">
|
|
<input type="hidden" name="attr_armor_nk_bvalue" class="skill-value " value="1">
|
|
<input type="hidden" name="attr_armor_nk_evalue" class="skill-value " value="1">
|
|
<input type="hidden" name="attr_armor_nk_pvalue" class="skill-value " value="1">
|
|
<input type="hidden" name="attr_armor_nk_fvalue" class="skill-value " value="1">
|
|
<input type="hidden" name="attr_armor_nk_svalue" class="skill-value " value="1">
|
|
<input type="hidden" name="attr_armor_nk_tvalue" class="skill-value " value="1">
|
|
</div>
|
|
<div class="invensectionwrapper sectionarmourarms">
|
|
<input type="checkbox" name="attr_armor_loc_sh" class="skill-value " value="1">
|
|
<input type="hidden" name="attr_armor_sh_bvalue" class="skill-value " value="1">
|
|
<input type="hidden" name="attr_armor_sh_evalue" class="skill-value " value="1">
|
|
<input type="hidden" name="attr_armor_sh_pvalue" class="skill-value " value="1">
|
|
<input type="hidden" name="attr_armor_sh_fvalue" class="skill-value " value="1">
|
|
<input type="hidden" name="attr_armor_sh_svalue" class="skill-value " value="1">
|
|
<input type="hidden" name="attr_armor_sh_tvalue" class="skill-value " value="1">
|
|
<input type="checkbox" name="attr_armor_loc_ua" class="skill-value " value="1">
|
|
<input type="hidden" name="attr_armor_ua_bvalue" class="skill-value " value="1">
|
|
<input type="hidden" name="attr_armor_ua_evalue" class="skill-value " value="1">
|
|
<input type="hidden" name="attr_armor_ua_pvalue" class="skill-value " value="1">
|
|
<input type="hidden" name="attr_armor_ua_fvalue" class="skill-value " value="1">
|
|
<input type="hidden" name="attr_armor_ua_svalue" class="skill-value " value="1">
|
|
<input type="hidden" name="attr_armor_ua_tvalue" class="skill-value " value="1">
|
|
<input type="checkbox" name="attr_armor_loc_el" class="skill-value " value="1">
|
|
<input type="hidden" name="attr_armor_el_bvalue" class="skill-value " value="1">
|
|
<input type="hidden" name="attr_armor_el_evalue" class="skill-value " value="1">
|
|
<input type="hidden" name="attr_armor_el_pvalue" class="skill-value " value="1">
|
|
<input type="hidden" name="attr_armor_el_fvalue" class="skill-value " value="1">
|
|
<input type="hidden" name="attr_armor_el_svalue" class="skill-value " value="1">
|
|
<input type="hidden" name="attr_armor_el_tvalue" class="skill-value " value="1">
|
|
<input type="checkbox" name="attr_armor_loc_fo" class="skill-value " value="1">
|
|
<input type="hidden" name="attr_armor_fo_bvalue" class="skill-value " value="1">
|
|
<input type="hidden" name="attr_armor_fo_evalue" class="skill-value " value="1">
|
|
<input type="hidden" name="attr_armor_fo_pvalue" class="skill-value " value="1">
|
|
<input type="hidden" name="attr_armor_fo_fvalue" class="skill-value " value="1">
|
|
<input type="hidden" name="attr_armor_fo_svalue" class="skill-value " value="1">
|
|
<input type="hidden" name="attr_armor_fo_tvalue" class="skill-value " value="1">
|
|
<input type="checkbox" name="attr_armor_loc_ha" class="skill-value " value="1">
|
|
<input type="hidden" name="attr_armor_ha_bvalue" class="skill-value " value="1">
|
|
<input type="hidden" name="attr_armor_ha_evalue" class="skill-value " value="1">
|
|
<input type="hidden" name="attr_armor_ha_pvalue" class="skill-value " value="1">
|
|
<input type="hidden" name="attr_armor_ha_fvalue" class="skill-value " value="1">
|
|
<input type="hidden" name="attr_armor_ha_svalue" class="skill-value " value="1">
|
|
<input type="hidden" name="attr_armor_ha_tvalue" class="skill-value " value="1">
|
|
</div>
|
|
<div class="invensectionwrapper sectionarmourtorso">
|
|
<input type="checkbox" name="attr_armor_loc_tx" class="skill-value " value="1">
|
|
<input type="hidden" name="attr_armor_tx_bvalue" class="skill-value " value="1">
|
|
<input type="hidden" name="attr_armor_tx_evalue" class="skill-value " value="1">
|
|
<input type="hidden" name="attr_armor_tx_pvalue" class="skill-value " value="1">
|
|
<input type="hidden" name="attr_armor_tx_fvalue" class="skill-value " value="1">
|
|
<input type="hidden" name="attr_armor_tx_svalue" class="skill-value " value="1">
|
|
<input type="hidden" name="attr_armor_tx_tvalue" class="skill-value " value="1">
|
|
<input type="checkbox" name="attr_armor_loc_ab" class="skill-value " value="1">
|
|
<input type="hidden" name="attr_armor_ab_bvalue" class="skill-value " value="1">
|
|
<input type="hidden" name="attr_armor_ab_evalue" class="skill-value " value="1">
|
|
<input type="hidden" name="attr_armor_ab_pvalue" class="skill-value " value="1">
|
|
<input type="hidden" name="attr_armor_ab_fvalue" class="skill-value " value="1">
|
|
<input type="hidden" name="attr_armor_ab_svalue" class="skill-value " value="1">
|
|
<input type="hidden" name="attr_armor_ab_tvalue" class="skill-value " value="1">
|
|
<input type="checkbox" name="attr_armor_loc_hp" class="skill-value " value="1">
|
|
<input type="hidden" name="attr_armor_hp_bvalue" class="skill-value " value="1">
|
|
<input type="hidden" name="attr_armor_hp_evalue" class="skill-value " value="1">
|
|
<input type="hidden" name="attr_armor_hp_pvalue" class="skill-value " value="1">
|
|
<input type="hidden" name="attr_armor_hp_fvalue" class="skill-value " value="1">
|
|
<input type="hidden" name="attr_armor_hp_svalue" class="skill-value " value="1">
|
|
<input type="hidden" name="attr_armor_hp_tvalue" class="skill-value " value="1">
|
|
<input type="checkbox" name="attr_armor_loc_gr" class="skill-value " value="1">
|
|
<input type="hidden" name="attr_armor_gr_bvalue" class="skill-value " value="1">
|
|
<input type="hidden" name="attr_armor_gr_evalue" class="skill-value " value="1">
|
|
<input type="hidden" name="attr_armor_gr_pvalue" class="skill-value " value="1">
|
|
<input type="hidden" name="attr_armor_gr_fvalue" class="skill-value " value="1">
|
|
<input type="hidden" name="attr_armor_gr_svalue" class="skill-value " value="1">
|
|
<input type="hidden" name="attr_armor_gr_tvalue" class="skill-value " value="1">
|
|
</div>
|
|
<div class="invensectionwrapper sectionarmourlegs">
|
|
<input type="checkbox" name="attr_armor_loc_th" class="skill-value " value="1">
|
|
<input type="hidden" name="attr_armor_th_bvalue" class="skill-value " value="1">
|
|
<input type="hidden" name="attr_armor_th_evalue" class="skill-value " value="1">
|
|
<input type="hidden" name="attr_armor_th_pvalue" class="skill-value " value="1">
|
|
<input type="hidden" name="attr_armor_th_fvalue" class="skill-value " value="1">
|
|
<input type="hidden" name="attr_armor_th_svalue" class="skill-value " value="1">
|
|
<input type="hidden" name="attr_armor_th_tvalue" class="skill-value " value="1">
|
|
<input type="checkbox" name="attr_armor_loc_kn" class="skill-value " value="1">
|
|
<input type="hidden" name="attr_armor_kn_bvalue" class="skill-value " value="1">
|
|
<input type="hidden" name="attr_armor_kn_evalue" class="skill-value " value="1">
|
|
<input type="hidden" name="attr_armor_kn_pvalue" class="skill-value " value="1">
|
|
<input type="hidden" name="attr_armor_kn_fvalue" class="skill-value " value="1">
|
|
<input type="hidden" name="attr_armor_kn_svalue" class="skill-value " value="1">
|
|
<input type="hidden" name="attr_armor_kn_tvalue" class="skill-value " value="1">
|
|
<input type="checkbox" name="attr_armor_loc_ca" class="skill-value " value="1">
|
|
<input type="hidden" name="attr_armor_ca_bvalue" class="skill-value " value="1">
|
|
<input type="hidden" name="attr_armor_ca_evalue" class="skill-value " value="1">
|
|
<input type="hidden" name="attr_armor_ca_pvalue" class="skill-value " value="1">
|
|
<input type="hidden" name="attr_armor_ca_fvalue" class="skill-value " value="1">
|
|
<input type="hidden" name="attr_armor_ca_svalue" class="skill-value " value="1">
|
|
<input type="hidden" name="attr_armor_ca_tvalue" class="skill-value " value="1">
|
|
<input type="checkbox" name="attr_armor_loc_ft" class="skill-value " value="1">
|
|
<input type="hidden" name="attr_armor_ft_bvalue" class="skill-value " value="1">
|
|
<input type="hidden" name="attr_armor_ft_evalue" class="skill-value " value="1">
|
|
<input type="hidden" name="attr_armor_ft_pvalue" class="skill-value " value="1">
|
|
<input type="hidden" name="attr_armor_ft_fvalue" class="skill-value " value="1">
|
|
<input type="hidden" name="attr_armor_ft_svalue" class="skill-value " value="1">
|
|
<input type="hidden" name="attr_armor_ft_tvalue" class="skill-value " value="1">
|
|
</div>
|
|
|
|
</fieldset>
|
|
<div class="footnote"> <details><summary>Note: Equipped (E) armour will count towards encumbrance (weight) and armour protection on the character tab.</summary><p>Fill in the B/E/P/G/F protection values from the rulebook and tick each location that is protected by the armour. The protection values will be added to the Armour Protection table on the Character Tab its weight will count towards the characters encumbrance (automatically calculated).</p></details></div>
|
|
</div>
|
|
<input class="showhorse" name="attr_hrhorseonsheet" type="hidden" value="1"/>
|
|
<div class='inventory-grid-section inven-personal personalinvengrid colored-grid'>
|
|
<div class="skill-section-title">PERSONAL INVENTORY</div>
|
|
<div class="skill-header skill-label">Item</div>
|
|
<div class="skill-header skill-value">WGT</div>
|
|
<div class="skill-header skill-value">C</div>
|
|
<fieldset class="repeating_inventoryitems">
|
|
<input type="text" name="attr_inventory_name" class="inventory-label">
|
|
<input type="number" step="any" name="attr_inventory_wgt" class="skill-value" value="0">
|
|
<input type="checkbox" name="attr_inventory_iscarried" value="1">
|
|
</fieldset>
|
|
<div class="footnote"> Note: checking the "C" checkbox denotes the item is carried/equipped on your person, and the weight will count towards the characters encumbrance</div>
|
|
</div>
|
|
<input class="showhorse" name="attr_hrhorseonsheet" type="hidden" value="1"/>
|
|
<div class='inventory-grid-section horse-inven-section inven-horse horseinvengrid colored-grid'>
|
|
<div class="skill-section-title">HORSE INVENTORY</div>
|
|
<div class="skill-header skill-label">Item</div>
|
|
<div class="skill-header skill-value">WGT</div>
|
|
<fieldset class="repeating_hinventoryitems">
|
|
<input type="text" name="attr_hinventory_name" class="inventory-label">
|
|
<input type="number" step="any" name="attr_hinventory_wgt" class="skill-value" value="0">
|
|
</fieldset>
|
|
<div class="footnote">Note: these items count towards horse's encumbrance</div>
|
|
<div class="footnote">on the character tab</div>
|
|
</div>
|
|
<input class="showhorse" name="attr_hrhorseonsheet" type="hidden" value="1"/>
|
|
<div class='inventory-grid-section horse-inven-section inven-horsearmor horsearmorinvengrid colored-grid'>
|
|
<div class="skill-section-title">HORSE ARMOUR WORN</div>
|
|
<div class="skill-header skill-label">Armour</div>
|
|
<div class="skill-header skill-value">AQ</div>
|
|
<div class="skill-header skill-value">WGT</div>
|
|
<fieldset class="repeating_harmoritems">
|
|
<input type="text" name="attr_harmor_name" class="inventory-label-xsmall">
|
|
<input type="number" name="attr_harmor_aq" class="skill-value" value="0">
|
|
<input type="number" step="any" name="attr_harmor_wgt" class="skill-value" value="0">
|
|
</fieldset>
|
|
<div class="footnote">Note: this armour counts towards horse's encumbrance</div>
|
|
</div>
|
|
<div class='inventory-grid-section inven-moneypersonal moneygrid colored-grid'>
|
|
<!--note: the attributes are named after coinage we used in our customised Harn session, users can rename this easily to other namings such as copper/silver/gold etc -->
|
|
<div class="skill-section-title">MONEY (PERSON)</div>
|
|
<label for=moneycomment>Comment:</label>
|
|
<input id=moneycomment type="text" name="attr_money_comment" class="money-label">
|
|
<div class="skill-header width-3col">Type</div>
|
|
<div class="skill-header skill-value">#</div>
|
|
<input type="text" name="attr_money_person_one_name" value="silver" class="skill-label">
|
|
<input type="number" name="attr_money_person_one_amount" class="skill-value" value="0">
|
|
<input type="text" name="attr_money_person_two_name" value="" class="skill-label">
|
|
<input type="number" name="attr_money_person_two_amount" class="skill-value" value="0">
|
|
<input type="text" name="attr_money_person_three_name" value="" class="skill-label">
|
|
<input type="number" name="attr_money_person_three_amount" class="skill-value" value="0">
|
|
</div>
|
|
<div class='inventory-grid-section inven-moneybank moneygrid colored-grid'>
|
|
<div class="skill-section-title">MONEY (BANK)</div>
|
|
<label for=moneybank>Location:</label>
|
|
<input id=moneybank type="text" name="attr_money_bank_name" class="money-label">
|
|
<div class="skill-header width-3col">Type</div>
|
|
<div class="skill-header skill-value">#</div>
|
|
<input type="text" name="attr_money_bank_one_name" value="silver" class="skill-label">
|
|
<input type="number" name="attr_money_bank_one_amount" class="skill-value" value="0">
|
|
<input type="text" name="attr_money_bank_two_name" value="" class="skill-label">
|
|
<input type="number" name="attr_money_bank_two_amount" class="skill-value" value="0">
|
|
<input type="text" name="attr_money_bank_three_name" value="" class="skill-label">
|
|
<input type="number" name="attr_money_bank_three_amount" class="skill-value" value="0">
|
|
</div>
|
|
<div class='inventory-grid-section inven-moneygroup moneygrid colored-grid'>
|
|
<div class="skill-section-title">MONEY (OTHER)</div>
|
|
<label for=moneygroup>Notes:</label>
|
|
<input id=moneygroup type="text" name="attr_money_group_name" class="money-label">
|
|
<div class="skill-header width-3col">Type</div>
|
|
<div class="skill-header skill-value">#</div>
|
|
<input type="text" name="attr_money_other_one_name" value="" class="skill-label">
|
|
<input type="number" name="attr_money_other_one_amount" class="skill-value" value="0">
|
|
<input type="text" name="attr_money_other_two_name" value="" class="skill-label">
|
|
<input type="number" name="attr_money_other_two_amount" class="skill-value" value="0">
|
|
<input type="text" name="attr_money_other_three_name" value="" class="skill-label">
|
|
<input type="number" name="attr_money_other_four_amount" class="skill-value" value="0">
|
|
</div>
|
|
<div class='inventory-grid-section inven-notes colored-grid'>
|
|
<div class="skill-section-title">NOTES</div>
|
|
<textarea name="attr_various_notes" class="notes"></textarea>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class='settings'> <!-- SETTINGS TAB -->
|
|
<h2 class='tab-header'>Character Sheet</h2>
|
|
<h1 class='tab-header'>Settings</h1>
|
|
<div class='settings-grid'> <!-- grid container-->
|
|
<div class='settings-grid-section settingsgroup colored-grid'>
|
|
<div class="skill-section-title">Houserules</div>
|
|
<div class="full-width skill-header">Penalties</div>
|
|
<label for=conditionloadtoggle>Use Condition/5 instead of Endurance to calculate load?</label>
|
|
<input id=conditionloadtoggle name="attr_opt_condition4endurance" type="checkbox">
|
|
<label for=encumbrancetoggle>Include Encumbrance in Physical Penalty?</label>
|
|
<input id=encumbrancetoggle name="attr_opt_encumbrance" type="checkbox">
|
|
<label for=universalpenaltytoggle>Apply a Universal Penalty (fatigue + injury) to non-physical skills?</label>
|
|
<input id=universalpenaltytoggle name="attr_opt_universalpenalty" type="checkbox">
|
|
</div>
|
|
<div class='settings-grid-section settingsgroup colored-grid'>
|
|
<div class="skill-section-title">Sheet settings</div>
|
|
<div class="full-width skill-header">Custom section control</div>
|
|
<label for=showhorsetoggle>Show Horse on sheet?</label>
|
|
<input id=showhorsetoggle name="attr_hrhorseonsheet" type="checkbox" value="1" checked>
|
|
<label for=showpietytoggle class="harntooltip" data-tooltiptext="When this is unchecked the sheet will show space for tracking piety per god with repeating rows" >Show consolidated piety?</label>
|
|
<input id=showpietytoggle name="attr_hrconsolidatedpiety" type="checkbox" value="1" checked>
|
|
<div class="full-width skill-header">Sheet version</div>
|
|
<div class="full-width">
|
|
<input name="attr_character_sheet_version" type="number" value="1" readonly>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="changelog">
|
|
<h2>Changelog</h2>
|
|
<h3>000000 - Version 1</h3>
|
|
<details>
|
|
<summary class="changelog-summary">
|
|
<p class="changelog-summary">Initial version</p>
|
|
</summary>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- ROLL TEMPLATES -->
|
|
<!-- based on Jakob's better default Rolltemplate; adjusted to include reporting success and failure and infection feedback, plus many other tweaks for Harn.
|
|
props:
|
|
* character_name: Name of chaaracter performing action.
|
|
* rolldesc: Text describing roll in header.
|
|
* penalty: Autocalculated in value from Universal or Physical Penalty. Applied in rolltarget
|
|
* Modifier: Dieroll query in each roll, defaults to 0. Applied in rolltarget.
|
|
* ml: Unmodified target of the roll.
|
|
* rolltarget: Actual target of roll, derived from 'ml + (penalty * 5) + Modifier'
|
|
* rollresult: Die roll result.
|
|
* description: Optional property for any additional text at the end of table.
|
|
* infected: sepcial row just for infected wounds, value either 0 or on or not present.
|
|
* nocrit: optional property for rolls that cannot crit. If left out the roll reports crits on -0 and -5 rolls, if set to any value the roll will only report success or failure, no crits
|
|
* skilldevrol. optional property for rolls that cannot crit. If left out rolls lower than target are succesful, if set to any value any rolls higher than the target are succesful.
|
|
/-->
|
|
|
|
<rolltemplate class="sheet-rolltemplate-custom">
|
|
<div class="sheet-container sheet-color-{{color}}">
|
|
<div class="sheet-header">
|
|
{{#title}}<div class="sheet-title">{{title}}</div>{{/title}}
|
|
{{#subtitle}}<div class="sheet-subtitle">{{subtitle}}</div>{{/subtitle}}
|
|
{{#infected}}
|
|
{{#rollTotal() infected 1}}
|
|
<div class="sheet-infected">Infected</div>
|
|
{{/rollTotal() infected 1}}
|
|
{{/infected}}
|
|
</div>
|
|
<div class="sheet-content">
|
|
{{#allprops() title subtitle successdesc desc color rollresult rolltarget infected nocrit skilldevroll}}
|
|
<div class="sheet-key">{{key}}</div>
|
|
<div class="sheet-value">{{value}}</div>
|
|
{{/allprops() title subtitle successdesc desc color rollresult rolltarget infected nocrit skilldevroll}}
|
|
|
|
{{^Initiative}}
|
|
<div class="sheet-key sheet-rolltarget">TARGET</div>
|
|
<div class="sheet-value sheet-rolltarget">{{rolltarget}}</div>
|
|
<div class="sheet-key sheet-rollresult">RESULT</div>
|
|
<div class="sheet-value sheet-rollresult">{{rollresult}}</div>
|
|
{{/Initiative}}
|
|
|
|
{{^skilldevroll}} <!-- normal rolls have to roll under target and can possibly crit -->
|
|
{{#^rollGreater() rollresult rolltarget}}
|
|
|
|
{{#rollWasCrit() rollresult }}
|
|
{{^nocrit}}
|
|
<div class="sheet-crit-success">Critical Success!!</div>
|
|
{{/nocrit}}
|
|
{{#nocrit}}
|
|
<div class="sheet-success">Success</div>
|
|
{{/nocrit}}
|
|
{{/rollWasCrit() rollresult }}
|
|
|
|
|
|
{{#^rollWasCrit() rollresult }}
|
|
{{^nocrit}}
|
|
<div class="sheet-success">Marginal Success</div>
|
|
{{/nocrit}}
|
|
{{#nocrit}}
|
|
<div class="sheet-success">Success</div>
|
|
{{/nocrit}}
|
|
{{/^rollWasCrit() rollresult }}
|
|
{{/^rollGreater() rollresult rolltarget}}
|
|
|
|
{{#rollGreater() rollresult rolltarget}}
|
|
|
|
{{#rollWasCrit() rollresult }}
|
|
{{^nocrit}}
|
|
<div class="sheet-crit-failure">Critical Failure!!</div>
|
|
{{/nocrit}}
|
|
{{#nocrit}}
|
|
<div class="sheet-failure">Failure</div>
|
|
{{/nocrit}}
|
|
|
|
{{/rollWasCrit() rollresult }}
|
|
|
|
{{#^rollWasCrit() rollresult }}
|
|
{{^nocrit}}
|
|
<div class="sheet-failure">Marginal Failure</div>
|
|
{{/nocrit}}
|
|
{{#nocrit}}
|
|
<div class="sheet-failure">Failure</div>
|
|
{{/nocrit}}
|
|
|
|
{{/^rollWasCrit() rollresult }}
|
|
{{/rollGreater() rollresult rolltarget}}
|
|
{{/skilldevroll}}
|
|
|
|
{{#skilldevroll}} <!-- skill development rolls have to roll above target and never crit -->
|
|
{{#^rollGreater() rollresult rolltarget}}
|
|
<div class="sheet-failure">Failure.</div>
|
|
{{/^rollGreater() rollresult rolltarget}}
|
|
{{#rollGreater() rollresult rolltarget}}
|
|
<div class="sheet-success">Success.</div>
|
|
{{/rollGreater() rollresult rolltarget}}
|
|
{{/skilldevroll}}
|
|
|
|
{{#desc}}<div class="sheet-desc">{{desc}}</div>{{/desc}}
|
|
{{#^rollGreater() rollresult rolltarget}}
|
|
{{#successdesc}}<div class="sheet-desc">{{successdesc}}</div>{{/successdesc}}
|
|
{{/^rollGreater() rollresult rolltarget}}
|
|
</div>
|
|
</div>
|
|
</rolltemplate>
|
|
|
|
<!-- SHEETWORKERS -->
|
|
<script type="text/worker">
|
|
<!-- reusable repeatingsum code from https://wiki.roll20.net/repeatingsum -->
|
|
const repeatingSum = (destinations, section, fields, ...extras) => {
|
|
const isNumber = value => parseFloat(value).toString() === value.toString();
|
|
const isOption = value => [...checks.valid, ...checks.roundtypes].includes(value);
|
|
const isRounding = value => checks.roundtypes.includes(value);
|
|
const isFraction = value => value.includes('/') && !(value.includes(',') || value.includes('|'));
|
|
const getTrimmed = value => value.toLowerCase().replace(/\s/g, '');
|
|
const getRounded = (type, value, pow) => (Math[type](value * Math.pow(10, pow)) / Math.pow(10, pow)).toFixed(Math.max(0, pow));
|
|
const getFraction = (value) => /*{ console.log(`value: ${value}`); */
|
|
parseInt(value.split('/')[0]) / parseInt(value.split('/')[1]);
|
|
const getMultiplier = (value, rounding = 1) => 'undefined' === typeof value ? (rounding ? 0: 1) : (
|
|
isNumber(value) ? parseFloat(value) : (isFraction(value) ? getFraction(value) : value));
|
|
if (!Array.isArray(destinations)) destinations = [getTrimmed(destinations)];
|
|
if (!Array.isArray(fields)) fields = [getTrimmed(fields)];
|
|
const fields_trimmed = fields.map(field => getTrimmed(field).split(':')[0]);
|
|
const subfields = fields_trimmed.slice(0,destinations.length);
|
|
const checks = { valid: ['multiplier'], roundtypes: ['ceil', 'round', 'floor'] };
|
|
let properties = {attributes: {}, options: {}};
|
|
extras.forEach(extra => {
|
|
const [prop, v] = getTrimmed(extra).split(':');
|
|
const multiplier_maybe = getMultiplier(v, isRounding(prop));
|
|
const obj = isNumber(multiplier_maybe) ? subfields.reduce((obj,field) => {
|
|
obj[field] = multiplier_maybe;
|
|
return obj;
|
|
},{}) : multiplier_maybe.split(',').reduce((obj, item) => {
|
|
const [stat, value] = item.split('|');
|
|
const multiplier = getMultiplier(value, isRounding(prop));
|
|
obj[stat] = multiplier;
|
|
return obj;
|
|
}, {});
|
|
properties[isOption(prop) ? 'options' : 'attributes'][prop] = obj;
|
|
});
|
|
getSectionIDs(`repeating_${section}`, idArray => {
|
|
const attrArray = idArray.reduce((m, id) => [...m, ...(fields_trimmed.map(field => `repeating_${section}_${id}_${field}`))], []);
|
|
getAttrs([...attrArray, ...Object.keys(properties.attributes)], v => {
|
|
const getValue = (section, id, field) => v[`repeating_${section}_${id}_${field}`] === 'on' ? 1 : parseFloat(v[`repeating_${section}_${id}_${field}`]) || 0;
|
|
const commonMultipliers = (fields.length <= destinations.length) ? [] : fields.splice(destinations.length, fields.length - destinations.length);
|
|
const output = destinations.reduce((obj, destination, index) => {
|
|
let sumTotal = idArray.reduce((total, id) => total + getValue(section, id, fields_trimmed[index]) * commonMultipliers.reduce((subtotal, mult) => subtotal * ((!mult.includes(':') || mult.split(':')[1].split(',').includes(fields_trimmed[index])) ? getValue(section, id, mult.split(':')[0]) : 1), 1), 0);
|
|
sumTotal *= (properties.options.hasOwnProperty('multiplier') && Object.keys(properties.options.multiplier).includes(fields_trimmed[index])) ? (parseFloat(properties.options.multiplier[fields_trimmed[index]]) || 0): 1;
|
|
sumTotal += Object.entries(properties.attributes).reduce((total, [key, value]) =>
|
|
total += (value.hasOwnProperty(fields_trimmed[index]) ? parseFloat(v[key] || 0) * (parseFloat(value[fields_trimmed[index]]) || 1): 0) , 0);
|
|
checks.roundtypes.forEach(type => {
|
|
if (properties.options.hasOwnProperty(type)) {
|
|
if (Object.keys(properties.options[type]).includes(fields_trimmed[index])) {
|
|
sumTotal = getRounded(type, sumTotal, (+properties.options[type][fields_trimmed[index]] || 0));
|
|
} else if (properties.options[type] == '0' || !isNaN(+properties.options[type] || 'x') ) {
|
|
sumTotal = getRounded(type, sumTotal, +properties.options[type]);
|
|
}
|
|
}
|
|
});
|
|
obj[destination] = sumTotal;
|
|
return obj;
|
|
}, {});
|
|
setAttrs(output);
|
|
});
|
|
});
|
|
}; <!-- end repeatingsum code -->
|
|
|
|
<!-- sheet tab buttons -->
|
|
const buttonlist = ['character','inventory','settings'];
|
|
buttonlist.forEach(button => {
|
|
on(`clicked:${button}`, function() {
|
|
setAttrs({
|
|
sheetTab: button
|
|
});
|
|
});
|
|
});
|
|
|
|
<!-- weapon load totals /-->
|
|
on('change:repeating_weapon remove:repeating_weapon', function() {
|
|
repeatingSum('load_weapons_total', 'weapon',['weapon_wgt','weapon_iscarried']);
|
|
});
|
|
|
|
<!-- armor load totals /-->
|
|
on('change:repeating_armoritems remove:repeating_armoritems', function() {
|
|
repeatingSum('load_armor_total', 'armoritems',['armor_wgt','armor_iscarried']);
|
|
|
|
});
|
|
|
|
<!-- horse armor load totals /-->
|
|
on('change:repeating_harmoritems remove:repeating_harmoritems', function() {
|
|
repeatingSum('hload_armor_total', 'harmoritems', 'harmor_wgt');
|
|
|
|
});
|
|
|
|
<!-- item load totals /-->
|
|
on('change:repeating_inventoryitems remove:repeating_inventoryitems', function() {
|
|
repeatingSum('load_inventory_total', 'inventoryitems', ['inventory_wgt','inventory_iscarried']);
|
|
|
|
});
|
|
|
|
<!-- horse item load totals /-->
|
|
on('change:repeating_hinventoryitems remove:repeating_hinventoryitems', function() {
|
|
repeatingSum('hload_inventory_total', 'hinventoryitems', 'hinventory_wgt');
|
|
|
|
});
|
|
|
|
<!-- dodge EML -->
|
|
on('change:dodge_ml change:physical_penalty',
|
|
function() {
|
|
getAttrs(['dodge_ml', 'physical_penalty'],
|
|
function(values) {
|
|
var dodge_ml = parseInt(values['dodge_ml']);
|
|
var pp = parseInt(values['physical_penalty'])||0;
|
|
var dodge_eml = dodge_ml - pp;
|
|
console.log("dodge ML", dodge_ml, "pp", pp, "dodge EML", dodge_eml);
|
|
setAttrs({
|
|
'dodge_eml' : dodge_eml
|
|
});
|
|
});
|
|
});
|
|
|
|
<!-- condition/5 for use in load (depending on rules settings) /-->
|
|
on('change:condition_ml change:end',
|
|
function() {
|
|
getAttrs(['condition_ml', 'end'],
|
|
function(values) {
|
|
var conditionml = parseInt(values['condition_ml']); /*note: we don't want to set this to 0 if condition is not filled in, this leads to errors later */
|
|
var endurancevalue = parseInt(values['end'])||0;
|
|
var condasendvalue = Math.round(conditionml / 5)||endurancevalue; /* if there is no condition, set this to be equal to endurance */
|
|
var conditionlimit = 18;
|
|
var effectivecondition = Math.min(condasendvalue,conditionlimit)||0;
|
|
console.log("effective condition", effectivecondition, "conditionml", conditionml, "condition limit" , conditionlimit);
|
|
setAttrs({
|
|
'load_effectivecondition': effectivecondition
|
|
});
|
|
});
|
|
});
|
|
|
|
|
|
|
|
<!-- load, fatigue rate and encumbrance /-->
|
|
on('change:load_weapons_total change:load_armor_total change:load_inventory_total change:load_effectivecondition change:end change:is_mounted change:enc_multiplier change:opt_condition4endurance', function() {
|
|
var total = 0.0;
|
|
getAttrs(['load_armor_total', 'load_weapons_total', 'load_inventory_total', 'load_effectivecondition','end', 'enc_multiplier', 'is_mounted', 'opt_condition4endurance'], function(values) {
|
|
total += parseFloat(values['load_armor_total'])||0.0;
|
|
total += parseFloat(values['load_weapons_total'])||0.0;
|
|
total += parseFloat(values['load_inventory_total'])||0.0;
|
|
if(values.opt_condition4endurance == 0) {
|
|
var carrycapacity = parseInt(values['end']);
|
|
} else {
|
|
var carrycapacity = parseInt(values['load_effectivecondition']);
|
|
}
|
|
var fatigue_rate = Math.round(total/carrycapacity)||0;
|
|
var enc_mult = parseInt(values['enc_multiplier'])||1;
|
|
var encumbrance = fatigue_rate * enc_mult;
|
|
if(values.is_mounted != 0) {
|
|
encumbrance = Math.round(encumbrance/2);
|
|
}
|
|
console.log("carry capacity", carrycapacity, "enc_mult", enc_mult, "encumbrance", encumbrance, "total weight", total, "opt_condition4endurance", values.opt_condition4endurance);
|
|
setAttrs({
|
|
'load_total': parseFloat(total)||0,
|
|
'encumbrance': encumbrance,
|
|
'fatigue_rate': fatigue_rate
|
|
});
|
|
});
|
|
});
|
|
|
|
<!-- horse load limit, load and encumbrance /-->
|
|
<!-- this is mostly HM3 rules, as HMG is even simpler (just 3 load limits, one for each class of horse) -->
|
|
on('change:hstr change:weight change:load_total change:hload_armor_total change:hload_inventory_total change:hend change:hstr',
|
|
function() {
|
|
var total = 0.0;
|
|
getAttrs(['weight', 'load_total', 'hload_armor_total', 'hload_inventory_total', 'hend', 'hstr'],
|
|
function(values) {
|
|
total += parseFloat(values['weight'])||0.0;
|
|
total += parseFloat(values['load_total'])||0.0;
|
|
total += parseFloat(values['hload_armor_total'])||0.0;
|
|
total += parseFloat(values['hload_inventory_total'])||0.0;
|
|
var horsestrength = parseInt(values['hstr'])||0;
|
|
hllimit = Math.round(horsestrength*10);
|
|
var hadjustedloadtemp = Math.round(total-hllimit);
|
|
var hadjustedload = Math.max(0, hadjustedloadtemp);
|
|
var hcomend = parseInt(values['hend'])||0;
|
|
if ( hcomend != 0 ) {
|
|
var hencumb = Math.round(hadjustedload/hcomend)||0;
|
|
} else {
|
|
var hencumb = 0;
|
|
console.log("Horse endurance not known, setting horse encumbrance to 0");
|
|
}
|
|
|
|
var riderweight = parseFloat(values['weight'])||0;
|
|
var riderload = riderweight + parseFloat(values['load_total'])||0.0;
|
|
setAttrs({
|
|
'hloadlimit': hllimit,
|
|
'hadjusted_load': hadjustedload,
|
|
'hload_total': parseInt(total)||0,
|
|
'hencumbrance': hencumb,
|
|
'hload_rider_total': riderload
|
|
});
|
|
});
|
|
});
|
|
|
|
<!-- injury totals /-->
|
|
on('change:repeating_injury:injury_level remove:repeating_injury', function() {
|
|
repeatingSum('injury_total', 'injury', 'injury_level');
|
|
|
|
});
|
|
|
|
<!-- horse injury totals /-->
|
|
on('change:repeating_hinjury:hinjury_level remove:repeating_hinjury', function() {
|
|
repeatingSum('hinjury_total', 'hinjury', 'hinjury_level');
|
|
|
|
});
|
|
|
|
<!-- injury infected feedback /-->
|
|
on('change:repeating_injury:injury_infected', function() {
|
|
getAttrs([
|
|
'repeating_injury_injury_infected',
|
|
'repeating_spells_injury_infected_feedback'
|
|
], function(values) {
|
|
var isinfected = (values.repeating_injury_injury_infected == 0 ? 0 : 1);
|
|
setAttrs({
|
|
repeating_injury_injury_infected_feedback: isinfected
|
|
});
|
|
});
|
|
});
|
|
|
|
<!-- horse injury infected feedback /-->
|
|
on('change:repeating_hinjury:hinjury_infected', function() {
|
|
getAttrs([
|
|
'repeating_injury_hinjury_infected',
|
|
'repeating_spells_hinjury_infected_feedback'
|
|
], function(values) {
|
|
var isinfected = (values.repeating_injury_hinjury_infected == 0 ? 0 : 1);
|
|
setAttrs({
|
|
repeating_injury_hinjury_infected_feedback: isinfected
|
|
});
|
|
});
|
|
});
|
|
|
|
<!-- stumble is either agl x 5 or dodge, whichever is higher -->
|
|
on('change:agl change:dodge_ml', function() {
|
|
getAttrs(['agl', 'dodge_ml'], function(values) {
|
|
var agl = parseInt(values.agl) * 5;
|
|
var dodge = parseInt(values.dodge_ml);
|
|
var stumble = agl > dodge ? agl : dodge;
|
|
console.log("combat_stumble", stumble, "dodge", dodge, "agl x 5", agl);
|
|
setAttrs({
|
|
'combat_stumble': stumble,
|
|
});
|
|
});
|
|
});
|
|
|
|
<!-- universal and physical penalties -->
|
|
on('change:is_mounted change:injury_total change:fatigue_total change:encumbrance change:opt_encumbrance change:opt_universalpenalty', function() {
|
|
getAttrs(['injury_total', 'fatigue_total', 'encumbrance', 'is_mounted', 'opt_encumbrance', 'opt_universalpenalty'], function(values) {
|
|
var inj = parseInt(values.injury_total)||0;
|
|
var fat = parseInt(values.fatigue_total)||0;
|
|
var enc = parseInt(values.encumbrance)||0;
|
|
|
|
if (values.is_mounted == 1) { fat = Math.round(fat / 2) };
|
|
var upenalty = inj + fat;
|
|
|
|
// Should ENC be included in PP?
|
|
if(values.opt_encumbrance == 0) {
|
|
var ppenalty = upenalty;
|
|
} else {
|
|
var ppenalty = enc + upenalty;
|
|
}
|
|
|
|
// Option to use HM3-style universal penalty (injury + fatigue) to everything not already subject to PP in HMG.
|
|
// This makes more of a difference if encumbrance is included in physical penalty.
|
|
if(values.opt_universalpenalty == 0) {
|
|
upenalty = 0;
|
|
}
|
|
|
|
console.log("ppenalty", ppenalty, "upenalty", upenalty, "opt_encumbrance",values.opt_encumbrance, "opt_universalpenalty",values.opt_universalpenalty);
|
|
setAttrs({
|
|
'universal_penalty': upenalty,
|
|
'physical_penalty': ppenalty
|
|
});
|
|
});
|
|
});
|
|
|
|
<!-- horse universal and physical penalties /-->
|
|
on('change:hinjury_total change:hfatigue_total change:hencumbrance change:opt_encumbrance change:opt_universalpenalty', function() {
|
|
getAttrs(['hinjury_total', 'hfatigue_total', 'hencumbrance', 'opt_encumbrance', 'opt_universalpenalty'], function(values) {
|
|
var hfat = parseInt(values.hfatigue_total)||0;
|
|
var hinj = parseInt(values.hinjury_total)||0;
|
|
var henc = parseInt(values.hencumbrance)||0;
|
|
var opt_encumbrance = parseInt(values.opt_encumbrance)||0;
|
|
var opt_universalpenalty = parseInt(values.opt_universalpenalty)||0;
|
|
|
|
var hupenalty = hinj + hfat;
|
|
|
|
if(opt_encumbrance == 1) {
|
|
var hppenalty = henc + hupenalty;
|
|
} else {
|
|
var hppenalty = hupenalty;
|
|
}
|
|
if(opt_universalpenalty == 0) {
|
|
hupenalty = 0;
|
|
}
|
|
setAttrs({
|
|
'huniversal_penalty': hupenalty,
|
|
'hphysical_penalty': hppenalty
|
|
});
|
|
});
|
|
});
|
|
|
|
<!-- Move speed in combat /-->
|
|
on('change:encumbrance change:universal_penalty change:mobility_ml change:is_mounted change:hcombat_move', function() {
|
|
getAttrs(['mobility_ml', 'universal_penalty', 'encumbrance', 'is_mounted', 'hcombat_move', 'hrhorseonsheet'], function(values) {
|
|
var cmove = parseInt(values.mobility_ml) - parseInt(values.universal_penalty) - parseInt(values.encumbrance);
|
|
var currenthcmove = parseInt(values.hcombat_move);
|
|
cmove = Math.max(cmove, 1); <!-- move is never less than 1 -->
|
|
if (values.is_mounted == 1 && values.hrhorseonsheet != 0) { cmove = currenthcmove }; <!-- use horse move when mounted, don't do this if horse is not shown on sheet (horse speed would be 0) -->
|
|
console.log("combat move", cmove, "horse move", currenthcmove, "mounted?" , values.is_mounted);
|
|
setAttrs({
|
|
'combat_move': cmove
|
|
});
|
|
});
|
|
});
|
|
|
|
<!-- combat initiative toggle between on and off horse /-->
|
|
on('change:is_mounted change:initiative_ml change:encumbrance change:universal_penalty',
|
|
function() {
|
|
getAttrs(['initiative_ml', 'hcombat_initiative', 'is_mounted', 'combat_initiative', 'encumbrance', 'universal_penalty', 'hrhorseonsheet'],
|
|
function(values) {
|
|
var cinit = parseInt(values['initiative_ml'])||0;
|
|
var physpen = parseInt(values['encumbrance'])||0;
|
|
physpen += parseInt(values['universal_penalty'])||0;
|
|
cinit = Math.round(cinit - physpen);
|
|
if(values.is_mounted != 0 && values.hrhorseonsheet != 0) { cinit = parseInt(values['hcombat_initiative'])}; <!-- note: don't use horse ml if horse is not shown on sheet -->
|
|
setAttrs({
|
|
'combat_initiative': cinit
|
|
});
|
|
});
|
|
});
|
|
|
|
<!-- horse combat initiative /-->
|
|
on('change:hinitiative_ml change:initiative_ml change:ridingpersonal_ml change:hphysical_penalty sheet:opened',
|
|
function() {
|
|
getAttrs(['hinitiative_ml', 'ridingpersonal_ml', 'initiative_ml', 'hphysical_penalty'],
|
|
function(values) {
|
|
var hcinit = parseInt(values['hinitiative_ml'])||0;
|
|
var init = parseInt(values['initiative_ml'])||0;
|
|
var riding = parseInt(values['ridingpersonal_ml'])||0;
|
|
|
|
// using the average is an option that I haven't implemented on the char sheet.
|
|
// team initiative is the average of horse initiative, rider initiative and rider skill
|
|
//hcinit = Math.round((hcinit + init + riding)/3);
|
|
|
|
// the core rules use the least of the three values.
|
|
hcinit = Math.min(hcinit, Math.min(init,riding));
|
|
|
|
// reduced by the hours's physical penalty
|
|
var physpen = parseInt(values['hphysical_penalty'])||0;
|
|
hcinit = Math.round(hcinit - physpen);
|
|
setAttrs({
|
|
'hcombat_initiative': hcinit
|
|
});
|
|
});
|
|
});
|
|
|
|
<!-- Horse Move speed in combat /-->
|
|
on('change:horse_speed change:hencumbrance change:huniversal_penalty change:hmove', function() {
|
|
getAttrs(['hmove', 'huniversal_penalty', 'hencumbrance', 'horse_speed'], function(values) {
|
|
var hcmove = parseInt(values.hmove) - parseInt(values.huniversal_penalty) - parseInt(values.hencumbrance);
|
|
hcmove = Math.round( hcmove * parseFloat(values.horse_speed) ); // note: 0.5 speed for walk doesn't seem to work, goes down to 0.
|
|
var hcminmove = Math.round( hcmove/3 );
|
|
setAttrs({
|
|
'hcombat_move': hcmove,
|
|
'hcombat_min_move': hcminmove
|
|
});
|
|
});
|
|
});
|
|
|
|
<!-- horse turning /-->
|
|
on('change:horse_speed', function() {
|
|
getAttrs(['horse_speed'], function(values) {
|
|
var maxturn = 0;
|
|
if(values.horse_speed == 1) { maxturn = 3 };
|
|
if(values.horse_speed == 2) { maxturn = 5 };
|
|
if(values.horse_speed == 3) { maxturn = 10 };
|
|
setAttrs({
|
|
'hturn': maxturn
|
|
});
|
|
});
|
|
});
|
|
|
|
<!-- WEAPON CALCULATIONS -->
|
|
|
|
<!-- Missile Weapon EML and Impact calculations for various ranges. -->
|
|
on('change:repeating_missileweapon', function() {
|
|
getAttrs(['repeating_missileweapon_missileweapon_ml', 'repeating_missileweapon_missileweapon_p',
|
|
'repeating_missileweapon_missileweapon_4_mod_ml', 'repeating_missileweapon_missileweapon_4_mod_dmg',
|
|
'repeating_missileweapon_missileweapon_8_mod_ml', 'repeating_missileweapon_missileweapon_8_mod_dmg',
|
|
'repeating_missileweapon_missileweapon_16_mod_ml', 'repeating_missileweapon_missileweapon_16_mod_dmg',
|
|
'repeating_missileweapon_missileweapon_32_mod_ml', 'repeating_missileweapon_missileweapon_32_mod_dmg',
|
|
'repeating_missileweapon_missileweapon_64_mod_ml', 'repeating_missileweapon_missileweapon_64_mod_dmg',
|
|
'repeating_missileweapon_missileweapon_128_mod_ml', 'repeating_missileweapon_missileweapon_128_mod_dmg',
|
|
'repeating_missileweapon_missileweapon_256_mod_ml', 'repeating_missileweapon_missileweapon_256_mod_dmg',
|
|
'repeating_missileweapon_missileweapon_512_mod_ml', 'repeating_missileweapon_missileweapon_512_mod_dmg',
|
|
'repeating_missileweapon_missileweapon_1024_mod_ml', 'repeating_missileweapon_missileweapon_1024_mod_dmg'], function(values) {
|
|
|
|
var mml = parseInt(values.repeating_missileweapon_missileweapon_ml);
|
|
var mdmg = parseInt(values.repeating_missileweapon_missileweapon_p);
|
|
|
|
console.log("mml", mml, "mdmg", mdmg);
|
|
|
|
var range_4_ml = mml + parseInt(values.repeating_missileweapon_missileweapon_4_mod_ml);
|
|
var range_4_dmg = mdmg + parseInt(values.repeating_missileweapon_missileweapon_4_mod_dmg);
|
|
var range_8_ml = mml + parseInt(values.repeating_missileweapon_missileweapon_8_mod_ml);;
|
|
var range_8_dmg = mdmg + parseInt(values.repeating_missileweapon_missileweapon_8_mod_dmg);
|
|
var range_16_ml = mml + parseInt(values.repeating_missileweapon_missileweapon_16_mod_ml);
|
|
var range_16_dmg = mdmg + parseInt(values.repeating_missileweapon_missileweapon_16_mod_dmg);
|
|
var range_32_ml = mml + parseInt(values.repeating_missileweapon_missileweapon_32_mod_ml);
|
|
var range_32_dmg = mdmg + parseInt(values.repeating_missileweapon_missileweapon_32_mod_dmg);
|
|
var range_64_ml = mml + parseInt(values.repeating_missileweapon_missileweapon_64_mod_ml);
|
|
var range_64_dmg = mdmg + parseInt(values.repeating_missileweapon_missileweapon_64_mod_dmg);
|
|
var range_128_ml = mml + parseInt(values.repeating_missileweapon_missileweapon_128_mod_ml);
|
|
var range_128_dmg = mdmg + parseInt(values.repeating_missileweapon_missileweapon_128_mod_dmg);
|
|
var range_256_ml = mml + parseInt(values.repeating_missileweapon_missileweapon_256_mod_ml);
|
|
var range_256_dmg = mdmg + parseInt(values.repeating_missileweapon_missileweapon_256_mod_dmg);
|
|
var range_512_ml = mml + parseInt(values.repeating_missileweapon_missileweapon_512_mod_ml);
|
|
var range_512_dmg = mdmg + parseInt(values.repeating_missileweapon_missileweapon_512_mod_dmg);
|
|
var range_1024_ml = mml + parseInt(values.repeating_missileweapon_missileweapon_1024_mod_ml);
|
|
var range_1024_dmg = mdmg + parseInt(values.repeating_missileweapon_missileweapon_1024_mod_dmg);
|
|
|
|
setAttrs({
|
|
'repeating_missileweapon_missileweapon_4_aml': range_4_ml,
|
|
'repeating_missileweapon_missileweapon_8_aml': range_8_ml,
|
|
'repeating_missileweapon_missileweapon_16_aml': range_16_ml,
|
|
'repeating_missileweapon_missileweapon_32_aml': range_32_ml,
|
|
'repeating_missileweapon_missileweapon_64_aml': range_64_ml,
|
|
'repeating_missileweapon_missileweapon_128_aml': range_128_ml,
|
|
'repeating_missileweapon_missileweapon_256_aml': range_256_ml,
|
|
'repeating_missileweapon_missileweapon_512_aml': range_512_ml,
|
|
'repeating_missileweapon_missileweapon_1024_aml': range_1024_ml,
|
|
'repeating_missileweapon_missileweapon_4_dmg': range_4_dmg,
|
|
'repeating_missileweapon_missileweapon_8_dmg': range_8_dmg,
|
|
'repeating_missileweapon_missileweapon_16_dmg': range_16_dmg,
|
|
'repeating_missileweapon_missileweapon_32_dmg': range_32_dmg,
|
|
'repeating_missileweapon_missileweapon_64_dmg': range_64_dmg,
|
|
'repeating_missileweapon_missileweapon_128_dmg': range_128_dmg,
|
|
'repeating_missileweapon_missileweapon_256_dmg': range_256_dmg,
|
|
'repeating_missileweapon_missileweapon_512_dmg': range_512_dmg,
|
|
'repeating_missileweapon_missileweapon_1024_dmg': range_1024_dmg
|
|
});
|
|
});
|
|
});
|
|
|
|
<!-- ARMOR PROTECTION -->
|
|
|
|
<!-- horse natural armour values based on aq /-->
|
|
on('change:hnatural_aq', function() {
|
|
getAttrs(['hnatural_aq', 'hnatural_b', 'hnatural_e', 'hnatural_p', 'hnatural_f'], function(values) {
|
|
var horsenatarmb = 4;
|
|
var horsenatarme = 3;
|
|
var horsenatarmp = 1;
|
|
var horsenatarmf = 3;
|
|
var horsenatarmaq = parseInt(values.hnatural_aq);
|
|
var horsenatarmbaq = Math.min(horsenatarmb*2,horsenatarmb+horsenatarmaq);
|
|
var horsenatarmeaq = Math.min(horsenatarme*2,horsenatarme+horsenatarmaq);
|
|
var horsenatarmpaq = Math.min(horsenatarmp*2,horsenatarmp+horsenatarmaq);
|
|
var horsenatarmfaq = Math.min(horsenatarmf*2,horsenatarmf+horsenatarmaq);
|
|
setAttrs({
|
|
'hnatural_b': horsenatarmbaq,
|
|
'hnatural_e': horsenatarmeaq,
|
|
'hnatural_p': horsenatarmpaq,
|
|
'hnatural_f': horsenatarmfaq
|
|
});
|
|
});
|
|
});
|
|
|
|
<!-- loop through all locations and fill with B/E/P/F/S/T values if location covered -->
|
|
const locations = ['sk','fa','nk','sh','ua','el','fo','ha','tx','ab','hp','gr','th','kn','ca','ft'];
|
|
locations.forEach(function (location) {
|
|
on('change:repeating_armoritems', function() {
|
|
const armorinfo = ['repeating_armoritems_armor_b', 'repeating_armoritems_armor_e', 'repeating_armoritems_armor_p', 'repeating_armoritems_armor_f','repeating_armoritems_armor_s','repeating_armoritems_armor_t'];
|
|
const currentloc = 'repeating_armoritems_armor_loc_' + location;
|
|
armorinfo.push(currentloc);
|
|
getAttrs(armorinfo, function(values) {
|
|
const locationarmorb = parseInt(values['repeating_armoritems_armor_b'])*parseInt(values[currentloc]);
|
|
const locationarmore = parseInt(values['repeating_armoritems_armor_e'])*parseInt(values[currentloc]);
|
|
const locationarmorp = parseInt(values['repeating_armoritems_armor_p'])*parseInt(values[currentloc]);
|
|
const locationarmorf = parseInt(values['repeating_armoritems_armor_f'])*parseInt(values[currentloc]);
|
|
const locationarmors = parseInt(values['repeating_armoritems_armor_s'])*parseInt(values[currentloc]);
|
|
const locationarmort = parseInt(values['repeating_armoritems_armor_t'])*parseInt(values[currentloc]);
|
|
setAttrs({
|
|
['repeating_armoritems_armor_' + location + '_bvalue']: locationarmorb,
|
|
['repeating_armoritems_armor_' + location + '_evalue']: locationarmore,
|
|
['repeating_armoritems_armor_' + location + '_pvalue']: locationarmorp,
|
|
['repeating_armoritems_armor_' + location + '_fvalue']: locationarmorf,
|
|
['repeating_armoritems_armor_' + location + '_svalue']: locationarmors,
|
|
['repeating_armoritems_armor_' + location + '_tvalue']: locationarmort
|
|
});
|
|
<!-- debugger; works, no longer needed -->
|
|
});
|
|
});
|
|
}); <!-- end set armour values per location -->
|
|
|
|
<!-- AP totals per location , could be more elegant with loop. condense first via https://wiki.roll20.net/RepeatingSum#Multiplying_More_Than_One_Column -->
|
|
on('change:repeating_armoritems remove:repeating_armoritems', function() {
|
|
repeatingSum('sk_b', 'armoritems',['armor_sk_bvalue', 'armor_loc_sk','armor_iscarried']);
|
|
repeatingSum('sk_e', 'armoritems',['armor_sk_evalue', 'armor_loc_sk','armor_iscarried']);
|
|
repeatingSum('sk_p', 'armoritems',['armor_sk_pvalue', 'armor_loc_sk','armor_iscarried']);
|
|
repeatingSum('sk_f', 'armoritems',['armor_sk_fvalue', 'armor_loc_sk','armor_iscarried']);
|
|
repeatingSum('sk_s', 'armoritems',['armor_sk_svalue', 'armor_loc_sk','armor_iscarried']);
|
|
repeatingSum('sk_t', 'armoritems',['armor_sk_tvalue', 'armor_loc_sk','armor_iscarried']);
|
|
|
|
repeatingSum('fa_b', 'armoritems',['armor_fa_bvalue', 'armor_loc_fa','armor_iscarried']);
|
|
repeatingSum('fa_e', 'armoritems',['armor_fa_evalue', 'armor_loc_fa','armor_iscarried']);
|
|
repeatingSum('fa_p', 'armoritems',['armor_fa_pvalue', 'armor_loc_fa','armor_iscarried']);
|
|
repeatingSum('fa_f', 'armoritems',['armor_fa_fvalue', 'armor_loc_fa','armor_iscarried']);
|
|
repeatingSum('fa_s', 'armoritems',['armor_fa_svalue', 'armor_loc_fa','armor_iscarried']);
|
|
repeatingSum('fa_t', 'armoritems',['armor_fa_tvalue', 'armor_loc_fa','armor_iscarried']);
|
|
|
|
repeatingSum('nk_b', 'armoritems',['armor_nk_bvalue', 'armor_loc_nk','armor_iscarried']);
|
|
repeatingSum('nk_e', 'armoritems',['armor_nk_evalue', 'armor_loc_nk','armor_iscarried']);
|
|
repeatingSum('nk_p', 'armoritems',['armor_nk_pvalue', 'armor_loc_nk','armor_iscarried']);
|
|
repeatingSum('nk_f', 'armoritems',['armor_nk_fvalue', 'armor_loc_nk','armor_iscarried']);
|
|
repeatingSum('nk_s', 'armoritems',['armor_nk_svalue', 'armor_loc_nk','armor_iscarried']);
|
|
repeatingSum('nk_t', 'armoritems',['armor_nk_tvalue', 'armor_loc_nk','armor_iscarried']);
|
|
|
|
repeatingSum('sh_b', 'armoritems',['armor_sh_bvalue', 'armor_loc_sh','armor_iscarried']);
|
|
repeatingSum('sh_e', 'armoritems',['armor_sh_evalue', 'armor_loc_sh','armor_iscarried']);
|
|
repeatingSum('sh_p', 'armoritems',['armor_sh_pvalue', 'armor_loc_sh','armor_iscarried']);
|
|
repeatingSum('sh_f', 'armoritems',['armor_sh_fvalue', 'armor_loc_sh','armor_iscarried']);
|
|
repeatingSum('sh_s', 'armoritems',['armor_sh_svalue', 'armor_loc_sh','armor_iscarried']);
|
|
repeatingSum('sh_t', 'armoritems',['armor_sh_tvalue', 'armor_loc_sh','armor_iscarried']);
|
|
|
|
repeatingSum('ua_b', 'armoritems',['armor_ua_bvalue', 'armor_loc_ua','armor_iscarried']);
|
|
repeatingSum('ua_e', 'armoritems',['armor_ua_evalue', 'armor_loc_ua','armor_iscarried']);
|
|
repeatingSum('ua_p', 'armoritems',['armor_ua_pvalue', 'armor_loc_ua','armor_iscarried']);
|
|
repeatingSum('ua_f', 'armoritems',['armor_ua_fvalue', 'armor_loc_ua','armor_iscarried']);
|
|
repeatingSum('ua_s', 'armoritems',['armor_ua_svalue', 'armor_loc_ua','armor_iscarried']);
|
|
repeatingSum('ua_t', 'armoritems',['armor_ua_tvalue', 'armor_loc_ua','armor_iscarried']);
|
|
|
|
repeatingSum('el_b', 'armoritems',['armor_el_bvalue', 'armor_loc_el','armor_iscarried']);
|
|
repeatingSum('el_e', 'armoritems',['armor_el_evalue', 'armor_loc_el','armor_iscarried']);
|
|
repeatingSum('el_p', 'armoritems',['armor_el_pvalue', 'armor_loc_el','armor_iscarried']);
|
|
repeatingSum('el_f', 'armoritems',['armor_el_fvalue', 'armor_loc_el','armor_iscarried']);
|
|
repeatingSum('el_s', 'armoritems',['armor_el_svalue', 'armor_loc_el','armor_iscarried']);
|
|
repeatingSum('el_t', 'armoritems',['armor_el_tvalue', 'armor_loc_el','armor_iscarried']);
|
|
|
|
repeatingSum('fo_b', 'armoritems',['armor_fo_bvalue', 'armor_loc_fo','armor_iscarried']);
|
|
repeatingSum('fo_e', 'armoritems',['armor_fo_evalue', 'armor_loc_fo','armor_iscarried']);
|
|
repeatingSum('fo_p', 'armoritems',['armor_fo_pvalue', 'armor_loc_fo','armor_iscarried']);
|
|
repeatingSum('fo_f', 'armoritems',['armor_fo_fvalue', 'armor_loc_fo','armor_iscarried']);
|
|
repeatingSum('fo_s', 'armoritems',['armor_fo_svalue', 'armor_loc_fo','armor_iscarried']);
|
|
repeatingSum('fo_t', 'armoritems',['armor_fo_tvalue', 'armor_loc_fo','armor_iscarried']);
|
|
|
|
repeatingSum('ha_b', 'armoritems',['armor_ha_bvalue', 'armor_loc_ha','armor_iscarried']);
|
|
repeatingSum('ha_e', 'armoritems',['armor_ha_evalue', 'armor_loc_ha','armor_iscarried']);
|
|
repeatingSum('ha_p', 'armoritems',['armor_ha_pvalue', 'armor_loc_ha','armor_iscarried']);
|
|
repeatingSum('ha_f', 'armoritems',['armor_ha_fvalue', 'armor_loc_ha','armor_iscarried']);
|
|
repeatingSum('ha_s', 'armoritems',['armor_ha_svalue', 'armor_loc_ha','armor_iscarried']);
|
|
repeatingSum('ha_t', 'armoritems',['armor_ha_tvalue', 'armor_loc_ha','armor_iscarried']);
|
|
|
|
repeatingSum('tx_b', 'armoritems',['armor_tx_bvalue', 'armor_loc_tx','armor_iscarried']);
|
|
repeatingSum('tx_e', 'armoritems',['armor_tx_evalue', 'armor_loc_tx','armor_iscarried']);
|
|
repeatingSum('tx_p', 'armoritems',['armor_tx_pvalue', 'armor_loc_tx','armor_iscarried']);
|
|
repeatingSum('tx_f', 'armoritems',['armor_tx_fvalue', 'armor_loc_tx','armor_iscarried']);
|
|
repeatingSum('tx_s', 'armoritems',['armor_tx_svalue', 'armor_loc_tx','armor_iscarried']);
|
|
repeatingSum('tx_t', 'armoritems',['armor_tx_tvalue', 'armor_loc_tx','armor_iscarried']);
|
|
|
|
repeatingSum('ab_b', 'armoritems',['armor_ab_bvalue', 'armor_loc_ab','armor_iscarried']);
|
|
repeatingSum('ab_e', 'armoritems',['armor_ab_evalue', 'armor_loc_ab','armor_iscarried']);
|
|
repeatingSum('ab_p', 'armoritems',['armor_ab_pvalue', 'armor_loc_ab','armor_iscarried']);
|
|
repeatingSum('ab_f', 'armoritems',['armor_ab_fvalue', 'armor_loc_ab','armor_iscarried']);
|
|
repeatingSum('ab_s', 'armoritems',['armor_ab_svalue', 'armor_loc_ab','armor_iscarried']);
|
|
repeatingSum('ab_t', 'armoritems',['armor_ab_tvalue', 'armor_loc_ab','armor_iscarried']);
|
|
|
|
repeatingSum('hp_b', 'armoritems',['armor_hp_bvalue', 'armor_loc_hp','armor_iscarried']);
|
|
repeatingSum('hp_e', 'armoritems',['armor_hp_evalue', 'armor_loc_hp','armor_iscarried']);
|
|
repeatingSum('hp_p', 'armoritems',['armor_hp_pvalue', 'armor_loc_hp','armor_iscarried']);
|
|
repeatingSum('hp_f', 'armoritems',['armor_hp_fvalue', 'armor_loc_hp','armor_iscarried']);
|
|
repeatingSum('hp_s', 'armoritems',['armor_hp_svalue', 'armor_loc_hp','armor_iscarried']);
|
|
repeatingSum('hp_t', 'armoritems',['armor_hp_tvalue', 'armor_loc_hp','armor_iscarried']);
|
|
|
|
repeatingSum('gr_b', 'armoritems',['armor_gr_bvalue', 'armor_loc_gr','armor_iscarried']);
|
|
repeatingSum('gr_e', 'armoritems',['armor_gr_evalue', 'armor_loc_gr','armor_iscarried']);
|
|
repeatingSum('gr_p', 'armoritems',['armor_gr_pvalue', 'armor_loc_gr','armor_iscarried']);
|
|
repeatingSum('gr_f', 'armoritems',['armor_gr_fvalue', 'armor_loc_gr','armor_iscarried']);
|
|
repeatingSum('gr_s', 'armoritems',['armor_gr_svalue', 'armor_loc_gr','armor_iscarried']);
|
|
repeatingSum('gr_t', 'armoritems',['armor_gr_tvalue', 'armor_loc_gr','armor_iscarried']);
|
|
|
|
repeatingSum('th_b', 'armoritems',['armor_th_bvalue', 'armor_loc_th','armor_iscarried']);
|
|
repeatingSum('th_e', 'armoritems',['armor_th_evalue', 'armor_loc_th','armor_iscarried']);
|
|
repeatingSum('th_p', 'armoritems',['armor_th_pvalue', 'armor_loc_th','armor_iscarried']);
|
|
repeatingSum('th_f', 'armoritems',['armor_th_fvalue', 'armor_loc_th','armor_iscarried']);
|
|
repeatingSum('th_s', 'armoritems',['armor_th_svalue', 'armor_loc_th','armor_iscarried']);
|
|
repeatingSum('th_t', 'armoritems',['armor_th_tvalue', 'armor_loc_th','armor_iscarried']);
|
|
|
|
repeatingSum('kn_b', 'armoritems',['armor_kn_bvalue', 'armor_loc_kn','armor_iscarried']);
|
|
repeatingSum('kn_e', 'armoritems',['armor_kn_evalue', 'armor_loc_kn','armor_iscarried']);
|
|
repeatingSum('kn_p', 'armoritems',['armor_kn_pvalue', 'armor_loc_kn','armor_iscarried']);
|
|
repeatingSum('kn_f', 'armoritems',['armor_kn_fvalue', 'armor_loc_kn','armor_iscarried']);
|
|
repeatingSum('kn_s', 'armoritems',['armor_kn_svalue', 'armor_loc_kn','armor_iscarried']);
|
|
repeatingSum('kn_t', 'armoritems',['armor_kn_tvalue', 'armor_loc_kn','armor_iscarried']);
|
|
|
|
repeatingSum('ca_b', 'armoritems',['armor_ca_bvalue', 'armor_loc_ca','armor_iscarried']);
|
|
repeatingSum('ca_e', 'armoritems',['armor_ca_evalue', 'armor_loc_ca','armor_iscarried']);
|
|
repeatingSum('ca_p', 'armoritems',['armor_ca_pvalue', 'armor_loc_ca','armor_iscarried']);
|
|
repeatingSum('ca_f', 'armoritems',['armor_ca_fvalue', 'armor_loc_ca','armor_iscarried']);
|
|
repeatingSum('ca_s', 'armoritems',['armor_ca_svalue', 'armor_loc_ca','armor_iscarried']);
|
|
repeatingSum('ca_t', 'armoritems',['armor_ca_tvalue', 'armor_loc_ca','armor_iscarried']);
|
|
|
|
repeatingSum('ft_b', 'armoritems',['armor_ft_bvalue', 'armor_loc_ft','armor_iscarried']);
|
|
repeatingSum('ft_e', 'armoritems',['armor_ft_evalue', 'armor_loc_ft','armor_iscarried']);
|
|
repeatingSum('ft_p', 'armoritems',['armor_ft_pvalue', 'armor_loc_ft','armor_iscarried']);
|
|
repeatingSum('ft_f', 'armoritems',['armor_ft_fvalue', 'armor_loc_ft','armor_iscarried']);
|
|
repeatingSum('ft_s', 'armoritems',['armor_ft_svalue', 'armor_loc_ft','armor_iscarried']);
|
|
repeatingSum('ft_t', 'armoritems',['armor_ft_tvalue', 'armor_loc_ft','armor_iscarried']);
|
|
});
|
|
|
|
<!-- spell characteristics -->
|
|
|
|
<!-- spell memorization -->
|
|
on('change:wil change:aur change:int', function() {
|
|
getAttrs(['aur', 'wil', 'int'], function(v) {
|
|
var aur = parseInt(v['aur']);
|
|
var wil = parseInt(v['wil']);
|
|
var int = parseInt(v['int']);
|
|
var max = aur + wil + int;
|
|
console.log("max_cl_memorized", max);
|
|
setAttrs({
|
|
max_cl_memorized : max
|
|
});
|
|
});
|
|
});
|
|
|
|
on('change:repeating_spells:spell_memorized', function(v) {
|
|
// total complexity level memorized
|
|
repeatingSum('total_cl_memorized', 'spells',['spell_level','spell_memorized']);
|
|
console.log("change spell memorized");
|
|
});
|
|
|
|
<!-- calculate SI from SB -->
|
|
on('change:repeating_spells:spell_ml change:repeating_rituals:ritual_ml change:repeating_psionics:talent_ml', function() {
|
|
getAttrs(['repeating_spells_spell_ml', 'repeating_rituals_ritual_ml', 'repeating_psionics_talent_ml'], function(values) {
|
|
var spellsi = Math.floor(parseInt(values['repeating_spells_spell_ml']/10));
|
|
var ritualsi = Math.floor(parseInt(values['repeating_rituals_ritual_ml']/10));
|
|
var talentsi = Math.floor(parseInt(values['repeating_psionics_talent_ml']/10));
|
|
console.log("spell si: ", spellsi);
|
|
setAttrs({
|
|
repeating_spells_spell_si: spellsi,
|
|
repeating_rituals_ritual_si: ritualsi,
|
|
repeating_psionics_talent_si: talentsi
|
|
});
|
|
});
|
|
});
|
|
|
|
</script>
|
|
|
|
|
|
|
|
|