mirror of
https://github.com/Nighthawk42/roll20-character-sheets.git
synced 2026-08-30 19:52:29 +00:00
174 lines
8.0 KiB
Plaintext
174 lines
8.0 KiB
Plaintext
input(type="hidden", name="attr_ship_class_normalised", value="").ship-class
|
||
input(type="hidden", name="attr_ship_vehicle_type", value="SHIP").input-type
|
||
|
||
.type.col-2.core-box.flex-between.edit
|
||
h3(data-i18n="VEHICLE_TYPE")
|
||
select(name="attr_ship_vehicle_type")
|
||
each val in ["SHIP", "MECH", "VEHICLE"]
|
||
option(value=val, data-i18n=val, selected=val==="SHIP")
|
||
|
||
.menus.col-3
|
||
.vehicle-type.vehicle-type-ship.flex-between.core-box
|
||
h3(data-i18n="QUICK_MENUS")
|
||
input(type="hidden", name="attr_macro_ship_weapons", value="")
|
||
button(type="roll", name="roll_ship_travel", data-i18n="TRAVEL_TIME", value=`&{template:swn-default} {{system=@{system}}} {{charname=@{ship_name}}} {{title=^{TRAVEL_TIME}}} {{info=It will take [[(?{Traveling Time?|Inside Region, 6|Region to Region, 48}) / ?{Drive Rating?}]] hours}}`).btn
|
||
|
||
//- Ship header
|
||
.info.core-box-text.flex
|
||
+text-input("ship_name", "NAME").col40.grow.important
|
||
.text-input.col25.grow.focusinfo
|
||
input(type="text", name="attr_ship_hulltype",)
|
||
.label(data-i18n="HULL_TYPE")
|
||
+text-input("ship_class", "CLASS").colsixth.vehicle-type.vehicle-type-ship.vehicle-type-mech
|
||
+text-input("ship_size", "SIZE").colsixth.vehicle-type.vehicle-type-custom
|
||
+text-input("ship_cargo_tonnage", "CARGO").colsixth.vehicle-type.vehicle-type-ship
|
||
.grid.grid-flow-col.gap-1.w-full
|
||
+text-input("ship_ground_speed", "GROUND_SPEED").vehicle-type.vehicle-type-custom
|
||
+text-input("ship_home_port", "HOME_PORT").vehicle-type.vehicle-type-ship
|
||
+text-input("ship_price", "COST")
|
||
.grid.grid-flow-col.gap-1
|
||
each val in ["operating_cost", "maintenance_cost", "last_maintenance"]
|
||
+text-input(`ship_${val}`, val)
|
||
.data.core-box-text
|
||
+text-input-duo(
|
||
"ship_fuel",
|
||
"ship_fuel_max",
|
||
"FUEL",
|
||
{type: "number", min: 0, value: 0})(type="number" min="0" value="0")
|
||
.vehicle-type.vehicle-type-ship.vehicle-type-custom Fuel
|
||
each val in ["ac", "speed", "armor"]
|
||
+text-input(`ship_${val}`, val)(type="number", min="0")
|
||
+text-input("ship_command_points", "CP_GAIN")(type="number", min="0", value="0") CP Gain
|
||
+text-input-duo(
|
||
"ship_life_support",
|
||
"ship_life_support_max",
|
||
"LIFE_SUPPORT",
|
||
{type: "number", min: 0, value: 0})(type="number" min="0" value="0")
|
||
.vehicle-type.vehicle-type-ship.vehicle-type-custom Life Support
|
||
+text-input-trio(
|
||
"ship_crew_min",
|
||
"ship_crew",
|
||
"ship_crew_max",
|
||
"CREW_MIN/CURRENT/MAX",
|
||
{type: "number", min: 0},
|
||
{type: "number", min: 0})(type="number", min="0")
|
||
.vehicle-type.vehicle-type-ship.vehicle-type-custom Crew Min/Current/Max
|
||
.stats.core-box-text
|
||
+text-input-duo("ship_hp", "ship_hp_max", "HIT_POINTS", {min: "0"})(min="0").important
|
||
input(type="hidden", name="attr_ship_power" value="0").input-color-negative
|
||
+text-input-duo("ship_power", "ship_power_max", "FREE_POWER", {min: "0", value: "0"})(value="0", readonly) Free Power
|
||
input(type="hidden", name="attr_ship_mass" value="0").input-color-negative
|
||
+text-input-duo("ship_mass", "ship_mass_max", "FREE_MASS", {min: "0", value: "0"})(value="0", readonly) Free Mass
|
||
input(type="hidden", name="attr_ship_hardpoints" value="0").input-color-negative
|
||
+text-input-duo("ship_hardpoints", "ship_hardpoints_max", "FREE_HARDPOINTS", {min: "0", value: "0"})(value="0", readonly) Free Hardpoints
|
||
|
||
//- Weapons
|
||
.section
|
||
+sectionheader("show_ship_weapons", "WEAPONS")
|
||
.ship-weapons
|
||
fieldset.repeating_ship-weapons
|
||
each val in ["api", "price"]
|
||
input(type="hidden", name=`attr_weapon_${val}`, value="")
|
||
button(type="roll", name="roll_Attack", value!="&{template:swn-attack} {{system=@{system}}} {{charname=@{ship_name}}} {{title=@{weapon_name} – @{weapon_qualities}}} {{attack=[[1d20 + @{weapon_attack_bonus}[Attack Bonus] @{modifier_query}]]}} {{damage=[[@{weapon_damage}]]}} @{weapon_use_ammo} @{weapon_api}").display.invisible-button
|
||
.display.grey-box-bordered
|
||
input(type="hidden", name="attr_weapon_broken", value="0").hider
|
||
span.broken.space-after #[span(data-i18n="BROKEN")]:
|
||
span.name.ellipsis.space-after
|
||
span(name="attr_weapon_name").space-after
|
||
input(type="hidden", name="attr_weapon_attack_bonus").add-plus
|
||
span(name="attr_weapon_attack_bonus")
|
||
span
|
||
| (
|
||
span(name="attr_weapon_damage").space-after
|
||
span.space-after #[span(data-i18n="DAMAGE").lowercase];
|
||
span(name="attr_weapon_qualities")
|
||
input(type="hidden", name="attr_weapon_range", value="").hide-empty
|
||
span.vehicle-type.vehicle-type-mech
|
||
| ; #[span(data-i18n="RANGE")] #[span(name="attr_weapon_range")]
|
||
| ; #[span(data-i18n="POWER")]
|
||
span(name="attr_weapon_power")
|
||
| , #[span(data-i18n="MASS")]
|
||
span(name="attr_weapon_mass")
|
||
| , #[span(data-i18n="HARDPOINTS")]
|
||
span(name="attr_weapon_hardpoints")
|
||
| )
|
||
input(type="hidden", name="attr_weapon_use_ammo", value="0").hider
|
||
span.vehicle-type.vehicle-type-ship.vehicle-type-custom
|
||
| . #[span(data-i18n="AMMO")]:
|
||
input(type="number", name="attr_weapon_ammo").inline-input
|
||
| /
|
||
span(name="attr_weapon_ammo_max")
|
||
.edit.flex-wrap.grey-box-bordered
|
||
+text-input("weapon_name", "NAME").name.ellipsis
|
||
each val in ["power", "mass", "hardpoints"]
|
||
+text-input(`weapon_${val}`, val)(type="number", value="0", min="0").center.number
|
||
+fake-text-input("BROKEN").center.broken
|
||
input(type="checkbox", name="attr_weapon_broken", value="1")
|
||
+text-input("weapon_attack_bonus", "AB")(type="number", value="0").center.number
|
||
+text-input("weapon_damage", "DAMAGE")(value="0").center.damage
|
||
+text-input("weapon_qualities", "QUALITIES").qualities.grow
|
||
+text-input("weapon_range", "RANGE").range.vehicle-type.vehicle-type-mech
|
||
+text-input-duo("weapon_ammo", "weapon_ammo_max", "", {min: "0"})(min="0").vehicle-type.vehicle-type-ship.vehicle-type-custom
|
||
label.label
|
||
input(type="checkbox", name="attr_weapon_use_ammo", value="{{ammo=[[@{weapon_ammo} - 1]] / @{weapon_ammo_max}}}")
|
||
span(data-i18n="AMMO")
|
||
|
||
//- Fittings
|
||
.section.cols-2.rows-2
|
||
+sectionheader("show_ship_fittings", "FITTING")
|
||
.ship-fitting
|
||
fieldset.repeating_ship-fittings
|
||
input(type="hidden", name="attr_fitting_price")
|
||
.display
|
||
input(type="hidden", name="attr_fitting_broken", value="0").hider
|
||
span.broken.space-after #[span(data-i18n="BROKEN")]:
|
||
span(name="attr_fitting_name").name.ellipsis.space-after
|
||
span.space-after
|
||
| (#[span(data-i18n="POWER")]
|
||
span(name="attr_fitting_power")
|
||
| , #[span(data-i18n="MASS")]
|
||
span(name="attr_fitting_mass")
|
||
| ).
|
||
span(name="attr_fitting_effect").description
|
||
.edit.flex.grey-box-bordered
|
||
+text-input("fitting_name", "NAME").name.ellipsis
|
||
each val in ["power", "mass"]
|
||
+text-input(`fitting_${val}`, val)(type="number", value="0").center.number
|
||
+fake-text-input("EFFECT").effect
|
||
textarea(name="attr_fitting_effect")
|
||
+fake-text-input("BROKEN").center.broken
|
||
input(type="checkbox", name="attr_fitting_broken", value="1")
|
||
|
||
//- Defenses
|
||
.section
|
||
+sectionheader("show_ship_defenses", "DEFENSES")
|
||
.ship-defenses
|
||
fieldset.repeating_ship-defenses
|
||
input(type="hidden", name="attr_defense_price")
|
||
.display
|
||
input(type="hidden", name="attr_defense_broken", value="0").hider
|
||
span.broken.space-after #[span(data-i18n="BROKEN")]:
|
||
span(name="attr_defense_name").name.ellipsis.space-after
|
||
span.space-after
|
||
| (#[span(data-i18n="POWER")]
|
||
span(name="attr_defense_power")
|
||
| , #[span(data-i18n="MASS")]
|
||
span(name="attr_defense_mass")
|
||
| ).
|
||
span(name="attr_defense_effect").description
|
||
.edit.flex.grey-box-bordered
|
||
+text-input("defense_name", "NAME").name.ellipsis
|
||
each val in ["power", "mass"]
|
||
+text-input(`defense_${val}`, val)(type="number", value="0").center.number
|
||
+fake-text-input("EFFECT").effect
|
||
textarea(name="attr_defense_effect")
|
||
+fake-text-input("BROKEN").center.broken
|
||
input(type="checkbox", name="attr_defense_broken", value="1")
|
||
|
||
//- Notes
|
||
.section.cols-3
|
||
+sectionheader("show_ship_other)", "NOTES")
|
||
.halfgrid
|
||
textarea(name="attr_ship_notes")
|
||
textarea(name="attr_ship_other_notes")
|