mirror of
https://github.com/Nighthawk42/roll20-character-sheets.git
synced 2026-09-11 01:22:32 +00:00
200 lines
89 KiB
HTML
200 lines
89 KiB
HTML
<input name="attr_version" type="hidden" value="1"/><input name="attr_latest_versioning_upgrade" type="hidden" value="1"/><input name="attr_settings_toggle" type="hidden" value=""/><input name="attr_sheet_type" type="hidden" value="character"/><input name="attr_character_type" type="hidden" value="knight"/><div class="grid tabs"><div class="col sheet-type grid"><label class="character" data-i18n-title="sheet: character"><input name="attr_sheet_type" title="@{sheet_type}" type="radio" value="character" ${selectedKeyWord}="${selectedKeyWord}"/><span class="capitalize text-center" data-i18n="character"></span></label><label class="character" data-i18n-title="sheet: holdings"><input name="attr_sheet_type" title="@{sheet_type}" type="radio" value="holdings" ${selectedKeyWord}="${selectedKeyWord}"/><span class="capitalize text-center" data-i18n="holdings"></span></label></div><div class="col settings grid"><label data-i18n-title="settings"><input name="attr_settings_toggle" title="@{settings_toggle}" type="checkbox" value="settings"/><span class="pictos text-lowercase text-center">y</span></label></div></div><div class="npc"><div class="grid name"><label data-i18n-title="enter character name" title="enter character name"><input data-i18n-placeholder="character name" name="attr_character_name" placeholder="character name" title="@{character_name}" type="text" value=""/></label><h2 class="capitalize" data-i18n="glory won"></h2><label data-i18n-title="enter glory won" title="enter glory won"><input data-i18n-placeholder="glory won" name="attr_glory_won" placeholder="glory won" title="@{glory_won}" type="text" value=""/></label></div><div class="row"><textarea data-i18n-placeholder="description" name="attr_description"></textarea></div><div class="grid characteristics 5column"><div class="grid 2autocolumn"><button class="uppercase" data-i18n="siz" name="roll_size" type="roll" value="&{template:rolls} {{header=^{size}}} {{dice=[[{1d20+({@{size}+(?{Mod.|0})-20,0}kh1),1d0+20}kl1 [Roll]]]}} {{threshold=[[{@{size}+(?{Mod.|0}),20}kl1[Threshold]]]}} {{fumbleVal=[[20+({@{size}+(?{Mod.|0}),0}kl1)]]}}"></button><label data-i18n-title="enter size" title="enter size"><input name="attr_size" placeholder="#" title="@{size}" type="number" value="0"/></label></div><div class="grid 2autocolumn"><button class="uppercase" data-i18n="dex" name="roll_dexterity" type="roll" value="&{template:rolls} {{header=^{dexterity}}} {{dice=[[{1d20+({@{dexterity}+(?{Mod.|0})-20,0}kh1),1d0+20}kl1 [Roll]]]}} {{threshold=[[{@{dexterity}+(?{Mod.|0}),20}kl1[Threshold]]]}} {{fumbleVal=[[20+({@{dexterity}+(?{Mod.|0}),0}kl1)]]}}"></button><label data-i18n-title="enter dexterity" title="enter dexterity"><input name="attr_dexterity" placeholder="#" title="@{dexterity}" type="number" value="0"/></label></div><div class="grid 2autocolumn"><button class="uppercase" data-i18n="str" name="roll_strength" type="roll" value="&{template:rolls} {{header=^{strength}}} {{dice=[[{1d20+({@{strength}+(?{Mod.|0})-20,0}kh1),1d0+20}kl1 [Roll]]]}} {{threshold=[[{@{strength}+(?{Mod.|0}),20}kl1[Threshold]]]}} {{fumbleVal=[[20+({@{strength}+(?{Mod.|0}),0}kl1)]]}}"></button><label data-i18n-title="enter strength" title="enter strength"><input name="attr_strength" placeholder="#" title="@{strength}" type="number" value="0"/></label></div><div class="grid 2autocolumn"><button class="uppercase" data-i18n="con" name="roll_constitution" type="roll" value="&{template:rolls} {{header=^{constitution}}} {{dice=[[{1d20+({@{constitution}+(?{Mod.|0})-20,0}kh1),1d0+20}kl1 [Roll]]]}} {{threshold=[[{@{constitution}+(?{Mod.|0}),20}kl1[Threshold]]]}} {{fumbleVal=[[20+({@{constitution}+(?{Mod.|0}),0}kl1)]]}}"></button><label data-i18n-title="enter constitution" title="enter constitution"><input name="attr_constitution" placeholder="#" title="@{constitution}" type="number" value="0"/></label></div><div class="grid 2autocolumn"><button class="uppercase" data-i18n="app" name="roll_appearance" type="roll" value="&{template:rolls} {{header=^{appearance}}} {{dice=[[{1d20+({@{appearance}+(?{Mod.|0})-20,0}kh1),1d0+20}kl1 [Roll]]]}} {{threshold=[[{@{appearance}+(?{Mod.|0}),20}kl1[Threshold]]]}} {{fumbleVal=[[20+({@{appearance}+(?{Mod.|0}),0}kl1)]]}}"></button><label data-i18n-title="enter appearance" title="enter appearance"><input name="attr_appearance" placeholder="#" title="@{appearance}" type="number" value="0"/></label></div></div><div class="grid stats 4column"><div class="grid move"><h2 class="capitalize" data-i18n="move"></h2><label data-i18n-title="enter move" title="enter move"><input name="attr_move" placeholder="#" title="@{move}" type="number" value="0"/></label><label data-i18n-title="enter move description" title="enter move description"><input data-i18n-placeholder="move description" name="attr_move_description" placeholder="move description" title="@{move_description}" type="text" value=""/></label></div><div class="grid 2autocolumn"><h2 class="capitalize" data-i18n="armor"></h2><label data-i18n-title="enter armor" title="enter armor"><input name="attr_armor" placeholder="#" title="@{armor}" type="number" value="0"/></label></div><div class="grid 2autocolumn"><h2 class="capitalize" data-i18n="unconscious"></h2><label data-i18n-title="enter unconscious" title="enter unconscious"><input name="attr_unconscious" placeholder="#" title="@{unconscious}" type="number" value="0"/></label></div><div class="grid 2autocolumn"><h2 class="capitalize" data-i18n="major wound"></h2><label data-i18n-title="enter major wound" title="enter major wound"><input name="attr_major_wound" placeholder="#" title="@{major_wound}" type="number" value="0"/></label></div><div class="grid 2autocolumn"><h2 class="capitalize" data-i18n="knockdown"></h2><label data-i18n-title="enter knockdown" title="enter knockdown"><input name="attr_knockdown" placeholder="#" title="@{knockdown}" type="number" value="0"/></label></div><div class="grid 2autocolumn"><h2 class="capitalize" data-i18n="hit points"></h2><label data-i18n-title="enter hit points" title="enter hit points"><input name="attr_hit_points" placeholder="#" title="@{hit_points}" type="number" value="0"/></label></div><div class="grid 2autocolumn"><h2 class="capitalize" data-i18n="healing rate"></h2><label data-i18n-title="enter healing rate" title="enter healing rate"><input name="attr_healing_rate" placeholder="#" title="@{healing_rate}" type="number" value="0"/></label></div><div class="grid damage"><button class="capitalize" data-i18n="damage" name="roll_damage" type="roll" value="&{template:rolls} {{header=^{damage}}} {{damage=[[(@{damage}+(?{Mod.|0}))d6]]}}"></button><label data-i18n-title="enter damage" title="enter damage"><input data-i18n-placeholder="damage" name="attr_damage" placeholder="damage" title="@{damage}" type="text" value=""/></label><span class="bold" data-i18n="d6"></span></div></div><div class="grid row skills"><h2 class="italic" data-i18n="skills / passions"></h2><div class="repeating-container"><fieldset class="repeating_skills"><div class="row"><label data-i18n-title="enter name" title="enter name"><input data-i18n-placeholder="name" name="attr_name" placeholder="name" title="@{name}" type="text" value=""/></label><label data-i18n-title="enter skill" title="enter skill"><input name="attr_skill" placeholder="#" title="@{skill}" type="number" value="0"/></label><label data-i18n-title="enter description" title="enter description"><input data-i18n-placeholder="description" name="attr_description" placeholder="description" title="@{description}" type="text" value=""/></label><button class="d20 capitalize" name="roll_skill" type="roll" value="&{template:rolls} {{header=@{name}}} {{dice=[[{1d20+({@{skill}+(?{Mod.|0})-20,0}kh1),1d0+20}kl1 [Roll]]]}} {{threshold=[[{@{skill}+(?{Mod.|0}),20}kl1[Threshold]]]}} {{fumbleVal=[[20+({@{skill}+(?{Mod.|0}),0}kl1)]]}}">t</button></div></fieldset></div></div><div class="grid row abilities"><h2 class="italic" data-i18n="abilities"></h2><div class="repeating-container"><fieldset class="repeating_abilities"><div class="row"><label data-i18n-title="enter name" title="enter name"><input data-i18n-placeholder="name" name="attr_name" placeholder="name" title="@{name}" type="text" value=""/></label></div><div class="row"><textarea data-i18n-placeholder="description" name="attr_description"></textarea></div></fieldset></div></div></div><div class="character grid"><div class="grid info"><div class="col img"><img class="logo knight" alt="King Arthur Pendragon Knight's Character Sheet" src="https://github.com/clevett/roll20-character-sheets/blob/6c62396ad2bdfcafb13255fc70a6ab878f5725d7/Pendragon6thEdition/src/pendragonlogo.png?raw=true/pendragonlogo.png"/></div><div class="col"><div class="personal-data"><div class="header"><h1 data-i18n="personal data"></h1></div><div class="grid 2column age"><div class="col 2autocolumn"><h2 data-i18n="character name"></h2><label data-i18n-title="enter character name" title="enter character name"><input data-i18n-placeholder="character name" name="attr_character_name" placeholder="character name" title="@{character_name}" type="text" value=""/></label></div><div class="col 2autocolumn"><h2 data-i18n="age"></h2><label data-i18n-title="enter age" title="enter age"><input data-i18n-placeholder="age" name="attr_age" placeholder="age" title="@{age}" type="text" value=""/></label></div><div class="col 2autocolumn"><h2 class="text-accent small-caps" data-i18n="session glory"></h2><label data-i18n-title="enter session glory" title="enter session glory"><input name="attr_session_glory" placeholder="#" title="@{session_glory}" type="number" value="0"/></label></div></div><div class="grid 2autocolumn"><h2 data-i18n="distinctive features"></h2><label data-i18n-title="enter distinctive features" title="enter distinctive features"><input data-i18n-placeholder="distinctive features" name="attr_distinctive_features" placeholder="distinctive features" title="@{distinctive_features}" type="text" value=""/></label></div><div class="grid 2column"><div class="col 2autocolumn"><h2 data-i18n="lord"></h2><label data-i18n-title="enter lord" title="enter lord"><input data-i18n-placeholder="lord" name="attr_lord" placeholder="lord" title="@{lord}" type="text" value=""/></label></div><div class="col 2autocolumn"><h2 data-i18n="class"></h2><label data-i18n-title="enter class" title="enter class"><input data-i18n-placeholder="class" name="attr_class" placeholder="class" title="@{class}" type="text" value=""/></label></div></div><div class="grid 2column"><div class="col 2autocolumn"><h2 data-i18n="culture"></h2><label data-i18n-title="enter culture" title="enter culture"><input data-i18n-placeholder="culture" name="attr_culture" placeholder="culture" title="@{culture}" type="text" value=""/></label></div><div class="col 2autocolumn"><h2 data-i18n="religion"></h2><label data-i18n-title="enter religion" title="enter religion"><input data-i18n-placeholder="religion" name="attr_religion" placeholder="religion" title="@{religion}" type="text" value=""/></label></div></div><div class="grid 2column"><div class="col 2autocolumn"><h2 data-i18n="homeland"></h2><label data-i18n-title="enter homeland" title="enter homeland"><input data-i18n-placeholder="homeland" name="attr_homeland" placeholder="homeland" title="@{homeland}" type="text" value=""/></label></div><div class="col 2autocolumn"><h2 data-i18n="current home"></h2><label data-i18n-title="enter current home" title="enter current home"><input data-i18n-placeholder="current home" name="attr_current_home" placeholder="current home" title="@{current_home}" type="text" value=""/></label></div></div><div class="grid 2autocolumn"><h2 data-i18n="heraldry"></h2><label data-i18n-title="enter heraldry" title="enter heraldry"><input data-i18n-placeholder="heraldry" name="attr_heraldry" placeholder="heraldry" title="@{heraldry}" type="text" value=""/></label></div><div class="grid 2autocolumn"><h2 data-i18n="motto"></h2><label data-i18n-title="enter motto" title="enter motto"><input data-i18n-placeholder="motto" name="attr_motto" placeholder="motto" title="@{motto}" type="text" value=""/></label></div></div></div></div><div class="row character-body"><div class="col grid"><div class="current-hit-points grid"><div class="header"><h1 data-i18n="HP & Wounds"></h1></div><div class="row grid current-hp 2column"><div class="col 2autocolumn debilitated"><h2 class="uppercase" data-i18n="current hp"></h2><label data-i18n-title="enter current hp" title="enter current hp"><input name="attr_current_hp" placeholder="#" title="@{current_hp}" type="number" value="0"/></label></div><div class="col 2autocolumn debilitated"><h2 data-i18n="debilitated?"></h2><label class="styled-checkbox grid" data-i18n-title="debilitated?" title="debilitated?"><input name="attr_debilitated?" title="@{debilitated?}" type="checkbox" value="debilitated?"/><span class="pictos">3</span></label></div></div><div class="row grid wounds"><div class="row grid 2autocolumn"><div class="flex-center"><h2 class="text-accent small-caps" data-i18n="aggravation damage"></h2></div><label data-i18n-title="enter aggravation damage" title="enter aggravation damage"><input data-i18n-placeholder="aggravation damage" name="attr_aggravation_damage" placeholder="aggravation damage" title="@{aggravation_damage}" type="text" value=""/></label></div><div class="row grid 2autocolumn"><div class="flex-center"><h2 class="text-accent small-caps" data-i18n="deterioration damage"></h2></div><label data-i18n-title="enter deterioration damage" title="enter deterioration damage"><input data-i18n-placeholder="deterioration damage" name="attr_deterioration_damage" placeholder="deterioration damage" title="@{deterioration_damage}" type="text" value=""/></label></div><div class="row grid headers"><div class="flex-center"><h2 class="text-accent small-caps" data-i18n="wounds"></h2></div><div class="flex-center"><h2 class="text-accent small-caps" data-i18n="dmg"></h2></div><div class="flex-center"><h2 class="text-accent small-caps" data-i18n="description"></h2></div></div><div class="repeating-container"><fieldset class="repeating_wounds"><div class="row grid"><label data-i18n-title="enter wound" title="enter wound"><input name="attr_wound" placeholder="#" title="@{wound}" type="number" value="0"/></label><label data-i18n-title="enter dmg" title="enter dmg"><input name="attr_dmg" placeholder="#" title="@{dmg}" type="number" value="0"/></label><label data-i18n-title="enter description" title="enter description"><input data-i18n-placeholder="description" name="attr_description" placeholder="description" title="@{description}" type="text" value=""/></label></div></fieldset></div></div></div><div class="personality-traits"><div class="header"><h1 data-i18n="personality traits"></h1></div><div class="row 2autocolumn"><h2 data-i18n="religious virtues"></h2><label data-i18n-title="enter religious virtues" title="enter religious virtues"><input data-i18n-placeholder="religious virtues" name="attr_religious_virtues" placeholder="religious virtues" title="@{religious_virtues}" type="text" value=""/></label></div><div class="row traits"><label class="styled-checkbox grid" data-i18n-title="chaste check" title="chaste check"><input name="attr_chaste_check" title="@{chaste_check}" type="checkbox" value="chaste check"/><span class="pictos">3</span></label><button class="capitalize" data-i18n="chaste" title="chaste" name="roll_chaste" type="roll" value="&{template:rolls} {{header=^{chaste}}} {{dice=[[{1d20+({@{chaste}+(?{Mod.|0})-20,0}kh1),1d0+20}kl1 [Roll]]]}} {{threshold=[[{@{chaste}+(?{Mod.|0}),20}kl1[Threshold]]]}} {{fumbleVal=[[20+({@{chaste}+(?{Mod.|0}),0}kl1)]]}}"></button><label data-i18n-title="enter chaste" title="enter chaste"><input name="attr_chaste" placeholder="#" title="@{chaste}" type="number" value="0"/></label><span>/</span><label data-i18n-title="enter lustful" title="enter lustful"><input name="attr_lustful" placeholder="#" title="@{lustful}" type="number" value="0"/></label><button class="capitalize" data-i18n="lustful" title="lustful" name="roll_lustful" type="roll" value="&{template:rolls} {{header=^{lustful}}} {{dice=[[{1d20+({@{lustful}+(?{Mod.|0})-20,0}kh1),1d0+20}kl1 [Roll]]]}} {{threshold=[[{@{lustful}+(?{Mod.|0}),20}kl1[Threshold]]]}} {{fumbleVal=[[20+({@{lustful}+(?{Mod.|0}),0}kl1)]]}}"></button><label class="styled-checkbox grid" data-i18n-title="lustful check" title="lustful check"><input name="attr_lustful_check" title="@{lustful_check}" type="checkbox" value="lustful check"/><span class="pictos">3</span></label></div><div class="row traits"><label class="styled-checkbox grid" data-i18n-title="energetic check" title="energetic check"><input name="attr_energetic_check" title="@{energetic_check}" type="checkbox" value="energetic check"/><span class="pictos">3</span></label><button class="capitalize" data-i18n="energetic" title="energetic" name="roll_energetic" type="roll" value="&{template:rolls} {{header=^{energetic}}} {{dice=[[{1d20+({@{energetic}+(?{Mod.|0})-20,0}kh1),1d0+20}kl1 [Roll]]]}} {{threshold=[[{@{energetic}+(?{Mod.|0}),20}kl1[Threshold]]]}} {{fumbleVal=[[20+({@{energetic}+(?{Mod.|0}),0}kl1)]]}}"></button><label data-i18n-title="enter energetic" title="enter energetic"><input name="attr_energetic" placeholder="#" title="@{energetic}" type="number" value="0"/></label><span>/</span><label data-i18n-title="enter lazy" title="enter lazy"><input name="attr_lazy" placeholder="#" title="@{lazy}" type="number" value="0"/></label><button class="capitalize" data-i18n="lazy" title="lazy" name="roll_lazy" type="roll" value="&{template:rolls} {{header=^{lazy}}} {{dice=[[{1d20+({@{lazy}+(?{Mod.|0})-20,0}kh1),1d0+20}kl1 [Roll]]]}} {{threshold=[[{@{lazy}+(?{Mod.|0}),20}kl1[Threshold]]]}} {{fumbleVal=[[20+({@{lazy}+(?{Mod.|0}),0}kl1)]]}}"></button><label class="styled-checkbox grid" data-i18n-title="lazy check" title="lazy check"><input name="attr_lazy_check" title="@{lazy_check}" type="checkbox" value="lazy check"/><span class="pictos">3</span></label></div><div class="row traits"><label class="styled-checkbox grid" data-i18n-title="forgiving check" title="forgiving check"><input name="attr_forgiving_check" title="@{forgiving_check}" type="checkbox" value="forgiving check"/><span class="pictos">3</span></label><button class="capitalize" data-i18n="forgiving" title="forgiving" name="roll_forgiving" type="roll" value="&{template:rolls} {{header=^{forgiving}}} {{dice=[[{1d20+({@{forgiving}+(?{Mod.|0})-20,0}kh1),1d0+20}kl1 [Roll]]]}} {{threshold=[[{@{forgiving}+(?{Mod.|0}),20}kl1[Threshold]]]}} {{fumbleVal=[[20+({@{forgiving}+(?{Mod.|0}),0}kl1)]]}}"></button><label data-i18n-title="enter forgiving" title="enter forgiving"><input name="attr_forgiving" placeholder="#" title="@{forgiving}" type="number" value="0"/></label><span>/</span><label data-i18n-title="enter vengeful" title="enter vengeful"><input name="attr_vengeful" placeholder="#" title="@{vengeful}" type="number" value="0"/></label><button class="capitalize" data-i18n="vengeful" title="vengeful" name="roll_vengeful" type="roll" value="&{template:rolls} {{header=^{vengeful}}} {{dice=[[{1d20+({@{vengeful}+(?{Mod.|0})-20,0}kh1),1d0+20}kl1 [Roll]]]}} {{threshold=[[{@{vengeful}+(?{Mod.|0}),20}kl1[Threshold]]]}} {{fumbleVal=[[20+({@{vengeful}+(?{Mod.|0}),0}kl1)]]}}"></button><label class="styled-checkbox grid" data-i18n-title="vengeful check" title="vengeful check"><input name="attr_vengeful_check" title="@{vengeful_check}" type="checkbox" value="vengeful check"/><span class="pictos">3</span></label></div><div class="row traits"><label class="styled-checkbox grid" data-i18n-title="generous check" title="generous check"><input name="attr_generous_check" title="@{generous_check}" type="checkbox" value="generous check"/><span class="pictos">3</span></label><button class="capitalize" data-i18n="generous" title="generous" name="roll_generous" type="roll" value="&{template:rolls} {{header=^{generous}}} {{dice=[[{1d20+({@{generous}+(?{Mod.|0})-20,0}kh1),1d0+20}kl1 [Roll]]]}} {{threshold=[[{@{generous}+(?{Mod.|0}),20}kl1[Threshold]]]}} {{fumbleVal=[[20+({@{generous}+(?{Mod.|0}),0}kl1)]]}}"></button><label data-i18n-title="enter generous" title="enter generous"><input name="attr_generous" placeholder="#" title="@{generous}" type="number" value="0"/></label><span>/</span><label data-i18n-title="enter selfish" title="enter selfish"><input name="attr_selfish" placeholder="#" title="@{selfish}" type="number" value="0"/></label><button class="capitalize" data-i18n="selfish" title="selfish" name="roll_selfish" type="roll" value="&{template:rolls} {{header=^{selfish}}} {{dice=[[{1d20+({@{selfish}+(?{Mod.|0})-20,0}kh1),1d0+20}kl1 [Roll]]]}} {{threshold=[[{@{selfish}+(?{Mod.|0}),20}kl1[Threshold]]]}} {{fumbleVal=[[20+({@{selfish}+(?{Mod.|0}),0}kl1)]]}}"></button><label class="styled-checkbox grid" data-i18n-title="selfish check" title="selfish check"><input name="attr_selfish_check" title="@{selfish_check}" type="checkbox" value="selfish check"/><span class="pictos">3</span></label></div><div class="row traits"><label class="styled-checkbox grid" data-i18n-title="honest check" title="honest check"><input name="attr_honest_check" title="@{honest_check}" type="checkbox" value="honest check"/><span class="pictos">3</span></label><button class="capitalize" data-i18n="honest" title="honest" name="roll_honest" type="roll" value="&{template:rolls} {{header=^{honest}}} {{dice=[[{1d20+({@{honest}+(?{Mod.|0})-20,0}kh1),1d0+20}kl1 [Roll]]]}} {{threshold=[[{@{honest}+(?{Mod.|0}),20}kl1[Threshold]]]}} {{fumbleVal=[[20+({@{honest}+(?{Mod.|0}),0}kl1)]]}}"></button><label data-i18n-title="enter honest" title="enter honest"><input name="attr_honest" placeholder="#" title="@{honest}" type="number" value="0"/></label><span>/</span><label data-i18n-title="enter deceitful" title="enter deceitful"><input name="attr_deceitful" placeholder="#" title="@{deceitful}" type="number" value="0"/></label><button class="capitalize" data-i18n="deceitful" title="deceitful" name="roll_deceitful" type="roll" value="&{template:rolls} {{header=^{deceitful}}} {{dice=[[{1d20+({@{deceitful}+(?{Mod.|0})-20,0}kh1),1d0+20}kl1 [Roll]]]}} {{threshold=[[{@{deceitful}+(?{Mod.|0}),20}kl1[Threshold]]]}} {{fumbleVal=[[20+({@{deceitful}+(?{Mod.|0}),0}kl1)]]}}"></button><label class="styled-checkbox grid" data-i18n-title="deceitful check" title="deceitful check"><input name="attr_deceitful_check" title="@{deceitful_check}" type="checkbox" value="deceitful check"/><span class="pictos">3</span></label></div><div class="row traits"><label class="styled-checkbox grid" data-i18n-title="just check" title="just check"><input name="attr_just_check" title="@{just_check}" type="checkbox" value="just check"/><span class="pictos">3</span></label><button class="capitalize" data-i18n="just" title="just" name="roll_just" type="roll" value="&{template:rolls} {{header=^{just}}} {{dice=[[{1d20+({@{just}+(?{Mod.|0})-20,0}kh1),1d0+20}kl1 [Roll]]]}} {{threshold=[[{@{just}+(?{Mod.|0}),20}kl1[Threshold]]]}} {{fumbleVal=[[20+({@{just}+(?{Mod.|0}),0}kl1)]]}}"></button><label data-i18n-title="enter just" title="enter just"><input name="attr_just" placeholder="#" title="@{just}" type="number" value="0"/></label><span>/</span><label data-i18n-title="enter arbitrary" title="enter arbitrary"><input name="attr_arbitrary" placeholder="#" title="@{arbitrary}" type="number" value="0"/></label><button class="capitalize" data-i18n="arbitrary" title="arbitrary" name="roll_arbitrary" type="roll" value="&{template:rolls} {{header=^{arbitrary}}} {{dice=[[{1d20+({@{arbitrary}+(?{Mod.|0})-20,0}kh1),1d0+20}kl1 [Roll]]]}} {{threshold=[[{@{arbitrary}+(?{Mod.|0}),20}kl1[Threshold]]]}} {{fumbleVal=[[20+({@{arbitrary}+(?{Mod.|0}),0}kl1)]]}}"></button><label class="styled-checkbox grid" data-i18n-title="arbitrary check" title="arbitrary check"><input name="attr_arbitrary_check" title="@{arbitrary_check}" type="checkbox" value="arbitrary check"/><span class="pictos">3</span></label></div><div class="row traits"><label class="styled-checkbox grid" data-i18n-title="merciful check" title="merciful check"><input name="attr_merciful_check" title="@{merciful_check}" type="checkbox" value="merciful check"/><span class="pictos">3</span></label><button class="capitalize" data-i18n="merciful" title="merciful" name="roll_merciful" type="roll" value="&{template:rolls} {{header=^{merciful}}} {{dice=[[{1d20+({@{merciful}+(?{Mod.|0})-20,0}kh1),1d0+20}kl1 [Roll]]]}} {{threshold=[[{@{merciful}+(?{Mod.|0}),20}kl1[Threshold]]]}} {{fumbleVal=[[20+({@{merciful}+(?{Mod.|0}),0}kl1)]]}}"></button><label data-i18n-title="enter merciful" title="enter merciful"><input name="attr_merciful" placeholder="#" title="@{merciful}" type="number" value="0"/></label><span>/</span><label data-i18n-title="enter cruel" title="enter cruel"><input name="attr_cruel" placeholder="#" title="@{cruel}" type="number" value="0"/></label><button class="capitalize" data-i18n="cruel" title="cruel" name="roll_cruel" type="roll" value="&{template:rolls} {{header=^{cruel}}} {{dice=[[{1d20+({@{cruel}+(?{Mod.|0})-20,0}kh1),1d0+20}kl1 [Roll]]]}} {{threshold=[[{@{cruel}+(?{Mod.|0}),20}kl1[Threshold]]]}} {{fumbleVal=[[20+({@{cruel}+(?{Mod.|0}),0}kl1)]]}}"></button><label class="styled-checkbox grid" data-i18n-title="cruel check" title="cruel check"><input name="attr_cruel_check" title="@{cruel_check}" type="checkbox" value="cruel check"/><span class="pictos">3</span></label></div><div class="row traits"><label class="styled-checkbox grid" data-i18n-title="modest check" title="modest check"><input name="attr_modest_check" title="@{modest_check}" type="checkbox" value="modest check"/><span class="pictos">3</span></label><button class="capitalize" data-i18n="modest" title="modest" name="roll_modest" type="roll" value="&{template:rolls} {{header=^{modest}}} {{dice=[[{1d20+({@{modest}+(?{Mod.|0})-20,0}kh1),1d0+20}kl1 [Roll]]]}} {{threshold=[[{@{modest}+(?{Mod.|0}),20}kl1[Threshold]]]}} {{fumbleVal=[[20+({@{modest}+(?{Mod.|0}),0}kl1)]]}}"></button><label data-i18n-title="enter modest" title="enter modest"><input name="attr_modest" placeholder="#" title="@{modest}" type="number" value="0"/></label><span>/</span><label data-i18n-title="enter proud" title="enter proud"><input name="attr_proud" placeholder="#" title="@{proud}" type="number" value="0"/></label><button class="capitalize" data-i18n="proud" title="proud" name="roll_proud" type="roll" value="&{template:rolls} {{header=^{proud}}} {{dice=[[{1d20+({@{proud}+(?{Mod.|0})-20,0}kh1),1d0+20}kl1 [Roll]]]}} {{threshold=[[{@{proud}+(?{Mod.|0}),20}kl1[Threshold]]]}} {{fumbleVal=[[20+({@{proud}+(?{Mod.|0}),0}kl1)]]}}"></button><label class="styled-checkbox grid" data-i18n-title="proud check" title="proud check"><input name="attr_proud_check" title="@{proud_check}" type="checkbox" value="proud check"/><span class="pictos">3</span></label></div><div class="row traits"><label class="styled-checkbox grid" data-i18n-title="prudent check" title="prudent check"><input name="attr_prudent_check" title="@{prudent_check}" type="checkbox" value="prudent check"/><span class="pictos">3</span></label><button class="capitalize" data-i18n="prudent" title="prudent" name="roll_prudent" type="roll" value="&{template:rolls} {{header=^{prudent}}} {{dice=[[{1d20+({@{prudent}+(?{Mod.|0})-20,0}kh1),1d0+20}kl1 [Roll]]]}} {{threshold=[[{@{prudent}+(?{Mod.|0}),20}kl1[Threshold]]]}} {{fumbleVal=[[20+({@{prudent}+(?{Mod.|0}),0}kl1)]]}}"></button><label data-i18n-title="enter prudent" title="enter prudent"><input name="attr_prudent" placeholder="#" title="@{prudent}" type="number" value="0"/></label><span>/</span><label data-i18n-title="enter reckless" title="enter reckless"><input name="attr_reckless" placeholder="#" title="@{reckless}" type="number" value="0"/></label><button class="capitalize" data-i18n="reckless" title="reckless" name="roll_reckless" type="roll" value="&{template:rolls} {{header=^{reckless}}} {{dice=[[{1d20+({@{reckless}+(?{Mod.|0})-20,0}kh1),1d0+20}kl1 [Roll]]]}} {{threshold=[[{@{reckless}+(?{Mod.|0}),20}kl1[Threshold]]]}} {{fumbleVal=[[20+({@{reckless}+(?{Mod.|0}),0}kl1)]]}}"></button><label class="styled-checkbox grid" data-i18n-title="reckless check" title="reckless check"><input name="attr_reckless_check" title="@{reckless_check}" type="checkbox" value="reckless check"/><span class="pictos">3</span></label></div><div class="row traits"><label class="styled-checkbox grid" data-i18n-title="spiritual check" title="spiritual check"><input name="attr_spiritual_check" title="@{spiritual_check}" type="checkbox" value="spiritual check"/><span class="pictos">3</span></label><button class="capitalize" data-i18n="spiritual" title="spiritual" name="roll_spiritual" type="roll" value="&{template:rolls} {{header=^{spiritual}}} {{dice=[[{1d20+({@{spiritual}+(?{Mod.|0})-20,0}kh1),1d0+20}kl1 [Roll]]]}} {{threshold=[[{@{spiritual}+(?{Mod.|0}),20}kl1[Threshold]]]}} {{fumbleVal=[[20+({@{spiritual}+(?{Mod.|0}),0}kl1)]]}}"></button><label data-i18n-title="enter spiritual" title="enter spiritual"><input name="attr_spiritual" placeholder="#" title="@{spiritual}" type="number" value="0"/></label><span>/</span><label data-i18n-title="enter worldly" title="enter worldly"><input name="attr_worldly" placeholder="#" title="@{worldly}" type="number" value="0"/></label><button class="capitalize" data-i18n="worldly" title="worldly" name="roll_worldly" type="roll" value="&{template:rolls} {{header=^{worldly}}} {{dice=[[{1d20+({@{worldly}+(?{Mod.|0})-20,0}kh1),1d0+20}kl1 [Roll]]]}} {{threshold=[[{@{worldly}+(?{Mod.|0}),20}kl1[Threshold]]]}} {{fumbleVal=[[20+({@{worldly}+(?{Mod.|0}),0}kl1)]]}}"></button><label class="styled-checkbox grid" data-i18n-title="worldly check" title="worldly check"><input name="attr_worldly_check" title="@{worldly_check}" type="checkbox" value="worldly check"/><span class="pictos">3</span></label></div><div class="row traits"><label class="styled-checkbox grid" data-i18n-title="temperate check" title="temperate check"><input name="attr_temperate_check" title="@{temperate_check}" type="checkbox" value="temperate check"/><span class="pictos">3</span></label><button class="capitalize" data-i18n="temperate" title="temperate" name="roll_temperate" type="roll" value="&{template:rolls} {{header=^{temperate}}} {{dice=[[{1d20+({@{temperate}+(?{Mod.|0})-20,0}kh1),1d0+20}kl1 [Roll]]]}} {{threshold=[[{@{temperate}+(?{Mod.|0}),20}kl1[Threshold]]]}} {{fumbleVal=[[20+({@{temperate}+(?{Mod.|0}),0}kl1)]]}}"></button><label data-i18n-title="enter temperate" title="enter temperate"><input name="attr_temperate" placeholder="#" title="@{temperate}" type="number" value="0"/></label><span>/</span><label data-i18n-title="enter indulgent" title="enter indulgent"><input name="attr_indulgent" placeholder="#" title="@{indulgent}" type="number" value="0"/></label><button class="capitalize" data-i18n="indulgent" title="indulgent" name="roll_indulgent" type="roll" value="&{template:rolls} {{header=^{indulgent}}} {{dice=[[{1d20+({@{indulgent}+(?{Mod.|0})-20,0}kh1),1d0+20}kl1 [Roll]]]}} {{threshold=[[{@{indulgent}+(?{Mod.|0}),20}kl1[Threshold]]]}} {{fumbleVal=[[20+({@{indulgent}+(?{Mod.|0}),0}kl1)]]}}"></button><label class="styled-checkbox grid" data-i18n-title="indulgent check" title="indulgent check"><input name="attr_indulgent_check" title="@{indulgent_check}" type="checkbox" value="indulgent check"/><span class="pictos">3</span></label></div><div class="row traits"><label class="styled-checkbox grid" data-i18n-title="trusting check" title="trusting check"><input name="attr_trusting_check" title="@{trusting_check}" type="checkbox" value="trusting check"/><span class="pictos">3</span></label><button class="capitalize" data-i18n="trusting" title="trusting" name="roll_trusting" type="roll" value="&{template:rolls} {{header=^{trusting}}} {{dice=[[{1d20+({@{trusting}+(?{Mod.|0})-20,0}kh1),1d0+20}kl1 [Roll]]]}} {{threshold=[[{@{trusting}+(?{Mod.|0}),20}kl1[Threshold]]]}} {{fumbleVal=[[20+({@{trusting}+(?{Mod.|0}),0}kl1)]]}}"></button><label data-i18n-title="enter trusting" title="enter trusting"><input name="attr_trusting" placeholder="#" title="@{trusting}" type="number" value="0"/></label><span>/</span><label data-i18n-title="enter suspicious" title="enter suspicious"><input name="attr_suspicious" placeholder="#" title="@{suspicious}" type="number" value="0"/></label><button class="capitalize" data-i18n="suspicious" title="suspicious" name="roll_suspicious" type="roll" value="&{template:rolls} {{header=^{suspicious}}} {{dice=[[{1d20+({@{suspicious}+(?{Mod.|0})-20,0}kh1),1d0+20}kl1 [Roll]]]}} {{threshold=[[{@{suspicious}+(?{Mod.|0}),20}kl1[Threshold]]]}} {{fumbleVal=[[20+({@{suspicious}+(?{Mod.|0}),0}kl1)]]}}"></button><label class="styled-checkbox grid" data-i18n-title="suspicious check" title="suspicious check"><input name="attr_suspicious_check" title="@{suspicious_check}" type="checkbox" value="suspicious check"/><span class="pictos">3</span></label></div><div class="row traits"><label class="styled-checkbox grid" data-i18n-title="valorous check" title="valorous check"><input name="attr_valorous_check" title="@{valorous_check}" type="checkbox" value="valorous check"/><span class="pictos">3</span></label><button class="capitalize" data-i18n="valorous" title="valorous" name="roll_valorous" type="roll" value="&{template:rolls} {{header=^{valorous}}} {{dice=[[{1d20+({@{valorous}+(?{Mod.|0})-20,0}kh1),1d0+20}kl1 [Roll]]]}} {{threshold=[[{@{valorous}+(?{Mod.|0}),20}kl1[Threshold]]]}} {{fumbleVal=[[20+({@{valorous}+(?{Mod.|0}),0}kl1)]]}}"></button><label data-i18n-title="enter valorous" title="enter valorous"><input name="attr_valorous" placeholder="#" title="@{valorous}" type="number" value="0"/></label><span>/</span><label data-i18n-title="enter cowardly" title="enter cowardly"><input name="attr_cowardly" placeholder="#" title="@{cowardly}" type="number" value="0"/></label><button class="capitalize" data-i18n="cowardly" title="cowardly" name="roll_cowardly" type="roll" value="&{template:rolls} {{header=^{cowardly}}} {{dice=[[{1d20+({@{cowardly}+(?{Mod.|0})-20,0}kh1),1d0+20}kl1 [Roll]]]}} {{threshold=[[{@{cowardly}+(?{Mod.|0}),20}kl1[Threshold]]]}} {{fumbleVal=[[20+({@{cowardly}+(?{Mod.|0}),0}kl1)]]}}"></button><label class="styled-checkbox grid" data-i18n-title="cowardly check" title="cowardly check"><input name="attr_cowardly_check" title="@{cowardly_check}" type="checkbox" value="cowardly check"/><span class="pictos">3</span></label></div><div class="repeating-container"><fieldset class="repeating_directed-trait"><div class="row"><label class="styled-checkbox grid" data-i18n-title="check" title="check"><input name="attr_check" title="@{check}" type="checkbox" value="check"/><span class="pictos">3</span></label><label data-i18n-title="enter name" title="enter name"><input data-i18n-placeholder="name" name="attr_name" placeholder="name" title="@{name}" type="text" value=""/></label><label data-i18n-title="enter trait" title="enter trait"><input name="attr_trait" placeholder="#" title="@{trait}" type="number" value="0"/></label><button class="d20 capitalize" name="roll_trait" type="roll" value="&{template:rolls} {{header=@{name}}} {{dice=[[{1d20+({@{trait}+(?{Mod.|0})-20,0}kh1),1d0+20}kl1 [Roll]]]}} {{threshold=[[{@{trait}+(?{Mod.|0}),20}kl1[Threshold]]]}} {{fumbleVal=[[20+({@{trait}+(?{Mod.|0}),0}kl1)]]}}">t</button></div></fieldset></div></div><div class="passions grid"><div class="header"><h1 data-i18n="passions"></h1></div><div class="repeating-container"><fieldset class="repeating_passion"><div class="row"><label class="styled-checkbox grid" data-i18n-title="check" title="check"><input name="attr_check" title="@{check}" type="checkbox" value="check"/><span class="pictos">3</span></label><label data-i18n-title="enter name" title="enter name"><input data-i18n-placeholder="name" name="attr_name" placeholder="name" title="@{name}" type="text" value=""/></label><label data-i18n-title="enter passion" title="enter passion"><input name="attr_passion" placeholder="#" title="@{passion}" type="number" value="0"/></label><button class="d20 capitalize" name="roll_passion" type="roll" value="&{template:rolls} {{header=@{name}}} {{dice=[[{1d20+({@{passion}+(?{Mod.|0})-20,0}kh1),1d0+20}kl1 [Roll]]]}} {{threshold=[[{@{passion}+(?{Mod.|0}),20}kl1[Threshold]]]}} {{fumbleVal=[[20+({@{passion}+(?{Mod.|0}),0}kl1)]]}}">t</button></div></fieldset></div></div><div class="grid squire"><div class="header"><h1 data-i18n="squire"></h1></div><div class="grid body"><div class="grid 2autocolumn"><div class="flex-center"><h3 class="bold uppercase" data-i18n="name"></h3></div><label data-i18n-title="enter name" title="enter squire name"><input data-i18n-placeholder="name" name="attr_squire_name" placeholder="squire name" title="@{squire_name}" type="text" value=""/></label></div><div class="grid age"><div class="grid 2autocolumn"> <div class="flex-center"><h3 class="bold uppercase" data-i18n="age"></h3></div><label data-i18n-title="enter age" title="enter squire age"><input data-i18n-placeholder="age" name="attr_squire_age" placeholder="squire age" title="@{squire_age}" type="text" value=""/></label></div><div class="grid skill"><div class="flex-center"><h3 class="bold uppercase" data-i18n="skill"></h3></div><label data-i18n-title="enter squire skill" title="enter squire skill"><input name="attr_squire_skill" placeholder="#" title="@{squire_skill}" type="number" value="0"/></label><button class="d20 capitalize" name="roll_squire-skill" type="roll" value="&{template:rolls} {{header=^{squire} ^{squire skill}}} {{dice=[[{1d20+({@{squire_squire_skill}+(?{Mod.|0})-20,0}kh1),1d0+20}kl1 [Roll]]]}} {{threshold=[[{@{squire_squire_skill}+(?{Mod.|0}),20}kl1[Threshold]]]}} {{fumbleVal=[[20+({@{squire_squire_skill}+(?{Mod.|0}),0}kl1)]]}}">t</button></div></div><div class="repeating-container"><fieldset class="repeating_squire_skills"><div class="row"><label class="styled-checkbox grid" data-i18n-title="check" title="check"><input name="attr_check" title="@{check}" type="checkbox" value="check"/><span class="pictos">3</span></label><label data-i18n-title="enter name" title="enter name"><input data-i18n-placeholder="name" name="attr_name" placeholder="name" title="@{name}" type="text" value=""/></label><label data-i18n-title="enter skill" title="enter skill"><input name="attr_skill" placeholder="#" title="@{skill}" type="number" value="0"/></label><button class="d20 capitalize" name="roll_skill" type="roll" value="&{template:rolls} {{header=@{name}}} {{dice=[[{1d20+({@{skill}+(?{Mod.|0})-20,0}kh1),1d0+20}kl1 [Roll]]]}} {{threshold=[[{@{skill}+(?{Mod.|0}),20}kl1[Threshold]]]}} {{fumbleVal=[[20+({@{skill}+(?{Mod.|0}),0}kl1)]]}}">t</button></div></fieldset></div></div></div></div><div class="col grid gold-left-border"><div class="characteristics grid"><div class="header"><h1 data-i18n="characteristics"></h1></div><div class="grid core"><div class="row 2autocolumn"><button class="uppercase" data-i18n="siz" name="roll_size" type="roll" value="&{template:rolls} {{header=^{size}}} {{dice=[[{1d20+({@{size}+(?{Mod.|0})-20,0}kh1),1d0+20}kl1 [Roll]]]}} {{threshold=[[{@{size}+(?{Mod.|0}),20}kl1[Threshold]]]}} {{fumbleVal=[[20+({@{size}+(?{Mod.|0}),0}kl1)]]}}"></button><br/><label data-i18n-title="enter size" title="enter size"><input name="attr_size" placeholder="#" title="@{size}" type="number" value="0"/></label></div><div class="row 2autocolumn"><button class="uppercase" data-i18n="dex" name="roll_dexterity" type="roll" value="&{template:rolls} {{header=^{dexterity}}} {{dice=[[{1d20+({@{dexterity}+(?{Mod.|0})-20,0}kh1),1d0+20}kl1 [Roll]]]}} {{threshold=[[{@{dexterity}+(?{Mod.|0}),20}kl1[Threshold]]]}} {{fumbleVal=[[20+({@{dexterity}+(?{Mod.|0}),0}kl1)]]}}"></button><br/><label data-i18n-title="enter dexterity" title="enter dexterity"><input name="attr_dexterity" placeholder="#" title="@{dexterity}" type="number" value="0"/></label></div><div class="row 2autocolumn"><button class="uppercase" data-i18n="str" name="roll_strength" type="roll" value="&{template:rolls} {{header=^{strength}}} {{dice=[[{1d20+({@{strength}+(?{Mod.|0})-20,0}kh1),1d0+20}kl1 [Roll]]]}} {{threshold=[[{@{strength}+(?{Mod.|0}),20}kl1[Threshold]]]}} {{fumbleVal=[[20+({@{strength}+(?{Mod.|0}),0}kl1)]]}}"></button><br/><label data-i18n-title="enter strength" title="enter strength"><input name="attr_strength" placeholder="#" title="@{strength}" type="number" value="0"/></label></div><div class="row 2autocolumn"><button class="uppercase" data-i18n="con" name="roll_constitution" type="roll" value="&{template:rolls} {{header=^{constitution}}} {{dice=[[{1d20+({@{constitution}+(?{Mod.|0})-20,0}kh1),1d0+20}kl1 [Roll]]]}} {{threshold=[[{@{constitution}+(?{Mod.|0}),20}kl1[Threshold]]]}} {{fumbleVal=[[20+({@{constitution}+(?{Mod.|0}),0}kl1)]]}}"></button><br/><label data-i18n-title="enter constitution" title="enter constitution"><input name="attr_constitution" placeholder="#" title="@{constitution}" type="number" value="0"/></label></div><div class="row 2autocolumn"><button class="uppercase" data-i18n="app" name="roll_appearance" type="roll" value="&{template:rolls} {{header=^{appearance}}} {{dice=[[{1d20+({@{appearance}+(?{Mod.|0})-20,0}kh1),1d0+20}kl1 [Roll]]]}} {{threshold=[[{@{appearance}+(?{Mod.|0}),20}kl1[Threshold]]]}} {{fumbleVal=[[20+({@{appearance}+(?{Mod.|0}),0}kl1)]]}}"></button><br/><label data-i18n-title="enter appearance" title="enter appearance"><input name="attr_appearance" placeholder="#" title="@{appearance}" type="number" value="0"/></label></div></div><div class="row grid 2column statistic"><div class="row"><h2 class="text-primary small-caps" data-i18n="health"></h2><div class="table"><div class="grid header 2column"><h3 class="small-caps text-left" data-i18n="statistic"></h3><div class="flex-center"><h3 class="small-caps" data-i18n="value"></h3></div></div><div class="grid body"><div class="row grid 2column"><h3 class="text-left" data-i18n="hit points"></h3><span class="text-center" name="attr_hit_points"></span></div><div class="row grid 2column"><h3 class="text-left" data-i18n="knockdown"></h3><span class="text-center" name="attr_knockdown"></span></div><div class="row grid 2column"><h3 class="text-left" data-i18n="major wound"></h3><span class="text-center" name="attr_major_wound"></span></div><div class="row grid 2column"><h3 class="text-left" data-i18n="unconscious"></h3><span class="text-center" name="attr_unconscious"></span></div></div></div></div><div class="row"><h2 class="text-primary small-caps" data-i18n="other"></h2><div class="table"><div class="grid header 2column"><h3 class="small-caps text-left" data-i18n="statistic"></h3><div class="flex-center"><h3 class="small-caps" data-i18n="value"></h3></div></div><div class="grid body"><div class="row grid 2column"><h3 class="text-left" data-i18n="movement"></h3><span class="text-center" name="attr_movement"></span></div><div class="row grid 2column"><h3 class="text-left" data-i18n="armor points"></h3><label data-i18n-title="enter armor points" title="enter armor points"><input data-i18n-placeholder="armor points" name="attr_armor_points" placeholder="armor points" title="@{armor_points}" type="text" value=""/></label></div><div class="row grid 2column"><h3 class="text-left" data-i18n="current glory"></h3><label data-i18n-title="enter current glory" title="enter current glory"><input data-i18n-placeholder="current glory" name="attr_current_glory" placeholder="current glory" title="@{current_glory}" type="text" value=""/></label></div><div class="row grid 2column"><h3 class="text-left" data-i18n="healing rate"></h3><span class="text-center" name="attr_healing_rate"></span></div></div></div></div></div><div class="row grid attacks"><h2 class="text-primary small-caps" data-i18n="attacks"></h2><div class="table"><div class="grid header"><h3 class="small-caps text-left" data-i18n="weapon"></h3><div class="flex-center skill"><h3 class="small-caps" data-i18n="skill"></h3></div><div class="flex-center value"><h3 class="small-caps" data-i18n="value"></h3></div><div class="flex-center damage"><h3 class="small-caps" data-i18n="damage"></h3></div></div><div class="repeating-container"><fieldset class="repeating_attacks"><div class="row grid"><label data-i18n-title="enter name" title="enter name"><input data-i18n-placeholder="name" name="attr_name" placeholder="name" title="@{name}" type="text" value=""/></label><label data-i18n-title="enter skill" title="enter skill"><input data-i18n-placeholder="skill" name="attr_skill" placeholder="skill" title="@{skill}" type="text" value=""/></label><label data-i18n-title="enter value" title="enter value"><input name="attr_value" placeholder="#" title="@{value}" type="number" value="0"/></label><label data-i18n-title="enter damage" title="enter damage"><input data-i18n-placeholder="5d6+5" name="attr_damage" title="@{damage}" type="text" value=""/></label><button class="d20 capitalize" name="roll_damage" type="roll" value="&{template:rolls} {{header=@{name} (Damage)}} {{damage=[[(@{damage}+(?{Mod.|0}))]]}}">t</button></div></fieldset></div></div></div></div><div class="grid skills"><div class="header"><h1 data-i18n="skills"></h1></div><div class="grid body 2column core-skills"><div class="row col-3 awareness undefined"><label class="styled-checkbox grid" data-i18n-title="awareness check" title="awareness check"><input name="attr_awareness_check" title="@{awareness_check}" type="checkbox" value="awareness check"/><span class="pictos">3</span></label><button class="capitalize" data-i18n="awareness" title="awareness" name="roll_awareness" type="roll" value="&{template:rolls} {{header=^{awareness}}} {{dice=[[{1d20+({@{awareness}+(?{Mod.|0})-20,0}kh1),1d0+20}kl1 [Roll]]]}} {{threshold=[[{@{awareness}+(?{Mod.|0}),20}kl1[Threshold]]]}} {{fumbleVal=[[20+({@{awareness}+(?{Mod.|0}),0}kl1)]]}}"></button><label data-i18n-title="enter awareness" title="enter awareness"><input name="attr_awareness" placeholder="#" title="@{awareness}" type="number" value="0"/></label></div><div class="row col-3 chirurgery undefined"><label class="styled-checkbox grid" data-i18n-title="chirurgery check" title="chirurgery check"><input name="attr_chirurgery_check" title="@{chirurgery_check}" type="checkbox" value="chirurgery check"/><span class="pictos">3</span></label><button class="capitalize" data-i18n="chirurgery" title="chirurgery" name="roll_chirurgery" type="roll" value="&{template:rolls} {{header=^{chirurgery}}} {{dice=[[{1d20+({@{chirurgery}+(?{Mod.|0})-20,0}kh1),1d0+20}kl1 [Roll]]]}} {{threshold=[[{@{chirurgery}+(?{Mod.|0}),20}kl1[Threshold]]]}} {{fumbleVal=[[20+({@{chirurgery}+(?{Mod.|0}),0}kl1)]]}}"></button><label data-i18n-title="enter chirurgery" title="enter chirurgery"><input name="attr_chirurgery" placeholder="#" title="@{chirurgery}" type="number" value="0"/></label></div><div class="row col-3 compose undefined"><label class="styled-checkbox grid" data-i18n-title="compose check" title="compose check"><input name="attr_compose_check" title="@{compose_check}" type="checkbox" value="compose check"/><span class="pictos">3</span></label><button class="capitalize" data-i18n="compose" title="compose" name="roll_compose" type="roll" value="&{template:rolls} {{header=^{compose}}} {{dice=[[{1d20+({@{compose}+(?{Mod.|0})-20,0}kh1),1d0+20}kl1 [Roll]]]}} {{threshold=[[{@{compose}+(?{Mod.|0}),20}kl1[Threshold]]]}} {{fumbleVal=[[20+({@{compose}+(?{Mod.|0}),0}kl1)]]}}"></button><label data-i18n-title="enter compose" title="enter compose"><input name="attr_compose" placeholder="#" title="@{compose}" type="number" value="0"/></label></div><div class="row col-3 courtesy undefined"><label class="styled-checkbox grid" data-i18n-title="courtesy check" title="courtesy check"><input name="attr_courtesy_check" title="@{courtesy_check}" type="checkbox" value="courtesy check"/><span class="pictos">3</span></label><button class="capitalize" data-i18n="courtesy" title="courtesy" name="roll_courtesy" type="roll" value="&{template:rolls} {{header=^{courtesy}}} {{dice=[[{1d20+({@{courtesy}+(?{Mod.|0})-20,0}kh1),1d0+20}kl1 [Roll]]]}} {{threshold=[[{@{courtesy}+(?{Mod.|0}),20}kl1[Threshold]]]}} {{fumbleVal=[[20+({@{courtesy}+(?{Mod.|0}),0}kl1)]]}}"></button><label data-i18n-title="enter courtesy" title="enter courtesy"><input name="attr_courtesy" placeholder="#" title="@{courtesy}" type="number" value="0"/></label></div><div class="row col-3 dancing undefined"><label class="styled-checkbox grid" data-i18n-title="dancing check" title="dancing check"><input name="attr_dancing_check" title="@{dancing_check}" type="checkbox" value="dancing check"/><span class="pictos">3</span></label><button class="capitalize" data-i18n="dancing" title="dancing" name="roll_dancing" type="roll" value="&{template:rolls} {{header=^{dancing}}} {{dice=[[{1d20+({@{dancing}+(?{Mod.|0})-20,0}kh1),1d0+20}kl1 [Roll]]]}} {{threshold=[[{@{dancing}+(?{Mod.|0}),20}kl1[Threshold]]]}} {{fumbleVal=[[20+({@{dancing}+(?{Mod.|0}),0}kl1)]]}}"></button><label data-i18n-title="enter dancing" title="enter dancing"><input name="attr_dancing" placeholder="#" title="@{dancing}" type="number" value="0"/></label></div><div class="row col-3 falconry undefined"><label class="styled-checkbox grid" data-i18n-title="falconry check" title="falconry check"><input name="attr_falconry_check" title="@{falconry_check}" type="checkbox" value="falconry check"/><span class="pictos">3</span></label><button class="capitalize" data-i18n="falconry" title="falconry" name="roll_falconry" type="roll" value="&{template:rolls} {{header=^{falconry}}} {{dice=[[{1d20+({@{falconry}+(?{Mod.|0})-20,0}kh1),1d0+20}kl1 [Roll]]]}} {{threshold=[[{@{falconry}+(?{Mod.|0}),20}kl1[Threshold]]]}} {{fumbleVal=[[20+({@{falconry}+(?{Mod.|0}),0}kl1)]]}}"></button><label data-i18n-title="enter falconry" title="enter falconry"><input name="attr_falconry" placeholder="#" title="@{falconry}" type="number" value="0"/></label></div><div class="row col-3 fashion undefined"><label class="styled-checkbox grid" data-i18n-title="fashion check" title="fashion check"><input name="attr_fashion_check" title="@{fashion_check}" type="checkbox" value="fashion check"/><span class="pictos">3</span></label><button class="capitalize" data-i18n="fashion" title="fashion" name="roll_fashion" type="roll" value="&{template:rolls} {{header=^{fashion}}} {{dice=[[{1d20+({@{fashion}+(?{Mod.|0})-20,0}kh1),1d0+20}kl1 [Roll]]]}} {{threshold=[[{@{fashion}+(?{Mod.|0}),20}kl1[Threshold]]]}} {{fumbleVal=[[20+({@{fashion}+(?{Mod.|0}),0}kl1)]]}}"></button><label data-i18n-title="enter fashion" title="enter fashion"><input name="attr_fashion" placeholder="#" title="@{fashion}" type="number" value="0"/></label></div><div class="row col-3 first aid undefined"><label class="styled-checkbox grid" data-i18n-title="first aid check" title="first aid check"><input name="attr_first_aid_check" title="@{first_aid_check}" type="checkbox" value="first aid check"/><span class="pictos">3</span></label><button class="capitalize" data-i18n="first aid" title="first aid" name="roll_first-aid" type="roll" value="&{template:rolls} {{header=^{first aid}}} {{dice=[[{1d20+({@{first_aid}+(?{Mod.|0})-20,0}kh1),1d0+20}kl1 [Roll]]]}} {{threshold=[[{@{first_aid}+(?{Mod.|0}),20}kl1[Threshold]]]}} {{fumbleVal=[[20+({@{first_aid}+(?{Mod.|0}),0}kl1)]]}}"></button><label data-i18n-title="enter first aid" title="enter first aid"><input name="attr_first_aid" placeholder="#" title="@{first_aid}" type="number" value="0"/></label></div><div class="row col-3 flirting undefined"><label class="styled-checkbox grid" data-i18n-title="flirting check" title="flirting check"><input name="attr_flirting_check" title="@{flirting_check}" type="checkbox" value="flirting check"/><span class="pictos">3</span></label><button class="capitalize" data-i18n="flirting" title="flirting" name="roll_flirting" type="roll" value="&{template:rolls} {{header=^{flirting}}} {{dice=[[{1d20+({@{flirting}+(?{Mod.|0})-20,0}kh1),1d0+20}kl1 [Roll]]]}} {{threshold=[[{@{flirting}+(?{Mod.|0}),20}kl1[Threshold]]]}} {{fumbleVal=[[20+({@{flirting}+(?{Mod.|0}),0}kl1)]]}}"></button><label data-i18n-title="enter flirting" title="enter flirting"><input name="attr_flirting" placeholder="#" title="@{flirting}" type="number" value="0"/></label></div><div class="row col-3 folklore undefined"><label class="styled-checkbox grid" data-i18n-title="folklore check" title="folklore check"><input name="attr_folklore_check" title="@{folklore_check}" type="checkbox" value="folklore check"/><span class="pictos">3</span></label><button class="capitalize" data-i18n="folklore" title="folklore" name="roll_folklore" type="roll" value="&{template:rolls} {{header=^{folklore}}} {{dice=[[{1d20+({@{folklore}+(?{Mod.|0})-20,0}kh1),1d0+20}kl1 [Roll]]]}} {{threshold=[[{@{folklore}+(?{Mod.|0}),20}kl1[Threshold]]]}} {{fumbleVal=[[20+({@{folklore}+(?{Mod.|0}),0}kl1)]]}}"></button><label data-i18n-title="enter folklore" title="enter folklore"><input name="attr_folklore" placeholder="#" title="@{folklore}" type="number" value="0"/></label></div><div class="row col-3 gaming undefined"><label class="styled-checkbox grid" data-i18n-title="gaming check" title="gaming check"><input name="attr_gaming_check" title="@{gaming_check}" type="checkbox" value="gaming check"/><span class="pictos">3</span></label><button class="capitalize" data-i18n="gaming" title="gaming" name="roll_gaming" type="roll" value="&{template:rolls} {{header=^{gaming}}} {{dice=[[{1d20+({@{gaming}+(?{Mod.|0})-20,0}kh1),1d0+20}kl1 [Roll]]]}} {{threshold=[[{@{gaming}+(?{Mod.|0}),20}kl1[Threshold]]]}} {{fumbleVal=[[20+({@{gaming}+(?{Mod.|0}),0}kl1)]]}}"></button><label data-i18n-title="enter gaming" title="enter gaming"><input name="attr_gaming" placeholder="#" title="@{gaming}" type="number" value="0"/></label></div><div class="row col-3 hunting undefined"><label class="styled-checkbox grid" data-i18n-title="hunting check" title="hunting check"><input name="attr_hunting_check" title="@{hunting_check}" type="checkbox" value="hunting check"/><span class="pictos">3</span></label><button class="capitalize" data-i18n="hunting" title="hunting" name="roll_hunting" type="roll" value="&{template:rolls} {{header=^{hunting}}} {{dice=[[{1d20+({@{hunting}+(?{Mod.|0})-20,0}kh1),1d0+20}kl1 [Roll]]]}} {{threshold=[[{@{hunting}+(?{Mod.|0}),20}kl1[Threshold]]]}} {{fumbleVal=[[20+({@{hunting}+(?{Mod.|0}),0}kl1)]]}}"></button><label data-i18n-title="enter hunting" title="enter hunting"><input name="attr_hunting" placeholder="#" title="@{hunting}" type="number" value="0"/></label></div><div class="row col-3 intrigue undefined"><label class="styled-checkbox grid" data-i18n-title="intrigue check" title="intrigue check"><input name="attr_intrigue_check" title="@{intrigue_check}" type="checkbox" value="intrigue check"/><span class="pictos">3</span></label><button class="capitalize" data-i18n="intrigue" title="intrigue" name="roll_intrigue" type="roll" value="&{template:rolls} {{header=^{intrigue}}} {{dice=[[{1d20+({@{intrigue}+(?{Mod.|0})-20,0}kh1),1d0+20}kl1 [Roll]]]}} {{threshold=[[{@{intrigue}+(?{Mod.|0}),20}kl1[Threshold]]]}} {{fumbleVal=[[20+({@{intrigue}+(?{Mod.|0}),0}kl1)]]}}"></button><label data-i18n-title="enter intrigue" title="enter intrigue"><input name="attr_intrigue" placeholder="#" title="@{intrigue}" type="number" value="0"/></label></div><div class="row col-3 literacy undefined"><label class="styled-checkbox grid" data-i18n-title="literacy check" title="literacy check"><input name="attr_literacy_check" title="@{literacy_check}" type="checkbox" value="literacy check"/><span class="pictos">3</span></label><button class="capitalize" data-i18n="literacy" title="literacy" name="roll_literacy" type="roll" value="&{template:rolls} {{header=^{literacy}}} {{dice=[[{1d20+({@{literacy}+(?{Mod.|0})-20,0}kh1),1d0+20}kl1 [Roll]]]}} {{threshold=[[{@{literacy}+(?{Mod.|0}),20}kl1[Threshold]]]}} {{fumbleVal=[[20+({@{literacy}+(?{Mod.|0}),0}kl1)]]}}"></button><label data-i18n-title="enter literacy" title="enter literacy"><input name="attr_literacy" placeholder="#" title="@{literacy}" type="number" value="0"/></label></div><div class="row col-3 orate undefined"><label class="styled-checkbox grid" data-i18n-title="orate check" title="orate check"><input name="attr_orate_check" title="@{orate_check}" type="checkbox" value="orate check"/><span class="pictos">3</span></label><button class="capitalize" data-i18n="orate" title="orate" name="roll_orate" type="roll" value="&{template:rolls} {{header=^{orate}}} {{dice=[[{1d20+({@{orate}+(?{Mod.|0})-20,0}kh1),1d0+20}kl1 [Roll]]]}} {{threshold=[[{@{orate}+(?{Mod.|0}),20}kl1[Threshold]]]}} {{fumbleVal=[[20+({@{orate}+(?{Mod.|0}),0}kl1)]]}}"></button><label data-i18n-title="enter orate" title="enter orate"><input name="attr_orate" placeholder="#" title="@{orate}" type="number" value="0"/></label></div><div class="row col-3 play undefined"><label class="styled-checkbox grid" data-i18n-title="play check" title="play check"><input name="attr_play_check" title="@{play_check}" type="checkbox" value="play check"/><span class="pictos">3</span></label><button class="capitalize" data-i18n="play" title="play" name="roll_play" type="roll" value="&{template:rolls} {{header=^{play}}} {{dice=[[{1d20+({@{play}+(?{Mod.|0})-20,0}kh1),1d0+20}kl1 [Roll]]]}} {{threshold=[[{@{play}+(?{Mod.|0}),20}kl1[Threshold]]]}} {{fumbleVal=[[20+({@{play}+(?{Mod.|0}),0}kl1)]]}}"></button><label data-i18n-title="enter play" title="enter play"><input name="attr_play" placeholder="#" title="@{play}" type="number" value="0"/></label></div><div class="row col-3 recognize undefined"><label class="styled-checkbox grid" data-i18n-title="recognize check" title="recognize check"><input name="attr_recognize_check" title="@{recognize_check}" type="checkbox" value="recognize check"/><span class="pictos">3</span></label><button class="capitalize" data-i18n="recognize" title="recognize" name="roll_recognize" type="roll" value="&{template:rolls} {{header=^{recognize}}} {{dice=[[{1d20+({@{recognize}+(?{Mod.|0})-20,0}kh1),1d0+20}kl1 [Roll]]]}} {{threshold=[[{@{recognize}+(?{Mod.|0}),20}kl1[Threshold]]]}} {{fumbleVal=[[20+({@{recognize}+(?{Mod.|0}),0}kl1)]]}}"></button><label data-i18n-title="enter recognize" title="enter recognize"><input name="attr_recognize" placeholder="#" title="@{recognize}" type="number" value="0"/></label></div><div class="row col-3 religion undefined"><label class="styled-checkbox grid" data-i18n-title="religion check" title="religion check"><input name="attr_religion_check" title="@{religion_check}" type="checkbox" value="religion check"/><span class="pictos">3</span></label><button class="capitalize" data-i18n="religion" title="religion" name="roll_religion" type="roll" value="&{template:rolls} {{header=^{religion}}} {{dice=[[{1d20+({@{religion}+(?{Mod.|0})-20,0}kh1),1d0+20}kl1 [Roll]]]}} {{threshold=[[{@{religion}+(?{Mod.|0}),20}kl1[Threshold]]]}} {{fumbleVal=[[20+({@{religion}+(?{Mod.|0}),0}kl1)]]}}"></button><label data-i18n-title="enter religion" title="enter religion"><input name="attr_religion" placeholder="#" title="@{religion}" type="number" value="0"/></label></div><div class="row col-3 sing undefined"><label class="styled-checkbox grid" data-i18n-title="sing check" title="sing check"><input name="attr_sing_check" title="@{sing_check}" type="checkbox" value="sing check"/><span class="pictos">3</span></label><button class="capitalize" data-i18n="sing" title="sing" name="roll_sing" type="roll" value="&{template:rolls} {{header=^{sing}}} {{dice=[[{1d20+({@{sing}+(?{Mod.|0})-20,0}kh1),1d0+20}kl1 [Roll]]]}} {{threshold=[[{@{sing}+(?{Mod.|0}),20}kl1[Threshold]]]}} {{fumbleVal=[[20+({@{sing}+(?{Mod.|0}),0}kl1)]]}}"></button><label data-i18n-title="enter sing" title="enter sing"><input name="attr_sing" placeholder="#" title="@{sing}" type="number" value="0"/></label></div><div class="row col-3 stewardship undefined"><label class="styled-checkbox grid" data-i18n-title="stewardship check" title="stewardship check"><input name="attr_stewardship_check" title="@{stewardship_check}" type="checkbox" value="stewardship check"/><span class="pictos">3</span></label><button class="capitalize" data-i18n="stewardship" title="stewardship" name="roll_stewardship" type="roll" value="&{template:rolls} {{header=^{stewardship}}} {{dice=[[{1d20+({@{stewardship}+(?{Mod.|0})-20,0}kh1),1d0+20}kl1 [Roll]]]}} {{threshold=[[{@{stewardship}+(?{Mod.|0}),20}kl1[Threshold]]]}} {{fumbleVal=[[20+({@{stewardship}+(?{Mod.|0}),0}kl1)]]}}"></button><label data-i18n-title="enter stewardship" title="enter stewardship"><input name="attr_stewardship" placeholder="#" title="@{stewardship}" type="number" value="0"/></label></div></div><div class="grid body 2column combat-skills"><div class="row subheader mt flex-center"><h2 class="text-accent small-caps" data-i18n="combat skills"></h2></div><div class="row col-3"><label class="styled-checkbox grid" data-i18n-title="battle check" title="battle check"><input name="attr_battle_check" title="@{battle_check}" type="checkbox" value="battle check"/><span class="pictos">3</span></label><button class="capitalize" data-i18n="battle" title="battle" name="roll_battle" type="roll" value="&{template:rolls} {{header=^{battle}}} {{dice=[[{1d20+({@{battle}+(?{Mod.|0})-20,0}kh1),1d0+20}kl1 [Roll]]]}} {{threshold=[[{@{battle}+(?{Mod.|0}),20}kl1[Threshold]]]}} {{fumbleVal=[[20+({@{battle}+(?{Mod.|0}),0}kl1)]]}}"></button><label data-i18n-title="enter battle" title="enter battle"><input name="attr_battle" placeholder="#" title="@{battle}" type="number" value="0"/></label></div><div class="row col-3"><label class="styled-checkbox grid" data-i18n-title="bow check" title="bow check"><input name="attr_bow_check" title="@{bow_check}" type="checkbox" value="bow check"/><span class="pictos">3</span></label><button class="capitalize" data-i18n="bow" title="bow" name="roll_bow" type="roll" value="&{template:rolls} {{header=^{bow}}} {{dice=[[{1d20+({@{bow}+(?{Mod.|0})-20,0}kh1),1d0+20}kl1 [Roll]]]}} {{threshold=[[{@{bow}+(?{Mod.|0}),20}kl1[Threshold]]]}} {{fumbleVal=[[20+({@{bow}+(?{Mod.|0}),0}kl1)]]}}"></button><label data-i18n-title="enter bow" title="enter bow"><input name="attr_bow" placeholder="#" title="@{bow}" type="number" value="0"/></label></div><div class="row col-3"><label class="styled-checkbox grid" data-i18n-title="brawling check" title="brawling check"><input name="attr_brawling_check" title="@{brawling_check}" type="checkbox" value="brawling check"/><span class="pictos">3</span></label><button class="capitalize" data-i18n="brawling" title="brawling" name="roll_brawling" type="roll" value="&{template:rolls} {{header=^{brawling}}} {{dice=[[{1d20+({@{brawling}+(?{Mod.|0})-20,0}kh1),1d0+20}kl1 [Roll]]]}} {{threshold=[[{@{brawling}+(?{Mod.|0}),20}kl1[Threshold]]]}} {{fumbleVal=[[20+({@{brawling}+(?{Mod.|0}),0}kl1)]]}}"></button><label data-i18n-title="enter brawling" title="enter brawling"><input name="attr_brawling" placeholder="#" title="@{brawling}" type="number" value="0"/></label></div><div class="row col-3"><label class="styled-checkbox grid" data-i18n-title="charge check" title="charge check"><input name="attr_charge_check" title="@{charge_check}" type="checkbox" value="charge check"/><span class="pictos">3</span></label><button class="capitalize" data-i18n="charge" title="charge" name="roll_charge" type="roll" value="&{template:rolls} {{header=^{charge}}} {{dice=[[{1d20+({@{charge}+(?{Mod.|0})-20,0}kh1),1d0+20}kl1 [Roll]]]}} {{threshold=[[{@{charge}+(?{Mod.|0}),20}kl1[Threshold]]]}} {{fumbleVal=[[20+({@{charge}+(?{Mod.|0}),0}kl1)]]}}"></button><label data-i18n-title="enter charge" title="enter charge"><input name="attr_charge" placeholder="#" title="@{charge}" type="number" value="0"/></label></div><div class="row col-3"><label class="styled-checkbox grid" data-i18n-title="crossbow check" title="crossbow check"><input name="attr_crossbow_check" title="@{crossbow_check}" type="checkbox" value="crossbow check"/><span class="pictos">3</span></label><button class="capitalize" data-i18n="crossbow" title="crossbow" name="roll_crossbow" type="roll" value="&{template:rolls} {{header=^{crossbow}}} {{dice=[[{1d20+({@{crossbow}+(?{Mod.|0})-20,0}kh1),1d0+20}kl1 [Roll]]]}} {{threshold=[[{@{crossbow}+(?{Mod.|0}),20}kl1[Threshold]]]}} {{fumbleVal=[[20+({@{crossbow}+(?{Mod.|0}),0}kl1)]]}}"></button><label data-i18n-title="enter crossbow" title="enter crossbow"><input name="attr_crossbow" placeholder="#" title="@{crossbow}" type="number" value="0"/></label></div><div class="row col-3"><label class="styled-checkbox grid" data-i18n-title="halfed check" title="halfed check"><input name="attr_halfed_check" title="@{halfed_check}" type="checkbox" value="halfed check"/><span class="pictos">3</span></label><button class="capitalize" data-i18n="halfed" title="halfed" name="roll_halfed" type="roll" value="&{template:rolls} {{header=^{halfed}}} {{dice=[[{1d20+({@{halfed}+(?{Mod.|0})-20,0}kh1),1d0+20}kl1 [Roll]]]}} {{threshold=[[{@{halfed}+(?{Mod.|0}),20}kl1[Threshold]]]}} {{fumbleVal=[[20+({@{halfed}+(?{Mod.|0}),0}kl1)]]}}"></button><label data-i18n-title="enter halfed" title="enter halfed"><input name="attr_halfed" placeholder="#" title="@{halfed}" type="number" value="0"/></label></div><div class="row col-3"><label class="styled-checkbox grid" data-i18n-title="two-handed hafted check" title="two-handed hafted check"><input name="attr_two-handed_hafted_check" title="@{two-handed_hafted_check}" type="checkbox" value="two-handed hafted check"/><span class="pictos">3</span></label><button class="capitalize" data-i18n="two-handed hafted" title="two-handed hafted" name="roll_two-handed-hafted" type="roll" value="&{template:rolls} {{header=^{two-handed hafted}}} {{dice=[[{1d20+({@{two-handed_hafted}+(?{Mod.|0})-20,0}kh1),1d0+20}kl1 [Roll]]]}} {{threshold=[[{@{two-handed_hafted}+(?{Mod.|0}),20}kl1[Threshold]]]}} {{fumbleVal=[[20+({@{two-handed_hafted}+(?{Mod.|0}),0}kl1)]]}}"></button><label data-i18n-title="enter two-handed hafted" title="enter two-handed hafted"><input name="attr_two-handed_hafted" placeholder="#" title="@{two-handed_hafted}" type="number" value="0"/></label></div><div class="row col-3"><label class="styled-checkbox grid" data-i18n-title="horsemanship check" title="horsemanship check"><input name="attr_horsemanship_check" title="@{horsemanship_check}" type="checkbox" value="horsemanship check"/><span class="pictos">3</span></label><button class="capitalize" data-i18n="horsemanship" title="horsemanship" name="roll_horsemanship" type="roll" value="&{template:rolls} {{header=^{horsemanship}}} {{dice=[[{1d20+({@{horsemanship}+(?{Mod.|0})-20,0}kh1),1d0+20}kl1 [Roll]]]}} {{threshold=[[{@{horsemanship}+(?{Mod.|0}),20}kl1[Threshold]]]}} {{fumbleVal=[[20+({@{horsemanship}+(?{Mod.|0}),0}kl1)]]}}"></button><label data-i18n-title="enter horsemanship" title="enter horsemanship"><input name="attr_horsemanship" placeholder="#" title="@{horsemanship}" type="number" value="0"/></label></div><div class="row col-3"><label class="styled-checkbox grid" data-i18n-title="spear check" title="spear check"><input name="attr_spear_check" title="@{spear_check}" type="checkbox" value="spear check"/><span class="pictos">3</span></label><button class="capitalize" data-i18n="spear" title="spear" name="roll_spear" type="roll" value="&{template:rolls} {{header=^{spear}}} {{dice=[[{1d20+({@{spear}+(?{Mod.|0})-20,0}kh1),1d0+20}kl1 [Roll]]]}} {{threshold=[[{@{spear}+(?{Mod.|0}),20}kl1[Threshold]]]}} {{fumbleVal=[[20+({@{spear}+(?{Mod.|0}),0}kl1)]]}}"></button><label data-i18n-title="enter spear" title="enter spear"><input name="attr_spear" placeholder="#" title="@{spear}" type="number" value="0"/></label></div><div class="row col-3"><label class="styled-checkbox grid" data-i18n-title="sword check" title="sword check"><input name="attr_sword_check" title="@{sword_check}" type="checkbox" value="sword check"/><span class="pictos">3</span></label><button class="capitalize" data-i18n="sword" title="sword" name="roll_sword" type="roll" value="&{template:rolls} {{header=^{sword}}} {{dice=[[{1d20+({@{sword}+(?{Mod.|0})-20,0}kh1),1d0+20}kl1 [Roll]]]}} {{threshold=[[{@{sword}+(?{Mod.|0}),20}kl1[Threshold]]]}} {{fumbleVal=[[20+({@{sword}+(?{Mod.|0}),0}kl1)]]}}"></button><label data-i18n-title="enter sword" title="enter sword"><input name="attr_sword" placeholder="#" title="@{sword}" type="number" value="0"/></label></div><div class="row col-3"><label class="styled-checkbox grid" data-i18n-title="thrown weapon check" title="thrown weapon check"><input name="attr_thrown_weapon_check" title="@{thrown_weapon_check}" type="checkbox" value="thrown weapon check"/><span class="pictos">3</span></label><button class="capitalize" data-i18n="thrown weapon" title="thrown weapon" name="roll_thrown-weapon" type="roll" value="&{template:rolls} {{header=^{thrown weapon}}} {{dice=[[{1d20+({@{thrown_weapon}+(?{Mod.|0})-20,0}kh1),1d0+20}kl1 [Roll]]]}} {{threshold=[[{@{thrown_weapon}+(?{Mod.|0}),20}kl1[Threshold]]]}} {{fumbleVal=[[20+({@{thrown_weapon}+(?{Mod.|0}),0}kl1)]]}}"></button><label data-i18n-title="enter thrown weapon" title="enter thrown weapon"><input name="attr_thrown_weapon" placeholder="#" title="@{thrown_weapon}" type="number" value="0"/></label></div></div><div class="row subheader mt flex-center"><h2 class="text-accent small-caps" data-i18n="other"></h2></div><div class="repeating-container"><fieldset class="repeating_skills"><div class="row"><label class="styled-checkbox grid" data-i18n-title="check" title="check"><input name="attr_check" title="@{check}" type="checkbox" value="check"/><span class="pictos">3</span></label><label data-i18n-title="enter name" title="enter name"><input data-i18n-placeholder="name" name="attr_name" placeholder="name" title="@{name}" type="text" value=""/></label><label data-i18n-title="enter skill" title="enter skill"><input name="attr_skill" placeholder="#" title="@{skill}" type="number" value="0"/></label><button class="d20 capitalize" name="roll_skill" type="roll" value="&{template:rolls} {{header=@{name}}} {{dice=[[{1d20+({@{skill}+(?{Mod.|0})-20,0}kh1),1d0+20}kl1 [Roll]]]}} {{threshold=[[{@{skill}+(?{Mod.|0}),20}kl1[Threshold]]]}} {{fumbleVal=[[20+({@{skill}+(?{Mod.|0}),0}kl1)]]}}">t</button></div></fieldset></div></div></div></div><div class="row grid mb"><div class="horse grid"><div class="header"><h1 data-i18n="horses"></h1></div><div class="body grid"><div class="col grid"><div class="row grid 2column"><div class="flex-center"><h2 class="text-accent small-caps" data-i18n="warhorse"></h2></div><div class="grid 2autocolumn"><div class="flex-center"><h3 class="bold uppercase" data-i18n="type"></h3></div><label data-i18n-title="enter warhorse type" title="enter warhorse type"><input data-i18n-placeholder="warhorse type" name="attr_warhorse_type" placeholder="warhorse type" title="@{warhorse_type}" type="text" value=""/></label></div></div><div class="grid 2column"><div class="row grid 2autocolumn"><div class="flex-center"><h3 class="bold uppercase" data-i18n="armor"></h3></div><label data-i18n-title="enter armor" title="enter warhorse armor"><input data-i18n-placeholder="armor" name="attr_warhorse_armor" placeholder="warhorse armor" title="@{warhorse_armor}" type="text" value=""/></label></div><div class="row grid 2autocolumn"><div class="flex-center"><h3 class="bold uppercase" data-i18n="siz"></h3></div><label data-i18n-title="enter warhorse siz" title="enter warhorse siz"><input name="attr_warhorse_siz" placeholder="#" title="@{warhorse_siz}" type="number" value="0"/></label></div><div class="row grid 2autocolumn"><div class="flex-center"><h3 class="bold uppercase" data-i18n="move"></h3></div><label data-i18n-title="enter warhorse move" title="enter warhorse move"><input name="attr_warhorse_move" placeholder="#" title="@{warhorse_move}" type="number" value="0"/></label></div><div class="row grid 2autocolumn"><div class="flex-center"><h3 class="bold uppercase" data-i18n="dex"></h3></div><label data-i18n-title="enter warhorse dex" title="enter warhorse dex"><input name="attr_warhorse_dex" placeholder="#" title="@{warhorse_dex}" type="number" value="0"/></label></div><div class="row grid 3autocolumn"><div class="flex-center"><button class="capitalize" data-i18n="damage" name="roll_warhorse-damage" type="roll" value="&{template:rolls} {{header=^{warhorse damage}}} {{damage=[[(@{warhorse_damage}+(?{Mod.|0}))d6]]}}"></button></div><label data-i18n-title="enter warhorse damage" title="enter warhorse damage"><input name="attr_warhorse_damage" placeholder="#" title="@{warhorse_damage}" type="number" value="0"/></label><div class="flex-center"><h3 class="bold uppercase" data-i18n="d6"></h3></div></div><div class="row grid 2autocolumn"><div class="flex-center"><h3 class="bold uppercase" data-i18n="str"></h3></div><label data-i18n-title="enter warhorse str" title="enter warhorse str"><input name="attr_warhorse_str" placeholder="#" title="@{warhorse_str}" type="number" value="0"/></label></div><div class="row grid 2autocolumn"><div class="flex-center"><h3 class="bold uppercase" data-i18n="hp"></h3></div><label data-i18n-title="enter warhorse hp" title="enter warhorse hp"><input name="attr_warhorse_hp" placeholder="#" title="@{warhorse_hp}" type="number" value="0"/></label></div><div class="row grid 2autocolumn"><div class="flex-center"><h3 class="bold uppercase" data-i18n="con"></h3></div><label data-i18n-title="enter warhorse con" title="enter warhorse con"><input name="attr_warhorse_con" placeholder="#" title="@{warhorse_con}" type="number" value="0"/></label></div></div></div><div class="col grid gold-left-border"><div class="other-horses grid gold-bottom-border"><div class="flex-center"><h2 class="text-accent small-caps" data-i18n="other horses"></h2></div><textarea data-i18n-placeholder="other horses" name="attr_other_horses" placeholder="other horses"></textarea></div><div class="joust-score"><div class="flex-center"><h2 class="text-accent small-caps" data-i18n="joust score"></h2></div><div class="row 2column"><div class="col 2autocolumn"><div class="flex-center"><h3 class="bold uppercase" data-i18n="win"></h3></div><label data-i18n-title="enter win" title="enter win"><input name="attr_win" placeholder="#" title="@{win}" type="number" value="0"/></label></div><div class="col 2autocolumn"><div class="flex-center"><h3 class="bold uppercase" data-i18n="losses"></h3></div><label data-i18n-title="enter losses" title="enter losses"><input name="attr_losses" placeholder="#" title="@{losses}" type="number" value="0"/></label></div></div></div></div></div><div class="row grid"><div class="flex-center"><h2 class="text-accent small-caps" data-i18n="equestrian notes"></h2></div><textarea data-i18n-placeholder="equestrian notes" name="attr_equestrian_notes" placeholder="equestrian notes"></textarea></div></div><div class="equipment grid"><div class="header"><h1 data-i18n="equipment"></h1></div><div class="repeating-container"><fieldset class="repeating_equipment"><div class="row grid"><div class="grid 2autocolumn"><label data-i18n-title="enter category" title="enter category"><input data-i18n-placeholder="category" name="attr_category" placeholder="category" title="@{category}" type="text" value=""/></label><label data-i18n-title="enter equipment" title="enter equipment"><input data-i18n-placeholder="equipment" name="attr_equipment" placeholder="equipment" title="@{equipment}" type="text" value=""/></label></div><div class="collapse"><textarea data-i18n-placeholder="notes" name="attr_notes" placeholder="notes"></textarea></div></div></fieldset></div></div></div></div><div class="holdings grid"><div class="col"><div class="family-history mb"><div class="row gold-bottom-border header"><h1 data-i18n="knightly event"></h1></div><div class="row 2autocolumn"><div class="flex-center"><h3 class="bold uppercase" data-i18n="born"></h3></div><label data-i18n-title="enter born" title="enter born"><input data-i18n-placeholder="born" name="attr_born" placeholder="born" title="@{born}" type="text" value=""/></label></div><div class="row 2autocolumn"><div class="flex-center"><h3 class="bold uppercase" data-i18n="squired"></h3></div><label data-i18n-title="enter squired" title="enter squired"><input data-i18n-placeholder="squired" name="attr_squired" placeholder="squired" title="@{squired}" type="text" value=""/></label></div><div class="row 2autocolumn"><div class="flex-center"><h3 class="bold uppercase" data-i18n="knighted"></h3></div><label data-i18n-title="enter knighted" title="enter knighted"><input data-i18n-placeholder="knighted" name="attr_knighted" placeholder="knighted" title="@{knighted}" type="text" value=""/></label></div><div class="row 2autocolumn"><div class="flex-center"><h3 class="bold uppercase" data-i18n="landed"></h3></div><label data-i18n-title="enter landed" title="enter landed"><input data-i18n-placeholder="landed" name="attr_landed" placeholder="landed" title="@{landed}" type="text" value=""/></label></div><div class="row 2autocolumn"><div class="flex-center"><h3 class="bold uppercase" data-i18n="round table"></h3></div><label data-i18n-title="enter round table" title="enter round table"><input data-i18n-placeholder="round table" name="attr_round_table" placeholder="round table" title="@{round_table}" type="text" value=""/></label></div><div class="row 2autocolumn"><div class="flex-center"><h3 class="bold uppercase" data-i18n="ennobled"></h3></div><label data-i18n-title="enter ennobled" title="enter ennobled"><input data-i18n-placeholder="ennobled" name="attr_ennobled" placeholder="ennobled" title="@{ennobled}" type="text" value=""/></label></div><div class="row 2autocolumn"><div class="flex-center"><h3 class="bold uppercase" data-i18n="died"></h3></div><label data-i18n-title="enter died" title="enter died"><input data-i18n-placeholder="died" name="attr_died" placeholder="died" title="@{died}" type="text" value=""/></label></div></div><div class="annual-glory mb"><div class="header"><h1 data-i18n="passive glory"></h1></div><div class="row 2autocolumn"><div class="flex-center"><h3 class="bold uppercase" data-i18n="ideals"></h3></div><label data-i18n-title="enter ideals" title="enter passive glory ideals"><input data-i18n-placeholder="ideals" name="attr_passive_glory_ideals" placeholder="passive glory ideals" title="@{passive_glory_ideals}" type="text" value=""/></label></div><div class="row 2autocolumn"><div class="flex-center"><h3 class="bold uppercase" data-i18n="fair appeal"></h3></div><label data-i18n-title="enter fair appeal" title="enter passive glory fair appeal"><input data-i18n-placeholder="fair appeal" name="attr_passive_glory_fair_appeal" placeholder="passive glory fair appeal" title="@{passive_glory_fair_appeal}" type="text" value=""/></label></div><div class="row 2autocolumn"><div class="flex-center"><h3 class="bold uppercase" data-i18n="traits & passions"></h3></div><label data-i18n-title="enter traits & passions" title="enter passive glory traits & passions"><input data-i18n-placeholder="traits & passions" name="attr_passive_glory_traits_&_passions" placeholder="passive glory traits & passions" title="@{passive_glory_traits_&_passions}" type="text" value=""/></label></div><div class="row 2autocolumn"><div class="flex-center"><h3 class="bold uppercase" data-i18n="estate glory"></h3></div><label data-i18n-title="enter estate glory" title="enter passive glory estate glory"><input data-i18n-placeholder="estate glory" name="attr_passive_glory_estate_glory" placeholder="passive glory estate glory" title="@{passive_glory_estate_glory}" type="text" value=""/></label></div><div class="row 2autocolumn"><h2 class="text-primary small-caps text-accent" data-i18n="total glory"></h2><label data-i18n-title="enter total glory" title="enter total glory"><input data-i18n-placeholder="total glory" name="attr_total_glory" placeholder="total glory" title="@{total_glory}" type="text" value=""/></label></div></div><div class="holdings-row"><div class="header"><h1 data-i18n="holdings"></h1></div><div class="row"><textarea name="attr_holdings"></textarea></div></div></div><div class="col gold-left-border"><div class="character-history"><div class="row gold-bottom-border header"><h1 data-i18n="history & events"></h1></div><div class="row 2autocolumn"> <h2 class="text-accent small-caps" data-i18n="current game year"></h2><label data-i18n-title="enter current game year" title="enter current game year"><input data-i18n-placeholder="current game year" name="attr_current_game_year" placeholder="current game year" title="@{current_game_year}" type="text" value=""/></label></div><div class="row events"><h2 class="text-accent small-caps" data-i18n="important event"></h2><div class="flex-center"><h2 class="text-accent small-caps" data-i18n="date"></h2></div><div class="flex-center"><h2 class="text-accent small-caps" data-i18n="glory"></h2></div><div class="flex-center"><h2 class="text-accent small-caps" data-i18n="total"></h2></div></div><div class="repeating-container"><fieldset class="repeating_events"><div class="row events"><label data-i18n-title="enter event" title="enter event"><input data-i18n-placeholder="event" name="attr_event" placeholder="event" title="@{event}" type="text" value=""/></label><label data-i18n-title="enter date" title="enter date"><input data-i18n-placeholder="date" name="attr_date" placeholder="date" title="@{date}" type="text" value=""/></label><label data-i18n-title="enter glory" title="enter glory"><input data-i18n-placeholder="glory" name="attr_glory" placeholder="glory" title="@{glory}" type="text" value=""/></label><label data-i18n-title="enter total" title="enter total"><input data-i18n-placeholder="total" name="attr_total" placeholder="total" title="@{total}" type="text" value=""/></label></div></fieldset></div></div></div></div><div class="grid settings"><div class="col"><h1 data-i18n="character sheet type"></h1><select name="attr_sheet_select" value="knight"><option data-i18n="knight" value="knight" selected="selected"></option><option data-i18n="npc" value="npc"></option></select></div></div><div class="footer"><div class="div"><span>©2016 Nocturnal Media. Permission granted to copy for personal use only. </span></div><div class="div"><span>Version</span><span name="attr_version"></span></div></div><div class="rolltemplates"><rolltemplate class="sheet-rolltemplate-rolls"><div class="sheet-template-container"><!-- - Display a header on the template ---><div class="sheet-template-header">{{#header}}{{header}}{{/header}}</div><!-- - Display the dice roll in the template ---><div class="sheet-template-body">{{#luck}}<div class="sheet-template-row sheet-template-roll"><div class="sheet-template-col"><span>{{luck}} </span><span data-i18n="luck"></span></div>{{#calamity}}<div class="sheet-template-col"><span>{{calamity}} </span><span data-i18n="Benefit/Calamity"></span></div>{{/calamity}}</div>{{/luck}}
|
|
{{#dice}}<div class="sheet-template-row sheet-template-roll"><div class="sheet-template-col"><span>{{dice}} </span><span data-i18n="rolled"></span></div>{{/dice}}
|
|
{{#threshold}}<div class="sheet-template-col"><span>{{threshold}} </span><span data-i18n="threshold"></span></div>{{/threshold}}
|
|
{{#dice}}<div class="sheet-template-row sheet-result-row"><!-- Modified skill is greater than 19-->{{#rollGreater() threshold 19}}
|
|
{{#rollGreater() dice 19}} <div class="sheet-rollResult"> <span class="text-center" data-i18n="Critical"></span></div> {{/rollGreater() dice 19}}
|
|
{{#^rollGreater() dice 19}} <div class="sheet-rollResult"> <span class="text-center" data-i18n="Success"></span></div> {{/^rollGreater() dice 19}}
|
|
{{/rollGreater() threshold 19}}
|
|
{{#^rollGreater() threshold 19}}
|
|
{{#rollBetween() dice fumbleVal 20}}<div class="sheet-rollResult"> <span class="text-center" data-i18n="Fumble"></span></div> {{/rollBetween() dice fumbleVal 20}}
|
|
{{#^rollBetween() dice fumbleVal 20}}
|
|
{{#rollTotal() dice threshold}}<div class="sheet-rollResult"> <span class="text-center" data-i18n="Critical"></span></div> {{/rollTotal() dice threshold}}
|
|
{{#^rollTotal() dice threshold}}
|
|
{{#rollGreater() dice threshold}}<div class="sheet-rollResult"> <span class="text-center" data-i18n="Failure"></span></div> {{/rollGreater() dice threshold}}
|
|
{{#^rollGreater() dice threshold}} <div class="sheet-rollResult"> <span class="text-center" data-i18n="Success"></span></div> {{/^rollGreater() dice threshold}}
|
|
{{/^rollTotal() dice threshold}}
|
|
{{/^rollBetween() dice fumbleVal 20}}
|
|
{{/^rollGreater() threshold 19}}</div>{{/dice}}
|
|
{{#damage}}<div class="sheet-template-row sheet-template-damage"><div class="sheet-template-col">{{damage}}<br/><span data-i18n="rolled"></span></div>{{/damage}}
|
|
{{#knightly}}<div class="sheet-template-row sheet-template-damage"><div class="sheet-template-col">{{knightly}}<br/><span data-i18n="rolled"></span></div>{{/knightly}}
|
|
{{#conflict}}<div class="sheet-template-row sheet-template-damage"><div class="sheet-template-col">{{conflict}}<br/><span data-i18n="rolled"></span></div>{{/conflict}}
|
|
{{#build}}<div class="sheet-template-row sheet-template-damage">{{build}}<br/><span data-i18n="rolled">{{#rollTotal() build 20}}<div class="sheet-rollResult"> <span class="text-center capitalize" data-i18n="disaster"></span></div>{{/rollTotal() build 20}}</span>{{/build}}
|
|
{{#season}}<div class="sheet-template-row sheet-season"><div class="sheet-template-col">{{#rollTotal() season 1}}
|
|
{{season}}<br/><span data-i18n="spring"></span>{{/rollTotal() season 1}}
|
|
{{#rollBetween() season 2 4}}
|
|
{{season}}<br/><span data-i18n="summer"></span>{{/rollBetween() season 2 4}}
|
|
{{#rollBetween() season 5}}
|
|
{{season}}<br/><span data-i18n="autumn"></span>{{/rollBetween() season 5}}
|
|
{{#rollTotal() season 6}}
|
|
{{season}}<br/><span data-i18n="winter"></span>{{/rollTotal() season 6}}</div>{{/season}}</div></div></div></div></div></div>{{#desc}}<div class="sheet-template-row"><span class="sheet-template-desc">{{desc}}</span></div>{{/desc}}</div></div></rolltemplate></div><script type="text/worker">const characteristics = {
|
|
movement: ["strength", "dexterity"],
|
|
hp: ["size", "constitution"],
|
|
unconscious: ["hit_points"],
|
|
knockdown: ["size"],
|
|
majorWound: ["constitution"],
|
|
healingRate: ["constitution"],
|
|
};
|
|
|
|
//When performing calculations in King Arthur Pendragon, round
|
|
//0.5 and higher fractions upward and lesser fractions downward.
|
|
//For example, a character with a Damage value of 4.43 would
|
|
//have an effective value of 4, while a character with a Damage val-
|
|
//ue of 4.5 would have a 5.
|
|
const round = (sum) => (sum % 1 >= 0.5 ? Math.ceil(sum) : Math.floor(sum));
|
|
|
|
const total = (v) =>
|
|
Object.values(v).reduce((partialSum, a) => partialSum + parseFloat(a), 0);
|
|
|
|
characteristics.movement.forEach((attr) => {
|
|
on(`change:${attr}`, () => {
|
|
getAttrs(characteristics.movement, (values) => {
|
|
//Movement Rate = [(STR + DEX) /2] + 5
|
|
setAttrs({
|
|
movement: round(total(values) / 2) + 5,
|
|
});
|
|
});
|
|
});
|
|
});
|
|
|
|
characteristics.healingRate.forEach((attr) => {
|
|
on(`change:${attr}`, ({ newValue }) => {
|
|
//Healing Rate = CON/5
|
|
setAttrs({
|
|
healing_rate: round(newValue / 5),
|
|
});
|
|
});
|
|
});
|
|
|
|
characteristics.hp.forEach((attr) => {
|
|
on(`change:${attr}`, () => {
|
|
getAttrs(characteristics.hp, (values) => {
|
|
//Total Hit Points = CON+SIZ
|
|
setAttrs({
|
|
hit_points: total(values),
|
|
});
|
|
});
|
|
});
|
|
});
|
|
|
|
characteristics.unconscious.forEach((attr) => {
|
|
on(`change:${attr}`, () =>
|
|
getAttrs(characteristics.unconscious, (values) => {
|
|
//Unconscious = Total Hit Points/4
|
|
setAttrs({
|
|
unconscious: round(total(values) / 4),
|
|
});
|
|
})
|
|
);
|
|
});
|
|
|
|
characteristics.knockdown.forEach((attr) => {
|
|
on(`change:${attr}`, ({ newValue }) => {
|
|
setAttrs({
|
|
knockdown: newValue,
|
|
});
|
|
});
|
|
});
|
|
|
|
characteristics.majorWound.forEach((attr) => {
|
|
on(`change:${attr}`, ({ newValue }) => {
|
|
setAttrs({
|
|
[`major_wound`]: newValue,
|
|
});
|
|
});
|
|
});
|
|
|
|
on(`change:sheet_select`, ({ newValue }) => {
|
|
setAttrs({
|
|
sheet_type: newValue === "knight" ? "character" : newValue,
|
|
character_type: "knight",
|
|
});
|
|
});
|
|
|
|
on(`change:repeating_events:new_glory`, ({ triggerName }) => {
|
|
const repeatingRow = helpers.getReprowid(triggerName);
|
|
|
|
getSectionIDs("events", (idArray) => {
|
|
let characteristics = [];
|
|
idArray.forEach((id) =>
|
|
characteristics.push(`repeating_events_${id}_new_glory`)
|
|
);
|
|
|
|
getAttrs(characteristics, (values) => {
|
|
const parsedNums = helpers.parseIntegers(values);
|
|
const gloryValues = Object.values(parsedNums);
|
|
const sum = helpers.sumIntegers(gloryValues);
|
|
|
|
setAttrs({
|
|
glory_total: sum,
|
|
[`${repeatingRow}_total_glory`]: sum,
|
|
});
|
|
});
|
|
});
|
|
});
|
|
const helpers = {
|
|
convertIntegerNegative: (number) => (number > 0 ? -Math.abs(number) : number),
|
|
convertIntegersNegatives: (numbers) => {
|
|
for (let [key, value] of Object.entries(numbers)) {
|
|
numbers[key] = helpers.convertIntegerNegative(value);
|
|
}
|
|
return numbers;
|
|
},
|
|
findRepeatingField: (trigger) => trigger.split("_")[1],
|
|
getReprowid: (trigger) => {
|
|
const split = trigger.split("_");
|
|
return `${split[0]}_${split[1]}_${split[2]}`;
|
|
},
|
|
getReprowAttribute: (key) => {
|
|
const getReprowid = helpers.getReprowid(key);
|
|
return key.split(`${getReprowid}_`)[1];
|
|
},
|
|
getTranslations: (translationKeys) => {
|
|
let translations = {};
|
|
translationKeys.forEach(
|
|
(key) => (translations[`${key}`] = getTranslationByKey(key))
|
|
);
|
|
return translations;
|
|
},
|
|
parseInteger: (string) => parseFloat(string) || 0,
|
|
parseIntegers: (numbers) => {
|
|
for (let [key, value] of Object.entries(numbers)) {
|
|
numbers[key] = parseFloat(value) || 0;
|
|
}
|
|
return numbers;
|
|
},
|
|
setcharacteristics: (update, silent) =>
|
|
silent && typeof update === "object"
|
|
? setAttrs(update, { silent: true })
|
|
: typeof update === "object"
|
|
? setAttrs(update)
|
|
: console.error(`${update} is not an object`),
|
|
sliceAttr: (attribute) => attribute.slice(2, -1),
|
|
sumIntegers: (numbers) => numbers.reduce((a, b) => a + b, 0),
|
|
};
|
|
on("sheet:opened", () => {
|
|
getAttrs(["latest_version_upgrade"], (v) => {
|
|
versioning(parseFloat(v.latest_version_upgrade) || 1);
|
|
});
|
|
});
|
|
|
|
const versioning = (version) => {
|
|
const updateMessage = (version) =>
|
|
console.log(
|
|
`%c Pendragon 6th Edition is updating to ${version}`,
|
|
"color: orange; font-weight:bold"
|
|
);
|
|
|
|
switch (true) {
|
|
case version < 1:
|
|
versioning(1);
|
|
console.log(updateMessage(version));
|
|
break;
|
|
default:
|
|
console.log(
|
|
`%c Pendragon 6th Edition is update to date.`,
|
|
"color: green; font-weight:bold"
|
|
);
|
|
setAttrs({ latest_versioning_upgrade: version });
|
|
}
|
|
};
|
|
</script> |