Files
roll20-character-sheets/Without Numbers/Source/pug/npc.pug
T

160 lines
7.7 KiB
Plaintext

input(type="hidden", name="attr_setting_individual_hidden", value="1").input-individual-hide
//- Name etc
.core-box-text.info.grid
.grid.gap-1.grid-flow-col.name
+text-input("npc_name", "NAME").important
+text-input("stat_block", "STAT_BLOCK")
.grid.gap-1.grid-flow-col
+text-input("npc_move", "MOVE")
+text-input("npc_hd", "HD")(type="number", value="1").center
+text-input("npc_saves", "SAVES")(type="number", value="15").center
each val in ["skills", "morale"]
+text-input(`npc_${val}`, val)(type="number", value="0").center
+text-input("npc_instinct", "INSTINCT")(type="number", value="0").center.wwn
+text-input("npc_attack_bonus", "ATTACK_BONUS")(type="number", value="0").center.swn.wwn
.grid.gap-1.grid-flow-col.cwn
+text-input("npc_ranged_attack_bonus", "RANGED_ATTACK_BONUS")(type="number", value="0").center
+text-input("npc_melee_attack_bonus", "MELEE_ATTACK_BONUS")(type="number", value="0").center
//- HP and AC
.core-box-text.grid.gap-1
+text-input-duo("npc_hp", "npc_hp_max", "HIT_POINTS").important
.grid.grid-flow-col.gap-1
+text-input("npc_ac", "AC")(type="number", value="10").center.swn.wwn
+text-input("npc_armor_ranged", "ARMOR_RANGED_AC").center.cwn
+text-input("npc_armor_melee", "ARMOR_MELEE_AC").center.cwn
+fake-text-input("TYPE").center.swn
select(name="attr_npc_armor_type")
option(value="", data-i18n="NONE")
each val in ["PRIMITIVE", "STREET", "COMBAT", "POWERED"]
option(value=val, data-i18n=val)
//- Quick rolls
.core-box.rolls
.flex-between
h3(data-i18n="QUICK_ROLLS")
label.npc-checkbox
span(data-i18n="HIDDEN")
input(type="checkbox", name="attr_npc_rolls_hidden" value="/w GM")
.flex-between
.center
button(type="roll", name="roll_NPC_HP", value!="@{npc_hp_hidden} &{template:swn-default} {{system=@{system}}} {{charname=@{npc_name}}} {{title=^{HIT_POINTS}}} {{ =[[@{npc_hd}d8]]}}")
span(name="attr_npc_hd")
div(data-i18n="ROLL_HP")
label.individual-hide
input(type="checkbox", name="attr_npc_hp_hidden", value="/w GM")
span(data-i18n="HIDE")
.center
button(type="roll", name="roll_NPC_Initiative", value!="@{npc_initiative_hidden} &{template:swn-default} {{system=@{system}}} {{charname=@{npc_name}}} {{title=^{INITIATIVE_FIXED}}} {{ =[[1d8 &{tracker}]]}}") d8
div(data-i18n="INITIATIVE_FIXED")
label.individual-hide
input(type="checkbox", name="attr_npc_initiative_hidden", value="/w GM")
span(data-i18n="HIDE")
.center
button(type="roll", name="roll_NPC_Save", value!="@{npc_save_hidden} &{template:swn-save} {{system=@{system}}} {{title=^{SAVING_THROW}}} {{charname=@{npc_name}}} {{save=[[@{npc_saves}]]}} {{dice=[[1d20]]}}")
| v#[span(name="attr_npc_saves")]
div(data-i18n="SAVE")
label.individual-hide
input(type="checkbox", name="attr_npc_save_hidden", value="/w GM")
span(data-i18n="HIDE")
.center
button(type="roll", name="roll_NPC_Skill", value!="@{npc_skill_hidden} &{template:swn-skill} {{system=@{system}}} {{charname=@{npc_name}}} {{title=@{skill_name_query}}} {{dice=[[2d6 + @{proficient_query} @{modifier_query}]]}}")
input(type="hidden", name="attr_npc_skills", value="0").add-plus
span(name="attr_npc_skills")
div(data-i18n="SKILL")
label.individual-hide
input(type="checkbox", name="attr_npc_skill_hidden", value="/w GM")
span(data-i18n="HIDE")
.center
button(type="roll", name="roll_NPC_Morale", value!="@{npc_morale_hidden} &{template:swn-save} {{system=@{system}}} {{charname=@{npc_name}}} {{title=^{MORALE}}} {{morale=[[@{npc_morale}]]}} {{dice=[[2d6 @{modifier_query}]]}}")
| v#[span(name="attr_npc_morale")]
div(data-i18n="MORALE")
label.individual-hide
input(type="checkbox", name="attr_npc_morale_hidden", value="/w GM")
span(data-i18n="HIDE")
.center
button(type="roll", name="roll_NPC_Reaction", value!="@{npc_reaction_hidden} &{template:swn-default} {{system=@{system}}} {{title=^{REACTION}}} {{charname=@{npc_name}}} {{reaction=[[2d6 @{modifier_query}]]}}") 2d6
div(data-i18n="REACTION")
label.individual-hide
input(type="checkbox", name="attr_npc_reaction_hidden", value="/w GM")
span(data-i18n="HIDE")
//- Attacks
.section
+sectionheader("show_npc_attacks", "ATTACKS")
.npc-attacks
.npc-rep-header.flex
label.full-attacks.npc-checkbox
span(data-i18n="ROLL_FULL_ATTACK")
input(type="checkbox", name="attr_npc_roll_full_attack" value="1")
label.npc-checkbox
span(data-i18n="HIDDEN")
input(type="checkbox", name="attr_npc_attacks_hidden" value="/w GM")
fieldset.repeating_npc-attacks
input(type="hidden", name="attr_attack_extra_macro", value="")
button(type="roll", name="roll_Attack", value!="@{npc_attacks_hidden} &{template:swn-attack} {{system=@{system}}} {{charname=@{npc_name}}} {{title=@{attack_name}}} {{attack=[[1d20 + @{attack_ab} @{attack_burst} @{modifier_query}]]}} {{damage=[[@{attack_damage} @{attack_burst}]]}} {{burst=[[0@{attack_burst}]]}} {{range=@{attack_range}}} @{attack_shock} @{attack_extra_macro}").invisible-button.display
.display.flex-between.grey-box-bordered
span.name.ellipsis
span(name="attr_attack_name").space-after
input(type="hidden", name="attr_attack_ab", value="0").add-plus
span(name="attr_attack_ab").space-after
input(type="hidden", name="attr_attack_range", value="0").range
span.range #[span(data-i18n="RANGE")]: #[span(name="attr_attack_range")]
input(type="hidden", name="attr_attack_number", value="1").attacks
span.attacks (#[span(name="attr_attack_number")] #[span(data-i18n="ATTACKS")])
span.damage
span(data-i18n="DAMAGE").space-after
span(name="attr_attack_damage")
.edit.grey-box-bordered.grid.gap-1
.grid.grid-flow-col.gap-1.name
+text-input("attack_name", "NAME").ellipsis
+text-input("attack_range", "RANGE").range.center
+text-input("attack_ab", "AB")(type="number", value="0").ab.center
+text-input("attack_damage", "DAMAGE")(value="0").damage.center
.grid.grid-flow-col.gap-1
+fake-text-input("BURST").burst.center.swn.cwn
select(name="attr_attack_burst")
option(value="", data-i18n="NO", selected)
option(value="@{burst_query}", data-i18n="ASK")
option(value="+ 2[Burst]", data-i18n="ALWAYS")
+text-input("attack_number", "NUM_ATTACKS")(type="number", value="1").attacks.center
.text-input.shock-damage.center
input(type="text", name="attr_attack_shock_damage", value="0")
label.label
input(type="checkbox", name="attr_attack_shock", value!="{{shock=[[@{attack_shock_damage}]] ^{SHOCK_DAMAGE_AGAINST_AC_LEQ} @{attack_shock_ac}!}}")
span(data-i18n="SHOCK")
+text-input("attack_shock_ac", "SHOCK_AC")(type="number", value="10").shock-ac.center
//- Abilities
.section.cols-2
.swn.wwn
+sectionheader("show_npc_abilities", "ABILITIES")
.cwn
+sectionheader("show_npc_abilities", "ABILITIES_CYBERWARE")
.npc-abilities
.npc-rep-header.flex
label.npc-checkbox
span(data-i18n="HIDDEN")
input(type="checkbox", name="attr_npc_abilities_hidden" value="/w GM")
fieldset(class=`repeating_npc-abilities`)
button.display.invisible-button(type="roll", name="roll_Ability", value!="@{npc_abilities_hidden} &{template:swn-default} {{system=@{system}}} {{charname=@{npc_name}}} {{title=@{ability_name}}} {{desc=@{ability_description}}}")
.show-chevron.simple-repsection
+collapseChevron()
.display
.grid.grid-flow-col.mb.name.ellipsis
span(name="attr_ability_name")
.details
span(name="attr_ability_description")
.edit
.grid.grid-flow-col.mb
+text-input("ability_name", "NAME").name.ellipsis
.grid
textarea(name="attr_ability_description", data-i18n-placeholder="DESCRIPTION")
//- Notes
.section.cols-3
+sectionheader("show_npc_notes", "NOTES")
div
textarea(name="attr_npc_notes")