mirror of
https://github.com/Nighthawk42/roll20-character-sheets.git
synced 2026-08-30 19:52:29 +00:00
10219 lines
646 KiB
HTML
10219 lines
646 KiB
HTML
<input type="hidden" name="attr_load_version" value="0.26">
|
||
<input type="hidden" name="attr_sheet_version">
|
||
<input type="hidden" class="sheet-tabstoggle" name="attr_sheet_tab" value="character" />
|
||
<input type="hidden" class="sheet-buttonstoggle" name="attr_sheet_type" value="pc" />
|
||
<input type="checkbox" name="attr_blitz_check" class="blitz-check" value="1" hidden>
|
||
<input type="hidden" class="sheet-buttonstoggle" name="attr_sheet_type" value="pc" />
|
||
<input type="hidden" name="attr_a1_bar" value="0">
|
||
<input type="hidden" name="attr_a2_bar" value="0">
|
||
<input type="hidden" name="attr_a3_bar" value="0">
|
||
<input type="hidden" name="attr_a1_bar_max" value="0">
|
||
<input type="hidden" name="attr_a2_bar_max" value="0">
|
||
<input type="hidden" name="attr_a3_bar_max" value="0">
|
||
<div class="sticky">
|
||
<h4>
|
||
<input type="hidden" class="sheet-buttonstoggle" name="attr_sheet_type" value="pc" />
|
||
<span class="sheet-buttons-pc">
|
||
<button type="action" name="act_character">Character</button>
|
||
<button type="action" name="act_gear">Gear</button>
|
||
</span>
|
||
<span class="sheet-buttons-npc">
|
||
<button type="action" name="act_npcgear">NPC Gear</button>
|
||
<button type="action" name="act_npccharacter">NPC Character</button>
|
||
<button type="action" name="act_creature"> Creature </button>
|
||
</span>
|
||
<button type="action" name="act_admin">Admin/Settings</button>
|
||
Bonus <span class="font-d6">f</span>: <input type="number" name="attr_bonus_dice" value="0">
|
||
TN: <input type="number" name="attr_tn" value="5">
|
||
Reliable <span class="font-d6">f</span>: <input type="number" name="attr_reliable" value="0">
|
||
<input type="number" name="attr_tn_bonus" value="0" hidden>
|
||
Expertise <input type="checkbox" name="attr_expertise_check" class="expertise-check" value="1" checked>
|
||
<select name="attr_whisper">
|
||
<option value="" selected>Public</option>
|
||
<option value="/w gm ">Whisper</option>
|
||
</select>
|
||
|
||
</h4>
|
||
</div>
|
||
|
||
|
||
<div class="sheet-character">
|
||
<div class="background">
|
||
<div class="char-image">
|
||
<img class="portrait" name="attr_character_avatar">
|
||
<div>
|
||
<h3>Pilot Image</h3>
|
||
</div>
|
||
</div>
|
||
<div class="background-info">
|
||
<div class="background-info-upper">
|
||
<div class="info-upper-row">
|
||
<div class="info-upper-row1">Name: <input type="text" class="infoused" name="attr_character_name" value=""></div>
|
||
<div class="info-upper-row1">Geneotype: <input type="text" class="infoused" name="attr_geneotype" value=""></div>
|
||
<div class="info-upper-row1">Gender: <input type="text" class="infoused" name="attr_gender" value="">
|
||
</div>
|
||
</div>
|
||
<div class="info-upper-row">
|
||
<div class="info-upper-row1" style="width: fit-content;">
|
||
Callsign: <input type="text" name="attr_callsign" value="">
|
||
</div>
|
||
<div class="info-upper-row1" style="width: fit-content;">
|
||
Age: <input type="text" class="digit" name="attr_age" value=""></div>
|
||
<div class="info-upper-row1" style="width: fit-content;">
|
||
National Origin: <input type="text" class="" name="attr_national_origin" value="">
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="background-infolower">
|
||
<div class="infobox">
|
||
<h3>Lifepath & Motivation</h3>
|
||
<div>
|
||
<textarea class="inputarea" name="attr_lifepath"></textarea>
|
||
</div>
|
||
</div>
|
||
<div class="infobox">
|
||
<h3>Description</h3>
|
||
<div>
|
||
<textarea class="inputarea" name="attr_description"></textarea>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
<div class="infobox">
|
||
<h3>Contacts</h3>
|
||
<fieldset class="repeating_contacts">
|
||
<input type="text" class="infoused" name="attr_contact_name">
|
||
<span class="pull-right">
|
||
Used:<input type="checkbox" name="attr_contact_exhausted">
|
||
</span>
|
||
|
||
i:<input type="checkbox" name="attr_contact_hide" class="sheet-toggle-show">
|
||
<div class="sheet-body">
|
||
<textarea class="inputarea" name="attr_contact_desc"></textarea>
|
||
</div>
|
||
</span>
|
||
</fieldset>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="attributes">
|
||
|
||
<div class="damage-box">
|
||
<div class="">
|
||
<h3>Posture</h3>
|
||
<select name="attr_posture">
|
||
<option value="stationary">Stationary</option>
|
||
<option value="braced">Braced</option>
|
||
<option value="dug_in">-> Dug In</option>
|
||
<option value="standard" selected>Standard</option>
|
||
<option value="cautious_move">-> Cautious Move</option>
|
||
<option value="all_out">All Out</option>
|
||
<option value="top_speed">-> Top Speed</option>
|
||
</select>
|
||
<p>Select token before initiative. </p>
|
||
<p><button type="action" name="act_initiative_start">Initiative</button>
|
||
: <input type="number" name="attr_initiative" value="0" min="0" class="digit"> </p>
|
||
|
||
<p>AP:<input type="number" name="attr_action_points" value="1" min="0" class="digit">/
|
||
<input type="number" name="attr_action_points_max" value="1" min="0" class="digit">
|
||
</p>
|
||
|
||
<button type="action" name="act_round_start">Start Round</button>
|
||
|
||
<p>
|
||
Declare Actions:<select name="attr_action_penalty">
|
||
<option value="0">0</option>
|
||
<option value="1" selected>1</option>
|
||
<option value="2">2</option>
|
||
<option value="3">3</option>
|
||
<option value="4">4</option>
|
||
</select>
|
||
</p>
|
||
<button type="action" name="act_activation_start">Start Activation</button>
|
||
|
||
|
||
|
||
</div>
|
||
<div class="infobox">
|
||
<h3>Damage Results</h3>
|
||
<div class="infobox">
|
||
<span><span class="pull-left">Shell:</span><span class="pull-right"><span type="number" name="attr_damage_shell" value="0"></span>/<input type="number" class="digit" name="attr_damage_shell_max" value="4"></span> </span>
|
||
<span><span class="pull-left">System:</span><span class="pull-right"> <span type="number" name="attr_damage_system" value="0"></span>/<input type="number" class="digit" name="attr_damage_system_max" value="4"></span>
|
||
</span>
|
||
<span><span class="pull-left">Total:</span><span class="pull-right" style="text-indent: -3em;"><span type="number" name="attr_damage_total" value="0"></span>
|
||
</div>
|
||
|
||
<h4> Damage</h4>
|
||
<fieldset class="repeating_damage">
|
||
<input type="text" name="attr_damage_name" class="infoused">
|
||
-<input type="number" class="digit" name="attr_damage_level" value="0" min="0" max="4">d6
|
||
<div>
|
||
<span>(<input type="checkbox" name="attr_damage_shell_check" value="1"> shell
|
||
<input type="checkbox" name="attr_damage_system_check" value="1"> system) </span>
|
||
i:<input type="checkbox" name="attr_damage_info" class="sheet-toggle-show" />
|
||
<div class="sheet-body">
|
||
Effect:<textarea name="attr_damage_effect" class="inputarea"></textarea>
|
||
Deterioration:<textarea name="attr_damage_deterioration" class="inputarea"></textarea>
|
||
Fix:<textarea name="attr_damage_fix" class="inputarea"></textarea>
|
||
</div>
|
||
</div>
|
||
</fieldset>
|
||
<span>Add Damage type: <select name="attr_damage_type_add">
|
||
<option disabled style="font-weight: bold;"> DAMAGE RESULTS </option>
|
||
<option value="Anger">Anger</option>
|
||
<option value="Bleeding">Bleeding</option>
|
||
<option value="Blinded">Blinded</option>
|
||
<option value="Brain Injury">Brain Injury</option>
|
||
<option value="Burned">Burned</option>
|
||
<option value="Combat Fatigue">Combat Fatigue</option>
|
||
<option value="Concussion">Concussion</option>
|
||
<option value="Deafened">Deafened</option>
|
||
<option value="Dehydrated">Dehydrated</option>
|
||
<option value="Encumbered">Encumbered</option>
|
||
<option value="Fear">Fear</option>
|
||
<option value="Fractured/Broken Bones">Fractured/Broken Bones</option>
|
||
<option value="Frozen">Frozen</option>
|
||
<option value="Guilt">Guilt</option>
|
||
<option value="Hallucinations">Hallucinations</option>
|
||
<option value="Internal Bleeding">Internal Bleeding</option>
|
||
<option value="Intoxicated">Intoxicated</option>
|
||
<option value="Knocked Out">Knocked Out</option>
|
||
<option value="Limb Crippled">Limb Crippled</option>
|
||
<option value="On Fire">On Fire</option>
|
||
<option value="Rattled">Rattled</option>
|
||
<option value="Paranoid">Paranoid</option>
|
||
<option value="Poisoned">Poisoned</option>
|
||
<option value="Prone">Prone</option>
|
||
<option value="Ruptured Organ">Ruptured Organ</option>
|
||
<option value="Shock">Shock</option>
|
||
<option value="Slowed">Slowed</option>
|
||
<option value="Snapped">Snapped</option>
|
||
<option value="Starving">Starving</option>
|
||
<option value="Stunned">Stunned</option>
|
||
<option value="The Shakes">The Shakes</option>
|
||
<option value="Terrified">Terrified</option>
|
||
<option value="Wounded">Wounded</option>
|
||
<option disabled style="font-weight: bold;"> VEHICLE DAMAGE RESULTS </option>
|
||
<option value="Catastrophic Limb Damage">Catastrophic Limb Damage</option>
|
||
<option value="Catastrophic System Damage">Catastrophic System Damage</option>
|
||
<option value="Drive System Crippled">Drive System Crippled</option>
|
||
<option value="Drive System Damaged">Drive System Damaged</option>
|
||
<option value="Engine Hit">Engine Hit</option>
|
||
<option value="Hull Breach">Hull Breach</option>
|
||
<option value="It's Gonna Blow">It's Gonna Blow</option>
|
||
<option value="Jammed">Jammed</option>
|
||
<option value="Knocked Down">Knocked Down</option>
|
||
<option value="Major Limb Damage">Major Limb Damage</option>
|
||
<option value="Major System Damage">Major System Damage</option>
|
||
<option value="Major Weapon Destroyed">Major Weapon Destroyed</option>
|
||
<option value="Minor Limb Damage">Minor Limb Damage</option>
|
||
<option value="Minor System Damage">Minor System Damage</option>
|
||
<option value="Minor Weapon Destroyed">Minor Weapon Destroyed</option>
|
||
<option value="On Fire (Vehicle)">On Fire (Vehicle)</option>
|
||
<option value="Secondary Explosion">Secondary Explosion</option>
|
||
<option value="Sensor Malfunction">Sensor Malfunction</option>
|
||
<option value="Unstable">Unstable</option>
|
||
</select> lv: <input type="number" name="attr_damage_lvl" class="digit" min="0">
|
||
<button type="action" name="act_damage_stat">Add New Damage</button> </span>
|
||
<h4>Damage Notes</h4> <textarea class="inputarea" name="attr_damage_desc" rows="3"></textarea>
|
||
</div>
|
||
</div>
|
||
<div class="attributes-box">
|
||
<div class="attributes-box-rows">
|
||
<div class="infobox">
|
||
<h3>Aptitudes</h3>
|
||
<div>
|
||
<fieldset class="repeating_aptitudes">
|
||
<input type="text" class="used" name="attr_aptitudes_name">
|
||
<input type="checkbox" name="attr_aptitudes_used">
|
||
</fieldset>
|
||
</div>
|
||
</div>
|
||
<div class="infobox">
|
||
<h3>Quirks</h3>
|
||
<div>
|
||
<fieldset class="repeating_quirks">
|
||
<input type="text" class="used" name="attr_quirks_name">
|
||
<input type="checkbox" name="attr_quirks_used">
|
||
</fieldset>
|
||
</div>
|
||
</div>
|
||
<div class="infobox">
|
||
<h3>Adversities</h3>
|
||
<div>
|
||
<fieldset class="repeating_adversities">
|
||
<input type="text" class="used" name="attr_adversities_name">
|
||
<input type="checkbox" name="attr_adversities_used">
|
||
</fieldset>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="attributes-box-rows">
|
||
<div class="infobox">
|
||
<h3>Perks</h3>
|
||
<div>
|
||
<fieldset class="repeating_perks">
|
||
<input class="lvinfoused" type="text" name="attr_perks_name">
|
||
<input type="number" name="attr_perk_lvl" class="digit" value="0" min="0" max="">
|
||
<span class="pull-right">
|
||
Used: <input type="checkbox" name="attr_perk_used">
|
||
</span>
|
||
i:<input type="checkbox" name="attr_perk_hide" class="sheet-toggle-show">
|
||
<div class="sheet-body">
|
||
<textarea class="inputarea" name="attr_perk_desc"> </textarea>
|
||
</div>
|
||
</fieldset>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="infobox">
|
||
<h3>Flaws</h3>
|
||
<fieldset class="repeating_flaws">
|
||
<input type="text" class="lvinfoused" name="attr_flaws_name">
|
||
<input type="number" name="attr_flaws_lvl" class="digit" value="0" min="0" max="">
|
||
<span class="pull-right">
|
||
Used: <input type="checkbox" name="attr_flaws_used">
|
||
</span>
|
||
i:<input type="checkbox" name="attr_flaws_hide" class="sheet-toggle-show">
|
||
<div class="sheet-body">
|
||
<textarea class="inputarea" name="attr_flaws_desc"> </textarea>
|
||
</div>
|
||
</fieldset>
|
||
</div>
|
||
</div>
|
||
<input type="checkbox" class="archetype-toggle" name="attr_optional_archetype" hidden />
|
||
<div class="archetype">
|
||
<h3>Archetype <input type="checkbox" class="sheet-toggle-show" name="attr_archetype_hide" /></h3>
|
||
<input type="checkbox" class="sheet-toggle-show" name="attr_archetype_hide" hidden />
|
||
<div class="sheet-body">
|
||
|
||
<h4> <input type="text" list="archetypelist" name="attr_archetype" value="" style="text-align: center;">
|
||
R-<input type="number" class="digit" min="0" name="attr_archetype_rank" value="0" max="6">
|
||
</h4>
|
||
<input type="hidden" name="attr_archetype" class="archetype-select"></span>
|
||
|
||
<div class="archetype-caretaker">
|
||
<div>Equipment: Rig or Kit to match skill set
|
||
<input type="checkbox" name="attr_caretaker_equipment_hide" class="sheet-toggle-show-span">
|
||
<span class="sheet-body">
|
||
<input type="text" name="attr_archetype_equipment"> </span>
|
||
|
||
</div>
|
||
<div>
|
||
Rank: A Caretaker can rank up based on how well they assist their teammates.
|
||
</div>
|
||
<span>Caretaker Special Rules</span>
|
||
<input type="hidden" name="attr_archetype_rank" class="archetype-rank-select"></span>
|
||
<div class="archetype-rank-1">
|
||
R-1
|
||
<select name="attr_caretaker_select_1">
|
||
<option value=" "></option>
|
||
<option value="medic">Medic</option>
|
||
<option value="mechanic">Mechanic</option>
|
||
<option value="guide">Guide</option>
|
||
</select>
|
||
<input type="number" name="attr_caretaker_lvl_1" class="digit" value="0" min="0" max="1">
|
||
<input type="checkbox" name="attr_caretaker_1_hide" class="sheet-toggle-show">
|
||
</div>
|
||
<div>
|
||
<input type="checkbox" name="attr_caretaker_1_hide" class="sheet-toggle-show" hidden>
|
||
<div class="sheet-body">
|
||
<span name="attr_caretaker_lvl_1_desc"></span>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="archetype-rank-2">
|
||
R-2
|
||
<select name="attr_caretaker_select_2">
|
||
<option value=" "></option>
|
||
<option value="medic">Medic</option>
|
||
<option value="mechanic">Mechanic</option>
|
||
<option value="guide">Guide</option>
|
||
</select>
|
||
<input type="number" name="attr_caretaker_lvl_2" class="digit" value="0" min="0" max="2">
|
||
<input type="checkbox" name="attr_caretaker_2_hide" class="sheet-toggle-show">
|
||
</div>
|
||
<div>
|
||
<input type="checkbox" name="attr_caretaker_2_hide" class="sheet-toggle-show" hidden>
|
||
<div class="sheet-body">
|
||
<span name="attr_caretaker_lvl_2_desc"></span>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="archetype-rank-3">
|
||
R-3
|
||
<select name="attr_caretaker_select_3">
|
||
<option value=" "></option>
|
||
<option value="medic">Medic</option>
|
||
<option value="mechanic">Mechanic</option>
|
||
<option value="guide">Guide</option>
|
||
</select>
|
||
<input type="number" name="attr_caretaker_lvl_3" class="digit" value="0" min="0" max="3">
|
||
<input type="checkbox" name="attr_caretaker_3_hide" class="sheet-toggle-show">
|
||
</div>
|
||
<div>
|
||
<input type="checkbox" name="attr_caretaker_3_hide" class="sheet-toggle-show" hidden>
|
||
<div class="sheet-body">
|
||
<span name="attr_caretaker_lvl_3_desc"></span>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="archetype-rank-4">
|
||
R-4
|
||
<select name="attr_caretaker_select_4">
|
||
<option value=" "></option>
|
||
<option value="medic">Medic</option>
|
||
<option value="mechanic">Mechanic</option>
|
||
<option value="guide">Guide</option>
|
||
</select>
|
||
<input type="number" name="attr_caretaker_lvl_4" class="digit" value="0" min="0" max="4">
|
||
<input type="checkbox" name="attr_caretaker_4_hide" class="sheet-toggle-show">
|
||
</div>
|
||
<div>
|
||
<input type="checkbox" name="attr_caretaker_4_hide" class="sheet-toggle-show" hidden>
|
||
<div class="sheet-body">
|
||
<span name="attr_caretaker_lvl_4_desc"></span>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="archetype-rank-5">
|
||
R-5
|
||
<select name="attr_caretaker_select_5">
|
||
<option value=" "></option>
|
||
<option value="medic">Medic</option>
|
||
<option value="mechanic">Mechanic</option>
|
||
<option value="guide">Guide</option>
|
||
</select>
|
||
<input type="number" name="attr_caretaker_lvl_5" class="digit" value="0" min="0" max="5">
|
||
<input type="checkbox" name="attr_caretaker_5_hide" class="sheet-toggle-show">
|
||
</div>
|
||
<div>
|
||
<input type="checkbox" name="attr_caretaker_5_hide" class="sheet-toggle-show" hidden>
|
||
<div class="sheet-body">
|
||
<span name="attr_caretaker_lvl_5_desc"></span>
|
||
</div>
|
||
</div>
|
||
<div class="archetype-rank-6">
|
||
R-6
|
||
<select name="attr_caretaker_select_6">
|
||
<option value=" "></option>
|
||
<option value="medic">Medic</option>
|
||
<option value="mechanic">Mechanic</option>
|
||
<option value="guide">Guide</option>
|
||
</select>
|
||
<input type="number" name="attr_caretaker_lvl_6" class="digit" value="0" min="0" max="6">
|
||
<input type="checkbox" name="attr_caretaker_6_hide" class="sheet-toggle-show">
|
||
</div>
|
||
<div>
|
||
<input type="checkbox" name="attr_caretaker_6_hide" class="sheet-toggle-show" hidden>
|
||
<div class="sheet-body">
|
||
<span name="attr_caretaker_lvl_6_desc"></span>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="archetype-commander">
|
||
<div>Equipment: Command dataglove and/or Satellite Uplink.
|
||
</div>
|
||
<div>
|
||
Rank: Commanders rank up for accomplishing missions in a satisfactory way and for taking care of those who serve alongside them.
|
||
</div>
|
||
<span> CP: <input type="number" name="attr_archetype_cp" class="digit" value="0"> / <input type="number" name="attr_archetype_cp_max" class="digit" value="0"> </span>
|
||
|
||
<span> Special Rules </span>
|
||
<input type="hidden" name="attr_archetype_rank" class="archetype-rank-select"></span>
|
||
<div class="archetype-rank-1">
|
||
R-1 : Counts PL as 1 higher when selecting and customizing vehicles that have a Comms Suite or Satellite Uplink.
|
||
</div>
|
||
<div class="archetype-rank-2">
|
||
R-2 : The Commander can affect up to 3 recipients with an order without increasing Dif.
|
||
</div>
|
||
<div class="archetype-rank-3">
|
||
R-3 : Attempts to Jam the Commander suffer TP:1
|
||
</div>
|
||
<div class="archetype-rank-4">
|
||
R-4 : The Commander treats Influence and Tactics as a single domain when issuing orders for purposes of domain bonuses
|
||
</div>
|
||
<div class="archetype-rank-5">
|
||
R-5 : Drop Dif of all orders by 1.
|
||
</div>
|
||
<div class="archetype-rank-6">
|
||
R-6 : The Commander may issue orders during another actor’s activation.
|
||
</div>
|
||
<Span>Orders: </Span>
|
||
<div class="archetype-rank-1">
|
||
<span><span name="attr_commander_order_0"> </span>
|
||
(Diff: <span name="attr_commander_order_0_diff"> </span>)
|
||
<input type="checkbox" name="attr_commander_order_0_hide" class="sheet-toggle-show-span" checked>
|
||
<span class="sheet-body">
|
||
<input type="text" name="attr_commander_order_0">
|
||
<input type="number" name="attr_commander_order_0_diff" class="digit" value="0">
|
||
<textarea class="inputarea" name="attr_commander_order_0_desc"></textarea>
|
||
</span>
|
||
</div>
|
||
<div class="archetype-rank-1">
|
||
<span><span name="attr_commander_order_1"> </span>
|
||
(Diff: <span name="attr_commander_order_1_diff"> </span>)
|
||
<input type="checkbox" name="attr_commander_order_1_hide" class="sheet-toggle-show-span" checked>
|
||
<span class="sheet-body">
|
||
<input type="text" name="attr_commander_order_1">
|
||
<input type="number" name="attr_commander_order_1_diff" class="digit" value="0">
|
||
<textarea class="inputarea" name="attr_commander_order_1_desc"></textarea>
|
||
</span>
|
||
</div>
|
||
<div class="archetype-rank-2">
|
||
<span><span name="attr_commander_order_2"> </span>
|
||
(Diff: <span name="attr_commander_order_2_diff"> </span>)
|
||
<input type="checkbox" name="attr_commander_order_2_hide" class="sheet-toggle-show-span" checked>
|
||
<span class="sheet-body">
|
||
<input type="text" name="attr_commander_order_2">
|
||
<input type="number" name="attr_commander_order_2_diff" class="digit" value="0">
|
||
<textarea class="inputarea" name="attr_commander_order_2_desc"></textarea>
|
||
</span>
|
||
</div>
|
||
<div class="archetype-rank-3">
|
||
<span><span name="attr_commander_order_3"> </span>
|
||
(Diff: <span name="attr_commander_order_3_diff"> </span>)
|
||
<input type="checkbox" name="attr_commander_order_3_hide" class="sheet-toggle-show-span" checked>
|
||
<span class="sheet-body">
|
||
<input type="text" name="attr_commander_order_3">
|
||
<input type="number" name="attr_commander_order_3_diff" class="digit" value="0">
|
||
<textarea class="inputarea" name="attr_commander_order_3_desc"></textarea>
|
||
</span>
|
||
</div>
|
||
<div class="archetype-rank-4">
|
||
<span><span name="attr_commander_order_4"> </span>
|
||
(Diff: <span name="attr_commander_order_4_diff"> </span>)
|
||
<input type="checkbox" name="attr_commander_order_4_hide" class="sheet-toggle-show-span" checked>
|
||
<span class="sheet-body">
|
||
<input type="text" name="attr_commander_order_4">
|
||
<input type="number" name="attr_commander_order_4_diff" class="digit" value="0">
|
||
<textarea class="inputarea" name="attr_commander_order_4_desc"></textarea>
|
||
</span>
|
||
</div>
|
||
<div class="archetype-rank-5">
|
||
<span><span name="attr_commander_order_5"> </span>
|
||
(Diff: <span name="attr_commander_order_5_diff"> </span>)
|
||
<input type="checkbox" name="attr_commander_order_5_hide" class="sheet-toggle-show-span" checked>
|
||
<span class="sheet-body">
|
||
<input type="text" name="attr_commander_order_5">
|
||
<input type="number" name="attr_commander_order_5_diff" class="digit" value="0">
|
||
<textarea class="inputarea" name="attr_commander_order_5_desc"></textarea>
|
||
</span>
|
||
</div>
|
||
<div class="archetype-rank-6">
|
||
<span><span name="attr_commander_order_6"> </span>
|
||
(Diff: <span name="attr_commander_order_6_diff"> </span>)
|
||
<input type="checkbox" name="attr_commander_order_6_hide" class="sheet-toggle-show-span" checked>
|
||
<span class="sheet-body">
|
||
<input type="text" name="attr_commander_order_6">
|
||
<input type="number" name="attr_commander_order_6_diff" class="digit" value="0">
|
||
<textarea class="inputarea" name="attr_commander_order_6_desc"></textarea>
|
||
</span>
|
||
</div>
|
||
</div>
|
||
<div class="archetype-duelist">
|
||
<span> Duelist </span>
|
||
<div>Equipment: Southern duelists traditionally carry a rapier. Other factions may have a certain melee weapon traditional for dueling or dueling pistol.
|
||
</div>
|
||
<div>
|
||
Rank: Duelists rank up by defeating significant opponents and performing showy and often
|
||
impressive feats of piloting and skill.
|
||
</div>
|
||
<div>
|
||
Momentum: <input type="number" name="attr_duelist_momentum" class="digit" value="0"> / <input type="number" name="attr_duelist_momentum_max" class="digit" value="0">
|
||
</div>
|
||
<span> Special Rules </span>
|
||
<input type="hidden" name="attr_archetype_rank" class="archetype-rank-select"></span>
|
||
<div class="archetype-rank-1">
|
||
R-1 : Select 1 Special Move, this Special Move may be performed any number of times during an
|
||
activation. The Duelist may change the selected move each time they rank up or as an
|
||
intermission action.
|
||
</div>
|
||
<input type="text" name="attr_duelist_special_move">
|
||
<div class="archetype-rank-2">
|
||
R-2 : Attempts to prevent the Duelist from leaving an enemy’s melee range automatically fail.
|
||
</div>
|
||
<div class="archetype-rank-3">
|
||
R-3 : The Duelist may increase the cost of Special Moves to reduce the penalty imposed for
|
||
taking multiple actions in a single activation at a rate of 1 Momentum per 1d6 of penalty. This
|
||
may be done multiple times and on multiple Special Moves during the same Activation
|
||
</div>
|
||
<div class="archetype-rank-4">
|
||
R-4 : The Duelist may spend 1 Momentum during their Activation to allow 1 friendly actor to
|
||
reroll any single skill test. The reroll expires at the end of the scene if it is not used
|
||
</div>
|
||
<div class="archetype-rank-5">
|
||
R-5 : The Duelist can make a single melee attack as a free action during their Activation
|
||
</div>
|
||
<div class="archetype-rank-6">
|
||
R-6 : When resisting melee attacks, instead of simply resisting, the Duelist may declare it a
|
||
Riposte with one of their melee weapons. If the Duelist wins the roll, inflict damage as if it
|
||
was an attack using the Duelist’s MoS. The original aggressor still wins ties
|
||
</div>
|
||
</div>
|
||
<div class="archetype-fixer">
|
||
<span> Display Fixer </span>
|
||
<div>Equipment: The Fixer may select up to 2 total burden of items to count as archetype equipment.
|
||
<textarea class="inputarea" name="attr_fixer_equipment"></textarea>
|
||
</div>
|
||
<div>
|
||
Rank: Fixers rank up for any actions that advance the story or help the team’s mission succeed
|
||
</div>
|
||
<span> Luck: <input type="number" name="attr_fixer_luck" class="digit" value="0"> / <input type="number" name="attr_fixer_luck_max" class="digit" value="0"></span>
|
||
<span> Special Rules </span>
|
||
<input type="hidden" name="attr_archetype_rank" class="archetype-rank-select"></span>
|
||
<div class="archetype-rank-1">
|
||
R-1 : At the start of each session, the Fixer gains a pool of Luck dice they can add to any
|
||
skill test. This is determined before rolling. Any dice added to a roll are lost. They may add
|
||
all dice at once, or one at a time. Either way, unspent dice are lost and the pool refills each
|
||
session
|
||
</div>
|
||
<div class="archetype-rank-2">
|
||
R-2 : The Fixer may choose to mark one XP on a skill each session whether they used the skill or
|
||
not. This takes the place of the usual XP they would be allowed to gain for that skill.
|
||
</div>
|
||
<div class="archetype-rank-3">
|
||
R-3 : Once per mission, when selecting a vehicle or a piece of equipment needed for that task,
|
||
the character can select a piece that is one priority level higher than normal. At Director
|
||
discretion, this can be used to get PL 1 equipment from a faction the character has priority
|
||
level 0 with
|
||
</div>
|
||
<div class="archetype-rank-4">
|
||
R-4 : The Fixer gains an additional intermission action that can be used for one of the
|
||
following actions: Collect Intel, Develop Contacts, Acquire, Get into Trouble, or Special. This
|
||
action can only take effect if the Director determines there is enough time for the action to
|
||
take place.
|
||
</div>
|
||
<div class="archetype-rank-5">
|
||
R-5 : Once per session, when a non-attack skill test fails by MoF no greater than 2, the Fixer
|
||
can take a -1d6 Shell Shock damage result to have the roll count as an MoS: 0 instead. This
|
||
action counts as a reroll for the purposes of rerolls
|
||
</div>
|
||
<div class="archetype-rank-6">
|
||
R-6 : Once per session, the Fixer can add a specific fact to the results of one roll. They could
|
||
use this to specify an interesting detail about an attack, protect themselves from a specific
|
||
consequence, or turn the tables unexpectedly by having information that can be used to blackmail
|
||
an antagonist in their gear’s databanks. This could be used for something as simple as saying
|
||
the Fixer has a piece of gear they forgot to bring, to something more complex like “even though
|
||
I failed to talk my way out of getting arrested, my scenario was sympathetic enough that one of
|
||
the police will contact my friends”. The fact has to fit the story and the Director is allowed
|
||
veto over absurd or destructive requests, but otherwise it is the Fixer’s choice.
|
||
</div>
|
||
</div>
|
||
<div class="archetype-grunt">
|
||
<span> Display Grunt </span>
|
||
<div>Equipment: A single weapon and suit of armor: <input type="text" name="attr_grunt_equipment">
|
||
</div>
|
||
<div>
|
||
Rank: Grunts rank up for performing significant acts of individual bravery, endurance, or skill.
|
||
</div>
|
||
<span>Grunt Special Rules</span>
|
||
<input type="hidden" name="attr_archetype_rank" class="archetype-rank-select"></span>
|
||
<div class="archetype-rank-1">
|
||
R-1
|
||
<select name="attr_grunt_select_1">
|
||
<option value=" "></option>
|
||
<option value="ranged">Ranged</option>
|
||
<option value="melee">Melee</option>
|
||
<option value="endurance">Endurance</option>
|
||
<option value="brute">Brute</option>
|
||
</select>
|
||
<input type="number" name="attr_grunt_lvl_1" class="digit" value="0" min="0" max="1">
|
||
<input type="checkbox" name="attr_grunt_1_hide" class="sheet-toggle-show">
|
||
</div>
|
||
<div>
|
||
<input type="checkbox" name="attr_grunt_1_hide" class="sheet-toggle-show" hidden>
|
||
<div class="sheet-body">
|
||
<span name="attr_grunt_lvl_1_desc"></span>
|
||
</div>
|
||
</div>
|
||
<div class="archetype-rank-2">
|
||
R-2
|
||
<select name="attr_grunt_select_2">
|
||
<option value=" "></option>
|
||
<option value="ranged">Ranged</option>
|
||
<option value="melee">Melee</option>
|
||
<option value="endurance">Endurance</option>
|
||
<option value="brute">Brute</option>
|
||
</select>
|
||
<input type="number" name="attr_grunt_lvl_2" class="digit" value="0" min="0" max="2">
|
||
<input type="checkbox" name="attr_grunt_2_hide" class="sheet-toggle-show">
|
||
</div>
|
||
<div>
|
||
<input type="checkbox" name="attr_grunt_2_hide" class="sheet-toggle-show" hidden>
|
||
<span class="sheet-body">
|
||
<span name="attr_grunt_lvl_2_desc"></span>
|
||
</span>
|
||
</div>
|
||
<div class="archetype-rank-3">
|
||
R-3
|
||
<select name="attr_grunt_select_3">
|
||
<option value=" "></option>
|
||
<option value="ranged">Ranged</option>
|
||
<option value="melee">Melee</option>
|
||
<option value="endurance">Endurance</option>
|
||
<option value="brute">Brute</option>
|
||
</select>
|
||
<input type="number" name="attr_grunt_lvl_3" class="digit" value="0" min="0" max="3">
|
||
<input type="checkbox" name="attr_grunt_3_hide" class="sheet-toggle-show">
|
||
</div>
|
||
<div>
|
||
<input type="checkbox" name="attr_grunt_3_hide" class="sheet-toggle-show" hidden>
|
||
<span class="sheet-body">
|
||
<span name="attr_grunt_lvl_3_desc"></span>
|
||
</span>
|
||
</div>
|
||
<div class="archetype-rank-4">
|
||
R-4
|
||
<select name="attr_grunt_select_4">
|
||
<option value=" "></option>
|
||
<option value="ranged">Ranged</option>
|
||
<option value="melee">Melee</option>
|
||
<option value="endurance">Endurance</option>
|
||
<option value="brute">Brute</option>
|
||
</select>
|
||
<input type="number" name="attr_grunt_lvl_4" class="digit" value="0" min="0" max="4">
|
||
<input type="checkbox" name="attr_grunt_4_hide" class="sheet-toggle-show">
|
||
</div>
|
||
<div>
|
||
<input type="checkbox" name="attr_grunt_4_hide" class="sheet-toggle-show" hidden>
|
||
<span class="sheet-body">
|
||
<span name="attr_grunt_lvl_4_desc"></span>
|
||
</span>
|
||
</div>
|
||
<div class="archetype-rank-5">
|
||
R-5
|
||
<select name="attr_grunt_select_5">
|
||
<option value=" "></option>
|
||
<option value="ranged">Ranged</option>
|
||
<option value="melee">Melee</option>
|
||
<option value="endurance">Endurance</option>
|
||
<option value="brute">Brute</option>
|
||
</select>
|
||
<input type="number" name="attr_grunt_lvl_5" class="digit" value="0" min="0" max="5">
|
||
<input type="checkbox" name="attr_grunt_5_hide" class="sheet-toggle-show">
|
||
</div>
|
||
<div>
|
||
<span class="sheet-body">
|
||
<span name="attr_grunt_lvl_5_desc"></span>
|
||
</span>
|
||
</div>
|
||
<div class="archetype-rank-6">
|
||
R-6
|
||
<select name="attr_grunt_select_6">
|
||
<option value=" "></option>
|
||
<option value="ranged">Ranged</option>
|
||
<option value="melee">Melee</option>
|
||
<option value="endurance">Endurance</option>
|
||
<option value="brute">Brute</option>
|
||
</select>
|
||
<input type="number" name="attr_grunt_lvl_6" class="digit" value="0" min="0" max="6">
|
||
<input type="checkbox" name="attr_grunt_6_hide" class="sheet-toggle-show">
|
||
</div>
|
||
<div>
|
||
<span class="sheet-body">
|
||
<span name="attr_grunt_lvl_6_desc"></span>
|
||
</span>
|
||
</div>
|
||
</div>
|
||
<div class="archetype-pilot">
|
||
<span> Display Pilot </span>
|
||
<div>Equipment: Pilot Suit.
|
||
</div>
|
||
<div>
|
||
Rank: Pilots rank up for performing significant acts of skill or valor.
|
||
</div>
|
||
<span> Special Rules </span>
|
||
<input type="hidden" name="attr_archetype_rank" class="archetype-rank-select"></span>
|
||
<div class="archetype-rank-1">
|
||
R-1 : The Pilot must select an actor type from the following list; Gear, Strider, Vehicle,
|
||
Aircraft or Drone. This is their specialization. Pilot archetype effects only apply when the
|
||
Pilot is using that type of vehicle unless otherwise stated. The Pilot can perform a Patch
|
||
action once per scene on the vehicle they are piloting. This Patch only ever patches 1d6 worth
|
||
of penalty of the Pilot’s choice and is a free action.
|
||
</div>
|
||
<input type="text" name="attr_pilot_selection">
|
||
<div class="archetype-rank-2">
|
||
R-2 : The first Reload or Ram actions during the Pilot’s activation is a free action.
|
||
</div>
|
||
<div class="archetype-rank-3">
|
||
R-3 : The Pilot may select either of two effects whenever their vehicle recieves maintenance,
|
||
only one is active at a time. Increase the maximum and optimal range of all ranged weapons by
|
||
10m (1in) of the vehicle the pilot is piloting for every full 120m (12in) of maximum range, or
|
||
increase the MR of the vehicle the Pilot is piloting by 1. Increase this by an additional 1 for
|
||
every full 8 of MR.
|
||
</div>
|
||
<div class="archetype-rank-4">
|
||
R-4 : The pilot can use Focus as a free action and does not spend an action point to do so
|
||
</div>
|
||
<div class="archetype-rank-5">
|
||
R-5 : Once per Activation when attacking a target the Pilot can make an additional attack
|
||
against the same target as a free action.
|
||
</div>
|
||
<div class="archetype-rank-6">
|
||
R-6 : The Pilot may select either of the two following effects. The Pilot gains 1 action point
|
||
while piloting their chosen vehicle type, or the Pilot can select 1 additional actor type for
|
||
their vehicle specialization. All Pilot rank effects apply when using either of the selected
|
||
actor types.
|
||
</div>
|
||
<div class="archetype-rank-6">
|
||
<input type="text" name="attr_pilot_selection_2">
|
||
</div>
|
||
|
||
</div>
|
||
<div class="archetype-scout">
|
||
<span> Display Scout </span>
|
||
<div>Equipment: Stealth Suit or Scout Rig
|
||
</div>
|
||
<div>
|
||
Rank: Scouts rank up via achieving mission objectives or removing high value targets.
|
||
</div>
|
||
<span> Special Rules </span>
|
||
<input type="hidden" name="attr_archetype_rank" class="archetype-rank-select"></span>
|
||
<div class="archetype-rank-1">
|
||
R-1
|
||
<select name="attr_scout_select_1">
|
||
<option value=" "></option>
|
||
<option value="pathfinder">Pathfinder</option>
|
||
<option value="sniper">Sniper</option>
|
||
<option value="guerrilla">Guerrilla</option>
|
||
</select>
|
||
<input type="number" name="attr_scout_lvl_1" class="digit" value="0" min="0" max="1">
|
||
<input type="checkbox" name="attr_scout_1_hide" class="sheet-toggle-show">
|
||
</div>
|
||
<div>
|
||
<input type="checkbox" name="attr_scout_1_hide" class="sheet-toggle-show" hidden>
|
||
<div class="sheet-body">
|
||
<span name="attr_scout_lvl_1_desc"></span>
|
||
</div>
|
||
</div>
|
||
<div class="archetype-rank-2">
|
||
R-2
|
||
<select name="attr_scout_select_2">
|
||
<option value=" "></option>
|
||
<option value="pathfinder">Pathfinder</option>
|
||
<option value="sniper">Sniper</option>
|
||
<option value="guerrilla">Guerrilla</option>
|
||
</select>
|
||
<input type="number" name="attr_scout_lvl_2" class="digit" value="0" min="0" max="2">
|
||
<input type="checkbox" name="attr_scout_2_hide" class="sheet-toggle-show">
|
||
</div>
|
||
<div>
|
||
<input type="checkbox" name="attr_scout_2_hide" class="sheet-toggle-show" hidden>
|
||
<div class="sheet-body">
|
||
<span name="attr_scout_lvl_2_desc"></span>
|
||
</div>
|
||
</div>
|
||
<div class="archetype-rank-3">
|
||
R-3
|
||
<select name="attr_scout_select_3">
|
||
<option value=" "></option>
|
||
<option value="pathfinder">Pathfinder</option>
|
||
<option value="sniper">Sniper</option>
|
||
<option value="guerrilla">Guerrilla</option>
|
||
</select>
|
||
<input type="number" name="attr_scout_lvl_3" class="digit" value="0" min="0" max="3">
|
||
<input type="checkbox" name="attr_scout_3_hide" class="sheet-toggle-show">
|
||
</div>
|
||
<div>
|
||
<input type="checkbox" name="attr_scout_3_hide" class="sheet-toggle-show" hidden>
|
||
<div class="sheet-body">
|
||
<span name="attr_scout_lvl_3_desc"></span>
|
||
</div>
|
||
</div>
|
||
<div class="archetype-rank-4">
|
||
R-4
|
||
<select name="attr_scout_select_4">
|
||
<option value=" "></option>
|
||
<option value="pathfinder">Pathfinder</option>
|
||
<option value="sniper">Sniper</option>
|
||
<option value="guerrilla">Guerrilla</option>
|
||
</select>
|
||
<input type="number" name="attr_scout_lvl_4" class="digit" value="0" min="0" max="4">
|
||
<input type="checkbox" name="attr_scout_4_hide" class="sheet-toggle-show">
|
||
</div>
|
||
<div>
|
||
<input type="checkbox" name="attr_scout_4_hide" class="sheet-toggle-show" hidden>
|
||
<span class="sheet-body">
|
||
<span name="attr_scout_lvl_4_desc"></span>
|
||
</span>
|
||
</div>
|
||
<div class="archetype-rank-5">
|
||
R-5
|
||
<select name="attr_scout_select_5">
|
||
<option value=" "></option>
|
||
<option value="pathfinder">Pathfinder</option>
|
||
<option value="sniper">Sniper</option>
|
||
<option value="guerrilla">Guerrilla</option>
|
||
</select>
|
||
<input type="number" name="attr_scout_lvl_5" class="digit" value="0" min="0" max="5">
|
||
<input type="checkbox" name="attr_scout_5_hide" class="sheet-toggle-show">
|
||
</div>
|
||
<div>
|
||
<input type="checkbox" name="attr_scout_5_hide" class="sheet-toggle-show" hidden>
|
||
<span class="sheet-body">
|
||
<span name="attr_scout_lvl_5_desc"></span>
|
||
</span>
|
||
</div>
|
||
<div class="archetype-rank-6">
|
||
R-6
|
||
<select name="attr_scout_select_6">
|
||
<option value=" "></option>
|
||
<option value="pathfinder">Pathfinder</option>
|
||
<option value="sniper">Sniper</option>
|
||
<option value="guerrilla">Guerrilla</option>
|
||
</select>
|
||
<input type="number" name="attr_scout_lvl_6" class="digit" value="0" min="0" max="6">
|
||
<input type="checkbox" name="attr_scout_6_hide" class="sheet-toggle-show">
|
||
</div>
|
||
<div>
|
||
<input type="checkbox" name="attr_scout_6_hide" class="sheet-toggle-show" hidden>
|
||
<span class="sheet-body">
|
||
<span name="attr_scout_lvl_6_desc"></span>
|
||
</div>
|
||
|
||
</div>
|
||
<div class="archetype-techie">
|
||
<span> Display Techie </span>
|
||
<div>Equipment: Skill set appropriate Rig or Kit.
|
||
</div>
|
||
<div>
|
||
Rank: Techies rank up as they perform great feats of engineering and technical prowess.
|
||
</div>
|
||
<span>Enhancement: <input type="number" name="attr_techie_enhancement" class="digit" value="0"> /
|
||
<input type="number" name="attr_techie_enhancement_max" class="digit" value="0"></span>
|
||
<span> Special Rules </span>
|
||
<input type="hidden" name="attr_archetype_rank" class="archetype-rank-select"></span>
|
||
<div class="archetype-rank-1">
|
||
R-1: May select 1 Techie Specialization.
|
||
<input type="text" name="attr_techie_specialization">
|
||
</div>
|
||
<div class="archetype-rank-2">
|
||
R-2: Reduce repair time of equipment by half if Equipment is under the Techie Specialization.
|
||
</div>
|
||
<div class="archetype-rank-3">
|
||
R-3: Treat the Threshold Number of a roll as 1 better for the purposes of returning
|
||
Enhancement Dice to the pool.
|
||
</div>
|
||
<div class="archetype-rank-4">
|
||
R-4: If three or more of the Enhancement Dice equal or exceed the Threshold Number for the
|
||
roll, improve the MoS/MoF by 1
|
||
</div>
|
||
<div class="archetype-rank-5">
|
||
R-5: 1 failed Enhancement Die per roll can be returned to the Enhancement Dice Pool
|
||
</div>
|
||
<div class="archetype-rank-6">
|
||
R-6 : If all Enhancement Dice used on a roll equal or exceed the Threshold Number for the
|
||
roll, improve the MoS/MoF by 1 per Enhancement Die. If this Effect is used, do not apply the
|
||
R-4 Effect to the roll.
|
||
</div>
|
||
</div>
|
||
<div class="archetype-default">
|
||
<div>Equipment:<input type="text" name="attr_archetype_equipment"> </div>
|
||
<div>
|
||
Resource:<input type="text" class="infoused" name="attr_archetype_resource_name">
|
||
<input type="number" name="attr_archetype_resource" value="0">/<input type="number" name="attr_archetype_resource_max" value="0"> Regain <input type="text" name="attr_archetype_resource_regain">
|
||
</div>
|
||
Rules:<fieldset class="repeating_archetype-rules">
|
||
<input type="text" name="attr_archetype_rules_level">
|
||
Info: <input type="checkbox" name="attr_archetype_rules" class="sheet-toggle-show">
|
||
<div class="sheet-body">
|
||
<textarea class="inputarea" name="attr_archetype_rules_effect"></textarea>
|
||
</div>
|
||
</fieldset>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="play-info">
|
||
<div class="inventory">
|
||
<div class="infobox">
|
||
<h3>Personal Inventory</h3>
|
||
<span>Total Burden
|
||
<span class="pull-right">
|
||
<span type="number" name="attr_burden_total" value="0"></span>/
|
||
<input class="digit" type="number" name="attr_burden_total_max" value="8">
|
||
</span></span>
|
||
<div class="infobox">
|
||
<h4> <label for="equipment" name="attr_personal_equipment_hide">Equipment.</label> <input type="checkbox" id="equipment" name="attr_personal_equipment_hide" class="sheet-toggle-show" hidden>
|
||
<span class="pull-right">Burden</span>
|
||
</h4>
|
||
<input name="attr_personal_equipment_burden_total" type="hidden" />
|
||
<fieldset class="repeating_personal-equipment">
|
||
<div>
|
||
<span><input class="infoused" name="attr_personal_equipment_name" type="text"> </span>
|
||
<span class="pull-right">
|
||
<input type="number" name="attr_personal_equipment_burden" step="0.25" value="0" />
|
||
</span>
|
||
<input type="checkbox" name="attr_personal_equipment_hide" class="sheet-toggle-show">
|
||
|
||
<div class="sheet-body">
|
||
[G] <input type="checkbox" name="attr_personal_equipment_gadget" />
|
||
[K] <input type="checkbox" name="attr_personal_equipment_kit" />
|
||
[R] <input type="checkbox" name="attr_personal_equipment_rig" />
|
||
[S] <input type="checkbox" name="attr_personal_equipment_suit" />
|
||
Modifiers: <input class="infoused" type="text" name="attr_personal_equipment_modifiers" />
|
||
PL:<input name="attr_personal_equipment_pl" type="number">
|
||
<h5>Notes</h5> <textarea class="inputarea" name="attr_personal_equipment_desc"></textarea>
|
||
</div>
|
||
</div>
|
||
</fieldset>
|
||
<input type="checkbox" name="attr_personal_equipment_hide" class="sheet-toggle-show" hidden>
|
||
<div class="sheet-body">
|
||
<textarea name="attr_inventory_text" class="inputarea"></textarea>
|
||
</div>
|
||
</div>
|
||
<h4>Weapons <span class="pull-right">Ammo</span></h4>
|
||
<input name="attr_infweapon_burden_total" type="number" value="0" hidden />
|
||
<fieldset class="repeating_infweapon">
|
||
<input type="checkbox" name="attr_inf_weapon_hide" hidden>
|
||
<div><span name="attr_inf_weapon_size" value="Light"></span>
|
||
<span>
|
||
<input type="checkbox" name="attr_inf_weapon_frame_check" class="frame-check" value="1" hidden>
|
||
<span class="no-frame" name="attr_inf_weapon_name" value="Weapon">
|
||
</span>
|
||
<span class="frame" name="attr_frame_weapon_type"></span>
|
||
D: <span type="number" name="attr_inf_weapon_damage"></span>
|
||
|
||
Traits:
|
||
<input type="text" name="attr_inf_weapon_traits" value="-" hidden>
|
||
<input type="text" name="attr_inf_weapon_traits_selector_2" value="-" hidden>
|
||
<input type="text" name="attr_inf_weapon_traits_selector_3" value="-" hidden>
|
||
|
||
|
||
<input type="checkbox" name="attr_inf_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
Mode: (<input type="radio" value="2" name="attr_inf_weapon_traits_mode_selector" checked>
|
||
|
||
<span type="text" name="attr_inf_weapon_traits_selector_2"></span>
|
||
<input type="radio" value="3" name="attr_inf_weapon_traits_mode_selector">
|
||
<span type="text" name="attr_inf_weapon_traits_selector_3"></span>)
|
||
<input type="number" name="attr_inf_weapon_traits_mode_selector" value="0" hidden>,
|
||
</span>
|
||
<span type="text" name="attr_inf_weapon_traits" value=""></span>
|
||
|
||
<input class="sheet-ammunition-show" type="checkbox" name="attr_inf_weapon_ammunition_show" value="1" hidden />
|
||
<span class="ammo-box">
|
||
<input type="number" class="digit" name="attr_inf_weapon_ammo" value="1">/
|
||
<span class="max-ammo" type="number" name="attr_inf_weapon_ammo_max" value="1"></span>
|
||
</span>
|
||
|
||
i:<input type="checkbox" name="attr_inf_weapon_hide" class="sheet-toggle-show">
|
||
</span>
|
||
<button type="action" name="act_tumble">roll</button>
|
||
</div>
|
||
|
||
<input type="checkbox" name="attr_inf_weapon_hide" class="sheet-toggle-show" hidden>
|
||
<div class="sheet-body">
|
||
Damage: <input type="number" name="attr_inf_weapon_damage" value="0">
|
||
<input type="number" name="attr_inf_weapon_tn_bonus" value="0" hidden>
|
||
<span class="pull-right">Burden: <input type="number" name="attr_inf_weapon_burden" step="0.25" value="0"></span>
|
||
<span>
|
||
<select name="attr_inf_weapon_size" class="size">
|
||
<option value="Light" selected>Light</option>
|
||
<option value="Medium">Medium</option>
|
||
<option value="Heavy">Heavy</option>
|
||
</select>
|
||
<input type="checkbox" name="attr_inf_weapon_frame_check" value="1" class="frame-check" hidden>
|
||
<span class="no-frame"> <input class="infoused" type="text" name="attr_inf_weapon_name" value="weapon">
|
||
</span>
|
||
<span class="frame">
|
||
<select name="attr_frame_weapon_type" class="size">
|
||
<option value="Assault Rifle">Assault Rifle</option>
|
||
<option value="Auto Shotgun">Auto Shotgun</option>
|
||
<option value="Carbine">Carbine</option>
|
||
<option value="Rifle">Rifle</option>
|
||
<option value="Machine Pistol">Machine Pistol</option>
|
||
<option value="Pistol/Revolver">Pistol/Revolver</option>
|
||
<option value="Shotgun">Shotgun</option>
|
||
<option value="Sniper Rifle">Sniper Rifle</option>
|
||
</select>
|
||
</span>
|
||
</span>
|
||
|
||
<p>Range: <input class="emcalc" style="--index: -11;" type="text" name="attr_inf_weapon_range">
|
||
<span class="pull-right">Ammo:<input type="number" class="digit" name="attr_inf_weapon_ammo" value="1">/<input type="number" name="attr_inf_weapon_ammo_max" class="digit" value="1"></span>
|
||
</p>
|
||
Frame:<input type="checkbox" name="attr_inf_weapon_frame_check" value="1" class="frame-check">
|
||
Cumbersome:<input type="checkbox" name="attr_inf_weapon_cumbersome">
|
||
PL: <input type="number" name="attr_inf_weapon_pl" class="digit" value="1">
|
||
<span>
|
||
<select name="attr_inf_weapon_domain">
|
||
<option value="1">Athletics <span></span> </option>
|
||
<option value="2">Awareness</option>
|
||
<option value="3">Business</option>
|
||
<option value="4">Craft</option>
|
||
<option value="5">Culture</option>
|
||
<option value="6">Electronic Warfare</option>
|
||
<option value="7">Electronics</option>
|
||
<option value="8">Gunnery</option>
|
||
<option value="9">Hard Science</option>
|
||
<option value="10">Influence</option>
|
||
<option value="11">Institutions</option>
|
||
<option value="12">Investigation</option>
|
||
<option value="13">Mechanics</option>
|
||
<option value="14">Medicine</option>
|
||
<option value="15">Melee</option>
|
||
<option value="16">Pilot</option>
|
||
<option value="17">Showmanship</option>
|
||
<option value="18">Socialscience</option>
|
||
<option value="19">Survival</option>
|
||
<option value="20">Tactics</option>
|
||
</select>
|
||
|
||
</span>
|
||
<span>Skill:<input type="number" name="attr_inf_skill_level" class="digit" value="0" min="0" max="5">(<input type="checkbox" name="attr_inf_weapon_skill_familiar" value="1">F)
|
||
</span>
|
||
<div>
|
||
|
||
Traits:
|
||
|
||
<input type="checkbox" name="attr_inf_weapon_traits_show" />
|
||
|
||
<input type="checkbox" name="attr_inf_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
Mode: (<input type="radio" value="2" name="attr_inf_weapon_traits_mode_selector" checked>
|
||
|
||
<span type="text" name="attr_inf_weapon_traits_selector_2" value=" "></span>
|
||
<input type="radio" value="3" name="attr_inf_weapon_traits_mode_selector" checked>
|
||
<span type="text" name="attr_inf_weapon_traits_selector_3" value=" "></span>)
|
||
<input type="number" name="attr_inf_weapon_traits_mode_selector" value="0" hidden>
|
||
</span>
|
||
<span type="text" name="attr_inf_weapon_traits"></span>
|
||
<input type="checkbox" name="attr_inf_weapon_traits_show" class="sheet-toggle-show" hidden />
|
||
<div class="sheet-body" style="border: #000 1px solid;">
|
||
<span class="trait-box">
|
||
<span class="trait-item">
|
||
Mode:<input type="checkbox" name="attr_inf_weapon_traits_mode" value="1">
|
||
<input type="checkbox" name="attr_inf_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<span type="text" name="attr_inf_weapon_traits_selector_2"> </span> OR
|
||
<span type="text" name="attr_inf_weapon_traits_selector_3"> </span>
|
||
</span>
|
||
</span>
|
||
<span class="trait-item">
|
||
Advanced:
|
||
<input type="checkbox" name="attr_inf_weapon_traits_advanced" value="1">
|
||
<input type="number" name="attr_inf_weapon_traits_advanced" value="0" hidden>
|
||
<input type="number" name="attr_inf_weapon_traits_advanced_selector" value="1" hidden>
|
||
<input type="checkbox" name="attr_inf_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_inf_weapon_traits_advanced_selector" checked>|
|
||
<input type="radio" value="2" name="attr_inf_weapon_traits_advanced_selector">
|
||
<input type="radio" value="3" name="attr_inf_weapon_traits_advanced_selector">
|
||
</span>
|
||
</span>
|
||
|
||
<span class="trait-item">
|
||
Blast <input type="checkbox" name="attr_inf_weapon_traits_blast" value="1">
|
||
<input type="number" name="attr_inf_weapon_traits_blast" value="0" hidden>
|
||
<input type="number" name="attr_inf_weapon_traits_blast_selector" value="1" hidden>
|
||
|
||
<input type="checkbox" name="attr_inf_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_inf_weapon_traits_blast_selector" checked>|
|
||
<input type="radio" value="2" name="attr_inf_weapon_traits_blast_selector">
|
||
<input type="radio" value="3" name="attr_inf_weapon_traits_blast_selector">
|
||
</span>
|
||
</span>
|
||
|
||
<span class="trait-item">
|
||
Brace <input type="checkbox" name="attr_inf_weapon_traits_brace" value="1">
|
||
<input type="number" name="attr_inf_weapon_traits_brace" value="0" hidden>
|
||
<input type="number" name="attr_inf_weapon_traits_brace_selector" value="1" hidden>
|
||
<input type="checkbox" name="attr_inf_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_inf_weapon_traits_brace_selector" checked>|
|
||
<input type="radio" value="2" name="attr_inf_weapon_traits_brace_selector">
|
||
<input type="radio" value="3" name="attr_inf_weapon_traits_brace_selector">
|
||
</span>
|
||
</span>
|
||
<span class="trait-item">
|
||
Corrosion <input type="checkbox" name="attr_inf_weapon_traits_corrosion" value="1">
|
||
<input type="number" name="attr_inf_weapon_traits_corrosion" value="0" hidden>
|
||
<input type="number" name="attr_inf_weapon_traits_corrosion_selector" value="1" hidden>
|
||
<input type="checkbox" name="attr_inf_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_inf_weapon_traits_corrosion_selector" checked>|
|
||
<input type="radio" value="2" name="attr_inf_weapon_traits_corrosion_selector">
|
||
<input type="radio" value="3" name="attr_inf_weapon_traits_corrosion_selector">
|
||
</span>
|
||
</span>
|
||
<span class="trait-item">
|
||
Frag <input type="checkbox" name="attr_inf_weapon_traits_frag" value="1">
|
||
<input type="number" name="attr_inf_weapon_traits_frag" value="0" hidden>
|
||
<input type="number" name="attr_inf_weapon_traits_frag_selector" value="1" hidden>
|
||
<input type="checkbox" name="attr_inf_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_inf_weapon_traits_frag_selector" checked>|
|
||
<input type="radio" value="2" name="attr_inf_weapon_traits_frag_selector">
|
||
<input type="radio" value="3" name="attr_inf_weapon_traits_frag_selector">
|
||
</span>
|
||
</span>
|
||
|
||
|
||
<span class="trait-item">
|
||
Haywire <input type="checkbox" name="attr_inf_weapon_traits_haywire" value="1">
|
||
<input type="number" name="attr_inf_weapon_traits_haywire" value="0" hidden>
|
||
<input type="number" name="attr_inf_weapon_traits_haywire_selector" value="1" hidden>
|
||
<input type="checkbox" name="attr_inf_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_inf_weapon_traits_haywire_selector" checked>|
|
||
<input type="radio" value="2" name="attr_inf_weapon_traits_haywire_selector">
|
||
<input type="radio" value="3" name="attr_inf_weapon_traits_haywire_selector">
|
||
</span>
|
||
</span>
|
||
|
||
<span class="trait-item">
|
||
Indirect <input type="checkbox" name="attr_inf_weapon_traits_indirect" value="1">
|
||
<input type="number" name="attr_inf_weapon_traits_indirect" value="0" hidden>
|
||
<input type="number" name="attr_inf_weapon_traits_indirect_selector" value="1" hidden>
|
||
<input type="checkbox" name="attr_inf_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_inf_weapon_traits_indirect_selector" checked>|
|
||
<input type="radio" value="2" name="attr_inf_weapon_traits_indirect_selector">
|
||
<input type="radio" value="3" name="attr_inf_weapon_traits_indirect_selector">
|
||
</span>
|
||
</span>
|
||
|
||
<span class="trait-item">
|
||
Missile <input type="checkbox" name="attr_inf_weapon_traits_missile" value="1">
|
||
<input type="number" name="attr_inf_weapon_traits_missile" value="0" hidden>
|
||
<input type="number" name="attr_inf_weapon_traits_missile_selector" value="1" hidden>
|
||
<input type="checkbox" name="attr_inf_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_inf_weapon_traits_missile_selector" checked>|
|
||
<input type="radio" value="2" name="attr_inf_weapon_traits_missile_selector">
|
||
<input type="radio" value="3" name="attr_inf_weapon_traits_missile_selector">
|
||
</span>
|
||
</span>
|
||
|
||
<span class="trait-item">
|
||
Muscle Powered <input type="checkbox" name="attr_inf_weapon_traits_musclepowered" value="1">
|
||
<input type="number" name="attr_inf_weapon_traits_musclepowered" value="0" hidden>
|
||
<input type="number" name="attr_inf_weapon_traits_musclepowered_selector" value="1" hidden>
|
||
<input type="checkbox" name="attr_inf_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_inf_weapon_traits_musclepowered_selector" checked>|
|
||
<input type="radio" value="2" name="attr_inf_weapon_traits_musclepowered_selector">
|
||
<input type="radio" value="3" name="attr_inf_weapon_traits_musclepowered_selector">
|
||
</span>
|
||
</span>
|
||
|
||
|
||
<span class="trait-item">
|
||
Non-Lethal <input type="checkbox" name="attr_inf_weapon_traits_nonlethal" value="1">
|
||
<input type="number" name="attr_inf_weapon_traits_nonlethal" value="0" hidden>
|
||
<input type="number" name="attr_inf_weapon_traits_nonlethal_selector" value="1" hidden>
|
||
<input type="checkbox" name="attr_inf_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_inf_weapon_traits_nonlethal_selector" checked>|
|
||
<input type="radio" value="2" name="attr_inf_weapon_traits_nonlethal_selector">
|
||
<input type="radio" value="3" name="attr_inf_weapon_traits_nonlethal_selector">
|
||
</span>
|
||
</span>
|
||
|
||
<span class="trait-item">
|
||
Poison <input type="checkbox" name="attr_inf_weapon_traits_poison" value="1">
|
||
<input type="number" name="attr_inf_weapon_traits_poison" value="0" hidden>
|
||
<input type="number" name="attr_inf_weapon_traits_poison_selector" value="1" hidden>
|
||
<input type="checkbox" name="attr_inf_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_inf_weapon_traits_poison_selector" checked>|
|
||
<input type="radio" value="2" name="attr_inf_weapon_traits_poison_selector">
|
||
<input type="radio" value="3" name="attr_inf_weapon_traits_poison_selector">
|
||
</span>
|
||
</span>
|
||
|
||
<span class="trait-item">
|
||
Placed <input type="checkbox" name="attr_inf_weapon_traits_placed" value="1">
|
||
<input type="number" name="attr_inf_weapon_traits_placed" value="0" hidden>
|
||
<input type="number" name="attr_inf_weapon_traits_placed_selector" value="1" hidden>
|
||
<input type="checkbox" name="attr_inf_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_inf_weapon_traits_placed_selector" checked>|
|
||
<input type="radio" value="2" name="attr_inf_weapon_traits_placed_selector">
|
||
<input type="radio" value="3" name="attr_inf_weapon_traits_placed_selector">
|
||
</span>
|
||
</span>
|
||
|
||
<span class="trait-item">
|
||
Precise <input type="checkbox" name="attr_inf_weapon_traits_precise" value="1">
|
||
<input type="number" name="attr_inf_weapon_traits_precise" value="0" hidden>
|
||
<input type="number" name="attr_inf_weapon_traits_precise_selector" value="1" hidden>
|
||
<input type="checkbox" name="attr_inf_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_inf_weapon_traits_precise_selector" checked>|
|
||
<input type="radio" value="2" name="attr_inf_weapon_traits_precise_selector">
|
||
<input type="radio" value="3" name="attr_inf_weapon_traits_precise_selector">
|
||
</span>
|
||
</span>
|
||
|
||
<span class="trait-item">
|
||
Reach <input type="checkbox" name="attr_inf_weapon_traits_reach" value="1">
|
||
<input type="number" name="attr_inf_weapon_traits_reach" value="0" hidden>
|
||
<input type="number" name="attr_inf_weapon_traits_reach_selector" value="1" hidden>
|
||
<input type="checkbox" name="attr_inf_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_inf_weapon_traits_reach_selector" checked>|
|
||
<input type="radio" value="2" name="attr_inf_weapon_traits_reach_selector">
|
||
<input type="radio" value="3" name="attr_inf_weapon_traits_reach_selector">
|
||
</span>
|
||
</span>
|
||
|
||
<span class="trait-item">
|
||
Silent <input type="checkbox" name="attr_inf_weapon_traits_silent" value="1">
|
||
<input type="number" name="attr_inf_weapon_traits_silent" value="0" hidden>
|
||
<input type="number" name="attr_inf_weapon_traits_silent_selector" value="1" hidden>
|
||
<input type="checkbox" name="attr_inf_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_inf_weapon_traits_silent_selector" checked>|
|
||
<input type="radio" value="2" name="attr_inf_weapon_traits_silent_selector">
|
||
<input type="radio" value="3" name="attr_inf_weapon_traits_silent_selector">
|
||
</span>
|
||
</span>
|
||
|
||
<span class="trait-item">
|
||
Slashing <input type="checkbox" name="attr_inf_weapon_traits_slashing" value="1">
|
||
<input type="number" name="attr_inf_weapon_traits_slashing" value="0" hidden>
|
||
<input type="number" name="attr_inf_weapon_traits_slashing_selector" value="1" hidden>
|
||
<input type="checkbox" name="attr_inf_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_inf_weapon_traits_slashing_selector" checked>|
|
||
<input type="radio" value="2" name="attr_inf_weapon_traits_slashing_selector">
|
||
<input type="radio" value="3" name="attr_inf_weapon_traits_slashing_selector">
|
||
</span>
|
||
</span>
|
||
|
||
<span class="trait-item">
|
||
Shot <input type="checkbox" name="attr_inf_weapon_traits_shot" value="1">
|
||
<input type="number" name="attr_inf_weapon_traits_shot" value="0" hidden>
|
||
<input type="number" name="attr_inf_weapon_traits_shot_selector" value="1" hidden>
|
||
<input type="checkbox" name="attr_inf_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_inf_weapon_traits_shot_selector" checked>|
|
||
<input type="radio" value="2" name="attr_inf_weapon_traits_shot_selector">
|
||
<input type="radio" value="3" name="attr_inf_weapon_traits_shot_selector">
|
||
</span>
|
||
</span>
|
||
|
||
<span class="trait-item">
|
||
Shock <input type="checkbox" name="attr_inf_weapon_traits_shock" value="1">
|
||
<input type="number" name="attr_inf_weapon_traits_shock" value="0" hidden>
|
||
<input type="number" name="attr_inf_weapon_traits_shock_selector" value="1" hidden>
|
||
<input type="checkbox" name="attr_inf_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_inf_weapon_traits_shock_selector" checked>|
|
||
<input type="radio" value="2" name="attr_inf_weapon_traits_shock_selector">
|
||
<input type="radio" value="3" name="attr_inf_weapon_traits_shock_selector">
|
||
</span>
|
||
</span>
|
||
|
||
<span class="trait-item">
|
||
Smoke <input type="checkbox" name="attr_inf_weapon_traits_smoke" value="1">
|
||
<input type="number" name="attr_inf_weapon_traits_smoke" value="0" hidden>
|
||
<input type="number" name="attr_inf_weapon_traits_smoke_selector" value="1" hidden>
|
||
<input type="checkbox" name="attr_inf_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_inf_weapon_traits_smoke_selector" checked>|
|
||
<input type="radio" value="2" name="attr_inf_weapon_traits_smoke_selector">
|
||
<input type="radio" value="3" name="attr_inf_weapon_traits_smoke_selector">
|
||
</span>
|
||
</span>
|
||
|
||
<span class="trait-item">
|
||
Spray <input type="checkbox" name="attr_inf_weapon_traits_spray" value="1">
|
||
<input type="number" name="attr_inf_weapon_traits_spray" value="0" hidden>
|
||
<input type="number" name="attr_inf_weapon_traits_spray_selector" value="1" hidden>
|
||
<input type="checkbox" name="attr_inf_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_inf_weapon_traits_spray_selector" checked>|
|
||
<input type="radio" value="2" name="attr_inf_weapon_traits_spray_selector">
|
||
<input type="radio" value="3" name="attr_inf_weapon_traits_spray_selector">
|
||
</span>
|
||
</span>
|
||
|
||
<span class="trait-item">
|
||
Stun <input type="checkbox" name="attr_inf_weapon_traits_stun" value="1">
|
||
<input type="number" name="attr_inf_weapon_traits_stun" value="0" hidden>
|
||
<input type="number" name="attr_inf_weapon_traits_stun_selector" value="1" hidden>
|
||
<input type="checkbox" name="attr_inf_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_inf_weapon_traits_stun_selector" checked>|
|
||
<input type="radio" value="2" name="attr_inf_weapon_traits_stun_selector">
|
||
<input type="radio" value="3" name="attr_inf_weapon_traits_stun_selector">
|
||
</span>
|
||
</span>
|
||
|
||
<span class="trait-item">
|
||
Thrown <input type="checkbox" name="attr_inf_weapon_traits_thrown" value="1">
|
||
<input type="number" name="attr_inf_weapon_traits_thrown" value="0" hidden>
|
||
<input type="number" name="attr_inf_weapon_traits_thrown_selector" value="1" hidden>
|
||
<input type="checkbox" name="attr_inf_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_inf_weapon_traits_thrown_selector" checked>|
|
||
<input type="radio" value="2" name="attr_inf_weapon_traits_thrown_selector">
|
||
<input type="radio" value="3" name="attr_inf_weapon_traits_thrown_selector">
|
||
</span>
|
||
</span>
|
||
|
||
</span>
|
||
|
||
<div class="trait-box">
|
||
<span class="trait-item">
|
||
AoE: <input type="number" name="attr_inf_weapon_traits_aoe" class="digit" value="0" min="0">
|
||
<input type="number" name="attr_inf_weapon_traits_aoe_selector" value="1" hidden>
|
||
<input type="checkbox" name="attr_inf_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_inf_weapon_traits_aoe_selector" checked>|
|
||
<input type="radio" value="2" name="attr_inf_weapon_traits_aoe_selector">
|
||
<input type="radio" value="3" name="attr_inf_weapon_traits_aoe_selector">
|
||
</span>
|
||
</span>
|
||
<span class="trait-item">
|
||
AP:<input type="number" name="attr_inf_weapon_traits_ap" class="digit" value="0">
|
||
<input type="number" name="attr_inf_weapon_traits_ap_selector" value="1" hidden>
|
||
<input type="checkbox" name="attr_inf_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_inf_weapon_traits_ap_selector" checked>|
|
||
(<input type="radio" value="2" name="attr_inf_weapon_traits_ap_selector">
|
||
<input type="radio" value="3" name="attr_inf_weapon_traits_ap_selector">)
|
||
</span>
|
||
</span>
|
||
|
||
<span class="trait-item">
|
||
Burst:<input type="number" name="attr_inf_weapon_traits_burst" class="digit" value="0" min="0">
|
||
<input type="number" name="attr_inf_weapon_traits_burst_selector" value="1" hidden>
|
||
<input type="checkbox" name="attr_inf_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_inf_weapon_traits_burst_selector" checked>|
|
||
<input type="radio" value="2" name="attr_inf_weapon_traits_burst_selector">
|
||
<input type="radio" value="3" name="attr_inf_weapon_traits_burst_selector">
|
||
</span>
|
||
</span>
|
||
<span class="trait-item">
|
||
Brawler:<input type="number" name="attr_inf_weapon_traits_brawler" class="digit" value="0">
|
||
<input type="number" name="attr_inf_weapon_traits_brawler_selector" value="1" hidden>
|
||
<input type="checkbox" name="attr_inf_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_inf_weapon_traits_brawler_selector" checked>|
|
||
<input type="radio" value="2" name="attr_inf_weapon_traits_brawler_selector">
|
||
<input type="radio" value="3" name="attr_inf_weapon_traits_brawler_selector">
|
||
</span>
|
||
</span>
|
||
|
||
<span class="trait-item">
|
||
Demo:<input type="number" name="attr_inf_weapon_traits_demo" class="digit" value="0">
|
||
<input type="number" name="attr_inf_weapon_traits_demo_selector" value="1" hidden>
|
||
<input type="checkbox" name="attr_inf_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_inf_weapon_traits_demo_selector" checked>|
|
||
<input type="radio" value="2" name="attr_inf_weapon_traits_demo_selector">
|
||
<input type="radio" value="3" name="attr_inf_weapon_traits_demo_selector">
|
||
</span>
|
||
</span>
|
||
<span class="trait-item">
|
||
Fire:<input type="number" name="attr_inf_weapon_traits_fire" class="digit" value="0" min="0">
|
||
<input type="number" name="attr_inf_weapon_traits_fire_selector" value="1" hidden>
|
||
<input type="checkbox" name="attr_inf_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_inf_weapon_traits_fire_selector" checked>|
|
||
<input type="radio" value="2" name="attr_inf_weapon_traits_fire_selector">
|
||
<input type="radio" value="3" name="attr_inf_weapon_traits_fire_selector">
|
||
</span>
|
||
</span>
|
||
<span class="trait-item">
|
||
Reliable:<input type="number" name="attr_inf_weapon_traits_reliable" class="digit" value="0" min="0">
|
||
<input type="number" name="attr_inf_weapon_traits_reliable_selector" value="1" hidden>
|
||
<input type="checkbox" name="attr_inf_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_inf_weapon_traits_reliable_selector" checked>|
|
||
<input type="radio" value="2" name="attr_inf_weapon_traits_reliable_selector">
|
||
<input type="radio" value="3" name="attr_inf_weapon_traits_reliable_selector">
|
||
</span>
|
||
</span>
|
||
</div>
|
||
<div>
|
||
<p>
|
||
See Desc <input type="checkbox" name="attr_inf_weapon_traits_see_desc" value="1">
|
||
<input type="text" name="attr_inf_weapon_traits_desc" value="">
|
||
<input type="number" name="attr_inf_weapon_traits_desc_selector" value="1" hidden>
|
||
</p>
|
||
<p>
|
||
Other: <input type="text" name="attr_inf_weapon_traits_other" value="">
|
||
</p>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
Mods: <textarea class="inputarea" name="attr_inf_weapon_mods"> </textarea>
|
||
|
||
|
||
</div>
|
||
</span>
|
||
</fieldset>
|
||
<h4> Armour</h4>
|
||
<span>Toughness <input type="number" name="attr_toughness" value="2" style="width: 2em;"> Armour
|
||
<input type="number" name="attr_armour" value="0" style="width: 2em;"> </span>
|
||
<span> Total Damage Reduction <input name="attr_damage_reduction"></span>
|
||
<textarea name="attr_armour_desc" class="inputarea" rows="3"></textarea>
|
||
</div>
|
||
</div>
|
||
<div class="skills-misc">
|
||
<div class="skills">
|
||
<h3>Skills</h3>
|
||
<h4> Bonus <span class="font-d6">f</span>: <input type="number" name="attr_bonus_dice" value="0">
|
||
TN: <input type="number" name="attr_tn" value="5">
|
||
Reliable <span class="font-d6">f</span>: <input type="number" name="attr_reliable" value="0">
|
||
<input type="number" name="attr_tn_bonus" value="0" hidden>
|
||
<select name="attr_whisper">
|
||
<option value="" selected>Public</option>
|
||
<option value="/w gm ">Whisper</option>
|
||
</select>
|
||
Expertise <input type="checkbox" name="attr_expertise_check" class="expertise-check" value="1" checked>
|
||
</h4>
|
||
<div> Athletics :
|
||
<input type="hidden" name="attr_name_athletics" value="Athletics">
|
||
<input class="sheet-domains" type="hidden" name="attr_expertise_athletics" value="0">
|
||
<span class="sheet-domains-0">
|
||
Expertise: <span type="number" name="attr_expertise_athletics"></span>
|
||
(Total Skills:<span name="attr_domain_expertise_athletics" value="0"></span>/6)
|
||
</span>
|
||
<span class="sheet-domains-1">
|
||
Expertise: <span type="number" name="attr_expertise_athletics"> </span>
|
||
Reroll <input type="checkbox" name="attr_expertise_athletics_used">
|
||
(Total Skills:<span type="number" name="attr_domain_expertise_athletics" value="">
|
||
</span>/9)</span>
|
||
<span class="sheet-domains-2">
|
||
Expertise: <span type="number" name="attr_expertise_athletics"> </span>
|
||
Reroll: <input type="checkbox" name="attr_expertise_athletics_used">
|
||
Doubles. (Total Skills:<span type="number" name="attr_domain_expertise_athletics"></span>/13)
|
||
</span>
|
||
<span class="sheet-domains-3">
|
||
Expertise: <span type="number" name="attr_expertise_athletics"> </span>
|
||
Reroll: <input type="checkbox" name="attr_expertise_athletics_used">
|
||
Doubles. TB:1
|
||
</span>
|
||
<fieldset class="repeating_skills-athletics">
|
||
<input type="text" name="attr_skill_domain" value="Athletics" hidden>
|
||
<input type="text" name="attr_skill_name" value="" class="em13">
|
||
(<input type="checkbox" name="attr_skill_familiar" value="1">F)
|
||
<button type="action" name="act_tumble">Roll</button>
|
||
Level: <input type="number" name="attr_skill_level" value="0">
|
||
|
||
XP:<input type="number" name="attr_skill_xp_stored" value="0">
|
||
<input type="checkbox" name="attr_skill_xp" value="1">
|
||
</fieldset>
|
||
</div>
|
||
<div> Awareness :
|
||
<input type="hidden" name="attr_name_awareness" value="Awareness">
|
||
<input class="sheet-domains" type="hidden" name="attr_expertise_awareness" value="0">
|
||
<span class="sheet-domains-0">
|
||
Expertise: <span type="number" name="attr_expertise_awareness" value=""> </span>
|
||
(Total Skills:<span type="number" name="attr_domain_expertise_awareness" value="0"> </span>
|
||
/6)
|
||
</span>
|
||
<span class="sheet-domains-1">
|
||
Expertise: <span type="number" name="attr_expertise_awareness"> </span>
|
||
Reroll <input type="checkbox" name="attr_expertise_awareness_used">
|
||
(Total Skills:<span type="number" name="attr_domain_expertise_awareness"></span>/9)
|
||
</span>
|
||
<span class="sheet-domains-2">
|
||
Expertise: <span type="number" name="attr_expertise_awareness"> </span>
|
||
Reroll: <input type="checkbox" name="attr_expertise_awareness_used">
|
||
Doubles. (Total Skills:<span type="number" name="attr_domain_expertise_awareness"></span>/13)
|
||
</span>
|
||
<span class="sheet-domains-3">
|
||
Expertise: <span type="number" name="attr_expertise_awareness"> </span>
|
||
Reroll: <input type="checkbox" name="attr_expertise_awareness_used">
|
||
Doubles. TB:1
|
||
</span>
|
||
<fieldset class="repeating_skills-awareness">
|
||
<input type="text" name="attr_skill_domain" value="Awareness" hidden>
|
||
<input type="text" name="attr_skill_name" value="" class="em13">
|
||
(<input type="checkbox" name="attr_skill_familiar" value="1">F)
|
||
<button type="action" name="act_tumble">Roll</button>
|
||
Level: <input type="number" name="attr_skill_level" value="0">
|
||
XP:<input type="number" name="attr_skill_xp_stored" value="0">
|
||
<input type="checkbox" name="attr_skill_xp" value="1">
|
||
</fieldset>
|
||
</div>
|
||
|
||
<div> Business :
|
||
<input type="text" name="attr_name_business" value="Business" hidden>
|
||
<input class="sheet-domains" type="hidden" name="attr_expertise_business" value="0">
|
||
<span class="sheet-domains-0">
|
||
Expertise: <span type="number" name="attr_expertise_business" value=""> </span>
|
||
(Total Skills:<span type="number" name="attr_domain_expertise_business" value="0"> </span>
|
||
/6)
|
||
</span>
|
||
<span class="sheet-domains-1">
|
||
Expertise: <span type="number" name="attr_expertise_business"> </span>
|
||
Reroll <input type="checkbox" name="attr_expertise_business_used">
|
||
(Total Skills:<span type="number" name="attr_domain_expertise_business"></span>/9)
|
||
</span>
|
||
<span class="sheet-domains-2">
|
||
Expertise: <span type="number" name="attr_expertise_business"> </span>
|
||
Reroll: <input type="checkbox" name="attr_expertise_business_used">
|
||
Doubles. (Total Skills:<span type="number" name="attr_domain_expertise_business">/13)
|
||
</span>
|
||
</span>
|
||
<span class="sheet-domains-3">
|
||
Expertise: <span type="number" name="attr_expertise_business"> </span>
|
||
Reroll: <input type="checkbox" name="attr_expertise_business_used">
|
||
Doubles. TB:1
|
||
</span>
|
||
<fieldset class="repeating_skills-business">
|
||
<input type="text" name="attr_skill_domain" value="Business" hidden>
|
||
<input type="text" name="attr_skill_name" value="" class="em13">
|
||
(<input type="checkbox" name="attr_skill_familiar" value="1">F)
|
||
<button type="action" name="act_tumble">Roll</button>
|
||
Level: <input type="number" name="attr_skill_level" value="0">
|
||
XP:<input type="number" name="attr_skill_xp_stored" value="0">
|
||
<input type="checkbox" name="attr_skill_xp" value="1">
|
||
</fieldset>
|
||
</div>
|
||
|
||
<div> Craft :
|
||
<input type="text" name="attr_name_craft" value="Craft" hidden>
|
||
<input class="sheet-domains" type="hidden" name="attr_expertise_craft" value="0">
|
||
<span class="sheet-domains-0">
|
||
Expertise: <span type="number" name="attr_expertise_craft" value=""> </span>
|
||
(Total Skills:<span type="number" name="attr_domain_expertise_craft" value="0"> </span>
|
||
/6)
|
||
</span>
|
||
<span class="sheet-domains-1">
|
||
Expertise: <span type="number" name="attr_expertise_craft"> </span>
|
||
Reroll <input type="checkbox" name="attr_expertise_craft_used">
|
||
(Total Skills:<span type="number" name="attr_domain_expertise_craft" value="">
|
||
</span>/9)</span>
|
||
<span class="sheet-domains-2">
|
||
Expertise: <span type="number" name="attr_expertise_craft"> </span>
|
||
Reroll: <input type="checkbox" name="attr_expertise_craft_used">
|
||
Doubles. (Total Skills:<span type="number" name="attr_domain_expertise_craft" value="">
|
||
</span>/13)
|
||
</span>
|
||
<span class="sheet-domains-3">
|
||
Expertise: <span type="number" name="attr_expertise_craft"> </span>
|
||
Reroll: <input type="checkbox" name="attr_expertise_craft_used">
|
||
Doubles. TB:1
|
||
</span>
|
||
<fieldset class="repeating_skills-craft">
|
||
<input type="text" name="attr_skill_domain" value="craft" hidden>
|
||
<input type="text" name="attr_skill_name" value="" class="em13">
|
||
(<input type="checkbox" name="attr_skill_familiar" value="1">F)
|
||
<button type="action" name="act_tumble">Roll</button>
|
||
Level: <input type="number" name="attr_skill_level" value="0">
|
||
XP:<input type="number" name="attr_skill_xp_stored" value="0">
|
||
<input type="checkbox" name="attr_skill_xp" value="1">
|
||
</fieldset>
|
||
</div>
|
||
|
||
<div> Culture :
|
||
<input type="text" name="attr_name_culture" value="Culture" hidden>
|
||
<input class="sheet-domains" type="hidden" name="attr_expertise_culture" value="0">
|
||
<span class="sheet-domains-0">
|
||
Expertise: <span type="number" name="attr_expertise_culture" value=""> </span>
|
||
(Total Skills:<span type="number" name="attr_domain_expertise_culture" value="0"> </span>
|
||
/6)
|
||
</span>
|
||
<span class="sheet-domains-1">
|
||
Expertise: <span type="number" name="attr_expertise_culture"> </span>
|
||
Reroll <input type="checkbox" name="attr_expertise_culture_used">
|
||
(Total Skills:<span type="number" name="attr_domain_expertise_culture" value="">
|
||
</span>/9)</span>
|
||
<span class="sheet-domains-2">
|
||
Expertise: <span type="number" name="attr_expertise_culture"> </span>
|
||
Reroll: <input type="checkbox" name="attr_expertise_culture_used">
|
||
Doubles. (Total Skills:<span type="number" name="attr_domain_expertise_culture">/13) </span>
|
||
</span>
|
||
<span class="sheet-domains-3">
|
||
Expertise: <span type="number" name="attr_expertise_culture"> </span>
|
||
Reroll: <input type="checkbox" name="attr_expertise_culture_used">
|
||
Doubles. TB:1
|
||
</span>
|
||
<fieldset class="repeating_skills-culture">
|
||
<input type="text" name="attr_skill_domain" value="culture" hidden>
|
||
<input type="text" name="attr_skill_name" value="" class="em13">
|
||
(<input type="checkbox" name="attr_skill_familiar" value="1">F)
|
||
<button type="action" name="act_tumble">Roll</button>
|
||
Level: <input type="number" name="attr_skill_level" value="0">
|
||
XP:<input type="number" name="attr_skill_xp_stored" value="0">
|
||
<input type="checkbox" name="attr_skill_xp" value="1">
|
||
</fieldset>
|
||
</div>
|
||
|
||
<div> Electronic Warfare :
|
||
<input type="text" name="attr_name_electronicwarfare" value="Electronic Warfare" hidden>
|
||
<input class="sheet-domains" type="hidden" name="attr_expertise_electronicwarfare" value="0">
|
||
<span class="sheet-domains-0">
|
||
Expertise: <span type="number" name="attr_expertise_electronicwarfare" value=""> </span>
|
||
(Total Skills:<span type="number" name="attr_domain_expertise_electronicwarfare" value="">
|
||
</span>
|
||
/6)
|
||
</span>
|
||
<span class="sheet-domains-1">
|
||
Expertise: <span type="number" name="attr_expertise_electronicwarfare"> </span>
|
||
Reroll <input type="checkbox" name="attr_expertise_electronicwarfare_used">
|
||
(Total Skills:<span type="number" name="attr_domain_expertise_electronicwarfare" value="">
|
||
</span>/9)</span>
|
||
<span class="sheet-domains-2">
|
||
Expertise: <span type="number" name="attr_expertise_electronicwarfare"> </span>
|
||
Reroll: <input type="checkbox" name="attr_expertise_electronicwarfare_used">
|
||
Doubles. (Total Skills:<span type="number" name="attr_domain_expertise_electronicwarfare"></span>
|
||
/13)
|
||
</span>
|
||
<span class="sheet-domains-3">
|
||
Expertise: <span type="number" name="attr_expertise_electronicwarfare"> </span>
|
||
Reroll: <input type="checkbox" name="attr_expertise_electronicwarfare_used">
|
||
Doubles. TB:1
|
||
</span>
|
||
<fieldset class="repeating_skills-electronicwarfare">
|
||
<input type="text" name="attr_skill_domain" value="electronicwarfare" hidden>
|
||
<input type="text" name="attr_skill_name" value="" class="em13">
|
||
(<input type="checkbox" name="attr_skill_familiar" value="1">F)
|
||
<button type="action" name="act_tumble">Roll</button>
|
||
Level: <input type="number" name="attr_skill_level" value="0">
|
||
XP:<input type="number" name="attr_skill_xp_stored" value="0">
|
||
<input type="checkbox" name="attr_skill_xp" value="1">
|
||
</fieldset>
|
||
</div>
|
||
|
||
<div> Electronics :
|
||
<input type="text" name="attr_name_electronics" value="Electronics" hidden>
|
||
<input class="sheet-domains" type="hidden" name="attr_expertise_electronics" value="0">
|
||
<span class="sheet-domains-0">
|
||
Expertise: <span type="number" name="attr_expertise_electronics" value=""> </span>
|
||
(Total Skills:<span type="number" name="attr_domain_expertise_electronics" value="0">
|
||
</span>
|
||
/6)
|
||
</span>
|
||
<span class="sheet-domains-1">
|
||
Expertise: <span type="number" name="attr_expertise_electronics"> </span>
|
||
Reroll <input type="checkbox" name="attr_expertise_electronics_used">
|
||
(Total Skills:<span type="number" name="attr_domain_expertise_electronics"></span>/9)
|
||
</span>
|
||
<span class="sheet-domains-2">
|
||
Expertise: <span type="number" name="attr_expertise_electronics"> </span>
|
||
Reroll: <input type="checkbox" name="attr_expertise_electronics_used">
|
||
Doubles. (Total Skills:<span type="number" name="attr_domain_expertise_electronics"></span>/13)
|
||
</span>
|
||
<span class="sheet-domains-3">
|
||
Expertise: <span type="number" name="attr_expertise_electronics"> </span>
|
||
Reroll: <input type="checkbox" name="attr_expertise_electronics_used">
|
||
Doubles. TB:1
|
||
</span>
|
||
<fieldset class="repeating_skills-electronics">
|
||
<input type="text" name="attr_skill_domain" value="electronics" hidden>
|
||
<input type="text" name="attr_skill_name" value="" class="em13">
|
||
(<input type="checkbox" name="attr_skill_familiar" value="1">F)
|
||
<button type="action" name="act_tumble">Roll</button>
|
||
Level: <input type="number" name="attr_skill_level" value="0">
|
||
XP:<input type="number" name="attr_skill_xp_stored" value="0">
|
||
<input type="checkbox" name="attr_skill_xp" value="1">
|
||
</fieldset>
|
||
</div>
|
||
|
||
<div> Gunnery :
|
||
<input type="text" name="attr_name_gunnery" value="Gunnery" hidden>
|
||
<input class="sheet-domains" type="hidden" name="attr_expertise_gunnery" value="0">
|
||
<span class="sheet-domains-0">
|
||
Expertise: <span type="number" name="attr_expertise_gunnery" value=""> </span>
|
||
(Total Skills:<span type="number" name="attr_domain_expertise_gunnery" value="0"> </span>
|
||
/6)
|
||
</span>
|
||
<span class="sheet-domains-1">
|
||
Expertise: <span type="number" name="attr_expertise_gunnery"> </span>
|
||
Reroll <input type="checkbox" name="attr_expertise_gunnery_used">
|
||
(Total Skills:<span type="number" name="attr_domain_expertise_gunnery" value="">
|
||
</span>/9)</span>
|
||
<span class="sheet-domains-2">
|
||
Expertise: <span type="number" name="attr_expertise_gunnery"> </span>
|
||
Reroll: <input type="checkbox" name="attr_expertise_gunnery_used">
|
||
Doubles. (Total Skills:<span type="number" name="attr_domain_expertise_gunnery">/13) </span>
|
||
</span>
|
||
<span class="sheet-domains-3">
|
||
Expertise: <span type="number" name="attr_expertise_gunnery"> </span>
|
||
Reroll: <input type="checkbox" name="attr_expertise_gunnery_used">
|
||
Doubles. TB:1
|
||
</span>
|
||
<fieldset class="repeating_skills-gunnery">
|
||
<input type="text" name="attr_skill_domain" value="gunnery" hidden>
|
||
<input type="text" name="attr_skill_name" value="" class="em13">
|
||
(<input type="checkbox" name="attr_skill_familiar" value="1">F)
|
||
<button type="action" name="act_tumble">Roll</button>
|
||
Level: <input type="number" name="attr_skill_level" value="0">
|
||
XP:<input type="number" name="attr_skill_xp_stored" value="0">
|
||
<input type="checkbox" name="attr_skill_xp" value="1">
|
||
</fieldset>
|
||
</div>
|
||
|
||
<div> Hard Science :
|
||
<input type="text" name="attr_name_hardscience" value="Hard Science" hidden>
|
||
<input class="sheet-domains" type="hidden" name="attr_expertise_hardscience" value="0">
|
||
<span class="sheet-domains-0">
|
||
Expertise: <span type="number" name="attr_expertise_hardscience" value=""> </span>
|
||
(Total Skills:<span type="number" name="attr_domain_expertise_hardscience" value="0">
|
||
</span>
|
||
/6)
|
||
</span>
|
||
<span class="sheet-domains-1">
|
||
Expertise: <span type="number" name="attr_expertise_hardscience"> </span>
|
||
Reroll <input type="checkbox" name="attr_expertise_hardscience_used">
|
||
(Total Skills:<span type="number" name="attr_domain_expertise_hardscience"></span>/9)
|
||
</span>
|
||
<span class="sheet-domains-2">
|
||
Expertise: <span type="number" name="attr_expertise_hardscience"> </span>
|
||
Reroll: <input type="checkbox" name="attr_expertise_hardscience_used">
|
||
Doubles. (Total Skills:<span type="number" name="attr_domain_expertise_hardscience"></span>/13)
|
||
</span>
|
||
<span class="sheet-domains-3">
|
||
Expertise: <span type="number" name="attr_expertise_hardscience"> </span>
|
||
Reroll: <input type="checkbox" name="attr_expertise_hardscience_used">
|
||
Doubles. TB:1
|
||
</span>
|
||
<fieldset class="repeating_skills-hardscience">
|
||
<input type="text" name="attr_skill_domain" value="hardscience" hidden>
|
||
<input type="text" name="attr_skill_name" value="" class="em13">
|
||
(<input type="checkbox" name="attr_skill_familiar" value="1">F)
|
||
<button type="action" name="act_tumble">Roll</button>
|
||
Level: <input type="number" name="attr_skill_level" value="0">
|
||
XP:<input type="number" name="attr_skill_xp_stored" value="0">
|
||
<input type="checkbox" name="attr_skill_xp" value="1">
|
||
</fieldset>
|
||
</div>
|
||
|
||
<div> Influence :
|
||
<input type="text" name="attr_name_influence" value="Influence" hidden>
|
||
<input class="sheet-domains" type="hidden" name="attr_expertise_influence" value="0">
|
||
<span class="sheet-domains-0">
|
||
Expertise: <span type="number" name="attr_expertise_influence" value=""> </span>
|
||
(Total Skills:<span type="number" name="attr_domain_expertise_influence" value="0"> </span>
|
||
/6)
|
||
</span>
|
||
<span class="sheet-domains-1">
|
||
Expertise: <span type="number" name="attr_expertise_influence"> </span>
|
||
Reroll <input type="checkbox" name="attr_expertise_influence_used">
|
||
(Total Skills:<span type="number" name="attr_domain_expertise_influence"></span>/9)
|
||
</span>
|
||
<span class="sheet-domains-2">
|
||
Expertise: <span type="number" name="attr_expertise_influence"> </span>
|
||
Reroll: <input type="checkbox" name="attr_expertise_influence_used">
|
||
Doubles. (Total Skills:<span type="number" name="attr_domain_expertise_influence"></span>/13)
|
||
</span>
|
||
<span class="sheet-domains-3">
|
||
Expertise: <span type="number" name="attr_expertise_influence"> </span>
|
||
Reroll: <input type="checkbox" name="attr_expertise_influence_used">
|
||
Doubles. TB:1
|
||
</span>
|
||
<fieldset class="repeating_skills-influence">
|
||
<input type="text" name="attr_skill_domain" value="influence" hidden>
|
||
<input type="text" name="attr_skill_name" value="" class="em13">
|
||
(<input type="checkbox" name="attr_skill_familiar" value="1">F)
|
||
<button type="action" name="act_tumble">Roll</button>
|
||
Level: <input type="number" name="attr_skill_level" value="0">
|
||
XP:<input type="number" name="attr_skill_xp_stored" value="0">
|
||
<input type="checkbox" name="attr_skill_xp" value="1">
|
||
</fieldset>
|
||
</div>
|
||
|
||
<div> Institutions :
|
||
<input type="text" name="attr_name_institutions" value="Institutions" hidden>
|
||
<input class="sheet-domains" type="hidden" name="attr_expertise_institutions" value="0">
|
||
<span class="sheet-domains-0">
|
||
Expertise: <span type="number" name="attr_expertise_institutions" value=""> </span>
|
||
(Total Skills:<span type="number" name="attr_domain_expertise_institutions" value="0">
|
||
</span>
|
||
/6)
|
||
</span>
|
||
<span class="sheet-domains-1">
|
||
Expertise: <span type="number" name="attr_expertise_institutions"> </span>
|
||
Reroll <input type="checkbox" name="attr_expertise_institutions_used">
|
||
(Total Skills:<span type="number" name="attr_domain_expertise_institutions"></span>/9)
|
||
</span>
|
||
<span class="sheet-domains-2">
|
||
Expertise: <span type="number" name="attr_expertise_institutions"> </span>
|
||
Reroll: <input type="checkbox" name="attr_expertise_institutions_used">
|
||
Doubles. (Total Skills:<span type="number" name="attr_domain_expertise_institutions"></span>/13)
|
||
</span>
|
||
<span class="sheet-domains-3">
|
||
Expertise: <span type="number" name="attr_expertise_institutions"> </span>
|
||
Reroll: <input type="checkbox" name="attr_expertise_institutions_used">
|
||
Doubles. TB:1
|
||
</span>
|
||
<fieldset class="repeating_skills-institutions">
|
||
<input type="text" name="attr_skill_domain" value="institutions" hidden>
|
||
<input type="text" name="attr_skill_name" value="" class="em13">
|
||
(<input type="checkbox" name="attr_skill_familiar" value="1">F)
|
||
<button type="action" name="act_tumble">Roll</button>
|
||
Level: <input type="number" name="attr_skill_level" value="0">
|
||
XP:<input type="number" name="attr_skill_xp_stored" value="0">
|
||
<input type="checkbox" name="attr_skill_xp" value="1">
|
||
</fieldset>
|
||
</div>
|
||
|
||
<div> Investigation :
|
||
<input type="text" name="attr_name_investigation" value="Investigation" hidden>
|
||
<input class="sheet-domains" type="hidden" name="attr_expertise_investigation" value="0">
|
||
<span class="sheet-domains-0">
|
||
Expertise: <span type="number" name="attr_expertise_investigation" value=""> </span>
|
||
(Total Skills:<span type="number" name="attr_domain_expertise_investigation" value="0">
|
||
</span>
|
||
/6)
|
||
</span>
|
||
<span class="sheet-domains-1">
|
||
Expertise: <span type="number" name="attr_expertise_investigation"> </span>
|
||
Reroll <input type="checkbox" name="attr_expertise_investigation_used">
|
||
(Total Skills:<span type="number" name="attr_domain_expertise_investigation" value=""></span>/9)
|
||
</span>
|
||
<span class="sheet-domains-2">
|
||
Expertise: <span type="number" name="attr_expertise_investigation"> </span>
|
||
Reroll: <input type="checkbox" name="attr_expertise_investigation_used">
|
||
Doubles. (Total Skills:<span type="number" name="attr_domain_expertise_investigation"></span>/13)
|
||
</span>
|
||
<span class="sheet-domains-3">
|
||
Expertise: <span type="number" name="attr_expertise_investigation"> </span>
|
||
Reroll: <input type="checkbox" name="attr_expertise_investigation_used">
|
||
Doubles. TB:1
|
||
</span>
|
||
<fieldset class="repeating_skills-investigation">
|
||
<input type="text" name="attr_skill_domain" value="investigation" hidden>
|
||
<input type="text" name="attr_skill_name" value="" class="em13">
|
||
(<input type="checkbox" name="attr_skill_familiar" value="1">F)
|
||
<button type="action" name="act_tumble">Roll</button>
|
||
Level: <input type="number" name="attr_skill_level" value="0">
|
||
XP:<input type="number" name="attr_skill_xp_stored" value="0">
|
||
<input type="checkbox" name="attr_skill_xp" value="1">
|
||
</fieldset>
|
||
</div>
|
||
|
||
<div> Mechanics :
|
||
<input type="text" name="attr_name_mechanics" value="Mechanics" hidden>
|
||
<input class="sheet-domains" type="hidden" name="attr_expertise_mechanics" value="0">
|
||
<span class="sheet-domains-0">
|
||
Expertise: <span type="number" name="attr_expertise_mechanics" value=""> </span>
|
||
(Total Skills:<span type="number" name="attr_domain_expertise_mechanics" value="0"> </span>
|
||
/6)
|
||
</span>
|
||
<span class="sheet-domains-1">
|
||
Expertise: <span type="number" name="attr_expertise_mechanics"> </span>
|
||
Reroll <input type="checkbox" name="attr_expertise_mechanics_used">
|
||
(Total Skills:<span type="number" name="attr_domain_expertise_mechanics"></span>/9)
|
||
</span>
|
||
<span class="sheet-domains-2">
|
||
Expertise: <span type="number" name="attr_expertise_mechanics"> </span>
|
||
Reroll: <input type="checkbox" name="attr_expertise_mechanics_used">
|
||
Doubles. (Total Skills:<span type="number" name="attr_domain_expertise_mechanics"></span>/13)
|
||
</span>
|
||
<span class="sheet-domains-3">
|
||
Expertise: <span type="number" name="attr_expertise_mechanics"> </span>
|
||
Reroll: <input type="checkbox" name="attr_expertise_mechanics_used">
|
||
Doubles. TB:1
|
||
</span>
|
||
<fieldset class="repeating_skills-mechanics">
|
||
<input type="text" name="attr_skill_domain" value="mechanics" hidden>
|
||
<input type="text" name="attr_skill_name" value="" class="em13">
|
||
(<input type="checkbox" name="attr_skill_familiar" value="1">F)
|
||
<button type="action" name="act_tumble">Roll</button>
|
||
Level: <input type="number" name="attr_skill_level" value="0">
|
||
XP:<input type="number" name="attr_skill_xp_stored" value="0">
|
||
<input type="checkbox" name="attr_skill_xp" value="1">
|
||
</fieldset>
|
||
</div>
|
||
|
||
<div> Medicine :
|
||
<input type="text" name="attr_name_medicine" value="Medicine" hidden>
|
||
<input class="sheet-domains" type="hidden" name="attr_expertise_medicine" value="0">
|
||
<span class="sheet-domains-0">
|
||
Expertise: <span type="number" name="attr_expertise_medicine" value=""> </span>
|
||
(Total Skills:<span type="number" name="attr_domain_expertise_medicine" value="0"> </span>
|
||
/6)
|
||
</span>
|
||
<span class="sheet-domains-1">
|
||
Expertise: <span type="number" name="attr_expertise_medicine"> </span>
|
||
Reroll <input type="checkbox" name="attr_expertise_medicine_used">
|
||
(Total Skills:<span type="number" name="attr_domain_expertise_medicine"></span>/9)
|
||
</span>
|
||
<span class="sheet-domains-2">
|
||
Expertise: <span type="number" name="attr_expertise_medicine"> </span>
|
||
Reroll: <input type="checkbox" name="attr_expertise_medicine_used">
|
||
Doubles. (Total Skills:<span type="number" name="attr_domain_expertise_medicine">/13)
|
||
</span>
|
||
</span>
|
||
<span class="sheet-domains-3">
|
||
Expertise: <span type="number" name="attr_expertise_medicine"> </span>
|
||
Reroll: <input type="checkbox" name="attr_expertise_medicine_used">
|
||
Doubles. TB:1
|
||
</span>
|
||
<fieldset class="repeating_skills-medicine">
|
||
<input type="text" name="attr_skill_domain" value="medicine" hidden>
|
||
<input type="text" name="attr_skill_name" value="" class="em13">
|
||
(<input type="checkbox" name="attr_skill_familiar" value="1">F)
|
||
<button type="action" name="act_tumble">Roll</button>
|
||
Level: <input type="number" name="attr_skill_level" value="0">
|
||
XP:<input type="number" name="attr_skill_xp_stored" value="0">
|
||
<input type="checkbox" name="attr_skill_xp" value="1">
|
||
</fieldset>
|
||
</div>
|
||
|
||
<div> Melee :
|
||
<input type="text" name="attr_name_melee" value="Melee" hidden>
|
||
<input class="sheet-domains" type="hidden" name="attr_expertise_melee" value="0">
|
||
<span class="sheet-domains-0">
|
||
Expertise: <span type="number" name="attr_expertise_melee" value=""> </span>
|
||
(Total Skills:<span type="number" name="attr_domain_expertise_melee" value="0"> </span>
|
||
/6)
|
||
</span>
|
||
<span class="sheet-domains-1">
|
||
Expertise: <span type="number" name="attr_expertise_melee"> </span>
|
||
Reroll <input type="checkbox" name="attr_expertise_melee_used">
|
||
(Total Skills:<span type="number" name="attr_domain_expertise_melee" value="">
|
||
</span>/9)</span>
|
||
<span class="sheet-domains-2">
|
||
Expertise: <span type="number" name="attr_expertise_melee"> </span>
|
||
Reroll: <input type="checkbox" name="attr_expertise_melee_used">
|
||
Doubles. (Total Skills:<span type="number" name="attr_domain_expertise_melee" value="">
|
||
</span>/13)
|
||
</span>
|
||
<span class="sheet-domains-3">
|
||
Expertise: <span type="number" name="attr_expertise_melee"> </span>
|
||
Reroll: <input type="checkbox" name="attr_expertise_melee_used">
|
||
Doubles. TB:1
|
||
</span>
|
||
<fieldset class="repeating_skills-melee">
|
||
<input type="text" name="attr_skill_domain" value="melee" hidden>
|
||
<input type="text" name="attr_skill_name" value="" class="em13">
|
||
(<input type="checkbox" name="attr_skill_familiar" value="1">F)
|
||
<button type="action" name="act_tumble">Roll</button>
|
||
Level: <input type="number" name="attr_skill_level" value="0">
|
||
XP:<input type="number" name="attr_skill_xp_stored" value="0">
|
||
<input type="checkbox" name="attr_skill_xp" value="1">
|
||
</fieldset>
|
||
</div>
|
||
|
||
<div> Pilot :
|
||
<input type="text" name="attr_name_pilot" value="Pilot" hidden>
|
||
<input class="sheet-domains" type="hidden" name="attr_expertise_pilot" value="0">
|
||
<span class="sheet-domains-0">
|
||
Expertise: <span type="number" name="attr_expertise_pilot" value=""> </span>
|
||
(Total Skills:<span type="number" name="attr_domain_expertise_pilot" value="0"> </span>
|
||
/6)
|
||
</span>
|
||
<span class="sheet-domains-1">
|
||
Expertise: <span type="number" name="attr_expertise_pilot"> </span>
|
||
Reroll <input type="checkbox" name="attr_expertise_pilot_used">
|
||
(Total Skills:<span type="number" name="attr_domain_expertise_pilot" value="">
|
||
</span>/9)</span>
|
||
<span class="sheet-domains-2">
|
||
Expertise: <span type="number" name="attr_expertise_pilot"> </span>
|
||
Reroll: <input type="checkbox" name="attr_expertise_pilot_used">
|
||
Doubles. (Total Skills:<span type="number" name="attr_domain_expertise_pilot" value="">
|
||
</span>/13)
|
||
</span>
|
||
<span class="sheet-domains-3">
|
||
Expertise: <span type="number" name="attr_expertise_pilot"> </span>
|
||
Reroll: <input type="checkbox" name="attr_expertise_pilot_used">
|
||
Doubles. TB:1
|
||
</span>
|
||
<fieldset class="repeating_skills-pilot">
|
||
<input type="text" name="attr_skill_domain" value="pilot" hidden>
|
||
<input type="text" name="attr_skill_name" value="" class="em13">
|
||
(<input type="checkbox" name="attr_skill_familiar" value="1">F)
|
||
<button type="action" name="act_tumble">Roll</button>
|
||
Level: <input type="number" name="attr_skill_level" value="0">
|
||
XP:<input type="number" name="attr_skill_xp_stored" value="0">
|
||
<input type="checkbox" name="attr_skill_xp" value="1">
|
||
</fieldset>
|
||
</div>
|
||
|
||
<div> Showmanship :
|
||
<input type="text" name="attr_name_showmanship" value="Showmanship" hidden>
|
||
<input class="sheet-domains" type="hidden" name="attr_expertise_showmanship" value="0">
|
||
<span class="sheet-domains-0">
|
||
Expertise: <span type="number" name="attr_expertise_showmanship" value=""> </span>
|
||
(Total Skills:<span type="number" name="attr_domain_expertise_showmanship" value="0">
|
||
</span>
|
||
/6)
|
||
</span>
|
||
<span class="sheet-domains-1">
|
||
Expertise: <span type="number" name="attr_expertise_showmanship"> </span>
|
||
Reroll <input type="checkbox" name="attr_expertise_showmanship_used">
|
||
(Total Skills:<span type="number" name="attr_domain_expertise_showmanship"></span>/9)
|
||
</span>
|
||
<span class="sheet-domains-2">
|
||
Expertise: <span type="number" name="attr_expertise_showmanship"> </span>
|
||
Reroll: <input type="checkbox" name="attr_expertise_showmanship_used">
|
||
Doubles. (Total Skills:<span type="number" name="attr_domain_expertise_showmanship"></span>/13)
|
||
</span>
|
||
<span class="sheet-domains-3">
|
||
Expertise: <span type="number" name="attr_expertise_showmanship"> </span>
|
||
Reroll: <input type="checkbox" name="attr_expertise_showmanship_used">
|
||
Doubles. TB:1
|
||
</span>
|
||
<fieldset class="repeating_skills-showmanship">
|
||
<input type="text" name="attr_skill_domain" value="showmanship" hidden>
|
||
<input type="text" name="attr_skill_name" value="" class="em13">
|
||
(<input type="checkbox" name="attr_skill_familiar" value="1">F)
|
||
<button type="action" name="act_tumble">Roll</button>
|
||
Level: <input type="number" name="attr_skill_level" value="0">
|
||
XP:<input type="number" name="attr_skill_xp_stored" value="0">
|
||
<input type="checkbox" name="attr_skill_xp" value="1">
|
||
</fieldset>
|
||
</div>
|
||
|
||
<div> Social Science :
|
||
<input type="text" name="attr_name_socialscience" value="Social Science" hidden>
|
||
<input class="sheet-domains" type="hidden" name="attr_expertise_socialscience" value="0">
|
||
<span class="sheet-domains-0">
|
||
Expertise: <span type="number" name="attr_expertise_socialscience" value=""> </span>
|
||
(Total Skills:<span type="number" name="attr_domain_expertise_socialscience" value="0">
|
||
</span>
|
||
/6)
|
||
</span>
|
||
<span class="sheet-domains-1">
|
||
Expertise: <span type="number" name="attr_expertise_socialscience"> </span>
|
||
Reroll <input type="checkbox" name="attr_expertise_socialscience_used">
|
||
(Total Skills:<span type="number" name="attr_domain_expertise_socialscience" value=""></span>/9)
|
||
</span>
|
||
<span class="sheet-domains-2">
|
||
Expertise: <span type="number" name="attr_expertise_socialscience"> </span>
|
||
Reroll: <input type="checkbox" name="attr_expertise_socialscience_used">
|
||
Doubles. (Total Skills:<span type="number" name="attr_domain_expertise_socialscience"></span>/13)
|
||
</span>
|
||
<span class="sheet-domains-3">
|
||
Expertise: <span type="number" name="attr_expertise_socialscience"> </span>
|
||
Reroll: <input type="checkbox" name="attr_expertise_socialscience_used">
|
||
Doubles. TB:1
|
||
</span>
|
||
<fieldset class="repeating_skills-socialscience">
|
||
<input type="text" name="attr_skill_domain" value="socialscience" hidden>
|
||
<input type="text" name="attr_skill_name" value="" class="em13">
|
||
(<input type="checkbox" name="attr_skill_familiar" value="1">F)
|
||
<button type="action" name="act_tumble">Roll</button>
|
||
Level: <input type="number" name="attr_skill_level" value="0">
|
||
XP:<input type="number" name="attr_skill_xp_stored" value="0">
|
||
<input type="checkbox" name="attr_skill_xp" value="1">
|
||
</fieldset>
|
||
</div>
|
||
|
||
<div> Survival :
|
||
<input type="text" name="attr_name_survival" value="Survival" hidden>
|
||
<input class="sheet-domains" type="hidden" name="attr_expertise_survival" value="0">
|
||
<span class="sheet-domains-0">
|
||
Expertise: <span type="number" name="attr_expertise_survival" value=""> </span>
|
||
(Total Skills:<span type="number" name="attr_domain_expertise_survival" value="0"> </span>
|
||
/6)
|
||
</span>
|
||
<span class="sheet-domains-1">
|
||
Expertise: <span type="number" name="attr_expertise_survival"> </span>
|
||
Reroll <input type="checkbox" name="attr_expertise_survival_used">
|
||
(Total Skills:<span type="number" name="attr_domain_expertise_survival"></span>/9)
|
||
</span>
|
||
<span class="sheet-domains-2">
|
||
Expertise: <span type="number" name="attr_expertise_survival"> </span>
|
||
Reroll: <input type="checkbox" name="attr_expertise_survival_used">
|
||
Doubles. (Total Skills:<span type="number" name="attr_domain_expertise_survival">/13)
|
||
</span>
|
||
</span>
|
||
<span class="sheet-domains-3">
|
||
Expertise: <span type="number" name="attr_expertise_survival"> </span>
|
||
Reroll: <input type="checkbox" name="attr_expertise_survival_used">
|
||
Doubles. TB:1
|
||
</span>
|
||
<fieldset class="repeating_skills-survival">
|
||
<input type="text" name="attr_skill_domain" value="survival" hidden>
|
||
<input type="text" name="attr_skill_name" value="" class="em13">
|
||
(<input type="checkbox" name="attr_skill_familiar" value="1">F)
|
||
<button type="action" name="act_tumble">Roll</button>
|
||
Level: <input type="number" name="attr_skill_level" value="0">
|
||
XP:<input type="number" name="attr_skill_xp_stored" value="0">
|
||
<input type="checkbox" name="attr_skill_xp" value="1">
|
||
</fieldset>
|
||
</div>
|
||
|
||
<div> Tactics :
|
||
<input type="text" name="attr_name_tactics" value="Tactics" hidden>
|
||
<input class="sheet-domains" type="hidden" name="attr_expertise_tactics" value="0">
|
||
<span class="sheet-domains-0">
|
||
Expertise: <span type="number" name="attr_expertise_tactics" value=""> </span>
|
||
(Total Skills:<span type="number" name="attr_domain_expertise_tactics" value="0"> </span>
|
||
/6)
|
||
</span>
|
||
<span class="sheet-domains-1">
|
||
Expertise: <span type="number" name="attr_expertise_tactics"> </span>
|
||
Reroll <input type="checkbox" name="attr_expertise_tactics_used">
|
||
(Total Skills:<span type="number" name="attr_domain_expertise_tactics" value="">
|
||
</span>/9)</span>
|
||
<span class="sheet-domains-2">
|
||
Expertise: <span type="number" name="attr_expertise_tactics"> </span>
|
||
Reroll: <input type="checkbox" name="attr_expertise_tactics_used">
|
||
Doubles. (Total Skills:<span type="number" name="attr_domain_expertise_tactics">/13) </span>
|
||
</span>
|
||
<span class="sheet-domains-3">
|
||
Expertise: <span type="number" name="attr_expertise_tactics"> </span>
|
||
Reroll: <input type="checkbox" name="attr_expertise_tactics_used">
|
||
Doubles. TB:1
|
||
</span>
|
||
<fieldset class="repeating_skills-tactics">
|
||
<input type="text" name="attr_skill_domain" value="tactics" hidden>
|
||
<input type="text" name="attr_skill_name" value="" class="em13">
|
||
(<input type="checkbox" name="attr_skill_familiar" value="1">F)
|
||
<button type="action" name="act_tumble">Roll</button>
|
||
Level: <input type="number" name="attr_skill_level" value="0">
|
||
XP:<input type="number" name="attr_skill_xp_stored" value="0">
|
||
<input type="checkbox" name="attr_skill_xp" value="1">
|
||
</fieldset>
|
||
<span>Total Skills:<span type="number" name="attr_skill_total" value="0"> </span></span>
|
||
|
||
</div>
|
||
</div>
|
||
<div class="infobox">
|
||
<h3>Misc </h3>
|
||
<textarea name="attr_notes_desc" class="inputarea"></textarea>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="sheet-gear">
|
||
Gear sheet
|
||
<div class="background-info" id="gear1">
|
||
<div>
|
||
Name:<input type="text" name="attr_gear_name">
|
||
Model:<input type="text" name="attr_gear_model">
|
||
PL:<input type="number" name="attr_gearPL" value="0">
|
||
TV:<input type="number" name="attr_gear_tv" value="0">
|
||
</div>
|
||
<div>
|
||
Actor Type: <input type="text" name="attr_gear_actor_type">
|
||
Height: <input type="number" name="attr_gear_height" step=".5" value="0">in
|
||
</div>
|
||
<div>
|
||
Crew:<input type="number" name="attr_gear_crew" value="1">
|
||
<label for="mr" style="font-weight:normal; font-size: 1em;">*Movement Rate (MR):</label>
|
||
<input type="checkbox" id="mr" name="attr_gear_mr_info" class="sheet-toggle-show-span" hidden>
|
||
<input type="text" name="attr_gear_mr" class="em13" value="0">
|
||
<span class="sheet-body">
|
||
I:<input type="number" name="attr_gear_mr_i" class="digit" value="0">
|
||
G:<input type="number" name="attr_gear_mr_g" class="digit" value="0">
|
||
W:<input type="number" name="attr_gear_mr_w" class="digit" value="0">
|
||
H:<input type="number" name="attr_gear_mr_h" class="digit" value="0">
|
||
F:<input type="number" name="attr_gear_mr_f" class="digit" value="0">
|
||
A:<input type="number" name="attr_gear_mr_a" class="digit" value="0">
|
||
</span>
|
||
Armour (Arm):<input type="number" name="attr_gear_arm" value="0">
|
||
Hull Integrity (HI):<input type="number" name="attr_gear_hi_max" value="0">
|
||
</div>
|
||
<div class="no-buttons">
|
||
<div class="background">
|
||
<h4>TN Bonus: </h4>
|
||
<div class="infobox">
|
||
<span>Gunnery
|
||
<p>(GU): <input type="number" name="attr_gear_gunnery_base" class="digit" value="0">
|
||
Bonus: <input type="number" name="attr_gear_gunnery_bonus" class="digit" value="0">
|
||
Total:<span type="number" name="attr_gear_gunnery" class="digit"></span></p>
|
||
</span>
|
||
|
||
Skills
|
||
<fieldset class="repeating_skills-gunnery">
|
||
<input type="text" name="attr_skill_domain" value="gunnery" hidden>
|
||
<span type="text" name="attr_skill_name" value=""> </span>
|
||
<button type="action" name="act_geartumble">Roll</button>
|
||
Lv:<span type="number" name="attr_skill_level"> </span>
|
||
XP:<input type="checkbox" name="attr_skill_xp" value="1">
|
||
</fieldset>
|
||
</div>
|
||
<div class="infobox">
|
||
<span>Pilot
|
||
<p>(PI): <input type="number" name="attr_gear_pilot_base" class="digit" value="0">
|
||
Bonus: <input type="number" name="attr_gear_pilot_bonus" class="digit" value="0">
|
||
Total: <span type="number" name="attr_gear_pilot" class="digit"> </span>
|
||
</p>
|
||
</span>
|
||
Skills:
|
||
<fieldset class="repeating_skills-pilot">
|
||
<input type="text" name="attr_skill_domain" value="pilot" hidden>
|
||
<span type="text" name="attr_skill_name" alue=""> </span>
|
||
<button type="action" name="act_geartumble_">Roll</button>
|
||
Lv:<span type="number" name="attr_skill_level"></span>
|
||
XP:<input type="checkbox" name="attr_skill_xp" value="1">
|
||
</fieldset>
|
||
</div>
|
||
<div class="infobox">
|
||
<span>Electronic Warfare
|
||
<p>(EW): <input type="number" name="attr_gear_electronicwarfare_base" class="digit" value="0">
|
||
Bonus: <input type="number" name="attr_gear_electronicwarfare_bonus" class="digit" value="0">
|
||
Total: <span type="number" name="attr_gear_electronicwarfare" class="digit"></span>
|
||
</p>
|
||
</span>
|
||
Skills
|
||
<fieldset class="repeating_skills-electronicwarfare">
|
||
<input type="text" name="attr_skill_domain" value="electronicwarfare" hidden>
|
||
(<span type="text" name="attr_skill_name"></span>)
|
||
<button type="action" name="act_geartumble">Roll</button>
|
||
Lv:<span type="number" name="attr_skill_level"> </span>
|
||
XP:<input type="checkbox" name="attr_skill_xp" value="1">
|
||
</fieldset>
|
||
</div>
|
||
|
||
</div>
|
||
</div>
|
||
|
||
|
||
|
||
</div>
|
||
<div class="attributes" id="gear2">
|
||
<div class="damage-box" id="gear2damage">
|
||
<div class="">
|
||
<h3>Posture</h3>
|
||
<select name="attr_posture">
|
||
<option value="stationary">Stationary</option>
|
||
<option value="braced">Braced</option>
|
||
<option value="dug_in">-> Dug In</option>
|
||
<option value="standard" selected>Standard</option>
|
||
<option value="cautious_move">-> Cautious Move</option>
|
||
<option value="all_out">All Out</option>
|
||
<option value="top_speed">-> Top Speed</option>
|
||
</select>
|
||
<button type="action" name="act_initiative_start">Initiative</button>
|
||
: <input type="number" name="attr_initiative" value="0" min="0" class="digit">
|
||
<p>AP:<input type="number" name="attr_action_points" value="1" min="0" class="digit">/
|
||
<input type="number" name="attr_action_points_max" value="1" min="0" class="digit">
|
||
</p>
|
||
|
||
<button type="action" name="act_round_start">Start Round</button>
|
||
|
||
<p>
|
||
Declare Actions:<select name="attr_action_penalty">
|
||
<option value="0">0</option>
|
||
<option value="1" selected>1</option>
|
||
<option value="2">2</option>
|
||
<option value="3">3</option>
|
||
<option value="4">4</option>
|
||
</select>
|
||
</p>
|
||
<button type="action" name="act_activation_start">Start Activation</button>
|
||
</div>
|
||
<h3> Damage results </h3>
|
||
<span>Hull Integrity(<span type="number" name="attr_gear_hi"></span>/<span type="number" name="attr_gear_hi_max"></span>) </span>
|
||
<div>
|
||
<h4>Damage</h4>
|
||
<fieldset class="repeating_gear-damage">
|
||
<span> <input type="text" class="infoused" name="attr_gear_damage_name">
|
||
-<input type="number" class="digit" name="attr_gear_damage_level" value="0" min="0" style="width: 2em;">d6
|
||
<input type="checkbox" name="attr_gear_damage_info" class="sheet-toggle-show" />
|
||
<div class="sheet-body">
|
||
Hull Integrity Damage:<input type="checkbox" name="attr_gear_damage_integrity" value="1" checked>
|
||
Effect:<textarea class="inputarea" name="attr_gear_damage_effect"></textarea>
|
||
Deterioration:<textarea class="inputarea" name="attr_gear_damage_deterioration"></textarea>
|
||
Fix:<textarea class="inputarea" name="attr_gear_damage_fix"></textarea>
|
||
</div>
|
||
</span>
|
||
</fieldset>
|
||
<span> Add damage type: <select name="attr_gear_damage_type_add">
|
||
<option disabled style="font-weight: bold;"> VEHICLE DAMAGE RESULTS </option>
|
||
<option value="Catastrophic Limb Damage">Catastrophic Limb Damage</option>
|
||
<option value="Catastrophic System Damage">Catastrophic System Damage</option>
|
||
<option value="Drive System Crippled">Drive System Crippled</option>
|
||
<option value="Drive System Damaged">Drive System Damaged</option>
|
||
<option value="Engine Hit">Engine Hit</option>
|
||
<option value="Hull Breach">Hull Breach</option>
|
||
<option value="It's Gonna Blow">It's Gonna Blow</option>
|
||
<option value="Jammed">Jammed</option>
|
||
<option value="Knocked Down">Knocked Down</option>
|
||
<option value="Major Limb Damage">Major Limb Damage</option>
|
||
<option value="Major System Damage">Major System Damage</option>
|
||
<option value="Major Weapon Destroyed">Major Weapon Destroyed</option>
|
||
<option value="Minor Limb Damage">Minor Limb Damage</option>
|
||
<option value="Minor System Damage">Minor System Damage</option>
|
||
<option value="Minor Weapon Destroyed">Minor Weapon Destroyed</option>
|
||
<option value="On Fire (Vehicle)">On Fire (Vehicle)</option>
|
||
<option value="Secondary Explosion">Secondary Explosion</option>
|
||
<option value="Sensor Malfunction">Sensor Malfunction</option>
|
||
<option value="Unstable">Unstable</option>
|
||
<option disabled style="font-weight: bold;"> DAMAGE RESULTS </option>
|
||
<option value="Anger">Anger</option>
|
||
<option value="Bleeding">Bleeding</option>
|
||
<option value="Blinded">Blinded</option>
|
||
<option value="Brain Injury">Brain Injury</option>
|
||
<option value="Burned">Burned</option>
|
||
<option value="Combat Fatigue">Combat Fatigue</option>
|
||
<option value="Concussion">Concussion</option>
|
||
<option value="Deafened">Deafened</option>
|
||
<option value="Dehydrated">Dehydrated</option>
|
||
<option value="Encumbered">Encumbered</option>
|
||
<option value="Fear">Fear</option>
|
||
<option value="Fractured/Broken Bones">Fractured/Broken Bones</option>
|
||
<option value="Frozen">Frozen</option>
|
||
<option value="Guilt">Guilt</option>
|
||
<option value="Hallucinations">Hallucinations</option>
|
||
<option value="Internal Bleeding">Internal Bleeding</option>
|
||
<option value="Intoxicated">Intoxicated</option>
|
||
<option value="Knocked Out">Knocked Out</option>
|
||
<option value="Limb Crippled">Limb Crippled</option>
|
||
<option value="On Fire">On Fire</option>
|
||
<option value="Rattled">Rattled</option>
|
||
<option value="Paranoid">Paranoid</option>
|
||
<option value="Poisoned">Poisoned</option>
|
||
<option value="Prone">Prone</option>
|
||
<option value="Ruptured Organ">Ruptured Organ</option>
|
||
<option value="Shock">Shock</option>
|
||
<option value="Slowed">Slowed</option>
|
||
<option value="Snapped">Snapped</option>
|
||
<option value="Starving">Starving</option>
|
||
<option value="Stunned">Stunned</option>
|
||
<option value="The Shakes">The Shakes</option>
|
||
<option value="Terrified">Terrified</option>
|
||
<option value="Wounded">Wounded</option>
|
||
</select> lv: <input type="number" name="attr_gear_damage_lvl" class="digit" min="0">
|
||
<button type="action" name="act_gear_damage_stat">Add New Damage</button> </span>
|
||
</select>
|
||
|
||
</span>
|
||
|
||
</div>
|
||
<h4>Gear Damage Notes</h4> <textarea class="inputarea" name="attr_gear_damage_desc" rows="3"></textarea>
|
||
</div>
|
||
<div class="infobox" id="gear2weapons">
|
||
<h3> Weapon Systems </h3>
|
||
<div class="gearweapon-rep">
|
||
<h4>Bonus Dice: <input type="number" name="attr_bonus_dice" value="0">
|
||
TN: <input type="number" name="attr_tn" value="5">
|
||
Reliable: <input type="number" name="attr_reliable" value="0">
|
||
<select name="attr_whisper">
|
||
<option value=" " selected>Public</option>
|
||
<option value="/w gm ">Whisper</option>
|
||
</select>
|
||
Blitz: <input type="checkbox" name="attr_blitz_check" class="blitz-check" value="1">
|
||
</h4>
|
||
|
||
<fieldset class="repeating_gearweapon">
|
||
<input type="checkbox" name="attr_gear_weapon_initalised" value="1" hidden>
|
||
<span type="text" name="attr_gear_weapon_size"></span>
|
||
<span type="text" name="attr_gear_weapon_type"></span>
|
||
<button type="action" name="act_tumble"> roll</button>
|
||
<input type="number" name="attr_gear_weapon_domain" value="1" hidden>
|
||
|
||
D:<span type="number" name="attr_gear_weapon_damage"></span>
|
||
|
||
R:<input type="checkbox" name="attr_gear_weapon_blitz_check" class="blitz-check" value="1" hidden>
|
||
<span class="no-blitz">
|
||
<span type="text" name="attr_gear_weapon_range"></span>
|
||
</span>
|
||
<span class="blitz">
|
||
<span type="text" name="attr_gear_weapon_blitz_range"></span>
|
||
</span>
|
||
Traits:
|
||
<input type="checkbox" name="attr_gear_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
Mode: (<input type="radio" value="2" name="attr_gear_weapon_traits_mode_selector" checked>
|
||
|
||
<span type="text" name="attr_gear_weapon_traits_selector_2"></span>
|
||
<input type="radio" value="3" name="attr_gear_weapon_traits_mode_selector">
|
||
<span type="text" name="attr_gear_weapon_traits_selector_3"></span>)
|
||
<input type="number" name="attr_gear_weapon_traits_mode_selector" value="0" hidden>
|
||
</span>
|
||
<span type="text" name="attr_gear_weapon_traits"></span>
|
||
<span type="text" name="attr_gear_weapon_traits_other"></span>
|
||
|
||
<input class="sheet-ammunition-show" type="checkbox" name="attr_gear_weapon_ammunition_show" value="1" hidden />
|
||
<span class="ammo-box">
|
||
<input type="number" class="digit" name="attr_gear_weapon_ammo" value="1">/
|
||
<span class="max-ammo" type="number" name="attr_gear_weapon_ammo_max" value="1"></span>
|
||
</span>
|
||
i:<input type="checkbox" name="attr_gear_weapon_info" class="sheet-toggle-show" />
|
||
|
||
<div class="sheet-body">
|
||
Size:<select name="attr_gear_weapon_size">
|
||
<option value="Light">Light</option>
|
||
<option value="Medium">Medium</option>
|
||
<option value="Heavy">Heavy</option>
|
||
<option value=" ">None</option>
|
||
</select>
|
||
Type: <input type="text" name="attr_gear_weapon_type" value="Weapon">
|
||
Code <input type="text" name="attr_gear_weapon_code" class="em8">
|
||
|
||
<span class="pull-right">
|
||
Ammo: <input type="number" name="attr_gear_weapon_ammo_max" value="0">
|
||
</span>
|
||
<div>Domain:
|
||
<select name="attr_gear_weapon_domain">
|
||
<option value="1">Athletics <span></span> </option>
|
||
<option value="2">Awareness</option>
|
||
<option value="3">Business</option>
|
||
<option value="4">Craft</option>
|
||
<option value="5">Culture</option>
|
||
<option value="6">Electronic Warfare</option>
|
||
<option value="7">Electronics</option>
|
||
<option value="8">Gunnery</option>
|
||
<option value="9">Hard Science</option>
|
||
<option value="10">Influence</option>
|
||
<option value="11">Institutions</option>
|
||
<option value="12">Investigation</option>
|
||
<option value="13">Mechanics</option>
|
||
<option value="14">Medicine</option>
|
||
<option value="15">Melee</option>
|
||
<option value="16">Pilot</option>
|
||
<option value="17">Showmanship</option>
|
||
<option value="18">Socialscience</option>
|
||
<option value="19">Survival</option>
|
||
<option value="20">Tactics</option>
|
||
</select>
|
||
|
||
Gear Bonus:<select name="attr_gear_weapon_gear_domain_tn">
|
||
<option value="1" selected>Gunnery</option>
|
||
<option value="2">Pilot</option>
|
||
<option value="3">Electronic Warfare</option>
|
||
|
||
</select>
|
||
Skill Level:<input type="number" name="attr_gear_skill_level" value="0">
|
||
|
||
|
||
(<input type="checkbox" name="attr_gear_weapon_skill_familiar" value="1"> F)
|
||
<div>
|
||
</div>
|
||
|
||
Damage <input type="number" name="attr_gear_weapon_damage" class="digit" value="0">
|
||
<input type="checkbox" name="attr_gear_weapon_damage_show" class="sheet-toggle-show-span" />
|
||
<span class="sheet-body">
|
||
|
||
<input type="number" name="attr_gear_weapon_damage_l" class="digit" value="0">/
|
||
<input type="number" name="attr_gear_weapon_damage_m" class="digit" value="0">/
|
||
<input type="number" name="attr_gear_weapon_damage_h" class="digit" value="0">
|
||
</span>
|
||
|
||
Category <input type="text" name="attr_gear_weapon_catagory" class="em8">
|
||
Range: <input type="text" name="attr_gear_weapon_range" class="em8">-
|
||
<input type="checkbox" name="attr_gear_weapon_blitz_check" class="blitz-check" value="1">
|
||
<span class="no-blitz">
|
||
<input type="number" name="attr_gear_weapon_range_min" class="" value="0">-
|
||
<input type="number" name="attr_gear_weapon_range_med" class="" value="0">/
|
||
<input type="number" name="attr_gear_weapon_range_max" class="" value="0">m
|
||
</span>
|
||
<span class="blitz">
|
||
Blitz Range: <input type="text" name="attr_gear_weapon_blitz_range" class="em8">-
|
||
<input type="number" name="attr_gear_weapon_blitz_range_min" class="" value="0">-
|
||
<input type="number" name="attr_gear_weapon_blitz_range_med" class="" value="0">/
|
||
<input type="number" name="attr_gear_weapon_blitz_range_max" class="" value="0">in
|
||
</span>
|
||
|
||
</div>
|
||
|
||
Arc: <select name="attr_gear_weapon_arc">
|
||
<option value="front">Front</option>
|
||
<option value="left">Left</option>
|
||
<option value="right">Right</option>
|
||
<option value="turret">Turret</option>
|
||
</select>
|
||
Traits <input type="text" name="attr_gear_weapon_traits" value="">
|
||
<input type="checkbox" name="attr_gear_weapon_traits_show" class="sheet-toggle-show" />
|
||
<div class="sheet-body">
|
||
<span class="trait-box">
|
||
<span class="trait-item">
|
||
Mode:<input type="checkbox" name="attr_gear_weapon_traits_mode" value="1">
|
||
<input type="checkbox" name="attr_gear_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<span type="text" name="attr_gear_weapon_traits_selector_2"> </span> OR
|
||
<span type="text" name="attr_gear_weapon_traits_selector_3"> </span>
|
||
</span>
|
||
</span>
|
||
|
||
<span class="trait-item">
|
||
Advanced:
|
||
<input type="checkbox" name="attr_gear_weapon_traits_advanced" value="1">
|
||
|
||
<input type="checkbox" name="attr_gear_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_gear_weapon_traits_advanced_selector" checked>|
|
||
<input type="radio" value="2" name="attr_gear_weapon_traits_advanced_selector">
|
||
<input type="radio" value="3" name="attr_gear_weapon_traits_advanced_selector">
|
||
</span></span>
|
||
<span class="trait-item">
|
||
Apex <input type="checkbox" name="attr_gear_weapon_traits_apex" value="1">
|
||
<input type="checkbox" name="attr_gear_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_gear_weapon_traits_apex_selector" checked>|
|
||
<input type="radio" value="2" name="attr_gear_weapon_traits_apex_selector">
|
||
<input type="radio" value="3" name="attr_gear_weapon_traits_apex_selector">
|
||
</span></span>
|
||
<span class="trait-item">
|
||
Attachment <input type="checkbox" name="attr_gear_weapon_traits_attachment" value="1">
|
||
<input type="checkbox" name="attr_gear_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_gear_weapon_traits_attachment_selector" checked>|
|
||
<input type="radio" value="2" name="attr_gear_weapon_traits_attachment_selector">
|
||
<input type="radio" value="3" name="attr_gear_weapon_traits_attachment_selector">
|
||
</span>
|
||
</span>
|
||
<span class="trait-item">
|
||
Auto <input type="checkbox" name="attr_gear_weapon_traits_auto" value="1">
|
||
<input type="checkbox" name="attr_gear_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_gear_weapon_traits_auto_selector" checked>|
|
||
<input type="radio" value="2" name="attr_gear_weapon_traits_auto_selector">
|
||
<input type="radio" value="3" name="attr_gear_weapon_traits_auto_selector">
|
||
</span>
|
||
</span>
|
||
<span class="trait-item">
|
||
Backup <input type="checkbox" name="attr_gear_weapon_traits_backup" value="1">
|
||
<input type="checkbox" name="attr_gear_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_gear_weapon_traits_backup_selector" checked>|
|
||
<input type="radio" value="2" name="attr_gear_weapon_traits_backup_selector">
|
||
<input type="radio" value="3" name="attr_gear_weapon_traits_backup_selector">
|
||
</span>
|
||
</span>
|
||
<span class="trait-item">
|
||
Blast <input type="checkbox" name="attr_gear_weapon_traits_blast" value="1">
|
||
<input type="checkbox" name="attr_gear_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_gear_weapon_traits_blast_selector" checked>|
|
||
<input type="radio" value="2" name="attr_gear_weapon_traits_blast_selector">
|
||
<input type="radio" value="3" name="attr_gear_weapon_traits_blast_selector">
|
||
</span>
|
||
</span>
|
||
<span class="trait-item">
|
||
Bomb <input type="checkbox" name="attr_gear_weapon_traits_bomb" value="1">
|
||
<input type="checkbox" name="attr_gear_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_gear_weapon_traits_bomb_selector" checked>|
|
||
<input type="radio" value="2" name="attr_gear_weapon_traits_bomb_selector">
|
||
<input type="radio" value="3" name="attr_gear_weapon_traits_bomb_selector">
|
||
</span>
|
||
</span>
|
||
<span class="trait-item">
|
||
Brace <input type="checkbox" name="attr_gear_weapon_traits_Brace" value="1">
|
||
<input type="checkbox" name="attr_gear_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_gear_weapon_traits_brace_selector" checked>|
|
||
<input type="radio" value="2" name="attr_gear_weapon_traits_brace_selector">
|
||
<input type="radio" value="3" name="attr_gear_weapon_traits_brace_selector">
|
||
</span>
|
||
</span>
|
||
<span class="trait-item">
|
||
Corrosion <input type="checkbox" name="attr_gear_weapon_traits_corrosion" value="1">
|
||
<input type="checkbox" name="attr_gear_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_gear_weapon_traits_corrosion_selector" checked>|
|
||
<input type="radio" value="2" name="attr_gear_weapon_traits_corrosion_selector">
|
||
<input type="radio" value="3" name="attr_gear_weapon_traits_corrosion_selector">
|
||
</span>
|
||
</span>
|
||
<span class="trait-item">
|
||
Flak <input type="checkbox" name="attr_gear_weapon_traits_flak" value="1">
|
||
<input type="checkbox" name="attr_gear_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_gear_weapon_traits_flak_selector" checked>|
|
||
<input type="radio" value="2" name="attr_gear_weapon_traits_flak_selector">
|
||
<input type="radio" value="3" name="attr_gear_weapon_traits_flak_selector">
|
||
</span>
|
||
</span>
|
||
<span class="trait-item">
|
||
Forearm <input type="checkbox" name="attr_gear_weapon_traits_forearm" value="1">
|
||
<input type="checkbox" name="attr_gear_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_gear_weapon_traits_forearm_selector" checked>|
|
||
<input type="radio" value="2" name="attr_gear_weapon_traits_forearm_selector">
|
||
<input type="radio" value="3" name="attr_gear_weapon_traits_forearm_selector">
|
||
</span>
|
||
</span>
|
||
<span class="trait-item">
|
||
Frag <input type="checkbox" name="attr_gear_weapon_traits_frag" value="1">
|
||
<input type="checkbox" name="attr_gear_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_gear_weapon_traits_frag_selector" checked>|
|
||
<input type="radio" value="2" name="attr_gear_weapon_traits_frag_selector">
|
||
<input type="radio" value="3" name="attr_gear_weapon_traits_frag_selector">
|
||
</span>
|
||
</span>
|
||
<span class="trait-item">
|
||
Guided <input type="checkbox" name="attr_gear_weapon_traits_guided" value="1">
|
||
<input type="checkbox" name="attr_gear_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_gear_weapon_traits_guided_selector" checked>|
|
||
<input type="radio" value="2" name="attr_gear_weapon_traits_guided_selector">
|
||
<input type="radio" value="3" name="attr_gear_weapon_traits_guided_selector">
|
||
</span>
|
||
</span>
|
||
<span class="trait-item">
|
||
Haywire <input type="checkbox" name="attr_gear_weapon_traits_haywire" value="1">
|
||
<input type="checkbox" name="attr_gear_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_gear_weapon_traits_haywire_selector" checked>|
|
||
<input type="radio" value="2" name="attr_gear_weapon_traits_haywire_selector">
|
||
<input type="radio" value="3" name="attr_gear_weapon_traits_haywire_selector">
|
||
</span>
|
||
</span>
|
||
<span class="trait-item">
|
||
Limited Ammo <input type="checkbox" name="attr_gear_weapon_traits_limited_ammo" value="1">
|
||
<input type="checkbox" name="attr_gear_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_gear_weapon_traits_limited_ammo_selector" checked>|
|
||
<input type="radio" value="2" name="attr_gear_weapon_traits_limited_ammo_selector">
|
||
<input type="radio" value="3" name="attr_gear_weapon_traits_limited_ammo_selector">
|
||
</span>
|
||
</span>
|
||
<span class="trait-item">
|
||
Link <input type="checkbox" name="attr_gear_weapon_traits_link" value="1">
|
||
<input type="checkbox" name="attr_gear_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_gear_weapon_traits_link_selector" checked>|
|
||
<input type="radio" value="2" name="attr_gear_weapon_traits_link_selector">
|
||
<input type="radio" value="3" name="attr_gear_weapon_traits_link_selector">
|
||
</span>
|
||
</span>
|
||
<span class="trait-item">
|
||
Precise <input type="checkbox" name="attr_gear_weapon_traits_precise" value="1">
|
||
<input type="checkbox" name="attr_gear_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_gear_weapon_traits_precise_selector" checked>|
|
||
<input type="radio" value="2" name="attr_gear_weapon_traits_precise_selector">
|
||
<input type="radio" value="3" name="attr_gear_weapon_traits_precise_selector">
|
||
</span>
|
||
</span>
|
||
<span class="trait-item">
|
||
Salvo <input type="checkbox" name="attr_gear_weapon_traits_salvo" value="1">
|
||
<input type="checkbox" name="attr_gear_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_gear_weapon_traits_salvo_selector" checked>|
|
||
<input type="radio" value="2" name="attr_gear_weapon_traits_salvo_selector">
|
||
<input type="radio" value="3" name="attr_gear_weapon_traits_salvo_selector">
|
||
</span>
|
||
</span>
|
||
<span class="trait-item">
|
||
Silent <input type="checkbox" name="attr_gear_weapon_traits_silent" value="1">
|
||
<input type="checkbox" name="attr_gear_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_gear_weapon_traits_silent_selector" checked>|
|
||
<input type="radio" value="2" name="attr_gear_weapon_traits_silent_selector">
|
||
<input type="radio" value="3" name="attr_gear_weapon_traits_silent_selector">
|
||
</span>
|
||
</span>
|
||
<span class="trait-item">
|
||
Smoke <input type="checkbox" name="attr_gear_weapon_traits_smoke" value="1">
|
||
<input type="checkbox" name="attr_gear_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_gear_weapon_traits_smoke_selector" checked>|
|
||
<input type="radio" value="2" name="attr_gear_weapon_traits_smoke_selector">
|
||
<input type="radio" value="3" name="attr_gear_weapon_traits_smoke_selector">
|
||
</span>
|
||
</span>
|
||
<span class="trait-item">
|
||
Spray <input type="checkbox" name="attr_gear_weapon_traits_spray" value="1">
|
||
<input type="checkbox" name="attr_gear_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_gear_weapon_traits_spray_selector" checked>|
|
||
<input type="radio" value="2" name="attr_gear_weapon_traits_spray_selector">
|
||
<input type="radio" value="3" name="attr_gear_weapon_traits_spray_selector">
|
||
</span>
|
||
</span>
|
||
</span>
|
||
|
||
<div class="trait-box">
|
||
<span class="trait-item">
|
||
AoE: <input type="number" name="attr_gear_weapon_traits_aoe" class="digit" value="0" min="0">m
|
||
<span> <input type="checkbox" name="attr_gear_weapon_traits_single" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
-(<input type="number" name="attr_gear_weapon_traits_aoe_l" class="digit" value="0">m/
|
||
<input type="number" name="attr_gear_weapon_traits_aoe_m" class="digit" value="0">m/
|
||
<input type="number" name="attr_gear_weapon_traits_aoe_h" class="digit" value="0">m)
|
||
</span> </span>
|
||
<input type="checkbox" name="attr_gear_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_gear_weapon_traits_aoe_selector" checked>|
|
||
<input type="radio" value="2" name="attr_gear_weapon_traits_aoe_selector">
|
||
<input type="radio" value="3" name="attr_gear_weapon_traits_aoe_selector">
|
||
</span>
|
||
</span>
|
||
<span class="trait-item">
|
||
AP:<input type="number" name="attr_gear_weapon_traits_ap" class="digit" value="0" min="0">
|
||
<span> <input type="checkbox" name="attr_gear_weapon_traits_single" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
-<input type="number" name="attr_gear_weapon_traits_ap_l" class="digit" value="0">/
|
||
<input type="number" name="attr_gear_weapon_traits_ap_m" class="digit" value="0">/
|
||
<input type="number" name="attr_gear_weapon_traits_ap_h" class="digit" value="0">
|
||
</span></span>
|
||
<input type="checkbox" name="attr_gear_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_gear_weapon_traits_ap_selector" checked>|
|
||
<input type="radio" value="2" name="attr_gear_weapon_traits_ap_selector">
|
||
<input type="radio" value="3" name="attr_gear_weapon_traits_ap_selector">
|
||
</span>
|
||
</span>
|
||
<span class="trait-item">
|
||
Brawler:
|
||
<input type="number" name="attr_gear_weapon_traits_brawler" class="digit" value="0">
|
||
<span>
|
||
<input type="checkbox" name="attr_gear_weapon_traits_single" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
-<input type="number" name="attr_gear_weapon_traits_brawler_l" class="digit" value="0">/
|
||
<input type="number" name="attr_gear_weapon_traits_brawler_m" class="digit" value="0">/
|
||
<input type="number" name="attr_gear_weapon_traits_brawler_h" class="digit" value="0">
|
||
</span></span>
|
||
|
||
<input type="checkbox" name="attr_gear_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_gear_weapon_traits_brawler_selector" checked>|
|
||
<input type="radio" value="2" name="attr_gear_weapon_traits_brawler_selector">
|
||
<input type="radio" value="3" name="attr_gear_weapon_traits_brawler_selector">
|
||
</span>
|
||
</span>
|
||
<span class="trait-item">
|
||
|
||
Burst:<input type="number" name="attr_gear_weapon_traits_burst" class="digit" value="0" min="0">
|
||
|
||
<span>
|
||
<input type="checkbox" name="attr_gear_weapon_traits_single" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
-<input type="number" name="attr_gear_weapon_traits_burst_l" class="digit" value="0">/
|
||
<input type="number" name="attr_gear_weapon_traits_burst_m" class="digit" value="0">/
|
||
<input type="number" name="attr_gear_weapon_traits_burst_h" class="digit" value="0">
|
||
</span></span>
|
||
<input type="checkbox" name="attr_gear_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_gear_weapon_traits_burst_selector" checked>|
|
||
<input type="radio" value="2" name="attr_gear_weapon_traits_burst_selector">
|
||
<input type="radio" value="3" name="attr_gear_weapon_traits_burst_selector">
|
||
</span>
|
||
</span>
|
||
<span class="trait-item">
|
||
Demo:<input type="number" name="attr_gear_weapon_traits_demo" class="digit" value="0">
|
||
<span> <input type="checkbox" name="attr_gear_weapon_traits_single" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
-<input type="number" name="attr_gear_weapon_traits_demo_l" class="digit" value="0">/
|
||
<input type="number" name="attr_gear_weapon_traits_demo_m" class="digit" value="0">/
|
||
<input type="number" name="attr_gear_weapon_traits_demo_h" class="digit" value="0">
|
||
</span>
|
||
</span>
|
||
<input type="checkbox" name="attr_gear_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_gear_weapon_traits_demo_selector" checked>|
|
||
<input type="radio" value="2" name="attr_gear_weapon_traits_demo_selector">
|
||
<input type="radio" value="3" name="attr_gear_weapon_traits_demo_selector">
|
||
</span>
|
||
</span>
|
||
<span class="trait-item">
|
||
Fire:<input type="number" name="attr_gear_weapon_traits_fire" class="digit" value="0" min="0">
|
||
<span> <input type="checkbox" name="attr_gear_weapon_traits_single" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
-<input type="number" name="attr_gear_weapon_traits_fire_l" class="digit" value="0">/
|
||
<input type="number" name="attr_gear_weapon_traits_fire_m" class="digit" value="0">/
|
||
<input type="number" name="attr_gear_weapon_traits_fire_h" class="digit" value="0">
|
||
</span>
|
||
</span>
|
||
<input type="checkbox" name="attr_gear_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_gear_weapon_traits_fire_selector" checked>|
|
||
<input type="radio" value="2" name="attr_gear_weapon_traits_fire_selector">
|
||
<input type="radio" value="3" name="attr_gear_weapon_traits_fire_selector">
|
||
</span>
|
||
</span>
|
||
<span class="trait-item">
|
||
Reach:<input type="number" name="attr_gear_weapon_traits_reach" class="digit" value="0" min="0">
|
||
<span><input type="checkbox" name="attr_gear_weapon_traits_single" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
-<input type="number" name="attr_gear_weapon_traits_reach_l" class="digit" value="0">/
|
||
<input type="number" name="attr_gear_weapon_traits_reach_m" class="digit" value="0">/
|
||
<input type="number" name="attr_gear_weapon_traits_reach_h" class="digit" value="0">
|
||
</span>
|
||
</span>
|
||
<input type="checkbox" name="attr_gear_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_gear_weapon_traits_reach_selector" checked>|
|
||
<input type="radio" value="2" name="attr_gear_weapon_traits_reach_selector">
|
||
<input type="radio" value="3" name="attr_gear_weapon_traits_reach_selector">
|
||
</span>
|
||
</span>
|
||
</div>
|
||
<div>
|
||
<p>
|
||
See Desc <input type="checkbox" name="attr_gear_weapon_traits_see_desc" value="1">
|
||
<input type="text" name="attr_gear_weapon_traits_desc" value="">
|
||
</p>
|
||
<p>
|
||
Other: <input type="text" name="attr_gear_weapon_traits_other" value="">
|
||
</p>
|
||
</div>
|
||
|
||
|
||
</div>
|
||
PL <input type="number" name="attr_gear_weapon_pl" value="0">
|
||
Location <input type="text" name="attr_gear_weapon_location" class="em8">
|
||
Slots <input type="number" name="attr_gear_weapon_slots" class="digit" value="0">
|
||
Aux Location <input type="text" name="attr_gear_weapon_aux_location" class="em8">
|
||
Aux Slots <input type="number" name="attr_gear_weapon_slots_misc" class="digit" value="0">
|
||
<p><span type="text" name="attr_gear_weapon_traits_desc" value=""></span> </p>
|
||
<textarea class="inputarea" name="attr_gear_weapon_notes"></textarea>
|
||
|
||
|
||
</div>
|
||
</fieldset>
|
||
Add Weapon Code: <input type="text" name="attr_gear_weapon_code" class="em8"> lv:<input type="number" name="attr_gear_weapon_lvl" class="digit" max="5" min="0" value="3">
|
||
Domain: <select name="attr_gear_weapon_domain">
|
||
<option value="1">Athletics </option>
|
||
<option value="2">Awareness</option>
|
||
<option value="3">Business</option>
|
||
<option value="4">Craft</option>
|
||
<option value="5">Culture</option>
|
||
<option value="6">Electronic Warfare</option>
|
||
<option value="7">Electronics</option>
|
||
<option value="8" selected>Gunnery</option>
|
||
<option value="9">Hard Science</option>
|
||
<option value="10">Influence</option>
|
||
<option value="11">Institutions</option>
|
||
<option value="12">Investigation</option>
|
||
<option value="13">Mechanics</option>
|
||
<option value="14">Medicine</option>
|
||
<option value="15">Melee</option>
|
||
<option value="16">Pilot</option>
|
||
<option value="17">Showmanship</option>
|
||
<option value="18">Socialscience</option>
|
||
<option value="19">Survival</option>
|
||
<option value="20">Tactics</option>
|
||
</select>
|
||
|
||
Gear Bonus:<select name="attr_gear_weapon_gear_domain_tn">
|
||
<option value="1" selected>Gunnery</option>
|
||
<option value="2">Pilot</option>
|
||
<option value="3">Electronic Warfare</option>
|
||
</select>
|
||
(<input type="checkbox" name="attr_gear_weapon_skill_familiar" value="1"> F)
|
||
<button type="action" name="act_gear_weapon_stat">Add New Weapon</button>
|
||
</div>
|
||
<div class="">
|
||
<h3>Electronic Systems </h3>
|
||
<div class="">
|
||
<div class="">
|
||
<h4><label for="sensors" name="attr_sensors">Sensors.</label>
|
||
<input type="checkbox" id="sensors" name="attr_sensors_hide" class="sheet-toggle-show" hidden>
|
||
</h4>
|
||
<span> Type: <input type="text" name="attr_gear_sensors_type" class="em8" value="Basic">
|
||
<input type="checkbox" name="attr_gear_weapon_blitz_check" class="blitz-check" value="1" hidden>
|
||
<span class="no-blitz"> Range: <input type="number" name="attr_gear_sensors_range" value="2">km </span>
|
||
<span class="blitz"> Blitz Range: <input type="number" name="attr_gear_sensors_blitz_range" value="18">" </span>
|
||
<span>Effect <input type="text" name="attr_gear_sensors_effect" class="em8" value="None">
|
||
<select name="attr_gear_sensors_mode" class="em8">
|
||
<option value="active" selected>Active</option>
|
||
<option value="passive">Passive</option>
|
||
<option value="none">None</option>
|
||
</select>
|
||
</span>
|
||
<input type="checkbox" name="attr_sensors_hide" class="sheet-toggle-show" hidden>
|
||
<div class="sheet-body">
|
||
<textarea class="inputarea" name="attr_gear_sensors_desc"></textarea>
|
||
</div>
|
||
</span>
|
||
</div>
|
||
<div>
|
||
<h4> <label for="comms" name="attr_comms">Comms Suite.</label>
|
||
<input type="checkbox" id="comms" name="attr_comms_hide" class="sheet-toggle-show" hidden>
|
||
</h4>
|
||
</h4>
|
||
<input type="checkbox" name="attr_blitz_check" class="blitz-check" value="1" hidden>
|
||
<span class="no-blitz"> Range: <input type="number" name="attr_gear_sensors_range" value="2">km
|
||
</span>
|
||
<span class="blitz"> Blitz Range: <input type="number" name="attr_gear_sensors_blitz_range" value="18">" </span>
|
||
|
||
<span>Effect <input type="text" name="attr_gear_sensors_effect" class="em8" value="None">
|
||
</span>
|
||
<input type="checkbox" name="attr_comms_hide" class="sheet-toggle-show" hidden>
|
||
<div class="sheet-body">
|
||
<textarea class="inputarea" name="attr_gear_comms_desc"></textarea>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="attributes" id="gear3">
|
||
<div class="infobox" id="gear3customization" style="width: 40%;">
|
||
<h3> Customisation </h3>
|
||
<div>
|
||
<h4> Location <span class="pull-right">Slots </span> </h4>
|
||
</div>
|
||
<div> Torso <span class="pull-right"><input type="number" name="attr_slots_torso" value="0">/<input type="number" name="attr_slots_torso_max" value="0"> </span> </div>
|
||
<div> Right Manip <span class="pull-right"><input type="number" name="attr_slots_l_manip" value="0">/<input type="number" name="attr_slotsLManip_max" value="0"></span></div>
|
||
<div> Left Manip <span class="pull-right"><input type="number" name="attr_slots_r_manip" value="0">/<input type="number" name="attr_slots_r_manip_max" value="0"></span></div>
|
||
<div> Right Shoulder <span class="pull-right"><input type="number" name="attr_slots_l_shoulder" value="0">/<input type="number" name="attr_slotss_l_shoulder_max" value="0"></span></div>
|
||
<div> Left Shoulder <span class="pull-right"><input type="number" name="attr_slots_r_shoulder" value="0">/<input type="number" name="attr_slots_r_shoulder_max" value="0"></span></div>
|
||
<div class="infobox">
|
||
<h4>Maintainace</h4>
|
||
<span>Type:<select name="attr_gear_maintainance_type">
|
||
<option value="3">High Maintainace</option>
|
||
<option value="7" selected>Regular Maintainace</option>
|
||
<option value="11">Low Maintainace</option>
|
||
|
||
</select>
|
||
</span>
|
||
<span>Tech:<select name="attr_gear_maintainance_tech">
|
||
<option value="-1">High Tech</option>
|
||
<option value="0" selected>Regular Tech</option>
|
||
<option value="1">Low Tech</option>
|
||
</select>
|
||
</span>
|
||
<span>Prevalence:<select name="attr_gear_maintainance_prevalence">
|
||
<option value="rare">Rare</option>
|
||
<option value="common" selected>Common</option>
|
||
<option value="Ubiquitous">Ubiquitous </option>
|
||
</span>
|
||
<span>Total: <span name="attr_gear_arm" type="number" class="digit"> </span> hours every
|
||
<span name="attr_gear_maintainance_type"> </span> days </span>
|
||
<span>Remaining:<input name="attr_gear_maintainance_hours" class="digit" type="number"> hours,
|
||
<input name="attr_gear_maintainance_cycle_remaining" class="digit" type="number" value="7"> days
|
||
</span>
|
||
<span>Current Penalty: <input name="attr_gear_maintainance_penalty" type="number" max="0"> </span>
|
||
Notes:
|
||
<textarea class="inputarea" name="attr_gear_maintainance_desc"></textarea>
|
||
<h4>Repairs</h4>
|
||
<span> <input name="attr_gear_maintainance_repairs" type="number" class="digit">/
|
||
<input type="number" name="attr_gear_maintainance_repairs_max" class="digit" value="0"> hours. TB: <span name="attr_gear_maintainance_tech"> </span></span> </span>
|
||
<textarea class="inputarea" name="attr_gear_maintainance_repairs_desc"></textarea>
|
||
</div>
|
||
</div>
|
||
<div class="infobox" id="gear3traitsequipment">
|
||
<h3> Traits & Equipment </h3>
|
||
<fieldset class="repeating_gear-equipment-traits">
|
||
<div>Name <input type="text" name="attr_gear_equipment_traits_name"> Info: <input type="checkbox" name="attr_geartraithide" class="sheet-toggle-show">
|
||
<div class="sheet-body">
|
||
<div>
|
||
Location <input type="text" name="attr_gear_equipment_traits_location">
|
||
Slots<input type="number" name="attr_gear_equipment_traits_slots" value="0">
|
||
PL<input type="number" name="attr_gear_equipment_traits_pl" value="0">
|
||
</div>
|
||
<textarea class="inputarea" name="attr_gear_equipment_traits_desc"></textarea>
|
||
</div>
|
||
</div>
|
||
</fieldset>
|
||
<textarea class="inputarea" name="attr_gear_equipment_desc"></textarea>
|
||
<input type="checkbox" class="archetype-toggle" name="attr_optional_archetype" hidden />
|
||
<div class="archetype">
|
||
<h3>Archetype <input type="checkbox" class="sheet-toggle-show" name="attr_archetype_gear_hide" /></h3>
|
||
<input type="checkbox" class="sheet-toggle-show" name="attr_archetype_gear_hide" hidden />
|
||
<div class="sheet-body">
|
||
|
||
<h4> <input type="text" list="archetypelist" name="attr_archetype" value="" style="text-align: center;">
|
||
R-<input type="number" class="digit" min="0" name="attr_archetype_rank" value="0" max="6">
|
||
</h4>
|
||
<input type="hidden" name="attr_archetype" class="archetype-select"></span>
|
||
|
||
<div class="archetype-caretaker">
|
||
<div>Equipment: Rig or Kit to match skill set
|
||
<input type="checkbox" name="attr_caretaker_equipment_hide" class="sheet-toggle-show-span">
|
||
<span class="sheet-body">
|
||
<input type="text" name="attr_archetype_equipment"> </span>
|
||
|
||
</div>
|
||
<div>
|
||
Rank: A Caretaker can rank up based on how well they assist their teammates.
|
||
</div>
|
||
<span>Caretaker Special Rules</span>
|
||
<input type="hidden" name="attr_archetype_rank" class="archetype-rank-select"></span>
|
||
<div class="archetype-rank-1">
|
||
R-1
|
||
<select name="attr_caretaker_select_1">
|
||
<option value=" "></option>
|
||
<option value="medic">Medic</option>
|
||
<option value="mechanic">Mechanic</option>
|
||
<option value="guide">Guide</option>
|
||
</select>
|
||
<input type="number" name="attr_caretaker_lvl_1" class="digit" value="0" min="0" max="1">
|
||
<input type="checkbox" name="attr_caretaker_1_hide" class="sheet-toggle-show">
|
||
</div>
|
||
<div>
|
||
<input type="checkbox" name="attr_caretaker_1_hide" class="sheet-toggle-show" hidden>
|
||
<div class="sheet-body">
|
||
<span name="attr_caretaker_lvl_1_desc"></span>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="archetype-rank-2">
|
||
R-2
|
||
<select name="attr_caretaker_select_2">
|
||
<option value=" "></option>
|
||
<option value="medic">Medic</option>
|
||
<option value="mechanic">Mechanic</option>
|
||
<option value="guide">Guide</option>
|
||
</select>
|
||
<input type="number" name="attr_caretaker_lvl_2" class="digit" value="0" min="0" max="2">
|
||
<input type="checkbox" name="attr_caretaker_2_hide" class="sheet-toggle-show">
|
||
</div>
|
||
<div>
|
||
<input type="checkbox" name="attr_caretaker_2_hide" class="sheet-toggle-show" hidden>
|
||
<div class="sheet-body">
|
||
<span name="attr_caretaker_lvl_2_desc"></span>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="archetype-rank-3">
|
||
R-3
|
||
<select name="attr_caretaker_select_3">
|
||
<option value=" "></option>
|
||
<option value="medic">Medic</option>
|
||
<option value="mechanic">Mechanic</option>
|
||
<option value="guide">Guide</option>
|
||
</select>
|
||
<input type="number" name="attr_caretaker_lvl_3" class="digit" value="0" min="0" max="3">
|
||
<input type="checkbox" name="attr_caretaker_3_hide" class="sheet-toggle-show">
|
||
</div>
|
||
<div>
|
||
<input type="checkbox" name="attr_caretaker_3_hide" class="sheet-toggle-show" hidden>
|
||
<div class="sheet-body">
|
||
<span name="attr_caretaker_lvl_3_desc"></span>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="archetype-rank-4">
|
||
R-4
|
||
<select name="attr_caretaker_select_4">
|
||
<option value=" "></option>
|
||
<option value="medic">Medic</option>
|
||
<option value="mechanic">Mechanic</option>
|
||
<option value="guide">Guide</option>
|
||
</select>
|
||
<input type="number" name="attr_caretaker_lvl_4" class="digit" value="0" min="0" max="4">
|
||
<input type="checkbox" name="attr_caretaker_4_hide" class="sheet-toggle-show">
|
||
</div>
|
||
<div>
|
||
<input type="checkbox" name="attr_caretaker_4_hide" class="sheet-toggle-show" hidden>
|
||
<div class="sheet-body">
|
||
<span name="attr_caretaker_lvl_4_desc"></span>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="archetype-rank-5">
|
||
R-5
|
||
<select name="attr_caretaker_select_5">
|
||
<option value=" "></option>
|
||
<option value="medic">Medic</option>
|
||
<option value="mechanic">Mechanic</option>
|
||
<option value="guide">Guide</option>
|
||
</select>
|
||
<input type="number" name="attr_caretaker_lvl_5" class="digit" value="0" min="0" max="5">
|
||
<input type="checkbox" name="attr_caretaker_5_hide" class="sheet-toggle-show">
|
||
</div>
|
||
<div>
|
||
<input type="checkbox" name="attr_caretaker_5_hide" class="sheet-toggle-show" hidden>
|
||
<div class="sheet-body">
|
||
<span name="attr_caretaker_lvl_5_desc"></span>
|
||
</div>
|
||
</div>
|
||
<div class="archetype-rank-6">
|
||
R-6
|
||
<select name="attr_caretaker_select_6">
|
||
<option value=" "></option>
|
||
<option value="medic">Medic</option>
|
||
<option value="mechanic">Mechanic</option>
|
||
<option value="guide">Guide</option>
|
||
</select>
|
||
<input type="number" name="attr_caretaker_lvl_6" class="digit" value="0" min="0" max="6">
|
||
<input type="checkbox" name="attr_caretaker_6_hide" class="sheet-toggle-show">
|
||
</div>
|
||
<div>
|
||
<input type="checkbox" name="attr_caretaker_6_hide" class="sheet-toggle-show" hidden>
|
||
<div class="sheet-body">
|
||
<span name="attr_caretaker_lvl_6_desc"></span>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="archetype-commander">
|
||
<div>Equipment: Command dataglove and/or Satellite Uplink.
|
||
</div>
|
||
<div>
|
||
Rank: Commanders rank up for accomplishing missions in a satisfactory way and for taking care of
|
||
those who serve alongside them.
|
||
</div>
|
||
<span> CP: <input type="number" name="attr_archetype_cp" class="digit" value="0"> / <input type="number" name="attr_archetype_cp_max" class="digit" value="0"> </span>
|
||
|
||
<span> Special Rules </span>
|
||
<input type="hidden" name="attr_archetype_rank" class="archetype-rank-select"></span>
|
||
<div class="archetype-rank-1">
|
||
R-1 : Counts PL as 1 higher when selecting and customizing vehicles that have a Comms Suite or
|
||
Satellite Uplink.
|
||
</div>
|
||
<div class="archetype-rank-2">
|
||
R-2 : The Commander can affect up to 3 recipients with an order without increasing Dif.
|
||
</div>
|
||
<div class="archetype-rank-3">
|
||
R-3 : Attempts to Jam the Commander suffer TP:1
|
||
</div>
|
||
<div class="archetype-rank-4">
|
||
R-4 : The Commander treats Influence and Tactics as a single domain when issuing orders for
|
||
purposes of domain bonuses
|
||
</div>
|
||
<div class="archetype-rank-5">
|
||
R-5 : Drop Dif of all orders by 1.
|
||
</div>
|
||
<div class="archetype-rank-6">
|
||
R-6 : The Commander may issue orders during another actor’s activation.
|
||
</div>
|
||
<Span>Orders: </Span>
|
||
<div class="archetype-rank-1">
|
||
<span><span name="attr_commander_order_0"> </span>
|
||
(Diff: <span name="attr_commander_order_0_diff"> </span>)
|
||
<input type="checkbox" name="attr_commander_order_0_hide" class="sheet-toggle-show-span" checked>
|
||
<span class="sheet-body">
|
||
<input type="text" name="attr_commander_order_0">
|
||
<input type="number" name="attr_commander_order_0_diff" class="digit" value="0">
|
||
<textarea class="inputarea" name="attr_commander_order_0_desc"></textarea>
|
||
</span>
|
||
</div>
|
||
<div class="archetype-rank-1">
|
||
<span><span name="attr_commander_order_1"> </span>
|
||
(Diff: <span name="attr_commander_order_1_diff"> </span>)
|
||
<input type="checkbox" name="attr_commander_order_1_hide" class="sheet-toggle-show-span" checked>
|
||
<span class="sheet-body">
|
||
<input type="text" name="attr_commander_order_1">
|
||
<input type="number" name="attr_commander_order_1_diff" class="digit" value="0">
|
||
<textarea class="inputarea" name="attr_commander_order_1_desc"></textarea>
|
||
</span>
|
||
</div>
|
||
<div class="archetype-rank-2">
|
||
<span><span name="attr_commander_order_2"> </span>
|
||
(Diff: <span name="attr_commander_order_2_diff"> </span>)
|
||
<input type="checkbox" name="attr_commander_order_2_hide" class="sheet-toggle-show-span" checked>
|
||
<span class="sheet-body">
|
||
<input type="text" name="attr_commander_order_2">
|
||
<input type="number" name="attr_commander_order_2_diff" class="digit" value="0">
|
||
<textarea class="inputarea" name="attr_commander_order_2_desc"></textarea>
|
||
</span>
|
||
</div>
|
||
<div class="archetype-rank-3">
|
||
<span><span name="attr_commander_order_3"> </span>
|
||
(Diff: <span name="attr_commander_order_3_diff"> </span>)
|
||
<input type="checkbox" name="attr_commander_order_3_hide" class="sheet-toggle-show-span" checked>
|
||
<span class="sheet-body">
|
||
<input type="text" name="attr_commander_order_3">
|
||
<input type="number" name="attr_commander_order_3_diff" class="digit" value="0">
|
||
<textarea class="inputarea" name="attr_commander_order_3_desc"></textarea>
|
||
</span>
|
||
</div>
|
||
<div class="archetype-rank-4">
|
||
<span><span name="attr_commander_order_4"> </span>
|
||
(Diff: <span name="attr_commander_order_4_diff"> </span>)
|
||
<input type="checkbox" name="attr_commander_order_4_hide" class="sheet-toggle-show-span" checked>
|
||
<span class="sheet-body">
|
||
<input type="text" name="attr_commander_order_4">
|
||
<input type="number" name="attr_commander_order_4_diff" class="digit" value="0">
|
||
<textarea class="inputarea" name="attr_commander_order_4_desc"></textarea>
|
||
</span>
|
||
</div>
|
||
<div class="archetype-rank-5">
|
||
<span><span name="attr_commander_order_5"> </span>
|
||
(Diff: <span name="attr_commander_order_5_diff"> </span>)
|
||
<input type="checkbox" name="attr_commander_order_5_hide" class="sheet-toggle-show-span" checked>
|
||
<span class="sheet-body">
|
||
<input type="text" name="attr_commander_order_5">
|
||
<input type="number" name="attr_commander_order_5_diff" class="digit" value="0">
|
||
<textarea class="inputarea" name="attr_commander_order_5_desc"></textarea>
|
||
</span>
|
||
</div>
|
||
<div class="archetype-rank-6">
|
||
<span><span name="attr_commander_order_6"> </span>
|
||
(Diff: <span name="attr_commander_order_6_diff"> </span>)
|
||
<input type="checkbox" name="attr_commander_order_6_hide" class="sheet-toggle-show-span" checked>
|
||
<span class="sheet-body">
|
||
<input type="text" name="attr_commander_order_6">
|
||
<input type="number" name="attr_commander_order_6_diff" class="digit" value="0">
|
||
<textarea class="inputarea" name="attr_commander_order_6_desc"></textarea>
|
||
</span>
|
||
</div>
|
||
</div>
|
||
<div class="archetype-duelist">
|
||
<span> Duelist </span>
|
||
<div>Equipment: Southern duelists traditionally carry a rapier. Other factions may have a certain
|
||
melee weapon traditional for dueling or dueling pistol.
|
||
</div>
|
||
<div>
|
||
Rank: Duelists rank up by defeating significant opponents and performing showy and often
|
||
impressive feats of piloting and skill.
|
||
</div>
|
||
<div>
|
||
Momentum: <input type="number" name="attr_duelist_momentum" class="digit" value="0"> / <input type="number" name="attr_duelist_momentum_max" class="digit" value="0">
|
||
</div>
|
||
<span> Special Rules </span>
|
||
<input type="hidden" name="attr_archetype_rank" class="archetype-rank-select"></span>
|
||
<div class="archetype-rank-1">
|
||
R-1 : Select 1 Special Move, this Special Move may be performed any number of times during an
|
||
activation. The Duelist may change the selected move each time they rank up or as an
|
||
intermission action.
|
||
</div>
|
||
<input type="text" name="attr_duelist_special_move">
|
||
<div class="archetype-rank-2">
|
||
R-2 : Attempts to prevent the Duelist from leaving an enemy’s melee range automatically fail.
|
||
</div>
|
||
<div class="archetype-rank-3">
|
||
R-3 : The Duelist may increase the cost of Special Moves to reduce the penalty imposed for
|
||
taking multiple actions in a single activation at a rate of 1 Momentum per 1d6 of penalty. This
|
||
may be done multiple times and on multiple Special Moves during the same Activation
|
||
</div>
|
||
<div class="archetype-rank-4">
|
||
R-4 : The Duelist may spend 1 Momentum during their Activation to allow 1 friendly actor to
|
||
reroll any single skill test. The reroll expires at the end of the scene if it is not used
|
||
</div>
|
||
<div class="archetype-rank-5">
|
||
R-5 : The Duelist can make a single melee attack as a free action during their Activation
|
||
</div>
|
||
<div class="archetype-rank-6">
|
||
R-6 : When resisting melee attacks, instead of simply resisting, the Duelist may declare it a
|
||
Riposte with one of their melee weapons. If the Duelist wins the roll, inflict damage as if it
|
||
was an attack using the Duelist’s MoS. The original aggressor still wins ties
|
||
</div>
|
||
</div>
|
||
<div class="archetype-fixer">
|
||
<span> Display Fixer </span>
|
||
<div>Equipment: The Fixer may select up to 2 total burden of items to count as archetype equipment.
|
||
<textarea class="inputarea" name="attr_fixer_equipment"></textarea>
|
||
</div>
|
||
<div>
|
||
Rank: Fixers rank up for any actions that advance the story or help the team’s mission succeed
|
||
</div>
|
||
<span> Luck: <input type="number" name="attr_fixer_luck" class="digit" value="0"> / <input type="number" name="attr_fixer_luck_max" class="digit" value="0"></span>
|
||
<span> Special Rules </span>
|
||
<input type="hidden" name="attr_archetype_rank" class="archetype-rank-select"></span>
|
||
<div class="archetype-rank-1">
|
||
R-1 : At the start of each session, the Fixer gains a pool of Luck dice they can add to any
|
||
skill test. This is determined before rolling. Any dice added to a roll are lost. They may add
|
||
all dice at once, or one at a time. Either way, unspent dice are lost and the pool refills each
|
||
session
|
||
</div>
|
||
<div class="archetype-rank-2">
|
||
R-2 : The Fixer may choose to mark one XP on a skill each session whether they used the skill or
|
||
not. This takes the place of the usual XP they would be allowed to gain for that skill.
|
||
</div>
|
||
<div class="archetype-rank-3">
|
||
R-3 : Once per mission, when selecting a vehicle or a piece of equipment needed for that task,
|
||
the character can select a piece that is one priority level higher than normal. At Director
|
||
discretion, this can be used to get PL 1 equipment from a faction the character has priority
|
||
level 0 with
|
||
</div>
|
||
<div class="archetype-rank-4">
|
||
R-4 : The Fixer gains an additional intermission action that can be used for one of the
|
||
following actions: Collect Intel, Develop Contacts, Acquire, Get into Trouble, or Special. This
|
||
action can only take effect if the Director determines there is enough time for the action to
|
||
take place.
|
||
</div>
|
||
<div class="archetype-rank-5">
|
||
R-5 : Once per session, when a non-attack skill test fails by MoF no greater than 2, the Fixer
|
||
can take a -1d6 Shell Shock damage result to have the roll count as an MoS: 0 instead. This
|
||
action counts as a reroll for the purposes of rerolls
|
||
</div>
|
||
<div class="archetype-rank-6">
|
||
R-6 : Once per session, the Fixer can add a specific fact to the results of one roll. They could
|
||
use this to specify an interesting detail about an attack, protect themselves from a specific
|
||
consequence, or turn the tables unexpectedly by having information that can be used to blackmail
|
||
an antagonist in their gear’s databanks. This could be used for something as simple as saying
|
||
the Fixer has a piece of gear they forgot to bring, to something more complex like “even though
|
||
I failed to talk my way out of getting arrested, my scenario was sympathetic enough that one of
|
||
the police will contact my friends”. The fact has to fit the story and the Director is allowed
|
||
veto over absurd or destructive requests, but otherwise it is the Fixer’s choice.
|
||
</div>
|
||
</div>
|
||
<div class="archetype-grunt">
|
||
<span> Display Grunt </span>
|
||
<div>Equipment: A single weapon and suit of armor: <input type="text" name="attr_grunt_equipment">
|
||
</div>
|
||
<div>
|
||
Rank: Grunts rank up for performing significant acts of individual bravery, endurance, or skill.
|
||
</div>
|
||
<span>Grunt Special Rules</span>
|
||
<input type="hidden" name="attr_archetype_rank" class="archetype-rank-select"></span>
|
||
<div class="archetype-rank-1">
|
||
R-1
|
||
<select name="attr_grunt_select_1">
|
||
<option value=" "></option>
|
||
<option value="ranged">Ranged</option>
|
||
<option value="melee">Melee</option>
|
||
<option value="endurance">Endurance</option>
|
||
<option value="brute">Brute</option>
|
||
</select>
|
||
<input type="number" name="attr_grunt_lvl_1" class="digit" value="0" min="0" max="1">
|
||
<input type="checkbox" name="attr_grunt_1_hide" class="sheet-toggle-show">
|
||
</div>
|
||
<div>
|
||
<input type="checkbox" name="attr_grunt_1_hide" class="sheet-toggle-show" hidden>
|
||
<div class="sheet-body">
|
||
<span name="attr_grunt_lvl_1_desc"></span>
|
||
</div>
|
||
</div>
|
||
<div class="archetype-rank-2">
|
||
R-2
|
||
<select name="attr_grunt_select_2">
|
||
<option value=" "></option>
|
||
<option value="ranged">Ranged</option>
|
||
<option value="melee">Melee</option>
|
||
<option value="endurance">Endurance</option>
|
||
<option value="brute">Brute</option>
|
||
</select>
|
||
<input type="number" name="attr_grunt_lvl_2" class="digit" value="0" min="0" max="2">
|
||
<input type="checkbox" name="attr_grunt_2_hide" class="sheet-toggle-show">
|
||
</div>
|
||
<div>
|
||
<input type="checkbox" name="attr_grunt_2_hide" class="sheet-toggle-show" hidden>
|
||
<span class="sheet-body">
|
||
<span name="attr_grunt_lvl_2_desc"></span>
|
||
</span>
|
||
</div>
|
||
<div class="archetype-rank-3">
|
||
R-3
|
||
<select name="attr_grunt_select_3">
|
||
<option value=" "></option>
|
||
<option value="ranged">Ranged</option>
|
||
<option value="melee">Melee</option>
|
||
<option value="endurance">Endurance</option>
|
||
<option value="brute">Brute</option>
|
||
</select>
|
||
<input type="number" name="attr_grunt_lvl_3" class="digit" value="0" min="0" max="3">
|
||
<input type="checkbox" name="attr_grunt_3_hide" class="sheet-toggle-show">
|
||
</div>
|
||
<div>
|
||
<input type="checkbox" name="attr_grunt_3_hide" class="sheet-toggle-show" hidden>
|
||
<span class="sheet-body">
|
||
<span name="attr_grunt_lvl_3_desc"></span>
|
||
</span>
|
||
</div>
|
||
<div class="archetype-rank-4">
|
||
R-4
|
||
<select name="attr_grunt_select_4">
|
||
<option value=" "></option>
|
||
<option value="ranged">Ranged</option>
|
||
<option value="melee">Melee</option>
|
||
<option value="endurance">Endurance</option>
|
||
<option value="brute">Brute</option>
|
||
</select>
|
||
<input type="number" name="attr_grunt_lvl_4" class="digit" value="0" min="0" max="4">
|
||
<input type="checkbox" name="attr_grunt_4_hide" class="sheet-toggle-show">
|
||
</div>
|
||
<div>
|
||
<input type="checkbox" name="attr_grunt_4_hide" class="sheet-toggle-show" hidden>
|
||
<span class="sheet-body">
|
||
<span name="attr_grunt_lvl_4_desc"></span>
|
||
</span>
|
||
</div>
|
||
<div class="archetype-rank-5">
|
||
R-5
|
||
<select name="attr_grunt_select_5">
|
||
<option value=" "></option>
|
||
<option value="ranged">Ranged</option>
|
||
<option value="melee">Melee</option>
|
||
<option value="endurance">Endurance</option>
|
||
<option value="brute">Brute</option>
|
||
</select>
|
||
<input type="number" name="attr_grunt_lvl_5" class="digit" value="0" min="0" max="5">
|
||
<input type="checkbox" name="attr_grunt_5_hide" class="sheet-toggle-show">
|
||
</div>
|
||
<div>
|
||
<span class="sheet-body">
|
||
<span name="attr_grunt_lvl_5_desc"></span>
|
||
</span>
|
||
</div>
|
||
<div class="archetype-rank-6">
|
||
R-6
|
||
<select name="attr_grunt_select_6">
|
||
<option value=" "></option>
|
||
<option value="ranged">Ranged</option>
|
||
<option value="melee">Melee</option>
|
||
<option value="endurance">Endurance</option>
|
||
<option value="brute">Brute</option>
|
||
</select>
|
||
<input type="number" name="attr_grunt_lvl_6" class="digit" value="0" min="0" max="6">
|
||
<input type="checkbox" name="attr_grunt_6_hide" class="sheet-toggle-show">
|
||
</div>
|
||
<div>
|
||
<span class="sheet-body">
|
||
<span name="attr_grunt_lvl_6_desc"></span>
|
||
</span>
|
||
</div>
|
||
</div>
|
||
<div class="archetype-pilot">
|
||
<span> Display Pilot </span>
|
||
<div>Equipment: Pilot Suit.
|
||
</div>
|
||
<div>
|
||
Rank: Pilots rank up for performing significant acts of skill or valor.
|
||
</div>
|
||
<span> Special Rules </span>
|
||
<input type="hidden" name="attr_archetype_rank" class="archetype-rank-select"></span>
|
||
<div class="archetype-rank-1">
|
||
R-1 : The Pilot must select an actor type from the following list; Gear, Strider, Vehicle,
|
||
Aircraft or Drone. This is their specialization. Pilot archetype effects only apply when the
|
||
Pilot is using that type of vehicle unless otherwise stated. The Pilot can perform a Patch
|
||
action once per scene on the vehicle they are piloting. This Patch only ever patches 1d6 worth
|
||
of penalty of the Pilot’s choice and is a free action.
|
||
</div>
|
||
<input type="text" name="attr_pilot_selection">
|
||
<div class="archetype-rank-2">
|
||
R-2 : The first Reload or Ram actions during the Pilot’s activation is a free action.
|
||
</div>
|
||
<div class="archetype-rank-3">
|
||
R-3 : The Pilot may select either of two effects whenever their vehicle recieves maintenance,
|
||
only one is active at a time. Increase the maximum and optimal range of all ranged weapons by
|
||
10m (1in) of the vehicle the pilot is piloting for every full 120m (12in) of maximum range, or
|
||
increase the MR of the vehicle the Pilot is piloting by 1. Increase this by an additional 1 for
|
||
every full 8 of MR.
|
||
</div>
|
||
<div class="archetype-rank-4">
|
||
R-4 : The pilot can use Focus as a free action and does not spend an action point to do so
|
||
</div>
|
||
<div class="archetype-rank-5">
|
||
R-5 : Once per Activation when attacking a target the Pilot can make an additional attack
|
||
against the same target as a free action.
|
||
</div>
|
||
<div class="archetype-rank-6">
|
||
R-6 : The Pilot may select either of the two following effects. The Pilot gains 1 action point
|
||
while piloting their chosen vehicle type, or the Pilot can select 1 additional actor type for
|
||
their vehicle specialization. All Pilot rank effects apply when using either of the selected
|
||
actor types.
|
||
</div>
|
||
<div class="archetype-rank-6">
|
||
<input type="text" name="attr_pilot_selection_2">
|
||
</div>
|
||
|
||
</div>
|
||
<div class="archetype-scout">
|
||
<span> Display Scout </span>
|
||
<div>Equipment: Stealth Suit or Scout Rig
|
||
</div>
|
||
<div>
|
||
Rank: Scouts rank up via achieving mission objectives or removing high value targets.
|
||
</div>
|
||
<span> Special Rules </span>
|
||
<input type="hidden" name="attr_archetype_rank" class="archetype-rank-select"></span>
|
||
<div class="archetype-rank-1">
|
||
R-1
|
||
<select name="attr_scout_select_1">
|
||
<option value=" "></option>
|
||
<option value="pathfinder">Pathfinder</option>
|
||
<option value="sniper">Sniper</option>
|
||
<option value="guerrilla">Guerrilla</option>
|
||
</select>
|
||
<input type="number" name="attr_scout_lvl_1" class="digit" value="0" min="0" max="1">
|
||
<input type="checkbox" name="attr_scout_1_hide" class="sheet-toggle-show">
|
||
</div>
|
||
<div>
|
||
<input type="checkbox" name="attr_scout_1_hide" class="sheet-toggle-show" hidden>
|
||
<div class="sheet-body">
|
||
<span name="attr_scout_lvl_1_desc"></span>
|
||
</div>
|
||
</div>
|
||
<div class="archetype-rank-2">
|
||
R-2
|
||
<select name="attr_scout_select_2">
|
||
<option value=" "></option>
|
||
<option value="pathfinder">Pathfinder</option>
|
||
<option value="sniper">Sniper</option>
|
||
<option value="guerrilla">Guerrilla</option>
|
||
</select>
|
||
<input type="number" name="attr_scout_lvl_2" class="digit" value="0" min="0" max="2">
|
||
<input type="checkbox" name="attr_scout_2_hide" class="sheet-toggle-show">
|
||
</div>
|
||
<div>
|
||
<input type="checkbox" name="attr_scout_2_hide" class="sheet-toggle-show" hidden>
|
||
<div class="sheet-body">
|
||
<span name="attr_scout_lvl_2_desc"></span>
|
||
</div>
|
||
</div>
|
||
<div class="archetype-rank-3">
|
||
R-3
|
||
<select name="attr_scout_select_3">
|
||
<option value=" "></option>
|
||
<option value="pathfinder">Pathfinder</option>
|
||
<option value="sniper">Sniper</option>
|
||
<option value="guerrilla">Guerrilla</option>
|
||
</select>
|
||
<input type="number" name="attr_scout_lvl_3" class="digit" value="0" min="0" max="3">
|
||
<input type="checkbox" name="attr_scout_3_hide" class="sheet-toggle-show">
|
||
</div>
|
||
<div>
|
||
<input type="checkbox" name="attr_scout_3_hide" class="sheet-toggle-show" hidden>
|
||
<div class="sheet-body">
|
||
<span name="attr_scout_lvl_3_desc"></span>
|
||
</div>
|
||
</div>
|
||
<div class="archetype-rank-4">
|
||
R-4
|
||
<select name="attr_scout_select_4">
|
||
<option value=" "></option>
|
||
<option value="pathfinder">Pathfinder</option>
|
||
<option value="sniper">Sniper</option>
|
||
<option value="guerrilla">Guerrilla</option>
|
||
</select>
|
||
<input type="number" name="attr_scout_lvl_4" class="digit" value="0" min="0" max="4">
|
||
<input type="checkbox" name="attr_scout_4_hide" class="sheet-toggle-show">
|
||
</div>
|
||
<div>
|
||
<input type="checkbox" name="attr_scout_4_hide" class="sheet-toggle-show" hidden>
|
||
<span class="sheet-body">
|
||
<span name="attr_scout_lvl_4_desc"></span>
|
||
</span>
|
||
</div>
|
||
<div class="archetype-rank-5">
|
||
R-5
|
||
<select name="attr_scout_select_5">
|
||
<option value=" "></option>
|
||
<option value="pathfinder">Pathfinder</option>
|
||
<option value="sniper">Sniper</option>
|
||
<option value="guerrilla">Guerrilla</option>
|
||
</select>
|
||
<input type="number" name="attr_scout_lvl_5" class="digit" value="0" min="0" max="5">
|
||
<input type="checkbox" name="attr_scout_5_hide" class="sheet-toggle-show">
|
||
</div>
|
||
<div>
|
||
<input type="checkbox" name="attr_scout_5_hide" class="sheet-toggle-show" hidden>
|
||
<span class="sheet-body">
|
||
<span name="attr_scout_lvl_5_desc"></span>
|
||
</span>
|
||
</div>
|
||
<div class="archetype-rank-6">
|
||
R-6
|
||
<select name="attr_scout_select_6">
|
||
<option value=" "></option>
|
||
<option value="pathfinder">Pathfinder</option>
|
||
<option value="sniper">Sniper</option>
|
||
<option value="guerrilla">Guerrilla</option>
|
||
</select>
|
||
<input type="number" name="attr_scout_lvl_6" class="digit" value="0" min="0" max="6">
|
||
<input type="checkbox" name="attr_scout_6_hide" class="sheet-toggle-show">
|
||
</div>
|
||
<div>
|
||
<input type="checkbox" name="attr_scout_6_hide" class="sheet-toggle-show" hidden>
|
||
<span class="sheet-body">
|
||
<span name="attr_scout_lvl_6_desc"></span>
|
||
</div>
|
||
|
||
</div>
|
||
<div class="archetype-techie">
|
||
<span> Display Techie </span>
|
||
<div>Equipment: Skill set appropriate Rig or Kit.
|
||
</div>
|
||
<div>
|
||
Rank: Techies rank up as they perform great feats of engineering and technical prowess.
|
||
</div>
|
||
<span>Enhancement: <input type="number" name="attr_techie_enhancement" class="digit" value="0"> /
|
||
<input type="number" name="attr_techie_enhancement_max" class="digit" value="0"></span>
|
||
<span> Special Rules </span>
|
||
<input type="hidden" name="attr_archetype_rank" class="archetype-rank-select"></span>
|
||
<div class="archetype-rank-1">
|
||
R-1: May select 1 Techie Specialization.
|
||
<input type="text" name="attr_techie_specialization">
|
||
</div>
|
||
<div class="archetype-rank-2">
|
||
R-2: Reduce repair time of equipment by half if Equipment is under the Techie Specialization.
|
||
</div>
|
||
<div class="archetype-rank-3">
|
||
R-3: Treat the Threshold Number of a roll as 1 better for the purposes of returning
|
||
Enhancement Dice to the pool.
|
||
</div>
|
||
<div class="archetype-rank-4">
|
||
R-4: If three or more of the Enhancement Dice equal or exceed the Threshold Number for the
|
||
roll, improve the MoS/MoF by 1
|
||
</div>
|
||
<div class="archetype-rank-5">
|
||
R-5: 1 failed Enhancement Die per roll can be returned to the Enhancement Dice Pool
|
||
</div>
|
||
<div class="archetype-rank-6">
|
||
R-6 : If all Enhancement Dice used on a roll equal or exceed the Threshold Number for the
|
||
roll, improve the MoS/MoF by 1 per Enhancement Die. If this Effect is used, do not apply the
|
||
R-4 Effect to the roll.
|
||
</div>
|
||
</div>
|
||
<div class="archetype-default">
|
||
<div>Equipment:<input type="text" name="attr_archetype_equipment"> </div>
|
||
<div>
|
||
Resource:<input type="text" class="infoused" name="attr_archetype_resource_name">
|
||
<input type="number" name="attr_archetype_resource" value="0">/<input type="number" name="attr_archetype_resource_max" value="0"> Regain <input type="text" name="attr_archetype_resource_regain">
|
||
</div>
|
||
Rules:<fieldset class="repeating_archetype-rules">
|
||
<input type="text" name="attr_archetype_rules_level">
|
||
Info: <input type="checkbox" name="attr_archetype_rules" class="sheet-toggle-show">
|
||
<div class="sheet-body">
|
||
<textarea class="inputarea" name="attr_archetype_rules_effect"></textarea>
|
||
</div>
|
||
</fieldset>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
</div>
|
||
<div class="" id="gear4">
|
||
|
||
<div class="infobox" id="gear4misc">
|
||
<h3>Misc </h3>
|
||
<textarea class="inputarea" name="attr_gear_desc"></textarea>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="sheet-npcgear">
|
||
<div class="background">
|
||
<div class="char-image">
|
||
<img class="portrait" name="attr_character_avatar">
|
||
<div>
|
||
|
||
</div>
|
||
</div>
|
||
<div> Vehicle Name:<input type="text" name="attr_character_name">
|
||
Type:<input type="text" name="attr_gear_actor_type">
|
||
TV <input type="number" name="attr_gear_tv" value="0">
|
||
Crew: <input type="number" name="attr_gear_crew" value="1">
|
||
HT <input type="number" name="attr_gear_height" step=".5" value="0">in
|
||
MR:<input type="text" name="attr_gear_mr" class="em13">
|
||
Armour <input type="number" name="attr_gear_arm" value="0">
|
||
HI :<input type="number" name="attr_gear_hi_max" value="0">
|
||
</div>
|
||
|
||
</div>
|
||
<div class="background">
|
||
<div class="infobox">
|
||
<span>GU:
|
||
<input type="number" name="attr_gear_gunnery_base" class="digit" value="0">
|
||
Bonus: <input type="number" name="attr_gear_gunnery_bonus" class="digit" value="0">
|
||
Total TN:<span type="number" name="attr_gear_gunnery" class="digit"></span>
|
||
</span>
|
||
|
||
<span>Skill <input type="number" name="attr_gear_gunnery_skill" class="digit" value="2">
|
||
Expertise: <input type="number" name="attr_gear_gunnery_expertise" class="digit" value="0" min="0" max="3">
|
||
<button type="action" name="act_geartumble_gunnery">Roll</button></span>
|
||
</div>
|
||
<div class="infobox">
|
||
<span>PI: <input type="number" name="attr_gear_pilot_base" class="digit" value="0">
|
||
Bonus <input type="number" name="attr_gear_pilot_bonus" class="digit" value="0">
|
||
Total TN: <span type="number" name="attr_gear_pilot" class="digit"> </span>
|
||
</span>
|
||
<span>Skill <input type="number" name="attr_gear_pilot_skill" class="digit" value="2">
|
||
Expertise: <input type="number" name="attr_gear_pilot_expertise" class="digit" value="0" min="0" max="3">
|
||
<button type="action" name="act_geartumble_pilot">Roll</button> </span>
|
||
</div>
|
||
<div class="infobox">
|
||
<span>EW: <input type="number" name="attr_gear_electronicwarfare_base" class="digit" value="0">
|
||
Bonus <input type="number" name="attr_gear_electronicwarfare_bonus" class="digit" value="0">
|
||
Total TN: <span type="number" name="attr_gear_electronicwarfare" class="digit"></span>
|
||
</span>
|
||
<span>Skill <input type="number" name="attr_gear_electronicwarfare_skill" class="digit" value="2">
|
||
Expertise: <input type="number" name="attr_gear_electronicwarfare_expertise" class="digit" value="0" min="0" max="3">
|
||
<button type="action" name="act_geartumble_electronicwarfare">Roll</button>
|
||
</span>
|
||
</div>
|
||
|
||
|
||
</div>
|
||
<div class="attributes">
|
||
<div class="damage-box" id="gear2damage">
|
||
<div class="">
|
||
<h3>Posture</h3>
|
||
<select name="attr_posture">
|
||
<option value="stationary">Stationary</option>
|
||
<option value="braced">Braced</option>
|
||
<option value="dug_in">-> Dug In</option>
|
||
<option value="standard" selected>Standard</option>
|
||
<option value="cautious_move">-> Cautious Move</option>
|
||
<option value="all_out">All Out</option>
|
||
<option value="top_speed">-> Top Speed</option>
|
||
</select>
|
||
<button type="action" name="act_initiative_start">Initiative</button>
|
||
: <input type="number" name="attr_initiative" value="0" min="0" class="digit">
|
||
<p>AP:<input type="number" name="attr_action_points" value="1" min="0" class="digit">/
|
||
<input type="number" name="attr_action_points_max" value="1" min="0" class="digit">
|
||
</p>
|
||
|
||
<button type="action" name="act_round_start">Start Round</button>
|
||
|
||
<p>
|
||
Declare Actions:<select name="attr_action_penalty">
|
||
<option value="0">0</option>
|
||
<option value="1" selected>1</option>
|
||
<option value="2">2</option>
|
||
<option value="3">3</option>
|
||
<option value="4">4</option>
|
||
</select>
|
||
</p>
|
||
<button type="action" name="act_activation_start">Start Activation</button>
|
||
</div>
|
||
<h3> Damage results </h3>
|
||
<span>Hull Integrity(<span type="number" name="attr_gear_hi"></span>/<span type="number" name="attr_gear_hi_max"></span>) </span>
|
||
<div>
|
||
<fieldset class="repeating_gear-damage">
|
||
<span> <input type="text" class="infoused" name="attr_gear_damage_name">
|
||
-<input type="number" class="digit" name="attr_gear_damage_level" value="0" min="0" style="width: 2em;">d6
|
||
<input type="checkbox" name="attr_gear_damage_info" class="sheet-toggle-show" />
|
||
<div class="sheet-body">
|
||
Hull Integrity Damage:<input type="checkbox" name="attr_gear_damage_integrity" value="1" checked>
|
||
Effect:<textarea class="inputarea" name="attr_gear_damage_effect"></textarea>
|
||
Deterioration:<textarea class="inputarea" name="attr_gear_damage_deterioration"></textarea>
|
||
Fix:<textarea class="inputarea" name="attr_gear_damage_fix"></textarea>
|
||
</div>
|
||
</span>
|
||
</fieldset>
|
||
<span>Add Damage type: <select name="attr_npcgear_damage_type_add">
|
||
<option disabled style="font-weight: bold;"> VEHICLE DAMAGE RESULTS </option>
|
||
<option value="Catastrophic Limb Damage">Catastrophic Limb Damage</option>
|
||
<option value="Catastrophic System Damage">Catastrophic System Damage</option>
|
||
<option value="Drive System Crippled">Drive System Crippled</option>
|
||
<option value="Drive System Damaged">Drive System Damaged</option>
|
||
<option value="Engine Hit">Engine Hit</option>
|
||
<option value="Hull Breach">Hull Breach</option>
|
||
<option value="It's Gonna Blow">It's Gonna Blow</option>
|
||
<option value="Jammed">Jammed</option>
|
||
<option value="Knocked Down">Knocked Down</option>
|
||
<option value="Major Limb Damage">Major Limb Damage</option>
|
||
<option value="Major System Damage">Major System Damage</option>
|
||
<option value="Major Weapon Destroyed">Major Weapon Destroyed</option>
|
||
<option value="Minor Limb Damage">Minor Limb Damage</option>
|
||
<option value="Minor System Damage">Minor System Damage</option>
|
||
<option value="Minor Weapon Destroyed">Minor Weapon Destroyed</option>
|
||
<option value="On Fire (Vehicle)">On Fire (Vehicle)</option>
|
||
<option value="Secondary Explosion">Secondary Explosion</option>
|
||
<option value="Sensor Malfunction">Sensor Malfunction</option>
|
||
<option value="Unstable">Unstable</option>
|
||
<option disabled style="font-weight: bold;"> DAMAGE RESULTS </option>
|
||
<option value="Anger">Anger</option>
|
||
<option value="Bleeding">Bleeding</option>
|
||
<option value="Blinded">Blinded</option>
|
||
<option value="Brain Injury">Brain Injury</option>
|
||
<option value="Burned">Burned</option>
|
||
<option value="Combat Fatigue">Combat Fatigue</option>
|
||
<option value="Concussion">Concussion</option>
|
||
<option value="Deafened">Deafened</option>
|
||
<option value="Dehydrated">Dehydrated</option>
|
||
<option value="Encumbered">Encumbered</option>
|
||
<option value="Fear">Fear</option>
|
||
<option value="Fractured/Broken Bones">Fractured/Broken Bones</option>
|
||
<option value="Frozen">Frozen</option>
|
||
<option value="Guilt">Guilt</option>
|
||
<option value="Hallucinations">Hallucinations</option>
|
||
<option value="Internal Bleeding">Internal Bleeding</option>
|
||
<option value="Intoxicated">Intoxicated</option>
|
||
<option value="Knocked Out">Knocked Out</option>
|
||
<option value="Limb Crippled">Limb Crippled</option>
|
||
<option value="On Fire">On Fire</option>
|
||
<option value="Rattled">Rattled</option>
|
||
<option value="Paranoid">Paranoid</option>
|
||
<option value="Poisoned">Poisoned</option>
|
||
<option value="Prone">Prone</option>
|
||
<option value="Ruptured Organ">Ruptured Organ</option>
|
||
<option value="Shock">Shock</option>
|
||
<option value="Slowed">Slowed</option>
|
||
<option value="Snapped">Snapped</option>
|
||
<option value="Starving">Starving</option>
|
||
<option value="Stunned">Stunned</option>
|
||
<option value="The Shakes">The Shakes</option>
|
||
<option value="Terrified">Terrified</option>
|
||
<option value="Wounded">Wounded</option>
|
||
|
||
</select> lv: <input type="number" name="attr_npcgear_damage_lvl" class="digit" min="0" value="0">
|
||
<button type="action" name="act_npcgear_damage_stat">Add New Damage</button> </span>
|
||
</div>
|
||
<h4>Gear Damage Notes</h4> <textarea class="inputarea" name="attr_gear_damage_desc" rows="3"></textarea>
|
||
</div>
|
||
<div>
|
||
<div class="infobox" id="gear2weapons">
|
||
<h3> Weapon Systems </h3>
|
||
<div class="gearweapon-rep">
|
||
<h4>Bonus Dice: <input type="number" name="attr_bonus_dice" value="0">
|
||
TN: <input type="number" name="attr_tn" value="5">
|
||
Reliable: <input type="number" name="attr_reliable" value="0">
|
||
<select name="attr_whisper">
|
||
<option value=" " selected>Public</option>
|
||
<option value="/w gm ">Whisper</option>
|
||
</select>
|
||
Blitz:<input type="checkbox" name="attr_blitz_check" class="blitz-check" value="1">
|
||
|
||
</h4>
|
||
|
||
<fieldset class="repeating_gearweapon">
|
||
<input type="checkbox" name="attr_gear_weapon_initalised" value="1" hidden>
|
||
<span type="text" name="attr_gear_weapon_size"></span>
|
||
<span type="text" name="attr_gear_weapon_type"></span>
|
||
<button type="action" name="act_tumble"> roll</button>
|
||
<input type="number" name="attr_gear_weapon_domain" value="1" hidden>
|
||
|
||
Dam:<span type="number" name="attr_gear_weapon_damage"></span>
|
||
R:<input type="checkbox" name="attr_gear_weapon_blitz_check" class="blitz-check" value="1" hidden>
|
||
<span class="no-blitz">
|
||
<span type="text" name="attr_gear_weapon_range"></span>
|
||
</span>
|
||
<span class="blitz">
|
||
<span type="text" name="attr_gear_weapon_blitz_range"></span>
|
||
</span>
|
||
|
||
Traits:
|
||
<input type="checkbox" name="attr_gear_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
Mode: (<input type="radio" value="2" name="attr_gear_weapon_traits_mode_selector" checked>
|
||
|
||
<span type="text" name="attr_gear_weapon_traits_selector_2"></span>
|
||
<input type="radio" value="3" name="attr_gear_weapon_traits_mode_selector">
|
||
<span type="text" name="attr_gear_weapon_traits_selector_3"></span>)
|
||
<input type="number" name="attr_gear_weapon_traits_mode_selector" value="0" hidden>
|
||
</span>
|
||
<span type="text" name="attr_gear_weapon_traits"></span>
|
||
<span type="text" name="attr_gear_weapon_traits_other"></span>
|
||
|
||
<input class="sheet-ammunition-show" type="checkbox" name="attr_gear_weapon_ammunition_show" value="1" hidden />
|
||
<span class="ammo-box">
|
||
<input type="number" class="digit" name="attr_gear_weapon_ammo" value="0">/
|
||
<span class="max-ammo" type="number" name="attr_gear_weapon_ammo_max" value="0"></span>
|
||
</span>
|
||
i:<input type="checkbox" name="attr_gear_weapon_info" class="sheet-toggle-show" />
|
||
|
||
<div class="sheet-body">
|
||
Size:<select name="attr_gear_weapon_size">
|
||
<option value="Light">Light</option>
|
||
<option value="Medium">Medium</option>
|
||
<option value="Heavy">Heavy</option>
|
||
<option value=" ">None</option>
|
||
</select>
|
||
Type: <input type="text" name="attr_gear_weapon_type" value="Weapon">
|
||
Code <input type="text" name="attr_gear_weapon_code" class="em8">
|
||
|
||
<span class="pull-right">
|
||
Ammo: <input type="number" name="attr_gear_weapon_ammo_max" value="0">
|
||
</span>
|
||
<div>
|
||
<select name="attr_gear_weapon_domain">
|
||
<option value="1">Athletics <span></span> </option>
|
||
<option value="2">Awareness</option>
|
||
<option value="3">Business</option>
|
||
<option value="4">Craft</option>
|
||
<option value="5">Culture</option>
|
||
<option value="6">Electronic Warfare</option>
|
||
<option value="7">Electronics</option>
|
||
<option value="8">Gunnery</option>
|
||
<option value="9">Hard Science</option>
|
||
<option value="10">Influence</option>
|
||
<option value="11">Institutions</option>
|
||
<option value="12">Investigation</option>
|
||
<option value="13">Mechanics</option>
|
||
<option value="14">Medicine</option>
|
||
<option value="15">Melee</option>
|
||
<option value="16">Pilot</option>
|
||
<option value="17">Showmanship</option>
|
||
<option value="18">Socialscience</option>
|
||
<option value="19">Survival</option>
|
||
<option value="20">Tactics</option>
|
||
</select>
|
||
|
||
<select name="attr_gear_weapon_gear_domain_tn">
|
||
<option value="1" selected>Gunnery</option>
|
||
<option value="2">Pilot</option>
|
||
<option value="3">Electronic Warfare</option>
|
||
|
||
</select>
|
||
Skill Level:<input type="number" name="attr_gear_skill_level" value="0">
|
||
|
||
(<input type="checkbox" name="attr_gear_weapon_skill_familiar" value="1"> F)
|
||
<div>
|
||
</div>
|
||
|
||
Damage <input type="number" name="attr_gear_weapon_damage" class="digit" value="0">
|
||
<input type="checkbox" name="attr_gear_weapon_damage_show" class="sheet-toggle-show-span" />
|
||
<span class="sheet-body">
|
||
|
||
<input type="number" name="attr_gear_weapon_damage_l" class="digit" value="0">/
|
||
<input type="number" name="attr_gear_weapon_damage_m" class="digit" value="0">/
|
||
<input type="number" name="attr_gear_weapon_damage_h" class="digit" value="0">
|
||
</span>
|
||
|
||
Category <input type="text" name="attr_gear_weapon_catagory" class="em8">
|
||
Range: <input type="text" name="attr_gear_weapon_range" class="em8">-
|
||
<input type="checkbox" name="attr_gear_weapon_blitz_check" class="blitz-check" value="1" hidden>
|
||
<span class="no-blitz">
|
||
<input type="number" name="attr_gear_weapon_range_min" class="" value="0">-
|
||
<input type="number" name="attr_gear_weapon_range_med" class="" value="0">/
|
||
<input type="number" name="attr_gear_weapon_range_max" class="" value="0">m
|
||
</span>
|
||
<span class="blitz">
|
||
Blitz: <input type="number" name="attr_gear_weapon_blitz_range_min" class="" value="0">-
|
||
<input type="number" name="attr_gear_weapon_blitz_range_med" class="" value="0">/
|
||
<input type="number" name="attr_gear_weapon_blitz_range_max" class="" value="0">in
|
||
</span>
|
||
</div>
|
||
|
||
Arc: <select name="attr_gear_weapon_arc">
|
||
<option value="front">Front</option>
|
||
<option value="left">Left</option>
|
||
<option value="right">Right</option>
|
||
<option value="turret">Turret</option>
|
||
</select>
|
||
Traits <input type="text" name="attr_gear_weapon_traits" value="">
|
||
<input type="checkbox" name="attr_gear_weapon_traits_show" class="sheet-toggle-show" />
|
||
<div class="sheet-body">
|
||
<span class="trait-box">
|
||
<span class="trait-item">
|
||
Mode:<input type="checkbox" name="attr_gear_weapon_traits_mode" value="1">
|
||
<input type="checkbox" name="attr_gear_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<span type="text" name="attr_gear_weapon_traits_selector_2"> </span> OR
|
||
<span type="text" name="attr_gear_weapon_traits_selector_3"> </span>
|
||
</span>
|
||
</span>
|
||
|
||
<span class="trait-item">
|
||
Advanced:
|
||
<input type="checkbox" name="attr_gear_weapon_traits_advanced" value="1">
|
||
|
||
<input type="checkbox" name="attr_gear_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_gear_weapon_traits_advanced_selector" checked>|
|
||
<input type="radio" value="2" name="attr_gear_weapon_traits_advanced_selector">
|
||
<input type="radio" value="3" name="attr_gear_weapon_traits_advanced_selector">
|
||
</span></span>
|
||
<span class="trait-item">
|
||
Apex <input type="checkbox" name="attr_gear_weapon_traits_apex" value="1">
|
||
<input type="checkbox" name="attr_gear_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_gear_weapon_traits_apex_selector" checked>|
|
||
<input type="radio" value="2" name="attr_gear_weapon_traits_apex_selector">
|
||
<input type="radio" value="3" name="attr_gear_weapon_traits_apex_selector">
|
||
</span></span>
|
||
<span class="trait-item">
|
||
Attachment <input type="checkbox" name="attr_gear_weapon_traits_attachment" value="1">
|
||
<input type="checkbox" name="attr_gear_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_gear_weapon_traits_attachment_selector" checked>|
|
||
<input type="radio" value="2" name="attr_gear_weapon_traits_attachment_selector">
|
||
<input type="radio" value="3" name="attr_gear_weapon_traits_attachment_selector">
|
||
</span>
|
||
</span>
|
||
<span class="trait-item">
|
||
Auto <input type="checkbox" name="attr_gear_weapon_traits_auto" value="1">
|
||
<input type="checkbox" name="attr_gear_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_gear_weapon_traits_auto_selector" checked>|
|
||
<input type="radio" value="2" name="attr_gear_weapon_traits_auto_selector">
|
||
<input type="radio" value="3" name="attr_gear_weapon_traits_auto_selector">
|
||
</span>
|
||
</span>
|
||
<span class="trait-item">
|
||
Backup <input type="checkbox" name="attr_gear_weapon_traits_backup" value="1">
|
||
<input type="checkbox" name="attr_gear_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_gear_weapon_traits_backup_selector" checked>|
|
||
<input type="radio" value="2" name="attr_gear_weapon_traits_backup_selector">
|
||
<input type="radio" value="3" name="attr_gear_weapon_traits_backup_selector">
|
||
</span>
|
||
</span>
|
||
<span class="trait-item">
|
||
Blast <input type="checkbox" name="attr_gear_weapon_traits_blast" value="1">
|
||
<input type="checkbox" name="attr_gear_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_gear_weapon_traits_blast_selector" checked>|
|
||
<input type="radio" value="2" name="attr_gear_weapon_traits_blast_selector">
|
||
<input type="radio" value="3" name="attr_gear_weapon_traits_blast_selector">
|
||
</span>
|
||
</span>
|
||
<span class="trait-item">
|
||
Bomb <input type="checkbox" name="attr_gear_weapon_traits_bomb" value="1">
|
||
<input type="checkbox" name="attr_gear_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_gear_weapon_traits_bomb_selector" checked>|
|
||
<input type="radio" value="2" name="attr_gear_weapon_traits_bomb_selector">
|
||
<input type="radio" value="3" name="attr_gear_weapon_traits_bomb_selector">
|
||
</span>
|
||
</span>
|
||
<span class="trait-item">
|
||
Brace <input type="checkbox" name="attr_gear_weapon_traits_brace" value="1">
|
||
<input type="checkbox" name="attr_gear_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_gear_weapon_traits_brace_selector" checked>|
|
||
<input type="radio" value="2" name="attr_gear_weapon_traits_brace_selector">
|
||
<input type="radio" value="3" name="attr_gear_weapon_traits_brace_selector">
|
||
</span>
|
||
</span>
|
||
<span class="trait-item">
|
||
Corrosion <input type="checkbox" name="attr_gear_weapon_traits_corrosion" value="1">
|
||
<input type="checkbox" name="attr_gear_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_gear_weapon_traits_corrosion_selector" checked>|
|
||
<input type="radio" value="2" name="attr_gear_weapon_traits_corrosion_selector">
|
||
<input type="radio" value="3" name="attr_gear_weapon_traits_corrosion_selector">
|
||
</span>
|
||
</span>
|
||
<span class="trait-item">
|
||
Flak <input type="checkbox" name="attr_gear_weapon_traits_flak" value="1">
|
||
<input type="checkbox" name="attr_gear_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_gear_weapon_traits_flak_selector" checked>|
|
||
<input type="radio" value="2" name="attr_gear_weapon_traits_flak_selector">
|
||
<input type="radio" value="3" name="attr_gear_weapon_traits_flak_selector">
|
||
</span>
|
||
</span>
|
||
<span class="trait-item">
|
||
Forearm <input type="checkbox" name="attr_gear_weapon_traits_forearm" value="1">
|
||
<input type="checkbox" name="attr_gear_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_gear_weapon_traits_forearm_selector" checked>|
|
||
<input type="radio" value="2" name="attr_gear_weapon_traits_forearm_selector">
|
||
<input type="radio" value="3" name="attr_gear_weapon_traits_forearm_selector">
|
||
</span>
|
||
</span>
|
||
<span class="trait-item">
|
||
Frag <input type="checkbox" name="attr_gear_weapon_traits_frag" value="1">
|
||
<input type="checkbox" name="attr_gear_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_gear_weapon_traits_frag_selector" checked>|
|
||
<input type="radio" value="2" name="attr_gear_weapon_traits_frag_selector">
|
||
<input type="radio" value="3" name="attr_gear_weapon_traits_frag_selector">
|
||
</span>
|
||
</span>
|
||
<span class="trait-item">
|
||
Guided <input type="checkbox" name="attr_gear_weapon_traits_guided" value="1">
|
||
<input type="checkbox" name="attr_gear_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_gear_weapon_traits_guided_selector" checked>|
|
||
<input type="radio" value="2" name="attr_gear_weapon_traits_guided_selector">
|
||
<input type="radio" value="3" name="attr_gear_weapon_traits_guided_selector">
|
||
</span>
|
||
</span>
|
||
<span class="trait-item">
|
||
Haywire <input type="checkbox" name="attr_gear_weapon_traits_haywire" value="1">
|
||
<input type="checkbox" name="attr_gear_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_gear_weapon_traits_haywire_selector" checked>|
|
||
<input type="radio" value="2" name="attr_gear_weapon_traits_haywire_selector">
|
||
<input type="radio" value="3" name="attr_gear_weapon_traits_haywire_selector">
|
||
</span>
|
||
</span>
|
||
<span class="trait-item">
|
||
Limited Ammo <input type="checkbox" name="attr_gear_weapon_traits_limited_ammo" value="1">
|
||
<input type="checkbox" name="attr_gear_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_gear_weapon_traits_limited_ammo_selector" checked>|
|
||
<input type="radio" value="2" name="attr_gear_weapon_traits_limited_ammo_selector">
|
||
<input type="radio" value="3" name="attr_gear_weapon_traits_limited_ammo_selector">
|
||
</span>
|
||
</span>
|
||
<span class="trait-item">
|
||
Link <input type="checkbox" name="attr_gear_weapon_traits_link" value="1">
|
||
<input type="checkbox" name="attr_gear_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_gear_weapon_traits_link_selector" checked>|
|
||
<input type="radio" value="2" name="attr_gear_weapon_traits_link_selector">
|
||
<input type="radio" value="3" name="attr_gear_weapon_traits_link_selector">
|
||
</span>
|
||
</span>
|
||
<span class="trait-item">
|
||
Precise <input type="checkbox" name="attr_gear_weapon_traits_precise" value="1">
|
||
<input type="checkbox" name="attr_gear_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_gear_weapon_traits_precise_selector" checked>|
|
||
<input type="radio" value="2" name="attr_gear_weapon_traits_precise_selector">
|
||
<input type="radio" value="3" name="attr_gear_weapon_traits_precise_selector">
|
||
</span>
|
||
</span>
|
||
<span class="trait-item">
|
||
Salvo <input type="checkbox" name="attr_gear_weapon_traits_salvo" value="1">
|
||
<input type="checkbox" name="attr_gear_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_gear_weapon_traits_salvo_selector" checked>|
|
||
<input type="radio" value="2" name="attr_gear_weapon_traits_salvo_selector">
|
||
<input type="radio" value="3" name="attr_gear_weapon_traits_salvo_selector">
|
||
</span>
|
||
</span>
|
||
<span class="trait-item">
|
||
Silent <input type="checkbox" name="attr_gear_weapon_traits_silent" value="1">
|
||
<input type="checkbox" name="attr_gear_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_gear_weapon_traits_silent_selector" checked>|
|
||
<input type="radio" value="2" name="attr_gear_weapon_traits_silent_selector">
|
||
<input type="radio" value="3" name="attr_gear_weapon_traits_silent_selector">
|
||
</span>
|
||
</span>
|
||
<span class="trait-item">
|
||
Smoke <input type="checkbox" name="attr_gear_weapon_traits_smoke" value="1">
|
||
<input type="checkbox" name="attr_gear_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_gear_weapon_traits_smoke_selector" checked>|
|
||
<input type="radio" value="2" name="attr_gear_weapon_traits_smoke_selector">
|
||
<input type="radio" value="3" name="attr_gear_weapon_traits_smoke_selector">
|
||
</span>
|
||
</span>
|
||
<span class="trait-item">
|
||
Spray <input type="checkbox" name="attr_gear_weapon_traits_spray" value="1">
|
||
<input type="checkbox" name="attr_gear_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_gear_weapon_traits_spray_selector" checked>|
|
||
<input type="radio" value="2" name="attr_gear_weapon_traits_spray_selector">
|
||
<input type="radio" value="3" name="attr_gear_weapon_traits_spray_selector">
|
||
</span>
|
||
</span>
|
||
</span>
|
||
|
||
<div class="trait-box">
|
||
<span class="trait-item">
|
||
AoE: <input type="number" name="attr_gear_weapon_traits_aoe" class="digit" value="0" min="0">m
|
||
<span> <input type="checkbox" name="attr_gear_weapon_traits_single" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
-(<input type="number" name="attr_gear_weapon_traits_aoe_l" class="digit" value="0">m/
|
||
<input type="number" name="attr_gear_weapon_traits_aoe_m" class="digit" value="0">m/
|
||
<input type="number" name="attr_gear_weapon_traits_aoe_h" class="digit" value="0">m)
|
||
</span> </span>
|
||
<input type="checkbox" name="attr_gear_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_gear_weapon_traits_aoe_selector" checked>|
|
||
<input type="radio" value="2" name="attr_gear_weapon_traits_aoe_selector">
|
||
<input type="radio" value="3" name="attr_gear_weapon_traits_aoe_selector">
|
||
</span>
|
||
</span>
|
||
<span class="trait-item">
|
||
AP:<input type="number" name="attr_gear_weapon_traits_ap" class="digit" value="0">
|
||
<span> <input type="checkbox" name="attr_gear_weapon_traits_single" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
-<input type="number" name="attr_gear_weapon_traits_ap_l" class="digit" value="0">/
|
||
<input type="number" name="attr_gear_weapon_traits_ap_m" class="digit" value="0">/
|
||
<input type="number" name="attr_gear_weapon_traits_ap_h" class="digit" value="0">
|
||
</span></span>
|
||
<input type="checkbox" name="attr_gear_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_gear_weapon_traits_ap_selector" checked>|
|
||
<input type="radio" value="2" name="attr_gear_weapon_traits_ap_selector">
|
||
<input type="radio" value="3" name="attr_gear_weapon_traits_ap_selector">
|
||
</span>
|
||
</span>
|
||
<span class="trait-item">
|
||
Brawler: <input type="number" name="attr_gear_weapon_traits_brawler" class="digit" value="0">
|
||
<span>
|
||
<input type="checkbox" name="attr_gear_weapon_traits_single" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
-<input type="number" name="attr_gear_weapon_traits_brawler_l" class="digit" value="0">/
|
||
<input type="number" name="attr_gear_weapon_traits_brawler_m" class="digit" value="0">/
|
||
<input type="number" name="attr_gear_weapon_traits_brawler_h" class="digit" value="0">
|
||
</span>
|
||
</span>
|
||
<input type="checkbox" name="attr_gear_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_gear_weapon_traits_brawler_selector" checked>|
|
||
<input type="radio" value="2" name="attr_gear_weapon_traits_brawler_selector">
|
||
<input type="radio" value="3" name="attr_gear_weapon_traits_brawler_selector">
|
||
</span>
|
||
</span>
|
||
<span class="trait-item">
|
||
Burst:<input type="number" name="attr_gear_weapon_traits_burst" class="digit" value="0" min="0">
|
||
<span>
|
||
<input type="checkbox" name="attr_gear_weapon_traits_single" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
-<input type="number" name="attr_gear_weapon_traits_burst_l" class="digit" value="0">/
|
||
<input type="number" name="attr_gear_weapon_traits_burst_m" class="digit" value="0">/
|
||
<input type="number" name="attr_gear_weapon_traits_burst_h" class="digit" value="0">
|
||
</span></span>
|
||
<input type="checkbox" name="attr_gear_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_gear_weapon_traits_burst_selector" checked>|
|
||
<input type="radio" value="2" name="attr_gear_weapon_traits_burst_selector">
|
||
<input type="radio" value="3" name="attr_gear_weapon_traits_burst_selector">
|
||
</span>
|
||
</span>
|
||
<span class="trait-item">
|
||
Demo:<input type="number" name="attr_gear_weapon_traits_demo" class="digit" value="0">
|
||
<span> <input type="checkbox" name="attr_gear_weapon_traits_single" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
-<input type="number" name="attr_gear_weapon_traits_demo_l" class="digit" value="0">/
|
||
<input type="number" name="attr_gear_weapon_traits_demo_m" class="digit" value="0">/
|
||
<input type="number" name="attr_gear_weapon_traits_demo_h" class="digit" value="0">
|
||
</span>
|
||
</span>
|
||
<input type="checkbox" name="attr_gear_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_gear_weapon_traits_demo_selector" checked>|
|
||
<input type="radio" value="2" name="attr_gear_weapon_traits_demo_selector">
|
||
<input type="radio" value="3" name="attr_gear_weapon_traits_demo_selector">
|
||
</span>
|
||
</span>
|
||
<span class="trait-item">
|
||
Fire:<input type="number" name="attr_gear_weapon_traits_fire" class="digit" value="0" min="0">
|
||
<span> <input type="checkbox" name="attr_gear_weapon_traits_single" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
-<input type="number" name="attr_gear_weapon_traits_fire_l" class="digit" value="0">/
|
||
<input type="number" name="attr_gear_weapon_traits_fire_m" class="digit" value="0">/
|
||
<input type="number" name="attr_gear_weapon_traits_fire_h" class="digit" value="0">
|
||
</span>
|
||
</span>
|
||
<input type="checkbox" name="attr_gear_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_gear_weapon_traits_fire_selector" checked>|
|
||
<input type="radio" value="2" name="attr_gear_weapon_traits_fire_selector">
|
||
<input type="radio" value="3" name="attr_gear_weapon_traits_fire_selector">
|
||
</span>
|
||
</span>
|
||
<span class="trait-item">
|
||
Reach:<input type="number" name="attr_gear_weapon_traits_reach" class="digit" value="0" min="0">
|
||
<span><input type="checkbox" name="attr_gear_weapon_traits_single" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
-<input type="number" name="attr_gear_weapon_traits_reach_l" class="digit" value="0">/
|
||
<input type="number" name="attr_gear_weapon_traits_reach_m" class="digit" value="0">/
|
||
<input type="number" name="attr_gear_weapon_traits_reach_h" class="digit" value="0">
|
||
</span>
|
||
</span>
|
||
<input type="checkbox" name="attr_gear_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_gear_weapon_traits_reach_selector" checked>|
|
||
<input type="radio" value="2" name="attr_gear_weapon_traits_reach_selector">
|
||
<input type="radio" value="3" name="attr_gear_weapon_traits_reach_selector">
|
||
</span>
|
||
</span>
|
||
</div>
|
||
<div>
|
||
<p>
|
||
See Desc <input type="checkbox" name="attr_gear_weapon_traits_see_desc" value="1">
|
||
<input type="text" name="attr_gear_weapon_traits_desc" value="">
|
||
</p>
|
||
<p>
|
||
Other: <input type="text" name="attr_gear_weapon_traits_other" value="">
|
||
</p>
|
||
</div>
|
||
|
||
|
||
</div>
|
||
PL <input type="number" name="attr_gear_weapon_pl" value="0">
|
||
Location <input type="text" name="attr_gear_weapon_location" class="em8">
|
||
Slots <input type="number" name="attr_gear_weapon_slots" class="digit" value="0">
|
||
Aux Location <input type="text" name="attr_gear_weapon_aux_location" class="em8">
|
||
Aux Slots <input type="number" name="attr_gear_weapon_slots_misc" class="digit" value="0">
|
||
<p><span type="text" name="attr_gear_weapon_traits_desc" value=""></span> </p>
|
||
<textarea class="inputarea" name="attr_gear_weapon_notes"></textarea>
|
||
|
||
|
||
</div>
|
||
</fieldset>
|
||
|
||
Add Weapon Code: <input type="text" name="attr_gear_weapon_code" class="em8"> lv:<input type="number" name="attr_gear_weapon_lvl" class="digit" max="5" min="0" value="3">
|
||
Domain: <select name="attr_gear_weapon_domain">
|
||
<option value="1">Athletics </option>
|
||
<option value="2">Awareness</option>
|
||
<option value="3">Business</option>
|
||
<option value="4">Craft</option>
|
||
<option value="5">Culture</option>
|
||
<option value="6">Electronic Warfare</option>
|
||
<option value="7">Electronics</option>
|
||
<option value="8" selected>Gunnery</option>
|
||
<option value="9">Hard Science</option>
|
||
<option value="10">Influence</option>
|
||
<option value="11">Institutions</option>
|
||
<option value="12">Investigation</option>
|
||
<option value="13">Mechanics</option>
|
||
<option value="14">Medicine</option>
|
||
<option value="15">Melee</option>
|
||
<option value="16">Pilot</option>
|
||
<option value="17">Showmanship</option>
|
||
<option value="18">Socialscience</option>
|
||
<option value="19">Survival</option>
|
||
<option value="20">Tactics</option>
|
||
</select>
|
||
|
||
Gear Bonus:<select name="attr_gear_weapon_gear_domain_tn">
|
||
<option value="1" selected>Gunnery</option>
|
||
<option value="2">Pilot</option>
|
||
<option value="3">Electronic Warfare</option>
|
||
</select>
|
||
(<input type="checkbox" name="attr_gear_weapon_skill_familiar" value="1"> F)
|
||
<button type="action" name="act_gear_weapon_stat">Add New Weapon</button>
|
||
|
||
</div>
|
||
<div class="">
|
||
<h3>Electronic Systems </h3>
|
||
<div class="">
|
||
<div class="">
|
||
<h4><label for="sensors" name="attr_sensors">Sensors.</label>
|
||
<input type="checkbox" id="sensors" name="attr_sensors_hide" class="sheet-toggle-show" hidden>
|
||
</h4>
|
||
<span> Type: <input type="text" name="attr_gear_sensors_type" class="em8" value="Basic">
|
||
<input type="checkbox" name="attr_blitz_check" class="blitz-check" value="1" hidden>
|
||
<span class="no-blitz"> Range: <input type="number" name="attr_gear_sensors_range" value="2">km
|
||
</span>
|
||
<span class="blitz"> Blitz Range: <input type="number" name="attr_gear_sensors_blitz_range" value="18">" </span>
|
||
<span>Effect <input type="text" name="attr_gear_sensors_effect" class="em8" value="None">
|
||
<select name="attr_gear_sensors_mode" class="em8">
|
||
<option value="active" selected>Active</option>
|
||
<option value="passive">Passive</option>
|
||
<option value="none">None</option>
|
||
</select>
|
||
</span>
|
||
<input type="checkbox" name="attr_sensors_hide" class="sheet-toggle-show" hidden>
|
||
<div class="sheet-body">
|
||
<textarea class="inputarea" name="attr_gear_sensors_desc"></textarea>
|
||
</div>
|
||
</span>
|
||
</div>
|
||
<div>
|
||
<h4> <label for="comms" name="attr_comms">Comms Suite.</label>
|
||
<input type="checkbox" id="comms" name="attr_comms_hide" class="sheet-toggle-show" hidden>
|
||
</h4>
|
||
</h4>
|
||
<input type="checkbox" name="attr_blitz_check" class="blitz-check" value="1" hidden>
|
||
<span class="no-blitz"> Range: <input type="number" name="attr_gear_sensors_range" value="2">km
|
||
</span>
|
||
<span class="blitz"> Blitz Range: <input type="number" name="attr_gear_sensors_blitz_range" value="18">" </span>
|
||
|
||
<span>Effect <input type="text" name="attr_gear_sensors_effect" class="em8" value="None">
|
||
</span>
|
||
<input type="checkbox" name="attr_comms_hide" class="sheet-toggle-show" hidden>
|
||
<div class="sheet-body">
|
||
<textarea class="inputarea" name="attr_gear_comms_desc"></textarea>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
</div>
|
||
</div>
|
||
|
||
<div class="infobox" id="gear3traitsequipment">
|
||
<h3> Traits & Equipment </h3>
|
||
<fieldset class="repeating_gear-equipment-traits">
|
||
<div>Name <input type="text" name="attr_gear_equipment_traits_name"> Info: <input type="checkbox" name="attr_geartraithide" class="sheet-toggle-show">
|
||
<div class="sheet-body">
|
||
<div>
|
||
Location <input type="text" name="attr_gear_equipment_traits_location">
|
||
Slots<input type="number" name="attr_gear_equipment_traits_slots" value="0">
|
||
PL<input type="number" name="attr_gear_equipment_traits_pl" value="0">
|
||
</div>
|
||
<textarea class="inputarea" name="attr_gear_equipment_traits_desc"></textarea>
|
||
</div>
|
||
</div>
|
||
</fieldset>
|
||
</div>
|
||
<div class="infobox">
|
||
</div>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
|
||
|
||
Notes:
|
||
<textarea class="inputarea" name="attr_gear_desc"></textarea>
|
||
</div>
|
||
|
||
<div class="sheet-npccharacter">
|
||
<div class="">
|
||
<div class="info-upper-row1">
|
||
Name: <input type="text" class="infoused" name="attr_character_name" value="">
|
||
</div>
|
||
<div class="background">
|
||
|
||
<div class="char-image"> <img class="portrait" name="attr_character_avatar">
|
||
Pilot Image
|
||
</div>
|
||
<div class="infobox">
|
||
<h3>Description</h3>
|
||
<div>
|
||
<textarea class="inputarea" name="attr_description"></textarea>
|
||
</div>
|
||
</div>
|
||
<div class="infobox">
|
||
|
||
<h3>Perks</h3>
|
||
<div>
|
||
<fieldset class="repeating_perks">
|
||
<input class="lvinfoused" type="text" name="attr_perks_name">
|
||
<input type="number" name="attr_perk_lvl" class="digit" value="0" min="0" max="">
|
||
<span class="pull-right">
|
||
Used: <input type="checkbox" name="attr_perk_used">
|
||
</span>
|
||
i:<input type="checkbox" name="attr_perk_hide" class="sheet-toggle-show">
|
||
<div class="sheet-body">
|
||
<textarea class="inputarea" name="attr_perk_desc"> </textarea>
|
||
</div>
|
||
</fieldset>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="infobox">
|
||
<h3>Flaws</h3>
|
||
<fieldset class="repeating_flaws">
|
||
<input type="text" class="lvinfoused" name="attr_flaws_name">
|
||
<input type="number" name="attr_flaws_lvl" class="digit" value="0" min="0" max="">
|
||
<span class="pull-right">
|
||
Used: <input type="checkbox" name="attr_flaws_used">
|
||
</span>
|
||
i:<input type="checkbox" name="attr_flaws_hide" class="sheet-toggle-show">
|
||
<div class="sheet-body">
|
||
<textarea class="inputarea" name="attr_flaws_desc"> </textarea>
|
||
</div>
|
||
</fieldset>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="attributes">
|
||
<div class="damage-box">
|
||
<h3>Damage Results</h3>
|
||
<div class="infobox">
|
||
<span><span class="pull-left">Shell:</span><span class="pull-right"><span type="number" name="attr_damage_shell" value="0"></span>/<input type="number" class="digit" name="attr_damage_shell_max" value="4"></span> </span>
|
||
<span><span class="pull-left">System:</span><span class="pull-right"> <span type="number" name="attr_damage_system" value="0"></span>/<input type="number" class="digit" name="attr_damage_system_max" value="4"></span>
|
||
</span>
|
||
<span><span class="pull-left">Total:</span><span class="pull-right" style="text-indent: -3em;"><span type="number" name="attr_damage_total" value="0"></span>
|
||
</div>
|
||
|
||
<h4> Damage</h4>
|
||
<fieldset class="repeating_damage">
|
||
<input type="text" name="attr_damage_name" class="infoused">
|
||
-<input type="number" class="digit" name="attr_damage_level" value="0" min="0" max="4">d6
|
||
<div>
|
||
<span>(<input type="checkbox" name="attr_damage_shell_check" value="1"> shell
|
||
<input type="checkbox" name="attr_damage_system_check" value="1"> system) </span>
|
||
i:<input type="checkbox" name="attr_damage_info" class="sheet-toggle-show" />
|
||
<div class="sheet-body">
|
||
Effect:<textarea name="attr_damage_effect" class="inputarea"></textarea>
|
||
Deterioration:<textarea name="attr_damage_deterioration" class="inputarea"></textarea>
|
||
Fix:<textarea name="attr_damage_fix" class="inputarea"></textarea>
|
||
</div>
|
||
</div>
|
||
</fieldset>
|
||
<span>Add Damage type: <select name="attr_npc_damage_type_add">
|
||
<option disabled style="font-weight: bold;"> DAMAGE RESULTS </option>
|
||
<option value="Anger">Anger</option>
|
||
<option value="Bleeding">Bleeding</option>
|
||
<option value="Blinded">Blinded</option>
|
||
<option value="Brain Injury">Brain Injury</option>
|
||
<option value="Burned">Burned</option>
|
||
<option value="Combat Fatigue">Combat Fatigue</option>
|
||
<option value="Concussion">Concussion</option>
|
||
<option value="Deafened">Deafened</option>
|
||
<option value="Dehydrated">Dehydrated</option>
|
||
<option value="Encumbered">Encumbered</option>
|
||
<option value="Fear">Fear</option>
|
||
<option value="Fractured/Broken Bones">Fractured/Broken Bones</option>
|
||
<option value="Frozen">Frozen</option>
|
||
<option value="Guilt">Guilt</option>
|
||
<option value="Hallucinations">Hallucinations</option>
|
||
<option value="Internal Bleeding">Internal Bleeding</option>
|
||
<option value="Intoxicated">Intoxicated</option>
|
||
<option value="Knocked Out">Knocked Out</option>
|
||
<option value="Limb Crippled">Limb Crippled</option>
|
||
<option value="On Fire">On Fire</option>
|
||
<option value="Rattled">Rattled</option>
|
||
<option value="Paranoid">Paranoid</option>
|
||
<option value="Poisoned">Poisoned</option>
|
||
<option value="Prone">Prone</option>
|
||
<option value="Ruptured Organ">Ruptured Organ</option>
|
||
<option value="Shock">Shock</option>
|
||
<option value="Slowed">Slowed</option>
|
||
<option value="Snapped">Snapped</option>
|
||
<option value="Starving">Starving</option>
|
||
<option value="Stunned">Stunned</option>
|
||
<option value="The Shakes">The Shakes</option>
|
||
<option value="Terrified">Terrified</option>
|
||
<option value="Wounded">Wounded</option>
|
||
<option disabled style="font-weight: bold;"> VEHICLE DAMAGE RESULTS </option>
|
||
<option value="Catastrophic Limb Damage">Catastrophic Limb Damage</option>
|
||
<option value="Catastrophic System Damage">Catastrophic System Damage</option>
|
||
<option value="Drive System Crippled">Drive System Crippled</option>
|
||
<option value="Drive System Damaged">Drive System Damaged</option>
|
||
<option value="Engine Hit">Engine Hit</option>
|
||
<option value="Hull Breach">Hull Breach</option>
|
||
<option value="It's Gonna Blow">It's Gonna Blow</option>
|
||
<option value="Jammed">Jammed</option>
|
||
<option value="Knocked Down">Knocked Down</option>
|
||
<option value="Major Limb Damage">Major Limb Damage</option>
|
||
<option value="Major System Damage">Major System Damage</option>
|
||
<option value="Major Weapon Destroyed">Major Weapon Destroyed</option>
|
||
<option value="Minor Limb Damage">Minor Limb Damage</option>
|
||
<option value="Minor System Damage">Minor System Damage</option>
|
||
<option value="Minor Weapon Destroyed">Minor Weapon Destroyed</option>
|
||
<option value="On Fire (Vehicle)">On Fire (Vehicle)</option>
|
||
<option value="Secondary Explosion">Secondary Explosion</option>
|
||
<option value="Sensor Malfunction">Sensor Malfunction</option>
|
||
<option value="Unstable">Unstable</option>
|
||
</select> lv: <input type="number" name="attr_npc_damage_lvl" class="digit" min="0">
|
||
<button type="action" name="act_npc_damage_stat">Add New Damage</button> </span>
|
||
<h4>Damage Notes</h4> <textarea class="inputarea" name="attr_damage_desc" rows="3"></textarea>
|
||
</div>
|
||
<div>
|
||
<h3>Skills</h3>
|
||
<div class="no-buttons">
|
||
<input class="sheet-skills-hide-check" type="hidden" type="hidden" name="attr_domain_expertise_athletics" value="0">
|
||
<div class="sheet-skills-hide" value="attr_domain_expertise_athletics">Athletics</div>
|
||
<fieldset class="repeating_skills-athletics">
|
||
<input type="checkbox" class="sheet-familiar" name="attr_skill_familiar" value="1" hidden>
|
||
- <span type="text" class="sheet-familiar-skill" name="attr_skill_name"></span>
|
||
<span type="number" name="attr_skill_level" value="0"></span>
|
||
<button type="action" name="act_tumble">Roll</button>
|
||
<button class="pull-right" type="action" name="act_remove">x</button>
|
||
|
||
</fieldset>
|
||
|
||
<input class="sheet-skills-hide-check" type="hidden" name="attr_domain_expertise_awareness">
|
||
<div class="sheet-skills-hide" value="attr_domain_expertise_awareness">Awareness</div>
|
||
<fieldset class="repeating_skills-awareness">
|
||
<input type="checkbox" class="sheet-familiar" name="attr_skill_familiar" value="1" hidden>
|
||
- <span type="text" class="sheet-familiar-skill" name="attr_skill_name"></span>
|
||
<span type="number" name="attr_skill_level" value="0"></span>
|
||
<button type="action" name="act_tumble">Roll</button>
|
||
<button class="pull-right" type="action" name="act_remove">x</button>
|
||
|
||
</fieldset>
|
||
|
||
<input class="sheet-skills-hide-check" type="hidden" name="attr_domain_expertise_business" value="0">
|
||
<div class="sheet-skills-hide" value="attr_domain_expertise_business">Business</div>
|
||
<fieldset class="repeating_skills-business">
|
||
<input type="checkbox" class="sheet-familiar" name="attr_skill_familiar" value="1" hidden>
|
||
- <span type="text" class="sheet-familiar-skill" name="attr_skill_name"></span>
|
||
<span type="number" name="attr_skill_level" value="0"></span>
|
||
<button type="action" name="act_tumble">Roll</button>
|
||
<button class="pull-right" type="action" name="act_remove">x</button>
|
||
|
||
</fieldset>
|
||
|
||
<input class="sheet-skills-hide-check" type="hidden" name="attr_domain_expertise_craft" value="0">
|
||
<div class="sheet-skills-hide" value="attr_domain_expertise_craft">Craft</div>
|
||
<fieldset class="repeating_skills-craft">
|
||
<input type="checkbox" class="sheet-familiar" name="attr_skill_familiar" value="1" hidden>
|
||
- <span type="text" class="sheet-familiar-skill" name="attr_skill_name"></span>
|
||
<span type="number" name="attr_skill_level" value="0"></span>
|
||
<button type="action" name="act_tumble">Roll</button>
|
||
<button class="pull-right" type="action" name="act_remove">x</button>
|
||
|
||
</fieldset>
|
||
|
||
<input class="sheet-skills-hide-check" type="hidden" name="attr_domain_expertise_culture" value="0">
|
||
<div class="sheet-skills-hide" value="attr_domain_expertise_culture">Culture</div>
|
||
<fieldset class="repeating_skills-culture">
|
||
<input type="checkbox" class="sheet-familiar" name="attr_skill_familiar" value="1" hidden>
|
||
- <span type="text" class="sheet-familiar-skill" name="attr_skill_name"></span>
|
||
<span type="number" name="attr_skill_level" value="0"></span>
|
||
<button type="action" name="act_tumble">Roll</button>
|
||
<button class="pull-right" type="action" name="act_remove">x</button>
|
||
|
||
</fieldset>
|
||
|
||
<input class="sheet-skills-hide-check" type="hidden" name="attr_domain_expertise_electronicwarfare" value="0">
|
||
<div class="sheet-skills-hide" value="attr_domain_expertise_electronicwarfare">Electronic Warfare</div>
|
||
<fieldset class="repeating_skills-electronicwarfare">
|
||
<input type="checkbox" class="sheet-familiar" name="attr_skill_familiar" value="1" hidden>
|
||
- <span type="text" class="sheet-familiar-skill" name="attr_skill_name"></span>
|
||
<span type="number" name="attr_skill_level" value="0"></span>
|
||
<button type="action" name="act_tumble">Roll</button>
|
||
<button class="pull-right" type="action" name="act_remove">x</button>
|
||
|
||
</fieldset>
|
||
|
||
<input class="sheet-skills-hide-check" type="hidden" name="attr_domain_expertise_electronics" value="0">
|
||
<div class="sheet-skills-hide" value="attr_domain_expertise_electronics">Electronics</div>
|
||
<fieldset class="repeating_skills-electronics">
|
||
<input type="checkbox" class="sheet-familiar" name="attr_skill_familiar" value="1" hidden>
|
||
- <span type="text" class="sheet-familiar-skill" name="attr_skill_name"></span>
|
||
<span type="number" name="attr_skill_level" value="0"></span>
|
||
<button type="action" name="act_tumble">Roll</button>
|
||
<button class="pull-right" type="action" name="act_remove">x</button>
|
||
|
||
</fieldset>
|
||
<input class="sheet-skills-hide-check" type="hidden" name="attr_domain_expertise_gunnery" value="0">
|
||
<div class="sheet-skills-hide" value="attr_domain_expertise_gunnery">Gunnery</div>
|
||
<fieldset class="repeating_skills-gunnery">
|
||
<input type="checkbox" class="sheet-familiar" name="attr_skill_familiar" value="1" hidden>
|
||
- <span type="text" class="sheet-familiar-skill" name="attr_skill_name"></span>
|
||
<span type="number" name="attr_skill_level" value="0"></span>
|
||
<button type="action" name="act_tumble">Roll</button>
|
||
<button class="pull-right" type="action" name="act_remove">x</button>
|
||
|
||
</fieldset>
|
||
<input class="sheet-skills-hide-check" type="hidden" name="attr_domain_expertise_hardscience" value="0">
|
||
<div class="sheet-skills-hide" value="attr_domain_expertise_hardscience">Hard Science</div>
|
||
<fieldset class="repeating_skills-hardscience">
|
||
<input type="checkbox" class="sheet-familiar" name="attr_skill_familiar" value="1" hidden>
|
||
- <span type="text" class="sheet-familiar-skill" name="attr_skill_name"></span>
|
||
<span type="number" name="attr_skill_level" value="0"></span>
|
||
<button type="action" name="act_tumble">Roll</button>
|
||
<button class="pull-right" type="action" name="act_remove">x</button>
|
||
|
||
</fieldset>
|
||
<input class="sheet-skills-hide-check" type="hidden" name="attr_domain_expertise_influence" value="0">
|
||
<div class="sheet-skills-hide" value="attr_domain_expertise_influence">Influence</div>
|
||
<fieldset class="repeating_skills-influence">
|
||
<input type="checkbox" class="sheet-familiar" name="attr_skill_familiar" value="1" hidden>
|
||
- <span type="text" class="sheet-familiar-skill" name="attr_skill_name"></span>
|
||
<span type="number" name="attr_skill_level" value="0"></span>
|
||
<button type="action" name="act_tumble">Roll</button>
|
||
<button class="pull-right" type="action" name="act_remove">x</button>
|
||
|
||
</fieldset>
|
||
<input class="sheet-skills-hide-check" type="hidden" name="attr_domain_expertise_institutions" value="0">
|
||
<div class="sheet-skills-hide" value="attr_domain_expertise_institutions">Institutions</div>
|
||
<fieldset class="repeating_skills-institutions">
|
||
<input type="checkbox" class="sheet-familiar" name="attr_skill_familiar" value="1" hidden>
|
||
- <span type="text" class="sheet-familiar-skill" name="attr_skill_name"></span>
|
||
<span type="number" name="attr_skill_level" value="0"></span>
|
||
<button type="action" name="act_tumble">Roll</button>
|
||
<button class="pull-right" type="action" name="act_remove">x</button>
|
||
|
||
</fieldset>
|
||
<input class="sheet-skills-hide-check" type="hidden" name="attr_domain_expertise_investigation" value="0">
|
||
<div class="sheet-skills-hide" value="attr_domain_expertise_investigation">Investigation</div>
|
||
<fieldset class="repeating_skills-investigation">
|
||
<input type="checkbox" class="sheet-familiar" name="attr_skill_familiar" value="1" hidden>
|
||
- <span type="text" class="sheet-familiar-skill" name="attr_skill_name"></span>
|
||
<span type="number" name="attr_skill_level" value="0"></span>
|
||
<button type="action" name="act_tumble">Roll</button>
|
||
<button class="pull-right" type="action" name="act_remove">x</button>
|
||
|
||
</fieldset>
|
||
<input class="sheet-skills-hide-check" type="hidden" name="attr_domain_expertise_mechanics" value="0">
|
||
<div class="sheet-skills-hide" value="attr_domain_expertise_mechanics">Mechanics</div>
|
||
<fieldset class="repeating_skills-mechanics">
|
||
<input type="checkbox" class="sheet-familiar" name="attr_skill_familiar" value="1" hidden>
|
||
- <span type="text" class="sheet-familiar-skill" name="attr_skill_name"></span>
|
||
<span type="number" name="attr_skill_level" value="0"></span>
|
||
<button type="action" name="act_tumble">Roll</button>
|
||
<button class="pull-right" type="action" name="act_remove">x</button>
|
||
|
||
</fieldset>
|
||
<input class="sheet-skills-hide-check" type="hidden" name="attr_domain_expertise_medicine" value="0">
|
||
<div class="sheet-skills-hide" value="attr_domain_expertise_medicine">Medicine</div>
|
||
<fieldset class="repeating_skills-medicine">
|
||
<input type="checkbox" class="sheet-familiar" name="attr_skill_familiar" value="1" hidden>
|
||
- <span type="text" class="sheet-familiar-skill" name="attr_skill_name"></span>
|
||
<span type="number" name="attr_skill_level" value="0"></span>
|
||
<button type="action" name="act_tumble">Roll</button>
|
||
<button class="pull-right" type="action" name="act_remove">x</button>
|
||
|
||
</fieldset>
|
||
<input class="sheet-skills-hide-check" type="hidden" name="attr_domain_expertise_melee" value="0">
|
||
<div class="sheet-skills-hide" value="attr_domain_expertise_melee">Melee</div>
|
||
<fieldset class="repeating_skills-melee">
|
||
<input type="checkbox" class="sheet-familiar" name="attr_skill_familiar" value="1" hidden>
|
||
- <span type="text" class="sheet-familiar-skill" name="attr_skill_name"></span>
|
||
<span type="number" name="attr_skill_level" value="0"></span>
|
||
<button type="action" name="act_tumble">Roll</button>
|
||
<button class="pull-right" type="action" name="act_remove">x</button>
|
||
|
||
</fieldset>
|
||
<input class="sheet-skills-hide-check" type="hidden" name="attr_domain_expertise_pilot" value="0">
|
||
<div class="sheet-skills-hide" value="attr_domain_expertise_pilot">Pilot</div>
|
||
<fieldset class="repeating_skills-pilot">
|
||
<input type="checkbox" class="sheet-familiar" name="attr_skill_familiar" value="1" hidden>
|
||
- <span type="text" class="sheet-familiar-skill" name="attr_skill_name"></span>
|
||
<span type="number" name="attr_skill_level" value="0"></span>
|
||
<button type="action" name="act_tumble">Roll</button>
|
||
<button class="pull-right" type="action" name="act_remove">x</button>
|
||
|
||
</fieldset>
|
||
<input class="sheet-skills-hide-check" type="hidden" name="attr_domain_expertise_showmanship" value="0">
|
||
<div class="sheet-skills-hide" value="attr_domain_expertise_showmanship">Showmanship</div>
|
||
<fieldset class="repeating_skills-showmanship">
|
||
<input type="checkbox" class="sheet-familiar" name="attr_skill_familiar" value="1" hidden>
|
||
- <span type="text" class="sheet-familiar-skill" name="attr_skill_name"></span>
|
||
<span type="number" name="attr_skill_level" value="0"></span>
|
||
<button type="action" name="act_tumble">Roll</button>
|
||
<button class="pull-right" type="action" name="act_remove">x</button>
|
||
|
||
</fieldset>
|
||
<input class="sheet-skills-hide-check" type="hidden" name="attr_domain_expertise_socialscience" value="0">
|
||
<div class="sheet-skills-hide" value="attr_domain_expertise_socialscience">Social Science</div>
|
||
<fieldset class="repeating_skills-socialscience">
|
||
<input type="checkbox" class="sheet-familiar" name="attr_skill_familiar" value="1" hidden>
|
||
- <span type="text" class="sheet-familiar-skill" name="attr_skill_name"></span>
|
||
<span type="number" name="attr_skill_level" value="0"></span>
|
||
<button type="action" name="act_tumble">Roll</button>
|
||
<button class="pull-right" type="action" name="act_remove">x</button>
|
||
|
||
</fieldset>
|
||
<input class="sheet-skills-hide-check" type="hidden" name="attr_domain_expertise_survival" value="0">
|
||
<div class="sheet-skills-hide" value="attr_domain_expertise_survival">Survival</div>
|
||
<fieldset class="repeating_skills-survival">
|
||
<input type="checkbox" class="sheet-familiar" name="attr_skill_familiar" value="1" hidden>
|
||
- <span type="text" class="sheet-familiar-skill" name="attr_skill_name"></span>
|
||
<span type="number" name="attr_skill_level" value="0"></span>
|
||
<button type="action" name="act_tumble">Roll</button>
|
||
<button class="pull-right" type="action" name="act_remove">x</button>
|
||
</fieldset>
|
||
<input class="sheet-skills-hide-check" type="hidden" name="attr_domain_expertise_tactics" value="0">
|
||
<div class="sheet-skills-hide" value="attr_domain_expertise_tactics">Tactics</div>
|
||
<fieldset class="repeating_skills-tactics">
|
||
<input type="checkbox" class="sheet-familiar" name="attr_skill_familiar" value="1" hidden>
|
||
- <span type="text" class="sheet-familiar-skill" name="attr_skill_name"></span>
|
||
<span type="number" name="attr_skill_level" value="0"></span>
|
||
<button type="action" name="act_tumble">Roll</button>
|
||
<button class="pull-right" type="action" name="act_remove">x</button>
|
||
</fieldset>
|
||
|
||
<div class="">
|
||
Domain: <select name="attr_skill_domain_select">
|
||
<option value="1">Athletics </option>
|
||
<option value="2">Awareness</option>
|
||
<option value="3">Business</option>
|
||
<option value="4">Craft</option>
|
||
<option value="5">Culture</option>
|
||
<option value="6">Electronic Warfare</option>
|
||
<option value="7">Electronics</option>
|
||
<option value="8">Gunnery</option>
|
||
<option value="9">Hard Science</option>
|
||
<option value="10">Influence</option>
|
||
<option value="11">Institutions</option>
|
||
<option value="12">Investigation</option>
|
||
<option value="13">Mechanics</option>
|
||
<option value="14">Medicine</option>
|
||
<option value="15">Melee</option>
|
||
<option value="16">Pilot</option>
|
||
<option value="17">Showmanship</option>
|
||
<option value="18">Socialscience</option>
|
||
<option value="19">Survival</option>
|
||
<option value="20">Tactics</option>
|
||
</select>
|
||
Skill Name: <input type="text" name="attr_skill_name" class="em8">
|
||
Skill Level<input type="number" name="attr_skill_level" class="digit" value="0">
|
||
Familiar<input type="checkbox" name="attr_skill_familiar" value="1">
|
||
<button type="action" name="act_add_skill">Add Skill</button>
|
||
</div>
|
||
|
||
|
||
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div> <label for="weapons" name="attr_personal_weapons_hide">Weapons.</label> <input type="checkbox" id="weapons" name="attr_personal_weapons_hide" class="sheet-toggle-show" hidden>
|
||
<div> <input name="attr_infweapon_burden_total" type="number" value="0" hidden />
|
||
<fieldset class="repeating_infweapon">
|
||
<input type="checkbox" name="attr_inf_weapon_hide" hidden>
|
||
<div><span name="attr_inf_weapon_size" value="Light"></span>
|
||
<span>
|
||
<input type="checkbox" name="attr_inf_weapon_frame_check" class="frame-check" value="1" hidden>
|
||
<span class="no-frame" name="attr_inf_weapon_name" value="Weapon">
|
||
</span>
|
||
<span class="frame" name="attr_frame_weapon_type"></span>
|
||
D: <span type="number" name="attr_inf_weapon_damage"></span>
|
||
|
||
Traits:
|
||
<input type="text" name="attr_inf_weapon_traits" value="-" hidden>
|
||
<input type="text" name="attr_inf_weapon_traits_selector_2" value="-" hidden>
|
||
<input type="text" name="attr_inf_weapon_traits_selector_3" value="-" hidden>
|
||
|
||
|
||
<input type="checkbox" name="attr_inf_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
Mode: (<input type="radio" value="2" name="attr_inf_weapon_traits_mode_selector" checked>
|
||
|
||
<span type="text" name="attr_inf_weapon_traits_selector_2"></span>
|
||
<input type="radio" value="3" name="attr_inf_weapon_traits_mode_selector">
|
||
<span type="text" name="attr_inf_weapon_traits_selector_3"></span>)
|
||
<input type="number" name="attr_inf_weapon_traits_mode_selector" value="0" hidden>,
|
||
</span>
|
||
<span type="text" name="attr_inf_weapon_traits" value=""></span>
|
||
|
||
<input class="sheet-ammunition-show" type="checkbox" name="attr_inf_weapon_ammunition_show" value="1" hidden />
|
||
<span class="ammo-box">
|
||
<input type="number" class="digit" name="attr_inf_weapon_ammo" value="1">/
|
||
<span class="max-ammo" type="number" name="attr_inf_weapon_ammo_max" value="1"></span>
|
||
</span>
|
||
|
||
i:<input type="checkbox" name="attr_inf_weapon_hide" class="sheet-toggle-show">
|
||
</span>
|
||
<button type="action" name="act_tumble">roll</button>
|
||
</div>
|
||
|
||
<input type="checkbox" name="attr_inf_weapon_hide" class="sheet-toggle-show" hidden>
|
||
<div class="sheet-body">
|
||
Damage: <input type="number" name="attr_inf_weapon_damage" value="0">
|
||
<input type="number" name="attr_inf_weapon_tn_bonus" value="0" hidden>
|
||
<span class="pull-right">Burden: <input type="number" name="attr_inf_weapon_burden" step="0.25" value="0"></span>
|
||
<span>
|
||
<select name="attr_inf_weapon_size" class="size">
|
||
<option value="Light" selected>Light</option>
|
||
<option value="Medium">Medium</option>
|
||
<option value="Heavy">Heavy</option>
|
||
</select>
|
||
<input type="checkbox" name="attr_inf_weapon_frame_check" value="1" class="frame-check" hidden>
|
||
<span class="no-frame"> <input class="infoused" type="text" name="attr_inf_weapon_name" value="weapon">
|
||
</span>
|
||
<span class="frame">
|
||
<select name="attr_frame_weapon_type" class="size">
|
||
<option value="Assault Rifle">Assault Rifle</option>
|
||
<option value="Auto Shotgun">Auto Shotgun</option>
|
||
<option value="Carbine">Carbine</option>
|
||
<option value="Rifle">Rifle</option>
|
||
<option value="Machine Pistol">Machine Pistol</option>
|
||
<option value="Pistol/Revolver">Pistol/Revolver</option>
|
||
<option value="Shotgun">Shotgun</option>
|
||
<option value="Sniper Rifle">Sniper Rifle</option>
|
||
</select>
|
||
</span>
|
||
</span>
|
||
|
||
<p>Range: <input class="emcalc" style="--index: -11;" type="text" name="attr_inf_weapon_range">
|
||
<span class="pull-right">Ammo:<input type="number" class="digit" name="attr_inf_weapon_ammo" value="1">/<input type="number" name="attr_inf_weapon_ammo_max" class="digit" value="1"></span>
|
||
</p>
|
||
Frame:<input type="checkbox" name="attr_inf_weapon_frame_check" value="1" class="frame-check">
|
||
Cumbersome:<input type="checkbox" name="attr_inf_weapon_cumbersome">
|
||
PL: <input type="number" name="attr_inf_weapon_pl" class="digit" value="1">
|
||
<span>
|
||
<select name="attr_inf_weapon_domain">
|
||
<option value="1">Athletics <span></span> </option>
|
||
<option value="2">Awareness</option>
|
||
<option value="3">Business</option>
|
||
<option value="4">Craft</option>
|
||
<option value="5">Culture</option>
|
||
<option value="6">Electronic Warfare</option>
|
||
<option value="7">Electronics</option>
|
||
<option value="8">Gunnery</option>
|
||
<option value="9">Hard Science</option>
|
||
<option value="10">Influence</option>
|
||
<option value="11">Institutions</option>
|
||
<option value="12">Investigation</option>
|
||
<option value="13">Mechanics</option>
|
||
<option value="14">Medicine</option>
|
||
<option value="15">Melee</option>
|
||
<option value="16">Pilot</option>
|
||
<option value="17">Showmanship</option>
|
||
<option value="18">Socialscience</option>
|
||
<option value="19">Survival</option>
|
||
<option value="20">Tactics</option>
|
||
</select>
|
||
|
||
</span>
|
||
<span>Skill:<input type="number" name="attr_inf_skill_level" class="digit" value="0" min="0" max="5">(<input type="checkbox" name="attr_inf_weapon_skill_familiar" value="1">F)
|
||
</span>
|
||
<div>
|
||
|
||
Traits:
|
||
|
||
<input type="checkbox" name="attr_inf_weapon_traits_show" />
|
||
|
||
<input type="checkbox" name="attr_inf_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
Mode: (<input type="radio" value="2" name="attr_inf_weapon_traits_mode_selector" checked>
|
||
|
||
<span type="text" name="attr_inf_weapon_traits_selector_2" value=" "></span>
|
||
<input type="radio" value="3" name="attr_inf_weapon_traits_mode_selector" checked>
|
||
<span type="text" name="attr_inf_weapon_traits_selector_3" value=" "></span>)
|
||
<input type="number" name="attr_inf_weapon_traits_mode_selector" value="0" hidden>
|
||
</span>
|
||
<span type="text" name="attr_inf_weapon_traits"></span>
|
||
<input type="checkbox" name="attr_inf_weapon_traits_show" class="sheet-toggle-show" hidden />
|
||
<div class="sheet-body" style="border: #000 1px solid;">
|
||
<span class="trait-box">
|
||
<span class="trait-item">
|
||
Mode:<input type="checkbox" name="attr_inf_weapon_traits_mode" value="1">
|
||
<input type="checkbox" name="attr_inf_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<span type="text" name="attr_inf_weapon_traits_selector_2"> </span> OR
|
||
<span type="text" name="attr_inf_weapon_traits_selector_3"> </span>
|
||
</span>
|
||
</span>
|
||
<span class="trait-item">
|
||
Advanced:
|
||
<input type="checkbox" name="attr_inf_weapon_traits_advanced" value="1">
|
||
<input type="number" name="attr_inf_weapon_traits_advanced" value="0" hidden>
|
||
<input type="number" name="attr_inf_weapon_traits_advanced_selector" value="1" hidden>
|
||
<input type="checkbox" name="attr_inf_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_inf_weapon_traits_advanced_selector" checked>|
|
||
<input type="radio" value="2" name="attr_inf_weapon_traits_advanced_selector">
|
||
<input type="radio" value="3" name="attr_inf_weapon_traits_advanced_selector">
|
||
</span>
|
||
</span>
|
||
|
||
<span class="trait-item">
|
||
Blast <input type="checkbox" name="attr_inf_weapon_traits_blast" value="1">
|
||
<input type="number" name="attr_inf_weapon_traits_blast" value="0" hidden>
|
||
<input type="number" name="attr_inf_weapon_traits_blast_selector" value="1" hidden>
|
||
|
||
<input type="checkbox" name="attr_inf_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_inf_weapon_traits_blast_selector" checked>|
|
||
<input type="radio" value="2" name="attr_inf_weapon_traits_blast_selector">
|
||
<input type="radio" value="3" name="attr_inf_weapon_traits_blast_selector">
|
||
</span>
|
||
</span>
|
||
|
||
<span class="trait-item">
|
||
Brace <input type="checkbox" name="attr_inf_weapon_traits_brace" value="1">
|
||
<input type="number" name="attr_inf_weapon_traits_brace" value="0" hidden>
|
||
<input type="number" name="attr_inf_weapon_traits_brace_selector" value="1" hidden>
|
||
<input type="checkbox" name="attr_inf_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_inf_weapon_traits_brace_selector" checked>|
|
||
<input type="radio" value="2" name="attr_inf_weapon_traits_brace_selector">
|
||
<input type="radio" value="3" name="attr_inf_weapon_traits_brace_selector">
|
||
</span>
|
||
</span>
|
||
<span class="trait-item">
|
||
Corrosion <input type="checkbox" name="attr_inf_weapon_traits_corrosion" value="1">
|
||
<input type="number" name="attr_inf_weapon_traits_corrosion" value="0" hidden>
|
||
<input type="number" name="attr_inf_weapon_traits_corrosion_selector" value="1" hidden>
|
||
<input type="checkbox" name="attr_inf_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_inf_weapon_traits_corrosion_selector" checked>|
|
||
<input type="radio" value="2" name="attr_inf_weapon_traits_corrosion_selector">
|
||
<input type="radio" value="3" name="attr_inf_weapon_traits_corrosion_selector">
|
||
</span>
|
||
</span>
|
||
<span class="trait-item">
|
||
Frag <input type="checkbox" name="attr_inf_weapon_traits_frag" value="1">
|
||
<input type="number" name="attr_inf_weapon_traits_frag" value="0" hidden>
|
||
<input type="number" name="attr_inf_weapon_traits_frag_selector" value="1" hidden>
|
||
<input type="checkbox" name="attr_inf_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_inf_weapon_traits_frag_selector" checked>|
|
||
<input type="radio" value="2" name="attr_inf_weapon_traits_frag_selector">
|
||
<input type="radio" value="3" name="attr_inf_weapon_traits_frag_selector">
|
||
</span>
|
||
</span>
|
||
|
||
|
||
<span class="trait-item">
|
||
Haywire <input type="checkbox" name="attr_inf_weapon_traits_haywire" value="1">
|
||
<input type="number" name="attr_inf_weapon_traits_haywire" value="0" hidden>
|
||
<input type="number" name="attr_inf_weapon_traits_haywire_selector" value="1" hidden>
|
||
<input type="checkbox" name="attr_inf_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_inf_weapon_traits_haywire_selector" checked>|
|
||
<input type="radio" value="2" name="attr_inf_weapon_traits_haywire_selector">
|
||
<input type="radio" value="3" name="attr_inf_weapon_traits_haywire_selector">
|
||
</span>
|
||
</span>
|
||
|
||
<span class="trait-item">
|
||
Indirect <input type="checkbox" name="attr_inf_weapon_traits_indirect" value="1">
|
||
<input type="number" name="attr_inf_weapon_traits_indirect" value="0" hidden>
|
||
<input type="number" name="attr_inf_weapon_traits_indirect_selector" value="1" hidden>
|
||
<input type="checkbox" name="attr_inf_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_inf_weapon_traits_indirect_selector" checked>|
|
||
<input type="radio" value="2" name="attr_inf_weapon_traits_indirect_selector">
|
||
<input type="radio" value="3" name="attr_inf_weapon_traits_indirect_selector">
|
||
</span>
|
||
</span>
|
||
|
||
<span class="trait-item">
|
||
Missile <input type="checkbox" name="attr_inf_weapon_traits_missile" value="1">
|
||
<input type="number" name="attr_inf_weapon_traits_missile" value="0" hidden>
|
||
<input type="number" name="attr_inf_weapon_traits_missile_selector" value="1" hidden>
|
||
<input type="checkbox" name="attr_inf_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_inf_weapon_traits_missile_selector" checked>|
|
||
<input type="radio" value="2" name="attr_inf_weapon_traits_missile_selector">
|
||
<input type="radio" value="3" name="attr_inf_weapon_traits_missile_selector">
|
||
</span>
|
||
</span>
|
||
|
||
<span class="trait-item">
|
||
Muscle Powered <input type="checkbox" name="attr_inf_weapon_traits_musclepowered" value="1">
|
||
<input type="number" name="attr_inf_weapon_traits_musclepowered" value="0" hidden>
|
||
<input type="number" name="attr_inf_weapon_traits_musclepowered_selector" value="1" hidden>
|
||
<input type="checkbox" name="attr_inf_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_inf_weapon_traits_musclepowered_selector" checked>|
|
||
<input type="radio" value="2" name="attr_inf_weapon_traits_musclepowered_selector">
|
||
<input type="radio" value="3" name="attr_inf_weapon_traits_musclepowered_selector">
|
||
</span>
|
||
</span>
|
||
|
||
|
||
<span class="trait-item">
|
||
Non-Lethal <input type="checkbox" name="attr_inf_weapon_traits_nonlethal" value="1">
|
||
<input type="number" name="attr_inf_weapon_traits_nonlethal" value="0" hidden>
|
||
<input type="number" name="attr_inf_weapon_traits_nonlethal_selector" value="1" hidden>
|
||
<input type="checkbox" name="attr_inf_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_inf_weapon_traits_nonlethal_selector" checked>|
|
||
<input type="radio" value="2" name="attr_inf_weapon_traits_nonlethal_selector">
|
||
<input type="radio" value="3" name="attr_inf_weapon_traits_nonlethal_selector">
|
||
</span>
|
||
</span>
|
||
|
||
<span class="trait-item">
|
||
Poison <input type="checkbox" name="attr_inf_weapon_traits_poison" value="1">
|
||
<input type="number" name="attr_inf_weapon_traits_poison" value="0" hidden>
|
||
<input type="number" name="attr_inf_weapon_traits_poison_selector" value="1" hidden>
|
||
<input type="checkbox" name="attr_inf_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_inf_weapon_traits_poison_selector" checked>|
|
||
<input type="radio" value="2" name="attr_inf_weapon_traits_poison_selector">
|
||
<input type="radio" value="3" name="attr_inf_weapon_traits_poison_selector">
|
||
</span>
|
||
</span>
|
||
|
||
<span class="trait-item">
|
||
Placed <input type="checkbox" name="attr_inf_weapon_traits_placed" value="1">
|
||
<input type="number" name="attr_inf_weapon_traits_placed" value="0" hidden>
|
||
<input type="number" name="attr_inf_weapon_traits_placed_selector" value="1" hidden>
|
||
<input type="checkbox" name="attr_inf_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_inf_weapon_traits_placed_selector" checked>|
|
||
<input type="radio" value="2" name="attr_inf_weapon_traits_placed_selector">
|
||
<input type="radio" value="3" name="attr_inf_weapon_traits_placed_selector">
|
||
</span>
|
||
</span>
|
||
|
||
<span class="trait-item">
|
||
Precise <input type="checkbox" name="attr_inf_weapon_traits_precise" value="1">
|
||
<input type="number" name="attr_inf_weapon_traits_precise" value="0" hidden>
|
||
<input type="number" name="attr_inf_weapon_traits_precise_selector" value="1" hidden>
|
||
<input type="checkbox" name="attr_inf_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_inf_weapon_traits_precise_selector" checked>|
|
||
<input type="radio" value="2" name="attr_inf_weapon_traits_precise_selector">
|
||
<input type="radio" value="3" name="attr_inf_weapon_traits_precise_selector">
|
||
</span>
|
||
</span>
|
||
|
||
<span class="trait-item">
|
||
Reach <input type="checkbox" name="attr_inf_weapon_traits_reach" value="1">
|
||
<input type="number" name="attr_inf_weapon_traits_reach" value="0" hidden>
|
||
<input type="number" name="attr_inf_weapon_traits_reach_selector" value="1" hidden>
|
||
<input type="checkbox" name="attr_inf_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_inf_weapon_traits_reach_selector" checked>|
|
||
<input type="radio" value="2" name="attr_inf_weapon_traits_reach_selector">
|
||
<input type="radio" value="3" name="attr_inf_weapon_traits_reach_selector">
|
||
</span>
|
||
</span>
|
||
|
||
<span class="trait-item">
|
||
Silent <input type="checkbox" name="attr_inf_weapon_traits_silent" value="1">
|
||
<input type="number" name="attr_inf_weapon_traits_silent" value="0" hidden>
|
||
<input type="number" name="attr_inf_weapon_traits_silent_selector" value="1" hidden>
|
||
<input type="checkbox" name="attr_inf_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_inf_weapon_traits_silent_selector" checked>|
|
||
<input type="radio" value="2" name="attr_inf_weapon_traits_silent_selector">
|
||
<input type="radio" value="3" name="attr_inf_weapon_traits_silent_selector">
|
||
</span>
|
||
</span>
|
||
|
||
<span class="trait-item">
|
||
Slashing <input type="checkbox" name="attr_inf_weapon_traits_slashing" value="1">
|
||
<input type="number" name="attr_inf_weapon_traits_slashing" value="0" hidden>
|
||
<input type="number" name="attr_inf_weapon_traits_slashing_selector" value="1" hidden>
|
||
<input type="checkbox" name="attr_inf_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_inf_weapon_traits_slashing_selector" checked>|
|
||
<input type="radio" value="2" name="attr_inf_weapon_traits_slashing_selector">
|
||
<input type="radio" value="3" name="attr_inf_weapon_traits_slashing_selector">
|
||
</span>
|
||
</span>
|
||
|
||
<span class="trait-item">
|
||
Shot <input type="checkbox" name="attr_inf_weapon_traits_shot" value="1">
|
||
<input type="number" name="attr_inf_weapon_traits_shot" value="0" hidden>
|
||
<input type="number" name="attr_inf_weapon_traits_shot_selector" value="1" hidden>
|
||
<input type="checkbox" name="attr_inf_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_inf_weapon_traits_shot_selector" checked>|
|
||
<input type="radio" value="2" name="attr_inf_weapon_traits_shot_selector">
|
||
<input type="radio" value="3" name="attr_inf_weapon_traits_shot_selector">
|
||
</span>
|
||
</span>
|
||
|
||
<span class="trait-item">
|
||
Shock <input type="checkbox" name="attr_inf_weapon_traits_shock" value="1">
|
||
<input type="number" name="attr_inf_weapon_traits_shock" value="0" hidden>
|
||
<input type="number" name="attr_inf_weapon_traits_shock_selector" value="1" hidden>
|
||
<input type="checkbox" name="attr_inf_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_inf_weapon_traits_shock_selector" checked>|
|
||
<input type="radio" value="2" name="attr_inf_weapon_traits_shock_selector">
|
||
<input type="radio" value="3" name="attr_inf_weapon_traits_shock_selector">
|
||
</span>
|
||
</span>
|
||
|
||
<span class="trait-item">
|
||
Smoke <input type="checkbox" name="attr_inf_weapon_traits_smoke" value="1">
|
||
<input type="number" name="attr_inf_weapon_traits_smoke" value="0" hidden>
|
||
<input type="number" name="attr_inf_weapon_traits_smoke_selector" value="1" hidden>
|
||
<input type="checkbox" name="attr_inf_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_inf_weapon_traits_smoke_selector" checked>|
|
||
<input type="radio" value="2" name="attr_inf_weapon_traits_smoke_selector">
|
||
<input type="radio" value="3" name="attr_inf_weapon_traits_smoke_selector">
|
||
</span>
|
||
</span>
|
||
|
||
<span class="trait-item">
|
||
Spray <input type="checkbox" name="attr_inf_weapon_traits_spray" value="1">
|
||
<input type="number" name="attr_inf_weapon_traits_spray" value="0" hidden>
|
||
<input type="number" name="attr_inf_weapon_traits_spray_selector" value="1" hidden>
|
||
<input type="checkbox" name="attr_inf_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_inf_weapon_traits_spray_selector" checked>|
|
||
<input type="radio" value="2" name="attr_inf_weapon_traits_spray_selector">
|
||
<input type="radio" value="3" name="attr_inf_weapon_traits_spray_selector">
|
||
</span>
|
||
</span>
|
||
|
||
<span class="trait-item">
|
||
Stun <input type="checkbox" name="attr_inf_weapon_traits_stun" value="1">
|
||
<input type="number" name="attr_inf_weapon_traits_stun" value="0" hidden>
|
||
<input type="number" name="attr_inf_weapon_traits_stun_selector" value="1" hidden>
|
||
<input type="checkbox" name="attr_inf_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_inf_weapon_traits_stun_selector" checked>|
|
||
<input type="radio" value="2" name="attr_inf_weapon_traits_stun_selector">
|
||
<input type="radio" value="3" name="attr_inf_weapon_traits_stun_selector">
|
||
</span>
|
||
</span>
|
||
|
||
<span class="trait-item">
|
||
Thrown <input type="checkbox" name="attr_inf_weapon_traits_thrown" value="1">
|
||
<input type="number" name="attr_inf_weapon_traits_thrown" value="0" hidden>
|
||
<input type="number" name="attr_inf_weapon_traits_thrown_selector" value="1" hidden>
|
||
<input type="checkbox" name="attr_inf_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_inf_weapon_traits_thrown_selector" checked>|
|
||
<input type="radio" value="2" name="attr_inf_weapon_traits_thrown_selector">
|
||
<input type="radio" value="3" name="attr_inf_weapon_traits_thrown_selector">
|
||
</span>
|
||
</span>
|
||
|
||
</span>
|
||
|
||
<div class="trait-box">
|
||
<span class="trait-item">
|
||
AoE: <input type="number" name="attr_inf_weapon_traits_aoe" class="digit" value="0" min="0">
|
||
<input type="number" name="attr_inf_weapon_traits_aoe_selector" value="1" hidden>
|
||
<input type="checkbox" name="attr_inf_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_inf_weapon_traits_aoe_selector" checked>|
|
||
<input type="radio" value="2" name="attr_inf_weapon_traits_aoe_selector">
|
||
<input type="radio" value="3" name="attr_inf_weapon_traits_aoe_selector">
|
||
</span>
|
||
</span>
|
||
<span class="trait-item">
|
||
AP:<input type="number" name="attr_inf_weapon_traits_ap" class="digit" value="0">
|
||
<input type="number" name="attr_inf_weapon_traits_ap_selector" value="1" hidden>
|
||
<input type="checkbox" name="attr_inf_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_inf_weapon_traits_ap_selector" checked>|
|
||
(<input type="radio" value="2" name="attr_inf_weapon_traits_ap_selector">
|
||
<input type="radio" value="3" name="attr_inf_weapon_traits_ap_selector">)
|
||
</span>
|
||
</span>
|
||
|
||
<span class="trait-item">
|
||
Burst:<input type="number" name="attr_inf_weapon_traits_burst" class="digit" value="0" min="0">
|
||
<input type="number" name="attr_inf_weapon_traits_burst_selector" value="1" hidden>
|
||
<input type="checkbox" name="attr_inf_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_inf_weapon_traits_burst_selector" checked>|
|
||
<input type="radio" value="2" name="attr_inf_weapon_traits_burst_selector">
|
||
<input type="radio" value="3" name="attr_inf_weapon_traits_burst_selector">
|
||
</span>
|
||
</span>
|
||
<span class="trait-item">
|
||
Brawler:<input type="number" name="attr_inf_weapon_traits_brawler" class="digit" value="0">
|
||
<input type="number" name="attr_inf_weapon_traits_brawler_selector" value="1" hidden>
|
||
<input type="checkbox" name="attr_inf_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_inf_weapon_traits_brawler_selector" checked>|
|
||
<input type="radio" value="2" name="attr_inf_weapon_traits_brawler_selector">
|
||
<input type="radio" value="3" name="attr_inf_weapon_traits_brawler_selector">
|
||
</span>
|
||
</span>
|
||
|
||
<span class="trait-item">
|
||
Demo:<input type="number" name="attr_inf_weapon_traits_demo" class="digit" value="0">
|
||
<input type="number" name="attr_inf_weapon_traits_demo_selector" value="1" hidden>
|
||
<input type="checkbox" name="attr_inf_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_inf_weapon_traits_demo_selector" checked>|
|
||
<input type="radio" value="2" name="attr_inf_weapon_traits_demo_selector">
|
||
<input type="radio" value="3" name="attr_inf_weapon_traits_demo_selector">
|
||
</span>
|
||
</span>
|
||
<span class="trait-item">
|
||
Fire:<input type="number" name="attr_inf_weapon_traits_fire" class="digit" value="0" min="0">
|
||
<input type="number" name="attr_inf_weapon_traits_fire_selector" value="1" hidden>
|
||
<input type="checkbox" name="attr_inf_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_inf_weapon_traits_fire_selector" checked>|
|
||
<input type="radio" value="2" name="attr_inf_weapon_traits_fire_selector">
|
||
<input type="radio" value="3" name="attr_inf_weapon_traits_fire_selector">
|
||
</span>
|
||
</span>
|
||
<span class="trait-item">
|
||
Reliable:<input type="number" name="attr_inf_weapon_traits_reliable" class="digit" value="0" min="0">
|
||
<input type="number" name="attr_inf_weapon_traits_reliable_selector" value="1" hidden>
|
||
<input type="checkbox" name="attr_inf_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_inf_weapon_traits_reliable_selector" checked>|
|
||
<input type="radio" value="2" name="attr_inf_weapon_traits_reliable_selector">
|
||
<input type="radio" value="3" name="attr_inf_weapon_traits_reliable_selector">
|
||
</span>
|
||
</span>
|
||
</div>
|
||
<div>
|
||
<p>
|
||
See Desc <input type="checkbox" name="attr_inf_weapon_traits_see_desc" value="1">
|
||
<input type="text" name="attr_inf_weapon_traits_desc" value="">
|
||
<input type="number" name="attr_inf_weapon_traits_desc_selector" value="1" hidden>
|
||
</p>
|
||
<p>
|
||
Other: <input type="text" name="attr_inf_weapon_traits_other" value="">
|
||
</p>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
Mods: <textarea class="inputarea" name="attr_inf_weapon_mods"> </textarea>
|
||
|
||
|
||
</div>
|
||
</span>
|
||
</fieldset>
|
||
</div>
|
||
|
||
<input type="checkbox" name="attr_personal_weapons_hide" class="sheet-toggle-show" hidden>
|
||
<div class="sheet-body">
|
||
<textarea name="attr_weapons_text" class="inputarea"></textarea>
|
||
</div>
|
||
</div>
|
||
|
||
<div>
|
||
<label for="equipment" name="attr_personal_equipment_hide">Equipment.</label> <input type="checkbox" id="equipment" name="attr_personal_equipment_hide" class="sheet-toggle-show" hidden>
|
||
|
||
|
||
<fieldset class="repeating_personal-equipment">
|
||
<div>
|
||
<span><input class="infoused" name="attr_personal_equipment_name" type="text"> </span>
|
||
<span class="pull-right">
|
||
<input type="number" name="attr_personal_equipment_burden" step="0.25" value="0" />
|
||
</span>
|
||
<input type="checkbox" name="attr_personal_equipment_hide" class="sheet-toggle-show">
|
||
|
||
<div class="sheet-body">
|
||
[G] <input type="checkbox" name="attr_personal_equipment_gadget" />
|
||
[K] <input type="checkbox" name="attr_personal_equipment_kit" />
|
||
[R] <input type="checkbox" name="attr_personal_equipment_rig" />
|
||
[S] <input type="checkbox" name="attr_personal_equipment_suit" />
|
||
Modifiers: <input class="infoused" type="text" name="attr_personal_equipment_modifiers" />
|
||
PL:<input name="attr_personal_equipment_pl" type="number">
|
||
<h5>Notes</h5> <textarea class="inputarea" name="attr_personal_equipment_desc"></textarea>
|
||
</div>
|
||
</div>
|
||
</fieldset>
|
||
<input type="checkbox" name="attr_personal_equipment_hide" class="sheet-toggle-show" hidden>
|
||
<div class="sheet-body">
|
||
<textarea name="attr_inventory_text" class="inputarea"></textarea>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
|
||
<div class="sheet-creature">
|
||
<div class="background">
|
||
<div class="char-image">
|
||
<img class="portrait" name="attr_character_avatar">
|
||
<span>HT <input type="number" name="attr_height_m" step="0.01" value="0">m /<input type="number" name="attr_height_ft" step="0.01" value="0">ft </span>
|
||
<span>WT <input type="number" name="attr_weight_kg" step="0.01" value="0">kg /<input type="number" name="attr_weight_lbs" step="0.01" value="0">lbs </span>
|
||
<div>
|
||
|
||
</div>
|
||
</div>
|
||
<div class="background-info">
|
||
<div>Name:<input type="text" name="attr_character_name">
|
||
Temperment:<input type="text" name="attr_gear_actor_type">
|
||
TV <input type="number" name="attr_gear_tv" value="0">
|
||
</div>
|
||
<div>MR:<input type="text" name="attr_gear_mr" class="em13">
|
||
Range: <input type="text" name="attr_creature_range" class="em13"> </div>
|
||
|
||
|
||
<span>Toughness <input type="number" name="attr_toughness" value="2" style="width: 2em;">
|
||
Armour <input type="number" name="attr_gear_arm" value="0">
|
||
Sys<input type="number" class="digit" name="attr_damage_system_max" value="0">
|
||
She<input type="number" class="digit" name="attr_damage_shell_max" value="0">
|
||
<div> Description
|
||
<textarea class="inputarea" name="attr_desc"></textarea>
|
||
</div>
|
||
|
||
</div>
|
||
</div>
|
||
<div class="background">
|
||
<div class="infobox">
|
||
<span>GU:
|
||
<input type="number" name="attr_gear_gunnery_base" class="digit" value="0">
|
||
Bonus: <input type="number" name="attr_gear_gunnery_bonus" class="digit" value="0">
|
||
Total TN:<span type="number" name="attr_gear_gunnery" class="digit"></span>
|
||
</span>
|
||
|
||
<span>Skill <input type="number" name="attr_gear_gunnery_skill" class="digit" value="2">
|
||
Expertise: <input type="number" name="attr_gear_gunnery_expertise" class="digit" value="0" min="0" max="3">
|
||
<button type="action" name="act_geartumble_gunnery">Roll</button></span>
|
||
<p></p> Use for attacking
|
||
</div>
|
||
<div class="infobox">
|
||
<span>PI: <input type="number" name="attr_gear_pilot_base" class="digit" value="0">
|
||
Bonus <input type="number" name="attr_gear_pilot_bonus" class="digit" value="0">
|
||
Total TN: <span type="number" name="attr_gear_pilot" class="digit"> </span>
|
||
</span>
|
||
<span>Skill <input type="number" name="attr_gear_pilot_skill" class="digit" value="2">
|
||
Expertise: <input type="number" name="attr_gear_pilot_expertise" class="digit" value="0" min="0" max="3">
|
||
<button type="action" name="act_geartumble_pilot">Roll</button> </span>
|
||
<p></p>Use for dodging
|
||
</div>
|
||
<div class="infobox">
|
||
<span>EW: <input type="number" name="attr_gear_electronicwarfare_base" class="digit" value="0">
|
||
Bonus <input type="number" name="attr_gear_electronicwarfare_bonus" class="digit" value="0">
|
||
Total TN: <span type="number" name="attr_gear_electronicwarfare" class="digit"></span>
|
||
</span>
|
||
<span>Skill <input type="number" name="attr_gear_electronicwarfare_skill" class="digit" value="2">
|
||
Expertise: <input type="number" name="attr_gear_electronicwarfare_expertise" class="digit" value="0" min="0" max="3">
|
||
<button type="action" name="act_geartumble_electronicwarfare">Roll</button>
|
||
<p></p>Use for other actions, awareness and tracking skill 2, inteligence related skill 1
|
||
|
||
</span>
|
||
</div>
|
||
|
||
|
||
</div>
|
||
<div class="attributes">
|
||
<div class="damage-box" id="gear2damage">
|
||
<div class="">
|
||
<h3>Posture</h3>
|
||
<select name="attr_posture">
|
||
<option value="stationary">Stationary</option>
|
||
<option value="braced">Braced</option>
|
||
<option value="dug_in">-> Dug In</option>
|
||
<option value="standard" selected>Standard</option>
|
||
<option value="cautious_move">-> Cautious Move</option>
|
||
<option value="all_out">All Out</option>
|
||
<option value="top_speed">-> Top Speed</option>
|
||
</select>
|
||
<button type="action" name="act_initiative_start">Initiative</button>
|
||
: <input type="number" name="attr_initiative" value="0" min="0" class="digit">
|
||
<p>AP:<input type="number" name="attr_action_points" value="1" min="0" class="digit">/
|
||
<input type="number" name="attr_action_points_max" value="1" min="0" class="digit">
|
||
</p>
|
||
|
||
<button type="action" name="act_round_start">Start Round</button>
|
||
|
||
<p>
|
||
Declare Actions:<select name="attr_action_penalty">
|
||
<option value="0">0</option>
|
||
<option value="1" selected>1</option>
|
||
<option value="2">2</option>
|
||
<option value="3">3</option>
|
||
<option value="4">4</option>
|
||
</select>
|
||
</p>
|
||
<button type="action" name="act_activation_start">Start Activation</button>
|
||
</div>
|
||
<div class="infobox">
|
||
<h3>Damage Results</h3>
|
||
<div class="infobox">
|
||
<span><span class="pull-left">Shell:</span><span class="pull-right"><span type="number" name="attr_damage_shell" value="0"></span>/<input type="number" class="digit" name="attr_damage_shell_max" value="4"></span>
|
||
</span>
|
||
<span><span class="pull-left">System:</span><span class="pull-right"> <span type="number" name="attr_damage_system" value="0"></span>/<input type="number" class="digit" name="attr_damage_system_max" value="4"></span>
|
||
</span>
|
||
<span><span class="pull-left">Total:</span><span class="pull-right" style="text-indent: -3em;"><span type="number" name="attr_damage_total" value="0"></span>
|
||
</div>
|
||
|
||
<h4> Damage</h4>
|
||
<fieldset class="repeating_damage">
|
||
<input type="text" name="attr_damage_name" class="infoused">
|
||
-<input type="number" class="digit" name="attr_damage_level" value="0" min="0" max="4">d6
|
||
<div>
|
||
<span>(<input type="checkbox" name="attr_damage_shell_check" value="1"> shell
|
||
<input type="checkbox" name="attr_damage_system_check" value="1"> system) </span>
|
||
i:<input type="checkbox" name="attr_damage_info" class="sheet-toggle-show" />
|
||
<div class="sheet-body">
|
||
Effect:<textarea name="attr_damage_effect" class="inputarea"></textarea>
|
||
Deterioration:<textarea name="attr_damage_deterioration" class="inputarea"></textarea>
|
||
Fix:<textarea name="attr_damage_fix" class="inputarea"></textarea>
|
||
</div>
|
||
</div>
|
||
</fieldset>
|
||
<span>Add Damage type: <select name="attr_creature_damage_type_add">
|
||
<option disabled style="font-weight: bold;"> DAMAGE RESULTS </option>
|
||
<option value="Anger">Anger</option>
|
||
<option value="Bleeding">Bleeding</option>
|
||
<option value="Blinded">Blinded</option>
|
||
<option value="Brain Injury">Brain Injury</option>
|
||
<option value="Burned">Burned</option>
|
||
<option value="Combat Fatigue">Combat Fatigue</option>
|
||
<option value="Concussion">Concussion</option>
|
||
<option value="Deafened">Deafened</option>
|
||
<option value="Dehydrated">Dehydrated</option>
|
||
<option value="Encumbered">Encumbered</option>
|
||
<option value="Fear">Fear</option>
|
||
<option value="Fractured/Broken Bones">Fractured/Broken Bones</option>
|
||
<option value="Frozen">Frozen</option>
|
||
<option value="Guilt">Guilt</option>
|
||
<option value="Hallucinations">Hallucinations</option>
|
||
<option value="Internal Bleeding">Internal Bleeding</option>
|
||
<option value="Intoxicated">Intoxicated</option>
|
||
<option value="Knocked Out">Knocked Out</option>
|
||
<option value="Limb Crippled">Limb Crippled</option>
|
||
<option value="On Fire">On Fire</option>
|
||
<option value="Rattled">Rattled</option>
|
||
<option value="Paranoid">Paranoid</option>
|
||
<option value="Poisoned">Poisoned</option>
|
||
<option value="Prone">Prone</option>
|
||
<option value="Ruptured Organ">Ruptured Organ</option>
|
||
<option value="Shock">Shock</option>
|
||
<option value="Slowed">Slowed</option>
|
||
<option value="Snapped">Snapped</option>
|
||
<option value="Starving">Starving</option>
|
||
<option value="Stunned">Stunned</option>
|
||
<option value="The Shakes">The Shakes</option>
|
||
<option value="Terrified">Terrified</option>
|
||
<option value="Wounded">Wounded</option>
|
||
<option disabled style="font-weight: bold;"> VEHICLE DAMAGE RESULTS </option>
|
||
<option value="Catastrophic Limb Damage">Catastrophic Limb Damage</option>
|
||
<option value="Catastrophic System Damage">Catastrophic System Damage</option>
|
||
<option value="Drive System Crippled">Drive System Crippled</option>
|
||
<option value="Drive System Damaged">Drive System Damaged</option>
|
||
<option value="Engine Hit">Engine Hit</option>
|
||
<option value="Hull Breach">Hull Breach</option>
|
||
<option value="It's Gonna Blow">It's Gonna Blow</option>
|
||
<option value="Jammed">Jammed</option>
|
||
<option value="Knocked Down">Knocked Down</option>
|
||
<option value="Major Limb Damage">Major Limb Damage</option>
|
||
<option value="Major System Damage">Major System Damage</option>
|
||
<option value="Major Weapon Destroyed">Major Weapon Destroyed</option>
|
||
<option value="Minor Limb Damage">Minor Limb Damage</option>
|
||
<option value="Minor System Damage">Minor System Damage</option>
|
||
<option value="Minor Weapon Destroyed">Minor Weapon Destroyed</option>
|
||
<option value="On Fire (Vehicle)">On Fire (Vehicle)</option>
|
||
<option value="Secondary Explosion">Secondary Explosion</option>
|
||
<option value="Sensor Malfunction">Sensor Malfunction</option>
|
||
<option value="Unstable">Unstable</option>
|
||
</select> lv: <input type="number" name="attr_creature_damage_lvl" class="digit" min="0">
|
||
<button type="action" name="act_creature_damage_stat">Add New Damage</button> </span>
|
||
|
||
<h4>Damage Notes</h4> <textarea class="inputarea" name="attr_damage_desc" rows="3"></textarea>
|
||
</div>
|
||
</div>
|
||
<div>
|
||
<div class="infobox">
|
||
<h4>Weapons <span class="pull-right">Ammo</span></h4>
|
||
<fieldset class="repeating_infweapon">
|
||
<input type="checkbox" name="attr_inf_weapon_hide" hidden>
|
||
<div><span name="attr_inf_weapon_size" value="Light"></span>
|
||
<span>
|
||
<input type="checkbox" name="attr_inf_weapon_frame_check" class="frame-check" value="1" hidden>
|
||
<span class="no-frame" name="attr_inf_weapon_name" value="Weapon">
|
||
</span>
|
||
<span class="frame" name="attr_frame_weapon_type"></span>
|
||
D: <span type="number" name="attr_inf_weapon_damage"></span>
|
||
Traits:
|
||
<input type="checkbox" name="attr_inf_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
Mode: (<input type="radio" value="2" name="attr_inf_weapon_traits_mode_selector" checked>
|
||
|
||
<span type="text" name="attr_inf_weapon_traits_selector_2"></span>
|
||
<input type="radio" value="3" name="attr_inf_weapon_traits_mode_selector">
|
||
<span type="text" name="attr_inf_weapon_traits_selector_3"></span>)
|
||
<input type="number" name="attr_inf_weapon_traits_mode_selector" value="0" hidden>,
|
||
</span>
|
||
<span type="text" name="attr_inf_weapon_traits" value=""></span>
|
||
|
||
<input class="sheet-ammunition-show" type="checkbox" name="attr_inf_weapon_ammunition_show" value="1" hidden />
|
||
<span class="ammo-box">
|
||
<input type="number" class="digit" name="attr_inf_weapon_ammo" value="1">/
|
||
<span class="max-ammo" type="number" name="attr_inf_weapon_ammo_max" value="1"></span>
|
||
</span>
|
||
|
||
i:<input type="checkbox" name="attr_inf_weapon_hide" class="sheet-toggle-show">
|
||
</span>
|
||
<button type="action" name="act_tumble">roll</button>
|
||
</div>
|
||
|
||
<input type="checkbox" name="attr_inf_weapon_hide" class="sheet-toggle-show" hidden>
|
||
<div class="sheet-body">
|
||
Damage: <input type="number" name="attr_inf_weapon_damage" value="0">
|
||
<input type="number" name="attr_inf_weapon_tn_bonus" value="0" hidden>
|
||
|
||
<span class="pull-right">Burden: <input type="number" name="attr_inf_weapon_burden" step="0.25" value="0"></span>
|
||
<span>
|
||
<select name="attr_inf_weapon_size" class="size">
|
||
<option value="Light" selected>Light</option>
|
||
<option value="Medium">Medium</option>
|
||
<option value="Heavy">Heavy</option>
|
||
<option value=" ">None</option>
|
||
</select>
|
||
<input type="checkbox" name="attr_inf_weapon_frame_check" value="1" class="frame-check" hidden>
|
||
<span class="no-frame"> <input class="infoused" type="text" name="attr_inf_weapon_name" value="weapon">
|
||
</span>
|
||
<span class="frame">
|
||
<select name="attr_frame_weapon_type" class="size">
|
||
<option value="Assault Rifle">Assault Rifle</option>
|
||
<option value="Auto Shotgun">Auto Shotgun</option>
|
||
<option value="Carbine">Carbine</option>
|
||
<option value="Rifle">Rifle</option>
|
||
<option value="Machine Pistol">Machine Pistol</option>
|
||
<option value="Pistol/Revolver">Pistol/Revolver</option>
|
||
<option value="Shotgun">Shotgun</option>
|
||
<option value="Sniper Rifle">Sniper Rifle</option>
|
||
</select>
|
||
</span>
|
||
</span>
|
||
|
||
<p>Range: <input class="emcalc" style="--index: -11;" type="text" name="attr_inf_weapon_range">
|
||
<span class="pull-right">Ammo:<input type="number" class="digit" name="attr_inf_weapon_ammo" value="1">/<input type="number" name="attr_inf_weapon_ammo_max" class="digit" value="1"></span>
|
||
</p>
|
||
Frame:<input type="checkbox" name="attr_inf_weapon_frame_check" value="1" class="frame-check">
|
||
Cumbersome:<input type="checkbox" name="attr_inf_weapon_cumbersome">
|
||
PL: <input type="number" name="attr_inf_weapon_pl" class="digit" value="1">
|
||
<span>
|
||
<select name="attr_inf_weapon_domain">
|
||
<option value="1">Athletics <span></span> </option>
|
||
<option value="2">Awareness</option>
|
||
<option value="3">Business</option>
|
||
<option value="4">Craft</option>
|
||
<option value="5">Culture</option>
|
||
<option value="6">Electronic Warfare</option>
|
||
<option value="7">Electronics</option>
|
||
<option value="8">Gunnery</option>
|
||
<option value="9">Hard Science</option>
|
||
<option value="10">Influence</option>
|
||
<option value="11">Institutions</option>
|
||
<option value="12">Investigation</option>
|
||
<option value="13">Mechanics</option>
|
||
<option value="14">Medicine</option>
|
||
<option value="15">Melee</option>
|
||
<option value="16">Pilot</option>
|
||
<option value="17">Showmanship</option>
|
||
<option value="18">Socialscience</option>
|
||
<option value="19">Survival</option>
|
||
<option value="20">Tactics</option>
|
||
</select>
|
||
|
||
</span>
|
||
<span>Skill:<input type="number" name="attr_inf_skill_level" class="digit" value="0" min="0" max="5">(<input type="checkbox" name="attr_inf_weapon_skill_familiar" value="1">F)
|
||
</span>
|
||
<span>Tn Bonus:<input type="number" name="attr_inf_weapon_tn_bonus" value="0"> (Will need to put in TN bonus from GU)
|
||
</span>
|
||
<div>
|
||
|
||
Traits:
|
||
<input type="checkbox" name="attr_inf_weapon_traits_show" />
|
||
|
||
<input type="checkbox" name="attr_inf_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
Mode: (<input type="radio" value="2" name="attr_inf_weapon_traits_mode_selector" checked>
|
||
|
||
<span type="text" name="attr_inf_weapon_traits_selector_2"></span>
|
||
<input type="radio" value="3" name="attr_inf_weapon_traits_mode_selector">
|
||
<span type="text" name="attr_inf_weapon_traits_selector_3"></span>)
|
||
<input type="number" name="attr_inf_weapon_traits_mode_selector" value="0" hidden>
|
||
</span>
|
||
<span type="text" name="attr_inf_weapon_traits" value=""></span>
|
||
<input type="checkbox" name="attr_inf_weapon_traits_show" class="sheet-toggle-show" hidden />
|
||
<div class="sheet-body" style="border: #000 1px solid;">
|
||
<span class="trait-box">
|
||
<span class="trait-item">
|
||
Mode:<input type="checkbox" name="attr_inf_weapon_traits_mode" value="1">
|
||
<input type="checkbox" name="attr_inf_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<span type="text" name="attr_inf_weapon_traits_selector_2"> </span> OR
|
||
<span type="text" name="attr_inf_weapon_traits_selector_3"> </span>
|
||
</span>
|
||
</span>
|
||
<span class="trait-item">
|
||
Advanced:
|
||
<input type="checkbox" name="attr_inf_weapon_traits_advanced" value="1">
|
||
<input type="number" name="attr_inf_weapon_traits_advanced" value="0" hidden>
|
||
<input type="number" name="attr_inf_weapon_traits_advanced_selector" value="1" hidden>
|
||
<input type="checkbox" name="attr_inf_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_inf_weapon_traits_advanced_selector" checked>|
|
||
<input type="radio" value="2" name="attr_inf_weapon_traits_advanced_selector">
|
||
<input type="radio" value="3" name="attr_inf_weapon_traits_advanced_selector">
|
||
</span>
|
||
</span>
|
||
|
||
<span class="trait-item">
|
||
Blast <input type="checkbox" name="attr_inf_weapon_traits_blast" value="1">
|
||
<input type="number" name="attr_inf_weapon_traits_blast" value="0" hidden>
|
||
<input type="number" name="attr_inf_weapon_traits_blast_selector" value="1" hidden>
|
||
|
||
<input type="checkbox" name="attr_inf_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_inf_weapon_traits_blast_selector" checked>|
|
||
<input type="radio" value="2" name="attr_inf_weapon_traits_blast_selector">
|
||
<input type="radio" value="3" name="attr_inf_weapon_traits_blast_selector">
|
||
</span>
|
||
</span>
|
||
|
||
<span class="trait-item">
|
||
Brace <input type="checkbox" name="attr_inf_weapon_traits_brace" value="1">
|
||
<input type="number" name="attr_inf_weapon_traits_brace" value="0" hidden>
|
||
<input type="number" name="attr_inf_weapon_traits_brace_selector" value="1" hidden>
|
||
<input type="checkbox" name="attr_inf_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_inf_weapon_traits_brace_selector" checked>|
|
||
<input type="radio" value="2" name="attr_inf_weapon_traits_brace_selector">
|
||
<input type="radio" value="3" name="attr_inf_weapon_traits_brace_selector">
|
||
</span>
|
||
</span>
|
||
<span class="trait-item">
|
||
Corrosion <input type="checkbox" name="attr_inf_weapon_traits_corrosion" value="1">
|
||
<input type="number" name="attr_inf_weapon_traits_corrosion" value="0" hidden>
|
||
<input type="number" name="attr_inf_weapon_traits_corrosion_selector" value="1" hidden>
|
||
<input type="checkbox" name="attr_inf_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_inf_weapon_traits_corrosion_selector" checked>|
|
||
<input type="radio" value="2" name="attr_inf_weapon_traits_corrosion_selector">
|
||
<input type="radio" value="3" name="attr_inf_weapon_traits_corrosion_selector">
|
||
</span>
|
||
</span>
|
||
<span class="trait-item">
|
||
Frag <input type="checkbox" name="attr_inf_weapon_traits_frag" value="1">
|
||
<input type="number" name="attr_inf_weapon_traits_frag" value="0" hidden>
|
||
<input type="number" name="attr_inf_weapon_traits_frag_selector" value="1" hidden>
|
||
<input type="checkbox" name="attr_inf_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_inf_weapon_traits_frag_selector" checked>|
|
||
<input type="radio" value="2" name="attr_inf_weapon_traits_frag_selector">
|
||
<input type="radio" value="3" name="attr_inf_weapon_traits_frag_selector">
|
||
</span>
|
||
</span>
|
||
|
||
|
||
<span class="trait-item">
|
||
Haywire <input type="checkbox" name="attr_inf_weapon_traits_haywire" value="1">
|
||
<input type="number" name="attr_inf_weapon_traits_haywire" value="0" hidden>
|
||
<input type="number" name="attr_inf_weapon_traits_haywire_selector" value="1" hidden>
|
||
<input type="checkbox" name="attr_inf_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_inf_weapon_traits_haywire_selector" checked>|
|
||
<input type="radio" value="2" name="attr_inf_weapon_traits_haywire_selector">
|
||
<input type="radio" value="3" name="attr_inf_weapon_traits_haywire_selector">
|
||
</span>
|
||
</span>
|
||
|
||
<span class="trait-item">
|
||
Indirect <input type="checkbox" name="attr_inf_weapon_traits_indirect" value="1">
|
||
<input type="number" name="attr_inf_weapon_traits_indirect" value="0" hidden>
|
||
<input type="number" name="attr_inf_weapon_traits_indirect_selector" value="1" hidden>
|
||
<input type="checkbox" name="attr_inf_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_inf_weapon_traits_indirect_selector" checked>|
|
||
<input type="radio" value="2" name="attr_inf_weapon_traits_indirect_selector">
|
||
<input type="radio" value="3" name="attr_inf_weapon_traits_indirect_selector">
|
||
</span>
|
||
</span>
|
||
|
||
<span class="trait-item">
|
||
Missile <input type="checkbox" name="attr_inf_weapon_traits_missile" value="1">
|
||
<input type="number" name="attr_inf_weapon_traits_missile" value="0" hidden>
|
||
<input type="number" name="attr_inf_weapon_traits_missile_selector" value="1" hidden>
|
||
<input type="checkbox" name="attr_inf_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_inf_weapon_traits_missile_selector" checked>|
|
||
<input type="radio" value="2" name="attr_inf_weapon_traits_missile_selector">
|
||
<input type="radio" value="3" name="attr_inf_weapon_traits_missile_selector">
|
||
</span>
|
||
</span>
|
||
|
||
<span class="trait-item">
|
||
Muscle Powered <input type="checkbox" name="attr_inf_weapon_traits_musclepowered" value="1">
|
||
<input type="number" name="attr_inf_weapon_traits_musclepowered" value="0" hidden>
|
||
<input type="number" name="attr_inf_weapon_traits_musclepowered_selector" value="1" hidden>
|
||
<input type="checkbox" name="attr_inf_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_inf_weapon_traits_musclepowered_selector" checked>|
|
||
<input type="radio" value="2" name="attr_inf_weapon_traits_musclepowered_selector">
|
||
<input type="radio" value="3" name="attr_inf_weapon_traits_musclepowered_selector">
|
||
</span>
|
||
</span>
|
||
|
||
|
||
<span class="trait-item">
|
||
Non-Lethal <input type="checkbox" name="attr_inf_weapon_traits_nonlethal" value="1">
|
||
<input type="number" name="attr_inf_weapon_traits_nonlethal" value="0" hidden>
|
||
<input type="number" name="attr_inf_weapon_traits_nonlethal_selector" value="1" hidden>
|
||
<input type="checkbox" name="attr_inf_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_inf_weapon_traits_nonlethal_selector" checked>|
|
||
<input type="radio" value="2" name="attr_inf_weapon_traits_nonlethal_selector">
|
||
<input type="radio" value="3" name="attr_inf_weapon_traits_nonlethal_selector">
|
||
</span>
|
||
</span>
|
||
|
||
<span class="trait-item">
|
||
Poison <input type="checkbox" name="attr_inf_weapon_traits_poison" value="1">
|
||
<input type="number" name="attr_inf_weapon_traits_poison" value="0" hidden>
|
||
<input type="number" name="attr_inf_weapon_traits_poison_selector" value="1" hidden>
|
||
<input type="checkbox" name="attr_inf_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_inf_weapon_traits_poison_selector" checked>|
|
||
<input type="radio" value="2" name="attr_inf_weapon_traits_poison_selector">
|
||
<input type="radio" value="3" name="attr_inf_weapon_traits_poison_selector">
|
||
</span>
|
||
</span>
|
||
|
||
<span class="trait-item">
|
||
Placed <input type="checkbox" name="attr_inf_weapon_traits_placed" value="1">
|
||
<input type="number" name="attr_inf_weapon_traits_placed" value="0" hidden>
|
||
<input type="number" name="attr_inf_weapon_traits_placed_selector" value="1" hidden>
|
||
<input type="checkbox" name="attr_inf_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_inf_weapon_traits_placed_selector" checked>|
|
||
<input type="radio" value="2" name="attr_inf_weapon_traits_placed_selector">
|
||
<input type="radio" value="3" name="attr_inf_weapon_traits_placed_selector">
|
||
</span>
|
||
</span>
|
||
|
||
<span class="trait-item">
|
||
Precise <input type="checkbox" name="attr_inf_weapon_traits_precise" value="1">
|
||
<input type="number" name="attr_inf_weapon_traits_precise" value="0" hidden>
|
||
<input type="number" name="attr_inf_weapon_traits_precise_selector" value="1" hidden>
|
||
<input type="checkbox" name="attr_inf_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_inf_weapon_traits_precise_selector" checked>|
|
||
<input type="radio" value="2" name="attr_inf_weapon_traits_precise_selector">
|
||
<input type="radio" value="3" name="attr_inf_weapon_traits_precise_selector">
|
||
</span>
|
||
</span>
|
||
|
||
<span class="trait-item">
|
||
Reach <input type="checkbox" name="attr_inf_weapon_traits_reach" value="1">
|
||
<input type="number" name="attr_inf_weapon_traits_reach" value="0" hidden>
|
||
<input type="number" name="attr_inf_weapon_traits_reach_selector" value="1" hidden>
|
||
<input type="checkbox" name="attr_inf_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_inf_weapon_traits_reach_selector" checked>|
|
||
<input type="radio" value="2" name="attr_inf_weapon_traits_reach_selector">
|
||
<input type="radio" value="3" name="attr_inf_weapon_traits_reach_selector">
|
||
</span>
|
||
</span>
|
||
|
||
<span class="trait-item">
|
||
Silent <input type="checkbox" name="attr_inf_weapon_traits_silent" value="1">
|
||
<input type="number" name="attr_inf_weapon_traits_silent" value="0" hidden>
|
||
<input type="number" name="attr_inf_weapon_traits_silent_selector" value="1" hidden>
|
||
<input type="checkbox" name="attr_inf_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_inf_weapon_traits_silent_selector" checked>|
|
||
<input type="radio" value="2" name="attr_inf_weapon_traits_silent_selector">
|
||
<input type="radio" value="3" name="attr_inf_weapon_traits_silent_selector">
|
||
</span>
|
||
</span>
|
||
|
||
<span class="trait-item">
|
||
Slashing <input type="checkbox" name="attr_inf_weapon_traits_slashing" value="1">
|
||
<input type="number" name="attr_inf_weapon_traits_slashing" value="0" hidden>
|
||
<input type="number" name="attr_inf_weapon_traits_slashing_selector" value="1" hidden>
|
||
<input type="checkbox" name="attr_inf_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_inf_weapon_traits_slashing_selector" checked>|
|
||
<input type="radio" value="2" name="attr_inf_weapon_traits_slashing_selector">
|
||
<input type="radio" value="3" name="attr_inf_weapon_traits_slashing_selector">
|
||
</span>
|
||
</span>
|
||
|
||
<span class="trait-item">
|
||
Shot <input type="checkbox" name="attr_inf_weapon_traits_shot" value="1">
|
||
<input type="number" name="attr_inf_weapon_traits_shot" value="0" hidden>
|
||
<input type="number" name="attr_inf_weapon_traits_shot_selector" value="1" hidden>
|
||
<input type="checkbox" name="attr_inf_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_inf_weapon_traits_shot_selector" checked>|
|
||
<input type="radio" value="2" name="attr_inf_weapon_traits_shot_selector">
|
||
<input type="radio" value="3" name="attr_inf_weapon_traits_shot_selector">
|
||
</span>
|
||
</span>
|
||
|
||
<span class="trait-item">
|
||
Shock <input type="checkbox" name="attr_inf_weapon_traits_shock" value="1">
|
||
<input type="number" name="attr_inf_weapon_traits_shock" value="0" hidden>
|
||
<input type="number" name="attr_inf_weapon_traits_shock_selector" value="1" hidden>
|
||
<input type="checkbox" name="attr_inf_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_inf_weapon_traits_shock_selector" checked>|
|
||
<input type="radio" value="2" name="attr_inf_weapon_traits_shock_selector">
|
||
<input type="radio" value="3" name="attr_inf_weapon_traits_shock_selector">
|
||
</span>
|
||
</span>
|
||
|
||
<span class="trait-item">
|
||
Smoke <input type="checkbox" name="attr_inf_weapon_traits_smoke" value="1">
|
||
<input type="number" name="attr_inf_weapon_traits_smoke" value="0" hidden>
|
||
<input type="number" name="attr_inf_weapon_traits_smoke_selector" value="1" hidden>
|
||
<input type="checkbox" name="attr_inf_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_inf_weapon_traits_smoke_selector" checked>|
|
||
<input type="radio" value="2" name="attr_inf_weapon_traits_smoke_selector">
|
||
<input type="radio" value="3" name="attr_inf_weapon_traits_smoke_selector">
|
||
</span>
|
||
</span>
|
||
|
||
<span class="trait-item">
|
||
Spray <input type="checkbox" name="attr_inf_weapon_traits_spray" value="1">
|
||
<input type="number" name="attr_inf_weapon_traits_spray" value="0" hidden>
|
||
<input type="number" name="attr_inf_weapon_traits_spray_selector" value="1" hidden>
|
||
<input type="checkbox" name="attr_inf_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_inf_weapon_traits_spray_selector" checked>|
|
||
<input type="radio" value="2" name="attr_inf_weapon_traits_spray_selector">
|
||
<input type="radio" value="3" name="attr_inf_weapon_traits_spray_selector">
|
||
</span>
|
||
</span>
|
||
|
||
<span class="trait-item">
|
||
Stun <input type="checkbox" name="attr_inf_weapon_traits_stun" value="1">
|
||
<input type="number" name="attr_inf_weapon_traits_stun" value="0" hidden>
|
||
<input type="number" name="attr_inf_weapon_traits_stun_selector" value="1" hidden>
|
||
<input type="checkbox" name="attr_inf_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_inf_weapon_traits_stun_selector" checked>|
|
||
<input type="radio" value="2" name="attr_inf_weapon_traits_stun_selector">
|
||
<input type="radio" value="3" name="attr_inf_weapon_traits_stun_selector">
|
||
</span>
|
||
</span>
|
||
|
||
<span class="trait-item">
|
||
Thrown <input type="checkbox" name="attr_inf_weapon_traits_thrown" value="1">
|
||
<input type="number" name="attr_inf_weapon_traits_thrown" value="0" hidden>
|
||
<input type="number" name="attr_inf_weapon_traits_thrown_selector" value="1" hidden>
|
||
<input type="checkbox" name="attr_inf_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_inf_weapon_traits_thrown_selector" checked>|
|
||
<input type="radio" value="2" name="attr_inf_weapon_traits_thrown_selector">
|
||
<input type="radio" value="3" name="attr_inf_weapon_traits_thrown_selector">
|
||
</span>
|
||
</span>
|
||
|
||
</span>
|
||
|
||
<div class="trait-box">
|
||
<span class="trait-item">
|
||
AoE: <input type="number" name="attr_inf_weapon_traits_aoe" class="digit" value="0" min="0">
|
||
<input type="number" name="attr_inf_weapon_traits_aoe_selector" value="1" hidden>
|
||
<input type="checkbox" name="attr_inf_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_inf_weapon_traits_aoe_selector" checked>|
|
||
<input type="radio" value="2" name="attr_inf_weapon_traits_aoe_selector">
|
||
<input type="radio" value="3" name="attr_inf_weapon_traits_aoe_selector">
|
||
</span>
|
||
</span>
|
||
<span class="trait-item">
|
||
AP:<input type="number" name="attr_inf_weapon_traits_ap" class="digit" value="0">
|
||
<input type="number" name="attr_inf_weapon_traits_ap_selector" value="1" hidden>
|
||
<input type="checkbox" name="attr_inf_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_inf_weapon_traits_ap_selector" checked>|
|
||
(<input type="radio" value="2" name="attr_inf_weapon_traits_ap_selector">
|
||
<input type="radio" value="3" name="attr_inf_weapon_traits_ap_selector">)
|
||
</span>
|
||
</span>
|
||
|
||
<span class="trait-item">
|
||
Burst:<input type="number" name="attr_inf_weapon_traits_burst" class="digit" value="0" min="0">
|
||
<input type="number" name="attr_inf_weapon_traits_burst_selector" value="1" hidden>
|
||
<input type="checkbox" name="attr_inf_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_inf_weapon_traits_burst_selector" checked>|
|
||
<input type="radio" value="2" name="attr_inf_weapon_traits_burst_selector">
|
||
<input type="radio" value="3" name="attr_inf_weapon_traits_burst_selector">
|
||
</span>
|
||
</span>
|
||
<span class="trait-item">
|
||
Brawler:<input type="number" name="attr_inf_weapon_traits_brawler" class="digit" value="0">
|
||
<input type="number" name="attr_inf_weapon_traits_brawler_selector" value="1" hidden>
|
||
<input type="checkbox" name="attr_inf_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_inf_weapon_traits_brawler_selector" checked>|
|
||
<input type="radio" value="2" name="attr_inf_weapon_traits_brawler_selector">
|
||
<input type="radio" value="3" name="attr_inf_weapon_traits_brawler_selector">
|
||
</span>
|
||
</span>
|
||
<span class="trait-item">
|
||
Demo:<input type="number" name="attr_inf_weapon_traits_demo" class="digit" value="0">
|
||
<input type="number" name="attr_inf_weapon_traits_demo_selector" value="1" hidden>
|
||
<input type="checkbox" name="attr_inf_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_inf_weapon_traits_demo_selector" checked>|
|
||
<input type="radio" value="2" name="attr_inf_weapon_traits_demo_selector">
|
||
<input type="radio" value="3" name="attr_inf_weapon_traits_demo_selector">
|
||
</span>
|
||
</span>
|
||
<span class="trait-item">
|
||
Fire:<input type="number" name="attr_inf_weapon_traits_fire" class="digit" value="0" min="0">
|
||
<input type="number" name="attr_inf_weapon_traits_fire_selector" value="1" hidden>
|
||
<input type="checkbox" name="attr_inf_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_inf_weapon_traits_fire_selector" checked>|
|
||
<input type="radio" value="2" name="attr_inf_weapon_traits_fire_selector">
|
||
<input type="radio" value="3" name="attr_inf_weapon_traits_fire_selector">
|
||
</span>
|
||
</span>
|
||
<span class="trait-item">
|
||
Reliable:<input type="number" name="attr_inf_weapon_traits_reliable" class="digit" value="0" min="0">
|
||
<input type="number" name="attr_inf_weapon_traits_reliable_selector" value="1" hidden>
|
||
<input type="checkbox" name="attr_inf_weapon_traits_mode" value="1" class="sheet-toggle-show-span" hidden />
|
||
<span class="sheet-body">
|
||
<input type="radio" value="1" name="attr_inf_weapon_traits_reliable_selector" checked>|
|
||
<input type="radio" value="2" name="attr_inf_weapon_traits_reliable_selector">
|
||
<input type="radio" value="3" name="attr_inf_weapon_traits_reliable_selector">
|
||
</span>
|
||
</span>
|
||
</div>
|
||
<div>
|
||
<p>
|
||
See Desc <input type="checkbox" name="attr_inf_weapon_traits_see_desc" value="1">
|
||
<input type="text" name="attr_inf_weapon_traits_desc" value="">
|
||
<input type="number" name="attr_inf_weapon_traits_desc_selector" value="1" hidden>
|
||
</p>
|
||
<p>
|
||
Other: <input type="text" name="attr_inf_weapon_traits_other" value="">
|
||
</p>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
Mods: <textarea class="inputarea" name="attr_inf_weapon_mods"> </textarea>
|
||
|
||
|
||
</div>
|
||
</span>
|
||
</fieldset>
|
||
</div>
|
||
|
||
<div class="infobox" id="gear3traitsequipment">
|
||
<h3> Traits & Perks </h3>
|
||
<fieldset class="repeating_gear-equipment-traits">
|
||
<div>Name <input type="text" name="attr_gear_equipment_traits_name"> Info: <input type="checkbox" name="attr_geartraithide" class="sheet-toggle-show">
|
||
<div class="sheet-body">
|
||
<textarea class="inputarea" name="attr_gear_equipment_traits_desc"></textarea>
|
||
</div>
|
||
</div>
|
||
</fieldset>
|
||
</div>
|
||
<div class="infobox">
|
||
</div>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
</div>
|
||
|
||
<div class="sheet-admin">
|
||
|
||
Sheet Type: <select name="attr_sheet_type">
|
||
<option value="pc">PC</option>
|
||
<option value="npc">NPC</option>
|
||
</select>
|
||
<span>Change Bars on Change tabs <input type="checkbox" name="attr_change_bars" class="sheet-block-switch">
|
||
<div class="sheet-block-a">
|
||
Bar 1: <select name="attr_bar1">
|
||
<option disabled style="background:gray;font-weight:bold;color:white;"> Character</option>
|
||
<option value="damage_shell">Shell Damage</option>
|
||
<option value="damage_system">System Damage</option>
|
||
<option value="damage_total">Total Damage</option>
|
||
<option value="damage_reduction">Total Damage Reduction</option>
|
||
<option disabled style="background:gray;font-weight:bold;color:white;"> Gear </option>
|
||
<option value="gear_hi">Hull Integrity</option>
|
||
<option value="gear_arm">Armour</option>
|
||
</select>
|
||
Bar 2: <input type="text" name="attr_bar2" hidden>
|
||
<select name="attr_bar2">
|
||
<option disabled style="background:gray;font-weight:bold;color:white;"> Character</option>
|
||
<option value="damage_shell">Shell Damage</option>
|
||
<option value="damage_system">System Damage</option>
|
||
<option value="damage_total">Total Damage</option>
|
||
<option value="damage_reduction">Total Damage Reduction</option>
|
||
<option disabled style="background:gray;font-weight:bold;color:white;"> Gear </option>
|
||
<option value="gear_hi">Hull Integrity</option>
|
||
<option value="gear_arm">Armour</option>
|
||
</select>
|
||
|
||
Bar 3: <input type="text" name="attr_bar3" hidden>
|
||
<select name="attr_bar3">
|
||
<option disabled style="background:gray;font-weight:bold;color:white;"> Character</option>
|
||
<option value="damage_shell">Shell Damage</option>
|
||
<option value="damage_system">System Damage</option>
|
||
<option value="damage_total">Total Damage</option>
|
||
<option value="damage_reduction">Total Damage Reduction</option>
|
||
<option disabled style="background:gray;font-weight:bold;color:white;"> Gear </option>
|
||
<option value="gear_hi">Hull Integrity</option>
|
||
<option value="gear_arm">Armour</option>
|
||
</select>
|
||
</div>
|
||
<div class="sheet-block-b">
|
||
<div>
|
||
Character:
|
||
Bar 1: <select name="attr_character_bar1">
|
||
<option disabled style="background:gray;font-weight:bold;color:white;"> Character</option>
|
||
<option value="damage_shell">Shell Damage</option>
|
||
<option value="damage_system">System Damage</option>
|
||
<option value="damage_total">Total Damage</option>
|
||
<option value="damage_reduction">Total Damage Reduction</option>
|
||
<option disabled style="background:gray;font-weight:bold;color:white;"> Gear </option>
|
||
<option value="gear_hi">Hull Integrity</option>
|
||
<option value="gear_arm">Armour</option>
|
||
</select>
|
||
Bar 2:
|
||
<select name="attr_character_bar2">
|
||
<option disabled style="background:gray;font-weight:bold;color:white;"> Character</option>
|
||
<option value="damage_shell">Shell Damage</option>
|
||
<option value="damage_system">System Damage</option>
|
||
<option value="damage_total">Total Damage</option>
|
||
<option value="damage_reduction">Total Damage Reduction</option>
|
||
<option disabled style="background:gray;font-weight:bold;color:white;"> Gear </option>
|
||
<option value="gear_hi">Hull Integrity</option>
|
||
<option value="gear_arm">Armour</option>
|
||
</select>
|
||
Bar 3:
|
||
<select name="attr_character_bar3">
|
||
<option disabled style="background:gray;font-weight:bold;color:white;"> Character</option>
|
||
<option value="damage_shell">Shell Damage</option>
|
||
<option value="damage_system">System Damage</option>
|
||
<option value="damage_total">Total Damage</option>
|
||
<option value="damage_reduction">Total Damage Reduction</option>
|
||
<option disabled style="background:gray;font-weight:bold;color:white;"> Gear </option>
|
||
<option value="gear_hi">Hull Integrity</option>
|
||
<option value="gear_arm">Armour</option>
|
||
</select>
|
||
</div>
|
||
<div>
|
||
Gear:
|
||
Bar 1: <select name="attr_gear_bar1">
|
||
<option disabled style="background:gray;font-weight:bold;color:white;"> Character</option>
|
||
<option value="damage_shell">Shell Damage</option>
|
||
<option value="damage_system">System Damage</option>
|
||
<option value="damage_total">Total Damage</option>
|
||
<option value="damage_reduction">Total Damage Reduction</option>
|
||
<option disabled style="background:gray;font-weight:bold;color:white;"> Gear </option>
|
||
<option value="gear_hi">Hull Integrity</option>
|
||
<option value="gear_arm">Armour</option>
|
||
</select>
|
||
Bar 2: <input type="text" name="attr_gear_bar2" hidden>
|
||
<select name="attr_gear_bar2">
|
||
<option disabled style="background:gray;font-weight:bold;color:white;"> Character</option>
|
||
<option value="damage_shell">Shell Damage</option>
|
||
<option value="damage_system">System Damage</option>
|
||
<option value="damage_total">Total Damage</option>
|
||
<option value="damage_reduction">Total Damage Reduction</option>
|
||
<option disabled style="background:gray;font-weight:bold;color:white;"> Gear </option>
|
||
<option value="gear_hi">Hull Integrity</option>
|
||
<option value="gear_arm">Armour</option>
|
||
</select>
|
||
Bar 3: <input type="text" name="attr_gear_bar3" hidden>
|
||
<select name="attr_gear_bar3">
|
||
<option disabled style="background:gray;font-weight:bold;color:white;"> Character</option>
|
||
<option value="damage_shell">Shell Damage</option>
|
||
<option value="damage_system">System Damage</option>
|
||
<option value="damage_total">Total Damage</option>
|
||
<option value="damage_reduction">Total Damage Reduction</option>
|
||
<option disabled style="background:gray;font-weight:bold;color:white;"> Gear </option>
|
||
<option value="gear_hi">Hull Integrity</option>
|
||
<option value="gear_arm">Armour</option>
|
||
</select>
|
||
</div>
|
||
|
||
</div>
|
||
Bar1: <span name="attr_a1_bar"></span>
|
||
Bar2: <span name="attr_a2_bar"></span>
|
||
Bar3: <span name="attr_a3_bar"></span>
|
||
Change <span name="attr_change_bars"></span>
|
||
Optional Rules
|
||
<span>No Archetypes : <input type="checkbox" name="attr_optional_archetype">
|
||
</span>
|
||
<div>
|
||
<h2> Notes for the GM</h2>
|
||
<textarea name="attr_admin_gmnotes"></textarea>
|
||
Downtime
|
||
<textarea name="attr_admin_downtime"></textarea>
|
||
<h3>Current Issues</h3>
|
||
<p> Gear Weapon TN bonus only updates when changing domains</p>
|
||
<p></p>
|
||
<button type="action" name="act_damage_roll">Damage roll</button>
|
||
<input type="number" name="attr_damage_value" value="1" >
|
||
<select name="attr_damage_type">
|
||
<option value="character">Character</option>
|
||
<option value="vehicle">Vehicle</option>
|
||
<option value="shell">Shell</option>
|
||
<option value="system">System</option>
|
||
</select>
|
||
|
||
|
||
</div>
|
||
Version Changes:
|
||
<span>Ver:<span name="attr_load_version"></span> </span>
|
||
<p>
|
||
<span> Wiki: https://wiki.roll20.net/Heavy_Gear_4th_Edition </span>
|
||
<div>
|
||
<h3>Sheet is still in development. It is recomended you create a copy of your game after each session, as some data may be lost </h3>
|
||
|
||
</div>
|
||
</div>
|
||
|
||
<datalist id="archetypelist">
|
||
<option value="Caretaker"></option>
|
||
<option value="Commander"></option>
|
||
<option value="Duelist"></option>
|
||
<option value="Fixer"></option>
|
||
<option value="Grunt"></option>
|
||
<option value="Pilot"></option>
|
||
<option value="Scout"></option>
|
||
<option value="Techie"></option>
|
||
</datalist>
|
||
|
||
<datalist id="domainlist">
|
||
<option value="athletics"></option>
|
||
<option value="awareness"></option>
|
||
<option value="business"></option>
|
||
<option value="craft"></option>
|
||
<option value="culture"></option>
|
||
<option value="electronicwarfare"></option>
|
||
<option value="electronics"></option>
|
||
<option value="gunnery"></option>
|
||
<option value="hardscience"></option>
|
||
<option value="institutions"></option>
|
||
<option value="investigation"></option>
|
||
<option value="mechanics"></option>
|
||
<option value="medicine"></option>
|
||
<option value="melee"></option>
|
||
<option value="influence"></option>
|
||
<option value="pilot"></option>
|
||
<option value="showmanship"></option>
|
||
<option value="socialscience"></option>
|
||
<option value="survival"></option>
|
||
<option value="tactics"></option>
|
||
</datalist>
|
||
|
||
|
||
|
||
<rolltemplate class="sheet-rolltemplate-custom">
|
||
<div class="sheet-container sheet-color-{{color}}">
|
||
<div class="sheet-header">
|
||
{{#title}}<div class="sheet-title">{{title}}</div>{{/title}}
|
||
{{#subtitle}}<div class="sheet-subtitle">{{subtitle}}</div>{{/subtitle}}
|
||
</div>
|
||
<div class="sheet-content">
|
||
{{#allprops() title subtitle desc color}}
|
||
<div class="sheet-key">{{key}}</div>
|
||
<div class="sheet-value">{{value}}</div>
|
||
{{/allprops() title subtitle desc color}}
|
||
{{#desc}}<div class="sheet-desc">{{desc}}</div>{{/desc}}
|
||
</div>
|
||
</div>
|
||
</rolltemplate>
|
||
|
||
<rolltemplate class="sheet-rolltemplate-diceroll">
|
||
<div class="sheet-container sheet-color-{{color}}">
|
||
<div class="sheet-header">
|
||
{{#title}}<div class="sheet-title">{{title}}</div>{{/title}}
|
||
{{#subtitle}}<div class="sheet-subtitle">{{subtitle}}</div>{{/subtitle}}
|
||
</div>
|
||
<div class="sheet-content">
|
||
<span>Score </span><span>{{computed::roll}}</span>
|
||
<span>MOS </span><span>{{computed::MOS}} </span>
|
||
|
||
{{#rollGreater() doubles 1}}
|
||
<span>Doubles on</span> <span>{{computed::doubles}} </span>
|
||
{{/rollGreater() doubles 1 }}
|
||
|
||
</div>
|
||
<div class="sheet-desc">
|
||
{{#rollGreater() reliable 0}}
|
||
|
||
<span>{{reliable}} Reliable dice</span> <span>
|
||
{{computed::changedone}}|{{computed::changedtwo}}|{{computed::changedthree}}|
|
||
{{computed::changedfour}}|{{computed::changedfive}}|{{computed::changedsix}}
|
||
</span>
|
||
{{/rollGreater() reliable 0}}
|
||
{{#rollLess() reliable 0}}
|
||
|
||
<span>{{reliable}}Reliable dice</span> <span>
|
||
{{computed::changedone}}|{{computed::changedtwo}}|{{computed::changedthree}}|
|
||
{{computed::changedfour}}|{{computed::changedfive}}|{{computed::changedsix}}
|
||
</span>
|
||
{{/rollLess() reliable 0}}
|
||
</div>
|
||
<div class="sheet-desc">
|
||
<span> {{computed::one}}x <span style="font-family: dicefontd6;">A </span> |
|
||
{{computed::two}}x <span style="font-family: dicefontd6;">B </span> |
|
||
{{computed::three}}x <span style="font-family: dicefontd6;">C </span> |
|
||
{{computed::four}}x <span style="font-family: dicefontd6;">D </span> |
|
||
{{computed::five}}x <span style="font-family: dicefontd6;">E </span> |
|
||
{{computed::six}}x <span style="font-family: dicefontd6;">F </span>
|
||
</span>
|
||
</div>
|
||
</rolltemplate>
|
||
|
||
<rolltemplate class="sheet-rolltemplate-weapondiceroll">
|
||
<div class="sheet-container sheet-color-{{color}}">
|
||
<div class="sheet-header">
|
||
{{#title}}<div class="sheet-title">{{title}}</div>{{/title}}
|
||
{{#subtitle}}<div class="sheet-subtitle">{{subtitle}}</div>{{/subtitle}}
|
||
</div>
|
||
<div class="sheet-content">
|
||
<span>Score </span><span>{{computed::roll}}</span>
|
||
<span>MOS </span><span>{{computed::MOS}} </span>
|
||
{{#rollGreater() doubles 1}}
|
||
<span>Doubles on</span> <span>{{computed::doubles}} </span>
|
||
{{/rollGreater() doubles 1}}
|
||
|
||
<span>Damage </span><span>{{computed::damageroll}} </span>
|
||
|
||
{{#rollGreater() AP 0}}
|
||
<span>Armour Piercing</span> <span>{{AP}} </span>
|
||
{{/rollGreater() AP 0}}
|
||
|
||
|
||
{{#rollGreater() firedamage -1}}
|
||
<span>Fire damage</span> <span>{{computed::firedamage}} </span>
|
||
{{/rollGreater() firedamage -1}}
|
||
</div>
|
||
<div class="sheet-desc">
|
||
{{#rollGreater() reliable 0}}
|
||
|
||
<span>{{reliable}} Reliable dice</span> <span>
|
||
{{computed::changedone}}|{{computed::changedtwo}}|{{computed::changedthree}}|
|
||
{{computed::changedfour}}|{{computed::changedfive}}|{{computed::changedsix}}
|
||
</span>
|
||
{{/rollGreater() reliable 0}}
|
||
{{#rollLess() reliable 0}}
|
||
|
||
<span>{{reliable}}Reliable dice</span> <span>
|
||
{{computed::changedone}}|{{computed::changedtwo}}|{{computed::changedthree}}|
|
||
{{computed::changedfour}}|{{computed::changedfive}}|{{computed::changedsix}}
|
||
</span>
|
||
{{/rollLess() reliable 0}}
|
||
</div>
|
||
<div class="sheet-desc">
|
||
<span> {{computed::one}}x <span style="font-family: dicefontd6;">A </span> |
|
||
{{computed::two}}x <span style="font-family: dicefontd6;">B </span> |
|
||
{{computed::three}}x <span style="font-family: dicefontd6;">C </span> |
|
||
{{computed::four}}x <span style="font-family: dicefontd6;">D </span> |
|
||
{{computed::five}}x <span style="font-family: dicefontd6;">E </span> |
|
||
{{computed::six}}x <span style="font-family: dicefontd6;">F </span>
|
||
</span>
|
||
</div>
|
||
{{#traits}}<div class="sheet-traits">{{traits}}</div>{{/traits}}
|
||
</rolltemplate>
|
||
<rolltemplate class="sheet-rolltemplate-custom">
|
||
<div class="sheet-container sheet-color-{{color}}">
|
||
<div class="sheet-header">
|
||
{{#title}}<div class="sheet-title">{{title}}</div>{{/title}}
|
||
{{#subtitle}}<div class="sheet-subtitle">{{subtitle}}</div>{{/subtitle}}
|
||
</div>
|
||
<div class="sheet-content">
|
||
<span>Damage </span><span>{{computed::damage}}</span>
|
||
<span>Vehicle </span><span>{{computed::vehicle}} </span>
|
||
<span>Character </span><span>{{computed::character}} </span>
|
||
</div>
|
||
</div>
|
||
</rolltemplate>
|
||
|
||
<script type="text/worker">
|
||
|
||
const domains = ['','athletics','awareness','business','craft','culture','electronicwarfare','electronics','gunnery','hardscience','influence',
|
||
'institutions','investigation','mechanics','medicine','melee','pilot','showmanship','socialscience','survival','tactics'];
|
||
const gearSkills = ['gunnery','pilot','electronicwarfare'];
|
||
const gearWeaponTraits = ['mode','advanced','aoe','ap','apex','attachment','auto','backup','blast','bomb','brace','brawler','burst','corrosion','demo',
|
||
'fire','flak','forearm','frag','guided','haywire','limited_mode','link','precise','reach','salvo','silent','smoke','spray','see_desc'];
|
||
const gearWeaponTraitsX = ['aoe','ap','brawler','burst','demo','fire','reach'];
|
||
const archetypes = ['Caretaker','Commander','Duelist','Fixer','Grunt','Pilot','Scout','Techie'];
|
||
const ranks = [1,2,3,4,5,6];
|
||
const infWeaponTraits = ['mode','advanced','aoe','ap','blast','brace','brawler','burst','corrosion','demo','fire','frag','haywire','indirect','missile','musclepowered','nonlethal','poison','placed','precise','reach','reliable','silent','slashing','shot','smoke','spray','stun','thrown','see_desc'];
|
||
const infWeaponTraitsX = ['aoe','ap','brawler','burst','demo','fire','reliable'];
|
||
const buttonlist = ["character","gear","npcgear","npccharacter","creature","admin"];
|
||
const barlist = [1,2,3];
|
||
|
||
//top tab buttons code
|
||
buttonlist.forEach(button => {
|
||
on(`clicked:${button}`, function() {
|
||
setAttrs({
|
||
sheet_tab: button
|
||
});
|
||
});
|
||
});
|
||
|
||
on('clicked:add_skill', function() {
|
||
getAttrs(["skill_domain_select", "skill_name","skill_level","skill_familiar"], function(v) {
|
||
let domain = parseInt(v["skill_domain_select"]);
|
||
let name = v["skill_name"];
|
||
let level = parseInt(v["skill_level"]);
|
||
let familiar = parseInt(v["skill_familiar"]);
|
||
let domainName = findDomainUpper(domain);
|
||
domain = findDomainLower(domain);
|
||
|
||
var newrowid = generateRowID();
|
||
var newrowattrs = {};
|
||
|
||
newrowattrs["repeating_skills-"+ domain+"_" + newrowid + "_skill_domain"] = domainName;
|
||
newrowattrs["repeating_skills-"+ domain+"_" + newrowid + "_skill_name"] = name;
|
||
newrowattrs["repeating_skills-"+ domain+"_" + newrowid + "_skill_level"] = level;
|
||
newrowattrs["repeating_skills-"+ domain+"_" + newrowid + "_skill_familiar"] = familiar;
|
||
|
||
setAttrs(newrowattrs, {silent: true});
|
||
});
|
||
});
|
||
|
||
domains.forEach(function (domains) { //deletes the skill
|
||
on('clicked:repeating_skills-'+domains+':remove', function(v) {
|
||
console.log("clicked:repeating_skills-"+domains+":remove_skill");
|
||
console.log(v.sourceAttribute);
|
||
let rowid = v.sourceAttribute.split("_")[2];
|
||
removeRepeatingRow("repeating_skills-"+domains+"_"+rowid);
|
||
console.log(rowid);
|
||
});
|
||
});
|
||
|
||
//on("clicked:repeating_skills-athletics:remove", function() {
|
||
// console.log("Activate button clicked");
|
||
//});
|
||
|
||
// set bar attributes
|
||
barlist.forEach(bar => {
|
||
on(`change:bar${bar} change:character_bar${bar} change:gear_bar${bar} change:change_bars change:sheet_tab change:damage_shell change:damage_system change:damage_total change:damage_reduction change:gear_hi change:gear_arm`, function() {
|
||
getAttrs([`bar${bar}`, `character_bar${bar}`, `gear_bar${bar}`, `change_bars`, `sheet_tab`, 'damage_shell','damage_system','damage_total','damage_reduction','gear_hi','gear_arm'], function(v) {
|
||
let names = [v[`bar${bar}`], v[`character_bar${bar}`], v[`gear_bar${bar}`]];
|
||
console.log(names);
|
||
|
||
if (v.change_bars === "0") {
|
||
setAttrs({
|
||
[`a${bar}_bar`]: v[`bar${bar}`]
|
||
});
|
||
} else if (v.change_bars == "on") {
|
||
if (v.sheet_tab === "character"|| v.sheet_tab === "creature") {
|
||
setAttrs({
|
||
[`a${bar}_bar`]: v[`character_bar${bar}`]
|
||
});
|
||
} if (v.sheet_tab === "gear"|| v.sheet_tab === "npc") {
|
||
setAttrs({
|
||
[`a${bar}_bar`]: v[`gear_bar${bar}`]
|
||
});
|
||
}
|
||
}
|
||
});
|
||
|
||
});
|
||
});
|
||
/*
|
||
on("change:bar1 change:character_bar1 change:gear_bar1 change:gear_bar1 change:change_bars change:sheet_tab", function() {
|
||
getAttrs(["bar1", , "character_bar1", "gear_bar1", "change_bars", "sheet_tab"], function(v) {
|
||
if (v.change_bars === "0") {
|
||
setAttrs({
|
||
a1_bar: v.bar1
|
||
});
|
||
} else if (v.change_bars == "on") {
|
||
if (v.sheet_tab === "character"|| v.sheet_tab === "creature") {
|
||
setAttrs({
|
||
a1_bar: v.character_bar1
|
||
|
||
|
||
});
|
||
} if (v.sheet_tab === "gear"|| v.sheet_tab === "npc") {
|
||
setAttrs({
|
||
a1_bar: v.gear_bar1
|
||
});
|
||
}
|
||
}
|
||
|
||
});
|
||
});
|
||
*/
|
||
|
||
|
||
//when archetypes change, update archeytpe_select_x
|
||
archetypes.forEach(archetype => {
|
||
ranks.forEach(rank => {
|
||
on(`change:${archetype}_select_${rank} change:${archetype}_lvl_${rank}`, function() {
|
||
getAttrs([`${archetype}_select_${rank}`, `${archetype}_lvl_${rank}`], function(v) {
|
||
let findSpecialisation = v[`${archetype}_select_${rank}`];
|
||
let findLevel = (v[`${archetype}_lvl_${rank}`]);
|
||
let findArchetype = archetype;
|
||
let findRank = rank;
|
||
console.log(findRank+" FindRank"+findSpecialisation+" findSpecialisation"+findLevel+" findLevel"+findArchetype+" findArchetype");
|
||
setAttrs({
|
||
//set archetype_lvl_level_desc to description of specialisation
|
||
[`${findArchetype}_lvl_${findRank}_desc`]: archetypelookup(findArchetype, findLevel, findSpecialisation)
|
||
|
||
});
|
||
});
|
||
});
|
||
});
|
||
});
|
||
|
||
//make an array for each archetype[archetpes][rank][specialisation]
|
||
const archetypelookup = (archetype = "", level = 1, specialisation = "") => {
|
||
console.log(archetype+" "+level+" "+specialisation);
|
||
let description = "";
|
||
switch (archetype) {
|
||
case "Caretaker":
|
||
switch (level) {
|
||
case "1":
|
||
switch (specialisation) {
|
||
case "medic":
|
||
description = "When the Medic performs the Medical Attention intermission action, it heals 50% more (rounded up) dice of System Shock damage. In addition, they can remove damage results that require a specialist facility duringthis action. The Medic can Patch System Shock damage results as a Basic action";
|
||
break;
|
||
case "mechanic":
|
||
description = "When the Mechanic performs the Maintenance and Repair intermission action, it repairs 50% more (rounded up) dice of damage. In addition, they can remove damage results that require a specialist facility during this action. The Mechanic can Patch Hull Integrity damage results as a Basic action";
|
||
break;
|
||
case "guide":
|
||
description = "When the Guide performs the Medical Attention intermission action, it heals 50% more (rounded up) dice of Shell Shock damage. In addition, they can remove damage results that require a specialist facility during this action. The Guide can Patch Shell Shock damage results as a Basic action.";
|
||
break;
|
||
default:
|
||
description = "";
|
||
break;
|
||
}
|
||
break;
|
||
case "2":
|
||
switch (specialisation) {
|
||
case "medic":
|
||
description = "As a Full Round action, the Medic may select 1 friendly actor within 15m (6in) to guide in performing their next attack and select a target actor. The target must be visible to both the Medic and chosen friendly actor. The friendly actor can change 1 point of any damage result into a System Shock damage to the target.";
|
||
break;
|
||
case "mechanic":
|
||
description = "As a Full Round action, the Mechanic may select 1 friendly actor within 15m (6in) to guide in performing their next attack and select a target vehicle. The target must be visible to both the Mechanic and chosen friendly actor. The friendly actor can change 1 point of any damage result into a Hull Integrity damage to the target.";
|
||
break;
|
||
case "guide":
|
||
description = "As a Full Round action, the Guide may select 1 friendly actor within 15m (6in) to guide in performing their next attack and select a target actor. The target must be visible to both the Guide and chosen friendly actor. The friendly actor can change 1 point of any damage result into a Shell Shock damage to the target.";
|
||
break;
|
||
default:
|
||
description = "";
|
||
break;
|
||
}
|
||
break;
|
||
case "3":
|
||
switch (specialisation) {
|
||
case "medic":
|
||
description = "The Medic may aid 2 characters with System Shock and do so simultaneously when performing a Medical Attention intermission action. Roll a single skill test and apply the result to both.";
|
||
break;
|
||
case "mechanic":
|
||
description = "The Mechanic may work on 2 vehicles simultaneously when making a Maintenance and Repair intermission action. Roll a single skill test and apply the result to both";
|
||
break;
|
||
case "guide":
|
||
description = "The Guide may aid 2 characters with Shell Shock simultaneously when performing a Medical Attention action intermission action. Roll a single skill test and apply the result to both";
|
||
break;
|
||
default:
|
||
description = "";
|
||
break;
|
||
}
|
||
break;
|
||
case "4":
|
||
switch (specialisation) {
|
||
case "medic":
|
||
description = "Once per session, when patching an injury, the Medic can automatically pass the Test with MoS:2.";
|
||
break;
|
||
case "mechanic":
|
||
description = "Once per session, when patching a vehicle or piece of equipment, the Mechanic can automatically pass the Test with MoS:2.";
|
||
break;
|
||
case "guide":
|
||
description = "Once per session, when patching another character to heal Shell Shock damage, the Guide can automatically pass the Test with MoS:2";
|
||
break;
|
||
default:
|
||
description = "";
|
||
break;
|
||
}
|
||
break;
|
||
case "5":
|
||
switch (specialisation) {
|
||
case "medic":
|
||
description = "As an action, the Medic can brace a character for future trauma so long as they can physically touch the character. That character reduces the next System Shock damage result they take by 1. This ability may be used once per scene.";
|
||
break;
|
||
case "mechanic":
|
||
description = "As an action, the Mechanic can brace a vehicle or piece of equipment for future damage so long as they can physically touch it. That vehicle or equipment reduces the next damage result they take by 1. This ability may be used once per scene. ";
|
||
break;
|
||
case "guide":
|
||
description = "As an action, the Guide can brace a character for future mental trauma so long as they can talk to the character. That character reduces the next Shell Shock damage result they take by 1. This ability may be used once per scene.";
|
||
break;
|
||
default:
|
||
description = "";
|
||
break;
|
||
}
|
||
break;
|
||
case "6":
|
||
switch (specialisation) {
|
||
case "medic":
|
||
description = "The Medic’s Medical Attention intermission action can affect the whole team when removing System Shock. Attempts to increase the amount of System Shock removed are rolled per team member. ";
|
||
break;
|
||
case "mechanic":
|
||
description = "The Mechanic’s Maintenance and Repair intermission action can affect all the team’s vehicles. Attempts to increase the amount of damage removed are rolled per vehicle or piece of equipment.";
|
||
break;
|
||
case "guide":
|
||
description = "The Guide’s Medical Attention intermission action can affect the whole team when removing Shell Shock. Attempts to increase the amount of Shell Shock removed are rolled per team member.";
|
||
break;
|
||
default:
|
||
description = "";
|
||
break;
|
||
}
|
||
break;
|
||
default:
|
||
description = "Select Specialisation and Level";
|
||
break;
|
||
}
|
||
break;
|
||
case "Commander":
|
||
description = "Commander";
|
||
break;
|
||
case "Duelist":
|
||
description = "Duelist";
|
||
break;
|
||
case "Fixer":
|
||
description = "Fixer";
|
||
break;
|
||
case "Grunt":
|
||
switch (level) {
|
||
case "1":
|
||
switch (specialisation) {
|
||
case "ranged":
|
||
description = "The Grunt treats all Ammo stats as 1 higher.";
|
||
break;
|
||
case "melee":
|
||
description = "he Grunt gains +1 damage on all melee weapons.";
|
||
break;
|
||
case "endurance":
|
||
description = "The Grunt may carry 2 additional burden points";
|
||
break;
|
||
case "brute":
|
||
description = "Once per session, the Grunt may go on a Rampage. The Rampage lasts 1 minute or until the end of the scene. When on a Rampage, the Brute increases all their Melee skills by 1 (there is no maximum) and reduces all their rolls to resist attacks by -1d6.";
|
||
break;
|
||
default:
|
||
description = "";
|
||
break;
|
||
}
|
||
break;
|
||
case "2":
|
||
switch (specialisation) {
|
||
case "ranged":
|
||
description = "Reload and Clear a Jam are Free actions for the Grunt.";
|
||
break;
|
||
case "melee":
|
||
description = "The Grunt may make a single melee attack against an inanimate object as a free action";
|
||
break;
|
||
case "endurance":
|
||
description = "Double all Deterioration times for damage results you sustain";
|
||
break;
|
||
case "brute":
|
||
description = "Melee attacks made by the Grunt get +1d6 when attacking targets in the back";
|
||
break;
|
||
default:
|
||
description = "";
|
||
break;
|
||
}
|
||
break;
|
||
case "3":
|
||
switch (specialisation) {
|
||
case "ranged":
|
||
description = "The Grunt may add or subtract 30m (3in) from a weapon’s maximum or optimum ranges when attacking with a ranged weapon.";
|
||
break;
|
||
case "melee":
|
||
description = "Increase melee range by 2m (1in) for all the Grunt’s melee weapons";
|
||
break;
|
||
case "endurance":
|
||
description = "Halve, rounding up, all Shell Shock damage results for the Grunt";
|
||
break;
|
||
case "brute":
|
||
description = "Once per session, the Grunt may ignore a single damage result for a scene. At the end of the scene, the damage penalty is increased in severity by 1";
|
||
break;
|
||
default:
|
||
description = "";
|
||
break;
|
||
}
|
||
break;
|
||
case "4":
|
||
switch (specialisation) {
|
||
case "ranged":
|
||
description = "Once per session, the Grunt may use a Gunnery skill in place of a Mechanics skill.";
|
||
break;
|
||
case "melee":
|
||
description = "Once per session, the Grunt may use a Melee skill in place of a Mechanics skill.";
|
||
break;
|
||
case "endurance":
|
||
description = "Reduce the burden of all weapons the Grunt is carrying by 1 (to a minimum of .05";
|
||
break;
|
||
case "brute":
|
||
description = "The Grunt may ignore any TPs due to improvised weapons";
|
||
break;
|
||
default:
|
||
description = "";
|
||
break;
|
||
}
|
||
break;
|
||
case "5":
|
||
switch (specialisation) {
|
||
case "ranged":
|
||
description = "The Grunt ignores the first direct ranged attack made each round for purposes of determining penalties for multiple actions.";
|
||
break;
|
||
case "melee":
|
||
description = "The Grunt ignores the first melee attack made each round for purposes of determining penalties for multiple actions.";
|
||
break;
|
||
case "endurance":
|
||
description = "Once per session, the Grunt may ignore a damage penalty for a scene";
|
||
break;
|
||
case "brute":
|
||
description = "The Brute may make 1 melee attack as a free action. The melee weapon used is broken after the attack.";
|
||
break;
|
||
default:
|
||
description = "";
|
||
break;
|
||
}
|
||
break;
|
||
case "6":
|
||
switch (specialisation) {
|
||
case "ranged":
|
||
description = "Direct ranged attacks made by the Grunt target may target 1 additional target within 30m (3in) of the original target at no penalty. Make a single attack roll for both";
|
||
break;
|
||
case "melee":
|
||
description = "Melee attacks made by the Grunt target may target up to two targets in melee range. Make a single attack roll for both";
|
||
break;
|
||
case "endurance":
|
||
description = "When taking a damage result to System Shock or hull integrity, the Grunt may reduce the damage result’s severity by 1 (to a minimum of 1). Then the Grunt must select a 1d6 damage result and apply that to themselves";
|
||
break;
|
||
case "brute":
|
||
description = "Once per session, if you would die, you may instead take a Level 1 Physical flaw or increase the level of a Physical flaw (assigned by the Director) or reduce 1 Physical perk by 1 level (chosen by the Grunt) and not die. This does not work if your vehicle is disabled";
|
||
break;
|
||
default:
|
||
description = "";
|
||
break;
|
||
}
|
||
break;
|
||
default:
|
||
description = "Select Specialisation and Level";
|
||
break;
|
||
}
|
||
break;
|
||
case "Pilot":
|
||
description = "Pilot";
|
||
break;
|
||
case "Scout":
|
||
switch (level) {
|
||
case "1":
|
||
switch (specialisation) {
|
||
case "pathfinder":
|
||
description = "The Scout counts the team’s PL 1 higher than normal when selecting and customizing vehicles with Comms Suites or Target Designators, and Rigs and Suits that are Recon related";
|
||
break;
|
||
case "sniper":
|
||
description = "The Scout has +1 PL for selecting any: Vehicles with ranged weapons that have the Precise trait, and ranged weapons with scopes or optics (including vehicle weapons).";
|
||
break;
|
||
case "guerrilla":
|
||
description = "The Scout may perform a Sneak Attack. Sneak Attacks are normal attacks that can only be made if the Scout is hidden from the target and the target is unaware the Scout is present. These attacks gain TB:1 and the target is aware of the Scout’s presence after the attack. Unless the attack was suppressed, the target is also aware of the Scout’s location";
|
||
break;
|
||
default:
|
||
description = "";
|
||
break;
|
||
}
|
||
break;
|
||
case "2":
|
||
switch (specialisation) {
|
||
case "pathfinder":
|
||
description = "The Scout gains a TB:1 when making checks to spot, track, follow, or hunt targets";
|
||
break;
|
||
case "sniper":
|
||
description = "Double the effect of the Aiming action for the Scout’s attacks when using ranged weapons with Precise or Optics";
|
||
break;
|
||
case "guerrilla":
|
||
description = "The Scout gains +1d6 to skill tests to avoid being seen and when concealing things";
|
||
break;
|
||
default:
|
||
description = "";
|
||
break;
|
||
}
|
||
break;
|
||
case "3":
|
||
switch (specialisation) {
|
||
case "pathfinder":
|
||
description = "The Scout gains +1d6 and favored to skill tests to spot hidden objects and people";
|
||
break;
|
||
case "sniper":
|
||
description = "If the Scout did not move for 2 consecutive activations, they can from view and require a skill test to locate until the next time they move or make an attack that is not suppressed or silent. The Scout cannot do this if they are not in Partial or Full Cover.";
|
||
break;
|
||
case "guerrilla":
|
||
description = "If another character searching for the Scout loses line of sight while the Scout is on foot and is in a crowd, any attempts to relocate the Scout suffer a -2d6 penalty and TP:1. In addition, the Scout can automatically pass (with MoS:1) skill tests to ask for aid or assistance from local civilians if the civilians are friendly. The aid is limited to hiding the Scout, their team, vehicles, receiving repairs, medical attention or supplies.";
|
||
break;
|
||
default:
|
||
description = "";
|
||
break;
|
||
}
|
||
break;
|
||
case "4":
|
||
switch (specialisation) {
|
||
case "pathfinder":
|
||
description = "The Scout may move at full speed across Difficult Terrain.";
|
||
break;
|
||
case "sniper":
|
||
description = "The Scout may impose a TP:1 to their attack to target the head or center of mass and increase their weapon’s damage by 1 when using ranged weapons with Optics or the Precise trait. Any damage dealt by the attack is to the target’s head or center of mass.";
|
||
break;
|
||
case "guerrilla":
|
||
description = "The Scout gains +1d6 to rolls made for physical acts to break into a location while on foot. Examples include picking a lock, opening a window, or cutting a fence.";
|
||
break;
|
||
default:
|
||
description = "";
|
||
break;
|
||
}
|
||
break;
|
||
case "5":
|
||
switch (specialisation) {
|
||
case "pathfinder":
|
||
description = "Forward Observation is a free action during the Scout’s activation";
|
||
break;
|
||
case "sniper":
|
||
description = "Once per activation, the Scout may use Focus without spending an action Point when using ranged weapons with Optics or the Precise trait.";
|
||
break;
|
||
case "guerrilla":
|
||
description = "The Scout may Break Off as an action by performing an Independent skill test (Survival or Tactics) With Dif 3. Increase the Dif by 1 for each NPC that can see them. If successful, they may immediately make a move up to their MR, fade into the background and are hidden until spotted.";
|
||
break;
|
||
default:
|
||
description = "";
|
||
break;
|
||
}
|
||
break;
|
||
case "6":
|
||
switch (specialisation) {
|
||
case "pathfinder":
|
||
description = "The Scout may select one visible target (actor, Building, Ground etc) per round to Call Out. Indirect Attacks against the Called Out target do not suffer the usual -1d6 penalty for Indirect Attacks. If the Called Out target is caught in an AoE but is not the primary target, the -1d6 penalty for that is ignored.";
|
||
break;
|
||
case "sniper":
|
||
description = "When the Scout makes a ranged attack during their activation that attack kills or disables the target, the Scout may immediately take another shot as a free action using the same weapon (ignore the restriction of only using each weapon once per Activation). This free action may trigger additional free action shots. The Scout must use ranged weapons with Optics or the Precise trait when making these attacks";
|
||
break;
|
||
case "guerrilla":
|
||
description = "The Scout can pick locks, plant explosives, perform actions related to the Guerrilla R-4 bonus, or perform Sneak Attacks without alerting nearby characters or the target so long as the action is quiet";
|
||
break;
|
||
default:
|
||
description = "";
|
||
break;
|
||
}
|
||
break;
|
||
default:
|
||
description = "Select Specialisation and Level";
|
||
break;
|
||
}
|
||
break;
|
||
case "Techie":
|
||
description = "Techie";
|
||
break;
|
||
default:
|
||
description = "No description";
|
||
break;
|
||
}
|
||
console.log(description);
|
||
return description;
|
||
}
|
||
|
||
|
||
on('change:blitz_check', function() {
|
||
getAttrs(["blitz_check"], function(v) {
|
||
let blitz = v["blitz_check"];
|
||
getSectionIDs("repeating_gearweapon", function(idarray) {
|
||
for(var i=0; i < idarray.length; i++) {
|
||
let id = idarray[i];
|
||
if (blitz == 0) {
|
||
setAttrs({
|
||
["repeating_gearweapon_"+id+"_gear_weapon_blitz_check"]: 0
|
||
});
|
||
} else {
|
||
setAttrs({
|
||
["repeating_gearweapon_"+id+"_gear_weapon_blitz_check"]: 1
|
||
});
|
||
}
|
||
}
|
||
});
|
||
});
|
||
});
|
||
|
||
const findDomainUpper = (domain = 0) => {
|
||
console.log(domain+" domain");
|
||
if (domain == 1) {
|
||
domain = "Athletics";
|
||
} else if (domain == 2){
|
||
domain = "Awareness";
|
||
} else if (domain == 3){
|
||
domain = "Business";
|
||
} else if (domain == 4){
|
||
domain = "Craft";
|
||
} else if (domain == 5){
|
||
domain = "Culture";
|
||
} else if (domain == 6){
|
||
domain = "Electronic Warfare";
|
||
} else if (domain == 7){
|
||
domain = "Electronics";
|
||
} else if (domain == 8){
|
||
domain = "Gunnery";
|
||
} else if (domain == 9){
|
||
domain = "Hard Science";
|
||
} else if (domain == 10){
|
||
domain = "Influence";
|
||
} else if (domain == 11){
|
||
domain = "Institutions";
|
||
} else if (domain == 12){
|
||
domain = "Investigation";
|
||
} else if (domain == 13){
|
||
domain = "Mechanics";
|
||
} else if (domain == 14){
|
||
domain = "Medicine";
|
||
} else if (domain == 15){
|
||
domain = "Melee";
|
||
} else if (domain == 16){
|
||
domain = "Pilot";
|
||
} else if (domain == 17){
|
||
domain = "Showmanship";
|
||
} else if (domain == 18){
|
||
domain = "Social Science";
|
||
} else if (domain == 19){
|
||
domain = "Survival";
|
||
} else if (domain == 20){
|
||
domain = "Tactics";
|
||
} else {
|
||
domain = domain;
|
||
};
|
||
return domain;
|
||
};
|
||
const findDomainLower = (domain = 0) => {
|
||
console.log(domain+" domain");
|
||
if (domain == 1) {
|
||
domain = "athletics";
|
||
} else if (domain == 2){
|
||
domain = 'awareness';
|
||
} else if (domain == 3){
|
||
domain = 'business';
|
||
} else if (domain == 4){
|
||
domain = 'craft';
|
||
} else if (domain == 5){
|
||
domain = 'culture';
|
||
} else if (domain == 6){
|
||
domain = 'electronicwarfare';
|
||
} else if (domain == 7){
|
||
domain = 'electronics';
|
||
} else if (domain == 8){
|
||
domain = 'gunnery';
|
||
} else if (domain == 9){
|
||
domain = 'hardscience';
|
||
} else if (domain == 10){
|
||
domain = 'influence';
|
||
} else if (domain == 11){
|
||
domain = 'institutions';
|
||
} else if (domain == 12){
|
||
domain = 'investigation';
|
||
} else if (domain == 13){
|
||
domain = 'mechanics';
|
||
} else if (domain == 14){
|
||
domain = 'medicine';
|
||
} else if (domain == 15){
|
||
domain = 'melee';
|
||
} else if (domain == 16){
|
||
domain = 'pilot';
|
||
} else if (domain == 17){
|
||
domain = 'showmanship';
|
||
} else if (domain == 18){
|
||
domain = 'socialscience';
|
||
} else if (domain == 19){
|
||
domain = 'survival';
|
||
} else if (domain == 20){
|
||
domain = 'tactics';
|
||
} else {
|
||
domain = domain;
|
||
};
|
||
return domain;
|
||
|
||
};
|
||
|
||
//when stat button pushed, lookup weapon attributes
|
||
const statGearWeapon = (input = "",arm = 0, lvl = 3, underslungWeapon = 0, domain = 8, domainTn = 1,familiar = 0) => {
|
||
let gearweapon = gearWeaponLookup(input);
|
||
gearweapon.code = input;
|
||
gearweapon.lvl = lvl;
|
||
gearweapon.familiar = familiar;
|
||
gearweapon.geardomain = domain;
|
||
gearweapon.geardomainTn = domainTn;
|
||
let damage = 0;
|
||
let minusArray = [];
|
||
let extraOther = [];
|
||
gearweapon.arc = "Front";
|
||
gearweapon.other = "";
|
||
console.log(gearweapon.underslung+" underslung");
|
||
|
||
//change size to full word
|
||
if (gearweapon.size == "L") {
|
||
gearweapon.size = "Light";
|
||
} else if (gearweapon.size == "M") {
|
||
gearweapon.size = "Medium";
|
||
} else if (gearweapon.size == "H") {
|
||
gearweapon.size = "Heavy"
|
||
} else {
|
||
gearweapon.size = " ";
|
||
}
|
||
|
||
if (gearweapon.size == "Light") {
|
||
damage = gearweapon.l;
|
||
} else if (gearweapon.size == "Medium") {
|
||
damage = gearweapon.m;
|
||
} else if (gearweapon.size == "Heavy") {
|
||
damage = gearweapon.h;
|
||
} else {
|
||
damage = gearweapon.l;
|
||
}
|
||
|
||
if (gearweapon.type == "Fist") {
|
||
damage = arm-2;
|
||
console.log(damage);
|
||
}
|
||
|
||
gearweapon["damage"] = damage;
|
||
|
||
if (gearweapon.traits == undefined) {
|
||
gearweapon.traits = [""];
|
||
}
|
||
//if gearweapontraits is an array call decap
|
||
if (Array.isArray(gearweapon.traits)) {
|
||
gearweapon.traits = deCapitalise(gearweapon.traits);
|
||
} else {
|
||
}
|
||
console.log(gearweapon.traits+"gearweapon.traits");
|
||
//remove spaces and brackets from gearweapon.extra
|
||
//if extra is an array, then deCapitalise it
|
||
if (Array.isArray(gearweapon.extra)) {
|
||
gearweapon.extra = deCapitalise(gearweapon.extra);
|
||
}
|
||
console.log(gearweapon.extra+"gearweapon.extra");
|
||
|
||
//if gearweapon.extra has an element that starts with - then remove it and add it to minusArray
|
||
if (Array.isArray(gearweapon.extra)) {
|
||
gearweapon.extra.forEach(element => {
|
||
if (element.startsWith("-")) {
|
||
//remove - from element and add it to minusArray
|
||
element = element.replace("-","");
|
||
minusArray.push(element);
|
||
gearweapon.extra.splice(gearweapon.extra.indexOf(element)-1,1);
|
||
console.log(element+" element"+minusArray+" minusArray"+gearweapon.extra+" gearweapon.extra");
|
||
}
|
||
});
|
||
}
|
||
// underslung is 1, add attachment to traits
|
||
if (underslungWeapon == 1) {
|
||
gearweapon.traits.push("attachment");
|
||
}
|
||
gearweapon.extra.forEach(element => {
|
||
if (gearWeaponTraits.includes(element)) {
|
||
gearweapon.traits.push(element);
|
||
} else if (element.includes(":")) {
|
||
let elementArray = element.split(":");
|
||
if (gearWeaponTraitsX.includes(elementArray[0])) {
|
||
gearweapon.traits.push(element);
|
||
|
||
}
|
||
} else {// add it to extraOther
|
||
extraOther.push(element);
|
||
}
|
||
|
||
});
|
||
gearweapon.minus = minusArray;
|
||
console.log(gearweapon.extra+" gearweapon.extra");
|
||
console.log(minusArray+"minusArray");
|
||
console.log(extraOther+"extraOther");
|
||
extraOther.forEach(element => {
|
||
switch(element){
|
||
case "t":
|
||
gearweapon.arc = "turret";
|
||
break;
|
||
case "l":
|
||
gearweapon.arc = "left";
|
||
break;
|
||
case "r":
|
||
gearweapon.arc = "right";
|
||
break;
|
||
case "manip":
|
||
gearweapon.location = "Manip";
|
||
break;
|
||
case "shoulder":
|
||
gearweapon.location = "Shoulder";
|
||
break;
|
||
case "torso":
|
||
gearweapon.location = "Torso";
|
||
break;
|
||
default:
|
||
gearweapon.other += element;
|
||
break;
|
||
}
|
||
console.log("arc:"+gearweapon.arc);
|
||
});
|
||
|
||
gearWeaponTraits.forEach(trait => {//for each trait, check if it is in the list of traits
|
||
if (gearweapon.traits.includes(trait)) {
|
||
gearweapon[trait] = 1;
|
||
if (gearweapon.minus.includes(trait)) {
|
||
gearweapon[trait] = 0;
|
||
}
|
||
|
||
|
||
} else {
|
||
gearweapon[trait] = 0;
|
||
}
|
||
//check if selector is initalised
|
||
if (gearweapon.selector == undefined) {
|
||
gearweapon.selector = [1];
|
||
|
||
}
|
||
});
|
||
//take array gearweapon.traits and for each entry, check if it has a ":", if it does, then take the part before the : and compare it to traitsX,
|
||
//if it is, add the part after the : to the gearweapon.trait
|
||
gearWeaponTraitsX.forEach(trait => {
|
||
gearweapon.traits.forEach(entry => {
|
||
//if entry includes "(or)" or : split it
|
||
let entryArray = entry.split("(or)");
|
||
entryArray.forEach(entry => {
|
||
if (entry.includes(":")) {
|
||
entryArray = entry.split(":");
|
||
if (entryArray[0] == trait) {
|
||
console.log("Trait found"+entryArray[0]+" trait:"+trait+":"+entryArray[1]+"selector:"+gearweapon.selector);
|
||
//find the index of the entry in gearweapon.traits
|
||
let index = gearweapon.traits.indexOf(entry);
|
||
console.log("index:"+index+ ",trait replaced:"+gearweapon.traits[index]+"with:"+trait+"selector:"+gearweapon.selector[index]);
|
||
gearweapon.traits[index] = trait;
|
||
|
||
gearweapon.traitVals = entryArray[1];
|
||
gearweapon[trait] = entryArray[1];
|
||
|
||
//remove entry from gearweapon.traits
|
||
|
||
|
||
//if entryArray[1] has /, then find split it
|
||
if(entryArray[1].includes("/")){
|
||
let entryArray2 = entryArray[1].split("/");
|
||
if (gearweapon.size == "Light") {
|
||
gearweapon[trait] = entryArray2[0];
|
||
} else if (gearweapon.size == "Medium") {
|
||
gearweapon[trait] = entryArray2[1];
|
||
} else if (gearweapon.size == "Heavy") {
|
||
gearweapon[trait] = entryArray2[2];
|
||
}
|
||
} else {
|
||
gearweapon[trait] = entryArray[1];
|
||
}
|
||
gearweapon[trait] = parseInt(gearweapon[trait]);
|
||
|
||
|
||
};
|
||
};
|
||
});
|
||
|
||
});
|
||
});
|
||
|
||
|
||
console.log("arc:"+gearweapon.arc);
|
||
gearweapon.blitz = convertBlitz(gearweapon.range);
|
||
console.log("blitz:"+gearweapon.blitz);
|
||
var newrowid = generateRowID();
|
||
var newrowattrs = {};
|
||
var intialise = {};
|
||
//set code
|
||
if (underslungWeapon == 1){
|
||
gearweapon.ammunition = gearweapon.ammunition/2;
|
||
gearweapon.slots = 0;
|
||
gearweapon.aux = 0;
|
||
}
|
||
newrowattrs["repeating_gearweapon_" + newrowid + "_gear_weapon_code"] = gearweapon.code;
|
||
newrowattrs["repeating_gearweapon_" + newrowid + "_gear_weapon_type"] = gearweapon.type;
|
||
newrowattrs["repeating_gearweapon_" + newrowid + "_gear_weapon_range"] = gearweapon.range;
|
||
newrowattrs["repeating_gearweapon_" + newrowid + "_gear_weapon_blitz_range"] = gearweapon.blitz;
|
||
newrowattrs["repeating_gearweapon_" + newrowid + "_gear_weapon_damage_l"] = gearweapon.l;
|
||
newrowattrs["repeating_gearweapon_" + newrowid + "_gear_weapon_damage_m"] = gearweapon.m;
|
||
newrowattrs["repeating_gearweapon_" + newrowid + "_gear_weapon_damage_h"] = gearweapon.h;
|
||
newrowattrs["repeating_gearweapon_" + newrowid + "_gear_weapon_damage"] = gearweapon.damage;
|
||
newrowattrs["repeating_gearweapon_" + newrowid + "_gear_weapon_catagory"] = gearweapon.catagory;
|
||
newrowattrs["repeating_gearweapon_" + newrowid + "_gear_weapon_domain"] = gearweapon.geardomain;
|
||
newrowattrs["repeating_gearweapon_" + newrowid + "_gear_weapon_gear_domain_tn"] = gearweapon.geardomainTn;
|
||
newrowattrs["repeating_gearweapon_" + newrowid + "_gear_weapon_slots"] = gearweapon.slots;
|
||
newrowattrs["repeating_gearweapon_" + newrowid + "_gear_weapon_slots_misc"] = gearweapon.aux;
|
||
newrowattrs["repeating_gearweapon_" + newrowid + "_gear_weapon_location"] = gearweapon.location;
|
||
newrowattrs["repeating_gearweapon_" + newrowid + "_gear_weapon_ammo"] = gearweapon.ammunition;
|
||
newrowattrs["repeating_gearweapon_" + newrowid + "_gear_weapon_ammo_max"] = gearweapon.ammunition;
|
||
newrowattrs["repeating_gearweapon_" + newrowid + "_gear_weapon_pl"] = gearweapon.pl;
|
||
newrowattrs["repeating_gearweapon_" + newrowid + "_gear_weapon_traits_desc"] = gearweapon.desc;
|
||
newrowattrs["repeating_gearweapon_" + newrowid + "_gear_weapon_size"] = gearweapon.size;
|
||
newrowattrs["repeating_gearweapon_" + newrowid + "_gear_skill_level"] = gearweapon.lvl;
|
||
newrowattrs["repeating_gearweapon_" + newrowid + "_gear_skill_familiar"] = gearweapon.familiar;
|
||
newrowattrs["repeating_gearweapon_" + newrowid + "_gear_weapon_arc"] = gearweapon.arc;
|
||
newrowattrs["repeating_gearweapon_" + newrowid + "_gear_weapon_traits_other"] = gearweapon.other;
|
||
|
||
if (gearweapon.desc !== "") {
|
||
newrowattrs["repeating_gearweapon_" + newrowid + "_gear_weapon_traits_see_desc"] = 1;
|
||
}
|
||
|
||
gearWeaponTraits.forEach(trait => {
|
||
newrowattrs["repeating_gearweapon_" + newrowid + "_gear_weapon_traits_" + trait] = gearweapon[trait];
|
||
//let index be the index of the array gearweapon.traits that matches trait
|
||
let index = gearweapon.traits.indexOf(trait);
|
||
//console.log(gearweapon.selector+"gearweapon.selector");
|
||
//console.log("index:"+index+" trait:"+trait+" gearweapon[trait]:"+gearweapon[trait]);
|
||
if (index != -1 && gearweapon.selector[index] !== undefined) {
|
||
newrowattrs["repeating_gearweapon_" + newrowid + "_gear_weapon_traits_" + trait +"_selector"] = gearweapon.selector[index];
|
||
console.log("repeating_gearweapon_n_gear_weapon_traits_" + trait +"_selector: "+ gearweapon.selector[index]);
|
||
} else if (index != -1 && gearweapon.selector[index] == undefined ) {
|
||
gearweapon.selector[index] = 1;
|
||
newrowattrs["repeating_gearweapon_" + newrowid + "_gear_weapon_traits_" + trait +"_selector"] = 1;
|
||
console.log("new selector repeating_gearweapon_n_gear_weapon_traits_" + trait +"_selector: "+ gearweapon.selector[index]);
|
||
}
|
||
});
|
||
//console.log("newrowattrs:"+newrowattrs);
|
||
setAttrs(newrowattrs, {silent: true}, underslungcheck(gearweapon,arm,lvl, ));
|
||
}
|
||
|
||
function underslungcheck(gearweapon,arm,lvl) {
|
||
if (gearweapon.underslung != "" && gearweapon.underslung != undefined) {
|
||
statGearWeapon(gearweapon.underslung,arm,lvl,1);
|
||
}
|
||
}
|
||
|
||
on('clicked:gear_weapon_stat', function() {
|
||
getAttrs(["gear_weapon_code","gear_arm","gear_weapon_lvl","gear_weapon_domain","gear_weapon_gear_domain_tn","gear_weapon_skill_familiar"], function(v) {
|
||
let input = v["gear_weapon_code"];
|
||
let lvl = parseInt(v["gear_weapon_lvl"]);
|
||
let arm = parseInt(v["gear_arm"]);
|
||
let domain = parseInt(v["gear_weapon_domain"]);
|
||
let domainTn = parseInt(v["gear_weapon_gear_domain_tn"]);
|
||
let familiar = parseInt(v["gear_weapon_skill_familiar"]);
|
||
statGearWeapon(input,arm,lvl,0,domain,domainTn,familiar);
|
||
});
|
||
});
|
||
|
||
|
||
|
||
//lookup table for gear weapon attributes
|
||
const gearWeaponLookup = (string) => {
|
||
console.log("gearWeaponLookup:"+string);
|
||
let gearweapon = {};
|
||
let underslungweapon = {};
|
||
let code = "";
|
||
let extra = ""; // declare variables outside of if statement
|
||
let underslung = "";
|
||
|
||
// find if input has a space in it
|
||
if (string.indexOf(' ') >= 0) {
|
||
gearweapon.extraFlag = 1;
|
||
let inputArray = string.split(' '); // input has a space, split into code and extra
|
||
code = inputArray[0];
|
||
extra = inputArray.slice(1);
|
||
console.log("code:"+code+" extra:"+extra);
|
||
//replace , with space
|
||
extra = extra.toString().split(' ');
|
||
extra = extra.toString().split(',');
|
||
|
||
} else {
|
||
code = string;;
|
||
}
|
||
//find if input has a / in it
|
||
if (code.indexOf('/') >= 0) {
|
||
let underslungArray = code.split('/'); // input has a /, split into code and underslung
|
||
code = underslungArray[0];
|
||
underslung = underslungArray[1];
|
||
console.log("code:"+code+" underslung:"+underslung);
|
||
} else {
|
||
gearweapon.underslung = "";
|
||
}
|
||
|
||
|
||
// take first letter of code, and look up size
|
||
let sizeletter = code.charAt(0);
|
||
console.log(sizeletter + "sizeletter");
|
||
|
||
//take rest of code and look up type
|
||
let weaponcode = code.slice(1);
|
||
|
||
if (code == "FS" || weaponcode == "FS") {
|
||
weaponcode = "FS";
|
||
sizeletter = " ";
|
||
}
|
||
switch (weaponcode) {
|
||
case "AAC":
|
||
gearweapon = {type:"Anti-Air Cannon", range :"60-180/360",size: sizeletter, l:6,m:7, h:8, traits:["Burst:1","Flak"], catagory:"D", slots:2, aux:1, location:"Manip", ammunition:5, pl:1, desc:""};
|
||
break;
|
||
case "AAM":
|
||
gearweapon = {type:"Anti-Air Missile", range :"60-360/720",size: sizeletter, l:7,m:8, h:9, traits:["Flak"," Guided","Limited Ammo"], catagory:"D,I", slots:3, aux:0, location:"Shoulder, Torso", ammunition:3, pl:3, desc:""};
|
||
break;
|
||
case "ABM":
|
||
gearweapon = {type:"Air Burst Missile", range :"120-480/960",size: sizeletter, l:6,m:7, h:8, traits:["AoE:15","Blast","Guided","Limited Ammo"], catagory:"I", slots:4, aux:0, location:"Shoulder, Torso", ammunition:3, pl:4, desc:""};
|
||
break;
|
||
case "ARM":
|
||
gearweapon = {type:"Anti-Armor Mine", range :"-",size: sizeletter, l:7,m:8, h:9, traits:["AP:3/4/5","Mine"], catagory:"-", slots:0, aux:0, location:"-", ammunition:0, pl:3, desc:""};
|
||
break;
|
||
case "APGL":
|
||
gearweapon = {type:"Anti-Per. Grenade Launcher", range :"15 (3in)",size: sizeletter, l:4,m:5, h:6, traits:["Frag"], catagory:"P", slots:1, aux:0, location:"Torso", ammunition:4, pl:1, desc:""};
|
||
break;
|
||
case "APM":
|
||
gearweapon = {type:"Anti-Personnel Mines", range :"-",size: sizeletter, l:4,m:5, h:6, traits:["AoE:5","Mine"], catagory:"-", slots:0, aux:0, location:"-", ammunition:0, pl:1, desc:""};
|
||
break;
|
||
case "APR":
|
||
gearweapon = {type:"Anti-Personnel Rockets", range :"60-180/360",size: sizeletter, l:6,m:7, h:8, traits:["AoE:15m","Salvo", "Blast","Limited Ammo"], catagory:"D,I", slots:2, aux:0, location:"Shoulder, Torso", ammunition:4, pl:1, desc:""};
|
||
break;
|
||
case "ATM":
|
||
gearweapon = {type:"Anti-Tank Missile", range :"60-360/720",size: sizeletter, l:8,m:9, h:10, traits:["AP:2/3/4","Guided","Limited Ammo"], catagory:"D,I", slots:2, aux:2, location:"Shoulder, Torso", ammunition:2, pl:5, desc:""};
|
||
break;
|
||
case "AVG":
|
||
gearweapon = {type:"Anti-Vehicle Grenade", range :"30-60/90",size: sizeletter, l:4,m:5, h:6, traits:["AP:2/4/6","Limited Ammo"], catagory:"D", slots:2, aux:0, location:"Manip", ammunition:4, pl:3, desc:""};
|
||
break;
|
||
case "AVM":
|
||
gearweapon = {type:"Anti-Vehicle Missile", range :"60-180/360",size: sizeletter, l:5,m:6, h:7, traits:["AP:1","Guided","Limited Ammo"], catagory:"D,I", slots:2, aux:0, location:"Shoulder, Torso", ammunition:2, pl:3, desc:""};
|
||
break;
|
||
case "AG":
|
||
gearweapon = {type:"Artillery Gun", range :"120-480/960",size: sizeletter, l:9,m:10, h:11, traits:["AoE:15","Blast","AP:1","Demo:2"], catagory:"I", slots:6, aux:4, location:"Manip, Torso", ammunition:1, pl:6, desc:""};
|
||
break;
|
||
case "AM":
|
||
gearweapon = {type:"Artillery Missile", range :"120-480/960",size: sizeletter, l:7,m:8, h:9, traits:["AoE:15","Blast","Demo:2","Guided","AP:1"," Limited Ammo"], catagory:"I", slots:3, aux:2, location:"Torso", ammunition:4, pl:6, desc:""};
|
||
break;
|
||
case "AR":
|
||
gearweapon = {type:"Artillery Rockets", range :"120-360/720",size: sizeletter, l:7,m:8, h:9, traits:["AoE:15","Demo:2","Limited Ammo","Salvo"], catagory:"D,I", slots:3, aux:2, location:"Torso", ammunition:4, pl:3, desc:""};
|
||
break;
|
||
case "AC":
|
||
gearweapon = {type:"Autocannon", range :"60-180/360",size: sizeletter, l:6,m:7, h:8, traits:["Mode","Burst:1","or","Precise"], selector:[2,2,1,3], catagory:"D", slots:2, aux:1, location:"Manip", ammunition:6, pl:1, desc:""};
|
||
break;
|
||
case "BA":
|
||
gearweapon = {type:"Bayonet", range :"3 (0in)",size: sizeletter, l:5,m:6, h:7, traits:["Attachment","See Desc"], catagory:"M", slots:0, aux:0, location:"-", ammunition:0, pl:1, desc:"Swapping to or from a weapon with a bayonet counts as an additional action"};
|
||
break;
|
||
case "BZ":
|
||
gearweapon = {type:"Bazooka", range :"60-120/240",size: sizeletter, l:7,m:8, h:9, traits:["Mode","AP:2/3/4","or","AoE:10","Blast"], selector:[2,2,1,3,3], catagory:"D", slots:2, aux:1, location:"Manip", ammunition:6, pl:1, desc:""};
|
||
break;
|
||
case "BM":
|
||
gearweapon = {type:"Bomb", range :"-",size: sizeletter, l:7,m:8, h:9, traits:["AoE:15/20/25","Bomb","Limited Ammo"], catagory:"D", slots:0, aux:0, location:"-", ammunition:1, pl:1, desc:""};
|
||
break;
|
||
case "CB":
|
||
gearweapon = {type:"Chain Bayonet", range :"3 (0in)",size: sizeletter, l:5,m:6, h:7, traits:["Attachment","Demo:2","Brawler:1","See Desc"], catagory:"M", slots:1, aux:0, location:"-", ammunition:0, pl:4, desc:"Swapping to or from a weapon with a bayonet counts as an additional action"};
|
||
break;
|
||
case "CBL":
|
||
gearweapon = {type:"Chain Blade", range :"6 (1in)",size: sizeletter, l:7,m:8, h:9, traits:["Demo:2/4/6","Brawler:1"], catagory:"M", slots:2, aux:0, location:"Manip", ammunition:0, pl:4, desc:""};
|
||
break;
|
||
case "CL":
|
||
gearweapon = {type:"Claws", range :"3 (0in)",size: sizeletter, l:7,m:8, h:9, traits:["Forearm"], catagory:"M", slots:1, aux:0, location:"Manip", ammunition:0, pl:1, desc:""};
|
||
break;
|
||
case "CW":
|
||
gearweapon = {type:"Combat Weapon", range :"3 (0in)",size: sizeletter, l:7,m:8, h:9, traits:["Demo:2/3/4","Backup"], catagory:"M", slots:1, aux:0, location:"Manip", ammunition:0, pl:1, desc:""};
|
||
break;
|
||
case "EM":
|
||
gearweapon = {type:"EM Mines", range :"-",size: sizeletter, l:4,m:5, h:6, traits:["Mine","Haywire"], catagory:"-", slots:0, aux:0, location:"-", ammunition:0, pl:4, desc:""};
|
||
break;
|
||
case "EL":
|
||
gearweapon = {type:"Explosive Lance", range :"8 (2in)",size: sizeletter, l:7,m:8, h:9, traits:["AP:2/3/4","Demo:3/5/7"], catagory:"M", slots:2, aux:0, location:"Manip", ammunition:0, pl:5, desc:""};
|
||
break;
|
||
case "FG":
|
||
gearweapon = {type:"Field Gun", range :"60-240/480",size: sizeletter, l:9,m:10, h:11, traits:["Mode","AoE:15","Blast","or","AP:3/4/5"],selector:[2,2,2,1,3], catagory:"D,I", slots:4, aux:4, location:"Manip,Torso", ammunition:1, pl:6, desc:""};
|
||
break;
|
||
case "FM":
|
||
gearweapon = {type:"Field Mortar", range :"120-360/720",size: sizeletter, l:8,m:9, h:10, traits:["AoE:20","Blast"], catagory:"I", slots:3, aux:2, location:"Shoulder,Torso", ammunition:1, pl:4, desc:""};
|
||
break;
|
||
case "FS":
|
||
gearweapon = {type:"Fist", range :"0 (0in)",size: " ", l:0,m:0, h:0, traits:["See Desc"], catagory:"M", slots:0, aux:0, location:"-", ammunition:0, pl:0, desc:"A Gear or Strider with the Hands equipment that has an open hand is counted as having a fist. This is not counted as a weapon for any rules interaction. The Damage of a Fist is equal to the Arm - 2 of the vehicle."};
|
||
break;
|
||
case "FAI":
|
||
gearweapon = {type:"Flail", range :"5 (1in)",size: sizeletter, l:6,m:7, h:8, traits:["See Desc"], catagory:"M", slots:2, aux:0, location:"Manip", ammunition:0, pl:2, desc:"Attacks from flails do not allow the effects of shields or bucklers."};
|
||
break;
|
||
case "FL":
|
||
gearweapon = {type:"Flamer", range :"0-90/180",size: sizeletter, l:3,m:4, h:5, traits:["Fire:1/2/3","Spray","Burst:1"], catagory:"D", slots:2, aux:1, location:"Manip", ammunition:4, pl:3, desc:""};
|
||
break;
|
||
case "FC":
|
||
gearweapon = {type:"Frag Cannon", range :"0-90/180",size: sizeletter, l:5,m:6, h:7, traits:["Mode","Precise","AP:1/2/3","or","Frag"],selector:[2,2,2,1,3], catagory:"D", slots:2, aux:1, location:"Manip", ammunition:6, pl:1, desc:""};
|
||
break;
|
||
case "FRG":
|
||
gearweapon = {type:"Frag Grenades", range :"0-60/90",size: sizeletter, l:3,m:4, h:5, traits:["AoE:15","Blast","Frag","Limited Ammo"], catagory:"D,I", slots:1, aux:0, location:"Manip", ammunition:4, pl:1, desc:""};
|
||
break;
|
||
case "GL":
|
||
gearweapon = {type:"Grenade Launcher", range :"60-120/240",size: sizeletter, l:0,m:0, h:0, traits:["Burst:1","See Desc"], catagory:"D,I", slots:2, aux:1, location:"Manip", ammunition:4, pl:1, desc:"Grenade Launchers may fire Anti-Vehicle, Frag, Incendiary, Haywire, White Sand and Smoke Grenades using those Grenade’s damage but the Grenade Launcher’s stats for everything else (this includes range and Ammo. Attacks with the Grenade and Grenade Launcher use the combined traits of both. When selecting the weapon, the user must select 2 of the available grenade types to be available to use (these are still restricted by PL). The user may only use those 2 types when attacking. A Grenade Launcher may fire grenades the same size as it or lower (A MGL can fire Medium or Light grenades). Ignore the LA:X trait on any Grenades used."};
|
||
break;
|
||
case "GM":
|
||
gearweapon = {type:"Guided Mortar", range :"120-360/720",size: sizeletter, l:7,m:8, h:9, traits:["AoE:15","Blast","Guided"], catagory:"I", slots:3, aux:2, location:"Shoulder,Torso", ammunition:1, pl:5, desc:""};
|
||
break;
|
||
case "HYG":
|
||
gearweapon = {type:"Haywire Grenades", range :"0-60/90",size: sizeletter, l:4,m:5, h:6, traits:["Haywire","Limited Ammo"], catagory:"D,I", slots:1, aux:0, location:"Manip", ammunition:4, pl:5, desc:""};
|
||
break;
|
||
case "HW":
|
||
gearweapon = {type:"Haywire Whip", range :"7 (2in)",size: sizeletter, l:5,m:6, h:7, traits:["Haywire"], catagory:"M", slots:2, aux:0, location:"Manip", ammunition:0, pl:5, desc:""};
|
||
break;
|
||
case "IG":
|
||
gearweapon = {type:"Incendiary Grenades", range :"0-60/90",size: sizeletter, l:5,m:6, h:7, traits:["Fire:1/2/3","AoE:15","Limited Ammo"], catagory:"D,I", slots:1, aux:0, location:"Manip", ammunition:4, pl:4, desc:""};
|
||
break;
|
||
case "IM":
|
||
gearweapon = {type:"Incendiary Mines", range :"-",size: sizeletter, l:5,m:6, h:7, traits:["Fire:2/3/4","AoE:5","Mine"], catagory:"-", slots:0, aux:0, location:"-", ammunition:0, pl:4, desc:""};
|
||
break;
|
||
case "IAR":
|
||
gearweapon = {type:"Incendiary Artillery Rockets", range :"120-360/720",size: sizeletter, l:7,m:8, h:9, traits:["AoE:15","Demo:2","Limited Ammo","Salvo","Fire:1/2/3"], catagory:"D,I", slots:3, aux:2, location:"Torso", ammunition:4, pl:5, desc:""};
|
||
break;
|
||
case "IRP":
|
||
gearweapon = {type:"Incendiary Rocket Pack", range :"60-180/360",size: sizeletter, l:4,m:5, h:6, traits:["AoE:15","Limited Ammo","Salvo","Fire:1/2/3"], catagory:"D,I", slots:2, aux:0, location:"Shoulder,Torso", ammunition:4, pl:4, desc:""};
|
||
break;
|
||
case "LA":
|
||
gearweapon = {type:"Lance", range :"8 (2In)",size: sizeletter, l:7,m:8, h:9, traits:["AP:3/4/5"], catagory:"M", slots:2, aux:0, location:"Manip", ammunition:0, pl:5, desc:""};
|
||
break;
|
||
case "LC":
|
||
gearweapon = {type:"Laser Cannon", range :"30-360/720",size: sizeletter, l:6,m:7, h:8, traits:["Precise","Advanced"], catagory:"D", slots:3, aux:0, location:"Manip", ammunition:0, pl:5, desc:""};
|
||
break;
|
||
case "MG":
|
||
gearweapon = {type:"Machine Gun", range :"30-90/180",size: sizeletter, l:4,m:5, h:6, traits:["Burst:2","Backup"], catagory:"D", slots:1, aux:1, location:"Manip,Torso,Shoulder", ammunition:6, pl:1, desc:""};
|
||
break;
|
||
case "MS":
|
||
gearweapon = {type:"Morningstar", range :"5 (1in)",size: sizeletter, l:9,m:10, h:11, traits:[""], catagory:"M", slots:3, aux:0, location:"Manip", ammunition:0, pl:2, desc:""};
|
||
break;
|
||
case "PZ":
|
||
gearweapon = {type:"Panzerfaust", range :"30-60/120",size: sizeletter, l:7,m:8, h:9, traits:["AP:2/3/4","Limited Ammo","See Desc"], catagory:"D", slots:1, aux:0, location:"Manip", ammunition:2, pl:2, desc:"Panzerfausts are always assumed to be stored on the torso if they are listed on a vehicle’s profile"};
|
||
break;
|
||
case "PA":
|
||
gearweapon = {type:"Particle Accelerator", range :"30-240/480",size: sizeletter, l:7,m:8, h:9, traits:["Haywire","Precise","Advanced"], catagory:"D", slots:3, aux:0, location:"Manip", ammunition:0, pl:6, desc:""};
|
||
break;
|
||
case "P":
|
||
gearweapon = {type:"Pistol", range :"0-120/240",size: sizeletter, l:6,m:7, h:8, traits:["Precise","Backup"], catagory:"D", slots:1, aux:0, location:"Manip", ammunition:6, pl:1, desc:""};
|
||
break;
|
||
case "PL":
|
||
gearweapon = {type:"Pulse Laser", range :"30-180/480",size: sizeletter, l:6,m:7, h:8, traits:["Advanced","Ammo","Burst:1",,"or","AP:1/2/3","Apex"],selector:[1,2,2,1,3,3], catagory:"D", slots:3, aux:0, location:"Manip", ammunition:0, pl:7, desc:""};
|
||
break;
|
||
case "RG":
|
||
gearweapon = {type:"Railgun", range :"60-480/960",size: sizeletter, l:4,m:5, h:6, traits:["AP:3/4/5","Advanced","Precise"], catagory:"D", slots:4, aux:2, location:"Manip", ammunition:1, pl:6, desc:""};
|
||
break;
|
||
case "RBZ":
|
||
gearweapon = {type:"Rapid Fire Bazooka", range :"60-120/240",size: sizeletter, l:7,m:8, h:9, traits:["AP:2/3/4","Burst:1"], catagory:"D", slots:2, aux:1, location:"Manip", ammunition:3, pl:2, desc:""};
|
||
break;
|
||
case "RS":
|
||
gearweapon = {type:"Revisionist Staff", range :"6 (2in)",size: sizeletter, l:7,m:8, h:9, traits:["AP:2","Brawler:1"], catagory:"M", slots:3, aux:0, location:"Manip", ammunition:0, pl:5, desc:""};
|
||
break;
|
||
case "RF":
|
||
gearweapon = {type:"Rifle", range :"60-360/720",size: sizeletter, l:6,m:7, h:8, traits:["Precise"], catagory:"D", slots:2, aux:1, location:"Manip", ammunition:5, pl:2, desc:""};
|
||
break;
|
||
case "RP":
|
||
gearweapon = {type:"Rocket Pack", range :"60-180/360",size: sizeletter, l:7, m:8, h:9, traits:["AoE:15","AP:1","Limited Ammo","Salvo"], catagory:"D,I", slots:2, aux:0, location:"Shoulder,Torso", ammunition:4, pl:3, desc:"When reloaded at a base or supply vehicle, a rocket pack can be loaded with torpedos. These work exactly like a rocket pack but can only fire at targets in the water."};
|
||
break;
|
||
case "RC":
|
||
gearweapon = {type:"Rotary Cannon", range :"60-180/360",size: sizeletter, l:6, m:7, h:8, traits:["Burst:2"], catagory:"D", slots:3, aux:1, location:"Manip", ammunition:5, pl:2, desc:""};
|
||
break;
|
||
case "RL":
|
||
gearweapon = {type:"Rotary Laser", range :"30-180/360",size: sizeletter, l:7,m:8, h:9, traits:["Burst:2","Advanced","Forearm"], catagory:"D", slots:3, aux:0, location:"Manip", ammunition:0, pl:6, desc:""};
|
||
break;
|
||
case "SY":
|
||
gearweapon = {type:"Scythe", range :"6 (2in)",size: sizeletter, l:6,m:7, h:8, traits:["AP:2/3/4"], catagory:"M", slots:3, aux:0, location:"Manip", ammunition:0, pl:3, desc:""};
|
||
break;
|
||
case "SE":
|
||
gearweapon = {type:"Shaped Explosives", range :"0 (0in)",size: sizeletter, l:7,m:8, h:9, traits:["AP:2/3/4","Demo:4"], catagory:"M", slots:2, aux:0, location:"Manip", ammunition:2, pl:2, desc:""};
|
||
break;
|
||
case "SM":
|
||
gearweapon = {type:"Smoke Grenades", range :"0-60/90",size: sizeletter, l:0,m:0, h:0, traits:["AoE:5/20/25","Smoke","Limited Ammo","See Desc"], catagory:"D", slots:1, aux:0, location:"Manip", ammunition:4, pl:1, desc:"Any AoE attack made by this weapon is Smoke and does no damage."};
|
||
break;
|
||
case "SC":
|
||
gearweapon = {type:"Snub Cannon", range :"30-120/180",size: sizeletter, l:8,m:9, h:10, traits:["AP:2/3/4","Demo:3","Precise"], catagory:"D", slots:2, aux:1, location:"Manip", ammunition:3, pl:2, desc:""};
|
||
break;
|
||
case "SG":
|
||
gearweapon = {type:"Spike Gun", range :"3 (0in)",size: sizeletter, l:6,m:7, h:8, traits:["AP:2/4/6","Forearm"], catagory:"D", slots:1, aux:0, location:"Manip", ammunition:0, pl:2, desc:""};
|
||
break;
|
||
case "ST":
|
||
gearweapon = {type:"Staff", range :"6 (2in)",size: sizeletter, l:6,m:7, h:8, traits:[""], catagory:"M", slots:2, aux:0, location:"Manip", ammunition:0, pl:1, desc:""};
|
||
break;
|
||
case "SMG":
|
||
gearweapon = {type:"Submachine Gun", range :"0-120/180",size: sizeletter, l:5,m:6, h:7, traits:["Burst:2","Backup"], catagory:"D", slots:1, aux:1, location:"Manip", ammunition:4, pl:1, desc:""};
|
||
break;
|
||
case "TG":
|
||
gearweapon = {type:"Tank Gun", range :"120-360/720",size: sizeletter, l:9,m:10, h:11, traits:["AP:3/4/5","Demo:2"], catagory:"D", slots:6, aux:4, location:"Manip, Torso", ammunition:1, pl:6, desc:""};
|
||
break;
|
||
case "VC":
|
||
gearweapon = {type:"Vehicle Claymore", range :"-",size: sizeletter, l:7,m:8, h:9, traits:["Spray","Mine"], catagory:"-", slots:0, aux:0, location:"-", ammunition:0, pl:3, desc:""};
|
||
break;
|
||
case "VB":
|
||
gearweapon = {type:"Vibro-Blade", range :"3 (0in)",size: sizeletter, l:7,m:8, h:9, traits:["AP:1/3/5","Backup"], catagory:"M", slots:1, aux:0, location:"Manip", ammunition:0, pl:1, desc:""};
|
||
break;
|
||
case "VK":
|
||
gearweapon = {type:"Vibro-Katana", range :"3 (0in)",size: sizeletter, l:7,m:8, h:9, traits:["AP:2/4/6"], catagory:"M", slots:2, aux:0, location:"Manip", ammunition:0, pl:2, desc:""};
|
||
break;
|
||
case "VR":
|
||
gearweapon = {type:"Vibro-Rapier", range :"3 (0in)",size: sizeletter, l:6,m:7, h:8, traits:["Precise","AP:1/3/5"], catagory:"M", slots:2, aux:0, location:"Manip", ammunition:0, pl:2, desc:""};
|
||
break;
|
||
case "WH":
|
||
gearweapon = {type:"Whip", range :"6 (2in)",size: sizeletter, l:5,m:6, h:7, traits:[""], catagory:"M", slots:1, aux:0, location:"Manip", ammunition:0, pl:1, desc:""};
|
||
break;
|
||
case "WS":
|
||
gearweapon = {type:"White Sand Grenade", range :"0-60/90",size: sizeletter, l:4,m:5, h:6, traits:["AoE:15","Corrosion","Limited Ammo"], catagory:"D,I", slots:2, aux:0, location:"Manip", ammunition:4, pl:6, desc:""};
|
||
break;
|
||
case "default":
|
||
gearweapon = {type:" ", range :"",size: sizeletter, l:0,m:0, h:0, traits:[""], catagory:"", slots:0, aux:0, location:"", ammunition:0, pl:0, desc:""};
|
||
break;
|
||
};
|
||
|
||
|
||
console.log(gearweapon);
|
||
console.log(typeof extra+"Extra");
|
||
//if extra is a string, convert to array
|
||
if (typeof extra === 'string') {
|
||
extra = extra.split(',');
|
||
}
|
||
console.log(typeof extra+"Extra");
|
||
gearweapon.extra = extra;
|
||
gearweapon.underslung = underslung;
|
||
return (gearweapon);
|
||
};
|
||
|
||
//function that returns 1 if a string is in the format xxx-xxx/xxx
|
||
function convertBlitz(string) {
|
||
let index = [0,0,0,0,0];
|
||
//output is an array, [blitz range as a string, ]
|
||
let output = [""];
|
||
let tempArray = [];
|
||
index[1] = string.indexOf('-');
|
||
index[2] = string.indexOf('/');
|
||
index[3] = string.indexOf('(');
|
||
index[4] = string.indexOf(')');
|
||
let properRange = "";
|
||
if (index[1] != -1 && index[2] != -1){// format xxx-yyy/zzz, return xxx
|
||
tempArray[0] = string.slice(0, index[1]);
|
||
tempArray[1] = string.slice(index[1]+1, index[2]);
|
||
tempArray[2] = string.slice(index[2]+1);
|
||
parseIntArray(tempArray);
|
||
tempArray[0] = tempArray[0] /10;
|
||
tempArray[1] = tempArray[1] /10;
|
||
tempArray[2] = tempArray[2] /10;
|
||
output = tempArray[0]+"-"+tempArray[1]+"/"+tempArray[2];
|
||
} else if (index[3] != -1 && index[4] != -1){ // format xx (yyin)
|
||
tempArray[0] = string.slice(index[3]+1, index[4]);
|
||
tempArray[1] = string.slice(0, index[3]);
|
||
properRange = tempArray[1];
|
||
//remove "in" from string
|
||
tempArray[0] = tempArray[0].replace("in", "");
|
||
parseInt(tempArray[0]);
|
||
output = tempArray[0];
|
||
} else if (string == "-"){
|
||
output = "-";
|
||
} else {
|
||
output = string;
|
||
}
|
||
console.log("convertBlitz "+output);
|
||
return output;
|
||
};
|
||
|
||
|
||
// splits a string into an array, ignoring commas inside parentheses
|
||
function splitNoParen(s){
|
||
let results = [];
|
||
let next;
|
||
let str = '';
|
||
let left = 0, right = 0;
|
||
|
||
function keepResult() {
|
||
results.push(str);
|
||
str = '';
|
||
}
|
||
|
||
for(var i = 0; i<s.length; i++) {
|
||
switch(s[i]) {
|
||
case ',':
|
||
if((left === right)) {
|
||
keepResult();
|
||
left = right = 0;
|
||
} else {
|
||
str += s[i];
|
||
}
|
||
break;
|
||
case '(':
|
||
left++;
|
||
str += s[i];
|
||
break;
|
||
case ')':
|
||
right++;
|
||
str += s[i];
|
||
break;
|
||
default:
|
||
str += s[i];
|
||
}
|
||
}
|
||
keepResult();
|
||
return results;
|
||
}
|
||
// if the last character of a string is a comma, remove it
|
||
function removeLastComma(string) {
|
||
//console.log("removeLastComma |"+string+"|");
|
||
if (string == "" || string == undefined) {
|
||
//console.log("string is empty");
|
||
} else {
|
||
if (string.charAt(string.length-1) == " ") {
|
||
//console.log("last character is a space");
|
||
string = string.slice(0, -1);
|
||
//console.log("string |"+string+"|");
|
||
}
|
||
//console.log("string |"+string+"|");
|
||
if (string.charAt(string.length-1) == ",") {
|
||
console.log("last character is a comma");
|
||
string = string.slice(0, -1);
|
||
//console.log("string |"+string+"|");
|
||
}
|
||
}
|
||
return string;
|
||
}
|
||
|
||
//return a integer for all array
|
||
const parseIntArray = (array) => {
|
||
console.log("parseIntArray "+array);
|
||
let output = [];
|
||
array.forEach(element => {
|
||
output.push(parseInt(element));
|
||
});
|
||
return output;
|
||
};
|
||
|
||
//function that capitalises first letter of a string and replaces _ with spaces
|
||
const capitalise = (string) => {
|
||
console.log("capitalise "+string);
|
||
let output = string.charAt(0).toUpperCase() + string.slice(1);
|
||
output = output.replace(/_/g, " ");// replace _ with space
|
||
output = output.replace("Aoe:", "AoE:");
|
||
output = output.replace("Ap:", "AP:");
|
||
output = output.replace("Musclepowered", "Muscle Powered");
|
||
output = output.replace("Nonlethal", "Non-Lethal");
|
||
return output;
|
||
};
|
||
|
||
const deCapitalise = (array) => {
|
||
console.log("deCapitalise "+array);
|
||
let newArray = [];
|
||
|
||
array.forEach(item => {
|
||
console.log("item "+item);
|
||
if (typeof item === 'string') { // check if item is a string
|
||
let newItem = item.toLowerCase();
|
||
newItem = newItem.replace("muscle powered", "musclepowered"); // replace Muscle Powered with musclepowered
|
||
newItem = newItem.replace("non-lethal", "nonlethal");// makes non-lethal into nonlethal
|
||
newItem = newItem.replace(/ /g, "_"); // replace spaces with underscores
|
||
newItem = newItem.replace(":_", ":"); //remove space after :
|
||
newItem = newItem.replace(/,/g, "");//remove ,
|
||
newItem = newItem.replace("(", "");//remove brackets
|
||
newItem = newItem.replace(")", "");
|
||
//console.log("newItem :"+newItem+".");
|
||
//remove space at begining of string
|
||
if (newItem.charAt(0) == "_") {
|
||
newItem = newItem.slice(1);
|
||
//console.log("newItem space removed:"+newItem+".");
|
||
}
|
||
if (newItem == ""){
|
||
console.log("newItem is empty");
|
||
}else {
|
||
console.log("newItem "+newItem);
|
||
newArray.push(newItem);
|
||
}
|
||
|
||
} else {
|
||
console.log(item+"not a string");
|
||
newArray.push(item);
|
||
}
|
||
});
|
||
//console.log("newArray "+newArray);
|
||
return newArray;
|
||
};
|
||
|
||
on('clicked:damage_stat', function() {
|
||
getAttrs(["damage_type_add","damage_lvl"], function(v) {
|
||
let input = v["damage_type_add"];
|
||
let lvl = parseInt(v["damage_lvl"]);
|
||
statDamage(input,lvl);
|
||
});
|
||
});
|
||
|
||
on('clicked:npc_damage_stat', function() {
|
||
getAttrs(["npc_damage_type_add","npc_damage_lvl"], function(v) {
|
||
let input = v["npc_damage_type_add"];
|
||
let lvl = parseInt(v["npc_damage_lvl"]);
|
||
statDamage(input,lvl);
|
||
});
|
||
});
|
||
|
||
on('clicked:creature_damage_stat', function() {
|
||
console.log("clicked:creature_damage_stat");
|
||
getAttrs(["creature_damage_type_add","creature_damage_lvl"], function(v) {
|
||
let input = v["creature_damage_type_add"];
|
||
let lvl = parseInt(v["creature_damage_lvl"]);
|
||
console.log("input "+input+" lvl "+lvl);
|
||
statDamage(input,lvl);
|
||
});
|
||
});
|
||
|
||
on('clicked:gear_damage_stat', function() {
|
||
console.log("clicked:gear_damage_stat");
|
||
getAttrs(["gear_damage_type_add","gear_damage_lvl"], function(v) {
|
||
let input = v["gear_damage_type_add"];
|
||
let lvl = parseInt(v["gear_damage_lvl"]);
|
||
console.log("input "+input+" lvl "+lvl);
|
||
statGearDamage(input,lvl);
|
||
});
|
||
});
|
||
|
||
on('clicked:npcgear_damage_stat', function() {
|
||
console.log("clicked:npcgear_damage_stat");
|
||
getAttrs(["npcgear_damage_type_add","npcgear_damage_lvl"], function(v) {
|
||
let input = v["npcgear_damage_type_add"];
|
||
let lvl = parseInt(v["npcgear_damage_lvl"]);
|
||
console.log("input "+input+" lvl "+lvl);
|
||
statGearDamage(input,lvl);
|
||
});
|
||
});
|
||
|
||
|
||
const statDamage = (input,lvl) => {
|
||
let damage = damageLookup(input);
|
||
var newrowid = generateRowID();
|
||
var newrowattrs = {};
|
||
newrowattrs["repeating_damage_" + newrowid + "_damage_level"] = lvl;
|
||
newrowattrs["repeating_damage_" + newrowid + "_damage_name"] = damage.name;
|
||
newrowattrs["repeating_damage_" + newrowid + "_damage_effect"] = damage.penalty;
|
||
newrowattrs["repeating_damage_" + newrowid + "_damage_deterioration"] = damage.deterioration;
|
||
newrowattrs["repeating_damage_" + newrowid + "_damage_fix"] = damage.fix;
|
||
if (damage.type == "SYSTEM") {
|
||
newrowattrs["repeating_damage_" + newrowid + "_damage_system_check"] = 1;
|
||
}
|
||
if (damage.type == "SHELL") {
|
||
newrowattrs["repeating_damage_" + newrowid + "_damage_shell_check"] = 1;
|
||
}
|
||
setAttrs(newrowattrs);
|
||
}
|
||
|
||
|
||
const statGearDamage = (input,lvl) => {
|
||
console.log("statGearDamage "+input+" "+lvl);
|
||
let damage = damageLookup(input);
|
||
var newrowid = generateRowID();
|
||
var newrowattrs = {};
|
||
newrowattrs["repeating_gear-damage_" + newrowid + "_gear_damage_level"] = lvl;
|
||
newrowattrs["repeating_gear-damage_" + newrowid + "_gear_damage_name"] = damage.name;
|
||
newrowattrs["repeating_gear-damage_" + newrowid + "_gear_damage_effect"] = damage.penalty;
|
||
newrowattrs["repeating_gear-damage_" + newrowid + "_gear_damage_deterioration"] = damage.deterioration;
|
||
newrowattrs["repeating_gear-damage_" + newrowid + "_gear_damage_fix"] = damage.fix;
|
||
if (damage.type == "NONE") {
|
||
newrowattrs["repeating_gear-damage_" + newrowid + "_gear_damage_integrity"] = 0;
|
||
} else {
|
||
newrowattrs["repeating_gear-damage_" + newrowid + "_gear_damage_integrity"] = 1;
|
||
}
|
||
setAttrs(newrowattrs);
|
||
}
|
||
|
||
|
||
|
||
const damageLookup = (input) => {
|
||
let damage = {};
|
||
switch (input) {
|
||
case "Anger":
|
||
damage = {name:"Anger",type:"SHELL",
|
||
penalty: "Past trauma, an injury, or slights (real or imagined) have caused the character to lose their cool. They suffer a -1d6 penalty to actions that require them to think before acting but will only face half the penalty (round down) when committing a violent act.",
|
||
deterioration:"The character suffers an additional -1d6 each time the same stimulus happens.",
|
||
fix:" Removing the cause of the anger will take away -1d6 immediately. A character can also take a round to try and calm themselves down and make an Independent Roll at Difficulty 4, but failure will add another -1d6. For disagreements the character may need to have a third-party help calm things down. Other characters can “talk them down”, with a successful skill roll Numbing -1d6 of penalty for that game session. Generally, any anger that reaches -3d6 or more will not be solved simply by stepping out of the room and regaining their composure, and will require some catalyst to solve it such as an apology, mediation, or counseling. Lashing out at the target will Numb the damage entirely for the remainder of that scene and the next, but if the same stimulus happens again without some kind of intervention the character immediately returns to their highest anger damage result."};
|
||
break;
|
||
|
||
case "Bleeding":
|
||
damage = {name:"Bleeding",type:"SYSTEM",
|
||
penalty: "The character will feel weak and drained. The action penalty applies to phyiscal actions or motion.",
|
||
deterioration:"The damage result increases by 1 for every 30 minutes this is not treated",
|
||
fix:" Any charater can apply pressure to the wound, so long as this is applied the Deteroration will not occur."};
|
||
break;
|
||
|
||
case "Blinded":
|
||
damage = {name:"Blinded",type:"SYSTEM",
|
||
penalty: "A partially blinded character suffers the action penalty to anything that requires sight, and cannot attempt some skills at all. One advantage of Datagloves and HUI systems is that they allow users to make gesture-based commands, so it may still be possible for a character to take some actions while “fighting blind”.",
|
||
deterioration:"",
|
||
fix:"characters blinded by bright lights (be it a spotlight, or a laser aimed at them while using an IR visor) will have to remove the stimulus or shield their eyes. After this they will recover -1d6 of this result per round. A character blinded by chemicals, dirt, or sand, will have to wash or wipe their eyes clean before recovering. Characters blinded by damage to their eyes will have to seek medical help. Permanent blinding can be healed in a genetic therapy clinic but will take a full season."};
|
||
break;
|
||
|
||
case "Brain Injury":
|
||
damage = {name:"Brain Injury*",type:"SYSTEM",
|
||
penalty: "The character suffers the damage result to all skill tests involving thinking or problem solving. A penalty of 3d6 is applied to all motion related actions in addition to this. This result cannot be healed during an intermission action.",
|
||
deterioration:"If not treated, the action penalty and penatly to motion increase by 1d6 every hour",
|
||
fix:" Brain injuries are not easy to treat. A [W] is not sufficent to address a brain injury; a surgeon and hospital is required. Even then it will take months or years to fully recover. The rate of recovery is 1d6 per season"};
|
||
break;
|
||
|
||
case "Burned":
|
||
damage = {name:"Burned*",type:"SYSTEM",
|
||
penalty: "The character suffers the damage results to all skill tests involving motion. Multiple instances of this result combine for a single large damage result",
|
||
deterioration:" -1d6 or -2d6 burns will Deteriorate in 24 hours. -3d6 and above will deteriorate hourly without dressings",
|
||
fix:" Dressings, antiseptics, and pain medication. For -2d6 or -3d6 burns, skin grafts will be needed for healing. Burns will heal in a hospital at a rate of five days per d6 of burn for each dice removed, so a -2d6 burn requires ten days to be reduced to -1d6, and five more to be healed entirely. Outside of hospital conditions, a character may be left scarred by burns and could even gain the Ugly flaw if the damage is bad enough."};
|
||
break;
|
||
|
||
case "Combat Fatigue":
|
||
damage = {name:"Combat Fatigue",type:"SHELL",
|
||
penalty: "The character gains an adversity called Combat Fatigue. It is applied to every skill test and has a penalty of 3d6 instead of the normal 1d6 for an adversity. The character is extemely irritable, depressed, and generally seems less alert overall.",
|
||
deterioration:"",
|
||
fix:"Combat fatigue will improve by 1d6 every 2 weeks with rest and removal from the situation."};
|
||
break;
|
||
|
||
case "Concussion":
|
||
damage = {name:"Concussion",type:"SYSTEM",
|
||
penalty: "The character suffers an action penalty to their thought processes and any skill tests that requires knowlege or memory. Muscle memory actions such as attacking are unafffected.",
|
||
deterioration:"",
|
||
fix:"Concussions will go away after a week per action penalty."};
|
||
break;
|
||
|
||
case "Deafened":
|
||
damage = {name:"Deafened",type:"SYSTEM",
|
||
penalty: "The character suffers a -1d6 penalty to all actions that benefit from sound such as seeking a hidden foe, treating a patient, or haggling with a trader. actions that are entirely dependent on hearing, such as radio conversations, are impossible. While they won’t suffer a penalty when fighting, they do suffer a loss of combat awareness and will take the deafened action penalty to their initiative.",
|
||
deterioration:"",
|
||
fix:"A character temporarily deafened - such as from a flash bang grenade - will have their hearing come back in 1 minute per MoS of the action that deafened them. Permanent hearing damage will require care in a hospital and a week of regenerative therapy to remove."};
|
||
break;
|
||
|
||
case "Dehydrated":
|
||
damage = {name:"Dehydrated",type:"SYSTEM",
|
||
penalty: "The character suffers -1d6 when they fail a survival roll in high heat conditions or are denied access to water for a prolonged period. People can become dehydrated even in wet environments or when drinking water “if they overexert themselves.. A well-made desert suit will prevent this result, but someone foolish with their water can still get into trouble in the harsh sands.",
|
||
deterioration:"Each additional 24 hours dehydration is not fixed, the character will suffer another -1d6 penalty.",
|
||
fix:"Hydrate with water or other liquid. Each liter taken (slowly) will remove one dice of penalty. At -4d6 the character will need intravenous fluids to recover."};
|
||
break;
|
||
|
||
case "Encumbered":
|
||
damage = {name:"Encumbered",type:"SYSTEM",
|
||
penalty: "The character suffers -1d6 to athletic or acrobatic actions when they try to carry too much, or heft something awkward and beyond their strength limits. Usually this happens not from damage but from going over their burden limit (see Chapter 9). For each full 25% of burden points over their burden limit the character suffers another -1d6. At -2d6, the character’s MR is cut in half. At -4d6, they collapse. For situations heavily affected by weight, such as swimming or balancing on a narrow ledge, each die also adds TP:1",
|
||
deterioration:"Failing athletic, acrobatic, or endurance based skill checks while encumbered can lead to the Dehydrated or Wounded results. It can also result in unexpectedly going Prone",
|
||
fix:"Removing extra burden points will reduce or remove the penalty. Securing the load might sometimes help."};
|
||
break;
|
||
|
||
case "Fear":
|
||
damage = {name:"Fear",type:"SHELL",
|
||
penalty: "Each activation, the character counts as already having used a number of actions equal to this damage penalty result.",
|
||
deterioration:"Unless consoled or removed from the situation, the fear will get worse at a rate of 1d6 per minute.",
|
||
fix:"A character can, as an action, calm themselves or calm down someone suffering this condition. This reduces the effect by 1d6 each time it is done"};
|
||
break;
|
||
|
||
case "Fractured/Broken Bones":
|
||
damage = {name:"Fractured/Broken Bones*",type:"SYSTEM",
|
||
penalty: "The character suffers -1d6 to skills using the limb for each point of damage inflicted. Some breaks such as in the chest, can also come with internal bleeding as their ribs puncture lungs or organs. Pain medication can patch this kind of injury. Further damage caused by broken bones includes internal bleeding and wounded.",
|
||
deterioration:"Unless splinted or otherwise restrained the fracture will Deteriorate once every full hour of heavy activity",
|
||
fix:"Modern medicine means most fractures heal quickly. It takes 1 day of treatment to reduce the penalty by 1d6"};
|
||
break;
|
||
|
||
case "Frozen":
|
||
damage = {name:"Frozen",type:"SHELL",
|
||
penalty: "The character cannot perform any voluntary actions, but may still resist actions by others",
|
||
deterioration:"",
|
||
fix:"At the start of each activation, reduce this damage result by 1d6. A friend or ally can console them as a full round action if they are within 2 meters. This reduces the action penalty by 1d6."};
|
||
break;
|
||
|
||
case "Guilt":
|
||
damage = {name:"Guilt",type:"SHELL",
|
||
penalty: "Haunted by something they did (or didn’t) do, the character’s doubt, disgust, and disappointment hound them. Characters that are feeling guilty suffer a -2d6 penalty to decision making and actions around that caused this result. If the character continues to do the thing that triggered their shame such as fleeing battle, breaking the terms of a relationship, hiding an addiction or crime - then each time they take another -1d6 penalty along with the original damage",
|
||
deterioration:"If others face consequences for the character’s actions, and they do not confess, they will suffer a further -1d6 to this result.",
|
||
fix:"A character feeling guilt can confess this to those they feel they wronged. This will fix guilt, but may have other consequences. They can also compensate with stimulants or penitent behavior (such as risking their life in a conflict because they fled an earlier one) or by acting out when they reach -4d6. This will patch all penalty for guilt for that scene and the next. Other characters can also calm them with a successful skill roll, reducing -1d6 of penalty (down to a minimum of -1d6). The only way to permanently remove guilt is by confessing or getting counseling during the intermission."};
|
||
break;
|
||
|
||
case "Hallucinations":
|
||
damage = {name:"Hallucinations",type:"SHELL",
|
||
penalty: "This can be caused by major traumatic events, drugs, or toxins, not just damage. While affected by this damage result the character sees and/or hears things that are not there. They must make a skill test (typically an Awareness skill) to determine if what they see/hear is real",
|
||
deterioration:"",
|
||
fix:"This will fix at a rate of 1d6 per hour."};
|
||
break;
|
||
|
||
case "Internal Bleeding":
|
||
damage = {name:"Internal Bleeding*",type:"SYSTEM",
|
||
penalty: "The character suffers a penalty to all skill tests due to blood loss. Whether as a byproduct of the Wounded damage result, or the result of a blunt force trauma, these injuries need to be addressed or they will continue to create problems. Often the only solution is surgery or specialized medicines",
|
||
deterioration:"Every 30 minutes the bleeding is not addressed, this damage result increases by -1d6 unless coagulant drugs are applied or the bleeding is stopped.",
|
||
fix:"Surgery or specialized drugs are needed to address these injuries. Pain medication will help in the short term to numb the pain"};
|
||
break;
|
||
|
||
case "Intoxicated":
|
||
damage = {name:"Intoxicated",type:"SYSTEM/SHELL",
|
||
penalty: "he character suffers a penalty to all mental processes. Depending on the drug, this can manifest as a sedative, stimulant, or hallucinogen, and the skills affected could be different. The Director will decide based on the drug whether there is danger to the character’s life (in which case these penalties count as System Shock) or if they will just pass out if they have too much (in which case these penalties are Shell Shock). Intoxicated can be used to patch damage. In the case of pain, usually each -1d6 of Intoxicated patches -1d6 of pain. For Shell Shock, you can use the rules for getting support from a teammate (in this case, the drug).",
|
||
deterioration:"",
|
||
fix:"Rest and recuperation for 1 hour per -1d6, cumulatively. Each period of rest will remove -1d6. So if a character has -3d6 in penalties they will have to rest for 3 hours to go down to -2d6, 2 more hours to drop to -1d6, and a final hour for the last -1d6. At Director discretion. other stimulants or sedatives might lower these numbers (or put you in a worse position than you started). Hospital detox lowers the process to 1 hour per die"};
|
||
break;
|
||
|
||
case "Knocked Out":
|
||
damage = {name:"Knocked Out",type:"SYSTEM",
|
||
penalty: "A character that is knocked out can take no actions of any kind that require them to be awake. They will remain knocked out for a number of rounds equal to the MoS of the thing that knocked them out.",
|
||
deterioration:"",
|
||
fix:"This result expires when the the character wakes up. If they are awoken before the knocked out rounds are up, they are Rattled (1d6"};
|
||
break;
|
||
|
||
case "Limb Crippled":
|
||
damage = {name:"Limb Crippled*",type:"SYSTEM",
|
||
penalty: "Select left or right arm or leg. The action penalty for this damage results applies to any action requiring the use of the selected limb. A -1d6 penatly represents a fracture, -2d6 is a broken bone, and -3d6 is a serious trauma that may require amputation",
|
||
deterioration:"",
|
||
fix:""};
|
||
break;
|
||
|
||
case "On Fire":
|
||
damage = {name:"On Fire",type:"SYSTEM",
|
||
penalty: "At the start of each of its activations the actor must roll a d6. On a 4+, increase the damage penalty of this result by -1d6 and suffer a -1d6 Fear Shell Shock damage result. Further damage becomes the burned result.",
|
||
deterioration:"",
|
||
fix:"Stop, Drop, and Roll! The character must brace and spend a full round action putting out the flames. This removes -1d6 of On Fire. A fire extinguisher, bucket of water, or full immersion in water will remove on fire as a standard action. Other characters can contribute an action to help stamp the flames out, removing them on a successful normal roll. Napalm must be scraped off or put out with a chemical extinguisher. Scraping it off will require an action and a successful roll with difficulty 6+. Failure by a comrade could result in them also gaining the On Fire damage result."};
|
||
break;
|
||
|
||
case "Rattled":
|
||
damage = {name:"Rattled",type:"SHELL",
|
||
penalty: "After a bad mishap, watching a traumatic event, or a near death experience the character can be rattled and suffer a -2d6 penalty to all skill tests. Rattled can also be caused by an opponent startling them in situations like a duel or contest. If an opponent caused Rattled once and defeated or otherwise humiliated the character, they can cause it again at TB:1, until the character beats them or otherwise restores a sense of control.",
|
||
deterioration:"",
|
||
fix:"assing an affected skill test will remove the condition by restoring a sense of control and self- confidence to the character. Otherwise they will need a full Scene without conflict or heavy stress to catch their breath, which will remove the penalty. Friends can sometimes spend an action to talk the character down and patch the penalty"};
|
||
break;
|
||
|
||
case "Paranoid":
|
||
damage = {name:"Paranoid",type:"SHELL",
|
||
penalty: "Paranoid happens when a character thought they were safe and suddenly realizes they are not. It inflicts a penalty to actions that require concentration and trust.",
|
||
deterioration:"If the character deals with the event that caused the Paranoid damage and has the same thing happen again, their penalty will increase by -1d6",
|
||
fix:"he character will need a full scene without conflict or stress to catch their breath. This will remove -1d6 of penalty for each scene. Additionally, they can spend a full uninterrupted action and pass an independent roll at difficulty 4 to patch the penalty for a scene. Another character can try to help and Numb the damage, but failure will instead add a die to the damage. If Paranoid reaches -3d6 or greater, then it will never drop below -1d6 unless the character gets help during an intermission."};
|
||
break;
|
||
|
||
case "Poisoned":
|
||
damage = {name:"Poisoned",type:"SYSTEM",
|
||
penalty: "This action penalty is applied to all skill tests. The character must test their health each hour to see if the poison progresses. Example Difs for the health rolls are: typical animal venom is Dif:6, highly venomous animals and homemade poisons are Dif:8 and military grade chemical weapons are Dif:14",
|
||
deterioration:"Each hour after this result is applied, the character or a character providing assistance may make an independent medicine skill test to check the health of the character suffering this result. If that test is passed, for every 2 points of MoS, the Dif of the test drops by 1 to a minimum of 1 and the poison does not progress. If the test is failed, the Dif is increased by 1 for every 2 points of MoF to a minimum of 1 and this damage result worsens by 1d6",
|
||
fix:"This damage result is removed after the Dif is reduced to 1 or less not counting the effects of any anti-venom or it is treated in a hospital."};
|
||
break;
|
||
|
||
case "Prone":
|
||
damage = {name:"Prone",type:"SYSTEM",
|
||
penalty: "While prone, the character moves at 1/4th speed and cannot defend themselves against melee attacks.",
|
||
deterioration:"",
|
||
fix:"Use an action to stand up, cannot be a reaction."};
|
||
break;
|
||
|
||
case "Ruptured Organ":
|
||
damage = {name:"Ruptured Organ*",type:"SYSTEM",
|
||
penalty: "The character has taken a significant hit and will suffer the action penalty to all skill tests. This type of injury cannot be healed without specialized tools.",
|
||
deterioration:"Every 5 minutes without treatment causes this to deteriorate by -1d6",
|
||
fix:"Immediate medical intervention by a trained surgeon, emergency specialist, or skilled first responder."};
|
||
break;
|
||
|
||
case "Shock":
|
||
damage = {name:"Shock",type:"SHELL",
|
||
penalty: "The character suffers a penalty to their thinking and information processing equal to the action penalty.",
|
||
deterioration:"",
|
||
fix:"The character needs a moment to catch their breath. They can spend an action to remove this damage result"};
|
||
break;
|
||
|
||
case "Slowed":
|
||
damage = {name:"Slowed",type:"SHELL",
|
||
penalty: "The character suffers this penalty to their next action.",
|
||
deterioration:"",
|
||
fix:""};
|
||
break;
|
||
|
||
case "Snapped":
|
||
damage = {name:"Snapped",type:"SHELL",
|
||
penalty: "The character suffers this penalty to all skill tests they take and cannot perform any task requiring anything more than muscle memory, such as dodging attacks",
|
||
deterioration:"If not treated, this will turn into a full mental breakdown after 1 week, increasing its action penalty to -4d6",
|
||
fix:"The character needs immediate help from their comrades. A friend or ally can console them as a full round action if they are within 2 meters. This reduces the action penalty by 1d6."};
|
||
break;
|
||
|
||
case "Starving":
|
||
damage = {name:"Starving",type:"SYSTEM",
|
||
penalty: "After two Terra Novan days without food, the character will take this penalty to all actions. Until one week without food, a character can shake this penalty for a scene by passing an independent Roll at difficulty 4",
|
||
deterioration:"Each week after the first penalty is accrued will increase the penalty by -1d6 until the character dies.",
|
||
fix:"Calorie intake is needed. Characters that reach -3d6 or more in penalties will often require a hospital stay or supplements fully recover"};
|
||
break;
|
||
|
||
case "Stunned":
|
||
damage = {name:"Stunned",type:"SHELL",
|
||
penalty: "The character takes -1d6 per point of MoS of the action that stunned them. This applies to all actions while stunned. They cannot move All-Out during this time and will not be able to use any skill requiring concentration and deep thought. This can be caused by things other than combat.",
|
||
deterioration:"",
|
||
fix:"Stunned automatically improves at a rate of -1d6 per round"};
|
||
break;
|
||
|
||
case "The Shakes":
|
||
damage = {name:"The Shakes",type:"SHELL",
|
||
penalty: "The character suffers a penalty to anything involving the use of their hands This can be caused by things other than combat such as emotional trauma from seeing a town destroyed",
|
||
deterioration:"",
|
||
fix:"he character can calm down as a full round action and if they do not chose All Out or Top Speed posture. An ally can attempt to console them as well. This counts as an action and removes -1d6 of penalty. The ally must be within 2 meters."};
|
||
break;
|
||
|
||
case "Terrified":
|
||
damage = {name:"Terrified",type:"SHELL",
|
||
penalty: "A trigger event is causing the character to function on fight, flight, or freeze behavior. Regardless of what they do, their actions will not be very useful. The character takes this penalty to any actions that do not actively remove them from the situation that is scaring them. For example, if attacked by a GREL with a flamethrower the character would take a -3d6 to attempts to fight someone else in the scene, to talk the GREL into a cease fire, or hack a computer. They would take no penalty to dodging when trying to flee, attacking the GREL, or trying to hide",
|
||
deterioration:"Each time the stimulus occurs, Terrified will also get -1d6 worse. For example, a GREL with a flamethrower inflicts -1d6 on the character, catching them near the blast but focusing on their teammate. The character ignores them and stays on mission but next round the GREL turns towards them directly. This will cause an additional -1d6 until the character takes some fight, flight, or freeze response. Terrified can be patched by a teammate providing emotional support.",
|
||
fix:"eaving the area that terrified them will cause all but -1d6 of terrified to pass. The character will have to make an independent roll to calm down and remove the final -1d6. Another character can also talk them down with an appropriate skill roll and remove -1d6 of Terrified per round spent doing so"};
|
||
break;
|
||
|
||
case "Wounded":
|
||
damage = {name:"Wounded",type:"SYSTEM",
|
||
penalty: "The character has sustained a significant injury. Whether or not it is a flesh wound or something more serious, they will suffer the action penalty to all actions.",
|
||
deterioration:"Depending on the source of the damage the character may be losing blood, and they will Deteriorate unless they can stop the bleeding by putting pressure on the wound or dressing it. If the action penalty is -2d6 it worsens every half hour, and -3d6 or higher it worsens every minute. Wounds from bruising do not deteriorate, and are capped at -1d6",
|
||
fix:"Pain medication will help in the short term. For bleeding wounds, medical dressings can stop the bleeding, and pressure on the wound can be used in a pinch to keep someone alive a few minutes for help to arrive. Lacerations will require bandages or stitches, and surgery may be required to seal up internal injuries or remove shrapnel or bullets. Transfusions, IV’s, or synthetic blood products may also be needed to treat blood loss."};
|
||
break;
|
||
|
||
case "Catastrophic Limb Damage":
|
||
damage = {name:"Catastrophic Limb Damage*",type:"",
|
||
penalty: "Select a limb (left or right leg, left or right arm). Any action requiring use of that limb suffers a -3d6 penalty. Legs also suffer -3 movement",
|
||
deterioration:"",
|
||
fix:""};
|
||
break;
|
||
|
||
case "Catastrophic System Damage":
|
||
damage = {name:"Catastrophic System Damage*",type:"",
|
||
penalty: "Select between optics, sensors, cooling, fire control, motive control, or communications. Any action that uses that system suffers this penalty",
|
||
deterioration:"",
|
||
fix:""};
|
||
break;
|
||
|
||
case "Drive System Crippled":
|
||
damage = {name:"Drive System Crippled*",type:"",
|
||
penalty: "The vehicle can no longer move. Ranged attacks against it are resolved as independent rolls. Attempts to dodge melee attacks suffer this penalty.",
|
||
deterioration:"",
|
||
fix:""};
|
||
break;
|
||
|
||
case "Drive System Damaged":
|
||
damage = {name:"Drive System Damaged",type:"",
|
||
penalty: "The vehicle cannot declare Top Speed or All Out posture and can only turn once up to 90 degrees during its activation.",
|
||
deterioration:"",
|
||
fix:""};
|
||
break;
|
||
|
||
case "Engine Hit":
|
||
damage = {name:"Engine Hit",type:"",
|
||
penalty: "This vehicle suffers this damage penalty to any actions involving its motive system, as well as attempts to dodge attacks, and make melee attacks",
|
||
deterioration:"",
|
||
fix:""};
|
||
break;
|
||
|
||
|
||
case "Hull Breach":
|
||
damage = {name:"Hull Breach",type:"",
|
||
penalty: "This damage result imposes no penalties as the shot simply blows a hole in the vehicle. The vehicle is now open if it was sealed, and may flood if underwater or be vulnerable to chemical attacks.",
|
||
deterioration:"",
|
||
fix:""};
|
||
break;
|
||
|
||
|
||
case "It's Gonna Blow":
|
||
damage = {name:"It's Gonna Blow",type:"",
|
||
penalty: "The Director secretly rolls 1d6, halves it (rounded up) and keeps track of the result. At the end of that many rounds, the vehicle explodes and any crew that are still in it are killed. Until then, the vehicle is still operational and can act as normal",
|
||
deterioration:"",
|
||
fix:""};
|
||
break;
|
||
|
||
|
||
case "Jammed":
|
||
damage = {name:"Jammed",type:"NONE",
|
||
penalty: "All communication hardware is disabled, and the vehicle’s GU, PI and EW rolls suffer TP:2. Multiple instances of this do not stack TP. See Jammed in Chapter 12.",
|
||
deterioration:"",
|
||
fix:"All Jammed damage results clear after a number of rounds equal to total -d6 of Jammed damage results. A character or actor may attempt an Electronic Warfare skill test to clear the jam at Dif: 5. For every point of MoS, remove 1d6 of Jammed"};
|
||
break;
|
||
|
||
|
||
case "Knocked Down":
|
||
damage = {name:"Knocked Down",type:"",
|
||
penalty: "The vehicle takes this penalty to attempts to dodge attacks and can stand up as an action. If it does so, reduce its movement by 2 on the activation it stood up",
|
||
deterioration:"",
|
||
fix:""};
|
||
break;
|
||
|
||
|
||
case "Major Limb Damage":
|
||
damage = {name:"Major Limb Damage",type:"",
|
||
penalty: "Select a limb (left or right leg, left or right arm). Any action requiring use of that limb suffers this penalty. Legs also suffer -2 movement",
|
||
deterioration:"",
|
||
fix:""};
|
||
break;
|
||
|
||
|
||
case "Major System Damage":
|
||
damage = {name:"Major System Damage",type:"",
|
||
penalty: "Select between optics, sensors, cooling, fire control, motive control, or communications. Any action that uses that system suffers this penalty",
|
||
deterioration:"",
|
||
fix:""};
|
||
break;
|
||
|
||
|
||
case "Major Weapon Destroyed":
|
||
damage = {name:"Major Weapon Destroyed*",type:"",
|
||
penalty: "Select a weapon, it is destroyed. The selected weapon must be at least Heavy size or greater than Damage 7",
|
||
deterioration:"",
|
||
fix:""};
|
||
break;
|
||
|
||
case "Minor Limb Damage":
|
||
damage = {name:"Minor Limb Damage",type:"",
|
||
penalty: "Select a limb (left or right leg, left or right arm). Any action requiring use of that limb suffers this penalty. Legs also suffer -1 movement.",
|
||
deterioration:"",
|
||
fix:""};
|
||
break;
|
||
|
||
case "Minor System Damage":
|
||
damage = {name:"Minor System Damage",type:"",
|
||
penalty: "Select between optics, sensors, cooling, fire control, motive control, or communications. Any action that uses that system suffers this penalty",
|
||
deterioration:"",
|
||
fix:""};
|
||
break;
|
||
|
||
case "Minor Weapon Destroyed*":
|
||
damage = {name:"Minor Weapon Destroyed",type:"",
|
||
penalty: "Select a weapon, it is destroyed. The selected weapon must be Damage 7 or less.",
|
||
deterioration:"",
|
||
fix:""};
|
||
break;
|
||
|
||
case "On Fire (Vehicle)":
|
||
damage = {name:"On Fire (Vehicle)",type:"",
|
||
penalty: "At the start of each of its activations, the vehicle must roll a d6. On a 4+, increase the damage penalty of this result by -1d6 and the crew suffers a 1d6 Fear Shell Shock damage result. The vehicle cannot hide.",
|
||
deterioration:"",
|
||
fix:"Extinguish with fire fighting equipment or other means"};
|
||
break;
|
||
|
||
case "Secondary Explosion":
|
||
damage = {name:"Secondary Explosion",type:"",
|
||
penalty: "The vehicle suffers 1 additional point of damage on a roll of a 4+. Repeat until the vehicle does not suffer additional damage. Each time it takes damage, the roll needed to damage it worsens by 1 (so a 4+ becomes a 5+) to a maximum of 6+. Afterwards this is treated as a Hull Breach",
|
||
deterioration:"",
|
||
fix:""};
|
||
break;
|
||
|
||
case "Sensor Malfunction":
|
||
damage = {name:"Sensor Malfunction",type:"",
|
||
penalty: "The vehicles sensor range is reduced by half until the end of the next round. The ability to identify vehicle types, variants and affiliations is lost until then",
|
||
deterioration:"",
|
||
fix:""};
|
||
break;
|
||
|
||
case "Unstable":
|
||
damage = {name:"Unstable",type:"",
|
||
penalty: "The vehicle suffers -1d6 to all actions until the end of the next round",
|
||
deterioration:"",
|
||
fix:""};
|
||
break;
|
||
|
||
case "default":
|
||
damage = {name:"",type:"",
|
||
penalty: "",
|
||
deterioration:"",
|
||
fix:""};
|
||
break;
|
||
|
||
}
|
||
return damage;
|
||
}
|
||
|
||
|
||
|
||
//calculators
|
||
|
||
domains.forEach(function (domains) { //calculates expertise when improving or deleting skills
|
||
on("change:repeating_skills-" + domains + ":skill_level remove:repeating_skills-" + domains + " clicked:repeating_skills-"+domains+":remove clicked:add_skill sheet:opened", function () {
|
||
repeatingSum('domain_expertise_' + domains ,'skills-' + domains, 'skill_level');
|
||
});
|
||
});
|
||
|
||
on('change:repeating_infweapon:inf_weapon_domain', function(eventInfo) {//change infweapon_expertise to correct domain
|
||
console.log(eventInfo);
|
||
getAttrs(["repeating_infweapon_inf_weapon_domain","expertise_athletics","expertise_awareness","expertise_business","expertise_craft","expertise_culture","expertise_electronicwarfare","expertise_electronics","expertise_gunnery","expertise_hardscience","expertise_influence","expertise_institutions","expertise_investigation","expertise_mechanics","expertise_medicine","expertise_melee","expertise_pilot","expertise_showmanship","expertise_socialscience","expertise_survival","expertise_tactics"], function(v) {
|
||
let domain = findDomainLower(v["repeating_infweapon_inf_weapon_domain"]);
|
||
console.log("domain "+domain);
|
||
let expertise = v["expertise_"+domain];
|
||
console.log("expertise "+expertise);
|
||
setAttrs({
|
||
repeating_infweapon_inf_weapon_expertise: expertise,
|
||
});
|
||
});
|
||
});
|
||
|
||
|
||
|
||
infWeaponTraits.forEach(function (trait) {
|
||
on('change:repeating_infweapon:inf_weapon_traits_'+trait+' change:repeating_infweapon:inf_weapon_traits_'+trait+'_selector \
|
||
change:repeating_infweapon:inf_weapon_traits_'+trait+'_selector_2 change:repeating_infweapon:inf_weapon_traits_'+trait+'_selector_3', function() {
|
||
console.log("change:repeating_infweapon:inf_weapon_traits_"+trait);
|
||
let traitList = {};
|
||
let selectList = {};
|
||
let callStringTrait = "";
|
||
let callStringSelector = "";
|
||
let numCallbacks = 0;
|
||
let traitString = "";
|
||
let select1 = "";
|
||
let select2 = "";
|
||
let select3 = "";
|
||
|
||
getAttrs(['repeating_infweapon_inf_weapon_traits_mode', 'repeating_infweapon_inf_weapon_traits_advanced', 'repeating_infweapon_inf_weapon_traits_aoe', 'repeating_infweapon_inf_weapon_traits_ap', 'repeating_infweapon_inf_weapon_traits_blast', 'repeating_infweapon_inf_weapon_traits_brace', 'repeating_infweapon_inf_weapon_traits_brawler', 'repeating_infweapon_inf_weapon_traits_burst', 'repeating_infweapon_inf_weapon_traits_corrosion', 'repeating_infweapon_inf_weapon_traits_demo', 'repeating_infweapon_inf_weapon_traits_fire', 'repeating_infweapon_inf_weapon_traits_frag', 'repeating_infweapon_inf_weapon_traits_haywire', 'repeating_infweapon_inf_weapon_traits_indirect', 'repeating_infweapon_inf_weapon_traits_missile', 'repeating_infweapon_inf_weapon_traits_musclepowered', 'repeating_infweapon_inf_weapon_traits_nonlethal', 'repeating_infweapon_inf_weapon_traits_poison', 'repeating_infweapon_inf_weapon_traits_placed', 'repeating_infweapon_inf_weapon_traits_precise', 'repeating_infweapon_inf_weapon_traits_reach','repeating_infweapon_inf_weapon_traits_reliable', 'repeating_infweapon_inf_weapon_traits_silent', 'repeating_infweapon_inf_weapon_traits_slashing', 'repeating_infweapon_inf_weapon_traits_shot', 'repeating_infweapon_inf_weapon_traits_smoke', 'repeating_infweapon_inf_weapon_traits_spray', 'repeating_infweapon_inf_weapon_traits_stun', 'repeating_infweapon_inf_weapon_traits_thrown', 'repeating_infweapon_inf_weapon_traits_see_desc','repeating_infweapon_inf_weapon_traits_mode_selector', 'repeating_infweapon_inf_weapon_traits_advanced_selector', 'repeating_infweapon_inf_weapon_traits_aoe_selector', 'repeating_infweapon_inf_weapon_traits_ap_selector', 'repeating_infweapon_inf_weapon_traits_blast_selector', 'repeating_infweapon_inf_weapon_traits_brace_selector','repeating_infweapon_inf_weapon_traits_brawler_selector', 'repeating_infweapon_inf_weapon_traits_burst_selector', 'repeating_infweapon_inf_weapon_traits_corrosion_selector', 'repeating_infweapon_inf_weapon_traits_demo_selector', 'repeating_infweapon_inf_weapon_traits_fire_selector', 'repeating_infweapon_inf_weapon_traits_frag_selector', 'repeating_infweapon_inf_weapon_traits_haywire_selector', 'repeating_infweapon_inf_weapon_traits_indirect_selector', 'repeating_infweapon_inf_weapon_traits_missile_selector', 'repeating_infweapon_inf_weapon_traits_musclepowered_selector', 'repeating_infweapon_inf_weapon_traits_nonlethal_selector', 'repeating_infweapon_inf_weapon_traits_poison_selector', 'repeating_infweapon_inf_weapon_traits_placed_selector', 'repeating_infweapon_inf_weapon_traits_precise_selector', 'repeating_infweapon_inf_weapon_traits_reach_selector','repeating_infweapon_inf_weapon_traits_reliable_selector', 'repeating_infweapon_inf_weapon_traits_silent_selector', 'repeating_infweapon_inf_weapon_traits_slashing_selector', 'repeating_infweapon_inf_weapon_traits_shot_selector', 'repeating_infweapon_inf_weapon_traits_smoke_selector', 'repeating_infweapon_inf_weapon_traits_spray_selector', 'repeating_infweapon_inf_weapon_traits_stun_selector', 'repeating_infweapon_inf_weapon_traits_thrown_selector'], function(v) {
|
||
|
||
infWeaponTraits.forEach(function(trait) {
|
||
console.log(`${trait} `+parseInt(v[`repeating_infweapon_inf_weapon_traits_${trait}`]));
|
||
console.log(`${trait} selector: `+parseInt(v[`repeating_infweapon_inf_weapon_traits_${trait}_selector`]));
|
||
});
|
||
|
||
infWeaponTraits.forEach(function(trait) {
|
||
numCallbacks++;
|
||
if (v[`repeating_infweapon_inf_weapon_traits_${trait}`] !== undefined|| v[`repeating_infweapon_inf_weapon_traits_${trait}`] !== NaN) {
|
||
traitList[trait] = parseInt(v["repeating_infweapon_inf_weapon_traits_"+trait]);
|
||
console.log("traitList: "+traitList[trait]);
|
||
} else {
|
||
traitList[trait] = 0;
|
||
}
|
||
if (v["repeating_infweapon_inf_weapon_traits_"+trait+"_selector"] !== undefined) {
|
||
selectList[trait] = parseInt(v["repeating_infweapon_inf_weapon_traits_"+trait+"_selector"]);
|
||
} else {
|
||
selectList[trait] = 0;
|
||
}
|
||
});
|
||
|
||
infWeaponTraits.forEach(function(trait) {
|
||
if (traitList[trait] == 1 && !infWeaponTraitsX.includes(trait)) {//if trait is 1 and not a trait with x, make it trait
|
||
traitString += capitalise(`${trait}, `);
|
||
if (selectList[trait] == 1 && trait !='mode') {
|
||
select1 += capitalise(`${trait}, `);
|
||
} else if (selectList[trait] == 2 && trait !='mode') {
|
||
select2 += capitalise(`${trait}, `);
|
||
} else if (selectList[trait] == 3 && trait !='mode') {
|
||
select3 += capitalise(`${trait}, `);
|
||
} else if (traitList[trait] == 1 && trait =='mode') {
|
||
//select1 += capitalise(`mode, `);
|
||
}
|
||
|
||
} else if (traitList[trait] == 1 && infWeaponTraitsX.includes(trait)) {//if trait is 1 and is a trait with x, make it trait:1
|
||
traitString += capitalise(`${trait}:${traitList[trait]}, `);
|
||
if (selectList[trait] == 1 ) {
|
||
select1 += capitalise(`${trait}:${traitList[trait]}, `);
|
||
} else if (selectList[trait] == 2) {
|
||
select2 += capitalise(`${trait}:${traitList[trait]}, `);
|
||
} else if (selectList[trait] == 3) {
|
||
select3 += capitalise(`${trait}:${traitList[trait]}, `);
|
||
}
|
||
if (trait == 'aoe') {//change , to m,
|
||
traitString = traitString.replace(/,/g, "m, ");
|
||
};
|
||
} else if (traitList[trait] > 1) {// if triat is greater than 1, make it trait:x
|
||
traitString += capitalise(`${trait}:${traitList[trait]}, `);
|
||
if (selectList[trait] == 1) {
|
||
select1 += capitalise(`${trait}:${traitList[trait]}, `);
|
||
} else if (selectList[trait] == 2) {
|
||
select2 += capitalise(`${trait}:${traitList[trait]}, `);
|
||
} else if (selectList[trait] == 3) {
|
||
select3 += capitalise(`${trait}:${traitList[trait]}, `);
|
||
}
|
||
if (trait == 'aoe') {//change , to m,
|
||
traitString = traitString.replace(/,/g, "m, ");
|
||
};
|
||
} else if (traitList[trait] < 0) {// if triat is less than 0, make it trait:-x
|
||
traitString += capitalise(`${trait}:${traitList[trait]}, `);
|
||
if (selectList[trait] == 1) {
|
||
select1 += capitalise(`${trait}:${traitList[trait]}, `);
|
||
} else if (selectList[trait] == 2) {
|
||
select2 += capitalise(`${trait}:${traitList[trait]}, `);
|
||
} else if (selectList[trait] == 3) {
|
||
select3 += capitalise(`${trait}:${traitList[trait]}, `);
|
||
}
|
||
if (trait == 'aoe') {//change , to m,
|
||
traitString = traitString.replace(/,/g, "m, ");
|
||
};
|
||
}
|
||
|
||
});
|
||
|
||
if (select1 == "") {
|
||
select1 = "-";
|
||
}
|
||
if (select2 == "") {
|
||
select2 = "-";
|
||
}
|
||
if (select3 == "") {
|
||
select3 = "-";
|
||
}
|
||
select1 = removeLastComma(select1);
|
||
select2 = removeLastComma(select2);
|
||
select3 = removeLastComma(select3);
|
||
console.log("select 1 "+select1);
|
||
console.log("select 2 "+select2);
|
||
console.log("select 3 "+select3);
|
||
|
||
setAttrs({
|
||
repeating_infweapon_inf_weapon_traits: select1,
|
||
repeating_infweapon_inf_weapon_traits_selector_2: select2,
|
||
repeating_infweapon_inf_weapon_traits_selector_3: select3,
|
||
});
|
||
|
||
});
|
||
});
|
||
});
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
//changes gear weapon traits to a string of traits that each gear weapon
|
||
gearWeaponTraits.forEach(function (trait) {
|
||
on('change:repeating_gearweapon:gear_weapon_traits_'+trait+' change:repeating_gearweapon:gear_weapon_traits_'+trait+'_selector \
|
||
change:repeating_gearweapon:gear_weapon_traits_'+trait+'_selector_2 change:repeating_gearweapon:gear_weapon_traits_'+trait+'_selector_3 change:repeating_gearweapon:gear_weapon_initalised', function() {
|
||
//console.log("change:repeating_gearweapon:gear_weapon_traits_"+trait);
|
||
let traitList = {};
|
||
let selectList = {};
|
||
let numCallbacks = 0;
|
||
let traitString = "";
|
||
let select1 = "";
|
||
let select2 = "";
|
||
let select3 = "";
|
||
gearWeaponTraits.forEach(function(trait) {
|
||
traitList[trait] = 0;
|
||
selectList[trait] = 0;
|
||
getAttrs([`repeating_gearweapon_gear_weapon_traits_${trait}`,"repeating_gearweapon_gear_weapon_traits_"+trait+"_selector"], function(v) {
|
||
numCallbacks++;
|
||
if (v[`repeating_gearweapon_gear_weapon_traits_${trait}`] !== undefined) {
|
||
traitList[trait] = parseInt(v["repeating_gearweapon_gear_weapon_traits_"+trait]);
|
||
} else {
|
||
traitList[trait] = 0;
|
||
}
|
||
if (v["repeating_gearweapon_gear_weapon_traits_"+trait+"_selector"] !== undefined) {
|
||
selectList[trait] = parseInt(v["repeating_gearweapon_gear_weapon_traits_"+trait+"_selector"]);
|
||
} else {
|
||
selectList[trait] = 0;
|
||
}
|
||
if (traitList[trait] == 1 && !gearWeaponTraitsX.includes(trait)) {//if trait is 1 and not a trait with x, make it trait
|
||
traitString += capitalise(`${trait}, `);
|
||
if (selectList[trait] == 1 && trait !='mode') {
|
||
select1 += capitalise(`${trait}, `);
|
||
} else if (selectList[trait] == 2 && trait !='mode') {
|
||
select2 += capitalise(`${trait}, `);
|
||
} else if (selectList[trait] == 3 && trait !='mode') {
|
||
select3 += capitalise(`${trait}, `);
|
||
} else if (traitList[trait] == 1 && trait =='mode') {
|
||
//select1 += capitalise(`mode, `);
|
||
}
|
||
|
||
} else if (traitList[trait] == 1 && gearWeaponTraitsX.includes(trait)) {//if trait is 1 and is a trait with x, make it trait:1
|
||
traitString += capitalise(`${trait}:${traitList[trait]}, `);
|
||
if (selectList[trait] == 1 ) {
|
||
select1 += capitalise(`${trait}:${traitList[trait]}, `);
|
||
} else if (selectList[trait] == 2) {
|
||
select2 += capitalise(`${trait}:${traitList[trait]}, `);
|
||
} else if (selectList[trait] == 3) {
|
||
select3 += capitalise(`${trait}:${traitList[trait]}, `);
|
||
}
|
||
if (trait == 'aoe') {//change , to m,
|
||
traitString = traitString.replace(/,/g, "m, ");
|
||
};
|
||
} else if (traitList[trait] > 1) {// if triat is greater than 1, make it trait:x
|
||
traitString += capitalise(`${trait}:${traitList[trait]}, `);
|
||
if (selectList[trait] == 1) {
|
||
select1 += capitalise(`${trait}:${traitList[trait]}, `);
|
||
} else if (selectList[trait] == 2) {
|
||
select2 += capitalise(`${trait}:${traitList[trait]}, `);
|
||
} else if (selectList[trait] == 3) {
|
||
select3 += capitalise(`${trait}:${traitList[trait]}, `);
|
||
}
|
||
if (trait == 'aoe') {//change , to m,
|
||
traitString = traitString.replace(/,/g, "m, ");
|
||
};
|
||
} else if (traitList[trait] < 0) {// if triat is less than 0, make it trait:-x
|
||
traitString += capitalise(`${trait}:${traitList[trait]}, `);
|
||
if (selectList[trait] == 1) {
|
||
select1 += capitalise(`${trait}:${traitList[trait]}, `);
|
||
} else if (selectList[trait] == 2) {
|
||
select2 += capitalise(`${trait}:${traitList[trait]}, `);
|
||
} else if (selectList[trait] == 3) {
|
||
select3 += capitalise(`${trait}:${traitList[trait]}, `);
|
||
}
|
||
if (trait == 'aoe') {//change , to m,
|
||
traitString = traitString.replace(/,/g, "m, ");
|
||
};
|
||
}
|
||
//console.log("select 1 "+select1);
|
||
if (select1 == "") {
|
||
select1 = " ";
|
||
}
|
||
//commented out becasue it would remove all commas
|
||
//select1 = removeLastComma(select1);
|
||
//select2 = removeLastComma(select2);
|
||
//select3 = removeLastComma(select3);
|
||
setAttrs({
|
||
repeating_gearweapon_gear_weapon_traits: select1,
|
||
repeating_gearweapon_gear_weapon_traits_selector_2: select2,
|
||
repeating_gearweapon_gear_weapon_traits_selector_3: select3,
|
||
});
|
||
});
|
||
|
||
});
|
||
|
||
});
|
||
});
|
||
|
||
|
||
|
||
// --- Damage Calulations ---
|
||
on('change:repeating_damage remove:repeating_damage sheet:opened', function() { //calculates total damage
|
||
repeatingSum("damage_shell","damage",["damage_shell_check", "damage_level"],'multiplier:damage_shell_check|-1','damage_shell_max');
|
||
repeatingSum("damage_system","damage",["damage_system_check", "damage_level"],'multiplier:damage_system_check|-1','damage_system_max');
|
||
});
|
||
|
||
on('change:repeating_gear-damage remove:repeating_gear-damage sheet:opened', function() { //calculates gear damage
|
||
repeatingSum("gear_hi","gear-damage",["gear_damage_level", "gear_damage_integrity"],'multiplier:gear_damage_level|-1','gear_hi_max');
|
||
});
|
||
|
||
|
||
// ----- Burden Calculations -----
|
||
on('change:repeating_infweapon_domain sheet:opened', function() { //calculates domains to expertise used in personal weapons
|
||
repeatingSum("weapon_burden_total","weapon",["weapon_burden"]); //calculate weapon burden
|
||
});
|
||
|
||
|
||
on('change:repeating_personal-equipment sheet:opened', function() { //calculates burden
|
||
repeatingSum("personal_equipment_burden_total","personal-equipment",["personal_equipment_burden"]);
|
||
});
|
||
|
||
// ---- roll buttons ----
|
||
domains.forEach(function (domain) { // roll buttons for skill section
|
||
on("clicked:repeating_skills-" + domain + ":tumble", function () {
|
||
getAttrs(["whisper","repeating_skills-"+domain+"_skill_name","name_"+domain,"repeating_skills-" +domain+"_skill_level",
|
||
"expertise_"+domain,"expertise_check","bonus_dice","tn","tn_bonus","reliable","repeating_skills-"+domain+"_skill_familiar"], (values) => {
|
||
let whisper = values["whisper"];
|
||
let names = [values["repeating_skills-"+domain+"_skill_name"],values["name_"+domain]];
|
||
let expertise = parseInt(values["expertise_"+domain]);
|
||
let expertiseCheck = parseInt(values["expertise_check"]);
|
||
if (expertiseCheck != 1) {
|
||
expertise = 0;
|
||
}
|
||
let dice = parseIntArray([values["repeating_skills-" +domain+"_skill_level"],values["bonus_dice"]]);
|
||
let tn = parseIntArray([values["tn"],values["tn_bonus"]]);
|
||
let reliabledice = parseIntArray([values["reliable"],values["repeating_skills-"+domain+"_skill_familiar"]]) ;
|
||
rollArray(whisper,names,expertise,dice,tn,reliabledice);
|
||
});
|
||
});
|
||
});
|
||
|
||
|
||
gearSkills.forEach(function (gearSkills) { // roll buttons for gear skills
|
||
on("clicked:repeating_skills-"+ gearSkills + ":geartumble", function () {
|
||
getAttrs(["whisper","repeating_skills-"+gearSkills+"_skill_name","name_"+gearSkills,"repeating_skills-" +gearSkills+"_skill_level",
|
||
"expertise_"+gearSkills,"expertise_check","bonus_dice","tn","tn_bonus","gear_"+gearSkills,"reliable","repeating_skills-"+gearSkills+"_skill_familiar"], (values) => {
|
||
let whisper = values["whisper"];
|
||
let names = [values["repeating_skills-"+gearSkills+"_skill_name"],values["name_"+gearSkills]];
|
||
let expertise = parseInt(values["expertise_"+gearSkills]);
|
||
let expertiseCheck = parseInt(values["expertise_check"]);
|
||
if (expertiseCheck != 1) {
|
||
expertise = 0;
|
||
}
|
||
let dice = parseIntArray([values["repeating_skills-" +gearSkills+"_skill_level"],values["bonus_dice"]]);
|
||
let tn = parseIntArray([values["tn"],values["gear_"+gearSkills],values["tn_bonus"]]);
|
||
let reliabledice = parseIntArray([values["reliable"],values["repeating_skills-"+gearSkills+"_skill_familiar"]]) ;
|
||
rollArray(whisper,names,expertise,dice,tn,reliabledice);
|
||
});
|
||
});
|
||
});
|
||
|
||
gearSkills.forEach(function (gearSkills) { // roll buttons for gear skills NPC
|
||
on("clicked:geartumble_"+ gearSkills, function () {
|
||
getAttrs(["whisper","gear_"+gearSkills+"_skill",
|
||
"gear_"+gearSkills+"_expertise","expertise_check","bonus_dice","tn","tn_bonus","gear_"+gearSkills,"reliable"], (values) => {
|
||
let whisper = values["whisper"];
|
||
let names = [capitalise(gearSkills) ,gearSkills];
|
||
let expertise = parseInt(values["gear_"+gearSkills+"_expertise"]);
|
||
let expertiseCheck = parseInt(values["expertise_check"]);
|
||
if (expertiseCheck != 1) {
|
||
expertise = 0;
|
||
}
|
||
let dice = parseIntArray([values["gear_"+gearSkills+"_skill"],values["bonus_dice"]]);
|
||
let tn = parseIntArray([values["tn"],values["gear_"+gearSkills],values["tn_bonus"]]);
|
||
let reliabledice = parseIntArray([values["reliable"]]) ;
|
||
rollArray(whisper,names,expertise,dice,tn,reliabledice);
|
||
});
|
||
});
|
||
});
|
||
|
||
on("clicked:repeating_infweapon:tumble", function () {//roller for inf weapons
|
||
console.log("clicked:repeating_infweapon:tumble");
|
||
getAttrs(["whisper","repeating_infweapon_inf_weapon_frame_check","repeating_infweapon_frame_weapon_type","repeating_infweapon_inf_weapon_name","repeating_infweapon_inf_weapon_domain",
|
||
"repeating_infweapon_inf_skill_level","bonus_dice","tn","tn_bonus","repeating_infweapon_inf_weapon_tn_bonus","expertise_check",
|
||
"reliable","repeating_infweapon_inf_weapon_skill_familiar", "repeating_infweapon_inf_weapon_damage",
|
||
"repeating_infweapon_inf_weapon_traits", "repeating_infweapon_inf_weapon_traits_mode_selector", "repeating_infweapon_inf_weapon_traits_selector_2" ,
|
||
"repeating_infweapon_inf_weapon_traits_selector_3","repeating_infweapon_inf_weapon_traits_mode","repeating_infweapon_inf_weapon_ammo","repeating_infweapon_inf_weapon_ammo_max",
|
||
"expertise_athletics","expertise_awareness","expertise_business","expertise_craft","expertise_culture","expertise_electronicwarfare","expertise_electronics","expertise_gunnery","expertise_hardscience","expertise_influence","expertise_institutions","expertise_investigation","expertise_mechanics","expertise_medicine","expertise_melee","expertise_pilot","expertise_showmanship","expertise_socialscience","expertise_survival","expertise_tactics"], (values) => {
|
||
|
||
let framecheck = parseInt(values["repeating_infweapon_inf_weapon_frame_check"]);
|
||
console.log("framecheck:"+framecheck);
|
||
console.log(values["repeating_infweapon_inf_weapon_name"]+values["repeating_infweapon_frame_weapon_type"]);
|
||
let infweapondomain = parseInt(values["repeating_infweapon_inf_weapon_domain"]);
|
||
let expertise = 0;
|
||
console.log("infweapondomain:" + infweapondomain);
|
||
|
||
let domain = findDomainLower(values["repeating_infweapon_inf_weapon_domain"]);
|
||
expertise = values["expertise_"+domain];
|
||
console.log("expertise "+expertise);
|
||
|
||
|
||
|
||
let expertiseCheck = parseInt(values["expertise_check"]);
|
||
if (expertiseCheck != 1) {
|
||
expertise = 0;
|
||
}
|
||
let whisper = values["whisper"];
|
||
let names = [values["repeating_infweapon_inf_weapon_name"],values["repeating_infweapon_inf_weapon_domain"]];
|
||
if (framecheck == 1){
|
||
names = [values["repeating_infweapon_frame_weapon_type"],values["repeating_infweapon_inf_weapon_domain"]];
|
||
} else {
|
||
names = [values["repeating_infweapon_inf_weapon_name"],values["repeating_infweapon_inf_weapon_domain"]];
|
||
}
|
||
let dice = parseIntArray([values["repeating_infweapon_inf_skill_level"],values["bonus_dice"]]);
|
||
let tn = parseIntArray([values["tn"], 0 ,values["tn_bonus"],values["repeating_infweapon_inf_weapon_tn_bonus"]]);
|
||
let reliabledice = parseIntArray([values["reliable"],values["repeating_infweapon_inf_weapon_skill_familiar"]]) ;
|
||
let damage = parseInt([values["repeating_infweapon_inf_weapon_damage"]]);
|
||
let traits = [values["repeating_infweapon_inf_weapon_traits_mode_selector"],values["repeating_infweapon_inf_weapon_traits"],values["repeating_infweapon_inf_weapon_traits_selector_2"],
|
||
values["repeating_infweapon_inf_weapon_traits_selector_3"],values["repeating_infweapon_inf_weapon_traits_mode"]];
|
||
let ammunition = [parseInt(values["repeating_infweapon_inf_weapon_ammo"]), parseInt(values["repeating_infweapon_inf_weapon_ammo_max"])] ;
|
||
if (ammunition[1] > 0){//weapon requires ammo
|
||
if (ammunition[0] > 0 ){//weapon has ammo
|
||
console.log("Firing weapon"+ammunition);;
|
||
} else {
|
||
startRoll("/w gm &{template:custom} {{title=@{character_name}}} {{desc=You have no ammo left for "+names[0]+"}}", (diceroll) => {
|
||
finishRoll(diceroll.rollId, {
|
||
});
|
||
});
|
||
return;
|
||
}
|
||
}
|
||
console.log(whisper,names,expertise,dice,tn,reliabledice,damage,ammunition,traits);
|
||
rollArrayInfWeapon(whisper,names,expertise,dice,tn,reliabledice,damage,ammunition,traits);
|
||
|
||
});
|
||
});
|
||
|
||
|
||
|
||
on("clicked:repeating_gearweapon:tumble", function () {//roller for gear weapons
|
||
getAttrs(["whisper","repeating_gearweapon_gear_weapon_type","repeating_gearweapon_gear_weapon_domain", "repeating_gearweapon_gear_weapon_gear_domain_tn",
|
||
"repeating_gearweapon_gear_skill_level","bonus_dice","tn","tn_bonus","expertise_check",
|
||
"reliable","repeating_gearweapon_gear_weapon_skill_familiar", "repeating_gearweapon_gear_weapon_damage",
|
||
"repeating_gearweapon_gear_weapon_traits", "repeating_gearweapon_gear_weapon_traits_mode_selector", "repeating_gearweapon_gear_weapon_traits_selector_2" ,
|
||
"repeating_gearweapon_gear_weapon_traits_selector_3","repeating_gearweapon_gear_weapon_traits_mode","repeating_gearweapon_gear_weapon_ammo","repeating_gearweapon_gear_weapon_ammo_max",
|
||
"expertise_athletics","expertise_awareness","expertise_business","expertise_craft","expertise_culture","expertise_electronicwarfare","expertise_electronics","expertise_gunnery","expertise_hardscience","expertise_influence","expertise_institutions","expertise_investigation","expertise_mechanics","expertise_medicine","expertise_melee","expertise_pilot","expertise_showmanship","expertise_socialscience","expertise_survival","expertise_tactics","gear_gunnery", "gear_pilot","gear_electronicwarfare"], (values) => {
|
||
|
||
let domain = findDomainLower(values["repeating_gearweapon_gear_weapon_domain"]);
|
||
|
||
let gearweapondomain = parseInt(values["repeating_gearweapon_gear_weapon_gear_domain_tn"]);
|
||
let expertise = 0;
|
||
expertise = values["expertise_"+domain];
|
||
console.log("expertise CHECK"+expertise);
|
||
let geartn = 0;
|
||
console.log("gearweapondomain:"+gearweapondomain);
|
||
if (gearweapondomain == 1) {
|
||
expertise = parseInt(values["expertise_gunnery"]);
|
||
geartn = (values["gear_gunnery"]);
|
||
} else if (gearweapondomain == 2) {
|
||
expertise = parseInt(values["expertise_pilot"]);
|
||
geartn = (values["gear_pilot"]);
|
||
} else if (gearweapondomain == 3) {
|
||
expertise = parseInt(values["expertise_electronicwarfare"]);
|
||
geartn = (values["gear_electronicwarfare"]);
|
||
}
|
||
let expertiseCheck = parseInt(values["expertise_check"]);
|
||
if (expertiseCheck != 1) {
|
||
expertise = 0;
|
||
}
|
||
let whisper = values["whisper"];
|
||
let names = [values["repeating_gearweapon_gear_weapon_type"],values["repeating_gearweapon_gear_weapon_domain"],values["repeating_gearweapon_gear_weapon_gear_domain_tn"]];
|
||
let dice = parseIntArray([values["repeating_gearweapon_gear_skill_level"],values["bonus_dice"]]);
|
||
let tn = parseIntArray([values["tn"], geartn ,values["tn_bonus"]]);
|
||
let reliabledice = parseIntArray([values["reliable"],values["repeating_gearweapon_gear_weapon_skill_familiar"]]) ;
|
||
let damage = parseIntArray([values["repeating_gearweapon_gear_weapon_damage"]]);
|
||
let traits = [values["repeating_gearweapon_gear_weapon_traits_mode_selector"],values["repeating_gearweapon_gear_weapon_traits"],values["repeating_gearweapon_gear_weapon_traits_selector_2"],
|
||
values["repeating_gearweapon_gear_weapon_traits_selector_3"],values["repeating_gearweapon_gear_weapon_traits_mode"]];
|
||
let ammunition = [parseInt(values["repeating_gearweapon_gear_weapon_ammo"]), parseInt(values["repeating_gearweapon_gear_weapon_ammo_max"])] ;
|
||
if (ammunition[1] > 0){//weapon requires ammo
|
||
if (ammunition[0] > 0 ){//weapon has ammo
|
||
console.log("Firing weapon"+ammunition);;
|
||
} else {
|
||
startRoll("/w gm &{template:custom} {{title=@{character_name}}} {{desc=You have no ammo left for "+names[0]+"}}", (diceroll) => {
|
||
finishRoll(diceroll.rollId, {
|
||
});
|
||
});
|
||
return;
|
||
}
|
||
}
|
||
console.log("rollArrayGearWeapon:",whisper,names,expertise,dice,tn,reliabledice,damage,ammunition,traits);
|
||
rollArrayGearWeapon(whisper,names,expertise,dice,tn,reliabledice,damage,ammunition,traits);
|
||
|
||
});
|
||
});
|
||
|
||
//function that takes in arrays of names, dicepool, tn and reliable and outputs the sums of each
|
||
//names[] is an array [skillname,domain]
|
||
//expertise is a number
|
||
//dicepool[] is an array [skilllevel,bonusdice....] as values
|
||
//tn[] is an array [tn,tnbonus....] as values
|
||
//reliable[] is an array [reliable,reliablebonus....] as values
|
||
|
||
const rollArray = (whisper = "" ,names,expertise,dice,tnArray,reliabledice, ...extra) => {
|
||
console.log("rollArray");
|
||
console.log(names,expertise,dice,tnArray,reliabledice);
|
||
let skillname = names[0];
|
||
let skilllevel = parseInt(dice[0]);
|
||
let domain = names[1];
|
||
let tn = parseInt(tnArray[0]);
|
||
let rollexpression = "d6kl1";
|
||
|
||
let extraArray = [];
|
||
extra.forEach(item => {
|
||
extraArray.push(item);
|
||
});
|
||
|
||
|
||
//calculate bonus dice as all dice[] exept the first
|
||
let bonus = 0;
|
||
for (i=1;i<dice.length;i++) {
|
||
bonus = bonus + dice[i];
|
||
};
|
||
|
||
//calculate tn bonus as all tn[] exept the first
|
||
let tnBonus = 0;
|
||
for (i=1;i<tnArray.length;i++) {
|
||
tnBonus = tnBonus + tnArray[i];
|
||
console.log("tnBonus:",tnBonus);
|
||
};
|
||
|
||
tn = tn - (tnBonus);//add tn bonus to tn
|
||
console.log("tn2:",tn,"tnBonus:",tnBonus);
|
||
// reliable is the sum of reliabledice[]
|
||
let reliable = 0;
|
||
for (i=0;i<reliabledice.length;i++) {
|
||
reliable = reliable + reliabledice[i];
|
||
};
|
||
|
||
let reliableRoll = Math.abs(reliable);//need to make positive
|
||
let diceRoll = Math.abs(skilllevel + bonus);
|
||
|
||
if (expertise == 3){ // expertise 3 tn bonus
|
||
tn--;
|
||
console.log("tn reduced due to Expertise 3");
|
||
};
|
||
|
||
if (tn > 6) { //tn over 6 is converted to bonus dice at 1:2
|
||
bonus = bonus - Math.floor((tn - 6)/2);
|
||
tn = 6;
|
||
console.log("tn reduced due to tn over 6. bonus:", bonus, tn);
|
||
};
|
||
|
||
if (tn < 2) { //tn under 2 is converted to bonus dice at 1:2
|
||
bonus = bonus + Math.floor((2 - tn)/2);
|
||
tn = 2;
|
||
console.log("tn increased due to tn under 2. bonus:", bonus, tn);
|
||
|
||
};
|
||
|
||
if (skilllevel == 0) {
|
||
bonus--;
|
||
console.log("bonus reduced due to skill level 0",bonus,skilllevel);
|
||
};
|
||
|
||
if (skilllevel + bonus < 1) {// work out if dice pool is keeping or dropping dice
|
||
console.log("skilllevel + bonus < 1",skilllevel,bonus);
|
||
rollexpression = "d6kl1";
|
||
} else {
|
||
rollexpression = "d6k1";
|
||
};
|
||
|
||
//domain = capitalise(domain);
|
||
|
||
domain = findDomainUpper(domain);
|
||
|
||
console.log(skillname, domain, "lv:"+ skilllevel, "Ex:"+ expertise,bonus,"tn:"+ tn,tnBonus,"Rel:"+ reliable);
|
||
startRoll(whisper+"&{template:diceroll} {{title=@{character_name} using "+skillname+"}} \
|
||
{{subtitle= Expertise ("+domain+"):"+expertise+" TN("+tn+")| Skill="+skilllevel+"+Bonus="+bonus+"(Reliable="+reliable+")}} \
|
||
{{roll=[[("+diceRoll+"+"+reliableRoll+"+1)"+rollexpression+"]] }} {{MOS=[[0]]}} {{doubles=[["+expertise+"]]}} {{reliable=[["+reliable+"]]}} \
|
||
{{six=[[6]]}} {{five=[[5]]}} {{four=[[4]]}} {{three=[[3]]}} {{two=[[2]]}} {{one=[[1]]}} \
|
||
{{changedsix=[[6]]}} {{changedfive=[[5]]}} {{changedfour=[[4]]}} {{changedthree=[[3]]}} {{changedtwo=[[2]]}} {{changedone=[[1]]}}" , (diceroll) => {
|
||
let total = diceroll.results.roll.result;
|
||
let dice = diceroll.results.roll.dice;
|
||
let MOS = 0;
|
||
let doubles = 0;
|
||
const total6s = dice.filter(d => d === 6).length;
|
||
const total5s = dice.filter(d => d === 5).length;
|
||
const total4s = dice.filter(d => d === 4).length;
|
||
const total3s = dice.filter(d => d === 3).length;
|
||
const total2s = dice.filter(d => d === 2).length;
|
||
const total1s = dice.filter(d => d === 1).length;
|
||
|
||
const targetArray = [0,total1s,total2s,total3s,total4s,total5s,total6s];
|
||
const reliableArray = [reliable,0,0,0,0,0,0];//records reliable dice
|
||
console.log(targetArray,total);
|
||
let tempArray = targetArray;
|
||
|
||
//remove x reliable dice
|
||
//if reliable is greater than 1, remove x lowest
|
||
if (reliableArray[0] > 0) {
|
||
console.log("reliable is greater than 1");
|
||
while (reliableArray[0] > 0) {
|
||
for (i=1;i<7;i++) {
|
||
if (tempArray[i] > 0) {
|
||
tempArray[i]--;
|
||
reliableArray[i]--;
|
||
reliableArray[0]--;
|
||
i = 7;
|
||
};
|
||
};
|
||
};
|
||
};
|
||
|
||
//if reliable is less than 1, remove x highest
|
||
if (reliableArray[0] < 0) {
|
||
console.log("reliable is less than 1");
|
||
while (reliableArray[0] < 0) {
|
||
for (i=6;i>0;i--) {
|
||
if (tempArray[i] > 0) {
|
||
tempArray[i]--;
|
||
reliableArray[i]--;
|
||
reliableArray[0]++;
|
||
i = 0;
|
||
};
|
||
};
|
||
};
|
||
};
|
||
//calculate total
|
||
//if (skilllevel + bonus) is >0 find highest number
|
||
if ((skilllevel + bonus) > 0) {
|
||
for (i=6;i>0;i--) {
|
||
if (tempArray[i] > 0) {
|
||
console.log("calculate high total :"+i);
|
||
total = i;
|
||
i = 0;
|
||
};
|
||
};
|
||
};
|
||
//if (skilllevel + bonus) is <1 find lowest number
|
||
if ((skilllevel + bonus) < 1) {
|
||
for (i=1;i<7;i++) {
|
||
if (tempArray[i] > 0) {
|
||
console.log("calculate low total :"+i);
|
||
total = i;
|
||
i = 7;
|
||
};
|
||
};
|
||
};
|
||
tempArray[total]--;//take out the total from the array
|
||
|
||
if (total < tn) { //tn is bigger, calculate MOF
|
||
} else { //tn is smaller, calculate MOS
|
||
for (i=tn;i<=total;i++) {
|
||
MOS = MOS + tempArray[i];
|
||
};
|
||
};
|
||
|
||
if (expertise > 1) {
|
||
for (i=1;i<tn;i++) {
|
||
if (tempArray[i] > 1){
|
||
tempArray[i] = tempArray[i] - 2;
|
||
doubles = i;
|
||
total++;
|
||
i = tn;
|
||
|
||
console.log("doubles:"+doubles+" added " + tempArray);
|
||
};
|
||
};
|
||
};
|
||
|
||
total = total + MOS;
|
||
MOS = total - tn;
|
||
|
||
console.log("temp:"+tempArray,"reliable+:"+reliableArray);
|
||
|
||
finishRoll(diceroll.rollId, {
|
||
roll: total,
|
||
MOS: MOS,
|
||
six: total6s,
|
||
five: total5s,
|
||
four: total4s,
|
||
three: total3s,
|
||
two: total2s,
|
||
one: total1s,
|
||
changedsix: reliableArray[6],
|
||
changedfive: reliableArray[5],
|
||
changedfour: reliableArray[4],
|
||
changedthree: reliableArray[3],
|
||
changedtwo: reliableArray[2],
|
||
changedone: reliableArray[1],
|
||
doubles: doubles
|
||
});
|
||
});
|
||
|
||
};
|
||
|
||
//function that takes in arrays of names, dicepool, tn and reliable and outputs the sums of each
|
||
//names[] is an array [skillname,domain]
|
||
//expertise is a number
|
||
//dicepool[] is an array [skilllevel,bonusdice....] as values
|
||
//tn[] is an array [tn,tnbonus....] as values
|
||
//reliable[] is an array [reliable,reliablebonus....] as values
|
||
//damage is a number
|
||
//ammo is an array [ammo,ammomax] as values
|
||
//traits is an array [mode,selector1,selector2,selector3,mode check] as number, string, string, string, number
|
||
const rollArrayInfWeapon = (whisper = "" ,names,expertise,dice,tnArray,reliabledice,damage= 0 ,ammunition = [0,0],traits = [1,"","","",0], ...extra) => {
|
||
console.log("rollArrayInfWeapon");
|
||
console.log(whisper,names,expertise,dice,tnArray,reliabledice,damage,ammunition,traits, ...extra)
|
||
console.log(" names"+names," expertise"+expertise," dice"+dice," tnArray"+tnArray," reliabledice"+reliabledice," damage"+damage," traits"+traits," ammunition"+ammunition);
|
||
let weaponname = names[0];
|
||
let skilllevel = parseInt(dice[0]);
|
||
let domain = names[1];
|
||
let tn = parseInt(tnArray[0]);
|
||
let rollexpression = "d6kl1";
|
||
let traitstring = traits[1];
|
||
let traitcalcs = traits[1];
|
||
let optimalquestion = "?{Attacking targets in optimal range|Yes,1|No,0}";
|
||
let optimalrequired = 0;
|
||
let optimalroll = "";
|
||
let traittext = "";
|
||
let reroll = 0;
|
||
|
||
|
||
domain = findDomainUpper(domain);
|
||
|
||
let ammunitionString = "";
|
||
let currentAmmunition = 0;
|
||
if (ammunition[0]==0) {
|
||
ammunitionString = "";
|
||
} else {
|
||
ammunitionString = "Ammo:("+ammunition[0]+"/"+ammunition[1]+")";
|
||
currentAmmunition = (ammunition[0]-1);
|
||
|
||
}
|
||
|
||
//'mode'
|
||
console.log("mode:"+traits[0],"traits:"+traits[1],"selector2:"+traits[2],"selector3:"+traits[3],"mode check:"+traits[4]);
|
||
if (traits[0] == 2 && traits[4] == 1) {
|
||
console.log("mode2:"+traits[2]);
|
||
traitstring = traitstring.concat(", Mode(",removeLastComma(traits[2]),")") ;
|
||
traitcalcs = traitcalcs.concat(", ",removeLastComma(traits[2])) ;
|
||
} else if (traits[0] == 3 && traits[4] == 1){
|
||
console.log("mode3:"+traits[3]);
|
||
traitstring = traitstring.concat(", Mode(",removeLastComma(traits[3]),")") ;
|
||
traitcalcs = traitcalcs.concat(", ",removeLastComma(traits[3])) ;
|
||
}
|
||
traitstring = removeLastComma(traitstring);
|
||
traitstring = " "+traitstring;
|
||
console.log("traitstring:"+traitstring);
|
||
console.log("traitcalcs:"+traitcalcs);
|
||
|
||
//Trait calculations
|
||
//blast is needed in other calcs, so done first
|
||
let blastindex = traitcalcs.indexOf("Blast");//'blast', calculate cover from primary target
|
||
let blast = 0;
|
||
if (blastindex >= 0) {
|
||
blast = 1;
|
||
traittext = traittext.concat("Blast: Calculate cover from primary target\n") ;
|
||
} else {
|
||
blast = 0;
|
||
}
|
||
let advancedindex = traitcalcs.indexOf("Advanced");//'advanced', cannot pickup and used
|
||
console.log("advancedindex:"+advancedindex);
|
||
let advanced = 0;
|
||
if (advancedindex >= 0) {
|
||
advanced = 1;
|
||
traittext = traittext.concat("Advanced: This weapon but must be connected to a power source, usually the vehicle’s engine. If not connected it cannot be fired. This connection takes 1 hour of time working on the vehicle and is not something that can be done in combat.\n") ;
|
||
} else {
|
||
advanced = 0;
|
||
}
|
||
|
||
let aoeindex = traitcalcs.indexOf("AoE");//'aoe', remind to roll for secondary targets at -1d6, check blast
|
||
let aoe = 0;
|
||
let aoequestion = "";
|
||
let aoeexpression = "";
|
||
let aoeroll = "";
|
||
let aoetargetquestion = "";
|
||
if (aoeindex >= 0) {
|
||
aoeindex += 4;
|
||
aoe = parseInt(traitcalcs.substring(aoeindex));
|
||
console.log("aoe:"+aoe);
|
||
aoequestion = "?{AoE("+aoe+"m) Primary Target|Yes,0|No,-1}";
|
||
aoetargetquestion = "?{AoE("+aoe+"m) Additional Secondary Targets|0}";
|
||
aoeexpression = "+("+aoequestion+")(AoE) ";
|
||
aoeroll = "+"+aoequestion;
|
||
if (blast == 1){
|
||
traittext = traittext.concat("AoE:"+aoe+" Hits all targets within "+aoe+"m/ "+Math.floor(aoe/5)+"in. Roll secondary targets individually. Calculate cover from target's perspective.\n") ;
|
||
} else {
|
||
traittext = traittext.concat("AoE:"+aoe+" Hits all targets within "+aoe+"m/ "+Math.floor(aoe/5)+"in. Roll secondary targets individually. Calculate cover from firer's perspective. Targets in full medium or heavy cover are not hit.\n") ;
|
||
|
||
}
|
||
} else {
|
||
aoe = 0;
|
||
aoequestion = "";
|
||
}
|
||
|
||
let apindex = traitcalcs.indexOf("AP");//'ap', may choose to apply MOS as damage instead of normal damage calculation, min 1
|
||
let ap = 0;
|
||
if (apindex >= 0) {
|
||
apindex += 3;
|
||
ap =parseInt(traitcalcs.substring(apindex));
|
||
traittext = traittext.concat("AP:"+ap+" May choose to apply MOS up to "+ap+" as damage instead of normal damage calculation, min 1\n") ;
|
||
} else {
|
||
ap = 0;
|
||
}
|
||
|
||
|
||
let burstindex = traitcalcs.indexOf("Burst");//'burst', adds xd6 or x-1d6, but get second attack roll
|
||
let burst = 0;
|
||
let burstquestion = "";
|
||
let burstexpression = "";
|
||
let burstroll = "";
|
||
let bursttargetquestion = "";
|
||
if (burstindex >= 0) {
|
||
burstindex += 6;
|
||
burst =parseInt(traitcalcs.substring(burstindex));
|
||
burstquestion = "?{Burst("+burst+") Attacking|Only one target,0|Two Targets ,1|Multi-Target Tracking,"+burst+"}";
|
||
burstexpression = "+ ("+burst+"-"+burstquestion+")(Burst) ";
|
||
burstroll = "+"+burst+"-"+burstquestion;
|
||
bursttargetquestion = burstquestion;
|
||
} else {
|
||
burst = 0;
|
||
}
|
||
//brace
|
||
let braceindex = traitcalcs.indexOf("Brace");//'brace', free aim if Stationary, Dug in, or Braced
|
||
let brace = 0;
|
||
let bracequestion = "";
|
||
let braceexpression = "";
|
||
let braceroll = "";
|
||
if (braceindex >= 0) {
|
||
brace = 1;
|
||
traittext = traittext.concat("Brace: Free aim if Stationary, Dug in, or Braced\n") ;
|
||
} else {
|
||
brace = 0;
|
||
}
|
||
let brawlerindex = traitcalcs.indexOf("Brawler");//'brawler', add Xd6, stacks with gear trait
|
||
let brawler = 0;
|
||
let brawlerexpression = "";
|
||
let brawlerroll = "";
|
||
if (brawlerindex >= 0) {
|
||
brawlerindex += 8;
|
||
brawler =parseInt(traitcalcs.substring(brawlerindex));
|
||
brawlerexpression = "+ "+brawler+"(Brawler) ";
|
||
brawlerroll = "+"+brawler;
|
||
traittext = traittext.concat("Brawler "+brawler+": adds "+brawler+"d6 to melee attack rolls. If this trait is on a vehicle or creature, it gains "+brawler+"d6 to all melee attack and defense rolls. Multiple instances of this rule stack.\n") ;
|
||
} else {
|
||
brawler = 0;
|
||
}
|
||
|
||
let corrosionindex = traitcalcs.indexOf("Corrosion");//'corrosion', targets gain corrosion condition, take 1 damage at end of turn
|
||
let corrosion = 0;
|
||
if (corrosionindex >= 0) {
|
||
corrosion = 1;
|
||
traittext = traittext.concat("Corrosion: Target gains Corrosion condition and takes 1 damage at end of each turn until removed\n") ;
|
||
} else {
|
||
corrosion = 0;
|
||
}
|
||
|
||
let demoindex = traitcalcs.indexOf("Demo");//'demo', can do x damage to buildings instead of normal damage
|
||
let demo = 0;
|
||
if (demoindex >= 0) {
|
||
demoindex += 5;
|
||
demo =parseInt(traitcalcs.substring(demoindex));
|
||
traittext = traittext.concat("Demo:"+demo+" Can do "+demo+" damage to buildings instead of normal damage\n") ;
|
||
} else {
|
||
demo = 0;
|
||
demoquestion = "";
|
||
}
|
||
|
||
let fireindex = traitcalcs.indexOf("Fire");//'fire', The first damage result this weapon deals is either Burned or On Fire. In addition, if the attack hit, roll Xd6 after the attack is resolved. For each 4+ the target sustains 1 additional damage.
|
||
let fire = 0;
|
||
let fireroll = "-1";
|
||
if (fireindex >= 0) {
|
||
fireindex += 5;
|
||
console.log("fireindex:"+traitcalcs.charAt(fireindex));
|
||
fire =parseInt(traitcalcs.substring(fireindex));
|
||
console.log("fire:"+fire);
|
||
fireroll = fire+"d6>4";
|
||
traittext = traittext.concat("Fire:"+fire+" First damage result is either Burned or On Fire. Deals additional damage on hit.\n") ;
|
||
} else {
|
||
fire = 0;
|
||
}
|
||
|
||
|
||
|
||
//'forearm', not used
|
||
let fragindex = traitcalcs.indexOf("Frag");//'frag', The weapon gains +2d6 when attacking targets in optimal range. This weapon gains an additional +1d6 when attacking Swarms can deal full damage to Swarms.
|
||
let fragquestion = "";
|
||
let fragquestion1 = "";
|
||
let fragquestion2 = "";
|
||
let fragexpression = "";
|
||
let fragroll = "";
|
||
if (fragindex >= 0) {
|
||
frag = 1;
|
||
fragquestion1 = "("+optimalquestion+"*2)";
|
||
optimalrequired = 1;
|
||
fragquestion2 = "?{Frag: Attacking Swarms|No,0|Yes,1}";
|
||
fragquestion = fragquestion1+"+"+fragquestion2;
|
||
fragexpression = "("+fragquestion+"(Frag)) ";
|
||
fragroll = "+"+fragquestion1+"+"+fragquestion2;
|
||
traittext = traittext.concat("Frag: Deals full damage when attacking Swarms\n") ;
|
||
} else {
|
||
frag = 0;
|
||
}
|
||
|
||
|
||
let haywireindex = traitcalcs.indexOf("Haywire");//'haywire', targets gain haywire condition, take -1 gu pi ew
|
||
let haywire = 0;
|
||
if (haywireindex >= 0) {
|
||
haywire = 1;
|
||
traittext = traittext.concat("Haywire: Target gains Haywire condition and takes -1 GU PI EW\n") ;
|
||
} else {
|
||
haywire = 0;
|
||
}
|
||
|
||
///''indirect'
|
||
let indirectindex = traitcalcs.indexOf("Indirect");//'indirect', can fire over cover, but cannot aim
|
||
let indirect = 0;
|
||
if (indirectindex >= 0) {
|
||
indirect = 1;
|
||
traittext = traittext.concat("Indirect: This weapon may be used to make indirect attacks. See Chapter 11 for more information on indirect attacks.\n") ;
|
||
} else {
|
||
indirect = 0;
|
||
}
|
||
|
||
//'missile'
|
||
let missileindex = traitcalcs.indexOf("Missile");//'missile', can be fired at targets out of line of sight, but cannot aim
|
||
let missile = 0;
|
||
if (missileindex >= 0) {
|
||
missile = 1;
|
||
traittext = traittext.concat("Missile: Unless it hits something, this weapon will continue along its trajectory for up to 1km before self-destructing (though it will likely be well off target by then). You may suffer TB:1 to double the range bands of this weapon (this stacks with Aiming bonuses). When benefiting from Guided, these weapons will travel 4km each round seeking their target. They will continue in this way out to 12km.\n") ;
|
||
} else {
|
||
missile = 0;
|
||
}
|
||
|
||
//'musclepowered',
|
||
let musclepoweredindex = traitcalcs.indexOf("Muscle Powered");//'musclepowered', cannot pickup and used
|
||
let musclepowered = 0;
|
||
if (musclepoweredindex >= 0) {
|
||
musclepowered = 1;
|
||
traittext = traittext.concat("Muscle Powered: These weapons require the strength of the user to do damage. They will gain bonus damage (or suffer a penalty to damage) from certain perks and flaws or character advantages.\n") ;
|
||
} else {
|
||
musclepowered = 0;
|
||
}
|
||
|
||
//'nonlethal',
|
||
let nonlethalindex = traitcalcs.indexOf("Non-Lethal");//'nonlethal', cannot kill
|
||
let nonlethal = 0;
|
||
if (nonlethalindex >= 0) {
|
||
nonlethal = 1;
|
||
traittext = traittext.concat("Non-Lethal: These weapons use less lethal ammunition and will only kill at Director discretion (such as if all the defenders dice result in 1s). For guns firing non-lethal rounds, halve effective damage (down to a minimum of 1). Conditions applied should represent bruises, disorientation, broken bones, or unconsciousness. Note: these rounds can still kill if targeted at the head of unarmored people.\n") ;
|
||
} else {
|
||
nonlethal = 0;
|
||
}
|
||
|
||
//'poison','
|
||
let poisonindex = traitcalcs.indexOf("Poison");//'poison', targets gain poison condition, take 1 damage at end of turn
|
||
let poison = 0;
|
||
if (poisonindex >= 0) {
|
||
poison = 1;
|
||
traittext = traittext.concat("Poison: These weapons are usually coated with poison. See the Poisoned damage result (Chapter 3). The dart itself remains non-lethal, even if the poison is. If a number is listed in damage, assume this is for the weapon rather than the poison itself\n") ;
|
||
} else {
|
||
poison = 0;
|
||
}
|
||
|
||
//placed',
|
||
let placedindex = traitcalcs.indexOf("Placed");//'placed', cannot pickup and used
|
||
let placed = 0;
|
||
if (placedindex >= 0) {
|
||
placed = 1;
|
||
traittext = traittext.concat("Placed: If used in a melee attack, this weapon suffers -1d6. It can be placed at the cost of an action and later detonated, which will suffer no penalty. When placing the charge, usea relevant demolitions skill instead of melee to determine how good the placement is. Apply damage when the charge is detonated\n") ;
|
||
} else {
|
||
placed = 0;
|
||
}
|
||
|
||
//shock
|
||
let shockindex = traitcalcs.indexOf("Shock");//'shock', targets gain shock condition, take -1d6
|
||
let shock = 0;
|
||
if (shockindex >= 0) {
|
||
shock = 1;
|
||
traittext = traittext.concat("Shock: Add the damage of the weapon to the MoS. The target must then make an independent roll at 3d6 against this MoS+damage or suffer the Stunned damage result for a number of rounds equal to the MoF. An MoF of 6 or more causes them to suffer the Knocked Out condition. If struck over successive rounds, add +1 to the initial MoS for each round\n") ;
|
||
} else {
|
||
shock = 0;
|
||
}
|
||
|
||
//'slashing', This weapon relies on exposed flesh to wound. It doubles the value of any armor an opponent has.
|
||
let slashingindex = traitcalcs.indexOf("Slashing");//'slashing', This weapon relies on exposed flesh to wound. It doubles the value of any armor an opponent has.
|
||
let slashing = 0;
|
||
if (slashingindex >= 0) {
|
||
slashing = 1;
|
||
traittext = traittext.concat("Slashing: This weapon relies on exposed flesh to wound. It doubles the value of any armor an opponent has.\n") ;
|
||
} else {
|
||
slashing = 0;
|
||
}
|
||
//'shot'
|
||
let shotindex = traitcalcs.indexOf("Shot");//'shot', can be fired at targets out of line of sight, but cannot aim
|
||
let shot = 0;
|
||
if (shotindex >= 0) {
|
||
shot = 1;
|
||
traittext = traittext.concat("Shot:These weapons have poor impact against armored targets. Double the target’s armor when using them.\n") ;
|
||
} else {
|
||
shot = 0;
|
||
}
|
||
|
||
//'stun',
|
||
let stunindex = traitcalcs.indexOf("Stun");//'stun', targets gain stun condition, take -1d6
|
||
let stun = 0;
|
||
if (stunindex >= 0) {
|
||
stun = 1;
|
||
traittext = traittext.concat("Stun: This weapon is effective at stunning or disorienting its target. Instead of causing damage this weapon will cause Rattled, Deafened, Blinded, and Stunned conditions, in that order, with each MoS representing one condition.\n") ;
|
||
} else {
|
||
stun = 0;
|
||
}
|
||
|
||
//'thrown'
|
||
let thrownindex = traitcalcs.indexOf("Thrown");//'thrown', can be thrown, but cannot aim
|
||
let thrown = 0;
|
||
if (thrownindex >= 0) {
|
||
thrown = 1;
|
||
traittext = traittext.concat("Thrown: This weapon can be thrown. The optimum range for a throw is up to 10m for each point of toughness. Additionally, you may add 10 meters if you have an appropriate aptitude. The maximum effective range of thrown weapons is 2x the optimum range. Aiming does not increase the range of thrown weapons.\n") ;
|
||
} else {
|
||
thrown = 0;
|
||
}
|
||
|
||
|
||
let preciseindex = traitcalcs.indexOf("Precise");//'precise', improves MOS/MOF by 1 when in optimal range
|
||
let precisequestion = "";
|
||
let preciseexpression = "";
|
||
let preciseroll = "";
|
||
if (preciseindex >= 0) {
|
||
precise = 1;
|
||
precisequestion = optimalquestion;
|
||
optimalrequired = 1;
|
||
preciseexpression = "+ Precise:"+precisequestion;
|
||
preciseroll = "+"+precisequestion;
|
||
} else {
|
||
precise = 0;
|
||
}
|
||
|
||
|
||
//'reach',
|
||
let reachindex = traitcalcs.indexOf("Reach");//'reach',fighting in melee against an opponent without reach, you may impose TP:1 to their defense roll
|
||
let reach = 0;
|
||
if (reachindex >= 0) {
|
||
reach = 1;
|
||
traittext = traittext.concat("Reach: Fighting in melee against an opponent without reach, you may impose TP:1 to their defense roll\n") ;
|
||
} else {
|
||
reach = 0;
|
||
}
|
||
|
||
let reliablemodindex = traitcalcs.indexOf("Reliable");//'reliable', can reroll 1s
|
||
let reliablemod = 0;
|
||
if (reliablemodindex >= 0) {
|
||
reliablemodindex += 9;
|
||
console.log("reliableindex:"+reliablemodindex);
|
||
reliablemod =parseInt(traitcalcs.substring(reliablemodindex));
|
||
traittext = traittext.concat("Reliable: Gains "+reliablemod+"d6 reliable dice\n") ;
|
||
} else {
|
||
reliablemod = 0;
|
||
}
|
||
//'silent'
|
||
let silentindex = traitcalcs.indexOf("Silent");//'silent', no sound, no damage, no smoke
|
||
let silent = 0;
|
||
if (silentindex >= 0) {
|
||
silent = 1;
|
||
traittext = traittext.concat("Silent: Suppressed noise\n") ;
|
||
} else {
|
||
silent = 0;
|
||
}
|
||
|
||
let smokeindex = traitcalcs.indexOf("Smoke");//'smoke', creates smoke
|
||
let smoke = 0;
|
||
if (smokeindex >= 0) {
|
||
smoke = 1;
|
||
traittext = traittext.concat("Smoke: Creates Smoke in AoE"+aoe+"m, gives +1d6 to defense in area\n") ;
|
||
} else {
|
||
smoke = 0;
|
||
}
|
||
|
||
let sprayindex = traitcalcs.indexOf("Spray");//'spray', ignores cover, cannot aim
|
||
let spray = 0;
|
||
if (sprayindex >= 0) {
|
||
spray = 1;
|
||
traittext = traittext.concat("Spray: Ignores cover, cannot aim\n") ;
|
||
} else {
|
||
spray = 0;
|
||
}
|
||
let salvoindex = traitcalcs.indexOf("Salvo");//'salvo'
|
||
let salvoexpression = "";
|
||
let salvoquestion = "";
|
||
let salvoroll = "";
|
||
|
||
let salvo = 0;
|
||
if (salvoindex >= 0) {
|
||
salvo = 1;
|
||
salvoquestion = "?{Rocket Salvo: Use extra ammo?\nAmmo Remaining "+currentAmmunition+"|0}";
|
||
salvoexpression = "+"+salvoquestion+"(Salvo)";
|
||
salvoroll = "+"+salvoquestion;
|
||
traittext = traittext.concat("Salvo: When attacking with this weapon, the user may increase the ammo used on the attack by 1 to \
|
||
add +1d6 to the attack roll against a single target. This may be done multiple times, but can only be used once per target.\n") ;
|
||
} else {
|
||
salvo = 0;
|
||
}
|
||
|
||
//'see_desc'
|
||
let seedescindex = traitcalcs.indexOf("See desc");//'see_desc', not used\
|
||
console.log("seedescindex:"+seedescindex);
|
||
let seedesc = 0;
|
||
if (seedescindex >= 0) {
|
||
seedesc = 1;
|
||
traittext = traittext.concat("See Description for more details.\n") ;
|
||
} else {
|
||
seedesc = 0;
|
||
}
|
||
// end of inf traits calc
|
||
|
||
|
||
|
||
//calculate bonus dice as all dice[] exept the first
|
||
let bonus = 0;
|
||
for (i=1;i<dice.length;i++) {
|
||
bonus = bonus + dice[i];
|
||
};
|
||
|
||
//calculate tn bonus as all tn[] exept the first
|
||
let tnBonus = 0;
|
||
for (i=1;i<tnArray.length;i++) {
|
||
tnBonus = tnBonus + tnArray[i];
|
||
console.log("tnBonus:",tnBonus);
|
||
};
|
||
|
||
tn = tn - (tnBonus);//add tn bonus to tn
|
||
console.log("tn2:",tn,"tnBonus:",tnBonus);
|
||
// reliable is the sum of reliabledice[]
|
||
let reliable = 0;
|
||
for (i=0;i<reliabledice.length;i++) {
|
||
reliable = reliable + reliabledice[i];
|
||
};
|
||
reliable += reliablemod;
|
||
|
||
|
||
let reliableRoll = Math.abs(reliable);//need to make positive
|
||
let diceRoll = Math.abs(skilllevel + bonus);
|
||
|
||
if (expertise == 3){ // expertise 3 tn bonus
|
||
tn--;
|
||
console.log("tn reduced due to Expertise 3");
|
||
};
|
||
|
||
if (tn > 6) { //tn over 6 is converted to bonus dice at 1:2
|
||
bonus = bonus - Math.floor((tn - 6)/2);
|
||
tn = 6;
|
||
console.log("tn reduced due to tn over 6. bonus:", bonus, tn);
|
||
};
|
||
if (tn < 2) { //tn under 2 is converted to bonus dice at 1:2
|
||
bonus = bonus + Math.floor((2 - tn)/2);
|
||
tn = 2;
|
||
console.log("tn increased due to tn under 2. bonus:", bonus, tn);
|
||
|
||
};
|
||
|
||
if (skilllevel == 0) {
|
||
bonus--;
|
||
console.log("bonus reduced due to skill level 0",bonus,skilllevel);
|
||
};
|
||
|
||
if (skilllevel + bonus < 0) {// work out if dice pool is keeping or dropping dice
|
||
console.log("skilllevel + bonus < 1",skilllevel,bonus);
|
||
rollexpression = "d6kl1s";// d6 keep lowest 1, sort ascending
|
||
} else {
|
||
rollexpression = "d6k1s"; // d6 keep highest 1, sort ascending
|
||
};
|
||
|
||
|
||
|
||
if (optimalrequired == 1) {
|
||
optimalroll = optimalquestion;
|
||
} else {
|
||
optimalroll = "";
|
||
}
|
||
|
||
let traitroll = reliableRoll+aoeroll+burstroll+fragroll+brawlerroll;
|
||
let traitexpression = aoeexpression+brawlerexpression+burstexpression+fragexpression+preciseexpression;
|
||
|
||
console.log("startRollInfWeap", weaponname, domain, "lv:"+ skilllevel, "Ex:"+ expertise,bonus,"tn:"+ tn,tnBonus,"Rel:"+ reliable, "dmg:"+damage, "ammo:"+ammunition, "traits:"+traittext);
|
||
startRoll(whisper+"&{template:weapondiceroll} {{title=@{character_name} using "+weaponname+" }} \
|
||
{{subtitle= Expertise ("+domain+"):"+expertise+" TN("+tn+") "+ammunitionString+"\n ("+skilllevel+"(Skill) +"+bonus+"(Bonus))+ "+reliable+" (Reliable)"+traitexpression+"+1(Base) \n Traits="+traitstring+" }} \
|
||
{{roll=[[("+diceRoll+"+"+traitroll+"+1)"+rollexpression+""+preciseroll+"]] }} {{MOS=[[0]]}} {{doubles=[["+expertise+"]]}} {{reliable=[["+reliable+"]]}} \
|
||
{{six=[[6]]}} {{five=[[5]]}} {{four=[[4]]}} {{three=[[3]]}} {{two=[[2]]}} {{one=[[1]]}} \
|
||
{{changedsix=[[6]]}} {{changedfive=[[5]]}} {{changedfour=[[4]]}} {{changedthree=[[3]]}} {{changedtwo=[[2]]}} {{changedone=[[1]]}} \
|
||
{{damageroll=[["+damage+"]]}} {{firedamage=[["+fireroll+"]]}} {{precice=[["+preciseroll+"+0]]}} {{AP=[["+ap+"]]}} {{traits="+traittext+"}} \
|
||
}}" , (diceroll) => {
|
||
|
||
let total = diceroll.results.roll.result;
|
||
console.log("total:"+total);
|
||
let dice = diceroll.results.roll.dice;
|
||
let MOS = 0;
|
||
let doubles = 0;
|
||
let damageroll = diceroll.results.damageroll.result;
|
||
let firedamage = diceroll.results.firedamage.result;
|
||
let precicerolldice = diceroll.results.precice.result;
|
||
|
||
console.log("firedamage:"+firedamage);
|
||
console.log("damageroll:"+damageroll);
|
||
console.log("precicerolldice:"+precicerolldice);
|
||
|
||
const total6s = dice.filter(d => d === 6).length;
|
||
const total5s = dice.filter(d => d === 5).length;
|
||
const total4s = dice.filter(d => d === 4).length;
|
||
const total3s = dice.filter(d => d === 3).length;
|
||
const total2s = dice.filter(d => d === 2).length;
|
||
const total1s = dice.filter(d => d === 1).length;
|
||
|
||
|
||
const targetArray = [0,total1s,total2s,total3s,total4s,total5s,total6s];
|
||
const reliableArray = [reliable,0,0,0,0,0,0];//records reliable dice
|
||
console.log(targetArray,total);
|
||
let tempArray = targetArray;
|
||
|
||
//remove x reliable dice
|
||
//if reliable is greater than 1, remove x lowest
|
||
if (reliableArray[0] > 0) {
|
||
console.log("reliable is greater than 1");
|
||
while (reliableArray[0] > 0) {
|
||
for (i=1;i<7;i++) {
|
||
if (tempArray[i] > 0) {
|
||
tempArray[i]--;
|
||
reliableArray[i]--;
|
||
reliableArray[0]--;
|
||
i = 7;
|
||
};
|
||
};
|
||
};
|
||
};
|
||
|
||
//if reliable is less than 1, remove x highest
|
||
if (reliableArray[0] < 0) {
|
||
console.log("reliable is less than 1");
|
||
while (reliableArray[0] < 0) {
|
||
for (i=6;i>0;i--) {
|
||
if (tempArray[i] > 0) {
|
||
tempArray[i]--;
|
||
reliableArray[i]--;
|
||
reliableArray[0]++;
|
||
i = 0;
|
||
};
|
||
};
|
||
};
|
||
};
|
||
//calculate total
|
||
//if (skilllevel + bonus) is >0 find highest number
|
||
if ((skilllevel + bonus) > 0) {
|
||
for (i=6;i>0;i--) {
|
||
if (tempArray[i] > 0) {
|
||
console.log("calculate high total :"+i);
|
||
total = i;
|
||
i = 0;
|
||
};
|
||
};
|
||
};
|
||
//if (skilllevel + bonus) is <1 find lowest number
|
||
if ((skilllevel + bonus) < 1) {
|
||
for (i=1;i<7;i++) {
|
||
if (tempArray[i] > 0) {
|
||
console.log("calculate low total :"+i);
|
||
total = i;
|
||
i = 7;
|
||
};
|
||
};
|
||
};
|
||
tempArray[total]--;//take out the total from the array
|
||
if (total < tn) { //tn is bigger, calculate MOF
|
||
} else { //tn is smaller, calculate MOS
|
||
for (i=tn;i<=total;i++) {
|
||
MOS = MOS + tempArray[i];
|
||
};
|
||
};
|
||
if (expertise > 1) {
|
||
for (i=1;i<tn;i++) {
|
||
if (tempArray[i] > 1){
|
||
tempArray[i] = tempArray[i] - 2;
|
||
doubles = i;
|
||
total++;
|
||
i = tn;
|
||
|
||
console.log("doubles:"+doubles+" added " + tempArray);
|
||
};
|
||
};
|
||
};
|
||
total = total + MOS + precicerolldice;//precise is only in optimalrange
|
||
MOS = total - tn;
|
||
console.log("temp:"+tempArray,"reliable+:"+reliableArray);
|
||
|
||
finishRoll(diceroll.rollId, {
|
||
roll: total,
|
||
MOS: MOS,
|
||
six: total6s,
|
||
five: total5s,
|
||
four: total4s,
|
||
three: total3s,
|
||
two: total2s,
|
||
one: total1s,
|
||
changedsix: reliableArray[6],
|
||
changedfive: reliableArray[5],
|
||
changedfour: reliableArray[4],
|
||
changedthree: reliableArray[3],
|
||
changedtwo: reliableArray[2],
|
||
changedone: reliableArray[1],
|
||
doubles: doubles,
|
||
damageroll: damageroll,
|
||
firedamage: firedamage
|
||
});
|
||
//Option: multiple rolls for AoE??
|
||
});
|
||
};
|
||
|
||
|
||
//function that takes in arrays of names, dicepool, tn and reliable and outputs the sums of each
|
||
//names[] is an array [skillname,domain]
|
||
//expertise is a number
|
||
//dicepool[] is an array [skilllevel,bonusdice....] as values
|
||
//tn[] is an array [tn,tnbonus....] as values
|
||
//reliable[] is an array [reliable,reliablebonus....] as values
|
||
//damage is a number
|
||
//ammo is an array [ammo,ammomax] as values
|
||
//traits is an array [mode,,selector1,selector2,selector3,mode check] as number, string, string, string, number
|
||
const rollArrayGearWeapon = (whisper = "" ,names,expertise,dice,tnArray,reliabledice,damage= 0 ,ammunition = [0,0],traits = [1,"","","",0], ...extra) => {
|
||
console.log("rollArrayGearWeapon");
|
||
console.log(whisper,names,expertise,dice,tnArray,reliabledice,damage,ammunition,traits, ...extra)
|
||
console.log(" names"+names," expertise"+expertise," dice"+dice," tnArray"+tnArray," reliabledice"+reliabledice," damage"+damage," traits"+traits," ammunition"+ammunition);
|
||
let weaponname = names[0];
|
||
let skilllevel = parseInt(dice[0]);
|
||
let domain = names[1];
|
||
let gearTNname = parseInt(names[2]);
|
||
let tn = parseInt(tnArray[0]);
|
||
let rollexpression = "d6kl1";
|
||
let traitstring = traits[1];
|
||
let traitcalcs = traits[1];
|
||
let optimalquestion = "?{Attacking targets in optimal range|Yes,1|No,0}";
|
||
let optimalrequired = 0;
|
||
let optimalroll = "";
|
||
let traittext = "";
|
||
let reroll = 0;
|
||
|
||
domain = findDomainUpper(domain);
|
||
console.log("gearTNname:"+gearTNname);
|
||
if (gearTNname == 1){
|
||
gearTNname = "Gunnery";
|
||
} else if (gearTNname == 2){
|
||
gearTNname = "Pilot";
|
||
} else if (gearTNname == 3){
|
||
gearTNname = "Electronic Warfare";
|
||
}
|
||
console.log("gearTNname:"+gearTNname);
|
||
let ammunitionString = "";
|
||
let currentAmmunition = 0;
|
||
if (ammunition[0]==0) {
|
||
ammunitionString = "";
|
||
} else {
|
||
ammunitionString = "Ammo:("+ammunition[0]+"/"+ammunition[1]+")";
|
||
currentAmmunition = (ammunition[0]-1);
|
||
|
||
}
|
||
|
||
//'mode'
|
||
console.log("mode:"+traits[0],"traits:"+traits[1],"selector2:"+traits[2],"selector3:"+traits[3],"mode check:"+traits[4]);
|
||
if (traits[0] == 2 && traits[4] == 1) {
|
||
console.log("mode2:"+traits[2]);
|
||
traitstring = traitstring.concat(", Mode(",removeLastComma(traits[2]),")") ;
|
||
traitcalcs = traitcalcs.concat(", ",removeLastComma(traits[2])) ;
|
||
} else if (traits[0] == 3 && traits[4] == 1){
|
||
console.log("mode3:"+traits[3]);
|
||
traitstring = traitstring.concat(", Mode(",removeLastComma(traits[3]),")") ;
|
||
traitcalcs = traitcalcs.concat(", ",removeLastComma(traits[3])) ;
|
||
}
|
||
traitstring = removeLastComma(traitstring);
|
||
console.log("traitstring:"+traitstring);
|
||
console.log("traitcalcs:"+traitcalcs);
|
||
|
||
//Trait calculations
|
||
//blast is needed in other calcs, so done first
|
||
let blastindex = traitcalcs.indexOf("Blast");//'blast', calculate cover from primary target
|
||
let blast = 0;
|
||
if (blastindex >= 0) {
|
||
blast = 1;
|
||
traittext = traittext.concat("Blast: Calculate cover from primary target\n") ;
|
||
} else {
|
||
blast = 0;
|
||
}
|
||
let advancedindex = traitcalcs.indexOf("Advanced");//'advanced', cannot pickup and used
|
||
let advanced = 0;
|
||
if (advancedindex >= 0) {
|
||
advanced = 1;
|
||
traittext = traittext.concat("Advanced: This weapon but must be connected to a power source, usually the vehicle’s engine. If not connected it cannot be fired. This connection takes 1 hour of time working on the vehicle and is not something that can be done in combat.\n") ;
|
||
} else {
|
||
advanced = 0;
|
||
}
|
||
|
||
let aoeindex = traitcalcs.indexOf("AoE");//'aoe', remind to roll for secondary targets at -1d6, check blast
|
||
let aoe = 0;
|
||
let aoequestion = "";
|
||
let aoeexpression = "";
|
||
let aoeroll = "";
|
||
let aoetargetquestion = "";
|
||
if (aoeindex >= 0) {
|
||
aoeindex += 4;
|
||
aoe = parseInt(traitcalcs.substring(aoeindex));
|
||
console.log("aoe:"+aoe);
|
||
aoequestion = "?{AoE("+aoe+"m) Primary Target|Yes,0|No,-1}";
|
||
aoetargetquestion = "?{AoE("+aoe+"m) Additional Secondary Targets|0}";
|
||
aoeexpression = "+("+aoequestion+")(AoE) ";
|
||
aoeroll = "+"+aoequestion;
|
||
if (blast == 1){
|
||
traittext = traittext.concat("AoE:"+aoe+" Hits all targets within "+aoe+"m/ "+Math.floor(aoe/5)+"in. Roll secondary targets individually. Calculate cover from target's perspective.\n") ;
|
||
} else {
|
||
traittext = traittext.concat("AoE:"+aoe+" Hits all targets within "+aoe+"m/ "+Math.floor(aoe/5)+"in. Roll secondary targets individually. Calculate cover from firer's perspective. Targets in full medium or heavy cover are not hit.\n") ;
|
||
|
||
}
|
||
} else {
|
||
aoe = 0;
|
||
aoequestion = "";
|
||
}
|
||
|
||
let apindex = traitcalcs.indexOf("AP");//'ap', may choose to apply MOS as damage instead of normal damage calculation, min 1
|
||
let ap = 0;
|
||
if (apindex >= 0) {
|
||
apindex += 3;
|
||
ap =parseInt(traitcalcs.substring(apindex));
|
||
traittext = traittext.concat("AP:"+ap+" May choose to apply MOS up to "+ap+" as damage instead of normal damage calculation, min 1\n") ;
|
||
} else {
|
||
ap = 0;
|
||
}
|
||
|
||
let apexindex = traitcalcs.indexOf("Apex");//'apex', increase damage by 1
|
||
let apex = 0;
|
||
let apexroll = "";
|
||
if (apexindex >= 0) {
|
||
apex = 1;
|
||
apexroll = "+1";
|
||
} else {
|
||
apex = 0;
|
||
}
|
||
//'attachment', not used
|
||
//'auto', not used
|
||
//'backup', not used
|
||
//'bomb', TO BE IMPLEMENTED LATER
|
||
|
||
let brawlerindex = traitcalcs.indexOf("Brawler");//'brawler', add Xd6, stacks with gear trait
|
||
let brawler = 0;
|
||
let brawlerexpression = "";
|
||
let brawlerroll = "";
|
||
if (brawlerindex >= 0) {
|
||
brawlerindex += 8;
|
||
brawler =parseInt(traitcalcs.substring(brawlerindex));
|
||
brawlerexpression = "+ "+brawler+"(Brawler) ";
|
||
brawlerroll = "+"+brawler;
|
||
traittext = traittext.concat("Brawler "+brawler+": adds "+brawler+"d6 to melee attack rolls. If this trait is on a vehicle or creature, it gains "+brawler+"d6 to all melee attack and defense rolls. Multiple instances of this rule stack.\n") ;
|
||
} else {
|
||
brawler = 0;
|
||
}
|
||
|
||
let burstindex = traitcalcs.indexOf("Burst");//'burst', adds xd6 or x-1d6, but get second attack roll
|
||
let burst = 0;
|
||
let burstquestion = "";
|
||
let burstexpression = "";
|
||
let burstroll = "";
|
||
let bursttargetquestion = "";
|
||
if (burstindex >= 0) {
|
||
burstindex += 6;
|
||
burst =parseInt(traitcalcs.substring(burstindex));
|
||
burstquestion = "?{Burst("+burst+") Attacking|Only one target,0|Two Targets ,1|Multi-Target Tracking,"+burst+"}";
|
||
burstexpression = "+ ("+burst+"-"+burstquestion+")(Burst) ";
|
||
burstroll = "+"+burst+"-"+burstquestion;
|
||
bursttargetquestion = burstquestion;
|
||
} else {
|
||
burst = 0;
|
||
}
|
||
//brace
|
||
let braceindex = traitcalcs.indexOf("Brace");//'brace', free aim if Stationary, Dug in, or Braced
|
||
let brace = 0;
|
||
let bracequestion = "";
|
||
let braceexpression = "";
|
||
let braceroll = "";
|
||
if (braceindex >= 0) {
|
||
brace = 1;
|
||
traittext = traittext.concat("Brace: Free aim if Stationary, Dug in, or Braced\n") ;
|
||
} else {
|
||
brace = 0;
|
||
}
|
||
|
||
let corrosionindex = traitcalcs.indexOf("Corrosion");//'corrosion', targets gain corrosion condition, take 1 damage at end of turn
|
||
let corrosion = 0;
|
||
if (corrosionindex >= 0) {
|
||
corrosion = 1;
|
||
traittext = traittext.concat("Corrosion: Target gains Corrosion condition and takes 1 damage at end of each turn until removed\n") ;
|
||
} else {
|
||
corrosion = 0;
|
||
}
|
||
|
||
let demoindex = traitcalcs.indexOf("Demo");//'demo', can do x damage to buildings instead of normal damage
|
||
let demo = 0;
|
||
if (demoindex >= 0) {
|
||
demoindex += 5;
|
||
demo =parseInt(traitcalcs.substring(demoindex));
|
||
traittext = traittext.concat("Demo:"+demo+" Can do "+demo+" damage to buildings instead of normal damage\n") ;
|
||
} else {
|
||
demo = 0;
|
||
demoquestion = "";
|
||
}
|
||
|
||
let fireindex = traitcalcs.indexOf("Fire");//'fire', The first damage result this weapon deals is either Burned or On Fire. In addition, if the attack hit, roll Xd6 after the attack is resolved. For each 4+ the target sustains 1 additional damage.
|
||
let fire = 0;
|
||
let fireroll = "-1";
|
||
if (fireindex >= 0) {
|
||
fireindex += 5;
|
||
console.log("fireindex:"+traitcalcs.charAt(fireindex));
|
||
fire =parseInt(traitcalcs.substring(fireindex));
|
||
console.log("fire:"+fire);
|
||
fireroll = fire+"d6>4";
|
||
traittext = traittext.concat("Fire:"+fire+" First damage result is either Burned or On Fire. Deals additional damage on hit.\n") ;
|
||
} else {
|
||
fire = 0;
|
||
}
|
||
|
||
let flakindex = traitcalcs.indexOf("Flak");//'flak', Gain +2d6 when attacking airborne targets such as Aircraft or VTOLs.
|
||
let flakquestion = "";
|
||
let flakexpression = "";
|
||
let flakroll = "";
|
||
if (flakindex >= 0) {
|
||
flakquestion = "?{Flak: Attacking airborne targets|No,0|Yes,2}";
|
||
flakexpression = "+"+flakquestion+"(Flack)";
|
||
flak = 1;
|
||
flakroll = "+"+flakquestion;
|
||
} else {
|
||
flak = 0;
|
||
flakquestion = "";
|
||
}
|
||
|
||
//'forearm', not used
|
||
let fragindex = traitcalcs.indexOf("Frag");//'frag', The weapon gains +2d6 when attacking targets in optimal range. This weapon gains an additional +1d6 when attacking Swarms can deal full damage to Swarms.
|
||
let fragquestion = "";
|
||
let fragquestion1 = "";
|
||
let fragquestion2 = "";
|
||
let fragexpression = "";
|
||
let fragroll = "";
|
||
if (fragindex >= 0) {
|
||
frag = 1;
|
||
fragquestion1 = "("+optimalquestion+"*2)";
|
||
optimalrequired = 1;
|
||
fragquestion2 = "?{Frag: Attacking Swarms|No,0|Yes,1}";
|
||
fragquestion = fragquestion1+"+"+fragquestion2;
|
||
fragexpression = "("+fragquestion+"(Frag)) ";
|
||
fragroll = "+"+fragquestion1+"+"+fragquestion2;
|
||
traittext = traittext.concat("Frag: Deals full damage when attacking Swarms\n") ;
|
||
} else {
|
||
frag = 0;
|
||
}
|
||
|
||
let guidedindex = traitcalcs.indexOf("Guided");//'guided', +1d6 with TD
|
||
let guided = 0;
|
||
let guidedquestion = "";
|
||
let guidedexpression = "";
|
||
let guidedroll = "";
|
||
if (guidedindex >= 0) {
|
||
guided = 1;
|
||
guidedquestion = "?{Guided: Using Target Designator|No,0|Yes,1}";
|
||
guidedroll = "+"+guidedquestion;
|
||
} else {
|
||
guided = 0;
|
||
}
|
||
|
||
let haywireindex = traitcalcs.indexOf("Haywire");//'haywire', targets gain haywire condition, take -1 gu pi ew
|
||
let haywire = 0;
|
||
if (haywireindex >= 0) {
|
||
haywire = 1;
|
||
traittext = traittext.concat("Haywire: Target gains Haywire condition and takes -1 GU PI EW\n") ;
|
||
} else {
|
||
haywire = 0;
|
||
}
|
||
|
||
// 'limited_mode', not used
|
||
|
||
|
||
let linkindex = traitcalcs.indexOf("Link");//'link', +1d6, can be unlinked to become 2 weapons
|
||
let link = 0;
|
||
let linkexpression = "";
|
||
let linkroll = "";
|
||
if (linkindex >= 0) {
|
||
link = 1;
|
||
linkexpression = "+1(Link) ";
|
||
linkroll = "+1";
|
||
} else {
|
||
link = 0;
|
||
}
|
||
|
||
let preciseindex = traitcalcs.indexOf("Precise");//'precise', improves MOS/MOF by 1 when in optimal range
|
||
let precisequestion = "";
|
||
let preciseexpression = "";
|
||
let preciseroll = "";
|
||
if (preciseindex >= 0) {
|
||
precise = 1;
|
||
precisequestion = optimalquestion;
|
||
optimalrequired = 1;
|
||
preciseexpression = "+ Precise:"+precisequestion;
|
||
preciseroll = "+"+precisequestion;
|
||
} else {
|
||
precise = 0;
|
||
}
|
||
|
||
|
||
//'reach', not used
|
||
//'silent', not used
|
||
let silentindex = traitcalcs.indexOf("Silent");//'silent', no sound, no damage, no smoke
|
||
let silent = 0;
|
||
if (silentindex >= 0) {
|
||
silent = 1;
|
||
traittext = traittext.concat("Silent: Suppressed noise\n") ;
|
||
} else {
|
||
silent = 0;
|
||
}
|
||
|
||
let smokeindex = traitcalcs.indexOf("Smoke");//'smoke', creates smoke
|
||
let smoke = 0;
|
||
if (smokeindex >= 0) {
|
||
smoke = 1;
|
||
traittext = traittext.concat("Smoke: Creates Smoke in AoE"+aoe+"m, gives +1d6 to defense in area\n") ;
|
||
} else {
|
||
smoke = 0;
|
||
}
|
||
|
||
let sprayindex = traitcalcs.indexOf("Spray");//'spray', ignores cover, cannot aim
|
||
let spray = 0;
|
||
if (sprayindex >= 0) {
|
||
spray = 1;
|
||
traittext = traittext.concat("Spray: Ignores cover, cannot aim\n") ;
|
||
} else {
|
||
spray = 0;
|
||
}
|
||
let salvoindex = traitcalcs.indexOf("Salvo");//'salvo'
|
||
let salvoexpression = "";
|
||
let salvoquestion = "";
|
||
let salvoroll = "";
|
||
let salvo = 0;
|
||
if (salvoindex >= 0) {
|
||
salvo = 1;
|
||
salvoquestion = "?{Rocket Salvo: Use extra ammo?\nAmmo Remaining "+currentAmmunition+"|0}";
|
||
salvoexpression = "+"+salvoquestion+"(Salvo)";
|
||
salvoroll = "+"+salvoquestion;
|
||
traittext = traittext.concat("Salvo: When attacking with this weapon, the user may increase the ammo used on the attack by 1 to \
|
||
add +1d6 to the attack roll against a single target. This may be done multiple times, but can only be used once per target.\n") ;
|
||
} else {
|
||
salvo = 0;
|
||
}
|
||
|
||
//'see_desc' not used
|
||
let seedescindex = traitcalcs.indexOf("See desc");//'see_desc', not used\
|
||
console.log("seedescindex:"+seedescindex);
|
||
let seedesc = 0;
|
||
if (seedescindex >= 0) {
|
||
seedesc = 1;
|
||
traittext = traittext.concat("See Description for more details.\n") ;
|
||
} else {
|
||
seedesc = 0;
|
||
}
|
||
// end of gear traits calc
|
||
|
||
|
||
|
||
//calculate bonus dice as all dice[] exept the first
|
||
let bonus = 0;
|
||
for (i=1;i<dice.length;i++) {
|
||
bonus = bonus + dice[i];
|
||
};
|
||
|
||
//calculate tn bonus as all tn[] exept the first
|
||
let tnBonus = 0;
|
||
for (i=1;i<tnArray.length;i++) {
|
||
tnBonus = tnBonus + tnArray[i];
|
||
console.log("tnBonus:",tnBonus);
|
||
};
|
||
|
||
tn = tn - (tnBonus);//add tn bonus to tn
|
||
console.log("tn2:",tn,"tnBonus:",tnBonus);
|
||
// reliable is the sum of reliabledice[]
|
||
let reliable = 0;
|
||
for (i=0;i<reliabledice.length;i++) {
|
||
reliable = reliable + reliabledice[i];
|
||
};
|
||
|
||
|
||
let reliableRoll = Math.abs(reliable);//need to make positive
|
||
let diceRoll = Math.abs(skilllevel + bonus);
|
||
|
||
if (expertise == 3){ // expertise 3 tn bonus
|
||
tn--;
|
||
console.log("tn reduced due to Expertise 3");
|
||
};
|
||
|
||
if (tn > 6) { //tn over 6 is converted to bonus dice at 1:2
|
||
bonus = bonus - Math.floor((tn - 6)/2);
|
||
tn = 6;
|
||
console.log("tn reduced due to tn over 6. bonus:", bonus, tn);
|
||
};
|
||
if (tn < 2) { //tn under 2 is converted to bonus dice at 1:2
|
||
bonus = bonus + Math.floor((2 - tn)/2);
|
||
tn = 2;
|
||
console.log("tn increased due to tn under 2. bonus:", bonus, tn);
|
||
|
||
};
|
||
|
||
if (skilllevel == 0) {
|
||
bonus--;
|
||
console.log("bonus reduced due to skill level 0",bonus,skilllevel);
|
||
};
|
||
|
||
if (skilllevel + bonus < 0) {// work out if dice pool is keeping or dropping dice
|
||
console.log("skilllevel + bonus < 1",skilllevel,bonus);
|
||
rollexpression = "d6kl1s";// d6 keep lowest 1, sort ascending
|
||
} else {
|
||
rollexpression = "d6k1s"; // d6 keep highest 1, sort ascending
|
||
};
|
||
|
||
|
||
|
||
if (optimalrequired == 1) {
|
||
optimalroll = optimalquestion;
|
||
} else {
|
||
optimalroll = "";
|
||
}
|
||
|
||
let traitroll = reliableRoll+aoeroll+burstroll+flakroll+fragroll+guidedroll+linkroll+salvoroll+brawlerroll;
|
||
let traitexpression = aoeexpression+brawlerexpression+burstexpression+flakexpression+fragexpression+linkexpression+salvoexpression+preciseexpression;
|
||
|
||
console.log("startRollGearWeap",weaponname, domain, "lv:"+ skilllevel, "Ex:"+ expertise,bonus,"tn:"+ tn,tnBonus,"Rel:"+ reliable);
|
||
startRoll(whisper+"&{template:weapondiceroll} {{title=@{character_name} using "+weaponname+" }} \
|
||
{{subtitle= Expertise ("+domain+"):"+expertise+" TN("+tn+")"+gearTNname+" "+ammunitionString+"\n ("+skilllevel+"(Skill) +"+bonus+"(Bonus))+ "+reliable+"(Reliable)"+traitexpression+"+1(Base) \n Traits="+traitstring+" }} \
|
||
{{roll=[[("+diceRoll+"+"+traitroll+"+1)"+rollexpression+""+preciseroll+"]] }} {{MOS=[[0]]}} {{doubles=[["+expertise+"]]}} {{reliable=[["+reliable+"]]}} \
|
||
{{six=[[6]]}} {{five=[[5]]}} {{four=[[4]]}} {{three=[[3]]}} {{two=[[2]]}} {{one=[[1]]}} \
|
||
{{changedsix=[[6]]}} {{changedfive=[[5]]}} {{changedfour=[[4]]}} {{changedthree=[[3]]}} {{changedtwo=[[2]]}} {{changedone=[[1]]}} \
|
||
{{damageroll=[["+damage+"+"+apex+"]]}} {{firedamage=[["+fireroll+"]]}} {{precice=[["+preciseroll+"+0]]}} {{AP=[["+ap+"]]}} {{traits="+traittext+"}} \
|
||
}}" , (diceroll) => {
|
||
|
||
let total = diceroll.results.roll.result;
|
||
console.log("total:"+total);
|
||
let dice = diceroll.results.roll.dice;
|
||
let MOS = 0;
|
||
let doubles = 0;
|
||
let damageroll = diceroll.results.damageroll.result;
|
||
let firedamage = diceroll.results.firedamage.result;
|
||
let precicerolldice = diceroll.results.precice.result;
|
||
|
||
console.log("firedamage:"+firedamage);
|
||
console.log("damageroll:"+damageroll);
|
||
console.log("precicerolldice:"+precicerolldice);
|
||
|
||
const total6s = dice.filter(d => d === 6).length;
|
||
const total5s = dice.filter(d => d === 5).length;
|
||
const total4s = dice.filter(d => d === 4).length;
|
||
const total3s = dice.filter(d => d === 3).length;
|
||
const total2s = dice.filter(d => d === 2).length;
|
||
const total1s = dice.filter(d => d === 1).length;
|
||
|
||
|
||
const targetArray = [0,total1s,total2s,total3s,total4s,total5s,total6s];
|
||
const reliableArray = [reliable,0,0,0,0,0,0];//records reliable dice
|
||
console.log(targetArray,total);
|
||
let tempArray = targetArray;
|
||
|
||
//remove x reliable dice
|
||
//if reliable is greater than 1, remove x lowest
|
||
if (reliableArray[0] > 0) {
|
||
console.log("reliable is greater than 1");
|
||
while (reliableArray[0] > 0) {
|
||
for (i=1;i<7;i++) {
|
||
if (tempArray[i] > 0) {
|
||
tempArray[i]--;
|
||
reliableArray[i]--;
|
||
reliableArray[0]--;
|
||
i = 7;
|
||
};
|
||
};
|
||
};
|
||
};
|
||
|
||
//if reliable is less than 1, remove x highest
|
||
if (reliableArray[0] < 0) {
|
||
console.log("reliable is less than 1");
|
||
while (reliableArray[0] < 0) {
|
||
for (i=6;i>0;i--) {
|
||
if (tempArray[i] > 0) {
|
||
tempArray[i]--;
|
||
reliableArray[i]--;
|
||
reliableArray[0]++;
|
||
i = 0;
|
||
};
|
||
};
|
||
};
|
||
};
|
||
//calculate total
|
||
//if (skilllevel + bonus) is >0 find highest number
|
||
if ((skilllevel + bonus) > 0) {
|
||
for (i=6;i>0;i--) {
|
||
if (tempArray[i] > 0) {
|
||
console.log("calculate high total :"+i);
|
||
total = i;
|
||
i = 0;
|
||
};
|
||
};
|
||
};
|
||
//if (skilllevel + bonus) is <1 find lowest number
|
||
if ((skilllevel + bonus) < 1) {
|
||
for (i=1;i<7;i++) {
|
||
if (tempArray[i] > 0) {
|
||
console.log("calculate low total :"+i);
|
||
total = i;
|
||
i = 7;
|
||
};
|
||
};
|
||
};
|
||
tempArray[total]--;//take out the total from the array
|
||
if (total < tn) { //tn is bigger, calculate MOF
|
||
} else { //tn is smaller, calculate MOS
|
||
for (i=tn;i<=total;i++) {
|
||
MOS = MOS + tempArray[i];
|
||
};
|
||
};
|
||
if (expertise > 1) {
|
||
for (i=1;i<tn;i++) {
|
||
if (tempArray[i] > 1){
|
||
tempArray[i] = tempArray[i] - 2;
|
||
doubles = i;
|
||
total++;
|
||
i = tn;
|
||
|
||
console.log("doubles:"+doubles+" added " + tempArray);
|
||
};
|
||
};
|
||
};
|
||
total = total + MOS + precicerolldice;//precise is only in optimalrange
|
||
MOS = total - tn;
|
||
console.log("temp:"+tempArray,"reliable+:"+reliableArray);
|
||
|
||
finishRoll(diceroll.rollId, {
|
||
roll: total,
|
||
MOS: MOS,
|
||
six: total6s,
|
||
five: total5s,
|
||
four: total4s,
|
||
three: total3s,
|
||
two: total2s,
|
||
one: total1s,
|
||
changedsix: reliableArray[6],
|
||
changedfive: reliableArray[5],
|
||
changedfour: reliableArray[4],
|
||
changedthree: reliableArray[3],
|
||
changedtwo: reliableArray[2],
|
||
changedone: reliableArray[1],
|
||
doubles: doubles,
|
||
damageroll: damageroll,
|
||
firedamage: firedamage
|
||
});
|
||
////Option: multiple rolls for AoE??
|
||
});
|
||
};
|
||
|
||
|
||
|
||
// --- Button Functions ---
|
||
//round start button
|
||
on("clicked:round_start", function () { //
|
||
console.log("round start button");
|
||
getAttrs(["whisper","posture","action_points_max"] , (values) => {
|
||
let posture = capitalise(values["posture"]);
|
||
console.log("posture:"+posture);
|
||
setAttrs({
|
||
action_points: values["action_points_max"]
|
||
});
|
||
startRoll(values["whisper"]+"&{template:custom} {{title=@{character_name} Round Start}} {{Posture = "+posture+"}} ", (diceroll) => {
|
||
finishRoll(diceroll.rollId, {
|
||
roll: 0
|
||
});
|
||
});
|
||
});
|
||
});
|
||
//activation start button
|
||
on("clicked:activation_start", function () {
|
||
console.log("activation start button");
|
||
getAttrs(["whisper","posture","action_points_max","action_penalty"] , (values) => {
|
||
let posture = capitalise(values["posture"]);
|
||
let actionPenalty = parseInt(values["action_penalty"]);
|
||
console.log("posture:"+posture);
|
||
startRoll(values["whisper"]+"&{template:custom} {{title=@{character_name} Activation Start}} {{Posture = "+posture+"}} {{Actions Declared = "+actionPenalty+"}}", (diceroll) => {
|
||
finishRoll(diceroll.rollId, {
|
||
roll: 0
|
||
});
|
||
});
|
||
});
|
||
});
|
||
//initiative button
|
||
on("clicked:initiative_start", function () { //
|
||
console.log("initiative button");
|
||
getAttrs(["whisper","initiative"] , (values) => {
|
||
let initiative = parseInt(values["initiative"]);
|
||
console.log("initiative:"+initiative);
|
||
startRoll(values["whisper"]+"&{template:custom} {{@{character_name} Initiative=[["+initiative+" &{tracker}]]}}", (diceroll) => {
|
||
finishRoll(diceroll.rollId, {
|
||
roll: initiative
|
||
});
|
||
});
|
||
});
|
||
});
|
||
on("clicked:damage_roll", function () { //
|
||
console.log("damage button");
|
||
getAttrs(["damage_value","damage_type","whisper"] , (values) => {
|
||
let damage = parseInt(values["damage_value"]);
|
||
console.log("damage_value:"+damage);
|
||
startRoll(values["whisper"]+"&{template:custom} {{title=@{character_name} }} {{damage=[["+damage+"]]}} {{vehicle=[[1d"+(damage+1)+"]]}} {{character=[[1d"+(damage+1)+"]]}} {{char= [[1]]}}", (diceroll) => {
|
||
console.log(diceroll);
|
||
const total = diceroll.results.damage.result;
|
||
let rolledDamageVehicle = diceroll.results.vehicle.result;
|
||
let rolledDamageCharacter = diceroll.results.character.result;
|
||
let damageVehicle = 0;
|
||
let damageCharacter = 0;
|
||
if (damage_type = "vehicle"){
|
||
damageVehicle = rolledDamageVehicle-1;
|
||
damageCharacter = damage - damageVehicle;
|
||
console.log("damageVehicle:"+damageVehicle);
|
||
console.log("damageCharacter:"+damageCharacter);
|
||
}
|
||
if (damage_type = "character"){
|
||
damageCharacter = rolledDamageCharacter-1;
|
||
console.log("damageVehicle:"+damageVehicle);
|
||
console.log("damageCharacter:"+damageCharacter);
|
||
}
|
||
console.log("total:"+total);
|
||
finishRoll(diceroll.rollId, {
|
||
damage: damage,
|
||
vehicle: damageVehicle,
|
||
character: damageCharacter
|
||
|
||
});
|
||
});
|
||
});
|
||
});
|
||
|
||
|
||
/* ======================================================
|
||
BEGIN MULTIVERSAL SHEET WORKER GENERATOR
|
||
======================================================
|
||
Use this script to build sheet workers automatically.
|
||
Place this section in your script block, preferably at the end.
|
||
Fill the two data objects, multistats and multifunctions, with your details.
|
||
VERSION 1.
|
||
READMORE: https://app.roll20.net/forum/permalink/7664925/
|
||
======================================================*/
|
||
|
||
const multistats = {
|
||
damage_total: {rule: 'sum', attributes: ['damage_shell','damage_system']},
|
||
burden_total: {rule: 'sum', attributes: ['personal_equipment_burden_total','weapon_burden_total']},
|
||
skill_total: {rule: 'sum', attributes: ['domain_expertise_athletics','domain_expertise_awareness','domain_expertise_business','domain_expertise_craft',
|
||
'domain_expertise_culture','domain_expertise_electronicwarfare','domain_expertise_electronics','domain_expertise_gunnery','domain_expertise_hardscience',
|
||
'domain_expertise_influence','domain_expertise_institutions','domain_expertise_investigation','domain_expertise_mechanics','domain_expertise_medicine',
|
||
'domain_expertise_melee','domain_expertise_pilot','domain_expertise_showmanship','domain_expertise_socialscience','domain_expertise_survival','domain_expertise_tactics']},
|
||
|
||
//'$infweapon_expertise': {rule: 'pick_from_list', attributes: ['$weapon_domain', 'expertise_athletics','expertise_awareness','expertise_business','expertise_craft',
|
||
// 'expertise_culture','expertise_electronicwarfare','expertise_electronics','expertise_gunnery','expertise_hardscience','expertise_influence','expertise_institutions','expertise_investigation',
|
||
// 'expertise_mechanics','expertise_medicine','expertise_melee','expertise_pilot','expertise_showmanship','expertise_socialscience','expertise_survival','expertise_tactics'], section: 'infweapon'},
|
||
|
||
//'$gear_weapon_ammunition_show':{rule: 'ammo_find', attributes:['$gear_weapon_ammo_max'], section: 'gearweapon'},
|
||
//'$inf_weapon_ammunition_show':{rule: 'ammo_find', attributes:['$inf_weapon_ammo_max'], section: 'infweapon'},
|
||
};
|
||
domains.forEach(domains => {
|
||
multistats[`expertise_${domains}`] = {rule: 'calc_expertise', attributes: [`domain_expertise_${domains}`], values: -1};
|
||
});
|
||
gearSkills.forEach(gearSkills => {
|
||
multistats[`gear_${gearSkills}`] = {rule: 'sum', attributes: [`gear_${gearSkills}_base`,`gear_maintainance_penalty`,`gear_${gearSkills}_bonus`]};
|
||
|
||
});
|
||
|
||
|
||
const multifunctions = {
|
||
sum: (arr) => arr.reduce((total, add) => total + add), // add up any number of attributes
|
||
pick_from_list: (arr) => arr[ arr[0] ], // get the value of an attribute, from a select.
|
||
ammo_find: function(arr) {
|
||
if (arr[0] == 0){
|
||
return 1 ;
|
||
} else {
|
||
return 0;
|
||
}
|
||
},
|
||
|
||
calc_expertise: function(arr) { // calculate expertise based on total skill level
|
||
if (arr[0] < 6){
|
||
return 0;
|
||
} else if (arr[0] < 9) {
|
||
return 1;
|
||
} else if (arr[0] < 13) {
|
||
return 2;
|
||
} else if (arr[0] > 12) {
|
||
return 3;
|
||
} else {
|
||
return 0;}
|
||
},
|
||
|
||
};
|
||
|
||
// ======================================================*/
|
||
// DO NOT EDIT BELOW THIS LINE //
|
||
// ======================================================*/
|
||
const mvlog = (title, text, color = 'green', style='font-size:12px; font-weight:normal;', headerstyle = 'font-size:13px; font-weight:bold;') => {
|
||
let titleStyle = `color:${color}; ${headerstyle} text-decoration:underline;`;
|
||
let textStyle = `color:${color}; ${style}`;
|
||
const output = `%c${title}:%c ${text}`;
|
||
console.log(output,titleStyle,textStyle);
|
||
};
|
||
// can use $ placeholder in attribute names. This converts '$_stat' to 'repeating_section_stat'
|
||
const rep = '$'; //placeholder for repeating_section_
|
||
const makeRepeatingName = (attribute, section) => attribute.startsWith(rep) ? attribute.replace(rep, `repeating_${section}_`) : attribute;
|
||
const makeRepeatingAttributes = (attributes, section) => attributes.map(a => makeRepeatingName(a, section));
|
||
const makeRepeatingID = (a, section, id) => a.replace(`repeating_${section}_`,`repeating_${section}_${id}_`);
|
||
// given array of attributes, find if any have repeating_ and return the section name
|
||
// section name will be 2nd element of name split on "_"
|
||
const findSection = (arr) => {
|
||
const s = arr.find(a => a.includes('repeating_'));
|
||
const section = (s ? s.split('_')[1] : null);
|
||
return section;
|
||
};
|
||
|
||
// check if attribute is one where a repeating section attribute depends on attributes both inside and outside the repeating section
|
||
const isMixed = (attributes, destination) => {
|
||
const some = someRepeating(attributes);
|
||
const all = allRepeating(attributes);
|
||
const repeatingdestination = destination.startsWith('repeating_');
|
||
return (some && !all && repeatingdestination);
|
||
};
|
||
const allRepeating = attributes => attributes.every(r => r.startsWith('repeating_'));
|
||
const someRepeating = attributes => attributes.some(r => r.startsWith('repeating_'));
|
||
|
||
const defaultDataType = 'array'; // might change this to object
|
||
const getData = (values, data = 'a', isnumbers = 0) => {
|
||
// only a is functional right now, so this function is redundant.
|
||
switch(data.charAt(0).toLowerCase()) {
|
||
case 'o': return values;
|
||
case 'a': return Object.values(values).map(i => 1 === isnumbers ? parseInt(i) ||0 : (0 === isnumbers ? +i || 0 : i));
|
||
case 'v': return Object.values(values)[0];
|
||
}
|
||
};
|
||
|
||
const processMax = (destination, result, max) => {
|
||
const settings = {};
|
||
if(max === 'current' || max === 'both') settings[destination] = result;
|
||
if(max === 'max' || max === 'both') settings[`${destination}_max`] = result;
|
||
return settings;
|
||
};
|
||
|
||
const isFunction = value => value && (Object.prototype.toString.call(value) === '[object Function]' || 'function' === typeof value || value instanceof Function);
|
||
|
||
const processFunction = (destination, values, section) => {
|
||
const rule = multistats[destination].rule;
|
||
const func = isFunction(rule) ? rule: multifunctions[rule]; // need to test if this works for arrow functions
|
||
const data = multistats[destination].data || defaultDataType;
|
||
const v = getData(values, data);
|
||
const modifier = multistats[destination].modifier || null;
|
||
const result = func(v, modifier);
|
||
mvlog(`${makeRepeatingName(destination,section).toUpperCase()} MULTIFUNCTION`, `RULE: ${rule}; VALUES: ${JSON.stringify(values)}; RESULT: ${result}`);
|
||
return result;
|
||
};
|
||
|
||
Object.keys(multistats).forEach(destination => {
|
||
// get the section name if it exists. It is needed for mixed workers
|
||
const attributes_base = multistats[destination].attributes;
|
||
const section = multistats[destination].section || findSection(attributes_base) || null;
|
||
const attributes = makeRepeatingAttributes(attributes_base, section);
|
||
const realdestination = makeRepeatingName(destination, section); // needed in case of $ in destination
|
||
mvlog(`MULTIVERSAL- ${realdestination}`,`${attributes.join(', ')}`,'green');
|
||
if (isMixed(attributes, realdestination)) {
|
||
const changes = attributes.reduce((change, step) => `${change} change:${step.replace('repeating_' + section + '_','repeating_' +section + ':')}`,
|
||
`remove:repeating_${section} sheet:opened`);
|
||
on(changes.toLowerCase(), function (event) {
|
||
const trigger = event.sourceAttribute || '';
|
||
const triggerRow = (trigger && trigger.includes('_') && trigger.length >2) ? trigger.split('_')[2] : '';
|
||
// if triggerRow, only update initial row
|
||
getSectionIDs(`repeating_${section}`, function (ids) {
|
||
const sectionAtts = attributes.filter(f => f.startsWith(`repeating_${section}`));
|
||
const fixedAtts = attributes.filter(f => !f.startsWith(`repeating_${section}`));
|
||
if (triggerRow) ids = [triggerRow];
|
||
const fieldNames = ids.reduce( (m,id) => [...m, ...(sectionAtts.map(field => makeRepeatingID(field,section,id) ))],[]);
|
||
getAttrs([...fieldNames,...fixedAtts], function (values) {
|
||
let settings = {};
|
||
const max = multistats[destination].max || 'current';
|
||
const fixedValues = fixedAtts.reduce((obj, a) => {
|
||
obj[a] = values[a];
|
||
return obj;
|
||
}, {});
|
||
ids.forEach(id => {
|
||
// first get all relevant attributes for this row of the section
|
||
const sectionValues = sectionAtts.reduce((obj, a) => {
|
||
const att = makeRepeatingID(a, section, id);
|
||
obj[att] = values[att];
|
||
return obj;}, {});
|
||
// now apply the formula for this row and add to settings
|
||
const combinedValues = {...sectionValues,...fixedValues};
|
||
const result = processFunction(destination,combinedValues, section);
|
||
const tempDestination = makeRepeatingID(realdestination,section,id);
|
||
const tempSettings = processMax(tempDestination, result, max);
|
||
settings = Object.assign({}, settings, tempSettings);
|
||
});
|
||
setAttrs(settings);
|
||
});
|
||
});
|
||
});
|
||
} else {
|
||
const changes = attributes.reduce((change, step) => `${change} change:${step.replace('repeating_' + section + '_','repeating_' +section + ':')}`,
|
||
`${someRepeating([...attributes,realdestination]) ? '' : 'sheet:opened '}${section ? `remove:repeating_${section}` : ''}`);
|
||
on(changes.toLowerCase(), function () {
|
||
getAttrs(attributes, function (values) {
|
||
const result = processFunction(destination,values, section);
|
||
const max = multistats[destination].max || 'current';
|
||
const settings = processMax(realdestination, result, max);
|
||
setAttrs(settings);
|
||
});
|
||
});
|
||
}
|
||
});
|
||
/* ===== Repearing Sum PARAMETERS ==========
|
||
destinations = the name of the attribute that stores the total quantity
|
||
section = name of repeating fieldset, without the repeating_
|
||
fields = the name of the attribute field to be summed
|
||
can be a single attribute: 'weight'
|
||
or an array of attributes: ['weight','number','equipped']
|
||
extras: everything after the fields parameter is optional and can be in any order:
|
||
'ceil'
|
||
'round'
|
||
'floor'
|
||
'ceil: 3'
|
||
'round: -2'
|
||
'round: equipment_weight, equipment_cost|2
|
||
you want to round the final total.
|
||
If you supply a field name, it will round just that total. You can supply multiple fields, separated by commas.
|
||
If you supply a number, it will round to that many digits.
|
||
round:1 rounds to tenths; floor:-3 rounds down to thousands, so 3567 would be shown as 3000.
|
||
If you dont supply a number, it assumes 0, and returns an integer (whole numbers).
|
||
IMPORTANT: if you list ANY field, then ALL fields to be rounded must be specifically stated.
|
||
Don't do this: floor:equipment_weight|2, round,
|
||
|
||
'multiplier: 2'
|
||
'multiplier:equipment_weight|2'
|
||
'multiplier: equipment_weight|2, equipment_cost|3'
|
||
Multiplier will apply a multiple to the final total. You can multiple all fields, or specific fields.
|
||
It doesnt apply to attributes being added from outside the repeating section.
|
||
Multiplier can be negative, representing a subtraction.
|
||
|
||
'an_attribute'
|
||
'an_attribute:-1'
|
||
'an_attribute:0.5'
|
||
'an_attribute:equipment_cost'
|
||
'an_attribute:equipment_cost|-1'
|
||
'an_attribute:equipment_cost|-1,equipment_weight|2'
|
||
You can also list attributes from outside the repeating section. Don't try to add attributes from other repeating sections.
|
||
by default, the listed attribute will be added to all fields.
|
||
You can list one or more fields, and it will only be added to those fields.
|
||
You can list a number: the attribute will be multiplied by that amount. So -1 subtracts the attribute.
|
||
*/
|
||
const repeatingSum = (destinations, section, fields, ...extras) => {
|
||
const isNumber = value => parseFloat(value).toString() === value.toString();
|
||
const isOption = value => [...checks.valid, ...checks.roundtypes].includes(value);
|
||
const isRounding = value => checks.roundtypes.includes(value);
|
||
const isFraction = value => value.includes('/') && !(value.includes(',') || value.includes('|'));
|
||
const getTrimmed = value => value.toLowerCase().replace(/\s/g, '');
|
||
const getRounded = (type, value, pow) => (Math[type](value * Math.pow(10, pow)) / Math.pow(10, pow)).toFixed(Math.max(0, pow));
|
||
const getFraction = (value) => /*{ console.log(`value: ${value}`); */
|
||
parseInt(value.split('/')[0]) / parseInt(value.split('/')[1]);
|
||
const getMultiplier = (value, rounding = 1) => 'undefined' === typeof value ? (rounding ? 0: 1) : (
|
||
isNumber(value) ? parseFloat(value) : (isFraction(value) ? getFraction(value) : value));
|
||
if (!Array.isArray(destinations)) destinations = [getTrimmed(destinations)];
|
||
if (!Array.isArray(fields)) fields = [getTrimmed(fields)];
|
||
const fields_trimmed = fields.map(field => getTrimmed(field).split(':')[0]);
|
||
const subfields = fields_trimmed.slice(0,destinations.length);
|
||
const checks = { valid: ['multiplier'], roundtypes: ['ceil', 'round', 'floor'] };
|
||
let properties = {attributes: {}, options: {}};
|
||
extras.forEach(extra => {
|
||
const [prop, v] = getTrimmed(extra).split(':');
|
||
const multiplier_maybe = getMultiplier(v, isRounding(prop));
|
||
const obj = isNumber(multiplier_maybe) ? subfields.reduce((obj,field) => {
|
||
obj[field] = multiplier_maybe;
|
||
return obj;
|
||
},{}) : multiplier_maybe.split(',').reduce((obj, item) => {
|
||
const [stat, value] = item.split('|');
|
||
const multiplier = getMultiplier(value, isRounding(prop));
|
||
obj[stat] = multiplier;
|
||
return obj;
|
||
}, {});
|
||
properties[isOption(prop) ? 'options' : 'attributes'][prop] = obj;
|
||
});
|
||
getSectionIDs(`repeating_${section}`, idArray => {
|
||
const attrArray = idArray.reduce((m, id) => [...m, ...(fields_trimmed.map(field => `repeating_${section}_${id}_${field}`))], []);
|
||
getAttrs([...attrArray, ...Object.keys(properties.attributes)], v => {
|
||
const getValue = (section, id, field) => v[`repeating_${section}_${id}_${field}`] === 'on' ? 1 : parseFloat(v[`repeating_${section}_${id}_${field}`]) || 0;
|
||
const commonMultipliers = (fields.length <= destinations.length) ? [] : fields.splice(destinations.length, fields.length - destinations.length);
|
||
const output = destinations.reduce((obj, destination, index) => {
|
||
let sumTotal = idArray.reduce((total, id) => total + getValue(section, id, fields_trimmed[index]) * commonMultipliers.reduce((subtotal, mult) => subtotal * ((!mult.includes(':\
|
||
') || mult.split(':')[1].split(',').includes(fields_trimmed[index])) ? getValue(section, id, mult.split(':')[0]) : 1), 1), 0);
|
||
sumTotal *= (properties.options.hasOwnProperty('multiplier') && Object.keys(properties.options.multiplier).includes(fields_trimmed[index])) ? (parseFloat(properties.options.multiplier[fields_trimmed[index]]) || 0): 1;
|
||
sumTotal += Object.entries(properties.attributes).reduce((total, [key, value]) =>
|
||
total += (value.hasOwnProperty(fields_trimmed[index]) ? parseFloat(v[key] || 0) * (parseFloat(value[fields_trimmed[index]]) || 1): 0) , 0);
|
||
checks.roundtypes.forEach(type => {
|
||
if (properties.options.hasOwnProperty(type)) {
|
||
if (Object.keys(properties.options[type]).includes(fields_trimmed[index])) {
|
||
sumTotal = getRounded(type, sumTotal, (+properties.options[type][fields_trimmed[index]] || 0));
|
||
} else if (properties.options[type] == '0' || !isNaN(+properties.options[type] || 'x') ) {
|
||
sumTotal = getRounded(type, sumTotal, +properties.options[type]);
|
||
}
|
||
}
|
||
});
|
||
obj[destination] = sumTotal;
|
||
return obj;
|
||
}, {});
|
||
setAttrs(output);
|
||
});
|
||
});
|
||
};
|
||
|
||
|
||
//data
|
||
|
||
</script> |