mirror of
https://github.com/Nighthawk42/roll20-character-sheets.git
synced 2026-08-30 19:52:29 +00:00
2945 lines
127 KiB
HTML
2945 lines
127 KiB
HTML
|
|
<div class="container-fluid">
|
|
<h1>Gamma World 3e</h1>
|
|
<label class="tab">
|
|
<input class="pageToggle" type="radio" value="1" name="attr_pageToggle"/><span>PC</span>
|
|
</label>
|
|
<label class="tab">
|
|
<input class="pageToggle" type="radio" value="2" name="attr_pageToggle"/><span>Monster</span>
|
|
</label>
|
|
<label class="tab">
|
|
<input class="pageToggle" type="radio" value="3" name="attr_pageToggle"/><span>Roll-up</span>
|
|
</label>
|
|
<div>
|
|
<input class="pageToggle" type="hidden" name="attr_pageToggle" value="1"/>
|
|
<div class="tab1">
|
|
<div class="sheet-container">
|
|
<div class="row">
|
|
<div class="col-xs-4">
|
|
<div class="row middle-xs">
|
|
<div class="col-xs-2">
|
|
<label>Name:</label>
|
|
</div>
|
|
<div class="col-xs-10">
|
|
<input type="text" name="attr_character_name" title="@{character_name}"/>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-xs-3">
|
|
<div class="row middle-xs">
|
|
<div class="col-xs-2">
|
|
<label>XP:</label>
|
|
</div>
|
|
<div class="col-xs-4">
|
|
<input type="number" name="attr_character_xp" title="@{XP}"/>
|
|
</div>
|
|
<div class="col-xs-3">
|
|
<label>Rank:</label>
|
|
</div>
|
|
<div class="col-xs-3">
|
|
<input type="number" name="attr_character_rank" title="@{character_rank}" value="1"/>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-xs-5">
|
|
<div class="row middle-xs">
|
|
<div class="col-xs-2">
|
|
<label>Size:</label>
|
|
</div>
|
|
<div class="col-xs-3">
|
|
<select name="attr_character_size" title="@{size}" value="3">
|
|
<option value="1">Tiny</option>
|
|
<option value="2">Small</option>
|
|
<option value="3">Medium</option>
|
|
<option value="4">Large</option>
|
|
<option value="5">Huge</option>
|
|
</select>
|
|
</div>
|
|
<div class="col-xs-2">
|
|
<label>Type:</label>
|
|
</div>
|
|
<div class="col-xs-5">
|
|
<select name="attr_character_type" title="@{character_type}">
|
|
<option value="1">Pure Strain Human</option>
|
|
<option value="2">Mutated Human</option>
|
|
<option value="3">Mutated Animal</option>
|
|
<option value="4">Mutated Plant</option>
|
|
</select>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row middle-xs underline">
|
|
<div class="col-xs-1">
|
|
<label>Age:</label>
|
|
</div>
|
|
<div class="col-xs-1">
|
|
<input type="number" name="attr_character_age"/>
|
|
</div>
|
|
<div class="col-xs-1">
|
|
<label>Gender:</label>
|
|
</div>
|
|
<div class="col-xs-1">
|
|
<input type="text" name="attr_character_gender"/>
|
|
</div>
|
|
<div class="col-xs-1">
|
|
<label>Height:</label>
|
|
</div>
|
|
<div class="col-xs-1">
|
|
<input type="number" name="attr_character_height" step="0.01"/>
|
|
</div>
|
|
<div class="col-xs-1">
|
|
<label>Weight:</label>
|
|
</div>
|
|
<div class="col-xs-1">
|
|
<input type="number" name="attr_character_weight" step="0.01"/>
|
|
</div>
|
|
<div class="col-xs-1">
|
|
<label>Status:</label>
|
|
</div>
|
|
<div class="col-xs-1">
|
|
<input type="number" name="attr_character_status"/>
|
|
</div>
|
|
<div class="col-xs-1">
|
|
<label>Tech Lvl.:</label>
|
|
</div>
|
|
<div class="col-xs-1">
|
|
<select name="attr_character_tech_level" title="@{character_tech_level}">
|
|
<option value="1">I</option>
|
|
<option value="2">II</option>
|
|
<option value="3">III</option>
|
|
<option value="4">IV</option>
|
|
<option value="5">V</option>
|
|
</select>
|
|
</div>
|
|
</div>
|
|
<div class="row top-xs">
|
|
<div class="col-xs-8">
|
|
<div class="row underline">
|
|
<div class="col-xs-12">
|
|
<input class="rollSwitch" type="hidden" name="attr_rollSwitch" value="0"/>
|
|
<div class="row pre-rolled">
|
|
<div class="col-xs-12"></div>
|
|
</div>
|
|
<div class="row post-rolled">
|
|
<div class="col-xs-6 post-rolled">
|
|
<h2>Physical Abilities</h2>
|
|
<div class="row">
|
|
<div class="col-xs-1"></div>
|
|
<div class="col-xs-2" title="Current Score">Cur.</div>
|
|
<div class="col-xs-2" title="Initially Rolled Score">Orig.</div>
|
|
<div class="col-xs-2" title="Character Advancement">Adv.</div>
|
|
<div class="col-xs-2" title="Temporary Change">Tmp.</div>
|
|
<div class="col-xs-2" title="Score Modifier">Mod.</div>
|
|
<div class="col-xs-1 padless">Roll</div>
|
|
</div>
|
|
<div class="row middle-xs">
|
|
<div class="col-xs-1">
|
|
<label class="ability">PS</label>
|
|
</div>
|
|
<div class="col-xs-2">
|
|
<input type="hidden" name="attr_PS" title="@{PS}"/><span class="emphasis" name="attr_PS"></span>
|
|
</div>
|
|
<div class="col-xs-2">
|
|
<input type="hidden" name="attr_PS_rolled" title="@{PS_rolled}"/><span name="attr_PS_rolled"></span>
|
|
</div>
|
|
<div class="col-xs-2">
|
|
<input type="number" name="attr_PS_advanced" value="0" title="@{PS_advanced}"/>
|
|
</div>
|
|
<div class="col-xs-2">
|
|
<input type="number" name="attr_PS_tmp" value="0" title="@{PS_tmp}"/>
|
|
</div>
|
|
<div class="col-xs-2">
|
|
<input type="hidden" name="attr_PS_modifier" value="0" title="@{PS_modifier}"/>
|
|
<input type="number" name="attr_PS_mod" value="@{PS_modifier}" disabled="true"/>
|
|
</div>
|
|
<div class="col-xs-1 padless">
|
|
<button type="roll" name="roll_PS" value="!gw act @{PS} CS|?{CS|0} title|Physical character|@{character_id}"></button>
|
|
</div>
|
|
</div>
|
|
<div class="row middle-xs">
|
|
<div class="col-xs-1">
|
|
<label class="ability">DX</label>
|
|
</div>
|
|
<div class="col-xs-2">
|
|
<input type="hidden" name="attr_DX" title="@{DX}"/><span class="emphasis" name="attr_DX"></span>
|
|
</div>
|
|
<div class="col-xs-2">
|
|
<input type="hidden" name="attr_DX_rolled" title="@{DX_rolled}"/><span name="attr_DX_rolled"></span>
|
|
</div>
|
|
<div class="col-xs-2">
|
|
<input type="number" name="attr_DX_advanced" value="0" title="@{DX_advanced}"/>
|
|
</div>
|
|
<div class="col-xs-2">
|
|
<input type="number" name="attr_DX_tmp" value="0" title="@{DX_tmp}"/>
|
|
</div>
|
|
<div class="col-xs-2">
|
|
<input type="hidden" name="attr_DX_modifier" value="0" title="@{DX_modifier}"/>
|
|
<input type="number" name="attr_DX_mod" value="@{DX_modifier}" disabled="true"/>
|
|
</div>
|
|
<div class="col-xs-1 padless">
|
|
<button type="roll" name="roll_DX" value="!gw act @{DX} CS|?{CS|0} title|Dexterity character|@{character_id}"></button>
|
|
</div>
|
|
</div>
|
|
<div class="row middle-xs">
|
|
<div class="col-xs-1">
|
|
<label class="ability">CN</label>
|
|
</div>
|
|
<div class="col-xs-2">
|
|
<input type="hidden" name="attr_CN" title="@{CN}"/><span class="emphasis" name="attr_CN"></span>
|
|
</div>
|
|
<div class="col-xs-2">
|
|
<input type="hidden" name="attr_CN_rolled" title="@{CN_rolled}"/><span name="attr_CN_rolled"></span>
|
|
</div>
|
|
<div class="col-xs-2">
|
|
<input type="number" name="attr_CN_advanced" value="0" title="@{CN_advanced}"/>
|
|
</div>
|
|
<div class="col-xs-2">
|
|
<input type="number" name="attr_CN_tmp" value="0" title="@{CN_tmp}"/>
|
|
</div>
|
|
<div class="col-xs-2">
|
|
<input type="hidden" name="attr_CN_modifier" value="0" title="@{CN_modifier}"/>
|
|
<input type="number" name="attr_CN_mod" value="@{CN_modifier}" disabled="true"/>
|
|
</div>
|
|
<div class="col-xs-1 padless">
|
|
<button type="roll" name="roll_CN" value="!gw act @{CN} CS|?{CS|0} title|Constitution character|@{character_id}"></button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-xs-6 post">
|
|
<h2>Mental Abilities</h2>
|
|
<div class="row">
|
|
<div class="col-xs-1"></div>
|
|
<div class="col-xs-2" title="Current Score">Cur.</div>
|
|
<div class="col-xs-2" title="Initially Rolled Score">Orig.</div>
|
|
<div class="col-xs-2" title="Character Advancement">Adv.</div>
|
|
<div class="col-xs-2" title="Temporary Change">Tmp.</div>
|
|
<div class="col-xs-2" title="Score Modifier">Mod.</div>
|
|
<div class="col-xs-1 padless">Roll</div>
|
|
</div>
|
|
<div class="row middle-xs">
|
|
<div class="col-xs-1">
|
|
<label class="ability">IN</label>
|
|
</div>
|
|
<div class="col-xs-2">
|
|
<input type="hidden" name="attr_IN" title="@{IN}"/><span class="emphasis" name="attr_IN"></span>
|
|
</div>
|
|
<div class="col-xs-2">
|
|
<input type="hidden" name="attr_IN_rolled" title="@{IN_rolled}"/><span name="attr_IN_rolled"></span>
|
|
</div>
|
|
<div class="col-xs-2">
|
|
<input type="number" name="attr_IN_advanced" value="0" title="@{IN_advanced}"/>
|
|
</div>
|
|
<div class="col-xs-2">
|
|
<input type="number" name="attr_IN_tmp" value="0" title="@{IN_tmp}"/>
|
|
</div>
|
|
<div class="col-xs-2">
|
|
<input type="hidden" name="attr_IN_modifier" value="0" title="@{IN_modifier}"/>
|
|
<input type="number" name="attr_IN_mod" value="@{IN_modifier}" disabled="true"/>
|
|
</div>
|
|
<div class="col-xs-1 padless">
|
|
<button type="roll" name="roll_IN" value="!gw act @{IN} CS|?{CS|0} title|Intelligence character|@{character_id}"></button>
|
|
</div>
|
|
</div>
|
|
<div class="row middle-xs">
|
|
<div class="col-xs-1">
|
|
<label class="ability">MS</label>
|
|
</div>
|
|
<div class="col-xs-2">
|
|
<input type="hidden" name="attr_MS" title="@{MS}"/><span class="emphasis" name="attr_MS"></span>
|
|
</div>
|
|
<div class="col-xs-2">
|
|
<input type="hidden" name="attr_MS_rolled" title="@{MS_rolled}"/><span name="attr_MS_rolled"></span>
|
|
</div>
|
|
<div class="col-xs-2">
|
|
<input type="number" name="attr_MS_advanced" value="0" title="@{MS_advanced}"/>
|
|
</div>
|
|
<div class="col-xs-2">
|
|
<input type="number" name="attr_MS_tmp" value="0" title="@{MS_tmp}"/>
|
|
</div>
|
|
<div class="col-xs-2">
|
|
<input type="hidden" name="attr_MS_modifier" value="0" title="@{MS_modifier}"/>
|
|
<input type="number" name="attr_MS_mod" value="@{MS_modifier}" disabled="true"/>
|
|
</div>
|
|
<div class="col-xs-1 padless">
|
|
<button type="roll" name="roll_MS" value="!gw act @{MS} CS|?{CS|0} title|Mental_Strength character|@{character_id}"></button>
|
|
</div>
|
|
</div>
|
|
<div class="row middle-xs">
|
|
<div class="col-xs-1">
|
|
<label class="ability">CH</label>
|
|
</div>
|
|
<div class="col-xs-2">
|
|
<input type="hidden" name="attr_CH" title="@{CH}"/><span class="emphasis" name="attr_CH"></span>
|
|
</div>
|
|
<div class="col-xs-2">
|
|
<input type="hidden" name="attr_CH_rolled" title="@{CH_rolled}"/><span name="attr_CH_rolled"></span>
|
|
</div>
|
|
<div class="col-xs-2">
|
|
<input type="number" name="attr_CH_advanced" value="0" title="@{CH_advanced}"/>
|
|
</div>
|
|
<div class="col-xs-2">
|
|
<input type="number" name="attr_CH_tmp" value="0" title="@{CH_tmp}"/>
|
|
</div>
|
|
<div class="col-xs-2">
|
|
<input type="hidden" name="attr_CH_modifier" value="0" title="@{CH_modifier}"/>
|
|
<input type="number" name="attr_CH_mod" value="@{CH_modifier}" disabled="true"/>
|
|
</div>
|
|
<div class="col-xs-1 padless">
|
|
<button type="roll" name="roll_CH" value="!gw act @{CH} CS|?{CS|0} title|Charsima character|@{character_id}"></button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row underline">
|
|
<div class="col-xs-12">
|
|
<h2>Mutations</h2>
|
|
<div class="row middle-xs">
|
|
<div class="col-xs-3">
|
|
<label>Name</label>
|
|
</div>
|
|
<div class="col-xs-2">
|
|
<label>Type</label>
|
|
</div>
|
|
<div class="col-xs-2">
|
|
<label>Use</label>
|
|
</div>
|
|
<div class="col-xs-1">
|
|
<label>Range</label>
|
|
</div>
|
|
<div class="col-xs-1">
|
|
<label>Rank</label>
|
|
</div>
|
|
<div class="col-xs-1">
|
|
<label>Dmg.</label>
|
|
</div>
|
|
</div>
|
|
<fieldset class="repeating_mutations">
|
|
<div class="row">
|
|
<div class="col-xs-3">
|
|
<input type="text" name="attr_name"/>
|
|
</div>
|
|
<div class="col-xs-2">
|
|
<select name="attr_type">
|
|
<option value="physical">Physical</option>
|
|
<option value="mental">Mental</option>
|
|
<option value="defect">Defect</option>
|
|
</select>
|
|
</div>
|
|
<div class="col-xs-2">
|
|
<input type="text" name="attr_use"/>
|
|
</div>
|
|
<div class="col-xs-1">
|
|
<input type="text" name="attr_range"/>
|
|
</div>
|
|
<div class="col-xs-1">
|
|
<input type="number" name="attr_rank"/>
|
|
</div>
|
|
<div class="col-xs-1">
|
|
<input type="text" name="attr_dmg"/>
|
|
</div>
|
|
<div class="col-xs-1">
|
|
<input type="hidden" name="attr_id"/>
|
|
<input type="hidden" name="attr_ref"/>
|
|
<button type="roll" name="roll_mutation" value="!gw act @{rank} CS|?{CS|0} id|@{ref} title|ref describe|@{describe} category|mutations save|@{save} effect|@{effect} effect_crit|@{effect_crit} dmg|@{dmg} dmg_type|@{dmg_type} mod|@{modifier} character|@{character_id} target_id|@{target|target1|token_id} "></button>
|
|
</div>
|
|
</div>
|
|
<input class="short options-flag options-flag" type="checkbox" name="attr_options-flag"/><span>y</span>
|
|
<div class="options">
|
|
<div class="row middle-xs">
|
|
<div class="col-xs-1">
|
|
<label>Mod.</label>
|
|
</div>
|
|
<div class="col-xs-2">
|
|
<input type="hidden" name="attr_effect"/>
|
|
<input type="hidden" name="attr_effect_crit"/>
|
|
<input type="hidden" name="attr_dmg_type"/>
|
|
<select name="attr_modifier">
|
|
<option value="PS">PS</option>
|
|
<option value="DX">DX</option>
|
|
<option value="CN">CN</option>
|
|
<option value="IN">IN</option>
|
|
<option value="MS">MS</option>
|
|
<option value="CH">CH</option>
|
|
</select>
|
|
</div>
|
|
<div class="col-xs-2">
|
|
<label>Targets</label>
|
|
</div>
|
|
<div class="col-xs-2">
|
|
<input type="text" name="attr_number"/>
|
|
</div>
|
|
<div class="col-xs-2">
|
|
<label>Effort</label>
|
|
</div>
|
|
<div class="col-xs-3">
|
|
<select name="attr_effort">
|
|
<option value="passive">Subconscious</option>
|
|
<option value="active">Conscious</option>
|
|
</select>
|
|
</div>
|
|
</div>
|
|
<div class="row middle-xs">
|
|
<div class="col-xs-1">
|
|
<label>Save</label>
|
|
</div>
|
|
<div class="col-xs-2">
|
|
<select name="attr_save">
|
|
<option value="PS">PS</option>
|
|
<option value="DX">DX</option>
|
|
<option value="CN">CN</option>
|
|
<option value="IN">IN</option>
|
|
<option value="MS">MS</option>
|
|
<option value="CH">CH</option>
|
|
</select>
|
|
</div>
|
|
<div class="col-xs-2">
|
|
<label>Duration</label>
|
|
</div>
|
|
<div class="col-xs-2">
|
|
<input type="text" name="attr_duration"/>
|
|
</div>
|
|
</div>
|
|
<div class="row middle-xs">
|
|
<div class="col-xs-1">
|
|
<label>Effect</label>
|
|
</div>
|
|
<div class="col-xs-2">
|
|
<select name="attr_effect" value="0">
|
|
<option value="0">None</option>
|
|
<option value="accrit">AC Critical</option>
|
|
<option value="burn">Burn</option>
|
|
<option value="cold">Cold</option>
|
|
<option value="compa">Comp. A</option>
|
|
<option value="compc">Comp. C</option>
|
|
<option value="critical">Critical</option>
|
|
<option value="delirium">Delirium</option>
|
|
<option value="disintegrate">Disintegrate</option>
|
|
<option value="domination">Domination</option>
|
|
<option value="electrical">Electrical</option>
|
|
<option value="fatal">Fatal</option>
|
|
<option value="fieldnegate">Field Negate</option>
|
|
<option value="fumes">Fumes</option>
|
|
<option value="heat">Heat</option>
|
|
<option value="extrarf">Hits +1RF</option>
|
|
<option value="ignites">Ignites</option>
|
|
<option value="ignoresac">Ignores AC</option>
|
|
<option value="intercept">Intercept</option>
|
|
<option value="irritant">Irritant</option>
|
|
<option value="knockdown">Knock Down</option>
|
|
<option value="ko">Knock Out</option>
|
|
<option value="mutate">Mutate</option>
|
|
<option value="paralysis">Paralysis</option>
|
|
<option value="poison">Poison</option>
|
|
<option value="powerdrain">Power Drain</option>
|
|
<option value="radiation">Radiation</option>
|
|
<option value="scatter">Scatter</option>
|
|
<option value="seeker">Seeker</option>
|
|
<option value="shortout">Short Out</option>
|
|
<option value="slam">Slam</option>
|
|
<option value="sonic">Sonic</option>
|
|
<option value="stun">Stun</option>
|
|
<option value="subsonics">Subsonics</option>
|
|
<option value="tangle">Tangle</option>
|
|
</select>
|
|
</div>
|
|
<div class="col-xs-2">Critical</div>
|
|
<div class="col-xs-2">
|
|
<select name="attr_effect_crit" value="0">
|
|
<option value="0">None</option>
|
|
<option value="accrit">AC Critical</option>
|
|
<option value="burn">Burn</option>
|
|
<option value="cold">Cold</option>
|
|
<option value="compa">Comp. A</option>
|
|
<option value="compc">Comp. C</option>
|
|
<option value="critical">Critical</option>
|
|
<option value="delirium">Delirium</option>
|
|
<option value="disintegrate">Disintegrate</option>
|
|
<option value="domination">Domination</option>
|
|
<option value="electrical">Electrical</option>
|
|
<option value="fatal">Fatal</option>
|
|
<option value="fieldnegate">Field Negate</option>
|
|
<option value="fumes">Fumes</option>
|
|
<option value="heat">Heat</option>
|
|
<option value="extrarf">Hits +1 RF</option>
|
|
<option value="ignites">Ignites</option>
|
|
<option value="ignoresac">Ignores AC</option>
|
|
<option value="intercept">Intercept</option>
|
|
<option value="irritant">Irritant</option>
|
|
<option value="knockdown">Knock Down</option>
|
|
<option value="ko">Knock Out</option>
|
|
<option value="mutate">Mutate</option>
|
|
<option value="paralysis">Paralysis</option>
|
|
<option value="poison">Poison</option>
|
|
<option value="powerdrain">Power Drain</option>
|
|
<option value="radiation">Radiation</option>
|
|
<option value="scatter">Scatter</option>
|
|
<option value="seeker">Seeker</option>
|
|
<option value="shortout">Short Out</option>
|
|
<option value="slam">Slam</option>
|
|
<option value="sonic">Sonic</option>
|
|
<option value="stun">Stun</option>
|
|
<option value="subsonics">Subsonics</option>
|
|
<option value="tangle">Tangle</option>
|
|
</select>
|
|
</div>
|
|
<div class="col-xs-12">
|
|
<label>Description</label>
|
|
</div>
|
|
<div class="col-xs-12">
|
|
<textarea name="attr_description"></textarea>
|
|
</div>
|
|
<div class="col-xs-12">Show description on roll
|
|
<input class="short check-flag" type="checkbox" name="attr_describe"/>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</fieldset>
|
|
</div>
|
|
</div>
|
|
<div class="row underline">
|
|
<div class="col-xs-12">
|
|
<h2>Attacks</h2>
|
|
<div class="row middle-xs">
|
|
<div class="col-xs-5">
|
|
<label>Name</label>
|
|
</div>
|
|
<div class="col-xs-2">
|
|
<label>Mod.</label>
|
|
</div>
|
|
<div class="col-xs-1">
|
|
<label>Range</label>
|
|
</div>
|
|
<div class="col-xs-1">
|
|
<label>Dmg.</label>
|
|
</div>
|
|
<div class="col-xs-1">
|
|
<label>Skill</label>
|
|
</div>
|
|
</div>
|
|
<fieldset class="repeating_attacks">
|
|
<div class="row">
|
|
<div class="col-xs-5">
|
|
<input type="text" name="attr_name"/>
|
|
</div>
|
|
<div class="col-xs-2">
|
|
<select name="attr_modifier">
|
|
<option value="PS">PS</option>
|
|
<option value="DX">DX</option>
|
|
<option value="CN">CN</option>
|
|
<option value="IN">IN</option>
|
|
<option value="MS">MS</option>
|
|
<option value="CH">CH</option>
|
|
</select>
|
|
</div>
|
|
<div class="col-xs-1">
|
|
<input type="text" name="attr_range"/>
|
|
</div>
|
|
<div class="col-xs-1">
|
|
<input type="text" name="attr_dmg"/>
|
|
</div>
|
|
<div class="col-xs-1">
|
|
<input type="hidden" name="attr_ref"/>
|
|
<input type="text" name="attr_rank"/>
|
|
</div>
|
|
<div class="col-xs-1">
|
|
<button type="roll" name="roll_attack" value="!gw act @{rank} CS|?{CS|0} id|@{ref} title|ref category|attacks effect|@{effect} effect_crit|@{effect_crit} dmg|@{dmg} skilldmg|@{skilldmg} mod|@{modifier} skill|@{skill} tech|@{tech} type|@{type} character|@{character_id} target_id|@{target|target1|token_id}"></button>
|
|
</div>
|
|
</div>
|
|
<input class="short options-flag options-flag" type="checkbox" name="attr_options-flag"/><span>y</span>
|
|
<div class="options">
|
|
<div class="col-xs-12">
|
|
<div class="row middle-xs">
|
|
<div class="col-xs-1">Type</div>
|
|
<div class="col-xs-3">
|
|
<select name="attr_type">
|
|
<option value="brawling">Brawling</option>
|
|
<option value="charging">Charging</option>
|
|
<option value="grappling">Grappling</option>
|
|
<option value="distracting">Distracting</option>
|
|
<option value="dodging">Dodging</option>
|
|
<option value="evasion">Evasion</option>
|
|
<option value="feinting">Feinting</option>
|
|
<option value="martialarts">Martial Arts</option>
|
|
<option value="melee">Melee</option>
|
|
<option value="shooting">Shooting</option>
|
|
<option value="calledshot">Called Shot</option>
|
|
<option value="crowdfire">Firing into Crowd</option>
|
|
<option value="parrying">Parrying</option>
|
|
<option value="throwing">Throwing</option>
|
|
</select>
|
|
</div>
|
|
<div class="col-xs-1">Skill</div>
|
|
<div class="col-xs-2">
|
|
<select name="attr_skill">
|
|
<option value="brawling">Brawling</option>
|
|
<option value="martialarts">Martial Arts</option>
|
|
<option value="melee">Melee</option>
|
|
<option value="riding">Riding</option>
|
|
<option value="throwing">Throwing</option>
|
|
</select>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-xs-12">
|
|
<div class="row middle-xs">
|
|
<div class="col-xs-2">Effect</div>
|
|
<div class="col-xs-2">
|
|
<select name="attr_effect" value="0">
|
|
<option value="0">None</option>
|
|
<option value="accrit">AC Critical</option>
|
|
<option value="burn">Burn</option>
|
|
<option value="cold">Cold</option>
|
|
<option value="compa">Comp. A</option>
|
|
<option value="compc">Comp. C</option>
|
|
<option value="critical">Critical</option>
|
|
<option value="delirium">Delirium</option>
|
|
<option value="disintegrate">Disintegrate</option>
|
|
<option value="domination">Domination</option>
|
|
<option value="electrical">Electrical</option>
|
|
<option value="fatal">Fatal</option>
|
|
<option value="fieldnegate">Field Negate</option>
|
|
<option value="fumes">Fumes</option>
|
|
<option value="heat">Heat</option>
|
|
<option value="extrarf">Hits +1RF</option>
|
|
<option value="ignites">Ignites</option>
|
|
<option value="ignoresac">Ignores AC</option>
|
|
<option value="intercept">Intercept</option>
|
|
<option value="irritant">Irritant</option>
|
|
<option value="knockdown">Knock Down</option>
|
|
<option value="ko">Knock Out</option>
|
|
<option value="mutate">Mutate</option>
|
|
<option value="paralysis">Paralysis</option>
|
|
<option value="poison">Poison</option>
|
|
<option value="powerdrain">Power Drain</option>
|
|
<option value="radiation">Radiation</option>
|
|
<option value="scatter">Scatter</option>
|
|
<option value="seeker">Seeker</option>
|
|
<option value="shortout">Short Out</option>
|
|
<option value="slam">Slam</option>
|
|
<option value="sonic">Sonic</option>
|
|
<option value="stun">Stun</option>
|
|
<option value="subsonics">Subsonics</option>
|
|
<option value="tangle">Tangle</option>
|
|
</select>
|
|
</div>
|
|
<div class="col-xs-2">Critical</div>
|
|
<div class="col-xs-2">
|
|
<select name="attr_effect_crit" value="0">
|
|
<option value="0">None</option>
|
|
<option value="accrit">AC Critical</option>
|
|
<option value="burn">Burn</option>
|
|
<option value="cold">Cold</option>
|
|
<option value="compa">Comp. A</option>
|
|
<option value="compc">Comp. C</option>
|
|
<option value="critical">Critical</option>
|
|
<option value="delirium">Delirium</option>
|
|
<option value="disintegrate">Disintegrate</option>
|
|
<option value="domination">Domination</option>
|
|
<option value="electrical">Electrical</option>
|
|
<option value="fatal">Fatal</option>
|
|
<option value="fieldnegate">Field Negate</option>
|
|
<option value="fumes">Fumes</option>
|
|
<option value="heat">Heat</option>
|
|
<option value="extrarf">Hits +1 RF</option>
|
|
<option value="ignites">Ignites</option>
|
|
<option value="ignoresac">Ignores AC</option>
|
|
<option value="intercept">Intercept</option>
|
|
<option value="irritant">Irritant</option>
|
|
<option value="knockdown">Knock Down</option>
|
|
<option value="ko">Knock Out</option>
|
|
<option value="mutate">Mutate</option>
|
|
<option value="paralysis">Paralysis</option>
|
|
<option value="poison">Poison</option>
|
|
<option value="powerdrain">Power Drain</option>
|
|
<option value="radiation">Radiation</option>
|
|
<option value="scatter">Scatter</option>
|
|
<option value="seeker">Seeker</option>
|
|
<option value="shortout">Short Out</option>
|
|
<option value="slam">Slam</option>
|
|
<option value="sonic">Sonic</option>
|
|
<option value="stun">Stun</option>
|
|
<option value="subsonics">Subsonics</option>
|
|
<option value="tangle">Tangle</option>
|
|
</select>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-xs-12">
|
|
<div class="row middle-xs">
|
|
<div class="col-xs-2">Tech Lvl.</div>
|
|
<div class="col-xs-2">
|
|
<select name="attr_tech">
|
|
<option value="1">I</option>
|
|
<option value="2">II</option>
|
|
<option value="3">III</option>
|
|
<option value="4">IV</option>
|
|
<option value="5">V</option>
|
|
</select>
|
|
<input type="number" name="attr_tech"/>
|
|
</div>
|
|
<div class="col-xs-2">Tech Rank</div>
|
|
<div class="col-xs-2">
|
|
<select name="attr_tech_rank">
|
|
<option value="N">N</option>
|
|
<option value="A">A</option>
|
|
<option value="B">B</option>
|
|
<option value="C">C</option>
|
|
<option value="D">D</option>
|
|
<option value="E">E</option>
|
|
<option value="F">F</option>
|
|
<option value="G">G</option>
|
|
<option value="H">H</option>
|
|
<option value="I">I</option>
|
|
<option value="J">J</option>
|
|
</select>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-xs-12">Add attack rank to damage
|
|
<input class="short check-flag" type="checkbox" name="attr_skilldmg"/>
|
|
</div>
|
|
<div class="col-xs-12">Notes</div>
|
|
<div class="col-xs-12">
|
|
<textarea name="attr_notes"></textarea>
|
|
</div>
|
|
</div>
|
|
</fieldset>
|
|
</div>
|
|
</div>
|
|
<div class="row underline">
|
|
<div class="col-xs-12">
|
|
<h2>Armour</h2>
|
|
<div class="row middle-xs">
|
|
<div class="col-xs-5">
|
|
<label>Type</label>
|
|
</div>
|
|
<div class="col-xs-2">
|
|
<label>RF</label>
|
|
</div>
|
|
<div class="col-xs-2">
|
|
<label>DR</label>
|
|
</div>
|
|
<div class="col-xs-1">
|
|
<label>Wt.</label>
|
|
</div>
|
|
<div class="col-xs-1">
|
|
<label>√</label>
|
|
</div>
|
|
</div>
|
|
<fieldset class="repeating_armour">
|
|
<div class="row">
|
|
<div class="col-xs-5">
|
|
<input type="text" name="attr_name"/>
|
|
</div>
|
|
<div class="col-xs-2">
|
|
<input type="text" name="attr_RF_physical" value="0"/>
|
|
</div>
|
|
<div class="col-xs-2">
|
|
<input type="text" name="attr_DR_physical" value="0"/>
|
|
</div>
|
|
<div class="col-xs-1">
|
|
<input type="number" name="attr_weight" value="0" step="0.01"/>
|
|
</div>
|
|
<div class="col-xs-1">
|
|
<input type="checkbox" name="attr_equipped" value="1" checked="true"/>
|
|
</div>
|
|
</div>
|
|
<input class="short options-flag options-flag" type="checkbox" name="attr_options-flag"/><span>y</span>
|
|
<div class="options">
|
|
<div class="row middle-xs">
|
|
<div class="col-xs-1">Notes</div>
|
|
<div class="col-xs-6">
|
|
<input type="text" name="attr_notes"/>
|
|
</div>
|
|
<div class="col-xs-1">Tech Lvl.</div>
|
|
<div class="col-xs-2">
|
|
<select name="attr_tech">
|
|
<option value="0">None</option>
|
|
<option value="1">I</option>
|
|
<option value="2">II</option>
|
|
<option value="3">III</option>
|
|
<option value="4">IV</option>
|
|
<option value="5">V</option>
|
|
</select>
|
|
</div>
|
|
<div class="col-xs-1">Tech Rank</div>
|
|
<div class="col-xs-1">
|
|
<select name="attr_tech_rank">
|
|
<option value="N">N</option>
|
|
<option value="A">A</option>
|
|
<option value="B">B</option>
|
|
<option value="C">C</option>
|
|
<option value="D">D</option>
|
|
<option value="E">E</option>
|
|
<option value="F">F</option>
|
|
<option value="G">G</option>
|
|
<option value="H">H</option>
|
|
<option value="I">I</option>
|
|
<option value="J">J</option>
|
|
</select>
|
|
</div>
|
|
</div>
|
|
<div class="row middle-xs">
|
|
<div class="col-xs-12">Powered
|
|
<input class="short check-flag" type="checkbox" name="attr_powered"/>
|
|
<div class="check-options">
|
|
<div class="row">
|
|
<input type="hidden" name="attr_covers"/>
|
|
<input type="hidden" name="attr_DR_energy" value="0"/>
|
|
<input type="hidden" name="attr_jump" value="0"/>
|
|
<input type="hidden" name="attr_material" value="0"/>
|
|
<input type="hidden" name="attr_medkit" value="0"/>
|
|
<input type="hidden" name="attr_jetpack" value="0"/>
|
|
<input type="hidden" name="attr_airtight" value="0"/>
|
|
</div>
|
|
<div class="row">
|
|
<div class="col-xs-4">
|
|
<div class="row">
|
|
<div class="col-xs-8">Air Supply (hrs)</div>
|
|
<div class="col-xs-4">
|
|
<input type="number" name="attr_airsupply" value="0" step="0.01"/>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-xs-8">
|
|
<div class="row">
|
|
<div class="col-xs-4">Sensors</div>
|
|
<div class="col-xs-8">
|
|
<select name="attr_sensors">
|
|
<option value="H">Human Visual / Audio</option>
|
|
<option value="IU">Infrared and Ultraviolet</option>
|
|
<option value="S">Microscopic</option>
|
|
<option value="T">Telescopic</option>
|
|
<option value="A">Audio</option>
|
|
<option value="R">Radar/ Sonar </option>
|
|
<option value="C">Communications </option>
|
|
<option value="F">Feeling</option>
|
|
<option value="V">Vibrations</option>
|
|
</select>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="col-xs-4">
|
|
<div class="row">
|
|
<div class="col-xs-8">No. Cells</div>
|
|
<div class="col-xs-4">
|
|
<input type="number" name="attr_cells_no"/>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-xs-4">
|
|
<div class="row">
|
|
<div class="col-xs-6">Cells Type</div>
|
|
<div class="col-xs-6">
|
|
<select name="attr_cells_type">
|
|
<option value="A">Atomic </option>
|
|
<option value="B">Broadcast</option>
|
|
<option value="C">Chemical</option>
|
|
<option value="H">Hydrogen</option>
|
|
<option value="N">Nuclear</option>
|
|
<option value="S">Solar</option>
|
|
</select>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-xs-4">
|
|
<div class="row">
|
|
<div class="col-xs-8">Power Duration (hours)</div>
|
|
<div class="col-xs-4">
|
|
<input type="number" name="attr_power_duration" step="0.01"/>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="col-xs-4">
|
|
<div class="row">
|
|
<div class="col-xs-8">Strength x</div>
|
|
<div class="col-xs-4">
|
|
<input type="number" name="attr_PS_factor" value="1" step="0.01"/>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-xs-4">
|
|
<div class="row">
|
|
<div class="col-xs-8">Speed x</div>
|
|
<div class="col-xs-4">
|
|
<input type="number" name="attr_spd_factor" value="1" step="0.01"/>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-xs-4">
|
|
<div class="row">
|
|
<div class="col-xs-8">Enc. x</div>
|
|
<div class="col-xs-4">
|
|
<input type="number" name="attr_enc_factor" value="0.5" step="0.01"/>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-xs-12">Shield
|
|
<input class="short check-flag" type="checkbox" name="attr_shield"/>
|
|
<div class="check-options">
|
|
<div class="row middle-xs">
|
|
<div class="col-xs-2">
|
|
<label>Size</label>
|
|
</div>
|
|
<div class="col-xs-3">
|
|
<select name="attr_shield_size" value="0">
|
|
<option value="0">None</option>
|
|
<option value="1">Small</option>
|
|
<option value="2">Medium</option>
|
|
<option value="3">Large</option>
|
|
</select>
|
|
</div>
|
|
<div class="col-xs-3">
|
|
<label>Material</label>
|
|
</div>
|
|
<div class="col-xs-4">
|
|
<select name="attr_shield_material" value="0">
|
|
<option value="0">None</option>
|
|
<option value="1">Wood</option>
|
|
<option value="2">Leather</option>
|
|
<option value="3">Carapace</option>
|
|
<option value="4">Plastic</option>
|
|
<option value="5">Metal</option>
|
|
<option value="6">Duralloy</option>
|
|
</select>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-xs-12">Helmet
|
|
<input class="short check-flag" type="checkbox" name="attr_helmet"/>
|
|
<div class="check-options">
|
|
<div class="row middle-xs">
|
|
<div class="col-xs-2">
|
|
<label>Mental CS</label>
|
|
</div>
|
|
<div class="col-xs-3">
|
|
<input type="number" name="attr_CS_mental" value="0"/>
|
|
</div>
|
|
<div class="col-xs-3">
|
|
<label>Material</label>
|
|
</div>
|
|
<div class="col-xs-4">
|
|
<select name="attr_material" value="0">
|
|
<option value="0">None</option>
|
|
<option value="2">Leather</option>
|
|
<option value="3">Carapace</option>
|
|
<option value="4">Plastic</option>
|
|
<option value="5">Metal</option>
|
|
<option value="6">Duralloy</option>
|
|
</select>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</fieldset>
|
|
</div>
|
|
</div>
|
|
<div class="row underline">
|
|
<div class="col-xs-12">
|
|
<h2>Gear</h2>
|
|
<div class="row middle-xs">
|
|
<div class="col-xs-4">
|
|
<label>Type</label>
|
|
</div>
|
|
<div class="col-xs-1">
|
|
<label>Tech Lvl.</label>
|
|
</div>
|
|
<div class="col-xs-1">
|
|
<label>Tech Rank</label>
|
|
</div>
|
|
<div class="col-xs-1">
|
|
<label>Power</label>
|
|
</div>
|
|
<div class="col-xs-1">
|
|
<label>Cost</label>
|
|
</div>
|
|
<div class="col-xs-1">
|
|
<label>No. </label>
|
|
</div>
|
|
<div class="col-xs-1">
|
|
<label>Wt. </label>
|
|
</div>
|
|
<div class="col-xs-1">
|
|
<label>√ </label>
|
|
</div>
|
|
</div>
|
|
<fieldset class="repeating_gear" title="@{gear}">
|
|
<div class="row">
|
|
<div class="col-xs-4">
|
|
<input type="text" name="attr_name"/>
|
|
</div>
|
|
<div class="col-xs-1">
|
|
<select name="attr_tech">
|
|
<option value="0">None</option>
|
|
<option value="1">I</option>
|
|
<option value="2">II</option>
|
|
<option value="3">III</option>
|
|
<option value="4">IV</option>
|
|
<option value="5">V</option>
|
|
</select>
|
|
</div>
|
|
<div class="col-xs-1">
|
|
<select name="attr_tech_rank">
|
|
<option value="N">N</option>
|
|
<option value="A">A</option>
|
|
<option value="B">B</option>
|
|
<option value="C">C</option>
|
|
<option value="D">D</option>
|
|
<option value="E">E</option>
|
|
<option value="F">F</option>
|
|
<option value="G">G</option>
|
|
<option value="H">H</option>
|
|
<option value="I">I</option>
|
|
<option value="J">J</option>
|
|
</select>
|
|
</div>
|
|
<div class="col-xs-1">
|
|
<input type="text" name="attr_power"/>
|
|
</div>
|
|
<div class="col-xs-1">
|
|
<input type="number" name="attr_cost"/>
|
|
</div>
|
|
<div class="col-xs-1">
|
|
<input type="number" name="attr_count" value="1"/>
|
|
</div>
|
|
<div class="col-xs-1">
|
|
<input type="number" name="attr_weight" step="0.01"/>
|
|
</div>
|
|
<div class="col-xs-1">
|
|
<input type="checkbox" name="attr_equipped" value="1" checked="true"/>
|
|
</div>
|
|
</div>
|
|
</fieldset>
|
|
</div>
|
|
<div class="col-xs-6"> </div>
|
|
</div>
|
|
</div>
|
|
<div class="col-xs-4">
|
|
<div class="row">
|
|
<div class="col-xs-12">
|
|
<h2>Movement</h2>
|
|
</div>
|
|
</div>
|
|
<div class="row middle-xs">
|
|
<div class="col-xs-3">
|
|
<div class="row">
|
|
<div class="col-xs-8">
|
|
<label>Speed</label>
|
|
</div>
|
|
<div class="col-xs-4">
|
|
<input type="hidden" name="attr_speed_max" value="24"/>
|
|
<input type="hidden" name="attr_speed" value="6" title="@{spd}"/><span name="attr_speed"></span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-xs-9">
|
|
<div class="row">
|
|
<div class="col-xs-4">
|
|
<label>Burden</label>
|
|
</div>
|
|
<div class="col-xs-8">
|
|
<input type="hidden" name="attr_burden" title="@{burden}"/><span name="attr_burden"></span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row middle-xs underline">
|
|
<div class="col-xs-6">
|
|
<label>Encumbrance</label>
|
|
</div>
|
|
<div class="col-xs-4">
|
|
<input type="hidden" name="attr_encumbrance" value="0" title="@{enc}"/><span name="attr_encumbrance"></span>
|
|
</div>
|
|
<div class="col-xs-2"><span>kg.</span></div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="col-xs-12">
|
|
<h2>Combat Stats</h2>
|
|
<div class="row middle-xs">
|
|
<div class="col-xs-2">
|
|
<label class="emphasis">HP</label>
|
|
</div>
|
|
<div class="col-xs-3">
|
|
<input type="number" name="attr_hp_max" title="@{hp_max}"/>
|
|
</div>
|
|
<div class="col-xs-3">
|
|
<label class="emphasis">Wounds</label>
|
|
</div>
|
|
<div class="col-xs-4">
|
|
<input type="number" name="attr_wounds" value="(@{hp|max}-@{hp})" title="@{wounds}" disabled="true"/>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row middle-xs underline">
|
|
<div class="col-xs-4">
|
|
<label class="emphasis">Defence</label>
|
|
</div>
|
|
<div class="col-xs-8">
|
|
<div class="row middle-xs">
|
|
<div class="col-xs-4">
|
|
<label>CS</label>
|
|
</div>
|
|
<div class="col-xs-4">
|
|
<label>RF</label>
|
|
</div>
|
|
<div class="col-xs-4">
|
|
<label>DR</label>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row middle-xs">
|
|
<div class="col-xs-4">Physical</div>
|
|
<div class="col-xs-8">
|
|
<div class="row middle-xs">
|
|
<div class="col-xs-4"><span name="attr_CS_physical"></span></div>
|
|
<div class="col-xs-4"> <span name="attr_RF_physical"></span></div>
|
|
<div class="col-xs-4"><span name="attr_DR_physical"></span></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row middle-xs underline">
|
|
<div class="col-xs-4">Energy</div>
|
|
<div class="col-xs-8">
|
|
<div class="row middle-xs">
|
|
<div class="col-xs-4"><span name="attr_CS_energy"></span></div>
|
|
<div class="col-xs-4"> <span name="attr_RF_energy"></span></div>
|
|
<div class="col-xs-4"><span name="attr_DR_energy"></span></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row middle-xs">
|
|
<div class="col-xs-4">Mental</div>
|
|
<div class="col-xs-8">
|
|
<div class="row middle-xs">
|
|
<div class="col-xs-4"><span name="attr_CS_mental"></span></div>
|
|
<div class="col-xs-4"> <span name="attr_RF_mental"></span></div>
|
|
<div class="col-xs-4"><span name="attr_DR_mental"></span></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row underline">
|
|
<div class="col-xs-12">
|
|
<h2>Notes</h2>
|
|
<fieldset class="repeating_notes">
|
|
<div class="row">
|
|
<div class="col-xs-12">
|
|
<input type="text" name="attr_name"/>
|
|
</div>
|
|
</div>
|
|
<input class="short options-flag options-flag" type="checkbox" name="attr_options-flag"/><span>y</span>
|
|
<div class="options">
|
|
<div class="row">
|
|
<div class="col-xs-12">Description</div>
|
|
<div class="col-xs-12">
|
|
<textarea name="description"></textarea>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</fieldset>
|
|
</div>
|
|
</div>
|
|
<div class="row underline">
|
|
<div class="col-xs-12">
|
|
<h2>Skills</h2>
|
|
<div class="row">
|
|
<div class="col-xs-5">
|
|
<label>Name</label>
|
|
</div>
|
|
<div class="col-xs-2">
|
|
<label>Rank</label>
|
|
</div>
|
|
<div class="col-xs-3">
|
|
<label>Mod.</label>
|
|
</div>
|
|
</div>
|
|
<fieldset class="repeating_skills">
|
|
<div class="row">
|
|
<div class="col-xs-5">
|
|
<input type="text" name="attr_name"/>
|
|
</div>
|
|
<div class="col-xs-2">
|
|
<input type="number" name="attr_rank"/>
|
|
</div>
|
|
<div class="col-xs-3">
|
|
<select name="attr_modifier">
|
|
<option value="PS">PS</option>
|
|
<option value="DX">DX</option>
|
|
<option value="CN">CN</option>
|
|
<option value="IN">IN</option>
|
|
<option value="MS">MS</option>
|
|
<option value="CH">CH</option>
|
|
</select>
|
|
</div>
|
|
<div class="col-xs-1">
|
|
<button type="roll" name="roll_skill" value="!gw act @{rank} title|@{name} mod|@{modifier} character|@{character_id}"></button>
|
|
</div>
|
|
</div>
|
|
<input class="short options-flag options-flag" type="checkbox" name="attr_options-flag"/><span>y</span>
|
|
<div class="options">
|
|
<div class="row">
|
|
<div class="col-xs-12">Description</div>
|
|
<div class="col-xs-12">
|
|
<textarea name="attr_description"></textarea>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</fieldset>
|
|
</div>
|
|
</div>
|
|
<div class="row underline">
|
|
<div class="col-xs-12">
|
|
<h2>Talents</h2>
|
|
<div class="row">
|
|
<div class="col-xs-12">
|
|
<label>Name</label>
|
|
</div>
|
|
</div>
|
|
<fieldset class="repeating_talents">
|
|
<div class="row">
|
|
<div class="col-xs-8">
|
|
<input type="hidden" name="attr_ref"/>
|
|
<input type="text" name="attr_name"/>
|
|
</div>
|
|
<div class="col-xs-2">
|
|
<button type="roll" name="roll_talent" value="!gw act @{character_rank} title|@{name} character|@{character_id}"></button>
|
|
</div>
|
|
</div>
|
|
<input class="short options-flag options-flag" type="checkbox" name="attr_options-flag"/><span>y</span>
|
|
<div class="options">
|
|
<div class="row">
|
|
<div class="col-xs-12">Description</div>
|
|
<div class="col-xs-12">
|
|
<textarea name="attr_description"></textarea>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</fieldset>
|
|
</div>
|
|
</div>
|
|
<div class="row underline">
|
|
<div class="col-xs-12">
|
|
<h2>Coins</h2>
|
|
<div class="row middle-xs">
|
|
<div class="col-xs-8">
|
|
<label>Type</label>
|
|
</div>
|
|
<div class="col-xs-4">
|
|
<label>Amount</label>
|
|
</div>
|
|
</div>
|
|
<div class="row middle-xs">
|
|
<div class="col-xs-8"><span>Nickels</span></div>
|
|
<div class="col-xs-4">
|
|
<input type="number" name="attr_coin_nk"/>
|
|
</div>
|
|
</div>
|
|
<div class="row middle-xs">
|
|
<div class="col-xs-8"><span>Silver Coins</span></div>
|
|
<div class="col-xs-4">
|
|
<input type="number" name="attr_coin_sp"/>
|
|
</div>
|
|
</div>
|
|
<div class="row middle-xs">
|
|
<div class="col-xs-8"><span>Gold Coins</span></div>
|
|
<div class="col-xs-4">
|
|
<input type="number" name="attr_coin_gp"/>
|
|
</div>
|
|
</div>
|
|
<div class="row middle-xs">
|
|
<div class="col-xs-8"><span>Domars</span></div>
|
|
<div class="col-xs-4">
|
|
<input type="number" name="attr_coin_dm"/>
|
|
</div>
|
|
</div>
|
|
<div class="row middle-xs">
|
|
<div class="col-xs-8"><span>Dahlers</span></div>
|
|
<div class="col-xs-4">
|
|
<input type="number" name="attr_coin_dl"/>
|
|
</div>
|
|
</div>
|
|
<div class="row middle-xs">
|
|
<div class="col-xs-8"><span>Daublers</span></div>
|
|
<div class="col-xs-4">
|
|
<input type="number" name="attr_coin_db"/>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row underline">
|
|
<div class="col-xs-12">
|
|
<h2>Cells</h2>
|
|
<div class="row middle-xs">
|
|
<div class="col-xs-8">
|
|
<label>Type</label>
|
|
</div>
|
|
<div class="col-xs-4">
|
|
<label>Amount</label>
|
|
</div>
|
|
</div>
|
|
<div class="row middle-xs">
|
|
<div class="col-xs-8"><span>Atomic</span></div>
|
|
<div class="col-xs-4">
|
|
<input type="number" name="attr_cells_atomic"/>
|
|
</div>
|
|
</div>
|
|
<div class="row middle-xs">
|
|
<div class="col-xs-8"><span>Chemical</span></div>
|
|
<div class="col-xs-4">
|
|
<input type="number" name="attr_cells_chemical"/>
|
|
</div>
|
|
</div>
|
|
<div class="row middle-xs">
|
|
<div class="col-xs-8"><span>Hydrogen</span></div>
|
|
<div class="col-xs-4">
|
|
<input type="number" name="attr_cells_hydrogen"/>
|
|
</div>
|
|
</div>
|
|
<div class="row middle-xs">
|
|
<div class="col-xs-8"><span>Solar</span></div>
|
|
<div class="col-xs-4">
|
|
<input type="number" name="attr_cells_solar"/>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="tab2">
|
|
<div class="sheet-container">
|
|
<div class="row underline">
|
|
<div class="col-xs-8">
|
|
<div class="row">
|
|
<div class="col-xs-6">
|
|
<div class="row middle-xs">
|
|
<div class="col-xs-12">
|
|
<label>Creature Type:</label>
|
|
</div>
|
|
<div class="col-xs-12">
|
|
<input type="text" name="attr_creature_type" title="@{creature_type}"/>
|
|
</div>
|
|
<div class="col-xs-12"><br/></div>
|
|
</div>
|
|
<div class="row middle-xs">
|
|
<div class="col-xs-3">
|
|
<label>Number:</label>
|
|
</div>
|
|
<div class="col-xs-3">
|
|
<input type="text" name="attr_number" title="@{number}"/>
|
|
</div>
|
|
<div class="col-xs-3">
|
|
<label>Morale:</label>
|
|
</div>
|
|
<div class="col-xs-3">
|
|
<input type="number" name="attr_morale" title="@{morale}"/>
|
|
</div>
|
|
<div class="col-xs-12">
|
|
<div class="row middle-xs">
|
|
<div class="col-xs-3">
|
|
<label>Hit Dice:</label>
|
|
</div>
|
|
<div class="col-xs-3">
|
|
<input type="number" name="attr_character_rank" title="@{rank}"/>
|
|
</div>
|
|
<div class="col-xs-3">
|
|
<label>AC:</label>
|
|
</div>
|
|
<div class="col-xs-3">
|
|
<input type="number" name="attr_AC" title="@{AC}" value="0"/>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-xs-12">
|
|
<div class="row middle-xs">
|
|
<div class="col-xs-1">
|
|
<label>DR:</label>
|
|
</div>
|
|
<div class="col-xs-3">
|
|
<input type="number" name="attr_DR_physical" title="@{DR_physica}" value="0"/>
|
|
</div>
|
|
<div class="col-xs-2">
|
|
<label>Land Speed:</label>
|
|
</div>
|
|
<div class="col-xs-2">
|
|
<input type="number" name="attr_spd_land" title="@{DR_physica}" value="24"/>
|
|
</div>
|
|
<div class="col-xs-2">
|
|
<label>Air Speed:</label>
|
|
</div>
|
|
<div class="col-xs-2">
|
|
<input type="number" name="attr_spd_air" title="@{DR_physica}" value="0"/>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-xs-6">
|
|
<h2>Combat Stats</h2>
|
|
<div class="row middle-xs">
|
|
<div class="col-xs-2">
|
|
<label class="emphasis">HP</label>
|
|
</div>
|
|
<div class="col-xs-3">
|
|
<input type="number" name="attr_hp_max" title="@{hp_max}"/>
|
|
</div>
|
|
<div class="col-xs-3">
|
|
<label class="emphasis">Wounds</label>
|
|
</div>
|
|
<div class="col-xs-4">
|
|
<input type="number" name="attr_wounds" value="(@{hp|max}-@{hp})" title="@{wounds}" disabled="true"/>
|
|
</div>
|
|
<div class="col-xs-4">
|
|
<label class="emphasis">Defence</label>
|
|
</div>
|
|
<div class="col-xs-8">
|
|
<div class="row middle-xs">
|
|
<div class="col-xs-4">
|
|
<label>CS</label>
|
|
</div>
|
|
<div class="col-xs-4">
|
|
<label>RF</label>
|
|
</div>
|
|
<div class="col-xs-4">
|
|
<label>DR</label>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-xs-4">Physical</div>
|
|
<div class="col-xs-8">
|
|
<div class="row middle-xs">
|
|
<div class="col-xs-4"><span name="attr_CS_physical"></span></div>
|
|
<div class="col-xs-4"> <span name="attr_RF_physical"></span></div>
|
|
<div class="col-xs-4"><span name="attr_DR_physical"></span></div>
|
|
</div>
|
|
</div>
|
|
<div class="col-xs-4">Energy</div>
|
|
<div class="col-xs-8">
|
|
<div class="row middle-xs">
|
|
<div class="col-xs-4"><span name="attr_CS_energy"></span></div>
|
|
<div class="col-xs-4"> <span name="attr_RF_energy"></span></div>
|
|
<div class="col-xs-4"><span name="attr_DR_energy"></span></div>
|
|
</div>
|
|
</div>
|
|
<div class="col-xs-4">Mental</div>
|
|
<div class="col-xs-8">
|
|
<div class="row middle-xs">
|
|
<div class="col-xs-4"><span name="attr_CS_mental"></span></div>
|
|
<div class="col-xs-4"> <span name="attr_RF_mental"></span></div>
|
|
<div class="col-xs-4"><span name="attr_DR_mental"></span></div>
|
|
<div class="row underline"></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-xs-12">
|
|
<input class="rollSwitch" type="hidden" name="attr_rollSwitch" value="0"/>
|
|
<div class="row pre-rolled">
|
|
<div class="col-xs-12"></div>
|
|
</div>
|
|
<div class="row post-rolled">
|
|
<div class="col-xs-6 post-rolled">
|
|
<h2>Physical Abilities</h2>
|
|
<div class="row">
|
|
<div class="col-xs-1"></div>
|
|
<div class="col-xs-2" title="Current Score">Cur.</div>
|
|
<div class="col-xs-2" title="Initially Rolled Score">Orig.</div>
|
|
<div class="col-xs-2" title="Character Advancement">Adv.</div>
|
|
<div class="col-xs-2" title="Temporary Change">Tmp.</div>
|
|
<div class="col-xs-2" title="Score Modifier">Mod.</div>
|
|
<div class="col-xs-1 padless">Roll</div>
|
|
</div>
|
|
<div class="row middle-xs">
|
|
<div class="col-xs-1">
|
|
<label class="ability">PS</label>
|
|
</div>
|
|
<div class="col-xs-2">
|
|
<input type="hidden" name="attr_PS" title="@{PS}"/><span class="emphasis" name="attr_PS"></span>
|
|
</div>
|
|
<div class="col-xs-2">
|
|
<input type="text" name="attr_PS_rolled" title="@{PS_rolled}"/>
|
|
</div>
|
|
<div class="col-xs-2">
|
|
<input type="number" name="attr_PS_advanced" value="0" title="@{PS_advanced}"/>
|
|
</div>
|
|
<div class="col-xs-2">
|
|
<input type="number" name="attr_PS_tmp" value="0" title="@{PS_tmp}"/>
|
|
</div>
|
|
<div class="col-xs-2">
|
|
<input type="hidden" name="attr_PS_modifier" value="0" title="@{PS_modifier}"/>
|
|
<input type="number" name="attr_PS_mod" value="@{PS_modifier}" disabled="true"/>
|
|
</div>
|
|
<div class="col-xs-1 padless">
|
|
<button type="roll" name="roll_PS" value="!gw act @{PS} title|Physical character|@{character_id}"></button>
|
|
</div>
|
|
</div>
|
|
<div class="row middle-xs">
|
|
<div class="col-xs-1">
|
|
<label class="ability">DX</label>
|
|
</div>
|
|
<div class="col-xs-2">
|
|
<input type="hidden" name="attr_DX" title="@{DX}"/><span class="emphasis" name="attr_DX"></span>
|
|
</div>
|
|
<div class="col-xs-2">
|
|
<input type="text" name="attr_DX_rolled" title="@{DX_rolled}"/>
|
|
</div>
|
|
<div class="col-xs-2">
|
|
<input type="number" name="attr_DX_advanced" value="0" title="@{DX_advanced}"/>
|
|
</div>
|
|
<div class="col-xs-2">
|
|
<input type="number" name="attr_DX_tmp" value="0" title="@{DX_tmp}"/>
|
|
</div>
|
|
<div class="col-xs-2">
|
|
<input type="hidden" name="attr_DX_modifier" value="0" title="@{DX_modifier}"/>
|
|
<input type="number" name="attr_DX_mod" value="@{DX_modifier}" disabled="true"/>
|
|
</div>
|
|
<div class="col-xs-1 padless">
|
|
<button type="roll" name="roll_DX" value="!gw act @{DX} title|Dexterity character|@{character_id}"></button>
|
|
</div>
|
|
</div>
|
|
<div class="row middle-xs">
|
|
<div class="col-xs-1">
|
|
<label class="ability">CN</label>
|
|
</div>
|
|
<div class="col-xs-2">
|
|
<input type="hidden" name="attr_CN" title="@{CN}"/><span class="emphasis" name="attr_CN"></span>
|
|
</div>
|
|
<div class="col-xs-2">
|
|
<input type="text" name="attr_CN_rolled" title="@{CN_rolled}"/>
|
|
</div>
|
|
<div class="col-xs-2">
|
|
<input type="number" name="attr_CN_advanced" value="0" title="@{CN_advanced}"/>
|
|
</div>
|
|
<div class="col-xs-2">
|
|
<input type="number" name="attr_CN_tmp" value="0" title="@{CN_tmp}"/>
|
|
</div>
|
|
<div class="col-xs-2">
|
|
<input type="hidden" name="attr_CN_modifier" value="0" title="@{CN_modifier}"/>
|
|
<input type="number" name="attr_CN_mod" value="@{CN_modifier}" disabled="true"/>
|
|
</div>
|
|
<div class="col-xs-1 padless">
|
|
<button type="roll" name="roll_CN" value="!gw act @{CN} title|Constitution character|@{character_id}"></button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-xs-6 post">
|
|
<h2>Mental Abilities</h2>
|
|
<div class="row">
|
|
<div class="col-xs-1"></div>
|
|
<div class="col-xs-2" title="Current Score">Cur.</div>
|
|
<div class="col-xs-2" title="Initially Rolled Score">Orig.</div>
|
|
<div class="col-xs-2" title="Character Advancement">Adv.</div>
|
|
<div class="col-xs-2" title="Temporary Change">Tmp.</div>
|
|
<div class="col-xs-2" title="Score Modifier">Mod.</div>
|
|
<div class="col-xs-1 padless">Roll</div>
|
|
</div>
|
|
<div class="row middle-xs">
|
|
<div class="col-xs-1">
|
|
<label class="ability">IN</label>
|
|
</div>
|
|
<div class="col-xs-2">
|
|
<input type="hidden" name="attr_IN" title="@{IN}"/><span class="emphasis" name="attr_IN"></span>
|
|
</div>
|
|
<div class="col-xs-2">
|
|
<input type="text" name="attr_IN_rolled" title="@{IN_rolled}"/>
|
|
</div>
|
|
<div class="col-xs-2">
|
|
<input type="number" name="attr_IN_advanced" value="0" title="@{IN_advanced}"/>
|
|
</div>
|
|
<div class="col-xs-2">
|
|
<input type="number" name="attr_IN_tmp" value="0" title="@{IN_tmp}"/>
|
|
</div>
|
|
<div class="col-xs-2">
|
|
<input type="hidden" name="attr_IN_modifier" value="0" title="@{IN_modifier}"/>
|
|
<input type="number" name="attr_IN_mod" value="@{IN_modifier}" disabled="true"/>
|
|
</div>
|
|
<div class="col-xs-1 padless">
|
|
<button type="roll" name="roll_IN" value="!gw act @{IN} title|Intelligence character|@{character_id}"></button>
|
|
</div>
|
|
</div>
|
|
<div class="row middle-xs">
|
|
<div class="col-xs-1">
|
|
<label class="ability">MS</label>
|
|
</div>
|
|
<div class="col-xs-2">
|
|
<input type="hidden" name="attr_MS" title="@{MS}"/><span class="emphasis" name="attr_MS"></span>
|
|
</div>
|
|
<div class="col-xs-2">
|
|
<input type="text" name="attr_MS_rolled" title="@{MS_rolled}"/>
|
|
</div>
|
|
<div class="col-xs-2">
|
|
<input type="number" name="attr_MS_advanced" value="0" title="@{MS_advanced}"/>
|
|
</div>
|
|
<div class="col-xs-2">
|
|
<input type="number" name="attr_MS_tmp" value="0" title="@{MS_tmp}"/>
|
|
</div>
|
|
<div class="col-xs-2">
|
|
<input type="hidden" name="attr_MS_modifier" value="0" title="@{MS_modifier}"/>
|
|
<input type="number" name="attr_MS_mod" value="@{MS_modifier}" disabled="true"/>
|
|
</div>
|
|
<div class="col-xs-1 padless">
|
|
<button type="roll" name="roll_MS" value="!gw act @{MS} title|Mental_Strength character|@{character_id}"></button>
|
|
</div>
|
|
</div>
|
|
<div class="row middle-xs">
|
|
<div class="col-xs-1">
|
|
<label class="ability">CH</label>
|
|
</div>
|
|
<div class="col-xs-2">
|
|
<input type="hidden" name="attr_CH" title="@{CH}"/><span class="emphasis" name="attr_CH"></span>
|
|
</div>
|
|
<div class="col-xs-2">
|
|
<input type="text" name="attr_CH_rolled" title="@{CH_rolled}"/>
|
|
</div>
|
|
<div class="col-xs-2">
|
|
<input type="number" name="attr_CH_advanced" value="0" title="@{CH_advanced}"/>
|
|
</div>
|
|
<div class="col-xs-2">
|
|
<input type="number" name="attr_CH_tmp" value="0" title="@{CH_tmp}"/>
|
|
</div>
|
|
<div class="col-xs-2">
|
|
<input type="hidden" name="attr_CH_modifier" value="0" title="@{CH_modifier}"/>
|
|
<input type="number" name="attr_CH_mod" value="@{CH_modifier}" disabled="true"/>
|
|
</div>
|
|
<div class="col-xs-1 padless">
|
|
<button type="roll" name="roll_CH" value="!gw act @{CH} title|Charsima character|@{character_id}"></button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-xs-12">
|
|
<h2>Mutations</h2>
|
|
<div class="row middle-xs">
|
|
<div class="col-xs-3">
|
|
<label>Name</label>
|
|
</div>
|
|
<div class="col-xs-2">
|
|
<label>Type</label>
|
|
</div>
|
|
<div class="col-xs-2">
|
|
<label>Use</label>
|
|
</div>
|
|
<div class="col-xs-1">
|
|
<label>Range</label>
|
|
</div>
|
|
<div class="col-xs-1">
|
|
<label>Rank</label>
|
|
</div>
|
|
<div class="col-xs-1">
|
|
<label>Dmg.</label>
|
|
</div>
|
|
</div>
|
|
<fieldset class="repeating_mutations">
|
|
<div class="row">
|
|
<div class="col-xs-3">
|
|
<input type="text" name="attr_name"/>
|
|
</div>
|
|
<div class="col-xs-2">
|
|
<select name="attr_type">
|
|
<option value="physical">Physical</option>
|
|
<option value="mental">Mental</option>
|
|
<option value="defect">Defect</option>
|
|
</select>
|
|
</div>
|
|
<div class="col-xs-2">
|
|
<input type="text" name="attr_use"/>
|
|
</div>
|
|
<div class="col-xs-1">
|
|
<input type="text" name="attr_range"/>
|
|
</div>
|
|
<div class="col-xs-1">
|
|
<input type="number" name="attr_rank"/>
|
|
</div>
|
|
<div class="col-xs-1">
|
|
<input type="text" name="attr_dmg"/>
|
|
</div>
|
|
<div class="col-xs-1">
|
|
<input type="hidden" name="attr_id"/>
|
|
<button type="roll" name="roll_mutation" value="!gw act @{rank} title|@{name} character|@{character_id}"></button>
|
|
</div>
|
|
</div>
|
|
<input class="short options-flag options-flag" type="checkbox" name="attr_options-flag"/><span>y</span>
|
|
<div class="options">
|
|
<div class="row middle-xs">
|
|
<div class="col-xs-2">
|
|
<label>Mod.</label>
|
|
</div>
|
|
<div class="col-xs-2">
|
|
<select name="attr_modifier">
|
|
<option value="PS">PS</option>
|
|
<option value="DX">DX</option>
|
|
<option value="CN">CN</option>
|
|
<option value="IN">IN</option>
|
|
<option value="MS">MS</option>
|
|
<option value="CH">CH</option>
|
|
</select>
|
|
</div>
|
|
<div class="col-xs-2">
|
|
<label>Effort</label>
|
|
</div>
|
|
<div class="col-xs-2">
|
|
<select name="attr_effort">
|
|
<option value="passive">Subconscious</option>
|
|
<option value="active">Conscious</option>
|
|
</select>
|
|
</div>
|
|
<div class="col-xs-1">
|
|
<label>No.</label>
|
|
</div>
|
|
<div class="col-xs-1">
|
|
<input type="text" name="attr_number"/>
|
|
</div>
|
|
<div class="col-xs-2">
|
|
<label>Duration</label>
|
|
</div>
|
|
<div class="col-xs-2">
|
|
<input type="text" name="attr_duration"/>
|
|
</div>
|
|
<div class="col-xs-12">
|
|
<label>Description</label>
|
|
</div>
|
|
<div class="col-xs-12">
|
|
<textarea name="attr_description"></textarea>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</fieldset>
|
|
</div>
|
|
<div class="col-xs-12">
|
|
<h2>Attacks</h2>
|
|
<div class="row middle-xs">
|
|
<div class="col-xs-3">
|
|
<label>Name</label>
|
|
</div>
|
|
<div class="col-xs-1">
|
|
<label>Mod.</label>
|
|
</div>
|
|
<div class="col-xs-1">
|
|
<label>Range</label>
|
|
</div>
|
|
<div class="col-xs-1">
|
|
<label>Dmg.</label>
|
|
</div>
|
|
<div class="col-xs-2">
|
|
<label>Skill</label>
|
|
</div>
|
|
</div>
|
|
<fieldset class="repeating_attacks">
|
|
<div class="row">
|
|
<div class="col-xs-3">
|
|
<input type="text" name="attr_name"/>
|
|
</div>
|
|
<div class="col-xs-1">
|
|
<select name="attr_modifier">
|
|
<option value="PS">PS</option>
|
|
<option value="DX">DX</option>
|
|
<option value="CN">CN</option>
|
|
<option value="IN">IN</option>
|
|
<option value="MS">MS</option>
|
|
<option value="CH">CH</option>
|
|
</select>
|
|
</div>
|
|
<div class="col-xs-1">
|
|
<input type="text" name="attr_range"/>
|
|
</div>
|
|
<div class="col-xs-1">
|
|
<input type="text" name="attr_dmg"/>
|
|
</div>
|
|
<div class="col-xs-1">
|
|
<input type="hidden" name="attr_ref"/>
|
|
<input type="text" name="attr_rank"/>
|
|
</div>
|
|
<div class="col-xs-1">
|
|
<button type="roll" name="roll_attack" value="!gw act @{rank} CS|?{CS|0} id|@{ref} title|ref category|attacks effect|@{effect} effect_crit|@{effect_crit} dmg|@{dmg} skilldmg|@{skilldmg} mod|@{modifier} skill|@{skill} tech|@{tech} type|@{type} character|@{character_id} target_id|@{target|target1|token_id}"></button>
|
|
</div>
|
|
</div>
|
|
<input class="short options-flag options-flag" type="checkbox" name="attr_options-flag"/><span>y</span>
|
|
<div class="options">
|
|
<div class="col-xs-12">
|
|
<div class="row middle-xs">
|
|
<div class="col-xs-1">Type</div>
|
|
<div class="col-xs-3">
|
|
<select name="attr_type">
|
|
<option value="brawling">Brawling</option>
|
|
<option value="charging">Charging</option>
|
|
<option value="grappling">Grappling</option>
|
|
<option value="distracting">Distracting</option>
|
|
<option value="dodging">Dodging</option>
|
|
<option value="evasion">Evasion</option>
|
|
<option value="feinting">Feinting</option>
|
|
<option value="martialarts">Martial Arts</option>
|
|
<option value="melee">Melee</option>
|
|
<option value="shooting">Shooting</option>
|
|
<option value="calledshot">Called Shot</option>
|
|
<option value="crowdfire">Firing into Crowd</option>
|
|
<option value="parrying">Parrying</option>
|
|
<option value="throwing">Throwing</option>
|
|
</select>
|
|
</div>
|
|
<div class="col-xs-1">Skill</div>
|
|
<div class="col-xs-2">
|
|
<select name="attr_skill">
|
|
<option value="brawling">Brawling</option>
|
|
<option value="martialarts">Martial Arts</option>
|
|
<option value="melee">Melee</option>
|
|
<option value="riding">Riding</option>
|
|
<option value="throwing">Throwing</option>
|
|
</select>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-xs-12">
|
|
<div class="row middle-xs">
|
|
<div class="col-xs-2">Effect</div>
|
|
<div class="col-xs-2">
|
|
<select name="attr_effect" value="0">
|
|
<option value="0">None</option>
|
|
<option value="accrit">AC Critical</option>
|
|
<option value="burn">Burn</option>
|
|
<option value="cold">Cold</option>
|
|
<option value="compa">Comp. A</option>
|
|
<option value="compc">Comp. C</option>
|
|
<option value="critical">Critical</option>
|
|
<option value="delirium">Delirium</option>
|
|
<option value="disintegrate">Disintegrate</option>
|
|
<option value="domination">Domination</option>
|
|
<option value="electrical">Electrical</option>
|
|
<option value="fatal">Fatal</option>
|
|
<option value="fieldnegate">Field Negate</option>
|
|
<option value="fumes">Fumes</option>
|
|
<option value="heat">Heat</option>
|
|
<option value="extrarf">Hits +1RF</option>
|
|
<option value="ignites">Ignites</option>
|
|
<option value="ignoresac">Ignores AC</option>
|
|
<option value="intercept">Intercept</option>
|
|
<option value="irritant">Irritant</option>
|
|
<option value="knockdown">Knock Down</option>
|
|
<option value="ko">Knock Out</option>
|
|
<option value="mutate">Mutate</option>
|
|
<option value="paralysis">Paralysis</option>
|
|
<option value="poison">Poison</option>
|
|
<option value="powerdrain">Power Drain</option>
|
|
<option value="radiation">Radiation</option>
|
|
<option value="scatter">Scatter</option>
|
|
<option value="seeker">Seeker</option>
|
|
<option value="shortout">Short Out</option>
|
|
<option value="slam">Slam</option>
|
|
<option value="sonic">Sonic</option>
|
|
<option value="stun">Stun</option>
|
|
<option value="subsonics">Subsonics</option>
|
|
<option value="tangle">Tangle</option>
|
|
</select>
|
|
</div>
|
|
<div class="col-xs-2">Critical</div>
|
|
<div class="col-xs-2">
|
|
<select name="attr_effect_crit" value="0">
|
|
<option value="0">None</option>
|
|
<option value="accrit">AC Critical</option>
|
|
<option value="burn">Burn</option>
|
|
<option value="cold">Cold</option>
|
|
<option value="compa">Comp. A</option>
|
|
<option value="compc">Comp. C</option>
|
|
<option value="critical">Critical</option>
|
|
<option value="delirium">Delirium</option>
|
|
<option value="disintegrate">Disintegrate</option>
|
|
<option value="domination">Domination</option>
|
|
<option value="electrical">Electrical</option>
|
|
<option value="fatal">Fatal</option>
|
|
<option value="fieldnegate">Field Negate</option>
|
|
<option value="fumes">Fumes</option>
|
|
<option value="heat">Heat</option>
|
|
<option value="extrarf">Hits +1 RF</option>
|
|
<option value="ignites">Ignites</option>
|
|
<option value="ignoresac">Ignores AC</option>
|
|
<option value="intercept">Intercept</option>
|
|
<option value="irritant">Irritant</option>
|
|
<option value="knockdown">Knock Down</option>
|
|
<option value="ko">Knock Out</option>
|
|
<option value="mutate">Mutate</option>
|
|
<option value="paralysis">Paralysis</option>
|
|
<option value="poison">Poison</option>
|
|
<option value="powerdrain">Power Drain</option>
|
|
<option value="radiation">Radiation</option>
|
|
<option value="scatter">Scatter</option>
|
|
<option value="seeker">Seeker</option>
|
|
<option value="shortout">Short Out</option>
|
|
<option value="slam">Slam</option>
|
|
<option value="sonic">Sonic</option>
|
|
<option value="stun">Stun</option>
|
|
<option value="subsonics">Subsonics</option>
|
|
<option value="tangle">Tangle</option>
|
|
</select>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-xs-12">
|
|
<div class="row middle-xs">
|
|
<div class="col-xs-2">Tech Lvl.</div>
|
|
<div class="col-xs-2">
|
|
<select name="attr_tech">
|
|
<option value="1">I</option>
|
|
<option value="2">II</option>
|
|
<option value="3">III</option>
|
|
<option value="4">IV</option>
|
|
<option value="5">V</option>
|
|
</select>
|
|
</div>
|
|
<div class="col-xs-2">Tech Rank</div>
|
|
<div class="col-xs-2">
|
|
<select name="attr_tech_rank">
|
|
<option value="N">N</option>
|
|
<option value="A">A</option>
|
|
<option value="B">B</option>
|
|
<option value="C">C</option>
|
|
<option value="D">D</option>
|
|
<option value="E">E</option>
|
|
<option value="F">F</option>
|
|
<option value="G">G</option>
|
|
<option value="H">H</option>
|
|
<option value="I">I</option>
|
|
<option value="J">J</option>
|
|
</select>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-xs-12">Add attack rank to damage
|
|
<input class="short check-flag" type="checkbox" name="attr_skilldmg"/>
|
|
</div>
|
|
<div class="col-xs-12">Notes</div>
|
|
<div class="col-xs-12">
|
|
<textarea name="attr_notes"></textarea>
|
|
</div>
|
|
</div>
|
|
</fieldset>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-xs-4">
|
|
<div class="row middle-xs">
|
|
<div class="col-xs-12">
|
|
<label>Description</label>
|
|
</div>
|
|
<div class="col-xs-12">
|
|
<textarea name="attr_description"> </textarea>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="tab3">
|
|
<div class="sheet-container">
|
|
<h2>Ability Scores</h2>
|
|
<div class="panel">
|
|
<label class="tab">
|
|
<input class="short rollSwitch" type="radio" value="0" name="attr_rollSwitch"/><span>Reset</span>
|
|
</label>
|
|
<label class="tab">
|
|
<input class="short rollSwitch" type="radio" value="1" name="attr_rollSwitch"/><span>Roll</span>
|
|
</label>
|
|
<label class="tab">
|
|
<input class="short rollSwitch" type="radio" value="2" name="attr_rollSwitch"/><span>Input</span>
|
|
</label>
|
|
<input class="rollSwitch" type="hidden" name="attr_rollSwitch" value="2"/>
|
|
<div class="tab-score-roll">
|
|
<div class="row">
|
|
<div class="col-xs-6">
|
|
<h2>Physical Abilities</h2>
|
|
<div class="row">
|
|
<div class="col-xs-1"></div>
|
|
<div class="col-xs-2" title="Initially Rolled Score">Score</div>
|
|
</div>
|
|
<div class="row middle-xs">
|
|
<div class="col-xs-1">
|
|
<label class="ability">PS</label>
|
|
</div>
|
|
<div class="col-xs-1"><span name="attr_PS_rolled"> </span></div>
|
|
</div>
|
|
<div class="row middle-xs">
|
|
<div class="col-xs-1">
|
|
<label class="ability">DX</label>
|
|
</div>
|
|
<div class="col-xs-1"><span name="attr_DX_rolled"> </span></div>
|
|
</div>
|
|
<div class="row middle-xs">
|
|
<div class="col-xs-1">
|
|
<label class="ability">CN</label>
|
|
</div>
|
|
<div class="col-xs-1"><span name="attr_CN_rolled"></span></div>
|
|
</div>
|
|
</div>
|
|
<div class="col-xs-6 post">
|
|
<h2>Mental Abilities</h2>
|
|
<div class="row">
|
|
<div class="col-xs-1"></div>
|
|
<div class="col-xs-2" title="Initially Rolled Score">Score</div>
|
|
</div>
|
|
<div class="row middle-xs">
|
|
<div class="col-xs-1">
|
|
<label class="ability">IN</label>
|
|
</div>
|
|
<div class="col-xs-1"><span name="attr_IN_rolled"></span></div>
|
|
</div>
|
|
<div class="row middle-xs">
|
|
<div class="col-xs-1">
|
|
<label class="ability">MS</label>
|
|
</div>
|
|
<div class="col-xs-1"><span name="attr_MS_rolled"></span></div>
|
|
</div>
|
|
<div class="row middle-xs">
|
|
<div class="col-xs-1">
|
|
<label class="ability">CH</label>
|
|
</div>
|
|
<div class="col-xs-1"><span name="attr_CH_rolled"></span></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="tab-score-input">
|
|
<div class="row">
|
|
<div class="col-xs-6">
|
|
<h2>Physical Abilities</h2>
|
|
<div class="row">
|
|
<div class="col-xs-1"></div>
|
|
<div class="col-xs-2" title="Initially Rolled Score">Score</div>
|
|
</div>
|
|
<div class="row middle-xs">
|
|
<div class="col-xs-1">
|
|
<label class="ability">PS</label>
|
|
</div>
|
|
<div class="col-xs-1">
|
|
<input class="tab4" type="text" name="attr_PS_rolled" title="@{PS_rolled}"/>
|
|
</div>
|
|
<div class="col-xs-1"><span name="attr_PS_rolled"> </span></div>
|
|
</div>
|
|
<div class="row middle-xs">
|
|
<div class="col-xs-1">
|
|
<label class="ability">DX </label>
|
|
</div>
|
|
<div class="col-xs-2">
|
|
<input class="tab4" type="text" name="attr_DX_rolled" title="@{DX_rolled}"/>
|
|
</div>
|
|
<div class="col-xs-1"><span name="attr_DX_rolled"> </span></div>
|
|
</div>
|
|
<div class="row middle-xs">
|
|
<div class="col-xs-1">
|
|
<label class="ability">CN </label>
|
|
</div>
|
|
<div class="col-xs-2">
|
|
<input class="tab4" type="text" name="attr_CN_rolled" title="@{CN_rolled}"/>
|
|
</div>
|
|
<div class="col-xs-1"><span name="attr_CN_rolled"></span></div>
|
|
</div>
|
|
</div>
|
|
<div class="col-xs-6 post">
|
|
<h2>Mental Abilities</h2>
|
|
<div class="row">
|
|
<div class="col-xs-1"></div>
|
|
<div class="col-xs-2" title="Initially Rolled Score">Score</div>
|
|
</div>
|
|
<div class="row middle-xs">
|
|
<div class="col-xs-1">
|
|
<label class="ability">IN </label>
|
|
</div>
|
|
<div class="col-xs-2">
|
|
<input class="tab4" type="text" name="attr_IN_rolled" title="@{IN_rolled}"/>
|
|
</div>
|
|
<div class="col-xs-1"><span name="attr_IN_rolled"></span></div>
|
|
</div>
|
|
<div class="row middle-xs">
|
|
<div class="col-xs-1">
|
|
<label class="ability">MS </label>
|
|
</div>
|
|
<div class="col-xs-2">
|
|
<input class="tab4" type="text" name="attr_MS_rolled" title="@{MS_rolled}"/>
|
|
</div>
|
|
<div class="col-xs-1"><span name="attr_MS_rolled"></span></div>
|
|
</div>
|
|
<div class="row middle-xs">
|
|
<div class="col-xs-1">
|
|
<label class="ability">CH </label>
|
|
</div>
|
|
<div class="col-xs-2">
|
|
<input class="tab4" type="text" name="attr_CH_rolled" title="@{CH_rolled}"/>
|
|
</div>
|
|
<div class="col-xs-1"><span name="attr_CH_rolled"></span></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<h2>Hit Points</h2>
|
|
<div class="panel">
|
|
<input class="short hpRollSwitch" type="hidden" value="0"/>
|
|
<label class="tab">
|
|
<input class="short hpRollSwitch" type="radio" value="0" name="attr_hpRollSwitch"/><span>Reset</span>
|
|
</label>
|
|
<label class="tab">
|
|
<input class="short hpRollSwitch" type="radio" value="1" name="attr_hpRollSwitch"/><span>Roll</span>
|
|
</label>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<input type="hidden" name="attr_PS" title="@PS"/>
|
|
<input type="hidden" name="attr_PS_modifier" title="@PS_modifier"/>
|
|
<input type="hidden" name="attr_PS_rolled" title="@PS_rolled"/>
|
|
<input type="hidden" name="attr_PS_advanced" title="@PS_advanced"/>
|
|
<input type="hidden" name="attr_PS_tmp" title="@PS_tmp"/>
|
|
<input type="hidden" name="attr_PS_mod" title="@PS_mod"/>
|
|
<input type="hidden" name="attr_DX" title="@DX"/>
|
|
<input type="hidden" name="attr_DX_modifier" title="@DX_modifier"/>
|
|
<input type="hidden" name="attr_DX_rolled" title="@DX_rolled"/>
|
|
<input type="hidden" name="attr_DX_advanced" title="@DX_advanced"/>
|
|
<input type="hidden" name="attr_DX_tmp" title="@DX_tmp"/>
|
|
<input type="hidden" name="attr_DX_mod" title="@DX_mod"/>
|
|
<input type="hidden" name="attr_CN" title="@CN"/>
|
|
<input type="hidden" name="attr_CN_modifier" title="@CN_modifier"/>
|
|
<input type="hidden" name="attr_CN_rolled" title="@CN_rolled"/>
|
|
<input type="hidden" name="attr_CN_advanced" title="@CN_advanced"/>
|
|
<input type="hidden" name="attr_CN_tmp" title="@CN_tmp"/>
|
|
<input type="hidden" name="attr_CN_mod" title="@CN_mod"/>
|
|
<input type="hidden" name="attr_IN" title="@IN"/>
|
|
<input type="hidden" name="attr_IN_modifier" title="@IN_modifier"/>
|
|
<input type="hidden" name="attr_IN_rolled" title="@IN_rolled"/>
|
|
<input type="hidden" name="attr_IN_advanced" title="@IN_advanced"/>
|
|
<input type="hidden" name="attr_IN_tmp" title="@IN_tmp"/>
|
|
<input type="hidden" name="attr_IN_mod" title="@IN_mod"/>
|
|
<input type="hidden" name="attr_MS" title="@MS"/>
|
|
<input type="hidden" name="attr_MS_modifier" title="@MS_modifier"/>
|
|
<input type="hidden" name="attr_MS_rolled" title="@MS_rolled"/>
|
|
<input type="hidden" name="attr_MS_advanced" title="@MS_advanced"/>
|
|
<input type="hidden" name="attr_MS_tmp" title="@MS_tmp"/>
|
|
<input type="hidden" name="attr_MS_mod" title="@MS_mod"/>
|
|
<input type="hidden" name="attr_CH" title="@CH"/>
|
|
<input type="hidden" name="attr_CH_modifier" title="@CH_modifier"/>
|
|
<input type="hidden" name="attr_CH_rolled" title="@CH_rolled"/>
|
|
<input type="hidden" name="attr_CH_advanced" title="@CH_advanced"/>
|
|
<input type="hidden" name="attr_CH_tmp" title="@CH_tmp"/>
|
|
<input type="hidden" name="attr_CH_mod" title="@CH_mod"/>
|
|
<input type="hidden" name="attr_import" title="@import"/>
|
|
<input type="hidden" name="attr_DR_physical" title="@DR_physical" value="0"/>
|
|
<input type="hidden" name="attr_DR_mental" title="@DR_mental" value="0"/>
|
|
<input type="hidden" name="attr_DR_energy" title="@DR_energy" value="0"/>
|
|
<input type="hidden" name="attr_CS_physical" title="@CS_physical" value="0"/>
|
|
<input type="hidden" name="attr_CS_mental" title="@CS_mental" value="0"/>
|
|
<input type="hidden" name="attr_CS_energy" title="@CS_energy" value="0"/>
|
|
<input type="hidden" name="attr_RF_physical" title="@RF_physical" value="0"/>
|
|
<input type="hidden" name="attr_RF_mental" title="@RF_mental" value="0"/>
|
|
<input type="hidden" name="attr_RF_energy" title="@RF_energy" value="0"/>
|
|
<script type="text/worker">
|
|
|
|
/*
|
|
* Dices 3.1
|
|
*/
|
|
(function() {
|
|
'use strict';
|
|
|
|
|
|
window.dices = {
|
|
|
|
Version: '3.1.3',
|
|
|
|
|
|
// TODO: add 'dropped' array to return dropped rolls
|
|
|
|
|
|
/**
|
|
* Parses a dice string into an object
|
|
*
|
|
* @param {string} dice string to be parsed (e.g '1d6')
|
|
* @return {object} return an object containing count, sides, and modifier values
|
|
*/
|
|
parseRoll: function(roll) {
|
|
|
|
var dice = {
|
|
count: 0,
|
|
sides: 0,
|
|
modifier: 0
|
|
},
|
|
indexAt = -1,
|
|
i = 0,
|
|
l = 0;
|
|
|
|
for (i=0, l=roll.length; i < l; i += 1) {
|
|
|
|
// finds index of 'd' or 'D' character in dice string
|
|
if (roll.charCodeAt(i) === 100 || roll.charCodeAt(i) === 68) {
|
|
indexAt = i;
|
|
break;
|
|
}
|
|
|
|
}
|
|
|
|
if (indexAt === -1) {
|
|
return dice;
|
|
}
|
|
else {
|
|
|
|
dice.count = roll.substring(0, indexAt) >> 0;
|
|
|
|
for (i=0, l=roll.length; i < l; i+=1) {
|
|
if (roll.charCodeAt(i) === 43) {
|
|
dice.sides = roll.substring(indexAt+1, i) >> 0;
|
|
indexAt = i;
|
|
dice.modifier = roll.substring(indexAt+1, l) >> 0;
|
|
break;
|
|
}
|
|
else if (roll.charCodeAt(i) === 45) {
|
|
dice.sides = roll.substring(indexAt+1, i) >> 0;
|
|
indexAt = i;
|
|
dice.modifier = (roll.substring(indexAt+1, l) >> 0) * -1;
|
|
break;
|
|
}
|
|
}
|
|
|
|
if (!dice.sides) {
|
|
dice.sides = roll.substring(indexAt+1, roll.length) >> 0;
|
|
}
|
|
}
|
|
|
|
return dice;
|
|
|
|
},
|
|
|
|
|
|
/**
|
|
* Rolls the dice, and handles the result based on optional parameters, then returns the result object
|
|
*
|
|
* @param {object} dice The dice to be rolled, if string, calls parseDice.
|
|
* @param {object} options An object containing optional parameter overrides.
|
|
* @return {object} A object containing all of the roll results, as well as the total.
|
|
*/
|
|
roll: function(dice, options) {
|
|
|
|
var parsedDice = {
|
|
count: 0,
|
|
sides: 0,
|
|
modifier: 0
|
|
},
|
|
result = {
|
|
rolls: [],
|
|
total: 0
|
|
},
|
|
rolled = 0,
|
|
i = 0,
|
|
l = 0;
|
|
|
|
options = dices.extend({
|
|
multiMod : false, // Add modifier to for each dice rolled, instead of only once.
|
|
dropLowest : 0, // Useful for quick character stats generation
|
|
dropHighest : 0, // I don't know why you'd need this, but here it is anyway!
|
|
multiplier : 1 // Probably only useful for very specific needs. Multies roll, before adding modifier
|
|
}, options);
|
|
|
|
|
|
if (!dice) {
|
|
return result;
|
|
}
|
|
else if (typeof dice === 'string') {
|
|
parsedDice = dices.parseRoll(dice);
|
|
}
|
|
else if (typeof dice === 'object' && dices.isInt(dice.count) && dices.isInt(dice.sides)) {
|
|
parsedDice = dice;
|
|
}
|
|
else {
|
|
return result;
|
|
}
|
|
|
|
for (i = 0, l = parsedDice.count; i < l; i += 1) {
|
|
|
|
rolled = Math.round(Math.random() * (parsedDice.sides - 1)) + 1;
|
|
rolled = rolled * options.multiplier;
|
|
|
|
if (options.multiMod) {
|
|
rolled += parsedDice.modifier;
|
|
}
|
|
|
|
result.rolls.push(rolled);
|
|
|
|
}
|
|
|
|
// TODO: Re-sort array back to original state, instead of leaving it sorted by value
|
|
if (dices.isInt(options.dropLowest) && options.dropLowest > 0) {
|
|
|
|
result.rolls.sort(dices.highSort);
|
|
result.rolls.length -= options.dropLowest;
|
|
|
|
}
|
|
if (dices.isInt(options.dropHighest) && options.dropLowest > 0) {
|
|
|
|
result.rolls.sort(dices.lowSort);
|
|
result.rolls.length -= options.dropHighest;
|
|
|
|
}
|
|
|
|
for (i = 0, l = result.rolls.length; i < l; i+=1) {
|
|
|
|
result.total += result.rolls[i];
|
|
|
|
}
|
|
|
|
if (!options.multiMod) {
|
|
result.total += parsedDice.modifier;
|
|
}
|
|
|
|
return result;
|
|
|
|
},
|
|
|
|
|
|
/**
|
|
* Overrides values of one object with the values of another.
|
|
*/
|
|
extend: function(a, b) {
|
|
|
|
b = b || {};
|
|
|
|
Object.keys(b).forEach(function(key) {
|
|
a[key] = b[key];
|
|
});
|
|
|
|
return a;
|
|
|
|
},
|
|
|
|
|
|
/**
|
|
* Sorts from highest to lowest.
|
|
*/
|
|
highSort: function(a, b) {
|
|
|
|
return b - a;
|
|
|
|
},
|
|
|
|
|
|
/**
|
|
* Sorts from lowest to highest.
|
|
*/
|
|
lowSort: function(a, b) {
|
|
|
|
return a - b;
|
|
|
|
},
|
|
|
|
|
|
/**
|
|
* Returns true if parameter is integer.
|
|
*/
|
|
isInt: function(n) {
|
|
|
|
return n === (n >> 0);
|
|
|
|
},
|
|
|
|
|
|
version: function() {
|
|
|
|
return dices.Version;
|
|
|
|
},
|
|
|
|
|
|
};
|
|
|
|
|
|
})();
|
|
//------ Functions ---------
|
|
|
|
const update_ability = function (name) {
|
|
console.log("update_ability: " + name);
|
|
let update = {};
|
|
getAttrs([name + "_rolled", name + "_advanced", name + "_tmp"], (v) => {
|
|
console.log(v);
|
|
update[name] =
|
|
(parseInt(v[name + "_rolled"]) || 0) +
|
|
(parseInt(v[name + "_advanced"]) || 0) +
|
|
(parseInt(v[name + "_tmp"]) || 0);
|
|
console.log(update);
|
|
setAttrs(update, { silent: false });
|
|
});
|
|
};
|
|
// @todo: this should probably just pick up equipped shields, rather than having a specific shield setting.
|
|
const getShieldCS = function (shield_size, shield_material) {
|
|
console.log("getShieldCS");
|
|
console.log(shield_size);
|
|
console.log(shield_material);
|
|
let CS_physical = 0,
|
|
CS_energy = 0,
|
|
CS_mental = 0;
|
|
|
|
CS_physical =
|
|
parseInt(shield_size) > 2 ? -2 : parseInt(shield_size) > 1 ? -1 : 0;
|
|
|
|
CS_physical =
|
|
parseInt(shield_material) === 1
|
|
? CS_physical
|
|
: parseInt(shield_material) === 2
|
|
? CS_physical
|
|
: parseInt(shield_material) === 3
|
|
? CS_physical - 1
|
|
: parseInt(shield_material) === 4
|
|
? CS_physical - 1
|
|
: parseInt(shield_material) === 5
|
|
? CS_physical - 2
|
|
: parseInt(shield_material) === 6
|
|
? CS_physical
|
|
: CS_physical;
|
|
CS_energy = parseInt(shield_material) === 6 ? CS_physical - 3 : CS_physical;
|
|
return { CS_physical, CS_energy, CS_mental };
|
|
};
|
|
|
|
const update_ac = function () {
|
|
console.log("update_ac");
|
|
let update = {};
|
|
let dr_total = 0;
|
|
let ac_total = 0;
|
|
let count = 0;
|
|
let enc_attrs = ["shield_CS"];
|
|
getSectionIDs("repeating_armour", (armourIds) => {
|
|
_.each(armourIds, (currentID, i) => {
|
|
enc_attrs.push(`repeating_armour_${currentID}_weight`);
|
|
enc_attrs.push(`repeating_armour_${currentID}_count`);
|
|
enc_attrs.push(`repeating_armour_${currentID}_equipped`);
|
|
});
|
|
getAttrs(enc_attrs, (v) => {});
|
|
});
|
|
};
|
|
|
|
const update_enc = function () {
|
|
console.log("update_enc");
|
|
let update = {};
|
|
let wtotal = 0;
|
|
let DR_physical = 0;
|
|
let DR_energy = 0;
|
|
let CS = {};
|
|
let RFtotal = 0;
|
|
let CS_physical = 0;
|
|
let CS_mental = 0;
|
|
let CS_energy = 0;
|
|
let count = 0;
|
|
let PSfactor = 1;
|
|
let spdfactor = 1;
|
|
let enc_attrs = [
|
|
"DR_physical",
|
|
"DR_energy",
|
|
"coin_gp",
|
|
"coin_nk",
|
|
"coin_sp",
|
|
"coin_dm",
|
|
"PS",
|
|
"PS_rolled",
|
|
"PS_advanced",
|
|
"PS_tmp",
|
|
"encumbrance",
|
|
"encumbrance_max",
|
|
"speed",
|
|
"speed_max",
|
|
"burden",
|
|
"burden_max",
|
|
];
|
|
getSectionIDs("repeating_gear", (gearIds) => {
|
|
_.each(gearIds, (currentID, i) => {
|
|
enc_attrs.push(`repeating_gear_${currentID}_weight`);
|
|
enc_attrs.push(`repeating_gear_${currentID}_count`);
|
|
enc_attrs.push(`repeating_gear_${currentID}_equipped`);
|
|
});
|
|
|
|
getSectionIDs("repeating_armour", (armourIds) => {
|
|
_.each(armourIds, (currentID, i) => {
|
|
enc_attrs.push(`repeating_armour_${currentID}_weight`);
|
|
enc_attrs.push(`repeating_armour_${currentID}_count`);
|
|
enc_attrs.push(`repeating_armour_${currentID}_equipped`);
|
|
enc_attrs.push(`repeating_armour_${currentID}_powered`);
|
|
enc_attrs.push(`repeating_armour_${currentID}_enc_factor`);
|
|
enc_attrs.push(`repeating_armour_${currentID}_spd_factor`);
|
|
enc_attrs.push(`repeating_armour_${currentID}_PS_factor`);
|
|
enc_attrs.push(`repeating_armour_${currentID}_shield_size`);
|
|
enc_attrs.push(`repeating_armour_${currentID}_shield_material`);
|
|
enc_attrs.push(`repeating_armour_${currentID}_CS_mental`);
|
|
enc_attrs.push(`repeating_armour_${currentID}_DR_energy`);
|
|
enc_attrs.push(`repeating_armour_${currentID}_DR_physical`);
|
|
enc_attrs.push(`repeating_armour_${currentID}_RF_physical`);
|
|
});
|
|
getAttrs(enc_attrs, (v) => {
|
|
console.log(v);
|
|
if (v["speed_max"] === undefined) {
|
|
v["speed_max"] = v["speed"];
|
|
update["speed_max"] = v["speed"];
|
|
}
|
|
["coin_gp", "coin_sp", "coin_nk", "coin_dm"].forEach((type) => {
|
|
let coinweight =
|
|
isNaN(parseInt(v[`${type}`], 10)) === false
|
|
? parseInt(v[`${type}`], 10)
|
|
: 0;
|
|
// use roughly correct weights for different materials as per g/cm3
|
|
if (type === "coin_gp") {
|
|
wtotal += coinweight / 100;
|
|
}
|
|
if (type === "coin_sp") {
|
|
wtotal += coinweight / 200;
|
|
}
|
|
if (type === "coin_nk") {
|
|
wtotal += coinweight / 250;
|
|
}
|
|
if (type === "coin_dm") {
|
|
wtotal += coinweight / 1000;
|
|
}
|
|
if (type === "coin_dl") {
|
|
wtotal += coinweight / 1000;
|
|
}
|
|
if (type === "coin_db") {
|
|
wtotal += coinweight / 1000;
|
|
}
|
|
});
|
|
|
|
_.each(gearIds, (currentID, i) => {
|
|
if (
|
|
v[`repeating_gear_${currentID}_weight`] &&
|
|
v[`repeating_gear_${currentID}_equipped`] === "1" &&
|
|
isNaN(parseInt(v[`repeating_gear_${currentID}_weight`], 10)) ===
|
|
false
|
|
) {
|
|
count =
|
|
v[`repeating_gear_${currentID}_count`] &&
|
|
isNaN(parseFloat(v[`repeating_gear_${currentID}_count`])) ===
|
|
false
|
|
? parseFloat(v[`repeating_gear_${currentID}_count`])
|
|
: 1;
|
|
wtotal =
|
|
wtotal +
|
|
parseFloat(v[`repeating_gear_${currentID}_weight`]) * count;
|
|
}
|
|
});
|
|
|
|
_.each(armourIds, (currentID, i) => {
|
|
if (
|
|
v[`repeating_armour_${currentID}_weight`] &&
|
|
v[`repeating_armour_${currentID}_equipped`] === "1" &&
|
|
isNaN(parseInt(v[`repeating_armour_${currentID}_weight`], 10)) ===
|
|
false
|
|
) {
|
|
count =
|
|
v[`repeating_armour_${currentID}_count`] &&
|
|
isNaN(parseFloat(v[`repeating_armour_${currentID}_count`])) ===
|
|
false
|
|
? parseFloat(v[`repeating_armour_${currentID}_count`])
|
|
: 1;
|
|
wtotal =
|
|
wtotal +
|
|
parseFloat(v[`repeating_armour_${currentID}_weight`]) *
|
|
count *
|
|
(isNaN(
|
|
parseFloat(v[`repeating_armour_${currentID}_enc_factor`])
|
|
) === false
|
|
? parseFloat(v[`repeating_armour_${currentID}_enc_factor`])
|
|
: 0.5);
|
|
PSfactor =
|
|
isNaN(
|
|
parseFloat(v[`repeating_armour_${currentID}_PS_factor`])
|
|
) === false
|
|
? v[`repeating_armour_${currentID}_PS_factor`] > PSfactor
|
|
? v[`repeating_armour_${currentID}_PS_factor`]
|
|
: PSfactor
|
|
: PSfactor;
|
|
spdfactor =
|
|
isNaN(
|
|
parseFloat(v[`repeating_armour_${currentID}_spd_factor`])
|
|
) === false
|
|
? v[`repeating_armour_${currentID}_spd_factor`] > spdfactor
|
|
? v[`repeating_armour_${currentID}_spd_factor`]
|
|
: spdfactor
|
|
: spdfactor;
|
|
}
|
|
// update DR_physical
|
|
if (
|
|
v[`repeating_armour_${currentID}_DR_physical`] &&
|
|
v[`repeating_armour_${currentID}_equipped`] === "1" &&
|
|
isNaN(
|
|
parseInt(v[`repeating_armour_${currentID}_DR_physical`], 10)
|
|
) === false
|
|
) {
|
|
DR_physical += parseInt(
|
|
v[`repeating_armour_${currentID}_DR_physical`]
|
|
);
|
|
}
|
|
// update DR_energy
|
|
console.log(
|
|
"DR_energy: ",
|
|
v[`repeating_armour_${currentID}_DR_energy`]
|
|
);
|
|
if (
|
|
v[`repeating_armour_${currentID}_DR_energy`] !== undefined &&
|
|
v[`repeating_armour_${currentID}_equipped`] === "1" &&
|
|
isNaN(
|
|
parseInt(v[`repeating_armour_${currentID}_DR_energy`], 10)
|
|
) === false
|
|
) {
|
|
DR_energy += parseInt(v[`repeating_armour_${currentID}_DR_energy`]);
|
|
} else {
|
|
DR_energy += DR_physical;
|
|
}
|
|
|
|
// update CS
|
|
if (
|
|
v[`repeating_armour_${currentID}_shield_size`] &&
|
|
v[`repeating_armour_${currentID}_shield_material`] &&
|
|
v[`repeating_armour_${currentID}_equipped`] === "1"
|
|
) {
|
|
CS = getShieldCS(
|
|
v[`repeating_armour_${currentID}_shield_size`],
|
|
v[`repeating_armour_${currentID}_shield_material`]
|
|
);
|
|
CS_physical += CS.CS_physical;
|
|
CS_mental += CS.CS_mental;
|
|
CS_energy += CS.CS_energy;
|
|
}
|
|
if (
|
|
v[`repeating_armour_${currentID}_CS_mental`] &&
|
|
v[`repeating_armour_${currentID}_equipped`] === "1"
|
|
) {
|
|
console.log(
|
|
"HELMET: " + v[`repeating_armour_${currentID}_CS_mental`]
|
|
);
|
|
CS_mental += parseInt(v[`repeating_armour_${currentID}_CS_mental`]);
|
|
}
|
|
|
|
// update RF
|
|
if (
|
|
v[`repeating_armour_${currentID}_RF_physical`] &&
|
|
v[`repeating_armour_${currentID}_equipped`] === "1" &&
|
|
isNaN(
|
|
parseInt(v[`repeating_armour_${currentID}_RF_physical`], 10)
|
|
) === false
|
|
) {
|
|
RFtotal += parseInt(v[`repeating_armour_${currentID}_RF_physical`]);
|
|
console.log(CS_physical);
|
|
}
|
|
});
|
|
// console.log(CS_physical);
|
|
update["RF_physical"] = RFtotal;
|
|
update["RF_energy"] = RFtotal;
|
|
update["CS_physical"] = CS_physical;
|
|
update["CS_energy"] = CS_energy;
|
|
update["CS_mental"] = CS_mental;
|
|
update["DR_physical"] = DR_physical;
|
|
update["DR_energy"] = DR_energy;
|
|
update["encumbrance"] = Math.round(wtotal * 10) / 10;
|
|
let PS =
|
|
(parseInt(v["PS_rolled"]) +
|
|
parseInt(v["PS_advanced"]) +
|
|
parseInt(v["PS_tmp"])) *
|
|
PSfactor;
|
|
update["PS"] = PS;
|
|
update["burden"] =
|
|
wtotal > PS * 5
|
|
? "Crushing Weight"
|
|
: wtotal > PS * 3
|
|
? "Immobile"
|
|
: wtotal > PS * 2
|
|
? "Heavily Burdened"
|
|
: wtotal > PS * 1
|
|
? "Burdened"
|
|
: "Normal";
|
|
update["speed"] =
|
|
wtotal > PS * 3
|
|
? 0
|
|
: wtotal > PS * 2
|
|
? Math.floor(parseInt(v["speed_max"]) / 3)
|
|
: wtotal > PS * 1
|
|
? Math.floor((parseInt(v["speed_max"]) / 3) * 2)
|
|
: parseInt(v["speed_max"]) * spdfactor;
|
|
console.log(update);
|
|
setAttrs(update, { silent: true });
|
|
update_mod("PS");
|
|
});
|
|
});
|
|
});
|
|
};
|
|
|
|
const update_mod = function (ability) {
|
|
console.log("update_mod: " + ability);
|
|
let update = {};
|
|
let mod = 6;
|
|
let total = 0;
|
|
let ps_attrs = [ability];
|
|
getAttrs(ps_attrs, (v) => {
|
|
console.log(v);
|
|
console.log(v[ability]);
|
|
total += parseInt(v[ability]);
|
|
if (total < 601) {
|
|
mod = 5;
|
|
}
|
|
if (total < 121) {
|
|
mod = 4;
|
|
}
|
|
if (total < 22) {
|
|
mod = 3;
|
|
}
|
|
if (total < 19) {
|
|
mod = 2;
|
|
}
|
|
if (total < 16) {
|
|
mod = 1;
|
|
}
|
|
if (total < 12) {
|
|
mod = 0;
|
|
}
|
|
if (total < 10) {
|
|
mod = -1;
|
|
}
|
|
if (total < 7) {
|
|
mod = -2;
|
|
}
|
|
if (total < 4) {
|
|
mod = -3;
|
|
}
|
|
if (total < 0) {
|
|
mod = -4;
|
|
}
|
|
if (total < -6) {
|
|
mod = -5;
|
|
}
|
|
if (total < -26) {
|
|
mod = -6;
|
|
}
|
|
update[ability + "_modifier"] = mod;
|
|
setAttrs(update, { silent: true });
|
|
});
|
|
};
|
|
|
|
//------ Events ---------
|
|
|
|
on("sheet:opened", function (eventinfo) {
|
|
console.log("sheet:opened");
|
|
});
|
|
|
|
on("change:import", function (args) {
|
|
console.log("sheet:import", args);
|
|
});
|
|
|
|
on("change:PS_rolled", function (args) {
|
|
console.log("change:PS_rolled");
|
|
update_ability("PS");
|
|
});
|
|
|
|
on("change:PS_advanced", function (args) {
|
|
console.log("change:PS_advanced");
|
|
update_ability("PS");
|
|
});
|
|
|
|
on("change:PS_tmp", function (args) {
|
|
console.log("change:PS_tmp");
|
|
update_ability("PS");
|
|
});
|
|
|
|
on("change:PS", function (args) {
|
|
console.log("PS changed");
|
|
update_mod("PS");
|
|
update_enc();
|
|
});
|
|
|
|
on("change:DX_rolled", function (args) {
|
|
console.log("change:DX_rolled");
|
|
update_ability("DX");
|
|
});
|
|
|
|
on("change:DX_advanced", function (args) {
|
|
console.log("change:DX_advanced");
|
|
update_ability("DX");
|
|
});
|
|
|
|
on("change:DX_tmp", function (args) {
|
|
console.log("change:DX_tmp");
|
|
update_ability("DX");
|
|
});
|
|
|
|
on("change:DX", function (args) {
|
|
console.log("DX changed");
|
|
update_mod("DX");
|
|
});
|
|
|
|
on("change:CN_rolled", function (args) {
|
|
console.log("change:CN_rolled");
|
|
update_ability("CN");
|
|
});
|
|
|
|
on("change:CN_advanced", function (args) {
|
|
console.log("change:CN_advanced");
|
|
update_ability("CN");
|
|
});
|
|
|
|
on("change:CN_tmp", function (args) {
|
|
console.log("change:CN_tmp");
|
|
update_ability("CN");
|
|
});
|
|
|
|
on("change:CN", function (args) {
|
|
console.log("CN changed");
|
|
update_mod("CN");
|
|
});
|
|
|
|
on("change:IN_rolled", function (args) {
|
|
console.log("change:IN_rolled");
|
|
update_ability("IN");
|
|
});
|
|
|
|
on("change:IN_advanced", function (args) {
|
|
console.log("change:IN_advanced");
|
|
update_ability("IN");
|
|
});
|
|
|
|
on("change:IN_tmp", function (args) {
|
|
console.log("change:IN_tmp");
|
|
update_ability("IN");
|
|
});
|
|
|
|
on("change:IN", function (args) {
|
|
console.log("IN changed");
|
|
update_mod("IN");
|
|
});
|
|
|
|
on("change:MS_rolled", function (args) {
|
|
console.log("change:MS_rolled");
|
|
update_ability("MS");
|
|
});
|
|
|
|
on("change:MS_advanced", function (args) {
|
|
console.log("change:MS_advanced");
|
|
update_ability("MS");
|
|
});
|
|
|
|
on("change:MS_tmp", function (args) {
|
|
console.log("change:MS_tmp");
|
|
update_ability("MS");
|
|
});
|
|
|
|
on("change:MS", function (args) {
|
|
console.log("MS changed");
|
|
update_mod("MS");
|
|
});
|
|
|
|
on("change:CH_rolled", function (args) {
|
|
console.log("change:CH_rolled");
|
|
update_ability("CH");
|
|
});
|
|
|
|
on("change:CH_advanced", function (args) {
|
|
console.log("change:CH_advanced");
|
|
update_ability("CH");
|
|
});
|
|
|
|
on("change:CH_tmp", function (args) {
|
|
console.log("change:CH_tmp");
|
|
update_ability("CH");
|
|
});
|
|
|
|
on("change:CH", function (args) {
|
|
console.log("CH changed");
|
|
update_mod("CH");
|
|
});
|
|
|
|
on("change:repeating_gear", function (args) {
|
|
update_enc();
|
|
});
|
|
|
|
on("change:repeating_armour", function (args) {
|
|
console.log("change:repeating_armour");
|
|
update_enc();
|
|
// update_ac();
|
|
});
|
|
|
|
on("change:coin_gp", function (args) {
|
|
update_enc();
|
|
});
|
|
|
|
on("change:coin_nk", function (args) {
|
|
update_enc();
|
|
});
|
|
|
|
on("change:coin_dm", function (args) {
|
|
update_enc();
|
|
});
|
|
|
|
on("change:coin_sp", function (args) {
|
|
update_enc();
|
|
});
|
|
|
|
on("change:rollSwitch", function (args) {
|
|
console.log(args);
|
|
let update = {};
|
|
if (args.newValue == "2") { return }
|
|
if (args.newValue == "1") {
|
|
update["PS_rolled"] = dices.roll("4d6", { dropLowest: 1 }).total;
|
|
update["DX_rolled"] = dices.roll("4d6", { dropLowest: 1 }).total;
|
|
update["CN_rolled"] = dices.roll("4d6", { dropLowest: 1 }).total;
|
|
update["IN_rolled"] = dices.roll("4d6", { dropLowest: 1 }).total;
|
|
update["MS_rolled"] = dices.roll("4d6", { dropLowest: 1 }).total;
|
|
update["CH_rolled"] = dices.roll("4d6", { dropLowest: 1 }).total;
|
|
}
|
|
|
|
if (args.newValue == "0") {
|
|
update["PS_rolled"] = 0;
|
|
update["DX_rolled"] = 0;
|
|
update["IN_rolled"] = 0;
|
|
update["CN_rolled"] = 0;
|
|
update["IN_rolled"] = 0;
|
|
update["MS_rolled"] = 0;
|
|
update["CH_rolled"] = 0;
|
|
}
|
|
setAttrs(update, { silent: true });
|
|
|
|
update_ability("PS");
|
|
update_ability("DX");
|
|
update_ability("CN");
|
|
update_ability("IN");
|
|
update_ability("MS");
|
|
update_ability("CH");
|
|
|
|
update_mod("PS");
|
|
update_mod("DX");
|
|
update_mod("CN");
|
|
update_mod("IN");
|
|
update_mod("MS");
|
|
update_mod("CH");
|
|
});
|
|
|
|
on("change:hpRollSwitch", function (args) {
|
|
console.log("change:hpRollSwitch");
|
|
console.log(args);
|
|
let update = {};
|
|
if (args.newValue == "0") {
|
|
console.log("set hp_max to zero");
|
|
update["hp_max"] = 0;
|
|
setAttrs(update, { silent: true });
|
|
} else {
|
|
let rank, CN;
|
|
getAttrs(["character_rank", "CN"], (v) => {
|
|
console.log("v", v);
|
|
rank = v["character_rank"];
|
|
CN = v["CN"];
|
|
update["hp_max"] = dices.roll(`${CN}d6+${CN}`).total;
|
|
setAttrs(update, { silent: true });
|
|
});
|
|
}
|
|
});
|
|
|
|
</script> |