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")