mirror of
https://github.com/Nighthawk42/roll20-character-sheets.git
synced 2026-08-30 19:52:29 +00:00
160 lines
7.7 KiB
Plaintext
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")
|