Files
roll20-character-sheets/Fallout 2d20/sheet.html
T
coyotegrey 278593c798 Beta 2.0 base
includes translation support
2022-04-11 15:09:46 -04:00

4224 lines
237 KiB
HTML

<input type="hidden" class="setting-npc" name="attr_setting_npc" value="0" />
<input type="hidden" class="style-vault-girl" name="attr_style_vault_girl" value="0" />
<input type="hidden" class="style-outline" name="attr_style_outline" value="0" />
<input type="hidden" class="style-pip-boy" name="attr_style_pip_boy" value="0" />
<input type="hidden" class="npc-category" name="attr_npc_category" value="creature" />
<input type="hidden" class="power-armor" name="attr_power_armor" value="0" />
<!-- start interface -->
<div class="interface">
<div class="tabs">
<input type="hidden" class="tabstoggle" name="attr_tab" value="creation" />
<div class="tab-creation"><button type="action"
name="act_creation" data-i18n="creation">S.P.E.C.I.A.L.</button></div>
<div class="tab-character"><button type="action"
name="act_character" data-i18n="character">Character</button></div>
<div class="tab-perks"><button type="action"
name="act_perks" data-i18n="perks">Perks</button></div>
<div class="tab-items"><button type="action"
name="act_items" data-i18n="items">Items</button></div>
<div class="tab-npc"><button type="action"
name="act_npc" data-i18n="npc">NPC</button></div>
<div class="tab-settings"><button type="action"
name="act_settings" data-i18n="settings">Settings</button></div>
</div>
<div class="roll-dice">
<button class="skill character" type="roll" name="roll_skill"
value="&{template:foskill} {{name=@{character_name}}} {{attribute=?{Attribute|Strength,@{strength}[strength]|Perception,@{perception}[perception]|Endurance,@{endurance}[endurance]|Charisma,@{charisma}[charisma]|Intelligence,@{intelligence}[intelligence]|Agility,@{agility}[agility]|Luck,@{luck}[luck]}}} {{skill=?{Skill|Athletics,@{athletics_total}[athletics]|Barter,@{barter_total}[barter]|Big Guns,@{big_guns_total}[big_guns]|Energy Weapons,@{energy_weapons_total}[energy_weapons]|Explosives,@{explosives_total}[explosives]|Lockpick,@{lockpick_total}[lockpick]|Medicine,@{medicine_total}[medicine]|Melee Weapons,@{melee_weapons_total}[melee_weapons]|Pilot,@{pilot_total}[pilot]|Repair,@{repair_total}[repair]|Science,@{science_total}[science]|Small Guns,@{small_guns_total}[small_guns]|Sneak,@{sneak_total}[sneak]|Speech,@{speech_total}[speech]|Survival,@{survival_total}[survival]|Throwing,@{throwing_total}[throwing]|Unarmed,@{unarmed_total}[unarmed]}}} {{attr_num=[[?{Attribute}]]}} {{skill_num=[[?{Skill}]]}} {{target=[[?{Attribute}+?{Skill}]]}} {{dice_num=[[?{Number of dice|2|1|2|3|4|5|6}]]}} {{tag=[[?{Tag skill|No,0|Yes,1}]]}} {{result_1=[[1d20]]}} {{result_2=[[1d20]]}} {{result_3=[[1d20]]}} {{result_4=[[1d20]]}} {{result_5=[[1d20]]}} {{result_6=[[1d20]]}}" />
<button class="skill npc" type="roll" name="roll_skill"
value="&{template:foskill} {{name=@{character_name}}} {{attribute=?{Attribute|Body,@{body}[body]|Mind,@{mind}[mind]}}} {{skill=?{Skill|Melee,@{melee}[melee]|Guns,@{guns}[guns]|Other,@{other}[other]}}} {{attr_num=[[?{Attribute}]]}} {{skill_num=[[?{Skill}]]}} {{target=[[?{Attribute}+?{Skill}]]}} {{dice_num=[[?{Number of dice|2|1|2|3|4|5|6}]]}} {{tag=[[?{Tag skill|No,0|Yes,1}]]}} {{result_1=[[1d20]]}} {{result_2=[[1d20]]}} {{result_3=[[1d20]]}} {{result_4=[[1d20]]}} {{result_5=[[1d20]]}} {{result_6=[[1d20]]}}" />
<button class="cd" type="roll" name="roll_cd"
value="&{template:focd} {{name=@{character_name}}} {{dice_num=[[?{Number of dice|2|1|2|3|4|5|6|7|8|9|10}]]}} {{result_1=[[1d6]]}} {{result_2=[[1d6]]}} {{result_3=[[1d6]]}} {{result_4=[[1d6]]}} {{result_5=[[1d6]]}} {{result_6=[[1d6]]}} {{result_7=[[1d6]]}} {{result_8=[[1d6]]}} {{result_9=[[1d6]]}} {{result_10=[[1d6]]}}" />
</div>
<input type="hidden" class="tabstoggle" name="attr_tab" value="creation" />
<!-- start creation page -->
<div class="grid col1 creation">
<div class="subtabs">
<input type="hidden" class="subtabstoggle" name="attr_subtab" value="origin" />
<div class="tab-origin"><button type="action" name="act_origin" data-i18n="origin">Origin</button></div>
<div class="tab-attributes"><button type="action" name="act_attributes" data-i18n="attributes">Attributes</button></div>
<div class="tab-skills"><button type="action" name="act_skills" data-i18n="skills">Skills</button></div>
<div class="tab-perk"><button type="action" name="act_perk" data-i18n="perk">Perk</button></div>
<div class="tab-derived"><button type="action" name="act_derived" data-i18n="derived">Derived</button></div>
<div class="tab-equipment"><button type="action" name="act_equipment" data-i18n="equipment">Equipment</button></div>
<div class="tab-finalize"><button type="action" name="act_finalize" data-i18n="finalize">Confirm</button></div>
</div>
<input type="hidden" class="subtabstoggle" name="attr_subtab" value="origin" />
<h1 data-i18n="creation-title">S.P.E.C.I.A.L. Profile</h1>
<p class="vb-tip" data-i18n="creation-intro">Please answer a few questions to create your
S.P.E.C.I.A.L. profile.</p>
<div class="origin grid col1">
<h2><span data-i18n="origin-title">1. Describe your Origin</span>
<button class="next" type="action" name="act_next" data-i18n="next">Next</button></h2>
<div class="grid col2 gap">
<div class="grid col2">
<label data-i18n="origin">Origin</label>
<select id="origin" name="attr_origin">
<option value="" data-i18n="choose">Choose</option>
<option value="brotherhood" data-i18n="brotherhood">Brotherhood of Steel</option>
<option value="ghoul" data-i18n="ghoul">Ghoul</option>
<option value="mutant" data-i18n="mutant">Super Mutant</option>
<option value="robot" data-i18n="robot">Mister Handy</option>
<option value="survivor" data-i18n="survivor">Survivor</option>
<option value="vault" data-i18n="vault">Vault Dweller</option>
</select>
</div>
</div>
<input type="hidden" name="attr_origin_choice"
class="origin-choice" value="" />
<!-- start origin panels -->
<div class="origin-brotherhood grid col1">
<h3 data-i18n="origin-brotherhood-title">The Chain that Binds</h3>
<p data-i18n="origin-brotherhood-intro">You gain one additional Tag skill, which must be one of Energy
Weapons, Science, or Repair.</p>
<div class="grid col2 gap">
<div class="grid col2">
<label data-i18n="tag">Tag skill</label>
<select id="brotherhood-tag" name="attr_brotherhood_tag">
<option value="" data-i18n="choose">Choose</option>
<option value="energy_weapons" data-i18n="energy_weapons">Energy Weapons</option>
<option value="science" data-i18n="science">Science</option>
<option value="repair" data-i18n="repair">Repair</option>
</select>
</div>
</div>
</div>
<div class="origin-ghoul grid col1">
<h3 data-i18n="origin-ghoul-title">Necrotic Post-Human</h3>
</div>
<div class="origin-mutant grid col1">
<h3 data-i18n="origin-mutant-title">Forced Evolution</h3>
</div>
<div class="origin-robot grid col1">
<h3 data-i18n="origin-robot-title">Mister Handy Robot</h3>
</div>
<div class="origin-survivor grid col1">
<p data-i18n="origin-survivor-title">You may choose two of the following traits, or one trait
and one additional perk. Each trait has a benefit and
may have an accompanying penalty.</p>
<div class="grid col2 gap">
<div class="grid col2">
<label data-i18n="choice">Choice</label>
<select id="survivor-choice" name="attr_survivor_choice">
<option value="" data-i18n="choose">Choose</option>
<option value="trait" data-i18n="survivor-choice-trait">Two traits</option>
<option value="perk" data-i18n="survivor-choice-perk">One trait / one perk</option>
</select>
</div>
</div>
<div class="grid col2 gap">
<input type="hidden" name="attr_survivor_choice"
class="survivor-choice" value="" />
<div class="grid col2 survivor-trait1">
<label data-i18n="trait">Trait</label>
<select id="survivor-trait1" name="attr_survivor_trait1">
<option value="" data-i18n="choose">Choose</option>
<option value="educated" data-i18n="educated">Educated</option>
<option value="fast_shot" data-i18n="fast_shot">Fast Shot</option>
<option value="gifted" data-i18n="gifted">Gifted</option>
<option value="heavy_handed" data-i18n="heavy_handed">Heavy Handed</option>
<option value="small_frame" data-i18n="small_frame">Small Frame</option>
</select>
</div>
<div class="grid col2 survivor-trait2">
<label data-i18n="trait">Trait</label>
<select id="survivor-trait2" name="attr_survivor_trait2">
<option value="" data-i18n="choose">Choose</option>
<option value="educated" data-i18n="educated">Educated</option>
<option value="fast_shot" data-i18n="fast_shot">Fast Shot</option>
<option value="gifted" data-i18n="gifted">Gifted</option>
<option value="heavy_handed" data-i18n="heavy_handed">Heavy Handed</option>
<option value="small_frame" data-i18n="small_frame">Small Frame</option>
</select>
</div>
<div class="grid col2 survivor-perk">
<label data-i18n="perk">Perk</label>
<select id="survivor-perk" name="attr_survivor_perk">
<option value="" data-i18n="choose">Choose</option>
<option value="action_boy_girl" data-i18n="action_boy_girl">Action Boy/Girl</option>
<option value="adamantine_skeleton" data-i18n="adamantine_skeleton">Adamantine Skeleton</option>
<option value="adrenalin_rush" data-i18n="adrenalin_rush">Adrenalin Rush</option>
<option value="animal_friend" data-i18n="animal_friend">Animal Friend</option>
<option value="aquaboy_aquagirl" data-i18n="aquaboy_aquagirl">Aquaboy/Aquagirl</option>
<option value="armorer" data-i18n="armorer">Armorer</option>
<option value="awareness" data-i18n="awareness">Awareness</option>
<option value="barbarian" data-i18n="barbarian">Barbarian</option>
<option value="basher" data-i18n="basher">Basher</option>
<option value="better_criticals" data-i18n="better_criticals">Better Criticals</option>
<option value="big_leagues" data-i18n="big_leagues">Big Leagues</option>
<option value="black_widow_lady_killer" data-i18n="black_widow_lady_killer">Black Widow/Lady Killer</option>
<option value="blacksmith" data-i18n="blacksmith">Blacksmith</option>
<option value="blitz" data-i18n="blitz">Blitz</option>
<option value="bloody_mess" data-i18n="bloody_mess">Bloody Mess</option>
<option value="can_do_" data-i18n="can_do_">Can Do!</option>
<option value="cap_collector" data-i18n="cap_collector">Cap Collector</option>
<option value="cautious_nature" data-i18n="cautious_nature">Cautious Nature</option>
<option value="center_mass" data-i18n="center_mass">Center Mass</option>
<option value="chem_resistant" data-i18n="chem_resistant">Chem Resistant</option>
<option value="chemist" data-i18n="chemist">Chemist</option>
<option value="commando" data-i18n="commando">Commando</option>
<option value="comprehension" data-i18n="comprehension">Comprehension</option>
<option value="concentrated_fire" data-i18n="concentrated_fire">Concentrated Fire</option>
<option value="daring_nature" data-i18n="daring_nature">Daring Nature</option>
<option value="demolition_expert" data-i18n="demolition_expert">Demolition Expert</option>
<option value="dodger" data-i18n="dodger">Dodger</option>
<option value="dogmeat" data-i18n="dogmeat">Dogmeat</option>
<option value="entomologist" data-i18n="entomologist">Entomologist</option>
<option value="fast_metabolism" data-i18n="fast_metabolism">Fast Metabolism</option>
<option value="faster_healing" data-i18n="faster_healing">Faster Healing</option>
<option value="finesse" data-i18n="finesse">Finesse</option>
<option value="fortune_finder" data-i18n="fortune_finder">Fortune Finder</option>
<option value="ghost" data-i18n="ghost">Ghost</option>
<option value="grim_reaper_s_sprint" data-i18n="grim_reaper_s_sprint">Grim Reaper's Sprint</option>
<option value="gun_fu" data-i18n="gun_fu">Gun Fu</option>
<option value="gun_nut" data-i18n="gun_nut">Gun Nut</option>
<option value="gunslinger" data-i18n="gunslinger">Gunslinger</option>
<option value="hacker" data-i18n="hacker">Hacker</option>
<option value="healer" data-i18n="healer">Healer</option>
<option value="heave_ho_" data-i18n="heave_ho_">Heave Ho!</option>
<option value="hunter" data-i18n="hunter">Hunter</option>
<option value="infiltrator" data-i18n="infiltrator">Infiltrator</option>
<option value="inspirational" data-i18n="inspirational">Inspirational</option>
<option value="intense_training" data-i18n="intense_training">Intense Training</option>
<option value="iron_fist" data-i18n="iron_fist">Iron Fist</option>
<option value="junktown_jerky_vendor" data-i18n="junktown_jerky_vendor">Junktown Jerky Vendor</option>
<option value="jury_rigging" data-i18n="jury_rigging">Jury Rigging</option>
<option value="laser_commander" data-i18n="laser_commander">Laser Commander</option>
<option value="lead_belly" data-i18n="lead_belly">Lead Belly</option>
<option value="life_giver" data-i18n="life_giver">Life Giver</option>
<option value="light_step" data-i18n="light_step">Light Step</option>
<option value="master_thief" data-i18n="master_thief">Master Thief</option>
<option value="medic" data-i18n="medic">Medic</option>
<option value="meltdown" data-i18n="meltdown">Meltdown</option>
<option value="mister_sandman" data-i18n="mister_sandman">Mister Sandman</option>
<option value="moving_target" data-i18n="moving_target">Moving Target</option>
<option value="mysterious_stranger" data-i18n="mysterious_stranger">Mysterious Stranger</option>
<option value="nerd_rage" data-i18n="nerd_rage">Nerd Rage</option>
<option value="night_person" data-i18n="night_person">Night Person</option>
<option value="ninja" data-i18n="ninja">Ninja</option>
<option value="nuclear_physicist" data-i18n="nuclear_physicist">Nuclear Physicist</option>
<option value="pain_train" data-i18n="pain_train">Pain Train</option>
<option value="paralyzing_palm" data-i18n="paralyzing_palm">Paralyzing Palm</option>
<option value="party_boy_party_girl" data-i18n="party_boy_party_girl">Party Boy/Party Girl</option>
<option value="pathfinder" data-i18n="pathfinder">Pathfinder</option>
<option value="pharma_farma" data-i18n="pharma_farma">Pharma Farma</option>
<option value="pickpocket" data-i18n="pickpocket">Pickpocket</option>
<option value="piercing_strike" data-i18n="piercing_strike">Piercing Strike</option>
<option value="pyromaniac" data-i18n="pyromaniac">Pyromaniac</option>
<option value="quick_draw" data-i18n="quick_draw">Quick Draw</option>
<option value="quick_hands" data-i18n="quick_hands">Quick Hands</option>
<option value="rad_resistance" data-i18n="rad_resistance">Rad Resistance</option>
<option value="refractor" data-i18n="refractor">Refractor</option>
<option value="ricochet" data-i18n="ricochet">Ricochet</option>
<option value="rifleman" data-i18n="rifleman">Rifleman</option>
<option value="robotics_expert" data-i18n="robotics_expert">Robotics Expert</option>
<option value="science_" data-i18n="science_">Science!</option>
<option value="scoundrel" data-i18n="scoundrel">Scoundrel</option>
<option value="scrapper" data-i18n="scrapper">Scrapper</option>
<option value="scrounger" data-i18n="scrounger">Scrounger</option>
<option value="shotgun_surgeon" data-i18n="shotgun_surgeon">Shotgun Surgeon</option>
<option value="skilled" data-i18n="skilled">Skilled</option>
<option value="size_matters" data-i18n="size_matters">Size Matters</option>
<option value="slayer" data-i18n="slayer">Slayer</option>
<option value="smooth_talker" data-i18n="smooth_talker">Smooth Talker</option>
<option value="snakeater" data-i18n="snakeater">Snakeater</option>
<option value="sniper" data-i18n="sniper">Sniper</option>
<option value="solar_powered" data-i18n="solar_powered">Solar Powered</option>
<option value="steady_aim" data-i18n="steady_aim">Steady Aim</option>
<option value="strong_back" data-i18n="strong_back">Strong Back</option>
<option value="tag" data-i18n="tag-perk">Tag!</option>
<option value="terrifying_presence" data-i18n="terrifying_presence">Terrifying Presence</option>
<option value="toughness" data-i18n="toughness">Toughness</option>
</select>
</div>
</div>
<input type="hidden" name="attr_survivor_choice"
class="survivor-choice" value="" />
<input class="survivor-trait1" type="hidden"
name="attr_survivor_trait1" value="" />
<input class="survivor-trait2" type="hidden"
name="attr_survivor_trait2" value="" />
<div class="survivor-educated grid col1">
<h3 data-i18n="survivor-educated">Educated</h3>
<p data-i18n="educated-intro">You have one additional tag skill.</p>
<div class="grid col2 gap">
<div class="grid col2">
<label data-i18n="tag">Tag skill</label>
<select id="survivor-tag" name="attr_survivor_tag">
<option value="" data-i18n="choose">Choose</option>
<option value="athletics" data-i18n="athletics">Athletics</option>
<option value="barter" data-i18n="barter">Barter</option>
<option value="big_guns" data-i18n="big_guns">Big Guns</option>
<option value="energy_weapons" data-i18n="energy_weapons">Energy Weapons</option>
<option value="explosives" data-i18n="explosives">Explosives</option>
<option value="lockpick" data-i18n="lockpick">Lockpick</option>
<option value="medicine" data-i18n="medicine">Medicine</option>
<option value="melee_weapons" data-i18n="melee_weapons">Melee Weapons</option>
<option value="pilot" data-i18n="pilot">Pilot</option>
<option value="repair" data-i18n="repair">Repair</option>
<option value="science" data-i18n="science">Science</option>
<option value="small_guns" data-i18n="small_guns">Small Guns</option>
<option value="sneak" data-i18n="sneak">Sneak</option>
<option value="speech" data-i18n="speech">Speech</option>
<option value="survival" data-i18n="survival">Survival</option>
<option value="throwing" data-i18n="throwing">Throwing</option>
<option value="unarmed" data-i18n="unarmed">Unarmed</option>
</select>
</div>
</div>
</div>
<div class="survivor-fastshot grid col1">
<h3 data-i18n="survivor-fastshot">Fast shot</h3>
</div>
<div class="survivor-gifted grid col1">
<h3 data-i18n="survivor-gifted-title">Gifted</h3>
<p data-i18n="survivor-gifted-intro">Choose two S.P.E.C.I.A.L.
attributes and increase them by +1 each.</p>
<div class="grid col2 gap">
<div class="grid col2">
<label data-i18n="attribute">Attribute</label>
<select id="survivor-attr1" name="attr_survivor_attr1">
<option value="" data-i18n="choose">Choose</option>
<option value="strength" data-i18n="strength">Strength</option>
<option value="perception" data-i18n="perception">Perception</option>
<option value="endurance" data-i18n="endurance">Endurance</option>
<option value="charisma" data-i18n="charisma">Charisma</option>
<option value="intelligence" data-i18n="intelligence">Intelligence</option>
<option value="agility" data-i18n="agility">Agility</option>
<option value="luck" data-i18n="luck">Luck</option>
</select>
</div>
<div class="grid col2">
<label data-i18n="attribute">Attribute</label>
<select id="survivor-attr2" name="attr_survivor_attr2">
<option value="" data-i18n="choose">Choose</option>
<option value="strength" data-i18n="strength">Strength</option>
<option value="perception" data-i18n="perception">Perception</option>
<option value="endurance" data-i18n="endurance">Endurance</option>
<option value="charisma" data-i18n="charisma">Charisma</option>
<option value="intelligence" data-i18n="intelligence">Intelligence</option>
<option value="agility" data-i18n="agility">Agility</option>
<option value="luck" data-i18n="luck">Luck</option>
</select>
</div>
</div>
</div>
<div class="survivor-heavy grid col1">
<h3 data-i18n="survivor-heavy">Heavy Handed</h3>
</div>
<div class="survivor-small grid col1">
<h3 data-i18n="survivor-small">Small Frame</h3>
</div>
</div>
<div class="origin-vault grid col1">
<h3 data-i18n="origin-vault">Vault Kid</h3>
<div class="grid col2 gap">
<div class="grid col2">
<label data-i18n="tag">Tag skill</label>
<select id="vault-tag" name="attr_vault_tag">
<option value="" data-i18n="choose">Choose</option>
<option value="athletics" data-i18n="athletics">Athletics</option>
<option value="barter" data-i18n="barter">Barter</option>
<option value="big_guns" data-i18n="big_guns">Big Guns</option>
<option value="energy_weapons" data-i18n="energy_weapons">Energy Weapons</option>
<option value="explosives" data-i18n="explosives">Explosives</option>
<option value="lockpick" data-i18n="lockpick">Lockpick</option>
<option value="medicine" data-i18n="medicine">Medicine</option>
<option value="melee_weapons" data-i18n="melee_weapons">Melee Weapons</option>
<option value="pilot" data-i18n="pilot">Pilot</option>
<option value="repair" data-i18n="repair">Repair</option>
<option value="science" data-i18n="science">Science</option>
<option value="small_guns" data-i18n="small_guns">Small Guns</option>
<option value="sneak" data-i18n="sneak">Sneak</option>
<option value="speech" data-i18n="speech">Speech</option>
<option value="survival" data-i18n="survival">Survival</option>
<option value="throwing" data-i18n="throwing">Throwing</option>
<option value="unarmed" data-i18n="unarmed">Unarmed</option>
</select>
</div>
</div>
</div>
<!-- end origin panels -->
</div>
<div class="attributes grid col1">
<h2><span data-i18n="attributes-title">2. Describe your S.P.E.C.I.A.L. attributes</span>
<button class="prev" type="action" name="act_prev" data-i18n="previous">Previous</button>
<button class="next" type="action" name="act_next" data-i18n="next">Next</button></h2>
<div class="grid col1">
<div class="grid col2 gap">
<div class="grid col2">
<label data-i18n="attribute-points">Attribute Points</label>
<div class="grid col5-derived">
<input type="hidden" name="attr_attribute_points"
value="5" />
<span class="input" name="attr_attribute_points"></span>
<span>+</span>
<input type="number" name="attr_attribute_points_mod" value="" />
<span>=</span>
<input type="hidden" name="attr_attribute_points_total" value="5" />
<span name="attr_attribute_points_total" />
</div>
</div>
</div>
<div class="grid col2 strength">
<label data-i18n="strength">Strength</label>
<span class="input">
<input type="hidden" class="attribute-value"
name="attr_strength" value="5" />
<button type="action" name="act_strength4"
class="value-4">4</button>
<button type="action" name="act_strength5"
class="value-5">5</button>
<button type="action" name="act_strength6"
class="value-6">6</button>
<button type="action" name="act_strength7"
class="value-7">7</button>
<button type="action" name="act_strength8"
class="value-8">8</button>
<button type="action" name="act_strength9"
class="value-9">9</button>
<button type="action" name="act_strength10"
class="value-10">10</button>
<input type="hidden" name="attr_strength_mod"
value="0" />
(+<span name="attr_strength_mod"></span>)
<input type="hidden" name="attr_strength_total"
value="5" />
<span class="total" name="attr_strength_total"></span>
</span>
</div>
<div class="grid col2 perception">
<label data-i18n="perception">Perception</label>
<span class="input">
<input type="hidden" class="attribute-value"
name="attr_perception" value="5" />
<button type="action" name="act_perception4"
class="value-4">4</button>
<button type="action" name="act_perception5"
class="value-5">5</button>
<button type="action" name="act_perception6"
class="value-6">6</button>
<button type="action" name="act_perception7"
class="value-7">7</button>
<button type="action" name="act_perception8"
class="value-8">8</button>
<button type="action" name="act_perception9"
class="value-9">9</button>
<button type="action" name="act_perception10"
class="value-10">10</button>
<input type="hidden" name="attr_perception_mod"
value="0" />
(+<span name="attr_perception_mod"></span>)
<input type="hidden" name="attr_perception_total"
value="5" />
<span class="total" name="attr_perception_total"></span>
</span>
</div>
<div class="grid col2 endurance">
<label data-i18n="endurance">Endurance</label>
<span class="input">
<input type="hidden" class="attribute-value"
name="attr_endurance" value="5" />
<button type="action" name="act_endurance4"
class="value-4">4</button>
<button type="action" name="act_endurance5"
class="value-5">5</button>
<button type="action" name="act_endurance6"
class="value-6">6</button>
<button type="action" name="act_endurance7"
class="value-7">7</button>
<button type="action" name="act_endurance8"
class="value-8">8</button>
<button type="action" name="act_endurance9"
class="value-9">9</button>
<button type="action" name="act_endurance10"
class="value-10">10</button>
<input type="hidden" name="attr_endurance_mod"
value="0" />
(+<span name="attr_endurance_mod"></span>)
<input type="hidden" name="attr_endurance_total"
value="5" />
<span class="total" name="attr_endurance_total"></span>
</span>
</div>
<div class="grid col2 charisma">
<label data-i18n="charisma">Charisma</label>
<span class="input">
<input type="hidden" name="attr_origin_choice"
class="origin-choice" value="" />
<input type="hidden" class="attribute-value"
name="attr_charisma" value="5" />
<button type="action" name="act_charisma4"
class="value-4">4</button>
<button type="action" name="act_charisma5"
class="value-5">5</button>
<button type="action" name="act_charisma6"
class="value-6">6</button>
<button type="action" name="act_charisma7"
class="value-7">7</button>
<button type="action" name="act_charisma8"
class="value-8">8</button>
<button type="action" name="act_charisma9"
class="value-9">9</button>
<button type="action" name="act_charisma10"
class="value-10">10</button>
<input type="hidden" name="attr_charisma_mod"
value="0" />
(+<span name="attr_charisma_mod"></span>)
<input type="hidden" name="attr_charisma_total"
value="5" />
<span class="total" name="attr_charisma_total"></span>
</span>
</div>
<div class="grid col2 intelligence">
<label data-i18n="intelligence">Intelligence</label>
<span class="input">
<input type="hidden" name="attr_origin_choice"
class="origin-choice" value="" />
<input type="hidden" class="attribute-value"
name="attr_intelligence" value="5" />
<button type="action" name="act_intelligence4"
class="value-4">4</button>
<button type="action" name="act_intelligence5"
class="value-5">5</button>
<button type="action" name="act_intelligence6"
class="value-6">6</button>
<button type="action" name="act_intelligence7"
class="value-7">7</button>
<button type="action" name="act_intelligence8"
class="value-8">8</button>
<button type="action" name="act_intelligence9"
class="value-9">9</button>
<button type="action" name="act_intelligence10"
class="value-10">10</button>
<input type="hidden" name="attr_intelligence_mod"
value="0" />
(+<span name="attr_intelligence_mod"></span>)
<input type="hidden" name="attr_intelligence_total"
value="5" />
<span class="total" name="attr_intelligence_total"></span>
</span>
</div>
<div class="grid col2 agility">
<label data-i18n="agility">Agility</label>
<span class="input">
<input type="hidden" class="attribute-value"
name="attr_agility" value="5" />
<button type="action" name="act_agility4"
class="value-4">4</button>
<button type="action" name="act_agility5"
class="value-5">5</button>
<button type="action" name="act_agility6"
class="value-6">6</button>
<button type="action" name="act_agility7"
class="value-7">7</button>
<button type="action" name="act_agility8"
class="value-8">8</button>
<button type="action" name="act_agility9"
class="value-9">9</button>
<button type="action" name="act_agility10"
class="value-10">10</button>
<input type="hidden" name="attr_agility_mod"
value="0" />
(+<span name="attr_agility_mod"></span>)
<input type="hidden" name="attr_agility_total"
value="5" />
<span class="total" name="attr_agility_total"></span>
</span>
</div>
<div class="grid col2 luck">
<label data-i18n="luck">Luck</label>
<span class="input">
<input type="hidden" class="attribute-value"
name="attr_luck" value="5" />
<button type="action" name="act_luck4"
class="value-4">4</button>
<button type="action" name="act_luck5"
class="value-5">5</button>
<button type="action" name="act_luck6"
class="value-6">6</button>
<button type="action" name="act_luck7"
class="value-7">7</button>
<button type="action" name="act_luck8"
class="value-8">8</button>
<button type="action" name="act_luck9"
class="value-9">9</button>
<button type="action" name="act_luck10"
class="value-10">10</button>
<input type="hidden" name="attr_luck_mod"
value="0" />
(+<span name="attr_luck_mod"></span>)
<input type="hidden" name="attr_luck_total"
value="5" />
<input type="hidden" name="attr_luck_total_max"
value="5" />
<span class="total" name="attr_luck_total_max"></span>
</span>
</div>
</div>
</div>
<div class="skills grid col1">
<h2><span data-i18n="skills-title">3. Indicate which skills you possess</span>
<button class="prev" type="action" name="act_prev" data-i18n="previous">Previous</button>
<button class="next" type="action" name="act_next" data-i18n="next">Next</button></h2>
<div class="grid col2 gap">
<div class="grid col2">
<label data-i18n="tag">Tag skill</label>
<select id="skills-tag1" name="attr_skills_tag1">
<option value="" data-i18n="choose">Choose</option>
<option value="athletics" data-i18n="athletics">Athletics</option>
<option value="barter" data-i18n="barter">Barter</option>
<option value="big_guns" data-i18n="big_guns">Big Guns</option>
<option value="energy_weapons" data-i18n="energy_weapons">Energy Weapons</option>
<option value="explosives" data-i18n="explosives">Explosives</option>
<option value="lockpick" data-i18n="lockpick">Lockpick</option>
<option value="medicine" data-i18n="medicine">Medicine</option>
<option value="melee_weapons" data-i18n="melee_weapons">Melee Weapons</option>
<option value="pilot" data-i18n="pilot">Pilot</option>
<option value="repair" data-i18n="repair">Repair</option>
<option value="science" data-i18n="science">Science</option>
<option value="small_guns" data-i18n="small_guns">Small Guns</option>
<option value="sneak" data-i18n="sneak">Sneak</option>
<option value="speech" data-i18n="speech">Speech</option>
<option value="survival" data-i18n="survival">Survival</option>
<option value="throwing" data-i18n="throwing">Throwing</option>
<option value="unarmed" data-i18n="unarmed">Unarmed</option>
</select>
</div>
<div class="grid col2">
<label data-i18n="tag">Tag skill</label>
<select id="skills-tag2" name="attr_skills_tag2">
<option value="" data-i18n="choose">Choose</option>
<option value="athletics" data-i18n="athletics">Athletics</option>
<option value="barter" data-i18n="barter">Barter</option>
<option value="big_guns" data-i18n="big_guns">Big Guns</option>
<option value="energy_weapons" data-i18n="energy_weapons">Energy Weapons</option>
<option value="explosives" data-i18n="explosives">Explosives</option>
<option value="lockpick" data-i18n="lockpick">Lockpick</option>
<option value="medicine" data-i18n="medicine">Medicine</option>
<option value="melee_weapons" data-i18n="melee_weapons">Melee Weapons</option>
<option value="pilot" data-i18n="pilot">Pilot</option>
<option value="repair" data-i18n="repair">Repair</option>
<option value="science" data-i18n="science">Science</option>
<option value="small_guns" data-i18n="small_guns">Small Guns</option>
<option value="sneak" data-i18n="sneak">Sneak</option>
<option value="speech" data-i18n="speech">Speech</option>
<option value="survival" data-i18n="survival">Survival</option>
<option value="throwing" data-i18n="throwing">Throwing</option>
<option value="unarmed" data-i18n="unarmed">Unarmed</option>
</select>
</div>
<div class="grid col2">
<label data-i18n="tag">Tag skill</label>
<select id="skills-tag3" name="attr_skills_tag3">
<option value="" data-i18n="choose">Choose</option>
<option value="athletics" data-i18n="athletics">Athletics</option>
<option value="barter" data-i18n="barter">Barter</option>
<option value="big_guns" data-i18n="big_guns">Big Guns</option>
<option value="energy_weapons" data-i18n="energy_weapons">Energy Weapons</option>
<option value="explosives" data-i18n="explosives">Explosives</option>
<option value="lockpick" data-i18n="lockpick">Lockpick</option>
<option value="medicine" data-i18n="medicine">Medicine</option>
<option value="melee_weapons" data-i18n="melee_weapons">Melee Weapons</option>
<option value="pilot" data-i18n="pilot">Pilot</option>
<option value="repair" data-i18n="repair">Repair</option>
<option value="science" data-i18n="science">Science</option>
<option value="small_guns" data-i18n="small_guns">Small Guns</option>
<option value="sneak" data-i18n="sneak">Sneak</option>
<option value="speech" data-i18n="speech">Speech</option>
<option value="survival" data-i18n="survival">Survival</option>
<option value="throwing" data-i18n="throwing">Throwing</option>
<option value="unarmed" data-i18n="unarmed">Unarmed</option>
</select>
</div>
<div class="grid col2">
<label data-i18n="skill-points">Skill Points</label>
<div class="grid col5-derived">
<input type="hidden" name="attr_skill_points"
value="5" />
<span class="input" name="attr_skill_points"></span>
<span>+</span>
<input type="number" name="attr_skill_points_mod" value="" />
<span>=</span>
<input type="hidden" name="attr_skill_points_total" value="5" />
<span name="attr_skill_points_total" />
</div>
</div>
<div class="skills-grid">
<div class="header" data-i18n="name">Name</div>
<div class="header" data-i18n="tag-name">Tag</div>
<div class="header" data-i18n="points">Points</div>
<div class="header" data-i18n="rank">Rank</div>
<div><label data-i18n="athletics">Athletics</label> [<span data-i18n="strength-abr">STR</span>]</div>
<div><input type="hidden"
name="attr_athletics_tag" value=""
class="tag-skill" />
<span class="tag" data-i18n="yes">yes</span>
<input type="checkbox" name="attr_athletics_tag_mod" value="1" /></div>
<div><input type="number" id="athletics"
name="attr_athletics" value="" min="0"
max="6" /></div>
<div><input type="hidden"
name="attr_athletics_total" value="" />
<span name="attr_athletics_total"></span></div>
<div><label data-i18n="barter">Barter</label> [<span data-i18n="charisma-abr">CHA</span>]</div>
<div><input type="hidden"
name="attr_barter_tag" value=""
class="tag-skill" />
<span class="tag" data-i18n="yes">yes</span>
<input type="checkbox" name="attr_barter_tag_mod" value="1" /></div>
<div><input type="number" id="barter"
name="attr_barter" value="" min="0"
max="6" /></div>
<div><input type="hidden"
name="attr_barter_total" value="" />
<span name="attr_barter_total"></span></div>
<div><label data-i18n="big_guns">Big Guns</label> [<span data-i18n="endurance-abr">END</span>]</div>
<div><input type="hidden"
name="attr_big_guns_tag" value=""
class="tag-skill" />
<span class="tag" data-i18n="yes">yes</span>
<input type="checkbox" name="attr_big_guns_tag_mod" value="1" /></div>
<div><input type="number" id="big_guns"
name="attr_big_guns" value="" min="0"
max="6" /></div>
<div><input type="hidden"
name="attr_big_guns_total" value="" />
<span name="attr_big_guns_total"></span></div>
<div><label data-i18n="energy_weapons">Energy Weapons</label> [<span data-i18n="perception-abr">PER</span>]</div>
<div><input type="hidden"
name="attr_energy_weapons_tag" value=""
class="tag-skill" />
<span class="tag" data-i18n="yes">yes</span>
<input type="checkbox" name="attr_energy_weapons_tag_mod" value="1" /></div>
<div><input type="number" id="energy_weapons"
name="attr_energy_weapons" value="" min="0"
max="6" /></div>
<div><input type="hidden"
name="attr_energy_weapons_total" value="" />
<span name="attr_energy_weapons_total"></span></div>
<div><label data-i18n="explosives">Explosives</label> [<span data-i18n="perception-abr">PER</span>]</div>
<div><input type="hidden"
name="attr_explosives_tag" value=""
class="tag-skill" />
<span class="tag" data-i18n="yes">yes</span>
<input type="checkbox" name="attr_explosives_tag_mod" value="1" /></div>
<div><input type="number" id="explosives"
name="attr_explosives" value="" min="0"
max="6" /></div>
<div><input type="hidden"
name="attr_explosives_total" value="" />
<span name="attr_explosives_total"></span></div>
<div><label data-i18n="lockpick">Lockpick</label> [<span data-i18n="perception-abr">PER</span>]</div>
<div><input type="hidden"
name="attr_lockpick_tag" value=""
class="tag-skill" />
<span class="tag" data-i18n="yes">yes</span>
<input type="checkbox" name="attr_lockpick_tag_mod" value="1" /></div>
<div><input type="number" id="lockpick"
name="attr_lockpick" value="" min="0"
max="6" /></div>
<div><input type="hidden"
name="attr_lockpick_total" value="" />
<span name="attr_lockpick_total"></span></div>
<div><label data-i18n="medicine">Medicine</label> [<span data-i18n="intelligence-abr">INT</span>]</div>
<div><input type="hidden"
name="attr_medicine_tag" value=""
class="tag-skill" />
<span class="tag" data-i18n="yes">yes</span>
<input type="checkbox" name="attr_medicine_tag_mod" value="1" /></div>
<div><input type="number" id="medicine"
name="attr_medicine" value="" min="0"
max="6" /></div>
<div><input type="hidden"
name="attr_medicine_total" value="" />
<span name="attr_medicine_total"></span></div>
<div><label data-i18n="melee_weapons">Melee Weapons</label> [<span data-i18n="strength-abr">STR</span>]</div>
<div><input type="hidden"
name="attr_melee_weapons_tag" value=""
class="tag-skill" />
<span class="tag" data-i18n="yes">yes</span>
<input type="checkbox" name="attr_melee_weapons_tag_mod" value="1" /></div>
<div><input type="number" id="melee_weapons"
name="attr_melee_weapons" value="" min="0"
max="6" /></div>
<div><input type="hidden"
name="attr_melee_weapons_total" value="" />
<span name="attr_melee_weapons_total"></span></div>
<div><label data-i18n="pilot">Pilot</label> [<span data-i18n="perception-abr">PER</span>]</div>
<div><input type="hidden"
name="attr_pilot_tag" value=""
class="tag-skill" />
<span class="tag" data-i18n="yes">yes</span>
<input type="checkbox" name="attr_pilot_tag_mod" value="1" /></div>
<div><input type="number" id="pilot"
name="attr_pilot" value="" min="0"
max="6" /></div>
<div><input type="hidden"
name="attr_pilot_total" value="" />
<span name="attr_pilot_total"></span></div>
</div>
<div class="skills-grid">
<div class="header" data-i18n="name">Name</div>
<div class="header" data-i18n="tag-name">Tag</div>
<div class="header" data-i18n="points">Points</div>
<div class="header" data-i18n="rank">Rank</div>
<div><label data-i18n="repair">Repair</label> [<span data-i18n="intelligence-abr">INT</span>]</div>
<div><input type="hidden"
name="attr_repair_tag" value=""
class="tag-skill" />
<span class="tag" data-i18n="yes">yes</span>
<input type="checkbox" name="attr_repair_tag_mod" value="1" /></div>
<div><input type="number" id="repair"
name="attr_repair" value="" min="0"
max="6" /></div>
<div><input type="hidden"
name="attr_repair_total" value="" />
<span name="attr_repair_total"></span></div>
<div><label data-i18n="science">Science</label> [<span data-i18n="intelligence-abr">INT</span>]</div>
<div><input type="hidden"
name="attr_science_tag" value=""
class="tag-skill" />
<span class="tag" data-i18n="yes">yes</span>
<input type="checkbox" name="attr_science_tag_mod" value="1" /></div>
<div><input type="number" id="science"
name="attr_science" value="" min="0"
max="6" /></div>
<div><input type="hidden"
name="attr_science_total" value="" />
<span name="attr_science_total"></span></div>
<div><label data-i18n="small_guns">Small Guns</label> [<span data-i18n="agility-abr">AGI</span>]</div>
<div><input type="hidden"
name="attr_small_guns_tag" value=""
class="tag-skill" />
<span class="tag" data-i18n="yes">yes</span>
<input type="checkbox" name="attr_small_guns_tag_mod" value="1" /></div>
<div><input type="number" id="small_guns"
name="attr_small_guns" value="" min="0"
max="6" /></div>
<div><input type="hidden"
name="attr_small_guns_total" value="" />
<span name="attr_small_guns_total"></span></div>
<div><label data-i18n="sneak">Sneak</label> [<span data-i18n="agility-abr">AGI</span>]</div>
<div><input type="hidden"
name="attr_sneak_tag" value=""
class="tag-skill" />
<span class="tag" data-i18n="yes">yes</span>
<input type="checkbox" name="attr_sneak_tag_mod" value="1" /></div>
<div><input type="number" id="sneak"
name="attr_sneak" value="" min="0"
max="6" /></div>
<div><input type="hidden"
name="attr_sneak_total" value="" />
<span name="attr_sneak_total"></span></div>
<div><label data-i18n="speech">Speech</label> [<span data-i18n="charisma-abr">CHA</span>]</div>
<div><input type="hidden"
name="attr_speech_tag" value=""
class="tag-skill" />
<span class="tag" data-i18n="yes">yes</span>
<input type="checkbox" name="attr_speech_tag_mod" value="1" /></div>
<div><input type="number" id="speech"
name="attr_speech" value="" min="0"
max="6" /></div>
<div><input type="hidden"
name="attr_speech_total" value="" />
<span name="attr_speech_total"></span></div>
<div><label data-i18n="survival">Survival</label> [<span data-i18n="endurance-abr">END</span>]</div>
<div><input type="hidden"
name="attr_survival_tag" value=""
class="tag-skill" />
<span class="tag" data-i18n="yes">yes</span>
<input type="checkbox" name="attr_survival_tag_mod" value="1" /></div>
<div><input type="number" id="survival"
name="attr_survival" value="" min="0"
max="6" /></div>
<div><input type="hidden"
name="attr_survival_total" value="" />
<span name="attr_survival_total"></span></div>
<div><label data-i18n="throwing">Throwing</label> [<span data-i18n="agility-abr">AGI</span>]</div>
<div><input type="hidden"
name="attr_throwing_tag" value=""
class="tag-skill" />
<span class="tag" data-i18n="yes">yes</span>
<input type="checkbox" name="attr_throwing_tag_mod" value="1" /></div>
<div><input type="number" id="throwing"
name="attr_throwing" value="" min="0"
max="6" /></div>
<div><input type="hidden"
name="attr_throwing_total" value="" />
<span name="attr_throwing_total"></span></div>
<div><label data-i18n="unarmed">Unarmed</label> [<span data-i18n="strength-abr">STR</span>]</div>
<div><input type="hidden"
name="attr_unarmed_tag" value=""
class="tag-skill" />
<span class="tag" data-i18n="yes">yes</span>
<input type="checkbox" name="attr_unarmed_tag_mod" value="1" /></div>
<div><input type="number" id="unarmed"
name="attr_unarmed" value="" min="0"
max="6" /></div>
<div><input type="hidden"
name="attr_unarmed_total" value="" />
<span name="attr_unarmed_total"></span></div>
</div>
</div>
</div>
<div class="perk grid col1">
<h2><span data-i18n="perk-title">4. Indicate your first perk</span>
<button class="prev" type="action" name="act_prev" data-i18n="previous">Previous</button>
<button class="next" type="action" name="act_next" data-i18n="next">Next</button></h2>
<div class="grid col2 gap">
<div class="grid col2">
<label data-i18n="perk">Perk</label>
<select id="perks-starting" name="attr_perks_starting">
<option value="" data-i18n="choose">Choose</option>
<option value="action_boy_girl" data-i18n="action_boy_girl">Action Boy/Girl</option>
<option value="adamantine_skeleton" data-i18n="adamantine_skeleton">Adamantine Skeleton</option>
<option value="adrenalin_rush" data-i18n="adrenalin_rush">Adrenalin Rush</option>
<option value="animal_friend" data-i18n="animal_friend">Animal Friend</option>
<option value="aquaboy_aquagirl" data-i18n="aquaboy_aquagirl">Aquaboy/Aquagirl</option>
<option value="armorer" data-i18n="armorer">Armorer</option>
<option value="awareness" data-i18n="awareness">Awareness</option>
<option value="barbarian" data-i18n="barbarian">Barbarian</option>
<option value="basher" data-i18n="basher">Basher</option>
<option value="better_criticals" data-i18n="better_criticals">Better Criticals</option>
<option value="big_leagues" data-i18n="big_leagues">Big Leagues</option>
<option value="black_widow_lady_killer" data-i18n="black_widow_lady_killer">Black Widow/Lady Killer</option>
<option value="blacksmith" data-i18n="blacksmith">Blacksmith</option>
<option value="blitz" data-i18n="blitz">Blitz</option>
<option value="bloody_mess" data-i18n="bloody_mess">Bloody Mess</option>
<option value="can_do_" data-i18n="can_do_">Can Do!</option>
<option value="cap_collector" data-i18n="cap_collector">Cap Collector</option>
<option value="cautious_nature" data-i18n="cautious_nature">Cautious Nature</option>
<option value="center_mass" data-i18n="center_mass">Center Mass</option>
<option value="chem_resistant" data-i18n="chem_resistant">Chem Resistant</option>
<option value="chemist" data-i18n="chemist">Chemist</option>
<option value="commando" data-i18n="commando">Commando</option>
<option value="comprehension" data-i18n="comprehension">Comprehension</option>
<option value="concentrated_fire" data-i18n="concentrated_fire">Concentrated Fire</option>
<option value="daring_nature" data-i18n="daring_nature">Daring Nature</option>
<option value="demolition_expert" data-i18n="demolition_expert">Demolition Expert</option>
<option value="dodger" data-i18n="dodger">Dodger</option>
<option value="dogmeat" data-i18n="dogmeat">Dogmeat</option>
<option value="entomologist" data-i18n="entomologist">Entomologist</option>
<option value="fast_metabolism" data-i18n="fast_metabolism">Fast Metabolism</option>
<option value="faster_healing" data-i18n="faster_healing">Faster Healing</option>
<option value="finesse" data-i18n="finesse">Finesse</option>
<option value="fortune_finder" data-i18n="fortune_finder">Fortune Finder</option>
<option value="ghost" data-i18n="ghost">Ghost</option>
<option value="grim_reaper_s_sprint" data-i18n="grim_reaper_s_sprint">Grim Reaper's Sprint</option>
<option value="gun_fu" data-i18n="gun_fu">Gun Fu</option>
<option value="gun_nut" data-i18n="gun_nut">Gun Nut</option>
<option value="gunslinger" data-i18n="gunslinger">Gunslinger</option>
<option value="hacker" data-i18n="hacker">Hacker</option>
<option value="healer" data-i18n="healer">Healer</option>
<option value="heave_ho_" data-i18n="heave_ho_">Heave Ho!</option>
<option value="hunter" data-i18n="hunter">Hunter</option>
<option value="infiltrator" data-i18n="infiltrator">Infiltrator</option>
<option value="inspirational" data-i18n="inspirational">Inspirational</option>
<option value="intense_training" data-i18n="intense_training">Intense Training</option>
<option value="iron_fist" data-i18n="iron_fist">Iron Fist</option>
<option value="junktown_jerky_vendor" data-i18n="junktown_jerky_vendor">Junktown Jerky Vendor</option>
<option value="jury_rigging" data-i18n="jury_rigging">Jury Rigging</option>
<option value="laser_commander" data-i18n="laser_commander">Laser Commander</option>
<option value="lead_belly" data-i18n="lead_belly">Lead Belly</option>
<option value="life_giver" data-i18n="life_giver">Life Giver</option>
<option value="light_step" data-i18n="light_step">Light Step</option>
<option value="master_thief" data-i18n="master_thief">Master Thief</option>
<option value="medic" data-i18n="medic">Medic</option>
<option value="meltdown" data-i18n="meltdown">Meltdown</option>
<option value="mister_sandman" data-i18n="mister_sandman">Mister Sandman</option>
<option value="moving_target" data-i18n="moving_target">Moving Target</option>
<option value="mysterious_stranger" data-i18n="mysterious_stranger">Mysterious Stranger</option>
<option value="nerd_rage" data-i18n="nerd_rage">Nerd Rage</option>
<option value="night_person" data-i18n="night_person">Night Person</option>
<option value="ninja" data-i18n="ninja">Ninja</option>
<option value="nuclear_physicist" data-i18n="nuclear_physicist">Nuclear Physicist</option>
<option value="pain_train" data-i18n="pain_train">Pain Train</option>
<option value="paralyzing_palm" data-i18n="paralyzing_palm">Paralyzing Palm</option>
<option value="party_boy_party_girl" data-i18n="party_boy_party_girl">Party Boy/Party Girl</option>
<option value="pathfinder" data-i18n="pathfinder">Pathfinder</option>
<option value="pharma_farma" data-i18n="pharma_farma">Pharma Farma</option>
<option value="pickpocket" data-i18n="pickpocket">Pickpocket</option>
<option value="piercing_strike" data-i18n="piercing_strike">Piercing Strike</option>
<option value="pyromaniac" data-i18n="pyromaniac">Pyromaniac</option>
<option value="quick_draw" data-i18n="quick_draw">Quick Draw</option>
<option value="quick_hands" data-i18n="quick_hands">Quick Hands</option>
<option value="rad_resistance" data-i18n="rad_resistance">Rad Resistance</option>
<option value="refractor" data-i18n="refractor">Refractor</option>
<option value="ricochet" data-i18n="ricochet">Ricochet</option>
<option value="rifleman" data-i18n="rifleman">Rifleman</option>
<option value="robotics_expert" data-i18n="robotics_expert">Robotics Expert</option>
<option value="science_" data-i18n="science_">Science!</option>
<option value="scoundrel" data-i18n="scoundrel">Scoundrel</option>
<option value="scrapper" data-i18n="scrapper">Scrapper</option>
<option value="scrounger" data-i18n="scrounger">Scrounger</option>
<option value="shotgun_surgeon" data-i18n="shotgun_surgeon">Shotgun Surgeon</option>
<option value="skilled" data-i18n="skilled">Skilled</option>
<option value="size_matters" data-i18n="size_matters">Size Matters</option>
<option value="slayer" data-i18n="slayer">Slayer</option>
<option value="smooth_talker" data-i18n="smooth_talker">Smooth Talker</option>
<option value="snakeater" data-i18n="snakeater">Snakeater</option>
<option value="sniper" data-i18n="sniper">Sniper</option>
<option value="solar_powered" data-i18n="solar_powered">Solar Powered</option>
<option value="steady_aim" data-i18n="steady_aim">Steady Aim</option>
<option value="strong_back" data-i18n="strong_back">Strong Back</option>
<option value="tag" data-i18n="tag-perk">Tag!</option>
<option value="terrifying_presence" data-i18n="terrifying_presence">Terrifying Presence</option>
<option value="toughness" data-i18n="toughness">Toughness</option>
</select>
</div>
</div>
</div>
<div class="derived grid col1">
<h2><span data-i18n="derived-title">5. We have calculated the following statistics</span>
<button class="prev" type="action" name="act_prev" data-i18n="previous">Previous</button>
<button class="next" type="action" name="act_next" data-i18n="next">Next</button></h2>
<div class="grid col2 gap">
<div class="grid col2">
<label data-i18n="carry-weight-lbs">Carry Weight (lbs.)</label>
<input type="hidden" name="attr_carry_weight_max"
value="200" />
<span class="input" name="attr_carry_weight_max"></span>
<label data-i18n="base-pdr">Base Physical Damage Resistance</label>
<input type="hidden" name="attr_base_physical_dr"
value="0" />
<span class="input" name="attr_base_physical_dr"></span>
<label data-i18n="base-edr">Base Energy Damage Resistance</label>
<input type="hidden" name="attr_base_energy_dr"
value="0" />
<span class="input" name="attr_base_energy_dr"></span>
<label data-i18n="rad-dr">Radiation Damage Resistance</label>
<input type="hidden" name="attr_base_rad_dr"
value="0" />
<span class="input" name="attr_base_rad_dr"></span>
<label data-i18n="poison-dr">Poison Damage Resistance</label>
<input type="hidden" name="attr_base_poison_dr"
value="0" />
<span class="input" name="attr_base_poison_dr"></span>
</div>
<div class="grid col2">
<label data-i18n="defense">Defense</label>
<input type="hidden" name="attr_defense"
value="1" />
<span class="input" name="attr_defense"></span>
<label data-i18n="initiative">Initiative</label>
<input type="hidden" name="attr_initiative"
value="10" />
<span class="input" name="attr_initiative"></span>
<label data-i18n="health-points">Health Points</label>
<div class="grid col5-derived">
<input type="hidden" name="attr_hp_derived"
value="10" />
<span class="input" name="attr_hp_derived"></span>
<span>+</span>
<input type="number" name="attr_hp_mod" value="" />
<span>=</span>
<input type="hidden" name="attr_hp_max" value="10" />
<span name="attr_hp_max" />
</div>
<label data-i18n="melee-damage">Melee Damage</label>
<span class="input">
<input type="hidden" name="attr_melee_damage"
value="0" class="melee-damage" />
<span>+</span>
<span name="attr_melee_damage" />
<span class="die" />
</span>
</div>
</div>
</div>
<div class="equipment grid col1">
<h2><span data-i18n="equipment-title">6. Select a starting equipment package</span>
<button class="prev" type="action" name="act_prev" data-i18n="previous">Previous</button>
<button class="next" type="action" name="act_next" data-i18n="next">Next</button></h2>
<div class="grid col2 gap">
<div class="grid col2">
<input type="hidden" name="attr_origin_choice"
class="origin-choice" value="" />
<label data-i18n="origin-package">Origin package</label>
<select id="brotherhood-package" class="origin-brotherhood"
name="attr_brotherhood_package">
<option value="" data-i18n="choose">Choose</option>
<option value="steel_initiate" data-i18n="steel_initiate">Brotherhood of Steel Initiate</option>
<option value="steel_scribe" data-i18n="steel_scribe">Brotherhood of Steel Scribe</option>
</select>
<select id="mutant-package" class="origin-mutant"
name="attr_mutant_package">
<option value="" data-i18n="choose">Choose</option>
<option value="brute" data-i18n="brute">Brute</option>
<option value="skirmisher" data-i18n="skirmisher">Skirmisher</option>
</select>
<select id="robot-package" class="origin-robot"
name="attr_robot_package">
<option value="" data-i18n="choose">Choose</option>
<option value="nanny" data-i18n="nanny">Miss Nanny</option>
<option value="farmhand" data-i18n="farmhand">Mister Farmhand</option>
<option value="gutsy" data-i18n="gutsy">Mister Gutsy</option>
<option value="handy" data-i18n="handy">Mister Handy</option>
<option value="nurse" data-i18n="nurse">Nurse Handy</option>
</select>
<select id="wastelander-package" class="origin-survivor origin-ghoul"
name="attr_wastelander_package">
<option value="" data-i18n="choose">Choose</option>
<option value="mercenary" data-i18n="mercenary">Mercenary</option>
<option value="raider" data-i18n="raider">Raider</option>
<option value="settler" data-i18n="settler">Settler</option>
<option value="trader" data-i18n="trader">Trader</option>
<option value="wanderer" data-i18n="wanderer">Wanderer</option>
</select>
<select id="vault-package" class="origin-vault"
name="attr_vault_package">
<option value="" data-i18n="choose">Choose</option>
<option value="resident" data-i18n="resident">Vault-Tec Resident</option>
<option value="security" data-i18n="security">Vault-Tec Security</option>
</select>
</div>
<div class="grid col2">
<label><span data-i18n="personal-trinket">Personal Trinket</span>
<button type="action" name="act_rolltrinket">&#127922;</button></label>
<select id="personal-trinket"
name="attr_personal_trinket">
<option value="" data-i18n="choose">Choose</option>
<option value="1" data-i18n="trinket-1">A gold pocket watch</option>
<option value="2" data-i18n="trinket-2">A garbled holodisk</option>
<option value="3" data-i18n="trinket-3">A brightly colored bandanna</option>
<option value="4" data-i18n="trinket-4">A silver locket</option>
<option value="5" data-i18n="trinket-5">Medal</option>
<option value="6" data-i18n="trinket-6">Potted plant</option>
<option value="7" data-i18n="trinket-7">Tickets to a pre-war event</option>
<option value="8" data-i18n="trinket-8">Wedding ring</option>
<option value="9" data-i18n="trinket-9">Pre-war party invitation</option>
<option value="10" data-i18n="trinket-10">An engraved flip lighter</option>
<option value="11" data-i18n="trinket-11">Loaded casino dice</option>
<option value="12" data-i18n="trinket-12">Id card</option>
<option value="13" data-i18n="trinket-13">Cosmetics case</option>
<option value="14" data-i18n="trinket-14">Musical Instrument</option>
<option value="15" data-i18n="trinket-15">Broken eyeglasses</option>
<option value="16" data-i18n="trinket-16">Necklace made of junk</option>
<option value="17" data-i18n="trinket-17">Pages of an unfinished story</option>
<option value="18" data-i18n="trinket-18">Overdue library book</option>
<option value="19" data-i18n="trinket-19">A postcard with an address</option>
<option value="20" data-i18n="trinket-20">A pre-war neck-tie</option>
</select>
</div>
<div class="grid col2">
<input type="hidden" name="attr_skills_tag1_name"
value="" />
<label><span name="attr_skills_tag1_name"></span></label>
<input type="hidden" name="attr_skills_tag1_package"
value="" />
<span class="input" name="attr_skills_tag1_package"></span>
</div>
<div class="grid col2">
<input type="hidden" name="attr_skills_tag2_name"
value="" />
<label><span name="attr_skills_tag2_name"></span></label>
<input type="hidden" name="attr_skills_tag2_package"
value="" />
<span class="input" name="attr_skills_tag2_package"></span>
</div>
<div class="grid col2">
<input type="hidden" name="attr_skills_tag3_name"
value="" />
<label><span name="attr_skills_tag3_name"></span></label>
<input type="hidden" name="attr_skills_tag3_package"
value="" />
<span class="input" name="attr_skills_tag3_package"></span>
</div>
<div class="grid col2">
<input type="hidden" name="attr_origin_tag_name"
class="origin-tag-name" value="" />
<label><span name="attr_origin_tag_name"></span></label>
<input type="hidden" name="attr_origin_tag_package"
value="" />
<span class="input" name="attr_origin_tag_package"></span>
</div>
</div>
</div>
<div class="finalize grid col1">
<input type="hidden" name="attr_finalized"
class="special-finalized" value="" />
<h2><span data-i18n="finalize-title">You are all done!</span>
<button class="prev" type="action" name="act_prev" data-i18n="previous">Previous</button></h2>
<p><span data-i18n="finalize-intro">Thank you for completing your S.P.E.C.I.A.L. profile. Feel free
to go back and edit your profile at any time.</span> <span class="confirm-note" data-i18n="finalize-note">Click
below to confirm once you are satisfied.</span></p>
<div class="grid col2 gap confirm-button">
<button type="action" name="act_copyspecial" class="btn">&#128077;
<span data-i18n="confirm-profile">Confirm your profile</span></button>
<em data-i18n="confirm-intro">This will copy your selected perks and items to the character
sheet.</em>
</div>
</div>
</div>
<!-- end creation page -->
<!-- start character page -->
<div class="grid col1 character">
<div class="grid col4-csheet gap">
<div class="grid col1 logo">
<h1 data-i18n="fallout">Fallout</h1>
<div role="doc-subtitle" data-i18n="the-rpg">The Roleplaying Game</div>
</div>
<div class="grid col1 nogap">
<label class="character-name" data-i18n="character-name">Character name</label>
<input type="text" id="character-name" name="attr_character_name"
value="" class="character-name" />
</div>
<div class="grid col2">
<label data-i18n="xp-earned">XP earned</label>
<input type="number" id="xp" name="attr_xp" value="" />
<label data-i18n="xp-next">XP next level</label>
<span class="input" name="attr_xp_next_level" />
<label data-i18n="origin">Origin</label>
<input type="hidden" name="attr_origin_name" value="" />
<span class="input" name="attr_origin_name" />
</div>
<div class="grid col1 level">
<span class="header" data-i18n="level">Level</span>
<input type="hidden" name="attr_level" value="1" />
<span class="value" name="attr_level" value="1" />
</div>
</div>
<div class="grid col7 special">
<div class="grid col1 nogap strength">
<span class="header" data-i18n="strength">Strength</span>
<span class="value" name="attr_strength_total" />
</div>
<div class="grid col1 nogap perception">
<span class="header" data-i18n="perception">Perception</span>
<span class="value" name="attr_perception_total" />
</div>
<div class="grid col1 nogap endurance">
<span class="header" data-i18n="endurance">Endurance</span>
<span class="value" name="attr_endurance_total" />
</div>
<div class="grid col1 nogap charisma">
<span class="header" data-i18n="charisma">Charisma</span>
<span class="value" name="attr_charisma_total" />
</div>
<div class="grid col1 nogap intelligence">
<span class="header" data-i18n="intelligence">Intelligence</span>
<span class="value" name="attr_intelligence_total" />
</div>
<div class="grid col1 nogap agility">
<span class="header" data-i18n="agility">Agility</span>
<span class="value" name="attr_agility_total" />
</div>
<div class="grid col1 nogap luck">
<span class="header" data-i18n="luck">Luck</span>
<span class="value" name="attr_luck_total_max" />
</div>
</div>
<div class="grid col5">
<div class="grid col2 luckpts">
<label data-i18n="luck-points">Luck points</label>
<input type="number" id="luck-points" name="attr_luck_total"
value="5" />
</div>
</div>
<div class="grid col2-csheet gap">
<div class="grid col1">
<h2 data-i18n="skills">Skills</h2>
<div class="skills-grid-mini">
<div class="header" data-i18n="name">Name</div>
<div class="header" data-i18n="tag-name">Tag</div>
<div class="header" data-i18n="rank">Rank</div>
<div><button type="roll" name="roll_athletics_total" data-i18n="athletics"
value="&{template:foskill} {{name=@{character_name}}} {{skillname=Athletics}} {{attribute=strength}} {{skill=athletics}} {{attr_num=[[@{strength_total}]]}} {{skill_num=[[@{athletics_total}]]}} {{target=[[@{strength_total}+@{athletics_total}]]}} {{dice_num=[[?{Number of dice|2|1|2|3|4|5|6}]]}} {{tag=[[@{athletics_tag}]]}} {{result_1=[[1d20]]}} {{result_2=[[1d20]]}} {{result_3=[[1d20]]}} {{result_4=[[1d20]]}} {{result_5=[[1d20]]}} {{result_6=[[1d20]]}}">
Athletics</button> [<span data-i18n="strength-abr">STR</span>]</div>
<div><input type="hidden"
name="attr_athletics_tag" value=""
class="tag-skill" />
<input type="hidden" name="attr_athletics_cs"
value="1" />
<span class="tag" data-i18n="yes">yes</span></div>
<div><input type="hidden"
name="attr_athletics_total" value="" />
<span name="attr_athletics_total"></span></div>
<div><button type="roll" name="roll_barter_total" data-i18n="barter"
value="&{template:foskill} {{name=@{character_name}}} {{skillname=Barter}} {{attribute=charisma}} {{skill=barter}} {{attr_num=[[@{charisma_total}]]}} {{skill_num=[[@{barter_total}]]}} {{target=[[@{charisma_total}+@{barter_total}]]}} {{dice_num=[[?{Number of dice|2|1|2|3|4|5|6}]]}} {{tag=[[@{barter_tag}]]}} {{result_1=[[1d20]]}} {{result_2=[[1d20]]}} {{result_3=[[1d20]]}} {{result_4=[[1d20]]}} {{result_5=[[1d20]]}} {{result_6=[[1d20]]}}">
Barter</button> [<span data-i18n="charisma-abr">CHA</span>]</div>
<div><input type="hidden"
name="attr_barter_tag" value=""
class="tag-skill" />
<input type="hidden" name="attr_barter_cs"
value="1" />
<span class="tag" data-i18n="yes">yes</span></div>
<div><input type="hidden"
name="attr_barter_total" value="" />
<span name="attr_barter_total"></span></div>
<div><button type="roll" name="roll_big_guns_total" data-i18n="big_guns"
value="&{template:foskill} {{name=@{character_name}}} {{skillname=Big Guns}} {{attribute=endurance}} {{skill=big_guns}} {{attr_num=[[@{endurance_total}]]}} {{skill_num=[[@{big_guns_total}]]}} {{target=[[@{endurance_total}+@{big_guns_total}]]}} {{dice_num=[[?{Number of dice|2|1|2|3|4|5|6}]]}} {{tag=[[@{big_guns_tag}]]}} {{result_1=[[1d20]]}} {{result_2=[[1d20]]}} {{result_3=[[1d20]]}} {{result_4=[[1d20]]}} {{result_5=[[1d20]]}} {{result_6=[[1d20]]}}">
Big Guns</button> [<span data-i18n="endurance-abr">END</span>]</div>
<div><input type="hidden"
name="attr_big_guns_tag" value=""
class="tag-skill" />
<input type="hidden" name="attr_big_guns_cs"
value="1" />
<span class="tag" data-i18n="yes">yes</span></div>
<div><input type="hidden"
name="attr_big_guns_total" value="" />
<span name="attr_big_guns_total"></span></div>
<div><button type="roll" name="roll_energy_weapons_total" data-i18n="energy_weapons"
value="&{template:foskill} {{name=@{character_name}}} {{skillname=Energy Weapons}} {{attribute=perception}} {{skill=energy_weapons}} {{attr_num=[[@{perception_total}]]}} {{skill_num=[[@{energy_weapons_total}]]}} {{target=[[@{perception_total}+@{energy_weapons_total}]]}} {{dice_num=[[?{Number of dice|2|1|2|3|4|5|6}]]}} {{tag=[[@{energy_weapons_tag}]]}} {{result_1=[[1d20]]}} {{result_2=[[1d20]]}} {{result_3=[[1d20]]}} {{result_4=[[1d20]]}} {{result_5=[[1d20]]}} {{result_6=[[1d20]]}}">
Energy Weapons</button> [<span data-i18n="perception-abr">PER</span>]</div>
<div><input type="hidden"
name="attr_energy_weapons_tag" value=""
class="tag-skill" />
<input type="hidden" name="attr_energy_weapons_cs"
value="1" />
<span class="tag" data-i18n="yes">yes</span></div>
<div><input type="hidden"
name="attr_energy_weapons_total" value="" />
<span name="attr_energy_weapons_total"></span></div>
<div><button type="roll" name="roll_explosives_total" data-i18n="explosives"
value="&{template:foskill} {{name=@{character_name}}} {{skillname=Explosives}} {{attribute=perception}} {{skill=explosives}} {{attr_num=[[@{perception_total}]]}} {{skill_num=[[@{explosives_total}]]}} {{target=[[@{perception_total}+@{explosives_total}]]}} {{dice_num=[[?{Number of dice|2|1|2|3|4|5|6}]]}} {{tag=[[@{explosives_tag}]]}} {{result_1=[[1d20]]}} {{result_2=[[1d20]]}} {{result_3=[[1d20]]}} {{result_4=[[1d20]]}} {{result_5=[[1d20]]}} {{result_6=[[1d20]]}}">
Explosives</button> [<span data-i18n="perception-abr">PER</span>]</div>
<div><input type="hidden"
name="attr_explosives_tag" value=""
class="tag-skill" />
<input type="hidden" name="attr_explosives_cs"
value="1" />
<span class="tag" data-i18n="yes">yes</span></div>
<div><input type="hidden"
name="attr_explosives_total" value="" />
<span name="attr_explosives_total"></span></div>
<div><button type="roll" name="roll_lockpick_total" data-i18n="lockpick"
value="&{template:foskill} {{name=@{character_name}}} {{skillname=Lockpick}} {{attribute=perception}} {{skill=lockpick}} {{attr_num=[[@{perception_total}]]}} {{skill_num=[[@{lockpick_total}]]}} {{target=[[@{perception_total}+@{lockpick_total}]]}} {{dice_num=[[?{Number of dice|2|1|2|3|4|5|6}]]}} {{tag=[[@{lockpick_tag}]]}} {{result_1=[[1d20]]}} {{result_2=[[1d20]]}} {{result_3=[[1d20]]}} {{result_4=[[1d20]]}} {{result_5=[[1d20]]}} {{result_6=[[1d20]]}}">
Lockpick</button> [<span data-i18n="perception-abr">PER</span>]</div>
<div><input type="hidden"
name="attr_lockpick_tag" value=""
class="tag-skill" />
<input type="hidden" name="attr_lockpick_cs"
value="1" />
<span class="tag" data-i18n="yes">yes</span></div>
<div><input type="hidden"
name="attr_lockpick_total" value="" />
<span name="attr_lockpick_total"></span></div>
<div><button type="roll" name="roll_medicine_total" data-i18n="medicine"
value="&{template:foskill} {{name=@{character_name}}} {{skillname=Medicine}} {{attribute=intelligence}} {{skill=medicine}} {{attr_num=[[@{intelligence_total}]]}} {{skill_num=[[@{medicine_total}]]}} {{target=[[@{intelligence_total}+@{medicine_total}]]}} {{dice_num=[[?{Number of dice|2|1|2|3|4|5|6}]]}} {{tag=[[@{medicine_tag}]]}} {{result_1=[[1d20]]}} {{result_2=[[1d20]]}} {{result_3=[[1d20]]}} {{result_4=[[1d20]]}} {{result_5=[[1d20]]}} {{result_6=[[1d20]]}}">
Medicine</button> [<span data-i18n="intelligence-abr">INT</span>]</div>
<div><input type="hidden"
name="attr_medicine_tag" value=""
class="tag-skill" />
<input type="hidden" name="attr_medicine_cs"
value="1" />
<span class="tag" data-i18n="yes">yes</span></div>
<div><input type="hidden"
name="attr_medicine_total" value="" />
<span name="attr_medicine_total"></span></div>
<div><button type="roll" name="roll_melee_weapons_total" data-i18n="melee_weapons"
value="&{template:foskill} {{name=@{character_name}}} {{skillname=Melee Weapons}} {{attribute=strength}} {{skill=melee_weapons}} {{attr_num=[[@{strength_total}]]}} {{skill_num=[[@{melee_weapons_total}]]}} {{target=[[@{strength_total}+@{melee_weapons_total}]]}} {{dice_num=[[?{Number of dice|2|1|2|3|4|5|6}]]}} {{tag=[[@{melee_weapons_tag}]]}} {{result_1=[[1d20]]}} {{result_2=[[1d20]]}} {{result_3=[[1d20]]}} {{result_4=[[1d20]]}} {{result_5=[[1d20]]}} {{result_6=[[1d20]]}}">
Melee Weapons</button> [<span data-i18n="strength-abr">STR</span>]</div>
<div><input type="hidden"
name="attr_melee_weapons_tag" value=""
class="tag-skill" />
<input type="hidden" name="attr_melee_weapons_cs"
value="1" />
<span class="tag" data-i18n="yes">yes</span></div>
<div><input type="hidden"
name="attr_melee_weapons_total" value="" />
<span name="attr_melee_weapons_total"></span></div>
<div><button type="roll" name="roll_pilot_total" data-i18n="pilot"
value="&{template:foskill} {{name=@{character_name}}} {{skillname=Pilot}} {{attribute=perception}} {{skill=pilot}} {{attr_num=[[@{perception_total}]]}} {{skill_num=[[@{pilot_total}]]}} {{target=[[@{perception_total}+@{pilot_total}]]}} {{dice_num=[[?{Number of dice|2|1|2|3|4|5|6}]]}} {{tag=[[@{pilot_tag}]]}} {{result_1=[[1d20]]}} {{result_2=[[1d20]]}} {{result_3=[[1d20]]}} {{result_4=[[1d20]]}} {{result_5=[[1d20]]}} {{result_6=[[1d20]]}}">
Pilot</button> [<span data-i18n="perception-abr">PER</span>]</div>
<div><input type="hidden"
name="attr_pilot_tag" value=""
class="tag-skill" />
<input type="hidden" name="attr_pilot_cs"
value="1" />
<span class="tag" data-i18n="yes">yes</span></div>
<div><input type="hidden"
name="attr_pilot_total" value="" />
<span name="attr_pilot_total"></span></div>
<div><button type="roll" name="roll_repair_total" data-i18n="repair"
value="&{template:foskill} {{name=@{character_name}}} {{skillname=Repair}} {{attribute=intelligence}} {{skill=repair}} {{attr_num=[[@{intelligence_total}]]}} {{skill_num=[[@{repair_total}]]}} {{target=[[@{intelligence_total}+@{repair_total}]]}} {{dice_num=[[?{Number of dice|2|1|2|3|4|5|6}]]}} {{tag=[[@{repair_tag}]]}} {{result_1=[[1d20]]}} {{result_2=[[1d20]]}} {{result_3=[[1d20]]}} {{result_4=[[1d20]]}} {{result_5=[[1d20]]}} {{result_6=[[1d20]]}}">
Repair</button> [<span data-i18n="intelligence-abr">INT</span>]</div>
<div><input type="hidden"
name="attr_repair_tag" value=""
class="tag-skill" />
<input type="hidden" name="attr_repair_cs"
value="1" />
<span class="tag" data-i18n="yes">yes</span></div>
<div><input type="hidden"
name="attr_repair_total" value="" />
<span name="attr_repair_total"></span></div>
<div><button type="roll" name="roll_science_total" data-i18n="science"
value="&{template:foskill} {{name=@{character_name}}} {{skillname=Science}} {{attribute=intelligence}} {{skill=science}} {{attr_num=[[@{intelligence_total}]]}} {{skill_num=[[@{science_total}]]}} {{target=[[@{intelligence_total}+@{science_total}]]}} {{dice_num=[[?{Number of dice|2|1|2|3|4|5|6}]]}} {{tag=[[@{science_tag}]]}} {{result_1=[[1d20]]}} {{result_2=[[1d20]]}} {{result_3=[[1d20]]}} {{result_4=[[1d20]]}} {{result_5=[[1d20]]}} {{result_6=[[1d20]]}}">
Science</button> [<span data-i18n="intelligence-abr">INT</span>]</div>
<div><input type="hidden"
name="attr_science_tag" value=""
class="tag-skill" />
<input type="hidden" name="attr_science_cs"
value="1" />
<span class="tag" data-i18n="yes">yes</span></div>
<div><input type="hidden"
name="attr_science_total" value="" />
<span name="attr_science_total"></span></div>
<div><button type="roll" name="roll_small_guns_total" data-i18n="small_guns"
value="&{template:foskill} {{name=@{character_name}}} {{skillname=Small Guns}} {{attribute=agility}} {{skill=small_guns}} {{attr_num=[[@{agility_total}]]}} {{skill_num=[[@{small_guns_total}]]}} {{target=[[@{agility_total}+@{small_guns_total}]]}} {{dice_num=[[?{Number of dice|2|1|2|3|4|5|6}]]}} {{tag=[[@{small_guns_tag}]]}} {{result_1=[[1d20]]}} {{result_2=[[1d20]]}} {{result_3=[[1d20]]}} {{result_4=[[1d20]]}} {{result_5=[[1d20]]}} {{result_6=[[1d20]]}}">
Small Guns</button> [<span data-i18n="agility-abr">AGI</span>]</div>
<div><input type="hidden"
name="attr_small_guns_tag" value=""
class="tag-skill" />
<input type="hidden" name="attr_small_guns_cs"
value="1" />
<span class="tag" data-i18n="yes">yes</span></div>
<div><input type="hidden"
name="attr_small_guns_total" value="" />
<span name="attr_small_guns_total"></span></div>
<div><button type="roll" name="roll_sneak_total" data-i18n="sneak"
value="&{template:foskill} {{name=@{character_name}}} {{skillname=Sneak}} {{attribute=agility}} {{skill=sneak}} {{attr_num=[[@{agility_total}]]}} {{skill_num=[[@{sneak_total}]]}} {{target=[[@{agility_total}+@{sneak_total}]]}} {{dice_num=[[?{Number of dice|2|1|2|3|4|5|6}]]}} {{tag=[[@{sneak_tag}]]}} {{result_1=[[1d20]]}} {{result_2=[[1d20]]}} {{result_3=[[1d20]]}} {{result_4=[[1d20]]}} {{result_5=[[1d20]]}} {{result_6=[[1d20]]}}">
Sneak</button> [<span data-i18n="agility-abr">AGI</span>]</div>
<div><input type="hidden"
name="attr_sneak_tag" value=""
class="tag-skill" />
<input type="hidden" name="attr_sneak_cs"
value="1" />
<span class="tag" data-i18n="yes">yes</span></div>
<div><input type="hidden"
name="attr_sneak_total" value="" />
<span name="attr_sneak_total"></span></div>
<div><button type="roll" name="roll_speech_total" data-i18n="speech"
value="&{template:foskill} {{name=@{character_name}}} {{skillname=Speech}} {{attribute=charisma}} {{skill=speech}} {{attr_num=[[@{charisma_total}]]}} {{skill_num=[[@{speech_total}]]}} {{target=[[@{charisma_total}+@{speech_total}]]}} {{dice_num=[[?{Number of dice|2|1|2|3|4|5|6}]]}} {{tag=[[@{speech_tag}]]}} {{result_1=[[1d20]]}} {{result_2=[[1d20]]}} {{result_3=[[1d20]]}} {{result_4=[[1d20]]}} {{result_5=[[1d20]]}} {{result_6=[[1d20]]}}">
Speech</button> [<span data-i18n="charisma-abr">CHA</span>]</div>
<div><input type="hidden"
name="attr_speech_tag" value=""
class="tag-skill" />
<input type="hidden" name="attr_speech_cs"
value="1" />
<span class="tag" data-i18n="yes">yes</span></div>
<div><input type="hidden"
name="attr_speech_total" value="" />
<span name="attr_speech_total"></span></div>
<div><button type="roll" name="roll_survival_total" data-i18n="survival"
value="&{template:foskill} {{name=@{character_name}}} {{skillname=Survival}} {{attribute=endurance}} {{skill=survival}} {{attr_num=[[@{endurance_total}]]}} {{skill_num=[[@{survival_total}]]}} {{target=[[@{endurance_total}+@{survival_total}]]}} {{dice_num=[[?{Number of dice|2|1|2|3|4|5|6}]]}} {{tag=[[@{survival_tag}]]}} {{result_1=[[1d20]]}} {{result_2=[[1d20]]}} {{result_3=[[1d20]]}} {{result_4=[[1d20]]}} {{result_5=[[1d20]]}} {{result_6=[[1d20]]}}">
Survival</button> [<span data-i18n="endurance-abr">END</span>]</div>
<div><input type="hidden"
name="attr_survival_tag" value=""
class="tag-skill" />
<input type="hidden" name="attr_survival_cs"
value="1" />
<span class="tag" data-i18n="yes">yes</span></div>
<div><input type="hidden"
name="attr_survival_total" value="" />
<span name="attr_survival_total"></span></div>
<div><button type="roll" name="roll_throwing_total" data-i18n="throwing"
value="&{template:foskill} {{name=@{character_name}}} {{skillname=Throwing}} {{attribute=agility}} {{skill=throwing}} {{attr_num=[[@{agility_total}]]}} {{skill_num=[[@{throwing_total}]]}} {{target=[[@{agility_total}+@{throwing_total}]]}} {{dice_num=[[?{Number of dice|2|1|2|3|4|5|6}]]}} {{tag=[[@{throwing_tag}]]}} {{result_1=[[1d20]]}} {{result_2=[[1d20]]}} {{result_3=[[1d20]]}} {{result_4=[[1d20]]}} {{result_5=[[1d20]]}} {{result_6=[[1d20]]}}">
Throwing</button> [<span data-i18n="agility-abr">AGI</span>]</div>
<div><input type="hidden"
name="attr_throwing_tag" value=""
class="tag-skill" />
<input type="hidden" name="attr_throwing_cs"
value="1" />
<span class="tag" data-i18n="yes">yes</span></div>
<div><input type="hidden"
name="attr_throwing_total" value="" />
<span name="attr_throwing_total"></span></div>
<div><button type="roll" name="roll_unarmed_total" data-i18n="unarmed"
value="&{template:foskill} {{name=@{character_name}}} {{skillname=Unarmed}} {{attribute=strength}} {{skill=unarmed}} {{attr_num=[[@{strength_total}]]}} {{skill_num=[[@{unarmed_total}]]}} {{target=[[@{strength_total}+@{unarmed_total}]]}} {{dice_num=[[?{Number of dice|2|1|2|3|4|5|6}]]}} {{tag=[[@{unarmed_tag}]]}} {{result_1=[[1d20]]}} {{result_2=[[1d20]]}} {{result_3=[[1d20]]}} {{result_4=[[1d20]]}} {{result_5=[[1d20]]}} {{result_6=[[1d20]]}}">
Unarmed</button> [<span data-i18n="strength-abr">STR</span>]</div>
<div><input type="hidden"
name="attr_unarmed_tag" value=""
class="tag-skill" />
<input type="hidden" name="attr_unarmed_cs"
value="1" />
<span class="tag" data-i18n="yes">yes</span></div>
<div><input type="hidden"
name="attr_unarmed_total" value="" />
<span name="attr_unarmed_total"></span></div>
</div>
</div>
<div class="grid col1 combat">
<h2 data-i18n="combat">Combat</h2>
<div class="grid col3 gap">
<div class="grid col7-meleedmg">
<label data-i18n="melee-damage">Melee damage</label>
<span name="attr_melee_damage" />
<span>+</span>
<input type="number" name="attr_melee_damage_mod" value="" />
<span>=</span>
<input type="hidden" name="attr_melee_damage_total"
value="0" />
<span name="attr_melee_damage_total" />
<button type="roll" name="roll_meleedmg"
value="&{template:focd} {{name=@{character_name}}} {{attackname=Melee Damage}} {{dice_num=[[@{melee_damage_total}]]}} {{result_1=[[1d6]]}} {{result_2=[[1d6]]}} {{result_3=[[1d6]]}} {{result_4=[[1d6]]}} {{result_5=[[1d6]]}} {{result_6=[[1d6]]}} {{result_7=[[1d6]]}} {{result_8=[[1d6]]}} {{result_9=[[1d6]]}} {{result_10=[[1d6]]}}" />
</div>
<div class="grid col7-defense">
<label data-i18n="defense">Defense</label>
<span name="attr_defense" />
<span>+</span>
<input type="number" name="attr_defense_mod" value="" />
<span>=</span>
<input type="hidden" name="attr_defense_total"
value="1" />
<span name="attr_defense_total" />
<button type="roll" name="roll_defense"
value="&{template:foattribute} {{name=@{character_name}}} {{attr=Defense}} {{attr_num=@{defense_total}}}" />
</div>
<div class="grid col7-initiative">
<label data-i18n="initiative">Initiative</label>
<span name="attr_initiative" />
<span>+</span>
<input type="number" name="attr_initiative_mod" value="" />
<span>=</span>
<input type="hidden" name="attr_initiative_total"
value="10" />
<span name="attr_initiative_total" />
<button type="roll" name="roll_initiative"
value="&{template:foattribute} {{name=@{character_name}}} {{attr=Initiative}} {{attr_num=[[@{initiative_total} &{tracker}]]}}" />
</div>
</div>
<input type="hidden" name="attr_origin_choice"
class="origin-choice" value="" />
<div class="grid col3 locations gap">
<div class="grid col6-dr gap">
<div class="header" data-i18n="base-dr">Base Damage Resistance</div>
<label class="physical-dr" data-i18n="physical-dr">Physical Damage Resistance</label>
<span name="attr_base_physical_dr" />
<span>+</span>
<input type="number" name="attr_base_physical_dr_mod" value="" />
<span>=</span>
<input type="hidden" name="attr_base_physical_dr_total"
value="0" />
<span name="attr_base_physical_dr_total" />
<label class="energy-dr" data-i18n="eenergy-dr">Energy Damage Resistance</label>
<span name="attr_base_energy_dr" />
<span>+</span>
<input type="number" name="attr_base_energy_dr_mod" value="" />
<span>=</span>
<input type="hidden" name="attr_base_energy_dr_total"
value="0" />
<span name="attr_base_energy_dr_total" />
<label class="rad-dr" data-i18n="rad-dr">Radiation Damage Resistance</label>
<input type="hidden" class="base-dr" name="attr_base_rad_dr" />
<span name="attr_base_rad_dr" />
<span>+</span>
<input type="number" name="attr_base_rad_dr_mod" value="" />
<span>=</span>
<input type="hidden" name="attr_base_rad_dr_total"
value="0" />
<span name="attr_base_rad_dr_total" />
<label class="poison-dr" data-i18n="poison-dr">Poison Damage Resistance</label>
<input type="hidden" class="base-dr" name="attr_base_poison_dr" />
<span name="attr_base_poison_dr" />
<span>+</span>
<input type="number" name="attr_base_poison_dr_mod" value="" />
<span>=</span>
<input type="hidden" name="attr_base_poison_dr_total"
value="0" />
<span name="attr_base_poison_dr_total" />
</div>
<div class="grid col1">
<div class="grid col1">
<div class="header" data-i18n="power-armor">Power Armor</div>
<button type="action" class="power-armor"
name="act_power_armor" data-i18n="power-armor">Power Armor</button>
</div>
<div class="grid col4 location gap">
<div class="header" data-i18n="loc-head">Head (1-2)</div>
<div class="header robot" data-i18n="loc-optics">Optics (1-2)</div>
<label class="physical-dr" data-i18n="physical-dr">Physical Damage Resistance</label>
<input type="text" name="attr_head_pdr"
value="" />
<label class="energy-dr" data-i18n="energy-dr">Energy Damage Resistance</label>
<input type="text" name="attr_head_edr"
value="" />
<label class="rad-dr" data-i18n="rad-dr">Radiation Damage Resistance</label>
<input type="text" name="attr_head_rdr"
value="" />
<label data-i18n="hp">HP</label>
<input type="text" name="attr_head_hp"
value="" />
</div>
</div>
<div class="grid col2 gap">
<input type="hidden" name="attr_hp_ratio" value="100"
class="hp-ratio" />
<div class="header" data-i18n="health-points">Health Points</div>
<label data-i18n="maximum">Maximum</label>
<span class="input" name="attr_hp_max" />
<label data-i18n="current">Current</label>
<input type="number" name="attr_hp" value="10" />
<label data-i18n="radiation">Radiation</label>
<input type="number" name="attr_rad_damage" value="0" />
</div>
<div class="grid col4 location gap slot1">
<div class="header" data-i18n="loc-rarm">Right Arm (12-14)</div>
<div class="header robot" data-i18n="loc-arm1">Arm 1 (9-11)</div>
<label class="physical-dr" data-i18n="physical-dr">Physical Damage Resistance</label>
<input type="text" name="attr_rarm_pdr"
value="" />
<label class="energy-dr" data-i18n="energy-dr">Energy Damage Resistance</label>
<input type="text" name="attr_rarm_edr"
value="" />
<label class="rad-dr" data-i18n="rad-dr">Radiation Damage Resistance</label>
<input type="text" name="attr_rarm_rdr"
value="" />
<label data-i18n="hp">HP</label>
<input type="text" name="attr_rarm_hp"
value="" />
</div>
<div class="grid col4 location gap slot3">
<div class="header" data-i18n="loc-larm">Left Arm (9-11)</div>
<div class="header robot" data-i18n="loc-arm2">Arm 2 (12-14)</div>
<label class="physical-dr" data-i18n="physical-dr">Physical Damage Resistance</label>
<input type="text" name="attr_larm_pdr"
value="" />
<label class="energy-dr" data-i18n="energy-dr">Energy Damage Resistance</label>
<input type="text" name="attr_larm_edr"
value="" />
<label class="rad-dr" data-i18n="rad-dr">Radiation Damage Resistance</label>
<input type="text" name="attr_larm_rdr"
value="" />
<label data-i18n="hp">HP</label>
<input type="text" name="attr_larm_hp"
value="" />
</div>
<div class="grid col4 location gap slot2">
<div class="header" data-i18n="loc-torso">Torso (3-8)</div>
<div class="header robot" data-i18n="loc-main">Main Body (3-8)</div>
<label class="physical-dr" data-i18n="physical-dr">Physical Damage Resistance</label>
<input type="text" name="attr_torso_pdr"
value="" />
<label class="energy-dr" data-i18n="energy-dr">Energy Damage Resistance</label>
<input type="text" name="attr_torso_edr"
value="" />
<label class="rad-dr" data-i18n="rad-dr">Radiation Damage Resistance</label>
<input type="text" name="attr_torso_rdr"
value="" />
<label>HP</label>
<input type="text" name="attr_torso_hp"
value="" />
</div>
<div class="grid col4 location gap slot1">
<div class="header" data-i18n="loc-rleg">Right Leg (18-20)</div>
<div class="header robot" data-i18n="loc-arm3">Arm 3 (15-17)</div>
<label class="physical-dr" data-i18n="physical-dr">Physical Damage Resistance</label>
<input type="text" name="attr_rleg_pdr"
value="" />
<label class="energy-dr" data-i18n="energy-dr">Energy Damage Resistance</label>
<input type="text" name="attr_rleg_edr"
value="" />
<label class="rad-dr" data-i18n="rad-dr">Radiation Damage Resistance</label>
<input type="text" name="attr_rleg_rdr"
value="" />
<label data-i18n="hp">HP</label>
<input type="text" name="attr_rleg_hp"
value="" />
</div>
<div class="grid col4 location gap slot3">
<div class="header" data-i18n="loc-lleg">Left Leg (15-17)</div>
<div class="header robot" data-i18n="loc-thruster">Thruster (18-20)</div>
<label class="physical-dr" data-i18n="physical-dr">Physical Damage Resistance</label>
<input type="text" name="attr_lleg_pdr"
value="" />
<label class="energy-dr" data-i18n="energy-dr">Energy Damage Resistance</label>
<input type="text" name="attr_lleg_edr"
value="" />
<label class="rad-dr" data-i18n="rad-dr">Radiation Damage Resistance</label>
<input type="text" name="attr_lleg_rdr"
value="" />
<label data-i18n="hp">HP</label>
<input type="text" name="attr_lleg_hp"
value="" />
</div>
</div>
</div>
</div>
<div class="grid col1 weapons">
<h2 data-i18n="weapons">Weapons</h2>
<div class="grid col1 nogap weapons-grid">
<div class="rep-grid-header">
<div data-i18n="name">Name</div>
<div data-i18n="skills">Skill</div>
<div data-i18n="damage">Damage</div>
<div data-i18n="effects">Effects</div>
<div data-i18n="type">Type</div>
<div data-i18n="rate">Rate</div>
<div data-i18n="range">Range</div>
<div data-i18n="qualities">Qualities</div>
<div data-i18n="ammo">Ammo</div>
<div data-i18n="lbs">Lbs.</div>
</div>
<fieldset class="repeating_weapons rep-grid">
<input type="hidden" name="attr_weaponskill" value="" />
<input type="hidden" name="attr_weaponskillvalue" value="0" />
<input type="hidden" name="attr_weaponattribute" value="" />
<input type="hidden" name="attr_weaponattributevalue" value="0" />
<input type="hidden" name="attr_weapontag" value="0" />
<div class="grid col2-weapon">
<button type="roll" name="roll_attack" class="skill-btn"
value="&{template:foskill} {{name=@{character_name}}} {{skillverb=attacks with}} {{skillname=@{weaponname}}} {{attribute=@{weaponattribute}}} {{attr_num=[[@{weaponattributevalue}]]}} {{skill=@{weaponskill}}} {{skill_num=[[@{weaponskillvalue}]]}} {{target=[[@{weaponattributevalue}+@{weaponskillvalue}]]}} {{dice_num=[[?{Number of dice|2|1|2|3|4|5|6}]]}} {{tag=[[@{weapontag}]]}} {{result_1=[[1d20]]}} {{result_2=[[1d20]]}} {{result_3=[[1d20]]}} {{result_4=[[1d20]]}} {{result_5=[[1d20]]}} {{result_6=[[1d20]]}}" />
<input type="text" name="attr_weaponname" value="" />
</div>
<div>
<select name="attr_weaponskill">
<option value="" data-i18n="choose">Choose</option>
<option value="big_guns" data-i18n="big_guns">Big Guns</option>
<option value="energy_weapons" data-i18n="energy_weapons">Energy Weapons</option>
<option value="explosives" data-i18n="explosives">Explosives</option>
<option value="melee_weapons" data-i18n="melee_weapons">Melee Weapons</option>
<option value="small_guns" data-i18n="small_guns">Small Guns</option>
<option value="throwing" data-i18n="throwing">Throwing</option>
<option value="unarmed" data-i18n="unarmed">Unarmed</option>
</select>
</div>
<div class="grid col2">
<input type="number" name="attr_weapondamage" value=""
class="melee-damage" />
<button type="roll" class="die" name="roll_weapondamage"
value="&{template:focd} {{name=@{character_name}}} {{attackname=@{weaponname}}} {{dice_num=[[@{weapondamage}]]}} {{result_1=[[1d6]]}} {{result_2=[[1d6]]}} {{result_3=[[1d6]]}} {{result_4=[[1d6]]}} {{result_5=[[1d6]]}} {{result_6=[[1d6]]}} {{result_7=[[1d6]]}} {{result_8=[[1d6]]}} {{result_9=[[1d6]]}} {{result_10=[[1d6]]}}" />
</div>
<div><input type="text" name="attr_weaponeffects" value="" /></div>
<div>
<select name="attr_weapontype">
<option value="" data-i18n="choose">Choose</option>
<option value="physical" data-i18n="physical">Physical</option>
<option value="energy" data-i18n="energy">Energy</option>
<option value="radiation" data-i18n="radiation">Radiation</option>
<option value="poison" data-i18n="poison">Poison</option>
</select>
</div>
<div>
<input type="number" name="attr_weaponrate" value=""
min="0" max="6" />
</div>
<div>
<select name="attr_weaponrange">
<option value=""></option>
<option value="close" data-i18n="range-c">C</option>
<option value="medium" data-i18n="range-m">M</option>
<option value="long" data-i18n="range-l">L</option>
<option value="extreme" data-i18n="range-x">X</option>
</select>
</div>
<div><input type="text" name="attr_weaponqualities" value="" /></div>
<div><input type="number" name="attr_weaponammo" value="" /></div>
<div><input type="number" name="attr_weaponweight" value="" /></div>
</fieldset>
</div>
</div>
</div>
<!-- end character page -->
<!-- start perks page -->
<div class="grid col1 perks">
<h1 data-i18n="perks-traits">Perks & Traits</h1>
<div class="grid col1 nogap perks-grid">
<div class="rep-grid-header">
<div data-i18n="name">Name</div>
<div data-i18n="rank">Rank</div>
<div data-i18n="effect">Effect</div>
</div>
<fieldset class="repeating_perks rep-grid">
<div class="header"><span name="attr_perkname" /></div>
<div><input type="hidden" class="perkrank" name="attr_perkrank" />
<span name="attr_perkrank" /></div>
<div class="editable">
<span name="attr_perkeffect" />
<details>
<summary data-i18n="edit">Edit</summary>
<div class="grid col4 nogap">
<label data-i18n="name">Name</label>
<input type="text" name="attr_perkname"
value="" />
<label>Rank</label>
<input type="number" name="attr_perkrank"
value="" />
<label data-i18n="effect">Effect</label>
<textarea class="span3" name="attr_perkeffect"></textarea>
</div>
</details>
</div>
</fieldset>
</div>
</div>
<!-- end perks page -->
<!-- start items page -->
<div class="grid col1 items">
<h1 data-i18n="inventory">Inventory</h1>
<div class="grid col2-csheet gap">
<div class="grid col1">
<h2 class="grid col2 caps">
<label data-i18n="caps">Caps</label>
<input type="number" id="caps" name="attr_caps" value="0" />
</h2>
<h2 data-i18n="ammo">Ammo</h2>
<div class="grid col1 nogap ammo-grid">
<div class="rep-grid-header">
<div data-i18n="caliber">Caliber</div>
<div data-i18n="quanity">Quantity</div>
</div>
<fieldset class="repeating_ammo rep-grid">
<div><input type="text" name="attr_ammoname"
value="" /></div>
<div><input type="text" name="attr_ammoqty"
value="" /></div>
</fieldset>
</div>
<h2 data-i18n="carry-weight">Carry Weight</h2>
<div class="grid col2">
<input type="hidden" name="attr_carry_weight_weapons" value="0" />
<label data-i18n="weapons-weight">Weapons Weight</label>
<span class="input" name="attr_carry_weight_weapons" />
<input type="hidden" name="attr_carry_weight_gear" value="0" />
<label data-i18n="gear-weight">Gear Weight</label>
<span class="input" name="attr_carry_weight_gear" />
<input type="hidden" name="attr_carry_weight" value="0" />
<label data-i18n="current-carry">Current Carry Weight</label>
<span class="input" name="attr_carry_weight" />
<input type="hidden" name="attr_carry_weight_max" value="0" />
<label data-i18n="maximum-carry">Maximum Carry Weight</label>
<span class="input" name="attr_carry_weight_max" />
</div>
</div>
<div>
<h2 data-i18n="gear">Gear</h2>
<div class="grid col1 nogap items-grid">
<div class="rep-grid-header">
<div data-i18n="name">Name</div>
<div data-i18n="lbs">Lbs.</div>
</div>
<fieldset class="repeating_items rep-grid">
<div><input type="text" name="attr_itemname"
value="" /></div>
<div><input type="number" name="attr_itemweight"
value="" /></div>
</fieldset>
</div>
</div>
</div>
</div>
<!-- end items page -->
<!-- start npc page -->
<div class="grid col1 npc">
<h1 data-i18n="npc">NPC</h1>
<div class="npc-grid">
<div class="grid col1 npc-bio">
<h2><input type="text" name="attr_character_name"
data-i18n-placeholder="name" placeholder="Name" /></h2>
<div class="grid col7-npc-type">
<label data-i18n="level">Level</label>
<input type="number" name="attr_npc_level" value="1" />
<input type="text" name="attr_npc_keywords" data-i18n-placeholder="keywords" placeholder="keywords" />
<select name="attr_npc_type">
<option value="normal" data-i18n="normal">Normal</option>
<option value="mighty" data-i18n="mighty">Mighty</option>
<option value="legendary" data-i18n="legendary">Legendary</option>
<option value="notable" data-i18n="notable">Notable</option>
<option value="major" data-i18n="major">Major</option>
</select>
<select name="attr_npc_category">
<option value="creature" data-i18n="creature">Creature</option>
<option value="character" data-i18n="character">Character</option>
</select>
<input type="number" name="attr_npc_xp" value="10" />
<label data-i18n="xp">XP</label>
</div>
<textarea name="attr_npc_description"
spellcheck=false"></textarea>
</div>
<div class="grid col1 npc-stats">
<div class="grid col5x npc checker">
<div class="header" data-i18n="body">Body</div>
<input type="number" name="attr_body"
value="" />
<div class="header" data-i18n="mind">Mind</div>
<input type="number" name="attr_mind"
value="" />
<div />
<div />
<div class="header" data-i18n="melee">Melee</div>
<input type="number" name="attr_melee"
value="" />
<div class="header" data-i18n="guns">Guns</div>
<input type="number" name="attr_guns"
value="" />
<div class="header" data-i18n="other">Other</div>
<input type="number" name="attr_other"
value="" />
</div>
<div class="grid col7 character checker">
<div class="header" data-i18n="special-s">S</div>
<input type="number" name="attr_strength"
value="" />
<div class="header" data-i18n="special-p">P</div>
<input type="number" name="attr_perception"
value="" />
<div class="header" data-i18n="special-e">E</div>
<input type="number" name="attr_endurance"
value="" />
<div class="header" data-i18n="special-c">C</div>
<input type="number" name="attr_charisma"
value="" />
<div class="header" data-i18n="special-i">I</div>
<input type="number" name="attr_intelligence"
value="" />
<div class="header" data-i18n="special-a">A</div>
<input type="number" name="attr_agility"
value="" />
<div class="header" data-i18n="special-l">L</div>
<input type="number" name="attr_luck"
value="" />
</div>
<div class="grid col1 nogap character">
<input type="hidden" class="npc-edit-skills"
name="attr_npc_edit_skills" />
<div class="header"><span data-i18n="skills">Skills</span>
<label class="switch">
<input type="checkbox" name="attr_npc_edit_skills" value="1" />
<span class="slider"></span>
</label>
</div>
<div class="grid col3 skills character">
<input type="hidden"
name="attr_athletics" value="" class="skill" />
<div class="grid col3">
<input type="hidden" name="attr_athletics_tag"
value="" class="tag-skill" />
<button type="roll" name="roll_athletics" class="skill-btn" data-i18n="athletics"
value="&{template:foskill} {{name=@{character_name}}} {{skillname=Athletics}} {{attribute=strength}} {{skill=athletics}} {{attr_num=[[@{strength}]]}} {{skill_num=[[@{athletics}]]}} {{target=[[@{strength}+@{athletics}]]}} {{dice_num=[[?{Number of dice|2|1|2|3|4|5|6}]]}} {{tag=[[@{athletics_tag}]]}} {{result_1=[[1d20]]}} {{result_2=[[1d20]]}} {{result_3=[[1d20]]}} {{result_4=[[1d20]]}} {{result_5=[[1d20]]}} {{result_6=[[1d20]]}}">
Athletics</button>
<span class="tag static" data-i18n="yes">yes</span>
<span class="static" name="attr_athletics"></span>
<input class="edit" type="checkbox"
name="attr_athletics_tag" value="1" />
<input type="number" name="attr_athletics"
value="" class="edit" />
</div>
<input type="hidden"
name="attr_barter" value="" class="skill" />
<div class="grid col3">
<input type="hidden" name="attr_barter_tag"
value="" class="tag-skill" />
<button type="roll" name="roll_barter" class="skill-btn" data-i18n="barter"
value="&{template:foskill} {{name=@{character_name}}} {{skillname=Barter}} {{attribute=charisma}} {{skill=barter}} {{attr_num=[[@{charisma}]]}} {{skill_num=[[@{barter}]]}} {{target=[[@{charisma}+@{barter}]]}} {{dice_num=[[?{Number of dice|2|1|2|3|4|5|6}]]}} {{tag=[[@{barter_tag}]]}} {{result_1=[[1d20]]}} {{result_2=[[1d20]]}} {{result_3=[[1d20]]}} {{result_4=[[1d20]]}} {{result_5=[[1d20]]}} {{result_6=[[1d20]]}}">
Barter</button>
<span class="tag static" data-i18n="yes">yes</span>
<span class="static" name="attr_barter"></span>
<input class="edit" type="checkbox"
name="attr_barter_tag" value="1" />
<input type="number" name="attr_barter"
value="" class="edit" />
</div>
<input type="hidden"
name="attr_big_guns" value="" class="skill" />
<div class="grid col3">
<input type="hidden" name="attr_big_guns_tag"
value="" class="tag-skill" />
<button type="roll" name="roll_big_guns" class="skill-btn" data-i18n="big_guns"
value="&{template:foskill} {{name=@{character_name}}} {{skillname=Big Guns}} {{attribute=endurance}} {{skill=big_guns}} {{attr_num=[[@{endurance}]]}} {{skill_num=[[@{big_guns}]]}} {{target=[[@{endurance}+@{big_guns}]]}} {{dice_num=[[?{Number of dice|2|1|2|3|4|5|6}]]}} {{tag=[[@{big_guns_tag}]]}} {{result_1=[[1d20]]}} {{result_2=[[1d20]]}} {{result_3=[[1d20]]}} {{result_4=[[1d20]]}} {{result_5=[[1d20]]}} {{result_6=[[1d20]]}}">
Big Guns</button>
<span class="tag static" data-i18n="yes">yes</span>
<span class="static" name="attr_big_guns"></span>
<input class="edit" type="checkbox"
name="attr_big_guns_tag" value="1" />
<input type="number" name="attr_big_guns"
value="" class="edit" />
</div>
<input type="hidden"
name="attr_energy_weapons" value="" class="skill" />
<div class="grid col3">
<input type="hidden" name="attr_energy_weapons_tag"
value="" class="tag-skill" />
<button type="roll" name="roll_energy_weapons" class="skill-btn" data-i18n="energy_weapons"
value="&{template:foskill} {{name=@{character_name}}} {{skillname=Energy Weapons}} {{attribute=perception}} {{skill=energy_weapons}} {{attr_num=[[@{perception}]]}} {{skill_num=[[@{energy_weapons}]]}} {{target=[[@{perception}+@{energy_weapons}]]}} {{dice_num=[[?{Number of dice|2|1|2|3|4|5|6}]]}} {{tag=[[@{energy_weapons_tag}]]}} {{result_1=[[1d20]]}} {{result_2=[[1d20]]}} {{result_3=[[1d20]]}} {{result_4=[[1d20]]}} {{result_5=[[1d20]]}} {{result_6=[[1d20]]}}">
Energy Weapons</button>
<span class="tag static" data-i18n="yes">yes</span>
<span class="static" name="attr_energy_weapons"></span>
<input class="edit" type="checkbox"
name="attr_energy_weapons_tag" value="1" />
<input type="number" name="attr_energy_weapons"
value="" class="edit" />
</div>
<input type="hidden"
name="attr_explosives" value="" class="skill" />
<div class="grid col3">
<input type="hidden" name="attr_explosives_tag"
value="" class="tag-skill" />
<button type="roll" name="roll_explosives" class="skill-btn" data-i18n="explosives"
value="&{template:foskill} {{name=@{character_name}}} {{skillname=Explosives}} {{attribute=perception}} {{skill=explosives}} {{attr_num=[[@{perception}]]}} {{skill_num=[[@{explosives}]]}} {{target=[[@{perception}+@{explosives}]]}} {{dice_num=[[?{Number of dice|2|1|2|3|4|5|6}]]}} {{tag=[[@{explosives_tag}]]}} {{result_1=[[1d20]]}} {{result_2=[[1d20]]}} {{result_3=[[1d20]]}} {{result_4=[[1d20]]}} {{result_5=[[1d20]]}} {{result_6=[[1d20]]}}">
Explosives</button>
<span class="tag static" data-i18n="yes">yes</span>
<span class="static" name="attr_explosives"></span>
<input class="edit" type="checkbox"
name="attr_explosives_tag" value="1" />
<input type="number" name="attr_explosives"
value="" class="edit" />
</div>
<input type="hidden"
name="attr_lockpick" value="" class="skill" />
<div class="grid col3">
<input type="hidden" name="attr_lockpick_tag"
value="" class="tag-skill" />
<button type="roll" name="roll_lockpick" class="skill-btn" data-i18n="lockpick"
value="&{template:foskill} {{name=@{character_name}}} {{skillname=Lockpick}} {{attribute=perception}} {{skill=lockpick}} {{attr_num=[[@{perception}]]}} {{skill_num=[[@{lockpick}]]}} {{target=[[@{perception}+@{lockpick}]]}} {{dice_num=[[?{Number of dice|2|1|2|3|4|5|6}]]}} {{tag=[[@{lockpick_tag}]]}} {{result_1=[[1d20]]}} {{result_2=[[1d20]]}} {{result_3=[[1d20]]}} {{result_4=[[1d20]]}} {{result_5=[[1d20]]}} {{result_6=[[1d20]]}}">
Lockpick</button>
<span class="tag static" data-i18n="yes">yes</span>
<span class="static" name="attr_lockpick"></span>
<input class="edit" type="checkbox"
name="attr_lockpick_tag" value="1" />
<input type="number" name="attr_lockpick"
value="" class="edit" />
</div>
<input type="hidden"
name="attr_medicine" value="" class="skill" />
<div class="grid col3">
<input type="hidden" name="attr_medicine_tag"
value="" class="tag-skill" />
<button type="roll" name="roll_medicine" class="skill-btn" data-i18n="medicine"
value="&{template:foskill} {{name=@{character_name}}} {{skillname=Medicine}} {{attribute=intelligence}} {{skill=medicine}} {{attr_num=[[@{intelligence}]]}} {{skill_num=[[@{medicine}]]}} {{target=[[@{intelligence}+@{medicine}]]}} {{dice_num=[[?{Number of dice|2|1|2|3|4|5|6}]]}} {{tag=[[@{medicine_tag}]]}} {{result_1=[[1d20]]}} {{result_2=[[1d20]]}} {{result_3=[[1d20]]}} {{result_4=[[1d20]]}} {{result_5=[[1d20]]}} {{result_6=[[1d20]]}}">
Medicine</button>
<span class="tag static" data-i18n="yes">yes</span>
<span class="static" name="attr_medicine"></span>
<input class="edit" type="checkbox"
name="attr_medicine_tag" value="1" />
<input type="number" name="attr_medicine"
value="" class="edit" />
</div>
<input type="hidden"
name="attr_melee_weapons" value="" class="skill" />
<div class="grid col3">
<input type="hidden" name="attr_melee_weapons_tag"
value="" class="tag-skill" />
<button type="roll" name="roll_melee_weapons" class="skill-btn" data-i18n="melee_weapons"
value="&{template:foskill} {{name=@{character_name}}} {{skillname=Melee Weapons}} {{attribute=strength}} {{skill=melee_weapons}} {{attr_num=[[@{strength}]]}} {{skill_num=[[@{melee_weapons}]]}} {{target=[[@{strength}+@{melee_weapons}]]}} {{dice_num=[[?{Number of dice|2|1|2|3|4|5|6}]]}} {{tag=[[@{melee_weapons_tag}]]}} {{result_1=[[1d20]]}} {{result_2=[[1d20]]}} {{result_3=[[1d20]]}} {{result_4=[[1d20]]}} {{result_5=[[1d20]]}} {{result_6=[[1d20]]}}">
Melee Weapons</button>
<span class="tag static" data-i18n="yes">yes</span>
<span class="static" name="attr_melee_weapons"></span>
<input class="edit" type="checkbox"
name="attr_melee_weapons_tag" value="1" />
<input type="number" name="attr_melee_weapons"
value="" class="edit" />
</div>
<input type="hidden"
name="attr_pilot" value="" class="skill" />
<div class="grid col3">
<input type="hidden" name="attr_pilot_tag"
value="" class="tag-skill" />
<button type="roll" name="roll_pilot" class="skill-btn" data-i18n="pilot"
value="&{template:foskill} {{name=@{character_name}}} {{skillname=Pilot}} {{attribute=perception}} {{skill=pilot}} {{attr_num=[[@{perception}]]}} {{skill_num=[[@{pilot}]]}} {{target=[[@{perception}+@{pilot}]]}} {{dice_num=[[?{Number of dice|2|1|2|3|4|5|6}]]}} {{tag=[[@{pilot_tag}]]}} {{result_1=[[1d20]]}} {{result_2=[[1d20]]}} {{result_3=[[1d20]]}} {{result_4=[[1d20]]}} {{result_5=[[1d20]]}} {{result_6=[[1d20]]}}">
Pilot</button>
<span class="tag static" data-i18n="yes">yes</span>
<span class="static" name="attr_pilot"></span>
<input class="edit" type="checkbox"
name="attr_pilot_tag" value="1" />
<input type="number" name="attr_pilot"
value="" class="edit" />
</div>
<input type="hidden"
name="attr_repair" value="" class="skill" />
<div class="grid col3">
<input type="hidden" name="attr_repair_tag"
value="" class="tag-skill" />
<button type="roll" name="roll_repair" class="skill-btn" data-i18n="repair"
value="&{template:foskill} {{name=@{character_name}}} {{skillname=Repair}} {{attribute=intelligence}} {{skill=repair}} {{attr_num=[[@{intelligence}]]}} {{skill_num=[[@{repair}]]}} {{target=[[@{intelligence}+@{repair}]]}} {{dice_num=[[?{Number of dice|2|1|2|3|4|5|6}]]}} {{tag=[[@{repair_tag}]]}} {{result_1=[[1d20]]}} {{result_2=[[1d20]]}} {{result_3=[[1d20]]}} {{result_4=[[1d20]]}} {{result_5=[[1d20]]}} {{result_6=[[1d20]]}}">
Repair</button>
<span class="tag static" data-i18n="yes">yes</span>
<span class="static" name="attr_repair"></span>
<input class="edit" type="checkbox"
name="attr_repair_tag" value="1" />
<input type="number" name="attr_repair"
value="" class="edit" />
</div>
<input type="hidden"
name="attr_science" value="" class="skill" />
<div class="grid col3">
<input type="hidden" name="attr_science_tag"
value="" class="tag-skill" />
<button type="roll" name="roll_science" class="skill-btn" data-i18n="science"
value="&{template:foskill} {{name=@{character_name}}} {{skillname=Science}} {{attribute=intelligence}} {{skill=science}} {{attr_num=[[@{intelligence}]]}} {{skill_num=[[@{science}]]}} {{target=[[@{intelligence}+@{science}]]}} {{dice_num=[[?{Number of dice|2|1|2|3|4|5|6}]]}} {{tag=[[@{science_tag}]]}} {{result_1=[[1d20]]}} {{result_2=[[1d20]]}} {{result_3=[[1d20]]}} {{result_4=[[1d20]]}} {{result_5=[[1d20]]}} {{result_6=[[1d20]]}}">
Science</button>
<span class="tag static" data-i18n="yes">yes</span>
<span class="static" name="attr_science"></span>
<input class="edit" type="checkbox"
name="attr_science_tag" value="1" />
<input type="number" name="attr_science"
value="" class="edit" />
</div>
<input type="hidden"
name="attr_small_guns" value="" class="skill" />
<div class="grid col3">
<input type="hidden" name="attr_small_guns_tag"
value="" class="tag-skill" />
<button type="roll" name="roll_small_guns" class="skill-btn" data-i18n="small_guns"
value="&{template:foskill} {{name=@{character_name}}} {{skillname=Small Guns}} {{attribute=agility}} {{skill=small_guns}} {{attr_num=[[@{agility}]]}} {{skill_num=[[@{small_guns}]]}} {{target=[[@{agility}+@{small_guns}]]}} {{dice_num=[[?{Number of dice|2|1|2|3|4|5|6}]]}} {{tag=[[@{small_guns_tag}]]}} {{result_1=[[1d20]]}} {{result_2=[[1d20]]}} {{result_3=[[1d20]]}} {{result_4=[[1d20]]}} {{result_5=[[1d20]]}} {{result_6=[[1d20]]}}">
Small Guns</button>
<span class="tag static" data-i18n="yes">yes</span>
<span class="static" name="attr_small_guns"></span>
<input class="edit" type="checkbox"
name="attr_small_guns_tag" value="1" />
<input type="number" name="attr_small_guns"
value="" class="edit" />
</div>
<input type="hidden"
name="attr_sneak" value="" class="skill" />
<div class="grid col3">
<input type="hidden" name="attr_sneak_tag"
value="" class="tag-skill" />
<button type="roll" name="roll_sneak" class="skill-btn" data-i18n="sneak"
value="&{template:foskill} {{name=@{character_name}}} {{skillname=Sneak}} {{attribute=agility}} {{skill=sneak}} {{attr_num=[[@{agility}]]}} {{skill_num=[[@{sneak}]]}} {{target=[[@{agility}+@{sneak}]]}} {{dice_num=[[?{Number of dice|2|1|2|3|4|5|6}]]}} {{tag=[[@{sneak_tag}]]}} {{result_1=[[1d20]]}} {{result_2=[[1d20]]}} {{result_3=[[1d20]]}} {{result_4=[[1d20]]}} {{result_5=[[1d20]]}} {{result_6=[[1d20]]}}">
Sneak</button>
<span class="tag static" data-i18n="yes">yes</span>
<span class="static" name="attr_sneak"></span>
<input class="edit" type="checkbox"
name="attr_sneak_tag" value="1" />
<input type="number" name="attr_sneak"
value="" class="edit" />
</div>
<input type="hidden"
name="attr_speech" value="" class="skill" />
<div class="grid col3">
<input type="hidden" name="attr_speech_tag"
value="" class="tag-skill" />
<button type="roll" name="roll_speech" class="skill-btn" data-i18n="speech"
value="&{template:foskill} {{name=@{character_name}}} {{skillname=Speech}} {{attribute=charisma}} {{skill=speech}} {{attr_num=[[@{charisma}]]}} {{skill_num=[[@{speech}]]}} {{target=[[@{charisma}+@{speech}]]}} {{dice_num=[[?{Number of dice|2|1|2|3|4|5|6}]]}} {{tag=[[@{speech_tag}]]}} {{result_1=[[1d20]]}} {{result_2=[[1d20]]}} {{result_3=[[1d20]]}} {{result_4=[[1d20]]}} {{result_5=[[1d20]]}} {{result_6=[[1d20]]}}">
Speech</button>
<span class="tag static" data-i18n="yes">yes</span>
<span class="static" name="attr_speech"></span>
<input class="edit" type="checkbox"
name="attr_speech_tag" value="1" />
<input type="number" name="attr_speech"
value="" class="edit" />
</div>
<input type="hidden"
name="attr_survival" value="" class="skill" />
<div class="grid col3">
<input type="hidden" name="attr_survival_tag"
value="" class="tag-skill" />
<button type="roll" name="roll_survival" class="skill-btn" data-i18n="survival"
value="&{template:foskill} {{name=@{character_name}}} {{skillname=Survival}} {{attribute=endurance}} {{skill=survival}} {{attr_num=[[@{endurance}]]}} {{skill_num=[[@{survival}]]}} {{target=[[@{endurance}+@{survival}]]}} {{dice_num=[[?{Number of dice|2|1|2|3|4|5|6}]]}} {{tag=[[@{survival_tag}]]}} {{result_1=[[1d20]]}} {{result_2=[[1d20]]}} {{result_3=[[1d20]]}} {{result_4=[[1d20]]}} {{result_5=[[1d20]]}} {{result_6=[[1d20]]}}">
Survival</button>
<span class="tag static" data-i18n="yes">yes</span>
<span class="static" name="attr_survival"></span>
<input class="edit" type="checkbox"
name="attr_survival_tag" value="1" />
<input type="number" name="attr_survival"
value="" class="edit" />
</div>
<input type="hidden"
name="attr_throwing" value="" class="skill" />
<div class="grid col3">
<input type="hidden" name="attr_throwing_tag"
value="" class="tag-skill" />
<button type="roll" name="roll_throwing" class="skill-btn" data-i18n="throwing"
value="&{template:foskill} {{name=@{character_name}}} {{skillname=Throwing}} {{attribute=agility}} {{skill=throwing}} {{attr_num=[[@{agility}]]}} {{skill_num=[[@{throwing}]]}} {{target=[[@{agility}+@{throwing}]]}} {{dice_num=[[?{Number of dice|2|1|2|3|4|5|6}]]}} {{tag=[[@{throwing_tag}]]}} {{result_1=[[1d20]]}} {{result_2=[[1d20]]}} {{result_3=[[1d20]]}} {{result_4=[[1d20]]}} {{result_5=[[1d20]]}} {{result_6=[[1d20]]}}">
Throwing</button>
<span class="tag static" data-i18n="yes">yes</span>
<span class="static" name="attr_throwing"></span>
<input class="edit" type="checkbox"
name="attr_throwing_tag" value="1" />
<input type="number" name="attr_throwing"
value="" class="edit" />
</div>
<input type="hidden"
name="attr_unarmed" value="" class="skill" />
<div class="grid col3">
<input type="hidden" name="attr_unarmed_tag"
value="" class="tag-skill" />
<button type="roll" name="roll_unarmed" class="skill-btn" data-i18n="unarmed"
value="&{template:foskill} {{name=@{character_name}}} {{skillname=Unarmed}} {{attribute=strength}} {{skill=unarmed}} {{attr_num=[[@{strength}]]}} {{skill_num=[[@{unarmed}]]}} {{target=[[@{strength}+@{unarmed}]]}} {{dice_num=[[?{Number of dice|2|1|2|3|4|5|6}]]}} {{tag=[[@{unarmed_tag}]]}} {{result_1=[[1d20]]}} {{result_2=[[1d20]]}} {{result_3=[[1d20]]}} {{result_4=[[1d20]]}} {{result_5=[[1d20]]}} {{result_6=[[1d20]]}}">
Unarmed</button>
<span class="tag static" data-i18n="yes">yes</span>
<span class="static" name="attr_unarmed"></span>
<input class="edit" type="checkbox"
name="attr_unarmed_tag" value="1" />
<input type="number" name="attr_unarmed"
value="" class="edit" />
</div>
</div>
</div>
<div class="grid col3 checker">
<label class="header" data-i18n="health-points">Health Points</label>
<div class="grid">
<input type="number" name="attr_hp"
value="10" />
<input type="number" name="attr_hp_max"
value="10" />
</div>
<div class="grid col2-initiative">
<label class="header" data-i18n="initiative">Initiative</label>
<button type="roll" name="roll_initiative"
value="&{template:foattribute} {{name=@{character_name}}} {{attr=Initiative}} {{attr_num=[[@{initiative} &{tracker}]]}}" />
</div>
<input type="number" name="attr_initiative"
value="" />
<label class="header" data-i18n="defense">Defense</label>
<input type="number" name="attr_defense"
value="" />
</div>
<div class="grid col3 character checker">
<label class="header" data-i18n="carry-weight">Carry Weight</label>
<input type="text" name="attr_carry_weight_max" value="0" />
<label class="header" data-i18n="melee-bonus">Melee Bonus</label>
<div class="grid col2-meleedmg">
<input type="number" name="attr_melee_damage" value="" />
<button type="roll" class="die" name="roll_meleedmg"
value="&{template:focd} {{name=@{character_name}}} {{attackname=Melee Damage}} {{dice_num=[[@{melee_damage}]]}} {{result_1=[[1d6]]}} {{result_2=[[1d6]]}} {{result_3=[[1d6]]}} {{result_4=[[1d6]]}} {{result_5=[[1d6]]}} {{result_6=[[1d6]]}} {{result_7=[[1d6]]}} {{result_8=[[1d6]]}} {{result_9=[[1d6]]}} {{result_10=[[1d6]]}}" />
</div>
<label class="header" data-i18n="luck-points">Luck Points</label>
<div class="grid">
<input type="text" name="attr_luck_total" value="0" />
<input type="text" name="attr_luck_total_max" value="0" />
</div>
</div>
<div class="grid col4 checker">
<label class="header physical-dr" data-i18n="physical-dr">Physical Damage Resistance</label>
<input type="text" name="attr_base_physical_dr"
value="0" />
<label class="header energy-dr" data-i18n="energy-dr">Energy Damage Resistance</label>
<input type="text" name="attr_base_energy_dr"
value="0" />
<label class="header rad-dr" data-i18n="rad-dr">Radiation Damage Resistance</label>
<input type="text" name="attr_base_rad_dr"
value="0" />
<label class="header poison-dr" data-i18n="poison-dr">Poison Damage Resistance</label>
<input type="text" name="attr_base_poison_dr"
value="0" />
</div>
</div>
<div class="grid col1 nogap">
<label class="header" data-i18n="attacks">Attacks</label>
<fieldset class="repeating_npcattacks">
<button type="roll" name="roll_attack" class="skill-btn"
value="&{template:foskill} {{name=@{character_name}}} {{skillname=@{attackname}}} {{skillverb=attacks with}} {{skill=@{attackskill}}} {{skill_num=[[@{attackskillvalue}]]}} {{target=[[@{attacktn}]]}} {{dice_num=[[?{Number of dice|2|1|2|3|4|5|6}]]}} {{tag=[[@{attacktag}]]}} {{result_1=[[1d20]]}} {{result_2=[[1d20]]}} {{result_3=[[1d20]]}} {{result_4=[[1d20]]}} {{result_5=[[1d20]]}} {{result_6=[[1d20]]}}">
<strong><span name="attr_attackname" />:
<span name="attr_attackattribute" /> +
<span name="attr_attackskill" /></strong></button>
<input type="hidden" name="attr_attackatrributevalue"
value="0" />
<input type="hidden" name="attr_attackskillvalue"
value="0" />
<input type="hidden" name="attr_attacktag"
value="0" />
(<span data-i18n="tn">TN</span> <span name="attr_attacktn" />),
<span name="attr_attackdamage" />
<button type="roll" class="die" name="roll_attackdamage"
value="&{template:focd} {{name=@{character_name}}} {{attackname=@{attackname}}} {{dice_num=[[@{attackdamage}]]}} {{result_1=[[1d6]]}} {{result_2=[[1d6]]}} {{result_3=[[1d6]]}} {{result_4=[[1d6]]}} {{result_5=[[1d6]]}} {{result_6=[[1d6]]}} {{result_7=[[1d6]]}} {{result_8=[[1d6]]}} {{result_9=[[1d6]]}} {{result_10=[[1d6]]}}" />
<span name="attr_attackeffects" />
<details>
<summary data-i18n="edit">Edit</summary>
<div class="grid col4 nogap">
<label data-i18n="name">Name</label>
<input class="span3" type="text" name="attr_attackname"
value="" />
<label data-i18n="attribute">Attribute</label>
<select name="attr_attackattribute" class="npc">
<option value="" data-i18n="choose">Choose</option>
<option value="body" data-i18n="body">Body</option>
<option value="mind" data-i18n="mind">Mind</option>
</select>
<select name="attr_attackattribute" class="character">
<option value="" data-i18n="choose">Choose</option>
<option value="strength" data-i18n="strength">Strength</option>
<option value="perception" data-i18n="perception">Perception</option>
<option value="endurance" data-i18n="endurance">Endurance</option>
<option value="charisma" data-i18n="charisma">Charisma</option>
<option value="intelligence" data-i18n="intelligence">Intelligence</option>
<option value="agility" data-i18n="agility">Agility</option>
<option value="luck" data-i18n="luck">Luck</option>
</select>
<label data-i18n="skill">Skill</label>
<select name="attr_attackskill" class="npc">
<option value="" data-i18n="choose">Choose</option>
<option value="melee" data-i18n="melee">Melee</option>
<option value="guns" data-i18n="guns">Guns</option>
<option value="other" data-i18n="other">Other</option>
</select>
<select name="attr_attackskill" class="character">
<option value="" data-i18n="choose">Choose</option>
<option value="athletics" data-i18n="athletics">Athletics</option>
<option value="barter" data-i18n="barter">Barter</option>
<option value="big_guns" data-i18n="big_guns">Big Guns</option>
<option value="energy_weapons" data-i18n="energy_weapons">Energy Weapons</option>
<option value="explosives" data-i18n="explosives">Explosives</option>
<option value="lockpick" data-i18n="lockpick">Lockpick</option>
<option value="medicine" data-i18n="medicine">Medicine</option>
<option value="melee_weapons" data-i18n="melee_weapons">Melee Weapons</option>
<option value="pilot" data-i18n="pilot">Pilot</option>
<option value="repair" data-i18n="repair">Repair</option>
<option value="science" data-i18n="science">Science</option>
<option value="small_guns" data-i18n="small_guns">Small Guns</option>
<option value="sneak" data-i18n="sneak">Sneak</option>
<option value="speech" data-i18n="speech">Speech</option>
<option value="survival" data-i18n="survival">Survival</option>
<option value="throwing" data-i18n="throwing">Throwing</option>
<option value="unarmed" data-i18n="unarmed">Unarmed</option>
</select>
<label data-i18n="tn">TN</label>
<input type="number" name="attr_attacktn"
value="10" />
<label data-i18n="damage">Damage</label>
<input type="number" name="attr_attackdamage"
value="1" />
<label data-i18n="effects-qualities">Effects/Qualities</label>
<input class="span3" type="text" name="attr_attackeffects"
value="" />
</div>
</details>
</fieldset>
</div>
<div class="grid col1 nogap">
<label class="header" data-i18n="special-abilities">Special Abilities</label>
<fieldset class="repeating_npcsa">
<strong><span name="attr_saname" />:</strong>
<span name="attr_sadescription" />
<details>
<summary data-i18n="edit">Edit</summary>
<div class="grid col1 nogap">
<label data-i18n="name">Name</label>
<input type="text" name="attr_saname"
value="" />
<label data-i18n="description">Description</label>
<textarea name="attr_sadescription"></textarea>
</div>
</details>
</fieldset>
</div>
<div class="grid col1 nogap">
<label class="header" data-i18n="inventory">Inventory</label>
<fieldset class="repeating_npcitems">
<strong><span name="attr_itemname" />:</strong>
<span name="attr_itemdescription" />
<details>
<summary data-i18n="edit">Edit</summary>
<div class="grid col1 nogap">
<label data-i18n="name">Name</label>
<input type="text" name="attr_itemname"
value="" />
<label data-i18n="description">Description</label>
<textarea name="attr_itemdescription"></textarea>
</div>
</details>
</fieldset>
</div>
</div>
</div>
<!-- end npc page -->
<!-- start settings page -->
<div class="grid col1 settings">
<h1 data-i18n="sheet-settings">Character Sheet Settings</h1>
<div class="grid col2">
<div class="grid col1">
<h2>Release Notes</h2>
<h3>Beta 0.2</h3>
<ul>
<li>Added translation support.</li>
</ul>
<h3>Alpha 0.14</h3>
<ul>
<li>Added NPC sheet w/ support for creatures and characters.
Toggle in settings. Click on attacks to roll. Click on
combat die next to damage to roll damage.</li>
<li>Updated dice roll templates for easier reading
(based on Dune 2d20).</li>
<li>Updated combat dice to use damage values in new format.</li>
<li>Added generic dice at top of tabs. Combat dice and
2d20 roller.</li>
<li>Fixed bug in Ghoul origin related to setting Survival.</li>
<li>Added weapon dice roller (next to weapon name).</li>
<li>Added power armor toggle for increased strength (11/13).</li>
</ul>
<h3>Alpha 0.13</h3>
<ul>
<li>Fixed bug/typos in skill rolls to use correct stats and critical range on tag.</li>
<li>Added option for additional tag skills on the Skills tab under
SPECIAL.</li>
<li>Fixed delete button on the perks list.</li>
<li>Added modifier for HP on the Derived Stats tab under SPECIAL.</li>
<li>Added modifier for SPECIAL points on the Attributes tab under
SPECIAL.</li>
<li>Added modifier for skill points on the Skills tab under
SPECIAL.</li>
<li>Disabled Confirm/copy button after first use.</li>
</ul>
<h3>Alpha 0.12</h3>
<ul>
<li>Combat Dice use the <span class="die" /> symbol where possible.
Elsewhere they are abbreviated as <em>CD</em>.</li>
<li>2d20 rolls and Combat Dice are implemented in a simple fashion that
uses the built in dice roller in chat. Click on any skill on the
character sheet to roll a number of d20s. Critical successes and
complications must be counted manually from the chat results.</li>
<li>Clicking on combat dice under melee damage or weapons will roll
a single combat die and display the results.</li>
<li>I am exploring other options for a future release.</li>
</ul>
</div>
<div class="grid col1">
<h2 data-i18n="character">Character</h2>
<div class="grid col2">
<span data-i18n="npc">NPC</span>
<label class="switch">
<input type="checkbox" name="attr_setting_npc" value="1" />
<span class="slider"></span>
</label>
</div>
<h2 data-i18n="style">Style</h2>
<div class="grid col2">
<span data-i18n="vault-girl">Vault Girl</span>
<label class="switch">
<input type="checkbox" name="attr_style_vault_girl" value="1" />
<span class="slider"></span>
</label>
<span data-i18n="outline-only">Outline only (for hit locations)</span>
<label class="switch">
<input type="checkbox" name="attr_style_outline" value="1" />
<span class="slider"></span>
</label>
<!--
<span data-i18n="pip-boy-style">Pip-Boy R20</span>
<label class="switch">
<input type="checkbox" name="attr_style_pip_boy" value="1" />
<span class="slider"></span>
</label>
-->
</div>
</div>
</div>
</div>
<!-- end settings page -->
</div>
<!-- end interface -->
<script type="text/worker">
const tablist = ["creation","character","perks","items","npc","settings"];
const subtablist = ["origin","attributes","skills","perk","derived",
"equipment","finalize"];
const attributelist = ["STRENGTH","PERCEPTION","ENDURANCE","CHARISMA",
"INTELLIGENCE","AGILITY","LUCK"];
const totalAttributelist = ["STRENGTH_TOTAL","PERCEPTION_TOTAL",
"ENDURANCE_TOTAL","CHARISMA_TOTAL","INTELLIGENCE_TOTAL","AGILITY_TOTAL",
"LUCK_TOTAL"];
const skillList = ["ATHLETICS","BARTER","BIG_GUNS",
"ENERGY_WEAPONS","EXPLOSIVES","LOCKPICK","MEDICINE","MELEE_WEAPONS",
"PILOT","REPAIR","SCIENCE","SMALL_GUNS","SNEAK","SPEECH","SURVIVAL",
"THROWING","UNARMED"];
const skillTagModList = skillList.map(i => i + "_TAG_MOD");
const settingsList = ["SETTING_NPC"];
const originTagList = ["ORIGIN","BROTHERHOOD_TAG","SURVIVOR_CHOICE",
"SURVIVOR_TRAIT1","SURVIVOR_TRAIT2","SURVIVOR_PERK","SURVIVOR_TAG",
"VAULT_TAG"];
const survivorAttrList = ["SURVIVOR_ATTR1","SURVIVOR_ATTR2"];
const tagSkillList = ["SKILLS_TAG1","SKILLS_TAG2","SKILLS_TAG3"];
const addList = ["LEVEL","POWER_ARMOR"];
const confirmList = ["ORIGIN","BROTHERHOOD_PACKAGE","MUTANT_PACKAGE",
"ROBOT_PACKAGE","WASTELANDER_PACKAGE","VAULT_PACKAGE","PERSONAL_TRINKET",
"SKILLS_TAG1_PACKAGE","SKILLS_TAG2_PACKAGE","SKILLS_TAG3_PACKAGE",
"ORIGIN_TAG_PACKAGE","PERKS_STARTING","SURVIVOR_CHOICE","SURVIVOR_TRAIT1",
"SURVIVOR_TRAIT2","SURVIVOR_PERK"];
const triggerList =
addList.concat(attributelist).concat(skillList).concat(originTagList)
.concat(survivorAttrList).concat(tagSkillList).concat(skillTagModList);
const valueList =
addList.concat(attributelist).concat(totalAttributelist).concat(skillList)
.concat(originTagList).concat(survivorAttrList).concat(tagSkillList)
.concat(skillTagModList).concat(settingsList);
const originsDictionary = {
"brotherhood": {"name": "Brotherhood of Steel"},
"ghoul": {"name": "Ghoul"},
"mutant": {"name": "Super Mutant"},
"robot": {"name": "Mister Handy"},
"survivor": {"name": "Survivor"},
"vault": {"name": "Vault Dweller"}
};
const originPackagesDictionary = {
"brotherhood": {
"steel_initiate": [
{"item": "Brotherhood fatigues", "weight": 4},
{"item": "Brotherhood hood", "weight": 0},
{"item": "Combat knife", "weight": 1},
{"item": "Laser pistol and a fusion cell containing 10 +5 CD shots or a "
+"10mm pistol with 10+5 CD rounds of 10mm pistol ammunition", "weight": 4},
{"item": "Brotherhood holotags containing identifying information", "weight": 0}
],
"steel_scribe": [
{"item": "Brotherhood Field Scribe's armor", "weight": 4},
{"item": "Brotherhood Scribe's hat", "weight": 0},
{"item": "Combat knife", "weight": 1},
{"item": "Laser pistol and a fusion cell containing 6 +3 CD shots or "
+"a 10mm pistol with 6+3 CD rounds of 10mm pistol ammunition.", "weight": 4},
{"item": "Brotherhood holotags containing identifying information", "weight": 0}
]
},
"mutant": {
"brute": [
{"item": "Raider armor torso", "weight": 7},
{"item": "Raider armor for one leg, or one arm", "weight": 3},
{"item": "A pipe rifle, and 6 +3 CD rounds of .38 ammunition", "weight": 2},
{"item": "A baseball bat or machete", "weight": 3},
{"trinket": 1},
{"caps": 5}
],
"skirmisher": [
{"item": "Raider armor torso", "weight": 7},
{"item": "Raider armor for one leg, or one arm", "weight": 3},
{"item": "Heavy bolt-action pipe rifle, and 8 +4 CD rounds of .308 ammunition", "weight": 3},
{"item": "A board", "weight": 3},
{"trinket": 1},
{"caps": 5}
]
},
"robot": {
"nanny": [
{"item": "Pincer arm attachment", "weight": 0},
{"item": "Flamer arm attachment", "weight": 0},
{"item": "Arm attachment of your choice", "weight": 0},
{"item": "Standard plating", "weight": 0},
{"item": "Behavioral analysis mod", "weight": 0},
{"item": "Hazard detection mod", "weight": 0},
{"caps": 10}
],
"farmhand": [
{"item": "Pincer arm attachment", "weight": 0},
{"item": "Buzz-saw arm attachment", "weight": 0},
{"item": "Laser emitter arm attachment", "weight": 0},
{"item": "Standard plating", "weight": 0},
{"item": "One bag of fertilizer", "weight": 1},
{"item": "2 mutfruits", "weight": 0},
{"caps": 25}
],
"gutsy": [
{"item": "10mm auto pistol arm", "weight": 0},
{"item": "Buzz-saw arm attachment", "weight": 0},
{"item": "Laser emitter arm attachment", "weight": 0},
{"item": "Mister Gutsy plating", "weight": 0},
{"item": "Recon sensors mod", "weight": 0},
{"caps": 10}
],
"handy": [
{"item": "Pincer arm attachment", "weight": 0},
{"item": "Flamer arm attachment", "weight": 0},
{"item": "Buzz-saw arm attachment", "weight": 0},
{"item": "Standard plating", "weight": 0},
{"item": "Robot repair kit", "weight": 0},
{"item": "Integral boiler mod", "weight": -10},
{"caps": 10}
],
"nurse": [
{"item": "Pincer arm or buzz-saw arm attachment", "weight": 0},
{"item": "Buzz saw arm attachment", "weight": 0},
{"item": "Attachment of your choice", "weight": 0},
{"item": "Standard plating", "weight": 0},
{"item": "Stimpak", "weight": 0},
{"item": "Diagnosis mod", "weight": 0},
{"caps": 10}
]
},
"wastelander": {
"mercenary": [
{"item": "Tough clothing", "weight": 3},
{"item": "A leather armor chest piece, or a leather armor arm "
+"and a leather armor leg (your choice as to which arm and leg)", "weight": 5},
{"item": "One melee weapon from the following: machete, "
+"baseball bat, tire iron", "weight": 3},
{"item": "One ranged weapon from the following: 10mm automatic pistol, "
+".44 pistol, hunting rifle, bolt-action pipe gun", "weight": 10},
{"item": "10 +5 CD rounds of ammunition for the chosen ranged weapon", "weight": 0},
{"item": "A note advertising a job in a nearby settlement that "
+"offers to pay 50 caps", "weight": 0},
{"caps": 15}
],
"raider": [
{"item": "Harness", "weight": 1},
{"item": "Raider armor chest piece", "weight": 7},
{"item": "Raider armor for one of your arms (your choice)", "weight": 3},
{"item": "One melee weapon from the following list: lead pipe, pool cue, "
+"tire iron", "weight": 3},
{"item": "A pipe gun, with 10 +5 CD rounds of .38 caliber ammunition", "weight": 2},
{"item": "1 dose of Jet or RadAway", "weight": 0},
{"item": "One Molotov cocktail or one stimpak", "weight": 1},
{"caps": 15}
],
"settler": [
{"item": "Tough clothing", "weight": 3},
{"item": "One melee weapon from the following: switch-blade, pipe wrench, "
+"rolling pin, knuckles", "weight": 2},
{"item": "A pipe gun, with 6 +3 CD rounds of .38 caliber ammunition", "weight": 2},
{"food": 2},
{"trinket": 1},
{"caps": 45}
],
"trader": [
{"item": "Tough clothing", "weight": 3},
{"item": "A leather armor chest piece, or a leather armor arm and "
+"a leather armor leg (your choice as to which arm and leg)", "weight": 5},
{"item": "A pipe gun, with 8 +4 CD rounds of .38 caliber ammunition", "weight": 2},
{"trinket": 1},
{"ammo": 3},
{"aid": 3},
{"junk": 3},
{"item": "A pack brahmin (see Brahmin, p.341)", "weight": 0},
{"caps": 50}
],
"wanderer": [
{"item": "Drifter outfit", "weight": 10},
{"item": "One melee weapon from the following: switchblade, pipe wrench, "
+"rolling pin, knuckles", "weight": 2},
{"item": "A pipe gun, with 8 +4 CD rounds of .38 caliber ammunition", "weight": 2},
{"item": "1 dose of Jet or RadAway", "weight": 0},
{"trinket": 1},
{"caps": 30}
]
},
"vault": {
"resident": [
{"item": "Vault jumpsuit", "weight": 1},
{"item": "Vault-Tec branded canteen containing 1 purified water", "weight": 0},
{"item": "Pip-Boy", "weight": 0},
{"item": "Switchblade", "weight": 1},
{"item": "10mm pistol with 6 +3 CD rounds of 10mm pistol ammunition", "weight": 4},
{"item": "2 stimpaks", "weight": 0},
{"caps": 10}
],
"security": [
{"item": "Vault jumpsuit", "weight": 1},
{"item": "Vault-Tec security armor, and Vault-Tec security helmet", "weight": 10},
{"item": "Vault-Tec branded canteen containing 1 purified water", "weight": 0},
{"item": "Pip-Boy", "weight": 0},
{"item": "Baton", "weight": 2},
{"item": "10mm pistol with 8 +4 CD rounds of 10mm pistol ammunition", "weight": 4},
{"item": "1 stimpaks", "weight": 0}
]
}
};
const traitDictionary = {
"brotherhood": {
"name": "The Chain that Binds",
"description": ""
},
"ghoul": {
"name": "Necrotic Post-Human",
"description": ""
},
"mutant": {
"name": "Forced Evolution",
"description": ""
},
"robot": {
"name": "Mister Handy Robot",
"description": ""
},
"educated": {
"name": "Educated",
"description": ""
},
"fast_shot": {
"name": "Fast Shot",
"description": ""
},
"gifted": {
"name": "Gifted",
"description": ""
},
"heavy_handed": {
"name": "Heavy Handed",
"description": ""
},
"small_frame": {
"name": "Small Frame",
"description": ""
},
"vault": {
"name": "Vault Kid",
"description": ""
},
};
const perksDictionary = {
"ACTION_BOY_GIRL": {"name": "Action Boy/Girl"},
"ADAMANTINE_SKELETON": {"name": "Adamantine Skeleton"},
"ADRENALIN_RUSH": {"name": "Adrenalin Rush"},
"ANIMAL_FRIEND": {"name": "Animal Friend"},
"AQUABOY_AQUAGIRL": {"name": "Aquaboy/Aquagirl"},
"ARMORER": {"name": "Armorer"},
"AWARENESS": {"name": "Awareness"},
"BARBARIAN": {"name": "Barbarian"},
"BASHER": {"name": "Basher"},
"BETTER_CRITICALS": {"name": "Better Criticals"},
"BIG_LEAGUES": {"name": "Big Leagues"},
"BLACK_WIDOW_LADY_KILLER": {"name": "Black Widow/Lady Killer"},
"BLACKSMITH": {"name": "Blacksmith"},
"BLITZ": {"name": "Blitz"},
"BLOODY_MESS": {"name": "Bloody Mess"},
"CAN_DO": {"name": "Can Do!"},
"CAP_COLLECTOR": {"name": "Cap Collector"},
"CAUTIOUS_NATURE": {"name": "Cautious Nature"},
"CENTER_MASS": {"name": "Center Mass"},
"CHEM_RESISTANT": {"name": "Chem Resistant"},
"CHEMIST": {"name": "Chemist"},
"COMMANDO": {"name": "Commando"},
"COMPREHENSION": {"name": "Comprehension"},
"CONCENTRATED_FIRE": {"name": "Concentrated Fire"},
"DARING_NATURE": {"name": "Daring Nature"},
"DEMOLITION_EXPERT": {"name": "Demolition Expert"},
"DODGER": {"name": "Dodger"},
"DOGMEAT": {"name": "Dogmeat"},
"ENTOMOLOGIST": {"name": "Entomologist"},
"FAST_METABOLISM": {"name": "Fast Metabolism"},
"FASTER_HEALING": {"name": "Faster Healing"},
"FINESSE": {"name": "Finesse"},
"FORTUNE_FINDER": {"name": "Fortune Finder"},
"GHOST": {"name": "Ghost"},
"GRIM_REAPER_S_SPRINT": {"name": "Grim Reaper's Sprint"},
"GUN_FU": {"name": "Gun Fu"},
"GUN_NUT": {"name": "Gun Nut"},
"GUNSLINGER": {"name": "Gunslinger"},
"HACKER": {"name": "Hacker"},
"HEALER": {"name": "Healer"},
"HEAVE_HO": {"name": "Heave Ho!"},
"HUNTER": {"name": "Hunter"},
"INFILTRATOR": {"name": "Infiltrator"},
"INSPIRATIONAL": {"name": "Inspirational"},
"INTENSE_TRAINING": {"name": "Intense Training"},
"IRON_FIST": {"name": "Iron Fist"},
"JUNKTOWN_JERKY_VENDOR": {"name": "Junktown Jerky Vendor"},
"JURY_RIGGING": {"name": "Jury Rigging"},
"LASER_COMMANDER": {"name": "Laser Commander"},
"LEAD_BELLY": {"name": "Lead Belly"},
"LIFE_GIVER": {"name": "Life Giver"},
"LIGHT_STEP": {"name": "Light Step"},
"MASTER_THIEF": {"name": "Master Thief"},
"MEDIC": {"name": "Medic"},
"MELTDOWN": {"name": "Meltdown"},
"MISTER_SANDMAN": {"name": "Mister Sandman"},
"MOVING_TARGET": {"name": "Moving Target"},
"MYSTERIOUS_STRANGER": {"name": "Mysterious Stranger"},
"NERD_RAGE": {"name": "Nerd Rage"},
"NIGHT_PERSON": {"name": "Night Person"},
"NINJA": {"name": "Ninja"},
"NUCLEAR_PHYSICIST": {"name": "Nuclear Physicist"},
"PAIN_TRAIN": {"name": "Pain Train"},
"PARALYZING_PALM": {"name": "Paralyzing Palm"},
"PARTY_BOY_PARTY_GIRL": {"name": "Party Boy/Party Girl"},
"PATHFINDER": {"name": "Pathfinder"},
"PHARMA_FARMA": {"name": "Pharma Farma"},
"PICKPOCKET": {"name": "Pickpocket"},
"PIERCING_STRIKE": {"name": "Piercing Strike"},
"PYROMANIAC": {"name": "Pyromaniac"},
"QUICK_DRAW": {"name": "Quick Draw"},
"QUICK_HANDS": {"name": "Quick Hands"},
"RAD_RESISTANCE": {"name": "Rad Resistance"},
"REFRACTOR": {"name": "Refractor"},
"RICOCHET": {"name": "Ricochet"},
"RIFLEMAN": {"name": "Rifleman"},
"ROBOTICS_EXPERT": {"name": "Robotics Expert"},
"SCIENCE": {"name": "Science!"},
"SCOUNDREL": {"name": "Scoundrel"},
"SCRAPPER": {"name": "Scrapper"},
"SCROUNGER": {"name": "Scrounger"},
"SHOTGUN_SURGEON": {"name": "Shotgun Surgeon"},
"SKILLED": {"name": "Skilled"},
"SIZE_MATTERS": {"name": "Size Matters"},
"SLAYER": {"name": "Slayer"},
"SMOOTH_TALKER": {"name": "Smooth Talker"},
"SNAKEATER": {"name": "Snakeater"},
"SNIPER": {"name": "Sniper"},
"SOLAR_POWERED": {"name": "Solar Powered"},
"STEADY_AIM": {"name": "Steady Aim"},
"STRONG_BACK": {"name": "Strong Back"},
"TAG": {"name": "Tag!"},
"TERRIFYING_PRESENCE": {"name": "Terrifying Presence"},
"TOUGHNESS": {"name": "Toughness"}
}
const skillsDictionary = {
"ATHLETICS": {
"name": "Athletics",
"attribute": "strength",
"package": ["Casual clothing, 1 Buffout"]
},
"BARTER": {
"name": "Barter",
"attribute": "charisma",
"package": ["2d20 additional caps"]
},
"BIG_GUNS": {
"name": "Big Guns",
"attribute": "endurance",
"package": ["4 +2 CD shots of flamer fuel"]
},
"ENERGY_WEAPONS": {
"name": "Energy Weapons",
"attribute": "perception",
"package": ["Fusion cell containing 6 +3 CD shots"]
},
"EXPLOSIVES": {
"name": "Explosives",
"attribute": "perception",
"package": ["2 Molotov cocktails","2 baseball grenades"]
},
"LOCKPICK": {
"name": "Lockpick",
"attribute": "perception",
"package": ["4 +2 CD bobby pins"]
},
"MEDICINE": {
"name": "Medicine",
"attribute": "intelligence",
"package": ["1 first aid kit, 1 Stimpak"]
},
"MELEE_WEAPONS": {
"name": "Melee Weapons",
"attribute": "strength",
"package": ["Machete","baseball bat"]
},
"PILOT": {
"name": "Pilot",
"attribute": "perception",
"package": ["Broken car parts (equivalent to 5 common scrap)"]
},
"REPAIR": {
"name": "Repair",
"attribute": "intelligence",
"package": ["Multi-Tool"]
},
"SCIENCE": {
"name": "Science",
"attribute": "intelligence",
"package": ["Lab coat, 1 dose of Mentats"]
},
"SMALL_GUNS": {
"name": "Small Guns",
"attribute": "agility",
"package": ["6 +3 CD additional shots of ammunition of a type you already possess"]
},
"SNEAK": {
"name": "Sneak",
"attribute": "agility",
"package": ["One dose of Calmex"]
},
"SPEECH": {
"name": "Speech",
"attribute": "charisma",
"package": ["Formal hat, formal clothing"]
},
"SURVIVAL": {
"name": "Survival",
"attribute": "endurance",
"package": ["2 purified water, 1 iguana on a stick"]
},
"THROWING": {
"name": "Throwing",
"attribute": "agility",
"package": ["4 +2d throwing knives","2 +1d tomahawks"]
},
"UNARMED": {
"name": "Unarmed",
"attribute": "strength",
"package": ["Knuckles"]
}
};
const trinketList = {
1: "A gold pocket watch",
2: "A garbled holodisk",
3: "A brightly colored bandanna",
4: "A silver locket",
5: "Medal",
6: "Potted plant",
7: "Tickets to a pre-war event",
8: "Wedding ring",
9: "Pre-war party invitation",
10: "An engraved flip lighter",
11: "Loaded casino dice",
12: "Id card",
13: "Cosmetics case",
14: "Musical Instrument",
15: "Broken eyeglasses",
16: "Necklace made of junk",
17: "Pages of an unfinished story",
18: "Overdue library book",
19: "A postcard with an address",
20: "A pre-war neck-tie",
};
const foodList = {
2: "Tarberry",
3: "Perfectly Preserved Pie",
4: "Melon (non-irradiated)",
5: "Carrot (non-irradiated)",
6: "Institute Food Packet",
7: "Sugar Bombs (preserved)",
8: "Mutfruit (non-irradiated)",
9: "Fancy Lads Snack Cakes (preserved)",
10: "Sweet Roll",
11: "Razorgrain",
12: "Iguana Bits",
13: "Cram",
14: "Carrot",
15: "BlamCo Brand Mac and Cheese",
16: "Sugar Bombs",
17: "Potted Meat",
18: "Pork 'n' Beans",
19: "InstaMash",
20: "Dandy Boy Apples",
21: "Canned Dog Food",
22: "Fancy Lads Snack Cakes",
23: "Gum Drops",
24: "Mutfruit",
25: "Potato Crisps",
26: "Salisbury Steak",
27: "Yum-Yum Deviled Eggs",
28: "Brain Fungus",
29: "Corn",
30: "Gourd",
31: "Melon",
32: "Silt Bean",
33: "Tato",
34: "InstaMash (preserved)",
35: "Salisbury Steak (preserved)",
36: "Food Paste",
37: "Noodle Cup",
38: "Corn (non-irradiated)",
39: "BlamCo Brand Mac and Cheese (preserved)",
40: "Tarberry"
}
const ammoList = {
2: "2mm EC (6+3 CD)",
3: "2mm EC (6+3 CD)",
4: "2mm EC (6+3 CD)",
5: "Plasma Cartridge (10+5 CD)",
6: "Missile (2+1 CD)*",
7: "Fusion Core (1)**",
8: "5mm (12+6 CD 10)",
9: "5mm (12+6 CD 10)",
10: ".50 ammo (4+2 CD)",
11: ".50 ammo (4+2 CD)",
12: "Syringer Ammo (4+2 CD)",
13: "Syringer Ammo (4+2 CD)",
14: "Gamma Round (4+2 CD)",
15: "Flamer Fuel (12+6 CD)",
16: "Flamer Fuel (12+6 CD)",
17: ".45 Rounds (9+4 CD)",
18: ".45 Rounds (9+4 CD)",
19: "10mm (8+4CD)",
20: "10mm (8+4CD)",
21: ".38 Ammo (10+5 CD)",
22: ".38 Ammo (10+5 CD)",
23: "Flare (2+1 CD)",
24: ".308 ammo (6+3 CD)",
25: "Shotgun Shells (6+3 CD)",
26: "Shotgun Shells (6+3 CD)",
27: "Fusion Cell (14+7 CD)",
28: "Fusion Cell (14+7 CD)",
29: "Railway Spike (6+3 CD)",
30: "Railway Spike (6+3 CD)",
31: ".44 Magnum (4+2 CD)",
32: ".44 Magnum (4+2 CD)",
33: "5.56mm (8+4 CD)",
34: "5.56mm (8+4 CD)",
35: "Missile (2+1 CD)*",
36: "Fusion Core (1)**",
37: "Plasma Cartridge (10+5 CD)",
38: "Mini-Nuke (1+1 CD)**",
39: "Mini-Nuke (1+1 CD)**",
40: "Mini-Nuke (1+1 CD)**"
}
const aidList = {
2: "Super Stimpak",
3: "Calmex",
4: "Day Tripper",
5: "Addictol",
6: "Stimpak",
7: "Stimpak",
8: "RadAway",
9: "RadAway",
10: "Psycho",
11: "Psycho",
12: "Med-X",
13: "Med-X",
14: "Daddy-O",
15: "Daddy-O",
16: "Rad-X (diluted)",
17: "Rad-X (diluted)",
18: "Healing Salve",
19: "Healing Salve",
20: "Dirty Water",
21: "Dirty Water",
22: "Dirty Water",
23: "Stimpak (diluted)",
24: "Stimpak (diluted)",
25: "RadAway (diluted)",
26: "RadAway (diluted)",
27: "Buffout",
28: "Buffout",
29: "Jet",
30: "Jet",
31: "Mentats",
32: "Mentats",
33: "Rad-X",
34: "Rad-X",
35: "Stimpak",
36: "Stimpak",
37: "Antibiotics",
38: "Overdrive",
39: "Fury",
40: "X-Cell"
}
function updateTagSkillPackage(update, tagSkill, skill) {
update[`${tagSkill}_name`] =
skillsDictionary[skill.toUpperCase()]["name"];
let package_options =
skillsDictionary[skill.toUpperCase()]["package"];
if (package_options.length == 2) {
update[`${tagSkill}_package`] =
skillsDictionary[skill.toUpperCase()]["package"][0] +
" or " +
skillsDictionary[skill.toUpperCase()]["package"][1];
} else {
update[`${tagSkill}_package`] =
skillsDictionary[skill.toUpperCase()]["package"][0];
}
return update;
}
function updateOriginPackage(update, origin, package) {
let items = originPackagesDictionary[origin][package];
for (var i = 0; i < items.length; i++) {
if (items[i]["item"]) {
update = updateRepeatingLine(update, "items",
["itemname", "itemweight"], [items[i]["item"], items[i]["weight"]]);
} else if (items[i]["trinket"]) {
let choice = Math.floor(Math.random() * 20) + 1;
update = updateRepeatingLine(update, "items",
["itemname", "itemweight"], [trinketList[choice], 0]);
} else if (items[i]["food"]) {
let food = parseInt(items[i]["food"])||0;
update = rollLootTable(update, foodList, food);
} else if (items[i]["ammo"]) {
let ammo = parseInt(items[i]["ammo"])||0;
update = rollLootTable(update, ammoList, ammo);
} else if (items[i]["aid"]) {
let aid = parseInt(items[i]["aid"])||0;
update = rollLootTable(update, aidList, aid);
} else if (items[i]["junk"]) {
let junk = parseInt(items[i]["junk"])||0;
for (var i2 = 0; i2 < junk; i2++) {
let junk_items = Math.floor(Math.random() * 20) +
Math.floor(Math.random() * 20) + 2;
update = updateRepeatingLine(update, "items",
["itemname", "itemweight"], [junk_items + " junk items", junk_items * 2]);
}
} else if (items[i]["caps"]) {
update["caps"] = parseInt(items[i]["caps"])||0;
}
}
return update;
}
function rollLootTable(update, table, count) {
for (var i2 = 0; i2 < count; i2++) {
let choice = Math.floor(Math.random() * 20) +
Math.floor(Math.random() * 20) + 2;
update = updateRepeatingLine(update, "items",
["itemname", "itemweight"], [table[choice], 0]);
}
return update;
}
function updateRepeatingLine(update, section, fields, values) {
let newrowid = generateRowID();
for (var i = 0; i < fields.length; i++) {
let field = fields[i];
let value = values[i];
update["repeating_" + section + "_" + newrowid + "_" + field] = value;
}
return update;
}
tablist.forEach(button => {
on(`clicked:${button}`, function() {
setAttrs({"tab": button});
});
});
subtablist.forEach(button => {
on(`clicked:${button}`, function() {
setAttrs({"subtab": button});
});
});
on("clicked:prev", function() {
getAttrs(["SUBTAB"], function(values) {
let subtab = subtablist.indexOf(values.SUBTAB) - 1;
setAttrs({"subtab": subtablist[subtab]});
});
});
on("clicked:next", function() {
getAttrs(["SUBTAB"], function(values) {
let subtab = subtablist.indexOf(values.SUBTAB) + 1;
setAttrs({"subtab": subtablist[subtab]});
});
});
on("clicked:rolltrinket", function() {
let choice = Math.floor(Math.random() * 20) + 1;
setAttrs({"personal_trinket": choice});
});
function rollCombatDice(count) {
let results = {
"damage": 0,
"effects": 0
}
for (var i = 0; i < count; i++) {
let roll = Math.floor(Math.random() * 6) + 1;
switch (roll) {
case 1:
results["damage"] += 1;
break;
case 2:
results["damage"] += 2;
break;
case 5:
case 6:
results["damage"] += 1;
results["effects"] += 1;
break;
}
}
return results;
}
on("clicked:combatdice", function() {
let results = rollCombatDice(6);
});
on("clicked:copyspecial", function() {
getAttrs(confirmList, function(values) {
let update = {};
let survivor = values.SURVIVOR_CHOICE;
let survivor_trait1 = values.SURVIVOR_TRAIT1;
let survivor_trait2 = values.SURVIVOR_TRAIT2;
let survivor_perk = values.SURVIVOR_PERK;
let perks_starting = values.PERKS_STARTING;
let origin = values.ORIGIN;
let trinket = parseInt(values.PERSONAL_TRINKET)||0;
// origin trait
if (origin == "survivor") {
let name = traitDictionary[survivor_trait1]["name"];
let effect = traitDictionary[survivor_trait1]["description"];
update = updateRepeatingLine(update, "perks",
["perkname", "perkeffect"], [name, effect]);
if (survivor == "trait") {
name = traitDictionary[survivor_trait2]["name"];
effect = traitDictionary[survivor_trait2]["description"];
update = updateRepeatingLine(update, "perks",
["perkname", "perkeffect"], [name, effect]);
}
} else if (origin) {
let name = traitDictionary[origin]["name"];
let effect = traitDictionary[origin]["description"];
update = updateRepeatingLine(update, "perks",
["perkname", "perkeffect"], [name, effect]);
}
// perks
if (perks_starting) {
let name = perksDictionary[perks_starting.toUpperCase()]["name"];
update = updateRepeatingLine(update, "perks",
["perkname", "perkrank"], [name, 1]);
}
if (survivor_perk && survivor == "perk") {
let name = perksDictionary[survivor_perk.toUpperCase()]["name"];
update = updateRepeatingLine(update, "perks",
["perkname", "perkrank"], [name, 1]);
}
// origin package
let origin_type = origin;
let package = "";
if (origin == "ghoul" || origin == "survivor") {
origin_type = "wastelander";
package = values.WASTELANDER_PACKAGE;
} else if (origin) {
let originUpper = origin.toUpperCase();
package = values[`${originUpper}_PACKAGE`];
}
if (package) {
update = updateOriginPackage(update, origin_type, package);
}
// trinket
update = updateRepeatingLine(update, "items",
["itemname", "itemweight"], [trinketList[trinket], 0]);
// tag skill packages
tagSkillList.forEach(tag => {
update = updateRepeatingLine(update, "items",
["itemname"], [values[`${tag}_PACKAGE`]]);
});
// origin tag package, if exists
let origin_tag_package = values.ORIGIN_TAG_PACKAGE;
if (origin_tag_package) {
update = updateRepeatingLine(update, "items",
["itemname"], [origin_tag_package]);
}
update["finalized"] = 1;
update["tab"] = "character";
setAttrs(update);
});
});
attributelist.forEach(attribute => {
for (let i = 4; i < 11; i++) {
let attribute_name = attribute.toLowerCase();
on(`clicked:${attribute_name}${i}`, function() {
let update = {};
update[attribute_name] = i;
setAttrs(update);
});
}
});
/* used in the creation panel */
triggerList.forEach(trigger => {
on(`change:${trigger}`, function(eventInfo) {
getAttrs(valueList, function(values) {
let setting_npc = parseInt(values.SETTING_NPC)||0;
if (setting_npc) return
let update = {};
let attributes = {};
let origin = values.ORIGIN;
let brotherhood_tag = values.BROTHERHOOD_TAG;
let survivor = values.SURVIVOR_CHOICE;
let survivor_trait1 = values.SURVIVOR_TRAIT1;
let survivor_trait2 = values.SURVIVOR_TRAIT2;
let survivor_perk = values.SURVIVOR_PERK;
let survivor_tag = values.SURVIVOR_TAG;
let vault = values.VAULT_TAG;
let level = parseInt(values.LEVEL)||1;
let armor = parseInt(values.POWER_ARMOR)||0;
let attribute_buy = 0;
attributelist.forEach(attribute => {
let name = attribute.toLowerCase();
let points = parseInt(values[attribute])||0;
attributes[name] = points;
if (origin == "mutant" && points > 6 &&
(attribute == "CHARISMA" || attribute == "INTELLIGENCE")) {
points = Math.min(points, 6);
update[`${name}`] = points;
}
update[`${name}_max`] = points;
update[`${name}_mod`] = 0;
update[`${name}_total`] = points;
update[`${name}_total_max`] = points;
attribute_buy += points;
});
let attribute_points = 40 - attribute_buy;
let skill_buy = 0;
skillList.forEach(skill => {
let cost = parseInt(values[skill])||0;
let name = skill.toLowerCase();
let points = parseInt(values[skill])||0;
let tag_mod = parseInt(values[`${skill}_TAG_MOD`])||0;
update[`${name}_tag`] = tag_mod ? 1 : 0;
update[`${name}_cs`] = tag_mod ? Math.min(points + 2, 6) : 1;
update[`${name}_total`] = tag_mod ?
Math.min(points + 2, 6) :
Math.min(points, 6);
skill_buy += cost;
});
update["origin_tag_name"] = "";
update["origin_tag_package"] = "";
let skill_points = 9 + attributes["intelligence"] - skill_buy
+ (level - 1);
update["attribute_points"] = attribute_points;
update["skill_points"] = skill_points;
update["origin_choice"] = origin;
update["origin_name"] = origin ?
originsDictionary[origin]["name"] :
"";
switch(origin) {
case "brotherhood":
if (brotherhood_tag) {
let points =
parseInt(values[brotherhood_tag.toUpperCase()])||0;
update[`${brotherhood_tag}_tag`] = 1;
update[`${brotherhood_tag}_cs`] = Math.min(points + 2, 6);
update[`${brotherhood_tag}_total`] = Math.min(points + 2, 6);
update = updateTagSkillPackage(update, "origin_tag",
brotherhood_tag);
}
break;
case "ghoul":
let points = parseInt(values.SURVIVAL)||0;
update["survival_tag"] = 1;
update["survival_cs"] = Math.min(points + 2, 6);
update["survival_total"] = Math.min(points + 2, 6);
break;
case "mutant":
attributes["strength"] += 2;
attributes["endurance"] += 2;
update["strength_mod"] = 2;
update["endurance_mod"] = 2;
update["strength_total"] = values.STRENGTH + 2;
update["endurance_total"] = values.ENDURANCE + 2;
update["strength_total_max"] = values.STRENGTH + 2;
update["endurance_total_max"] = values.ENDURANCE + 2;
break;
case "survivor":
update["survivor_choice"] = survivor;
update["survivor_trait1"] = survivor_trait1;
update["survivor_trait2"] = survivor_trait2;
update["survivor_perk"] = survivor_perk;
if ((survivor_trait1 == "educated"
|| (survivor == "trait" && survivor_trait2 == "educated"))
&& survivor_tag) {
let points =
parseInt(values[survivor_tag.toUpperCase()])||0;
update[`${survivor_tag}_tag`] = 1;
update[`${survivor_tag}_cs`] = Math.min(points + 2, 6);
update[`${survivor_tag}_total`] = Math.min(points + 2, 6);
update = updateTagSkillPackage(update, "origin_tag",
survivor_tag);
}
if (survivor_trait1 == "gifted"
|| (survivor == "trait" && survivor_trait2 == "gifted")) {
survivorAttrList.forEach(attribute => {
let name = values[attribute];
if (name) {
let points =
parseInt(values[name.toUpperCase()])||0;
attributes[name] += 1;
update[`${name}_mod`] = 1;
update[`${name}_total`] = points + 1;
update[`${name}_total_max`] = points + 1;
}
});
update["luck_total"] = update["luck_total_max"] - 1;
}
break;
case "vault":
if (vault) {
let points =
parseInt(values[vault.toUpperCase()])||0;
update[`${vault}_tag`] = 1;
update[`${vault}_cs`] = Math.min(points + 2, 6);
update[`${vault}_total`] = Math.min(points + 2, 6);
update = updateTagSkillPackage(update, "origin_tag",
vault);
}
break;
}
tagSkillList.forEach(tagSkill => {
let skill = values[tagSkill];
if (skill) {
let points = parseInt(values[skill.toUpperCase()])||0;
let max = origin == "mutant" ? 4 : 6;
update[`${skill}_tag`] = 1;
update[`${skill}_cs`] = Math.min(points + 2, max);
update[`${skill}_total`] = Math.min(points + 2, max);
update = updateTagSkillPackage(update, tagSkill, skill);
}
});
if (armor > 0) {
let armor_str = armor == 1 ? 11 : 13;
attributes["strength"] = armor_str;
update["strength_total"] = armor_str;
update["strength_total_max"] = armor_str;
}
update["carry_weight_max"] = origin == "robot" ? 150 :
150 + attributes["strength"] * 10;
update["base_rad_dr"] = origin == "mutant" || origin == "ghoul" || origin == "robot" ?
"immune" : 0;
update["base_poison_dr"] = origin == "mutant" || origin == "robot" ? "immune" : 0;
update["defense"] = attributes["agility"] > 8 ? 2 : 1;
update["initiative"] = attributes["perception"] +
attributes["agility"];
update["hp_derived"] = attributes["endurance"] + attributes["luck"]
+ (level - 1);
update["hp_ratio"] = 100;
update["melee_damage"] =
attributes["strength"] > 10 ? 3 :
attributes["strength"] > 8 ? 2 :
attributes["strength"] > 6 ? 1 :
0;
if (survivor_trait1 == "heavy_handed"
|| (survivor == "trait" && survivor_trait2 == "heavy_handed")) {
update["melee_damage"] += 1;
}
setAttrs(update);
});
});
});
on("change:hp change:hp_max sheet:opened", function() {
getAttrs(["HP","HP_max"], function(values) {
let hp = parseInt(values.HP)||0;
let hp_max = parseInt(values.HP_max)||0;
let hp_ratio = Math.round(hp / hp_max * 10) * 10;
setAttrs({
"hp_ratio": hp_ratio
});
});
});
on("change:xp sheet:opened", function() {
getAttrs(["XP","XP_NEXT_LEVEL"], function(values) {
let xp = parseInt(values.XP)||0;
let level = 2;
while ( xp >= ((level * (level-1) / 2) * 100) ) {
level++;
}
let xp_next_level = (level * (level-1) / 2) * 100;
setAttrs({
"level": level - 1,
"xp_next_level": xp_next_level
});
});
});
on("change:repeating_weapons:weaponweight", function() {
repeatingSum("carry_weight_weapons", "weapons", "weaponweight");
});
on("change:repeating_items:itemweight", function() {
repeatingSum("carry_weight_gear", "items", "itemweight");
});
on("change:carry_weight_weapons change:carry_weight_gear", function() {
getAttrs(["CARRY_WEIGHT_WEAPONS", "CARRY_WEIGHT_GEAR"], function(values) {
let carry_weight_weapons = parseInt(values.CARRY_WEIGHT_WEAPONS)||0;
let carry_weight_gear = parseInt(values.CARRY_WEIGHT_GEAR)||0;
let carry_weight = carry_weight_weapons + carry_weight_gear;
setAttrs({
"carry_weight": carry_weight
});
});
});
const combatList = ["ATTRIBUTE_POINTS","SKILL_POINTS","MELEE_DAMAGE",
"DEFENSE","INITIATIVE"];
combatList.forEach(stat => {
let statLower = stat.toLowerCase();
on(`change:${statLower} change:${statLower}_mod`, function(eventInfo) {
getAttrs([`${stat}`, `${stat}_MOD`], function(values) {
let update = {};
let base = parseInt(values[`${stat}`])||0;
let mod = parseInt(values[`${stat}_MOD`])||0;
let total = base + mod;
update[`${statLower}_total`] = total;
setAttrs(update);
});
});
});
on(`change:hp_derived change:hp_mod`, function(eventInfo) {
getAttrs(['HP_DERIVED', 'HP_MOD'], function(values) {
let update = {};
let base = parseInt(values.HP_DERIVED)||0;
let mod = parseInt(values.HP_MOD)||0;
let total = base + mod;
update['hp'] = total;
update['hp_max'] = total;
setAttrs(update);
});
});
const typeList = ["PHYSICAL","ENERGY","RAD","POISON"];
typeList.forEach(type => {
let typeLower = type.toLowerCase();
on(`change:base_${typeLower}_dr change:base_${typeLower}_dr_mod`, function(eventInfo) {
getAttrs([`BASE_${type}_DR`, `BASE_${type}_DR_MOD`], function(values) {
let update = {};
let base_dr = parseInt(values[`BASE_${type}_DR`])||0;
let base_dr_mod = parseInt(values[`BASE_${type}_DR_MOD`])||0;
let base_dr_total = base_dr + base_dr_mod;
update[`base_${typeLower}_dr_total`] = base_dr_total;
setAttrs(update);
});
});
});
/* PC Settings */
on("clicked:power_armor", function() {
getAttrs(["POWER_ARMOR"], function(values) {
let value = parseInt(values.POWER_ARMOR)||0;
value = value < 2 ? value + 1 : 0;
setAttrs({"power_armor": value});
});
});
/* Weapons */
const weaponPreloadList = attributelist.map(i => i.toLowerCase() + "_total")
.concat(skillList.map(i => i.toLowerCase() + "_total"))
.concat(skillList.map(i => i.toLowerCase() + "_tag"));
const weaponAttrsList = ["repeating_weapons_weaponskill"]
.concat(weaponPreloadList);
on('change:repeating_weapons:weaponskill', function(eventInfo) {
getAttrs(weaponAttrsList, function(values) {
let update = {};
let name = values['repeating_weapons_weaponskill'];
let value = parseInt(values[`${name}_total`])||0;
let aname = skillsDictionary[name.toUpperCase()]['attribute'];
let avalue = parseInt(values[`${aname}_total`])||0;
update['repeating_weapons_weaponskillvalue'] = value;
update['repeating_weapons_weaponattribute'] = aname;
update['repeating_weapons_weaponattributevalue'] = avalue;
let tag = parseInt(values[`${name}_tag`])||0;
update['repeating_weapons_weapontag'] = tag;
setAttrs(update);
});
});
on('clicked:character', function(eventInfo) {
getSectionIDs('repeating_weapons', function(idarray) {
for (var i=0; i < idarray.length; i++) {
let id = idarray[i];;
getAttrs([`repeating_weapons_${id}_weaponskill`]
.concat(weaponPreloadList), function(values) {
let update = {};
let name = values[`repeating_weapons_${id}_weaponskill`];
let value = parseInt(values[`${name}_total`])||0;
let aname = skillsDictionary[name.toUpperCase()]['attribute'];
let avalue = parseInt(values[`${aname}_total`])||0;
update[`repeating_weapons_${id}_weaponskillvalue`] = value;
update[`repeating_weapons_${id}_weaponattribute`] = aname;
update[`repeating_weapons_${id}_weaponattributevalue`] = avalue;
let tag = parseInt(values[`${name}_tag`])||0;
update[`repeating_weapons_${id}_weapontag`] = tag;
setAttrs(update);
});
}
});
});
/* NPC */
const npcTriggerList = ["attackattribute","attackskill"];
const npcAttrsList = ["repeating_npcattacks_attackattribute",
"repeating_npcattacks_attackskill","body","mind","melee","guns",
"other"].concat(attributelist.map(i => i.toLowerCase()))
.concat(skillList.map(i => i.toLowerCase()))
.concat(skillList.map(i => i.toLowerCase() + "_tag"));
npcTriggerList.forEach(trigger => {
on(`change:repeating_npcattacks:${trigger}`, function(eventInfo) {
getAttrs(npcAttrsList, function(values) {
let update = {};
let name = values[`repeating_npcattacks_${trigger}`];
let value = parseInt(values[`${name}`])||0;
update[`repeating_npcattacks_${trigger}value`] = value;
if (trigger == 'attackskill') {
let tag = parseInt(values[`${name}_tag`])||0;
update['repeating_npcattacks_attacktag'] = tag;
}
setAttrs(update);
});
});
});
/* ===== PARAMETERS ==========
destinations = the name of the attribute that stores the total quantity
can be a single attribute, or an array: ['total_cost', 'total_weight']
If more than one, the matching fields must be in the same order.
section = name of repeating fieldset, without the repeating_
fields = the name of the attribute field to be summed
destination and fields both can be a single attribute: 'weight'
or an array of attributes: ['weight','number','equipped']
*/
const repeatingSum = (destinations, section, fields) => {
if (!Array.isArray(destinations)) destinations = [destinations.replace(/\s/g, '').split(',')];
if (!Array.isArray(fields)) fields = [fields.replace(/\s/g, '').split(',')];
getSectionIDs(`repeating_${section}`, idArray => {
const attrArray = idArray.reduce((m, id) => [...m, ...(fields.map(field => `repeating_${section}_${id}_${field}`))], []);
getAttrs([...attrArray], v => {
const getValue = (section, id, field) => v[`repeating_${section}_${id}_${field}`] === 'on' ? 1 : parseFloat(v[`repeating_${section}_${id}_${field}`]) || 0;
const commonMultipliers = (fields.length <= destinations.length) ? [] : fields.splice(destinations.length, fields.length - destinations.length);
const output = {};
destinations.forEach((destination, index) => {
output[destination] = idArray.reduce((total, id) => total + getValue(section, id, fields[index]) * commonMultipliers.reduce((subtotal, mult) => subtotal * getValue(section, id, mult), 1), 0);
});
setAttrs(output);
});
});
};
</script>
<rolltemplate class="sheet-rolltemplate-foskill">
<span class="hidden-attribute" data-i18n-placeholder="{{attribute}}"></span>
<span class="hidden-skill" data-i18n-placeholder="{{skill}}"></span>
<div class="container">
<h1>{{name}}
{{#skillverb}}{{skillverb}}{{/skillverb}}
{{^skillverb}}tests{{/skillverb}}
{{skillname}}</h1>
<p><strong>{{dice_num}}d20 vs. {{target}}</strong><br />
{{#attribute}}
<span class="hidden strength">Strength</span>
<span class="hidden perception">Perception</span>
<span class="hidden endurance">Endurance</span>
<span class="hidden charisma">Charisma</span>
<span class="hidden intelligence">Intelligence</span>
<span class="hidden agility">Agility</span>
<span class="hidden luck">Luck</span>
<span class="hidden body">Body</span>
<span class="hidden mind">Mind</span>
({{attr_num}})
+
{{/attribute}}
{{#skill}}
<span class="hidden athletics">Athletics</span>
<span class="hidden barter">Barter</span>
<span class="hidden big_guns">Big Guns</span>
<span class="hidden energy_weapons">Energy Weapons</span>
<span class="hidden explosives">Explosives</span>
<span class="hidden lockpick">Lockpick</span>
<span class="hidden medicine">Medicine</span>
<span class="hidden melee_weapons">Melee Weapons</span>
<span class="hidden pilot">Pilot</span>
<span class="hidden repair">Repair</span>
<span class="hidden science">Science</span>
<span class="hidden small_guns">Small Guns</span>
<span class="hidden sneak">Sneak</span>
<span class="hidden speech">Speech</span>
<span class="hidden survival">Survival</span>
<span class="hidden throwing">Throwing</span>
<span class="hidden unarmed">Unarmed</span>
<span class="hidden melee">Melee</span>
<span class="hidden guns">Guns</span>
<span class="hidden other">Other</span>
({{skill_num}}{{#rollTotal() tag 1}} Tag{{/rollTotal() tag 1}})
{{/skill}}
</p>
</div>
<div class="results">
<!-- result 1 -->
{{#rollGreater() dice_num 0}}
{{#rollBetween() result_1 1 target}}
{{#rollTotal() tag 1}}
{{#rollBetween() result_1 1 skill_num}}
<div class="result critical">
<div class="total">2</div>
<div class="dice">({{result_1}})</div>
</div>
{{/rollBetween() result_1 1 skill_num}}
{{#rollGreater() result_1 skill_num}}
<div class="result success">
<div class="total">1</div>
<div class="dice">({{result_1}})</div>
</div>
{{/rollGreater() result_1 skill_num}}
{{/rollTotal() tag 1}}
{{#rollTotal() tag 0}}
{{#rollTotal() result_1 1}}
<div class="result critical">
<div class="total">2</div>
<div class="dice">({{result_1}})</div>
</div>
{{/rollTotal() result_1 1}}
{{#rollGreater() result_1 1}}
<div class="result success">
<div class="total">1</div>
<div class="dice">({{result_1}})</div>
</div>
{{/rollGreater() result_1 1}}
{{/rollTotal() tag 0}}
{{/rollBetween() result_1 1 target}}
{{#rollGreater() result_1 target}}
{{#rollLess() result_1 20}}
<div class="result failure">
<div class="total">0</div>
<div class="dice">({{result_1}})</div>
</div>
{{/rollLess() result_1 20}}
{{#rollBetween() result_1 20 20}}
<div class="result complication">
<div class="total">X</div>
<div class="dice">({{result_1}})</div>
</div>
{{/rollBetween() result_1 20 20}}
{{/rollGreater() result_1 target}}
{{/rollGreater() dice_num 0}}
<!-- result 2 -->
{{#rollGreater() dice_num 1}}
{{#rollBetween() result_2 1 target}}
{{#rollTotal() tag 1}}
{{#rollBetween() result_2 1 skill_num}}
<div class="result critical">
<div class="total">2</div>
<div class="dice">({{result_2}})</div>
</div>
{{/rollBetween() result_2 1 skill_num}}
{{#rollGreater() result_2 skill_num}}
<div class="result success">
<div class="total">1</div>
<div class="dice">({{result_2}})</div>
</div>
{{/rollGreater() result_2 skill_num}}
{{/rollTotal() tag 1}}
{{#rollTotal() tag 0}}
{{#rollTotal() result_2 1}}
<div class="result critical">
<div class="total">2</div>
<div class="dice">({{result_2}})</div>
</div>
{{/rollTotal() result_2 1}}
{{#rollGreater() result_2 1}}
<div class="result success">
<div class="total">1</div>
<div class="dice">({{result_2}})</div>
</div>
{{/rollGreater() result_2 1}}
{{/rollTotal() tag 0}}
{{/rollBetween() result_2 1 target}}
{{#rollGreater() result_2 target}}
{{#rollLess() result_2 20}}
<div class="result failure">
<div class="total">0</div>
<div class="dice">({{result_2}})</div>
</div>
{{/rollLess() result_2 20}}
{{#rollBetween() result_2 20 20}}
<div class="result complication">
<div class="total">X</div>
<div class="dice">({{result_2}})</div>
</div>
{{/rollBetween() result_2 20 20}}
{{/rollGreater() result_2 target}}
{{/rollGreater() dice_num 1}}
<!-- result 3 -->
{{#rollGreater() dice_num 2}}
{{#rollBetween() result_3 1 target}}
{{#rollTotal() tag 1}}
{{#rollBetween() result_3 1 skill_num}}
<div class="result critical">
<div class="total">2</div>
<div class="dice">({{result_3}})</div>
</div>
{{/rollBetween() result_3 1 skill_num}}
{{#rollGreater() result_3 skill_num}}
<div class="result success">
<div class="total">1</div>
<div class="dice">({{result_3}})</div>
</div>
{{/rollGreater() result_3 skill_num}}
{{/rollTotal() tag 1}}
{{#rollTotal() tag 0}}
{{#rollTotal() result_3 1}}
<div class="result critical">
<div class="total">2</div>
<div class="dice">({{result_3}})</div>
</div>
{{/rollTotal() result_3 1}}
{{#rollGreater() result_3 1}}
<div class="result success">
<div class="total">1</div>
<div class="dice">({{result_3}})</div>
</div>
{{/rollGreater() result_3 1}}
{{/rollTotal() tag 0}}
{{/rollBetween() result_3 1 target}}
{{#rollGreater() result_3 target}}
{{#rollLess() result_3 20}}
<div class="result failure">
<div class="total">0</div>
<div class="dice">({{result_3}})</div>
</div>
{{/rollLess() result_3 20}}
{{#rollBetween() result_3 20 20}}
<div class="result complication">
<div class="total">X</div>
<div class="dice">({{result_3}})</div>
</div>
{{/rollBetween() result_3 20 20}}
{{/rollGreater() result_3 target}}
{{/rollGreater() dice_num 2}}
<!-- result 4 -->
{{#rollGreater() dice_num 3}}
{{#rollBetween() result_4 1 target}}
{{#rollTotal() tag 1}}
{{#rollBetween() result_4 1 skill_num}}
<div class="result critical">
<div class="total">2</div>
<div class="dice">({{result_4}})</div>
</div>
{{/rollBetween() result_4 1 skill_num}}
{{#rollGreater() result_4 skill_num}}
<div class="result success">
<div class="total">1</div>
<div class="dice">({{result_4}})</div>
</div>
{{/rollGreater() result_4 skill_num}}
{{/rollTotal() tag 1}}
{{#rollTotal() tag 0}}
{{#rollTotal() result_4 1}}
<div class="result critical">
<div class="total">2</div>
<div class="dice">({{result_4}})</div>
</div>
{{/rollTotal() result_4 1}}
{{#rollGreater() result_4 1}}
<div class="result success">
<div class="total">1</div>
<div class="dice">({{result_4}})</div>
</div>
{{/rollGreater() result_4 1}}
{{/rollTotal() tag 0}}
{{/rollBetween() result_4 1 target}}
{{#rollGreater() result_4 target}}
{{#rollLess() result_4 20}}
<div class="result failure">
<div class="total">0</div>
<div class="dice">({{result_4}})</div>
</div>
{{/rollLess() result_4 20}}
{{#rollBetween() result_4 20 20}}
<div class="result complication">
<div class="total">X</div>
<div class="dice">({{result_4}})</div>
</div>
{{/rollBetween() result_4 20 20}}
{{/rollGreater() result_4 target}}
{{/rollGreater() dice_num 3}}
<!-- result 5 -->
{{#rollGreater() dice_num 4}}
{{#rollBetween() result_5 1 target}}
{{#rollTotal() tag 1}}
{{#rollBetween() result_5 1 skill_num}}
<div class="result critical">
<div class="total">2</div>
<div class="dice">({{result_5}})</div>
</div>
{{/rollBetween() result_5 1 skill_num}}
{{#rollGreater() result_5 skill_num}}
<div class="result success">
<div class="total">1</div>
<div class="dice">({{result_5}})</div>
</div>
{{/rollGreater() result_5 skill_num}}
{{/rollTotal() tag 1}}
{{#rollTotal() tag 0}}
{{#rollTotal() result_5 1}}
<div class="result critical">
<div class="total">2</div>
<div class="dice">({{result_5}})</div>
</div>
{{/rollTotal() result_5 1}}
{{#rollGreater() result_5 1}}
<div class="result success">
<div class="total">1</div>
<div class="dice">({{result_5}})</div>
</div>
{{/rollGreater() result_5 1}}
{{/rollTotal() tag 0}}
{{/rollBetween() result_5 1 target}}
{{#rollGreater() result_5 target}}
{{#rollLess() result_5 20}}
<div class="result failure">
<div class="total">0</div>
<div class="dice">({{result_5}})</div>
</div>
{{/rollLess() result_5 20}}
{{#rollBetween() result_5 20 20}}
<div class="result complication">
<div class="total">X</div>
<div class="dice">({{result_5}})</div>
</div>
{{/rollBetween() result_5 20 20}}
{{/rollGreater() result_5 target}}
{{/rollGreater() dice_num 4}}
<!-- result 6 -->
{{#rollGreater() dice_num 5}}
{{#rollBetween() result_6 1 target}}
{{#rollTotal() tag 1}}
{{#rollBetween() result_6 1 skill_num}}
<div class="result critical">
<div class="total">2</div>
<div class="dice">({{result_6}})</div>
</div>
{{/rollBetween() result_6 1 skill_num}}
{{#rollGreater() result_6 skill_num}}
<div class="result success">
<div class="total">1</div>
<div class="dice">({{result_6}})</div>
</div>
{{/rollGreater() result_6 skill_num}}
{{/rollTotal() tag 1}}
{{#rollTotal() tag 0}}
{{#rollTotal() result_6 1}}
<div class="result critical">
<div class="total">2</div>
<div class="dice">({{result_6}})</div>
</div>
{{/rollTotal() result_6 1}}
{{#rollGreater() result_6 1}}
<div class="result success">
<div class="total">1</div>
<div class="dice">({{result_6}})</div>
</div>
{{/rollGreater() result_6 1}}
{{/rollTotal() tag 0}}
{{/rollBetween() result_6 1 target}}
{{#rollGreater() result_6 target}}
{{#rollLess() result_6 20}}
<div class="result failure">
<div class="total">0</div>
<div class="dice">({{result_6}})</div>
</div>
{{/rollLess() result_6 20}}
{{#rollBetween() result_6 20 20}}
<div class="result complication">
<div class="total">X</div>
<div class="dice">({{result_6}})</div>
</div>
{{/rollBetween() result_6 20 20}}
{{/rollGreater() result_6 target}}
{{/rollGreater() dice_num 5}}
</div>
</rolltemplate>
<rolltemplate class="sheet-rolltemplate-foattribute">
<div class="container">
<h1>{{name}}: {{attr}}</h1>
<p>{{attr_num}}</p>
</div>
</rolltemplate>
<rolltemplate class="sheet-rolltemplate-focd">
<div class="container">
<h1>{{name}} rolls {{attackname}}</h1>
<p><strong>{{dice_num}} Combat Dice</strong></p>
</div>
<div class="results">
<!-- result 1 -->
{{#rollGreater() dice_num 0}}
{{#rollBetween() result_1 1 1}}
<div class="result diehit">1 damage</div>
{{/rollBetween() result_1 1 1}}
{{#rollBetween() result_1 2 2}}
<div class="result diehitx2">2 damage</div>
{{/rollBetween() result_1 2 2}}
{{#rollBetween() result_1 3 4}}
<div class="result die">Nothing</div>
{{/rollBetween() result_1 3 4}}
{{#rollBetween() result_1 5 6}}
<div class="result dievb">1 damage + damage effects trigger</div>
{{/rollBetween() result_1 5 6}}
{{/rollGreater() dice_num 0}}
<!-- result 2 -->
{{#rollGreater() dice_num 1}}
{{#rollBetween() result_2 1 1}}
<div class="result diehit">1 damage</div>
{{/rollBetween() result_2 1 1}}
{{#rollBetween() result_2 2 2}}
<div class="result diehitx2">2 damage</div>
{{/rollBetween() result_2 2 2}}
{{#rollBetween() result_2 3 4}}
<div class="result die">Nothing</div>
{{/rollBetween() result_2 3 4}}
{{#rollBetween() result_2 5 6}}
<div class="result dievb">1 damage + damage effects trigger</div>
{{/rollBetween() result_2 5 6}}
{{/rollGreater() dice_num 1}}
<!-- result 3 -->
{{#rollGreater() dice_num 2}}
{{#rollBetween() result_3 1 1}}
<div class="result diehit">1 damage</div>
{{/rollBetween() result_3 1 1}}
{{#rollBetween() result_3 2 2}}
<div class="result diehitx2">2 damage</div>
{{/rollBetween() result_3 2 2}}
{{#rollBetween() result_3 3 4}}
<div class="result die">Nothing</div>
{{/rollBetween() result_3 3 4}}
{{#rollBetween() result_3 5 6}}
<div class="result dievb">1 damage + damage effects trigger</div>
{{/rollBetween() result_3 5 6}}
{{/rollGreater() dice_num 2}}
<!-- result 4 -->
{{#rollGreater() dice_num 3}}
{{#rollBetween() result_4 1 1}}
<div class="result diehit">1 damage</div>
{{/rollBetween() result_4 1 1}}
{{#rollBetween() result_4 2 2}}
<div class="result diehitx2">2 damage</div>
{{/rollBetween() result_4 2 2}}
{{#rollBetween() result_4 3 4}}
<div class="result die">Nothing</div>
{{/rollBetween() result_4 3 4}}
{{#rollBetween() result_4 5 6}}
<div class="result dievb">1 damage + damage effects trigger</div>
{{/rollBetween() result_4 5 6}}
{{/rollGreater() dice_num 3}}
<!-- result 5 -->
{{#rollGreater() dice_num 4}}
{{#rollBetween() result_5 1 1}}
<div class="result diehit">1 damage</div>
{{/rollBetween() result_5 1 1}}
{{#rollBetween() result_5 2 2}}
<div class="result diehitx2">2 damage</div>
{{/rollBetween() result_5 2 2}}
{{#rollBetween() result_5 3 4}}
<div class="result die">Nothing</div>
{{/rollBetween() result_5 3 4}}
{{#rollBetween() result_5 5 6}}
<div class="result dievb">1 damage + damage effects trigger</div>
{{/rollBetween() result_5 5 6}}
{{/rollGreater() dice_num 4}}
<!-- result 6 -->
{{#rollGreater() dice_num 5}}
{{#rollBetween() result_6 1 1}}
<div class="result diehit">1 damage</div>
{{/rollBetween() result_6 1 1}}
{{#rollBetween() result_6 2 2}}
<div class="result diehitx2">2 damage</div>
{{/rollBetween() result_6 2 2}}
{{#rollBetween() result_6 3 4}}
<div class="result die">Nothing</div>
{{/rollBetween() result_6 3 4}}
{{#rollBetween() result_6 5 6}}
<div class="result dievb">1 damage + damage effects trigger</div>
{{/rollBetween() result_6 5 6}}
{{/rollGreater() dice_num 5}}
<!-- result 7 -->
{{#rollGreater() dice_num 6}}
{{#rollBetween() result_7 1 1}}
<div class="result diehit">1 damage</div>
{{/rollBetween() result_7 1 1}}
{{#rollBetween() result_7 2 2}}
<div class="result diehitx2">2 damage</div>
{{/rollBetween() result_7 2 2}}
{{#rollBetween() result_7 3 4}}
<div class="result die">Nothing</div>
{{/rollBetween() result_7 3 4}}
{{#rollBetween() result_7 5 6}}
<div class="result dievb">1 damage + damage effects trigger</div>
{{/rollBetween() result_7 5 6}}
{{/rollGreater() dice_num 6}}
<!-- result 8 -->
{{#rollGreater() dice_num 7}}
{{#rollBetween() result_8 1 1}}
<div class="result diehit">1 damage</div>
{{/rollBetween() result_8 1 1}}
{{#rollBetween() result_8 2 2}}
<div class="result diehitx2">2 damage</div>
{{/rollBetween() result_8 2 2}}
{{#rollBetween() result_8 3 4}}
<div class="result die">Nothing</div>
{{/rollBetween() result_8 3 4}}
{{#rollBetween() result_8 5 6}}
<div class="result dievb">1 damage + damage effects trigger</div>
{{/rollBetween() result_8 5 6}}
{{/rollGreater() dice_num 7}}
<!-- result 9 -->
{{#rollGreater() dice_num 8}}
{{#rollBetween() result_9 1 1}}
<div class="result diehit">1 damage</div>
{{/rollBetween() result_9 1 1}}
{{#rollBetween() result_9 2 2}}
<div class="result diehitx2">2 damage</div>
{{/rollBetween() result_9 2 2}}
{{#rollBetween() result_9 3 4}}
<div class="result die">Nothing</div>
{{/rollBetween() result_9 3 4}}
{{#rollBetween() result_9 5 6}}
<div class="result dievb">1 damage + damage effects trigger</div>
{{/rollBetween() result_9 5 6}}
{{/rollGreater() dice_num 8}}
<!-- result 10 -->
{{#rollGreater() dice_num 9}}
{{#rollBetween() result_10 1 1}}
<div class="result diehit">1 damage</div>
{{/rollBetween() result_10 1 1}}
{{#rollBetween() result_10 2 2}}
<div class="result diehitx2">2 damage</div>
{{/rollBetween() result_10 2 2}}
{{#rollBetween() result_10 3 4}}
<div class="result die">Nothing</div>
{{/rollBetween() result_10 3 4}}
{{#rollBetween() result_10 5 6}}
<div class="result dievb">1 damage + damage effects trigger</div>
{{/rollBetween() result_10 5 6}}
{{/rollGreater() dice_num 9}}
</div>
</rolltemplate>
<rolltemplate class="sheet-rolltemplate-foraw">
<div class="container">
<h1>{{name}} rolls some dice</h1>
<p>{{dice_num}}d{{sides}}</p>
<p><strong>{{result}}</strong></p>
</div>
</rolltemplate>