mirror of
https://github.com/Nighthawk42/roll20-character-sheets.git
synced 2026-08-30 03:40:32 +00:00
346 lines
14 KiB
Plaintext
346 lines
14 KiB
Plaintext
mixin subtitle(key)
|
|
h3
|
|
span(data-i18n=key)
|
|
|
|
mixin headerEntry(name)
|
|
label(for=`attr_pc_ship_${name}`)
|
|
span(data-i18n=`pc_ship_${name}`)
|
|
input(type='text' name=`attr_pc_ship_${name}`)
|
|
|
|
mixin abilityBox(name, ...abilities)
|
|
+subtitle(`pc_ship_${name}`)
|
|
.sheet-scores.sheet-flex-container
|
|
each ability in abilities
|
|
+ability(ability, name)
|
|
span(data-i18n='pc_ship_modifiers')
|
|
|
|
mixin ability(name, owner)
|
|
.sheet-ability
|
|
label(for=`attr_pc_ship_${name}_${owner}`)
|
|
span(data-i18n=`pc_ship_${name}`)
|
|
input(type='text' name=`attr_pc_ship_${name}_${owner}`)
|
|
|
|
mixin armorClassOrManeuverEntry(name)
|
|
div
|
|
input(type='text' name=`attr_pc_ship_${name}`)
|
|
label(for=`attr_pc_ship_${name}`)
|
|
span(data-i18n=`${name.replace(/_/g,'-')}`)
|
|
|
|
.sheet-pc-ship
|
|
input.tab-button.type-pc(id='tab-type-pc-ship' name='attr_pc_sheet_type' type='radio' value!='pc' checked='checked')
|
|
input.tab-button.type-starship(id='tab-type-starship-ship' name='attr_pc_sheet_type' type='radio' value!='starship')
|
|
|
|
.sheet-top
|
|
.sheet-ship-top-layout
|
|
.sheet-token-frame
|
|
img.sheet-char-avatar(name='attr_character_avatar')
|
|
.sheet-ship-info
|
|
.sheet-flex-container
|
|
label(for='attr_character_name')
|
|
span(data-i18n='pc_ship_name')
|
|
input(type='text' name='attr_character_name')
|
|
+headerEntry('owner')
|
|
.sheet-flex-container
|
|
+headerEntry('size_category')
|
|
label(for='attr_pc_ship_weight')
|
|
span(data-i18n='pc_ship_weight')
|
|
input.sheet-ship-compact(type='text' name='attr_pc_ship_weight')
|
|
label(for='attr_pc_ship_hull_type')
|
|
span(data-i18n='pc_ship_hull_type')
|
|
input.sheet-ship-compact(type='text' name='attr_pc_ship_hull_type')
|
|
+headerEntry('crew_capacity')
|
|
+headerEntry('cargo_capacity')
|
|
|
|
.sheet-crew-roles
|
|
h3
|
|
span(data-i18n='crewmember-roles') Crewmember Roles
|
|
.sheet-flex-container
|
|
label.sheet-crew-field
|
|
input(type='text' name='attr_pc_ship_crew_pilot_name')
|
|
span PILOT
|
|
label.sheet-crew-field
|
|
input(type='text' name='attr_pc_ship_crew_tech1_name')
|
|
span TECHNICIAN 1
|
|
label.sheet-crew-field
|
|
input(type='text' name='attr_pc_ship_crew_tech2_name')
|
|
span TECHNICIAN 2
|
|
label.sheet-crew-field
|
|
input(type='text' name='attr_pc_ship_crew_copilot_name')
|
|
span CO-PILOT
|
|
label.sheet-crew-field
|
|
input(type='text' name='attr_pc_ship_crew_captain_name')
|
|
span CAPTAIN
|
|
|
|
.ship-tab-row
|
|
label.tab-label.type-pc(for='tab-type-pc-ship') PC
|
|
label.tab-label.type-starship(for='tab-type-starship-ship') STARSHIP
|
|
|
|
.sheet-middle.sheet-grid-container
|
|
.sheet-col-left
|
|
.sheet-grid-container.sheet-abilities
|
|
.sheet-pilot
|
|
+abilityBox('pilot', 'dexterity', 'wisdom')
|
|
|
|
.sheet-captain
|
|
+abilityBox('captain','wisdom', 'charisma')
|
|
|
|
.sheet-technician1
|
|
+abilityBox('technician1', 'intelligence', 'wisdom')
|
|
|
|
.sheet-technician2
|
|
+abilityBox('technician2', 'intelligence', 'wisdom')
|
|
|
|
.sheet-commander
|
|
+abilityBox('commander', 'dexterity', 'intelligence', 'wisdom', 'charisma')
|
|
|
|
.sheet-grid-container.sheet-sensors-and-initiative
|
|
.sheet-sensors
|
|
+subtitle('pc_ship_sensors')
|
|
label(for='attr_pc_ship_sensors')
|
|
input(type='text' name='attr_pc_ship_sensors')
|
|
span(data-i18n='pc_ship_sensors_info')
|
|
|
|
.sheet-initiative
|
|
+subtitle('pc_ship_initiative')
|
|
label.sheet-grid-container(for='attr_pc_ship_initiative')
|
|
input(type='text' name='attr_pc_ship_initiative')
|
|
span(data-i18n='pc_ship_initiative_info')
|
|
|
|
.sheet-col-center
|
|
.sheet-piloting-maneuver-check
|
|
h3
|
|
button(type='roll' name='roll_pc_ship_piloting' value!="@{wtype}&{template:npc} {{name=@{character_name}}} {{rname=^{piloting-check}}} {{mod=[[0+@{pc_ship_piloting_num}]]}} {{r1=[[@{d20}+@{pc_ship_piloting_num}]]}} @{rtype}+@{pc_ship_piloting_num}]]}} {{type=Vehicle}}")
|
|
span(data-i18n='piloting-maneuver-check')
|
|
.sheet-fancy-input
|
|
img(src=`${imagePath}/piloting_maneuver_check.png` alt='Piloting maneuver Check')
|
|
input(type='hidden' name='attr_pc_ship_piloting_num' value='0')
|
|
input(type='text' name='attr_pc_ship_piloting_maneuver_check')
|
|
|
|
p
|
|
span(data-i18n='piloting-maneuver-check-info')
|
|
|
|
.sheet-command-dice
|
|
h3
|
|
span(data-i18n='command-dice')
|
|
label(for='attr_pc_ship_command_dice')
|
|
span(data-i18n='type-u')
|
|
select(name='attr_pc_ship_command_dice')
|
|
option(value='') None
|
|
option(value='d6') d6
|
|
option(value='d8') d8
|
|
option(value='d10') d10
|
|
|
|
.sheet-grid-container
|
|
label(for='attr_pc_ship_total_dice')
|
|
span(data-i18n='total-dice')
|
|
input(type='number' name='attr_pc_ship_total_dice')
|
|
|
|
label(for='attr_pc_ship_total_dice')
|
|
span(data-i18n='dice-used')
|
|
input(type='number' name='attr_pc_ship_total_dice')
|
|
|
|
.sheet-grid-container.sheet-intercept-speed
|
|
div
|
|
.sheet-fancy-input
|
|
img(src=`${imagePath}/intercept_speed.png` alt='Intercept Speed')
|
|
input(type='text' name='attr_pc_ship_intercept_speed')
|
|
|
|
div
|
|
+subtitle('intercept-speed')
|
|
label(for='attr_pc_ship_intercept_speed')
|
|
input(type='checkbox' name='attr_pc_ship_stardrive' value='1')
|
|
span(data-i18n='startdrive')
|
|
|
|
.sheet-col-right
|
|
.sheet-maneuver-save
|
|
+subtitle('maneuver-save-dc')
|
|
.sheet-grid-container
|
|
div
|
|
.sheet-fancy-input
|
|
img(src=`${imagePath}/maneuver_save_dc.png` alt='maneuver Save DC')
|
|
input(type='text' name='attr_pc_ship_maneuver_save_dc')
|
|
|
|
|
|
div
|
|
label(for='attr_pc_ship_maneuver_save_sc')
|
|
span(data-i18n='maneuver-save-dc-info')
|
|
|
|
|
|
.sheet-weapon-systems
|
|
.sheet-grid-container.sheet-max-weapon-payload
|
|
label(for='attr_pc_ship_max_weapon_payload')
|
|
span(data-i18n='max-weapon-payload')
|
|
div
|
|
input(type='text' name='attr_pc_ship_max_weapon_payload')
|
|
|
|
+subtitle('weapon-systems')
|
|
+repeatingSection('weapon-systems')
|
|
input(type='hidden' name='attr_rollbase' value!='@{wtype}&{template:atkdmg} {{attack=1}} {{damage=1}} {{dmg1flag=1}} {{mod=[[0@{tohit}]]}} {{rname=@{weapon}}} {{r1=[[@{d20}@{tohit}]]}} {{normal=1}} {{r2=[[0d20]]}} {{range=@{range}}} {{dmg1=[[@{damage}+0]]}} {{dmg1type=@{dmgtype}}} {{desc=@{special}}} ammo=@{ammo} {{licensedsheet=@{licensedsheet}}}')
|
|
input(type='hidden' name='attr_atkdmg' value!='')
|
|
input(type='hidden' name='attr_atkdmgc' value!='')
|
|
.sheet-weapon-action
|
|
input.sheet-weapon-flag(type='checkbox' name='attr_weapon_options_flag' checked='checked')
|
|
span y
|
|
.sheet-weapon-options
|
|
.sheet-weapon-row
|
|
span WEAPON:
|
|
input(type='text' name='attr_weapon')
|
|
span GUNNER NAME:
|
|
input(type='text' name='attr_gunner')
|
|
.sheet-weapon-row
|
|
span RANGE:
|
|
input(type='text' name='attr_range')
|
|
span TO HIT:
|
|
input(type='text' name='attr_tohit')
|
|
.sheet-weapon-row
|
|
span ON HIT:
|
|
input(type='text' name='attr_damage')
|
|
input(type='text' name='attr_dmgtype' placeholder='damage type')
|
|
.sheet-weapon-row
|
|
span SPECIAL:
|
|
input(type='text' name='attr_special')
|
|
.sheet-weapon-row
|
|
span AMMO:
|
|
input(type='text' name='attr_ammo')
|
|
span RECHARGE:
|
|
input(type='checkbox' name='attr_recharge' value='3')
|
|
input(type='checkbox' name='attr_recharge' value='2')
|
|
input(type='checkbox' name='attr_recharge' value='1')
|
|
.sheet-weapon-display
|
|
button.pick(type='roll' value!='@{rollbase}' name='roll_attack')
|
|
span.sheet-weapon-name(name='attr_weapon')
|
|
.sheet-weapon-meta
|
|
span Gunner:
|
|
span(name='attr_gunner')
|
|
span | Range:
|
|
span(name='attr_range')
|
|
span | To Hit:
|
|
span(name='attr_tohit')
|
|
span | Hit:
|
|
span(name='attr_damage')
|
|
span
|
|
span(name='attr_dmgtype')
|
|
button.hidden(type='roll' value!='@{atkdmg}' name='roll_atkdmg')
|
|
button.hidden(type='roll' value!='@{atkdmgc}' name='roll_atkdmgc')
|
|
|
|
.sheet-weapon-systems-info
|
|
span(data-i18n='weapon-systems-info')
|
|
|
|
|
|
.sheet-bottom
|
|
.sheet-grid-container
|
|
div
|
|
.sheet-grid-container
|
|
.sheet-armor-class
|
|
+subtitle('armor-class')
|
|
.sheet-grid-container
|
|
div
|
|
.sheet-fancy-input
|
|
img(src=`${imagePath}/armor_class.png` alt='Armor Class')
|
|
input(type='text' name='attr_pc_ship_armor_class')
|
|
|
|
.sheet-grid-container
|
|
+armorClassOrManeuverEntry('base_armor_class')
|
|
+armorClassOrManeuverEntry('maneuver_bonus')
|
|
+armorClassOrManeuverEntry('pilot_dex_modifier')
|
|
+armorClassOrManeuverEntry('misc_mod_bonus')
|
|
|
|
.sheet-maneuver-defense
|
|
+subtitle('maneuver-defense')
|
|
.sheet-grid-container
|
|
div
|
|
.sheet-fancy-input
|
|
img(src=`${imagePath}/maneuver_defense.png` alt='Maneuver Bonus')
|
|
input(type='text' name='attr_pc_ship_maneuver_defense_bonus')
|
|
|
|
.sheet-grid-container
|
|
div
|
|
span.sheet-static-num 8
|
|
label
|
|
span(data-i18n='base-maneuver-defense')
|
|
+armorClassOrManeuverEntry('proficiency_bonus')
|
|
+armorClassOrManeuverEntry('pilot_wis_modifier')
|
|
+armorClassOrManeuverEntry('captain_cha_modifier')
|
|
|
|
.sheet-defense-systems
|
|
+subtitle('defense-systems')
|
|
+repeatingSection('defense-systems')
|
|
textarea(name='attr_item' placeholder='Enter item description...' required)
|
|
span(name='attr_item')
|
|
|
|
div
|
|
.sheet-grid-container
|
|
div
|
|
.sheet-hull-points
|
|
+subtitle('hull-points')
|
|
.sheet-fancy-input
|
|
img(src=`${imagePath}/hull_points.png` alt='Hull Points')
|
|
input(type='text' name='attr_pc_ship_hull_points')
|
|
span(data-i18n='hull-points-info')
|
|
|
|
.sheet-resistances
|
|
+subtitle('resistances')
|
|
+repeatingSection('ship-resistances')
|
|
textarea(name='attr_resistance' placeholder='Enter resitance description...' required)
|
|
span(name='attr_resistance')
|
|
|
|
.sheet-patch-repair
|
|
+subtitle('patch-repair')
|
|
.sheet-grid-container
|
|
label(for='attr_pc_ship_patch_repair_die_type')
|
|
span(data-i18n='die-type')
|
|
input(type='text' name='attr_pc_ship_patch_repair_die_type')
|
|
|
|
label(for='attr_pc_ship_patch_repair_int_mod')
|
|
span(data-i18n='int-mod')
|
|
input(type='text' name='attr_pc_ship_patch_repair_int_mod')
|
|
|
|
label(for='attr_pc_ship_patch_repair_used')
|
|
span(data-i18n='used')
|
|
input(type='text' name='attr_pc_ship_patch_repair_used')
|
|
span(data-i18n='patch-repair-info')
|
|
div
|
|
.sheet-damage-taken
|
|
.sheet-grid-container
|
|
div
|
|
label(for='attr_pc_ship_damage_threshold')
|
|
span(data-i18n='damage-threshold')
|
|
input(type='text' name='attr_pc_ship_damage_threshold')
|
|
|
|
label(for='attr_pc_ship_temp_hp')
|
|
span(data-i18n='temp-hp')
|
|
input(type='text' name='attr_pc_ship_temp_hp')
|
|
label
|
|
span(data-i18n='damage')
|
|
textarea(name='attr_pc_ship_damage')
|
|
|
|
.sheet-structural-integrity
|
|
+subtitle('structural-integrity')
|
|
.sheet-grid-container
|
|
div
|
|
.sheet-fancy-input
|
|
img(src=`${imagePath}/structural_integrity.png` alt='Structural Integrity')
|
|
input(type='text' name='attr_pc_ship_structural_integrity')
|
|
label
|
|
input(type='text' name='attr_pc_remaining_si')
|
|
span(data-i18n='remaining-si')
|
|
span(data-i18n='structural-integrity-info')
|
|
|
|
.sheet-grid-container.sheet-features-cargo-row
|
|
.sheet-special-features
|
|
+subtitle('special-features-and-options')
|
|
+repeatingSection('ship-features')
|
|
textarea(name='attr_feature' placeholder='Enter feature description...' required)
|
|
span(name='attr_feature')
|
|
|
|
.sheet-ship-cargo
|
|
+subtitle('ship-cargo')
|
|
+repeatingSection('ship-cargo')
|
|
.sheet-grid-container
|
|
div
|
|
input(type='text' name='attr_name')
|
|
div
|
|
input(type='text' name='attr_weight')
|
|
|
|
.sheet-ship-logo-footer
|
|
img.sheet-ship-logo-img(src='https://raw.githubusercontent.com/skydawn1/esper_genesis/master/EG_Logo.png' alt='Esper Genesis Logo') |