mirror of
https://github.com/Nighthawk42/roll20-character-sheets.git
synced 2026-09-01 04:32:28 +00:00
Update to allow hiding of sections, fix some bugs, and separate variables and descriptions to their own textareas. Also bug fixes.
242 lines
14 KiB
HTML
242 lines
14 KiB
HTML
<!--Roll20 BESM 3rd Character Sheet, by Tim "Dragynwulf" Reed*//
|
|
//now with nifty CSS by Brian, from https://app.roll20.net/forum/post/882997/css-wizardry/ -->
|
|
|
|
|
|
<div class="sheet-section2">
|
|
<input type="checkbox" class="sheet-arrow" name='attr_showCharInfoSection' checked="true">
|
|
<div class="sheet-header">
|
|
CHARACTER INFO
|
|
</div>
|
|
<div class="sheet-body">
|
|
<div class="sheet-section sheet-table sheet-input-border">
|
|
<div class="sheet-table-row">
|
|
<div class="sheet-table-cell sheet-cell-50 ">NAME: <input type='text' name='attr_name'></div>
|
|
<div class="sheet-table-cell sheet-cell-50">PLAYER: <input type ='text' name = 'attr_playerName'></div>
|
|
</div>
|
|
</div>
|
|
<div class="sheet-section sheet-table sheet-input-border">
|
|
<div class="sheet-table-row">
|
|
<div class="sheet-table-cell sheet-cell-25">AGE:<input type='text' name='attr_age'></div>
|
|
<div class="sheet-table-cell sheet-cell-25">HEIGHT : <input type='text' name='attr_height'></div>
|
|
<div class="sheet-table-cell sheet-cell-25">WEIGHT:<input type='text' name='attr_weight'></div>
|
|
<div class="sheet-table-cell sheet-cell-25">GENDER:<input type='text' name='attr_gender'></div>
|
|
</div>
|
|
</div>
|
|
<div class="sheet-section sheet-table sheet-input-border">
|
|
<div class="sheet-table-row">
|
|
<div class="sheet-table-cell sheet-cell-100">
|
|
DESCRIPTION:<BR>
|
|
<textarea name='attr_characterDescription'></textarea>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
|
|
<div class="sheet-section2">
|
|
|
|
<div class="sheet-table">
|
|
<div class="sheet-table-row">
|
|
<div class="sheet-table-cell sheet-cell-100">
|
|
<input type="checkbox" class="sheet-arrow" name='attr_showPointAlloSection' checked="true">
|
|
<div class="sheet-header">POINT ALLOCATION</div>
|
|
<div class="sheet-body">
|
|
POINTS USED: <input type='number' name='attr_pointCost' value='0'>/
|
|
<input type='number' name='attr_pointMax' value='100'>
|
|
POINTS AVAILABLE: <input type='number' name='attr_pointAvail' value='(@{pointMax}-@{pointCost})' disabled="true">
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<div class="sheet-section2">
|
|
<div class="sheet-table">
|
|
<div class="sheet-table-row">
|
|
<div class="sheet-table-cell sheet-cell-50">
|
|
<div class="sheet-header">CORE VALUES</div>
|
|
<button type='roll' value='&{template:default} {{name=*@{name}* rolls a Body check}} {{result=[[([[2d6]]+[[(@{body})]])]]}}' name='roll_Body'></button>
|
|
BODY: <input type='number' name='attr_body' value='1'>
|
|
<button type='roll' value='&{template:default} {{name=*@{name}* rolls a Mind check}} {{result=[[([[2d6]]+[[(@{mind})]])]]}}' name='roll_Mind'></button>
|
|
MIND: <input type='number' name='attr_mind' value='1'>
|
|
<button type='roll' value='&{template:default} {{name=*@{name}* rolls a Soul check}} {{result=[[([[2d6]]+[[(@{soul})]])]]}}' name='roll_Soul'></button>
|
|
SOUL: <input type='number' name='attr_soul' value='1'>
|
|
</div>
|
|
<div class="sheet-table-cell sheet-cell-50">
|
|
<div class="sheet-header">INITIATIVE</div>
|
|
<button type='roll' value='&{template:default} {{name=*@{name}* rolls for Initiative}} {{result=[[([[2d6]]+[[(@{initiative})]])]]}}' name='roll_Init'></button>
|
|
INITIATIVE: <input type="number" name="attr_initiative" value="(@{ACV})+@{initMod}" disabled="true" /> INIT MOD: <input type='number' name='attr_initMod' value='0'>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="sheet-table">
|
|
<div class="sheet-table-row">
|
|
<div class="sheet-table-cell sheet-cell-100">
|
|
<div class="sheet-subheader">DERIVED VALUES</div>
|
|
<button type='roll' value='&{template:default} {{name=*@{name}* rolls ACV}} {{result=[[([[2d6]]+[[(@{ACV})]])]]}}' name='roll_ACV'></button>
|
|
ACV: <input type="number" name="attr_ACV" value="((floor((@{body}+@{mind}+@{soul})/3))+@{ACVMod})" disabled="true" /> ACV MOD: <input type='number' name='attr_ACVMod' value='0'>
|
|
<button type='roll' value='&{template:default} {{name=*@{name}* rolls DCV}} {{result=[[([[2d6]]+[[(@{DCV})]])]]}}' name='roll_DCV'></button>
|
|
DCV: <input type="number" name="attr_DCV" value="(floor((@{body}+@{mind}+@{soul})/3))+@{DCVMod}" disabled="true" /> DCV MOD: <input type='number' name='attr_DCVMod' value='0'>
|
|
DM: <input type="number" name="attr_DM" value="5+@{DMMod}" disabled="true" /> GLOBAL DM MOD: <input type='number' name='attr_DMMod' value='0'>
|
|
<BR>
|
|
HP: <input type='number' name='attr_HitPoints' value="0">/<input type='number' name='attr_HitPoints_max' value="(floor((@{body}+@{soul})*5))+@{HitPointsMod}" disabled="true"> HP MOD:<input type='number' name='attr_HitPointsMod' value='0'>
|
|
EP: <input type='number' name='attr_EnergyPoints' value="0">/<input type='number' name='attr_EnergyPoints_max' value="(floor((@{body}+@{soul})*5))+@{EnergyPointsMod}" disabled="true"> EP MOD:<input type='number' name='attr_EnergyPointsMod' value='0'>
|
|
SHOCK: <input type="number" name="attr_SV" value="(floor((@{HitPoints_max})/5))+@{SVMod}" disabled="true" /> SV MOD: <input type='number' name='attr_SVMod' value='0'>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<div class="sheet-section2">
|
|
<input type="checkbox" class="sheet-arrow" name='attr_showAttacksSection' checked="true">
|
|
<div class="sheet-header">ATTACKS</div>
|
|
<div class="sheet-table sheet-body">
|
|
<fieldset class="repeating_Attacks">
|
|
<div class="sheet-table-row">
|
|
<div class="sheet-table-cell sheet-cell-100">
|
|
<div class="sheet-section2">
|
|
<button type='roll' value='&{template:default} {{name=*@{name}* attacks with **@{atkname}**}} {{attack=[[([[2d6]]+([[(@{ACV})]]+[[(@{atkACVMod})]]+@{atkAccMod}))]]}} {{damage= [[(@{atkDamage})]]}}' name='roll_Attack'></button>
|
|
NAME:<input type="text" name="attr_atkname">
|
|
LEVEL:<input type="number" name="attr_atkLevel" value="0">
|
|
TOTAL COST:<input type="number" name="attr_atkTotalCost" value="(floor(((@{atkLevel}*2)+@{atkVarCost})/(1+@{atkIsItem})))" disabled="true">
|
|
ITEM?:<input type='checkbox' name='attr_atkIsItem' value='1'>
|
|
<BR>
|
|
DAMAGE:<input type="number" name="attr_atkDamage" value="((@{atkLevel}*(@{atkCumuDM}))+(((@{ACV})+(@{atkACVMod}))*@{atkACVtoDMG})+(@{atkDmgMod}))" disabled="true">
|
|
ACV MOD:<input type="number" name="attr_atkACVMod" value="0">
|
|
ACV to DMG? <input type='checkbox' name='attr_atkACVtoDMG' value='1' checked='true' >
|
|
DM:<input type="number" name="attr_atkCumuDM" value="@{DM}+@{atkDMMod}" disabled="true">
|
|
DM MOD:<input type="number" name="attr_atkDMMod" value="0">
|
|
ATTACK MOD:<input type="number" name="attr_atkAccMod" value="0">
|
|
DAMAGE MOD:<input type="number" name="attr_atkDmgMod" value="0">
|
|
<BR>
|
|
VARIABLES: ↓ VARIABLE COST:<input type="number" name="attr_atkVarCost" value="0">
|
|
<BR>
|
|
<textarea name='attr_atkVariable'></textarea>
|
|
<div class="sheet-section sheet-table sheet-input-border">
|
|
<div class="sheet-table-row">
|
|
<div class="sheet-table-cell sheet-cell-100">
|
|
DESCRIPTION:<BR>
|
|
<textarea name='attr_atkDescription'></textarea>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</fieldset>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="sheet-section2">
|
|
<input type="checkbox" class="sheet-arrow" name='attr_showAttributesSection' checked="true">
|
|
<div class="sheet-header">ATTRIBUTES</div>
|
|
<div class="sheet-table sheet-body">
|
|
<fieldset class="repeating_Attributes">
|
|
<div class="sheet-table-row">
|
|
<div class="sheet-table-cell sheet-cell-100">
|
|
<div class="sheet-section2">
|
|
<button type='roll' value='&{template:default} {{name=*@{name}* uses **@{atrname}**}}{{Level= [[@{atrLevel}]]}}{{Roll = ([[2d6+(@{atrLevel}*@{attrAddLevelToRoll})+(@{attrRelStat})]]) }}{{Variables= @{atrVariable}}}' name='roll_Atr'></button>
|
|
NAME:<input type="text" name="attr_atrname">
|
|
<input type='checkbox' name='attr_attrAddLevelToRoll' value='1' checked='true' >
|
|
LEVEL:<input type="number" name="attr_atrLevel" value="0">
|
|
COST/LEVEL:<input type="number" name="attr_atrLevelCost" value="0">
|
|
TOTAL COST:<input type="number" name="attr_atrTotalCost" value="(floor(((@{atrLevel}*@{atrLevelCost})+@{atrVarCost})/(1+@{attrIsItem})))" disabled="true">
|
|
ITEM?:<input type='checkbox' name='attr_attrIsItem' value='1'>
|
|
<BR>
|
|
<div class="sheet-2colrow">
|
|
<div class="sheet-col">
|
|
VARIABLES: ↓ VARIABLE COST:<input type="number" name="attr_atrVarCost" value="0">
|
|
</div>
|
|
<div class="sheet-col">
|
|
RELEVANT STAT:
|
|
<select name="attr_attrRelStat" type="number">
|
|
<option value="0">N/A</option>
|
|
<option value="@{body}">BODY</option>
|
|
<option value="@{mind}">MIND</option>
|
|
<option value="@{soul}">SOUL</option>
|
|
</select>
|
|
<input type="number" name="attr_atrRelStatValue" value="(@{attrRelStat})" disabled="true">
|
|
</div>
|
|
</div>
|
|
<textarea name='attr_atrVariable'></textarea>
|
|
<div class="sheet-section sheet-table sheet-input-border">
|
|
<div class="sheet-table-row">
|
|
<div class="sheet-table-cell sheet-cell-100">
|
|
DESCRIPTION: ↓<BR>
|
|
<textarea name='attr_AttrDescription'></textarea>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</fieldset>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="sheet-section2">
|
|
<input type="checkbox" class="sheet-arrow" name='attr_showSkillsSection' checked="true">
|
|
<div class="sheet-header">SKILLS</div>
|
|
<div class="sheet-table sheet-body">
|
|
<fieldset class="repeating_Skills">
|
|
<div class="sheet-table-row">
|
|
<div class="sheet-table-cell sheet-cell-100">
|
|
<div class="sheet-section2">
|
|
<button type='roll' value='&{template:default} {{name=*@{name}* uses **@{sklname}**}}{{Level= [[@{sklLevel}]]}}{{Roll = [[2d6+(@{sklRelStat})+@{sklLevel}]]}}{{Specializations= @{sklSpecializations}}}' name='roll_Skl'></button>
|
|
NAME:<input type="text" name="attr_sklname">
|
|
LEVEL:<input type="number" name="attr_sklLevel" value="0">
|
|
COST/LEVEL:<input type="number" name="attr_sklLevelCost" value="0">
|
|
TOTAL COST:<input type="number" name="attr_sklTotalCost" value="(@{sklLevel}*@{sklLevelCost})+@{sklVarCost}" disabled="true">
|
|
<BR>
|
|
<div class="sheet-2colrow">
|
|
<div class="sheet-col">
|
|
SPECIALIZATIONS: ↓ SPECIALIZATION COST:<input type="number" name="attr_sklVarCost" value="0">
|
|
</div>
|
|
<div class="sheet-col">
|
|
RELEVANT STAT:
|
|
<select name="attr_sklRelStat" type="number">
|
|
<option value="0">N/A</option>
|
|
<option value="@{body}">BODY</option>
|
|
<option value="@{mind}">MIND</option>
|
|
<option value="@{soul}">SOUL</option>
|
|
</select>
|
|
<input type="number" name="attr_sklRelStatValue" value="(@{sklRelStat})" disabled="true">
|
|
</div>
|
|
</div>
|
|
<textarea name='attr_sklSpecializations'></textarea>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</fieldset>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="sheet-section2">
|
|
<input type="checkbox" class="sheet-arrow" name='attr_showDefectsSection' checked="true">
|
|
<div class="sheet-header">DEFECTS</div>
|
|
<div class="sheet-table sheet-body">
|
|
<fieldset class="repeating_Defects">
|
|
<div class="sheet-table-row">
|
|
<div class="sheet-table-cell sheet-cell-100">
|
|
<div class="sheet-section2">
|
|
<button type='roll' value='&{template:default} {{name=*@{name}* has **@{dfctname}**}}{{Value= [[@{DefectValue}]]}}{{Details= @{dfctDesc}}}' name='roll_Defect'></button>
|
|
NAME:<input type="text" name="attr_dfctname">
|
|
VALUE:<input type="number" name="attr_DefectValue" value="0">
|
|
<BR>
|
|
DESCRIPTION AND DETAILS:
|
|
<BR>
|
|
<textarea name='attr_dfctDesc'></textarea>
|
|
<BR>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</fieldset>
|
|
</div>
|
|
</div>
|