mirror of
https://github.com/Nighthawk42/roll20-character-sheets.git
synced 2026-09-01 04:32:28 +00:00
SWN-Revised: v2.1.0
This commit is contained in:
@@ -27,10 +27,24 @@ Report any problems, suggestions, or features by [creating an issue](https://git
|
||||
|
||||
## Changelog
|
||||
|
||||
### 2.1.0
|
||||
|
||||
* Additions
|
||||
* Added option to disable modifier queries globally.
|
||||
* Added button to roll hit points.
|
||||
* Added weapon encumbrance tracking.
|
||||
* Weapon shock damage can now be toggled independent of base being 0 (for Unarmed Combatant).
|
||||
* Added option for automatic ammo reduction (requires ChatSetAttr).
|
||||
* Bugfixes
|
||||
* Attribute modifiers are now recalculated upon conversion from v1.6.2.
|
||||
* Roll templates are no longer cut off when chat avatars are disabled.
|
||||
* New NPC attacks should now receive the correct attack bonus.
|
||||
* Line breaks in foci/technique/spell/cyberware descriptions now render correctly.
|
||||
|
||||
### 2.0.1
|
||||
|
||||
* Fixed a bug preventing successful conversion of NPC sheets.
|
||||
* Fixed a bug that prevented extra effort from taking effect.
|
||||
* Fixed a bug preventing extra effort from taking effect.
|
||||
|
||||
### 2.0.0
|
||||
|
||||
|
||||
@@ -9,8 +9,9 @@ div
|
||||
input(type="hidden", name="attr_attribute_query_wis", value="+ @{wisdom_mod}[Wisdom]]]}} {{attribute= + WIS}}")
|
||||
input(type="hidden", name="attr_attribute_query_cha", value="+ @{charisma_mod}[Charisma]]]}} {{attribute= + CHA}}")
|
||||
input(type="hidden", name="attr_attribute_query_none", value="]]}}")
|
||||
input(type="hidden", name="attr_burst_query", value="?{Burst|Yes, 2|No, 0}[Burst]")
|
||||
input(type="hidden", name="attr_modifier_query", value="?{Modifier|0}[Modifier]")
|
||||
input(type="hidden", name="attr_burst_query", value="?{Burst|Yes,+ 2[Burst]|No, }")
|
||||
input(type="hidden", name="attr_extra_hp_query", value!="?{Extra hit points? Enter 2 for Warrior|0}[Bonus]")
|
||||
input(type="hidden", name="attr_modifier_query", value="+ ?{Modifier|0}[Mod]")
|
||||
input(type="hidden", name="attr_proficient_query", value="?{Proficient|Yes, @{npc_skills}|No, 0}[Skill]")
|
||||
input(type="hidden", name="attr_skill_name_query", value="?{Skill name|Skill}")
|
||||
input(type="hidden", name="attr_translation_numdice", value="Number of dice")
|
||||
|
||||
@@ -165,7 +165,7 @@ h3 {
|
||||
opacity: 0;
|
||||
position: absolute;
|
||||
}
|
||||
.sheet-logo { width: 60% }
|
||||
.sheet-logo { width: 480px }
|
||||
.sheet-npc-chooser {
|
||||
cursor: pointer;
|
||||
margin-left: auto;
|
||||
@@ -234,6 +234,7 @@ h3 {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
align-content: flex-start;
|
||||
align-items: flex-start;
|
||||
}
|
||||
.sheet-grow { flex-grow: 1 }
|
||||
|
||||
@@ -302,6 +303,11 @@ input[type=number].sheet-inline-input {
|
||||
font-size: .9em;
|
||||
line-height: 14px;
|
||||
border-top: 1px solid #AAA;
|
||||
|
||||
input[type="checkbox"] {
|
||||
height: 14px;
|
||||
margin: 0 3px 0 0;
|
||||
}
|
||||
}
|
||||
input[type=text], input[type=number], textarea {
|
||||
background: transparent;
|
||||
@@ -320,7 +326,7 @@ input[type=number].sheet-inline-input {
|
||||
height: 20px;
|
||||
min-height: 20px;
|
||||
}
|
||||
input[type=checkbox] {
|
||||
> input[type=checkbox] {
|
||||
height: 14px;
|
||||
margin: 3px 0;
|
||||
}
|
||||
@@ -349,6 +355,10 @@ input[type=number].sheet-inline-input {
|
||||
}
|
||||
div { grid-column: 1/4 }
|
||||
}
|
||||
button[type=roll].btn {
|
||||
width: 100%;
|
||||
&:hover { color: red }
|
||||
}
|
||||
}
|
||||
.sheet-blue-button {
|
||||
text-align: center;
|
||||
@@ -369,6 +379,14 @@ input[type=number].sheet-inline-input {
|
||||
.sheet-colon-after::after { content: ":" }
|
||||
.sheet-hide-empty[value=""] + span { display: none }
|
||||
.sheet-add-plus:not([value^="-"]) + span::before { content: "+" }
|
||||
.sheet-api {
|
||||
font-size: .8em;
|
||||
background: $lightbox;
|
||||
border-radius: 5px;
|
||||
padding: 1px;
|
||||
line-height: 1;
|
||||
vertical-align: super;
|
||||
}
|
||||
|
||||
/* force repeating row behaviour */
|
||||
|
||||
@@ -387,6 +405,7 @@ input[type=number].sheet-inline-input {
|
||||
.sheet-details {
|
||||
line-height: 1.4;
|
||||
text-align: justify;
|
||||
white-space: pre-wrap;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -479,7 +498,7 @@ input[type=number].sheet-inline-input {
|
||||
}
|
||||
}
|
||||
&.sheet-core-stats {
|
||||
grid: auto / 1fr 260px 220px;
|
||||
grid: auto / minmax(310px, 1fr) minmax(260px, 1fr) minmax(220px, 1fr);
|
||||
}
|
||||
.sheet-main-content {
|
||||
margin-top: 3px;
|
||||
@@ -488,10 +507,6 @@ input[type=number].sheet-inline-input {
|
||||
grid-row-gap: 3px;
|
||||
.sheet-left-margin { margin-left: 15px }
|
||||
}
|
||||
button[type=roll].sheet-doombutton {
|
||||
width: 100%;
|
||||
&:hover { color: red }
|
||||
}
|
||||
}
|
||||
|
||||
/* Saves */
|
||||
@@ -554,12 +569,12 @@ input[type=number].sheet-inline-input {
|
||||
.sheet-weapon-skill { width: 80px }
|
||||
.sheet-attribute { width: 60px }
|
||||
.sheet-burst { width: 65px }
|
||||
.sheet-damage { width: 65px }
|
||||
.sheet-shock-damage { width: 80px }
|
||||
.sheet-damage { width: 70px }
|
||||
.sheet-shock-damage { width: 95px }
|
||||
.sheet-shock-ac { width: 55px }
|
||||
.sheet-skill-to-damage { width: 40px }
|
||||
.sheet-range { width: 65px }
|
||||
.sheet-ammo { width: 50px }
|
||||
.sheet-range { width: 70px }
|
||||
.sheet-ammo { width: 53px }
|
||||
}
|
||||
.sheet-text-input { padding-right: 3px }
|
||||
|
||||
@@ -757,14 +772,19 @@ input[type=number].sheet-inline-input {
|
||||
&[value="right"] ~ .sheet-column .sheet-foci-left { display: none }
|
||||
}
|
||||
.sheet-foci {
|
||||
> .sheet-name {
|
||||
border-bottom: 1px solid #777;
|
||||
div {
|
||||
.sheet-details-button {
|
||||
position: relative;
|
||||
z-index: 2;
|
||||
}
|
||||
.sheet-class-ability {
|
||||
position: relative;
|
||||
.sheet-edit .sheet-name {
|
||||
font-weight: bold;
|
||||
font-size: 1.1em;
|
||||
border-bottom: 1px solid #777;
|
||||
}
|
||||
.sheet-name,.sheet-edit textarea, .sheet-display { margin-bottom: 3px }
|
||||
}
|
||||
> .sheet-name, > .sheet-edit textarea, > .sheet-display { margin-bottom: 3px }
|
||||
.sheet-edit {
|
||||
.sheet-name { flex-grow: 1 }
|
||||
.sheet-level {
|
||||
@@ -804,6 +824,7 @@ input[type=number].sheet-inline-input {
|
||||
}
|
||||
}
|
||||
.sheet-equipment {
|
||||
.repcontainer[data-groupname="repeating_weapons"] + .repcontrol { display: none }
|
||||
.repitem {
|
||||
margin-bottom: 2px;
|
||||
input[type=text], input[type=number], select { background: transparent }
|
||||
@@ -986,7 +1007,15 @@ input[type=number].sheet-inline-input {
|
||||
}
|
||||
}
|
||||
|
||||
/* New roll templates */
|
||||
/* Roll templates */
|
||||
|
||||
.withoutavatars {
|
||||
.sheet-rolltemplate-swn-default,
|
||||
.sheet-rolltemplate-swn-attack,
|
||||
.sheet-rolltemplate-swn-skill,
|
||||
.sheet-rolltemplate-swn-save { margin-left: -11px }
|
||||
}
|
||||
|
||||
.sheet-rolltemplate-swn-default,
|
||||
.sheet-rolltemplate-swn-attack,
|
||||
.sheet-rolltemplate-swn-skill,
|
||||
@@ -1081,6 +1110,10 @@ input[type=number].sheet-inline-input {
|
||||
font-size: 10px;
|
||||
line-height: 1;
|
||||
margin: -10px 0 5px;
|
||||
.inlinerollresult {
|
||||
font-size: 1em;
|
||||
font-weight: normal;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1108,6 +1141,11 @@ input[type=number].sheet-inline-input {
|
||||
font-style: italic;
|
||||
font-size: 10px;
|
||||
> span:first-child { margin-right: 10px }
|
||||
.inlinerollresult {
|
||||
font-weight: normal;
|
||||
font-size: 1em;
|
||||
margin-left: 2px;
|
||||
}
|
||||
}
|
||||
.sheet-desc {
|
||||
font-size: 12px;
|
||||
|
||||
@@ -22,6 +22,42 @@
|
||||
psionic: ["biopsionics", "metapsionics", "precognition", "telekinesis", "telepathy", "teleportation"],
|
||||
};
|
||||
|
||||
//- We have foci in two locations, so they are outsourced to this mixin
|
||||
mixin foci
|
||||
+sectionheader("show_foci", "FOCI")
|
||||
.foci.simple-repsection
|
||||
input(type="hidden", name="attr_show_focus_details", value="1").input-details
|
||||
.class-ability
|
||||
button.display.invisible-button(type="roll", name="roll_Class_ability", value!="&{template:swn-default} {{charname=@{name}}} {{title=^{CLASS_ABILITY}}} {{desc=@{class_ability}}}")
|
||||
.display
|
||||
.name.flex
|
||||
div(data-i18n="CLASS_ABILITY")
|
||||
label.details-button
|
||||
input(type="checkbox", name="attr_show_focus_details", value="1", checked)
|
||||
span(data-i18n="EXPAND")
|
||||
.details
|
||||
span(name="attr_class_ability")
|
||||
.edit
|
||||
.name.flex
|
||||
div(data-i18n="CLASS_ABILITY")
|
||||
label.details-button
|
||||
input(type="checkbox", name="attr_show_focus_details", value="1", checked)
|
||||
span(data-i18n="EXPAND")
|
||||
.details
|
||||
textarea.details(name="attr_class_ability")
|
||||
fieldset.repeating_foci
|
||||
button.display.invisible-button(type="roll", name="roll_Focus", value!="&{template:swn-default} {{charname=@{name}}} {{info=^{FOCUS}}} {{title=@{focus_name}}} {{desc=@{focus_description}}}")
|
||||
.display
|
||||
.name.flex
|
||||
span(name="attr_focus_name")
|
||||
span.level #[span(data-i18n="LEVEL")]-#[span(name="attr_focus_level")]
|
||||
.details
|
||||
span(name="attr_focus_description")
|
||||
.edit.flex-wrap
|
||||
input.name(type="text", name="attr_focus_name", data-i18n-placeholder="FOCUS")
|
||||
input.level(type="number", min="0", name="attr_focus_level", data-i18n-placeholder="LEVEL")
|
||||
textarea.details(name="attr_focus_description", data-i18n-placeholder="DESCRIPTION")
|
||||
|
||||
input(type="hidden", name="attr_homebrew_skill_list", value="revised").skills-type
|
||||
input(type="hidden", name="attr_setting_super_type", value="psionics").super-type
|
||||
input(type="hidden", name="attr_setting_foci_location", value="left").foci-loc
|
||||
@@ -48,24 +84,25 @@ input(type="hidden", name="attr_setting_skill_query", value="hover").skills-quer
|
||||
.menus.core-box
|
||||
h3(data-i18n="QUICK_MENUS")
|
||||
.menus-content
|
||||
button(type="roll", name="roll_Initiative", data-i18n="INITIATIVE", value="&{template:swn-default} {{charname=@{name}}} {{title=^{INITIATIVE}}} {{ =[[1d8+@{dexterity_mod} &{tracker}]]}}").unstyled-button
|
||||
button(type="roll", name="roll_Initiative", data-i18n="INITIATIVE", value!="&{template:swn-default} {{charname=@{name}}} {{title=^{INITIATIVE}}} {{ =[[1d8+@{dexterity_mod} &{tracker}]]}}").unstyled-button
|
||||
input(type="hidden", name="attr_macro_saves", value="[^{PHYSICAL} (v@{save_physical}),](~save_physical) [^{MENTAL} (v@{save_mental}),](~save_mental) [^{EVASION} (v@{save_evasion})](~save_evasion)")
|
||||
button(type="roll", name="roll_Saves_macro", data-i18n="SAVES", value=`/w "@{character_name}" &{template:swn-default} {{charname=@{name}}} {{title=^{SAVING_THROWS}}} {{buttons=@{macro_saves}}}`).unstyled-button
|
||||
button(type="roll", name="roll_Saves_macro", data-i18n="SAVES", value!=`/w "@{character_name}" &{template:swn-default} {{charname=@{name}}} {{title=^{SAVING_THROWS}}} {{buttons=@{macro_saves}}}`).unstyled-button
|
||||
input(type="hidden", name="attr_macro_skills" value="[^{ADMINISTER} (-1),](~skill_administer) [^{CONNECT} (-1),](~skill_connect) [^{EXERT} (-1),](~skill_exert) [^{FIX} (-1),](~skill_fix) [^{HEAL} (-1),](~skill_heal) [^{KNOW} (-1),](~skill_know) [^{LEAD} (-1),](~skill_lead) [^{NOTICE} (-1),](~skill_notice) [^{PERFORM} (-1),](~skill_perform) [^{PILOT} (-1),](~skill_pilot) [^{PROGRAM} (-1),](~skill_program) [^{PUNCH} (-1),](~skill_punch) [^{SHOOT} (-1),](~skill_shoot) [^{SNEAK} (-1),](~skill_sneak) [^{STAB} (-1),](~skill_stab) [^{SURVIVE} (-1),](~skill_survive) [^{TALK} (-1),](~skill_talk) [^{TRADE} (-1),](~skill_trade) [^{WORK} (-1)](~skill_work)")
|
||||
button(type="roll", name="roll_Skills_macro", data-i18n="SKILLS", value=`/w "@{character_name}" &{template:swn-default} {{charname=@{name}}} {{title=^{SKILLS}}} {{buttons=@{macro_skills}}}`).unstyled-button
|
||||
button(type="roll", name="roll_Skills_macro", data-i18n="SKILLS", value!=`/w "@{character_name}" &{template:swn-default} {{charname=@{name}}} {{title=^{SKILLS}}} {{buttons=@{macro_skills}}}`).unstyled-button
|
||||
input(type="hidden", name="attr_macro_weapons")
|
||||
button(type="roll", name="roll_Weapons_macro", data-i18n="WEAPONS", value=`/w "@{character_name}" &{template:swn-default} {{charname=@{name}}} {{title=^{WEAPONS}}} {{buttons=@{macro_weapons}}}`).unstyled-button
|
||||
button(type="roll", name="roll_Weapons_macro", data-i18n="WEAPONS", value!=`/w "@{character_name}" &{template:swn-default} {{charname=@{name}}} {{title=^{WEAPONS}}} {{buttons=@{macro_weapons}}}`).unstyled-button
|
||||
input(type="hidden", name="attr_macro_psionics" value="[^{BIOPSIONICS} (-1),](~skill_biopsionics) [^{METAPSIONICS} (-1),](~skill_metapsionics) [^{PRECOGNITION} (-1),](~skill_precognition) [^{TELEKINESIS} (-1),](~skill_telekinesis) [^{TELEPATHY} (-1),](~skill_telepathy) [^{TELEPORTATION} (-1)](~skill_teleportation)")
|
||||
button(type="roll", name="roll_Psionics_macro", data-i18n="PSIONICS", value=`/w "@{character_name}" &{template:swn-default} {{charname=@{name}}} {{title=^{PSYCHIC_SKILLS_TECHNIQUES}}} {{buttons=@{macro_psionics}}}`).unstyled-button.super-psionics.super
|
||||
button(type="roll", name="roll_Psionics_macro", data-i18n="PSIONICS", value!=`/w "@{character_name}" &{template:swn-default} {{charname=@{name}}} {{title=^{PSYCHIC_SKILLS_TECHNIQUES}}} {{buttons=@{macro_psionics}}}`).unstyled-button.super-psionics.super
|
||||
input(type="hidden", name="attr_macro_magic")
|
||||
button(type="roll", name="roll_Magic_macro", data-i18n="MAGIC", value=`/w "@{character_name}" &{template:swn-default} {{charname=@{name}}} {{title=^{SPACE_MAGIC}}} {{buttons=@{macro_magic}}}`).unstyled-button.super-magic.super
|
||||
button(type="roll", name="roll_Magic_macro", data-i18n="MAGIC", value!=`/w "@{character_name}" &{template:swn-default} {{charname=@{name}}} {{title=^{SPACE_MAGIC}}} {{buttons=@{macro_magic}}}`).unstyled-button.super-magic.super
|
||||
|
||||
//- Stats
|
||||
.core.core-stats.col-1-3
|
||||
.main.core-box-text
|
||||
h3(data-i18n="CORE_STATISTICS")
|
||||
.main-content
|
||||
+text-input-duo("HP", "HP_max", "HIT_POINTS").important
|
||||
+text-input-duo("HP", "HP_max", false, {value: "0"}).important
|
||||
button.unstyled-button(type="roll", name="roll_HP", data-i18n="HIT_POINTS" value!="&{template:swn-default} {{charname=@{name}}} {{title=^{HIT_POINTS}}} {{ =[[{@{level}d6 + @{level}*@{constitution_mod}[CON] + @{level}*@{extra_hp_query}, @{hp|max} + 1d1}kh1 ]]}} {{info=^{MAXIMUM_HP_1} @{level}d6 + @{level}*[[@{constitution_mod}[CON] + @{extra_hp_query}]] ^{MAXIMUM_HP_2} [[@{hp|max} + 1]]}}")
|
||||
+text-input-duo("strain", "strain_max", "SYSTEM_STRAIN", {value: "10", readonly: true, "data-i18n-title": "CONSTITUTION"})(min="0", value="0")
|
||||
+text-input("strain_permanent", "PERMANENT_STRAIN")(type="number", min="0", value="0").center
|
||||
+text-input-duo("xp", "xp_next", "XP_NEXT_LEVEL", {min: "0", value: "3"})(min="0", value="0")
|
||||
@@ -73,7 +110,7 @@ input(type="hidden", name="attr_setting_skill_query", value="hover").skills-quer
|
||||
+text-input("attack_bonus", "ATTACK_BONUS")(type="number", min="0", value="0").center
|
||||
input(type="hidden", name="attr_setting_heroic_enable", value="0").hider
|
||||
+text-input("hp_doom")(type="number").center
|
||||
button.unstyled-button.doombutton(type="roll", name="roll_Doom", data-i18n="DOOM_DAMAGE", data-i18n-title="DEFY_DOOM", value="&{template:swn-default} {{charname=@{name}}} {{title=^{DEFYING_DOOM}}} {{^{DOOM_DAMAGE}=[[@{level}d@{doom_size}]]}}")
|
||||
button.unstyled-button(type="roll", name="roll_Doom", data-i18n="DOOM_DAMAGE", data-i18n-title="DEFY_DOOM", value!="&{template:swn-default} {{charname=@{name}}} {{title=^{DEFYING_DOOM}}} {{^{DOOM_DAMAGE}=[[@{level}d@{doom_size}]]}}")
|
||||
.attributes.core-box
|
||||
table
|
||||
thead
|
||||
@@ -114,9 +151,10 @@ input(type="hidden", name="attr_setting_skill_query", value="hover").skills-quer
|
||||
+sectionheader("show_weapons", "WEAPONS")
|
||||
.weapons
|
||||
fieldset.repeating_weapons
|
||||
input(type="hidden", name="attr_weapon_api", value="")
|
||||
input(type="hidden", name="attr_weapon_attack_display", value="")
|
||||
input(type="hidden", name="attr_weapon_damage_display", value="")
|
||||
button(type="roll", name="roll_Attack", value="&{template:swn-attack} {{charname=@{name}}} {{title=@{weapon_name}}} {{attack=[[1d20 + @{attack_bonus}[AB] + @{weapon_attack}[Weapon AB] + [[{{@{weapon_skill_bonus},-1}>0}*(@{weapon_skill_bonus}+2) - 2]][Skill] + @{weapon_attribute_mod}[Attribute] + @{weapon_burst}[Burst] + @{modifier_query}]]}} {{damage=[[@{weapon_damage} + @{weapon_attribute_mod}[Attribute] + @{weapon_skill_to_damage}[Skill] + @{weapon_burst}[Burst]]]}} {{burst=[[@{weapon_burst}]]}} {{shock=[[@{weapon_shock_damage} + @{weapon_attribute_mod}[Attribute] + @{weapon_skill_to_damage}[Skill]]]}} {{shock_base=[[@{weapon_shock_damage}]]}} {{shock_ac=@{weapon_shock_ac}}} {{ammo=@{weapon_ammo}}} {{range=@{weapon_range}}} {{mod=[[@{modifier_query}]]}}").invisible-button.display
|
||||
button(type="roll", name="roll_Attack", value!="&{template:swn-attack} {{charname=@{name}}} {{title=@{weapon_name}}} {{attack=[[1d20 + @{attack_bonus}[AB] + @{weapon_attack}[Weapon AB] + [[{{@{weapon_skill_bonus},-1}>0}*(@{weapon_skill_bonus}+2) - 2]][Skill] + @{weapon_attribute_mod}[Attribute] @{weapon_burst} @{modifier_query}]]}} {{damage=[[@{weapon_damage} + @{weapon_attribute_mod}[Attribute] + @{weapon_skill_to_damage}[Skill] @{weapon_burst}]]}} {{burst=[[0@{weapon_burst}]]}} @{weapon_shock} {{range=@{weapon_range}}} @{weapon_use_ammo} {{mod=[[0 @{modifier_query}]]}} @{weapon_api}").invisible-button.display
|
||||
.display
|
||||
span.name.space-after
|
||||
span(name="attr_weapon_name").space-after
|
||||
@@ -127,7 +165,7 @@ input(type="hidden", name="attr_setting_skill_query", value="hover").skills-quer
|
||||
input(type="hidden", name="attr_weapon_range", value="").hide-empty
|
||||
span , #[span(data-i18n="RANGE")]: #[span(name="attr_weapon_range")]
|
||||
| )
|
||||
input(type="hidden", name="attr_weapon_ammo", value="").hide-empty
|
||||
input(type="hidden", name="attr_weapon_use_ammo", value="0").hider
|
||||
span
|
||||
| . #[span(data-i18n="AMMO")]:
|
||||
input(type="number", name="attr_weapon_ammo").inline-input
|
||||
@@ -154,44 +192,24 @@ input(type="hidden", name="attr_setting_skill_query", value="hover").skills-quer
|
||||
option(value=`@{${attr}_mod}`, data-i18n=`${attr.toUpperCase()}_SHORT`)
|
||||
+fake-text-input("BURST").burst.center
|
||||
select(name="attr_weapon_burst")
|
||||
option(value="0", data-i18n="NO")
|
||||
option(value="", data-i18n="NO", selected)
|
||||
option(value="@{burst_query}", data-i18n="ASK")
|
||||
option(value="2", data-i18n="ALWAYS")
|
||||
option(value="+ 2[Burst]", data-i18n="ALWAYS")
|
||||
+text-input("weapon_damage", "DAMAGE")(value="0").damage.center
|
||||
+fake-text-input("+SKILL").skill-to-damage.center
|
||||
input(type="checkbox", name="attr_weapon_skill_to_damage", value="@{weapon_skill_bonus}")
|
||||
+text-input("weapon_shock_damage", "SHOCK_DAMAGE")(value="0").shock-damage.center
|
||||
+text-input("weapon_shock_damage")(value="0").shock-damage.center
|
||||
input(type="checkbox", name="attr_weapon_shock", value!="{{shock=[[@{weapon_shock_damage} + @{weapon_attribute_mod}[Attribute] + @{weapon_skill_to_damage}[Skill]]] ^{SHOCK_DAMAGE_AGAINST_AC_LEQ} @{weapon_shock_ac}!}}")
|
||||
span(data-i18n="SHOCK_DAMAGE")
|
||||
+text-input("weapon_shock_ac", "SHOCK_AC")(type="number", value="10").shock-ac.center
|
||||
+text-input("weapon_range", "RANGE").range.center
|
||||
+text-input("weapon_ammo", "AMMO")(type="number").ammo.center
|
||||
+text-input("weapon_ammo")(type="number").ammo.center
|
||||
input(type="checkbox", name="attr_weapon_use_ammo", value!="{{ammo=[[0@{weapon_ammo} - (1 @{weapon_burst})]]}}")
|
||||
span(data-i18n="AMMO")
|
||||
|
||||
//- Foci
|
||||
.section.foci-left
|
||||
+sectionheader("show_foci", "FOCI")
|
||||
.foci.simple-repsection
|
||||
input(type="hidden", name="attr_show_focus_details", value="1").input-details
|
||||
.name.flex
|
||||
div(data-i18n="CLASS_ABILITY")
|
||||
label.details-button
|
||||
input(type="checkbox", name="attr_show_focus_details", value="1", checked)
|
||||
span(data-i18n="EXPAND")
|
||||
.display
|
||||
.details
|
||||
span(name="attr_class_ability")
|
||||
.edit
|
||||
textarea.details(name="attr_class_ability")
|
||||
fieldset.repeating_foci
|
||||
button.display.invisible-button(type="roll", name="roll_Focus", value="&{template:swn-default} {{charname=@{name}}} {{info=^{FOCUS}}} {{title=@{focus_name}}} {{desc=@{focus_description}}}")
|
||||
.display
|
||||
.name.flex
|
||||
span(name="attr_focus_name")
|
||||
span.level #[span(data-i18n="LEVEL")]-#[span(name="attr_focus_level")]
|
||||
.details
|
||||
span(name="attr_focus_description")
|
||||
.edit.flex-wrap
|
||||
input.name(type="text", name="attr_focus_name", data-i18n-placeholder="FOCUS")
|
||||
input.level(type="number", min="0", name="attr_focus_level", data-i18n-placeholder="LEVEL")
|
||||
textarea.details(name="attr_focus_description", data-i18n-placeholder="DESCRIPTION")
|
||||
+foci
|
||||
|
||||
.section.super
|
||||
+sectionheader("show_psionics", false)
|
||||
@@ -227,7 +245,7 @@ input(type="hidden", name="attr_setting_skill_query", value="hover").skills-quer
|
||||
span(data-i18n="EXPAND")
|
||||
input(type="hidden", name="attr_show_technique_details", value="1").input-details
|
||||
fieldset.repeating_techniques
|
||||
button.display.invisible-button(name="roll_Technique", type="roll", value="&{template:swn-default} {{charname=@{name}}} {{info=^{PSYCHIC_TECHNIQUE}}} {{title=@{technique_name}}} {{desc=@{technique_description}}}")
|
||||
button.display.invisible-button(name="roll_Technique", type="roll", value!="&{template:swn-default} {{charname=@{name}}} {{info=^{PSYCHIC_TECHNIQUE}}} {{title=@{technique_name}}} {{desc=@{technique_description}}}")
|
||||
.display
|
||||
.name #[span(name="attr_technique_name")]
|
||||
.details #[span(name="attr_technique_description")]
|
||||
@@ -254,7 +272,7 @@ input(type="hidden", name="attr_setting_skill_query", value="hover").skills-quer
|
||||
.prepared(data-i18n="PREPARED")
|
||||
.damage(data-i18n="DAMAGE")
|
||||
fieldset.repeating_spells
|
||||
button.display.invisible-button(type="roll", name="roll_Spell", value="&{template:swn-default} {{charname=@{name}}} {{title=@{spell_name}}} {{info=^{SPELL}}} {{desc=@{spell_description}}} {{damage=[[@{spell_damage}]]}}")
|
||||
button.display.invisible-button(type="roll", name="roll_Spell", value!="&{template:swn-default} {{charname=@{name}}} {{title=@{spell_name}}} {{info=^{SPELL}}} {{desc=@{spell_description}}} {{damage=[[@{spell_damage}]]}}")
|
||||
.display
|
||||
.name.flex-center
|
||||
span(name="attr_spell_name")
|
||||
@@ -267,8 +285,8 @@ input(type="hidden", name="attr_setting_skill_query", value="hover").skills-quer
|
||||
input.damage(type="text", name="attr_spell_damage", value="0")
|
||||
textarea.details(name="attr_spell_description")
|
||||
|
||||
//- Skills
|
||||
.column
|
||||
//- Skills
|
||||
.section
|
||||
+sectionheader("show_skills", "SKILLS")
|
||||
.skills
|
||||
@@ -300,31 +318,7 @@ input(type="hidden", name="attr_setting_skill_query", value="hover").skills-quer
|
||||
|
||||
//- Foci
|
||||
.section.foci-right
|
||||
+sectionheader("show_foci", "FOCI")
|
||||
.foci.simple-repsection
|
||||
input(type="hidden", name="attr_show_focus_details", value="1").input-details
|
||||
.name.flex
|
||||
div(data-i18n="CLASS_ABILITY")
|
||||
label.details-button
|
||||
input(type="checkbox", name="attr_show_focus_details", value="1", checked)
|
||||
span(data-i18n="EXPAND")
|
||||
.display
|
||||
.details
|
||||
span(name="attr_class_ability")
|
||||
.edit
|
||||
textarea.details(name="attr_class_ability")
|
||||
fieldset.repeating_foci
|
||||
button.display.invisible-button(type="roll", name="roll_Focus", value="&{template:swn-default} {{charname=@{name}}} {{title=@{focus_name}}} {{info=^{FOCUS}}} {{desc=@{focus_description}}}")
|
||||
.display
|
||||
.name.flex
|
||||
span(name="attr_focus_name")
|
||||
span.level #[span(data-i18n="LEVEL")]-#[span(name="attr_focus_level")]
|
||||
.details
|
||||
span(name="attr_focus_description")
|
||||
.edit.flex-wrap
|
||||
input.name(type="text", name="attr_focus_name", data-i18n-placeholder="FOCUS")
|
||||
input.level(type="number", min="0", name="attr_focus_level", data-i18n-placeholder="LEVEL")
|
||||
textarea.details(name="attr_focus_description", data-i18n-placeholder="DESCRIPTION")
|
||||
+foci
|
||||
|
||||
//- Gear
|
||||
.section.col-1-3
|
||||
@@ -340,14 +334,22 @@ input(type="hidden", name="attr_setting_skill_query", value="hover").skills-quer
|
||||
+text-input("credits", "CREDITS")(value="0", min="0", type="number").center
|
||||
+text-input("credits_owed", "CREDITS_OWED")(value="0", min="0", type="number").center
|
||||
.grey-box
|
||||
fieldset.repeating_weapons
|
||||
.flex
|
||||
input.name(type="text", name="attr_weapon_name", readonly)
|
||||
input.encumbrance(type="number", min="0", value="0", name="attr_weapon_encumbrance", data-i18n-title="ENCUMBRANCE")
|
||||
select.status(name="attr_weapon_status")
|
||||
option(value="", data-i18n="OTHER", selected)
|
||||
option(value="READIED", data-i18n="READIED")
|
||||
option(value="STOWED", data-i18n="STOWED")
|
||||
fieldset.repeating_gear
|
||||
.flex
|
||||
input.name(type="text", name="attr_gear_name", data-i18n-placeholder="ITEM")
|
||||
input.encumbrance(type="number", min="0", value="0", name="attr_gear_encumbrance", data-i18n-title="ENCUMBRANCE")
|
||||
select.status(name="attr_gear_status")
|
||||
option(value="", data-i18n="OTHER", selected)
|
||||
option(value="readied", data-i18n="READIED")
|
||||
option(value="stowed", data-i18n="STOWED")
|
||||
option(value="READIED", data-i18n="READIED")
|
||||
option(value="STOWED", data-i18n="STOWED")
|
||||
.grey-box.other
|
||||
h3(data-i18n="OTHER_EQUIPMENT")
|
||||
textarea(name="attr_gear_other").other-gear
|
||||
@@ -372,7 +374,7 @@ input(type="hidden", name="attr_setting_skill_query", value="hover").skills-quer
|
||||
span(data-i18n="EXPAND")
|
||||
input(type="hidden", name="attr_show_cyberware_details", value="1").input-details
|
||||
fieldset.repeating_cyberware
|
||||
button.display.invisible-button(name="roll_Cyberware", type="roll", value="&{template:swn-default} {{charname=@{name}}} {{title=@{cyberware_name}}} {{info=^{CYBERWARE}; @{cyberware_strain} ^{STRAIN}}} {{desc=@{cyberware_description}}}")
|
||||
button.display.invisible-button(name="roll_Cyberware", type="roll", value!="&{template:swn-default} {{charname=@{name}}} {{title=@{cyberware_name}}} {{info=^{CYBERWARE}; @{cyberware_strain} ^{STRAIN}}} {{desc=@{cyberware_description}}}")
|
||||
.display
|
||||
.name.flex-between
|
||||
span(name="attr_cyberware_name")
|
||||
|
||||
@@ -36,6 +36,14 @@ input(type="hidden", name="attr_show_settings" value="0").hider
|
||||
span(data-i18n="ADD_EXTRA_SKILLS").colon-after
|
||||
input(type="checkbox", name="attr_homebrew_extra_skills", value="1")
|
||||
span(data-i18n="ADD_EXTRA_SKILLS_DESC")
|
||||
h2 API
|
||||
p
|
||||
label
|
||||
span.colon
|
||||
span(data-i18n="USE_AMMO_AUTOMATICALLY")
|
||||
span.api API
|
||||
input(type="checkbox", name="attr_setting_use_ammo", value="1")
|
||||
span(data-i18n="REQUIRES_CHATSETATTR")
|
||||
div
|
||||
h2(data-i18n="CHARACTER_OPTIONS")
|
||||
p
|
||||
@@ -82,6 +90,11 @@ input(type="hidden", name="attr_show_settings" value="0").hider
|
||||
option(value="left", data-i18n="LEFT_COLUMN")
|
||||
option(value="right", data-i18n="RIGHT_COLUMN")
|
||||
span(data-i18n="FOCI_LOCATION_DESC")
|
||||
p
|
||||
label
|
||||
span(data-i18n="QUERY_FOR_MODIFIERS").colon-after
|
||||
input(type="checkbox", name="attr_setting_modifier_query", value="1", checked)
|
||||
span(data-i18n="QUERY_FOR_MODIFIERS_DESC")
|
||||
p
|
||||
label
|
||||
span(data-i18n="FINE_NPC_WHISPERING").colon-after
|
||||
|
||||
@@ -74,7 +74,7 @@ mixin makeSave(name)
|
||||
button name, and for translation keys.
|
||||
.blue-button
|
||||
input(type="hidden", name=`attr_save_${name}`, value="15")
|
||||
button(name=`roll_save_${name}`, type="roll", value=`&{template:swn-save} {{charname=@{name}}} {{title=^{${name.toUpperCase()}_SAVE}}} {{dice=[[1d20]]}} {{save=[[@{save_${name}}]]}}`)
|
||||
button(name=`roll_save_${name}`, type="roll", value!=`&{template:swn-save} {{charname=@{name}}} {{title=^{${name.toUpperCase()}_SAVE}}} {{dice=[[1d20]]}} {{save=[[@{save_${name}}]]}}`)
|
||||
| v#[span(name=`attr_save_${name}`)]
|
||||
div(data-i18n=name.toUpperCase())
|
||||
|
||||
@@ -92,7 +92,7 @@ mixin makeSkill(skillName, custom, label)
|
||||
else
|
||||
- skillPrefix = skillName ? `skill_${skillName}` : "skill";
|
||||
.skill(data-i18n-list-item=skillName)
|
||||
button(type="roll", name=`roll_${skillPrefix}`, value=`&{template:swn-skill} {{title=${custom ? `@{${skillPrefix}_name}` : `^{${skillName.toUpperCase()}}`}}} {{charname=@{name}}} {{mod=[[@{modifier_query}]]}} {{dice=[[@{${skillPrefix}_specialist} + @{${skillPrefix}}[Skill] + @{modifier_query} @{${skillPrefix}_query}`).invisible-button.display
|
||||
button(type="roll", name=`roll_${skillPrefix}`, value!=`&{template:swn-skill} {{title=${custom ? `@{${skillPrefix}_name}` : `^{${skillName.toUpperCase()}}`}}} {{charname=@{name}}} {{mod=[[0 @{modifier_query}]]}} {{dice=[[@{${skillPrefix}_specialist} + @{${skillPrefix}}[Skill] @{modifier_query} @{${skillPrefix}_query}`).invisible-button.display
|
||||
.display.flex-center
|
||||
input(type="hidden", name=`attr_${skillPrefix}_specialist`, value="2d6").dice
|
||||
if (custom)
|
||||
|
||||
@@ -4,11 +4,11 @@ input(type="hidden", name="attr_setting_individual_hidden", value="1").input-ind
|
||||
.menus.col-3.core-box.flex-between
|
||||
h3(data-i18n="QUICK_MENUS")
|
||||
input(type="hidden", name="attr_macro_statblock", value="")
|
||||
button(type="roll", name="roll_Statblock_macro", data-i18n="STATBLOCK", value=`/w "@{character_name}" &{template:swn-default} {{charname=@{npc_name}}} {{title=[**^{HD}** @{npc_hd}](~npc_hp), ^{AC} @{AC}}} {{buttons=@{macro_statblock}}}`).unstyled-button
|
||||
button(type="roll", name="roll_Statblock_macro", data-i18n="STATBLOCK", value!=`/w "@{character_name}" &{template:swn-default} {{charname=@{npc_name}}} {{title=[**^{HD}** @{npc_hd}](~npc_hp), ^{AC} @{AC}}} {{buttons=@{macro_statblock}}}`).unstyled-button
|
||||
input(type="hidden", name="attr_macro_npc_attacks", value="")
|
||||
button(type="roll", name="roll_NPC_Attack_macro", data-i18n="ATTACKS", value=`/w "@{character_name}" &{template:swn-default} {{charname=@{npc_name}}} {{title=^{ATTACKS}}} {{buttons=@{macro_npc_attacks}}}`).unstyled-button
|
||||
button(type="roll", name="roll_NPC_Attack_macro", data-i18n="ATTACKS", value!=`/w "@{character_name}" &{template:swn-default} {{charname=@{npc_name}}} {{title=^{ATTACKS}}} {{buttons=@{macro_npc_attacks}}}`).unstyled-button
|
||||
input(type="hidden", name="attr_macro_npc_abilities", value="")
|
||||
button(type="roll", name="roll_NPC_Abilities_macro", data-i18n="ABILITIES", value=`/w "@{character_name}" &{template:swn-default} {{charname=@{npc_name}}} {{title=^{ABILITIES}}} {{buttons=@{macro_npc_abilities}}}`).unstyled-button
|
||||
button(type="roll", name="roll_NPC_Abilities_macro", data-i18n="ABILITIES", value!=`/w "@{character_name}" &{template:swn-default} {{charname=@{npc_name}}} {{title=^{ABILITIES}}} {{buttons=@{macro_npc_abilities}}}`).unstyled-button
|
||||
|
||||
//- Name etc
|
||||
.core-box-text.info
|
||||
@@ -83,27 +83,27 @@ input(type="hidden", name="attr_setting_individual_hidden", value="1").input-ind
|
||||
input(type="checkbox", name="attr_npc_rolls_hidden" value="/w GM")
|
||||
.flex-between
|
||||
.blue-button
|
||||
button(type="roll", name="roll_NPC_HP", value="@{npc_hp_hidden} &{template:swn-default} {{charname=@{npc_name}}} {{title=^{HIT_POINTS}}} {{ =[[@{npc_hd}d8]]}}")
|
||||
button(type="roll", name="roll_NPC_HP", value!="@{npc_hp_hidden} &{template:swn-default} {{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")
|
||||
.blue-button
|
||||
button(type="roll", name="roll_NPC_Initiative", value="@{npc_initiative_hidden} &{template:swn-default} {{charname=@{npc_name}}} {{title=^{INITIATIVE}}} {{ =[[1d8 &{tracker}]]}}") d8
|
||||
button(type="roll", name="roll_NPC_Initiative", value!="@{npc_initiative_hidden} &{template:swn-default} {{charname=@{npc_name}}} {{title=^{INITIATIVE}}} {{ =[[1d8 &{tracker}]]}}") d8
|
||||
div(data-i18n="INITIATIVE")
|
||||
label.individual-hide
|
||||
input(type="checkbox", name="attr_npc_initiative_hidden", value="/w GM")
|
||||
span(data-i18n="HIDE")
|
||||
.blue-button
|
||||
button(type="roll", name="roll_NPC_Save", value="@{npc_save_hidden} &{template:swn-save} {{title=^{SAVING_THROW}}} {{charname=@{npc_name}}} {{save=[[@{npc_saves}]]}} {{dice=[[1d20]]}}")
|
||||
button(type="roll", name="roll_NPC_Save", value!="@{npc_save_hidden} &{template:swn-save} {{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")
|
||||
.blue-button
|
||||
button(type="roll", name="roll_NPC_Skill", value="@{npc_skill_hidden} &{template:swn-skill} {{charname=@{npc_name}}} {{title=@{skill_name_query}}} {{dice=[[2d6 + @{proficient_query}]]}}")
|
||||
button(type="roll", name="roll_NPC_Skill", value!="@{npc_skill_hidden} &{template:swn-skill} {{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")
|
||||
@@ -111,14 +111,14 @@ input(type="hidden", name="attr_setting_individual_hidden", value="1").input-ind
|
||||
input(type="checkbox", name="attr_npc_skill_hidden", value="/w GM")
|
||||
span(data-i18n="HIDE")
|
||||
.blue-button
|
||||
button(type="roll", name="roll_NPC_Morale", value="@{npc_morale_hidden} &{template:swn-save} {{charname=@{npc_name}}} {{title=^{MORALE}}} {{morale=[[@{npc_morale}]]}} {{dice=[[2d6]]}}")
|
||||
button(type="roll", name="roll_NPC_Morale", value!="@{npc_morale_hidden} &{template:swn-save} {{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")
|
||||
.blue-button
|
||||
button(type="roll", name="roll_NPC_Reaction", value="@{npc_reaction_hidden} &{template:swn-default} {{title=^{REACTION}}} {{charname=@{npc_name}}} {{reaction=[[2d6 + @{modifier_query}]]}}") 2d6
|
||||
button(type="roll", name="roll_NPC_Reaction", value!="@{npc_reaction_hidden} &{template:swn-default} {{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")
|
||||
@@ -137,7 +137,7 @@ input(type="hidden", name="attr_setting_individual_hidden", value="1").input-ind
|
||||
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} {{charname=@{npc_name}}} {{title=@{attack_name}}} {{attack=[[1d20 + @{attack_ab} + @{attack_burst} + @{modifier_query}]]}} {{damage=[[@{attack_damage} + @{attack_burst}]]}} {{burst=[[@{attack_burst}]]}} @{attack_extra_macro}").invisible-button.display
|
||||
button(type="roll", name="roll_Attack", value!="@{npc_attacks_hidden} &{template:swn-attack} {{charname=@{npc_name}}} {{title=@{attack_name}}} {{attack=[[1d20 + @{attack_ab} @{attack_burst} @{modifier_query}]]}} {{damage=[[@{attack_damage} @{attack_burst}]]}} {{burst=[[0@{attack_burst}]]}} @{attack_extra_macro}").invisible-button.display
|
||||
.display.flex-between.grey-box-bordered
|
||||
span.name
|
||||
span(name="attr_attack_name").space-after
|
||||
@@ -150,13 +150,13 @@ input(type="hidden", name="attr_setting_individual_hidden", value="1").input-ind
|
||||
span(name="attr_attack_damage")
|
||||
.edit.flex.grey-box-bordered
|
||||
+text-input("attack_name", "NAME").name
|
||||
+text-input("attack_ab", "ATTACK_BONUS_SHORT")(type="number").ab.center
|
||||
+text-input("attack_ab", "ATTACK_BONUS_SHORT")(type="number", value="0").ab.center
|
||||
+text-input("attack_damage", "DAMAGE")(value="0").damage.center
|
||||
+fake-text-input("BURST").burst.center
|
||||
select(name="attr_attack_burst")
|
||||
option(value="0", data-i18n="NO")
|
||||
option(value="@{burst_query}", data-i18n="ASK", selected)
|
||||
option(value="2", data-i18n="ALWAYS")
|
||||
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
|
||||
|
||||
//- Abilities
|
||||
@@ -168,7 +168,7 @@ input(type="hidden", name="attr_setting_individual_hidden", value="1").input-ind
|
||||
span(data-i18n="HIDDEN")
|
||||
input(type="checkbox", name="attr_npc_abilities_hidden" value="/w GM")
|
||||
fieldset.repeating_npc-abilities
|
||||
button.display.invisible-button(type="roll", name="roll_Ability", value="@{npc_abilities_hidden} &{template:swn-default} {{charname=@{npc_name}}} {{title=@{ability_name}}} {{desc=@{ability_description}}}")
|
||||
button.display.invisible-button(type="roll", name="roll_Ability", value!="@{npc_abilities_hidden} &{template:swn-default} {{charname=@{npc_name}}} {{title=@{ability_name}}} {{desc=@{ability_description}}}")
|
||||
.display.grey-box-bordered
|
||||
span(name="attr_ability_name").name.space-after
|
||||
span(name="attr_ability_description").description
|
||||
|
||||
@@ -59,9 +59,9 @@ rolltemplate.sheet-rolltemplate-swn-attack
|
||||
.roll {{attack4}}
|
||||
.rollname.damage(data-i18n="DAMAGE")
|
||||
.roll {{damage4}}
|
||||
| {{/attack4}}{{#rollGreater() shock_base 0}}
|
||||
.shock {{shock}} #[span(data-i18n="SHOCK_DAMAGE_AGAINST_AC_LEQ")] {{shock_ac}}!
|
||||
| {{/rollGreater() shock_base 0}}
|
||||
| {{/attack4}} {{#shock}}
|
||||
.shock {{shock}}
|
||||
| {{/shock}}
|
||||
.info
|
||||
| {{#range}}
|
||||
span #[span(data-i18n="RANGE")] {{range}}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
.menus.col-4.core-box.flex-between
|
||||
h3(data-i18n="QUICK_MENUS")
|
||||
input(type="hidden", name="attr_macro_ship_weapons", value="")
|
||||
button(type="roll", name="roll_ship_weapon_macro", data-i18n="WEAPONS", value=`/w "@{character_name}" &{template:swn-default} {{charname=@{ship_name}}} {{title=^{WEAPONS}}} {{buttons=@{macro_ship_weapons}}}`).unstyled-button
|
||||
button(type="roll", name="roll_ship_weapon_macro", data-i18n="WEAPONS", value!=`/w "@{character_name}" &{template:swn-default} {{charname=@{ship_name}}} {{title=^{WEAPONS}}} {{buttons=@{macro_ship_weapons}}}`).unstyled-button
|
||||
|
||||
//- Ship header
|
||||
.info.core-box-text.flex.col-1-3
|
||||
@@ -34,7 +34,8 @@
|
||||
+sectionheader("show_ship_weapons", "WEAPONS")
|
||||
.ship-weapons
|
||||
fieldset.repeating_ship-weapons
|
||||
button(type="roll", name="roll_Attack", value="&{template:swn-attack} {{charname=@{ship_name}}} {{title=@{weapon_name} – @{weapon_qualities}}} {{attack=[[1d20 + @{weapon_attack_bonus}[Attack Bonus] + @{modifier_query}]]}} {{damage=[[@{weapon_damage}]]}}").display.invisible-button
|
||||
input(type="hidden", name="attr_weapon_api", value="")
|
||||
button(type="roll", name="roll_Attack", value!="&{template:swn-attack} {{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")]:
|
||||
@@ -54,7 +55,7 @@
|
||||
| , #[span(data-i18n="HARDPOINTS")]
|
||||
span(name="attr_weapon_hardpoints")
|
||||
| )
|
||||
input(type="hidden", name="attr_weapon_ammo_max", value="").hide-empty
|
||||
input(type="hidden", name="attr_weapon_use_ammo", value="0").hider
|
||||
span
|
||||
| . #[span(data-i18n="AMMO")]:
|
||||
input(type="number", name="attr_weapon_ammo").inline-input
|
||||
@@ -70,7 +71,9 @@
|
||||
+text-input("weapon_attack_bonus", "ATTACK_BONUS_SHORT")(type="number", value="0").center.number
|
||||
+text-input("weapon_damage", "DAMAGE")(value="0").center.damage
|
||||
+text-input("weapon_qualities", "QUALITIES").qualities
|
||||
+text-input-duo("weapon_ammo", "weapon_ammo_max", "AMMO", {min: "0"})(min="0")
|
||||
+text-input-duo("weapon_ammo", "weapon_ammo_max", "", {min: "0"})(min="0")
|
||||
input(type="checkbox", name="attr_weapon_use_ammo", value="{{ammo=[[@{weapon_ammo} - 1]] / @{weapon_ammo_max}}}")
|
||||
span(data-i18n="AMMO")
|
||||
|
||||
//- Fittings
|
||||
.section.col-3-5.row-3-5
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -2,6 +2,7 @@
|
||||
"+SKILL": "+skill",
|
||||
"ABILITIES": "Abilities",
|
||||
"ABILITY": "Ability",
|
||||
"ABLATIVE_HULL_COMPARTMENTS": "Ablative Hull Compartments",
|
||||
"AC": "AC",
|
||||
"AC_DESC": "Determined by armor in Gear section",
|
||||
"ADD_EXTRA_SKILLS": "Add extra skills",
|
||||
@@ -9,33 +10,60 @@
|
||||
"ADD_LUCK_SAVE": "Add a luck save",
|
||||
"ADD_LUCK_SAVE_DESC": "Add a homebrew Luck Save for those times where only pure luck can pull the character through.",
|
||||
"ADMINISTER": "Administer",
|
||||
"ADVANCED_LAB": "Advanced lab",
|
||||
"ADVANCED_LAB_DESC": "Skill bonus for analysis and research.",
|
||||
"ADVANCED_NAV_COMPUTER": "Advanced nav computer",
|
||||
"ADVANCED_NAV_COMPUTER_DESC": "Adds +2 for travelling familiar spike courses.",
|
||||
"ALWAYS": "Always",
|
||||
"AMMO": "Ammo",
|
||||
"AMPHIBIOUS_OPERATION": "Amphibious operation",
|
||||
"AMPHIBIOUS_OPERATION_DESC": "Can land and can operate under water.",
|
||||
"AP": "AP",
|
||||
"ARMOR": "Armor",
|
||||
"ARMOR_CLASS": "Armor Class",
|
||||
"ARMORY": "Armory",
|
||||
"ARMORY_DESC": "Weapons and armor for the crew.",
|
||||
"ARTIST": "Artist",
|
||||
"ASK": "Ask",
|
||||
"ASSISTED": "Assisted",
|
||||
"ATHLETICS": "Athletics",
|
||||
"ATMOSPHERIC_CONFIGURATION": "Atmospheric configuration",
|
||||
"ATMOSPHERIC_CONFIGURATION_DESC": "Can land: Frigates and fighters only.",
|
||||
"ATTACK": "Attack",
|
||||
"ATTACK_BONUS": "Attack Bonus",
|
||||
"ATTACK_BONUS_SHORT": "AB",
|
||||
"ATTACKS": "Attacks",
|
||||
"ATTRIBUTE": "Attribute",
|
||||
"AUGMENTED_PLATING": "Augmented Plating",
|
||||
"AUTO_TARGETING_SYSTEM": "Auto-targeting system",
|
||||
"AUTO_TARGETING_SYSTEM_DESC": "Fires one weapon system per round without a gunner.",
|
||||
"AUTOMATION_SUPPORT": "Automation Ssupport",
|
||||
"AUTOMATION_SUPPORT_DESC": "Ship can use simple robots as crew.",
|
||||
"BACKGROUND": "Background",
|
||||
"BARBARIAN_HERO": "Barbarian Hero",
|
||||
"BARBARIAN_TRIBAL": "Barbarian Tribal",
|
||||
"BASE": "Base",
|
||||
"BEAST": "Beast",
|
||||
"BIOPSIONICS": "Biopsionics",
|
||||
"BOARDING_COUNTERMEASURES": "Boarding Countermeasures",
|
||||
"BOARDING_COUNTERMEASURES_DESC": "Makes enemy boarding more difficult.",
|
||||
"BOARDING_TUBES": "Boarding tubes",
|
||||
"BOARDING_TUBES_DESC": "Allows boarding of a hostile disabled ship.",
|
||||
"BONUS": "Bonus",
|
||||
"BROKEN": "Broken",
|
||||
"BUREAUCRACY": "Bureaucracy",
|
||||
"BURST": "Burst",
|
||||
"BURST_ECM_GENERATOR": "Burst ECM Generator",
|
||||
"BURST_ECM_GENERATOR_DESC": "Negates one successful hit.",
|
||||
"BUSINESS": "Business",
|
||||
"CARGO": "Cargo",
|
||||
"CARGO_LIGHTER": "Cargo lighter",
|
||||
"CARGO_LIGHTER_DESC": "Orbit-to-surface cargo shuttle.",
|
||||
"CARGO_SPACE": "Cargo space",
|
||||
"CARGO_SPACE_DESC": "Pressurized cargo space.",
|
||||
"CHARACTER": "Character",
|
||||
"CHARACTER_OPTIONS": "Character options",
|
||||
"CHARGED_PARTICLE_CASTER": "Charged Particle Caster",
|
||||
"CHARISMA": "Charisma",
|
||||
"CHARISMA_DESC": "Commanding, charming, attracting attention, being taken seriously",
|
||||
"CHARISMA_SHORT": "CHA",
|
||||
@@ -44,6 +72,12 @@
|
||||
"CIVILIAN_SECURITY_BOT": "Civilian Security Bot",
|
||||
"CLASS": "Class",
|
||||
"CLASS_ABILITY": "Class ability",
|
||||
"CLOUD": "Cloud",
|
||||
"CLUMSY": "Clumsy",
|
||||
"COLD_SLEEP_PODS": "Cold sleep pods",
|
||||
"COLD_SLEEP_PODS_DESC": "Keeps occupants in stasis.",
|
||||
"COLONY_CORE": "Colony core",
|
||||
"COLONY_CORE_DESC": "Ship can be deconstructed into a colony base.",
|
||||
"COMBAT": "Combat",
|
||||
"COMBAT_ENERGY": "Combat/Energy Weapons",
|
||||
"COMBAT_GUNNERY": "Combat/Gunnery",
|
||||
@@ -82,18 +116,33 @@
|
||||
"DEXTERITY_DESC": "Speed, evasion, manual dexterity, reaction time, combat initiative",
|
||||
"DEXTERITY_SHORT": "DEX",
|
||||
"DOOM_DAMAGE": "Doom damage",
|
||||
"DRILL_COURSE_REGULATOR": "Drill course regulator",
|
||||
"DRILL_COURSE_REGULATOR_DESC": "Common drill routes become auto-successes.",
|
||||
"DROP_POD": "Drop pod",
|
||||
"DROP_POD_DESC": "Stealthed landing pod for troops.",
|
||||
"EDIT_MODE_ONLY": "Edit mode only",
|
||||
"EFFECT": "Effect",
|
||||
"EFFORT_MODIFIER": "Effort modifier",
|
||||
"ELITE_FIGHTER": "Elite Fighter",
|
||||
"EMISSIONS_DAMPERS": "Emissions dampers",
|
||||
"EMISSIONS_DAMPERS_DESC": "Adds +2 to skill checks to avoid detection.",
|
||||
"ENCUMBRANCE": "Encumbrance",
|
||||
"ENCUMBRANCE_SHORT": "Enc",
|
||||
"EQUIPMENT": "Equipment",
|
||||
"EVASION": "Evasion",
|
||||
"EVASION_SAVE": "Evasion Save",
|
||||
"EXERT": "Exert",
|
||||
"EXODUS_BAY": "Exodus bay",
|
||||
"EXODUS_BAY_DESC": "House vast number of cold sleep passengers.",
|
||||
"EXOSUIT": "Exosuit",
|
||||
"EXPAND": "Expand",
|
||||
"EXTENDED_LIFE_SUPPORT": "Extended life support",
|
||||
"EXTENDED_LIFE_SUPPORT_DESC": "Doubles maximum crew size.",
|
||||
"EXTENDED_MEDBAY": "Extended medbay",
|
||||
"EXTENDED_MEDBAY_DESC": "Can provide medical care to more patients.",
|
||||
"EXTENDED_STORE": "Extended store",
|
||||
"EXTENDED_STORE_DESC": "Maximum life support duration doubled.",
|
||||
"EXTRA_HP_QUERY": "Extra hit points? Enter 2 for Warrior",
|
||||
"FACTION": "Faction",
|
||||
"FAILURE!": "Failure!",
|
||||
"FINE_NPC_WHISPERING": "Fine-grained NPC whispers",
|
||||
@@ -101,11 +150,20 @@
|
||||
"FIRST_EDITION": "First Edition",
|
||||
"FITTING": "Fitting",
|
||||
"FIX": "Fix",
|
||||
"FLAK": "Flak",
|
||||
"FLAK_EMITTER_BATTERY": "Flak Emitter Battery",
|
||||
"FOCI": "Foci",
|
||||
"FOCI_LOCATION": "Foci location",
|
||||
"FOCI_LOCATION_DESC": "Determines where the foci section on the character sheet is shown.",
|
||||
"FOCUS": "Focus",
|
||||
"FOXER_DRONES": "Foxer Drones",
|
||||
"FOXER_DRONES_DESC": "+2 AC for one round when fired, Ammo 5.",
|
||||
"FRACTAL_IMPACT_CHARGE": "Fractal Impact Charge",
|
||||
"FRIENDLY": "Friendly",
|
||||
"FUEL_BUNKERS": "Fuel bunkers",
|
||||
"FUEL_BUNKERS_DESC": "Adds fuel for one more drill between fuelings.",
|
||||
"FUEL_SCOOPS": "Fuel scoops",
|
||||
"FUEL_SCOOPS_DESC": "Ship can scoop fuel from a gas giant or star.",
|
||||
"GAMBLING": "Gambling",
|
||||
"GANG_BOSS": "Gang Boss",
|
||||
"GANG_MEMBER": "Gang Member",
|
||||
@@ -116,7 +174,12 @@
|
||||
"GENERIC_HUMAN": "Generic human",
|
||||
"GLOBAL_STATS": "Global stats",
|
||||
"GOALS": "Goals",
|
||||
"GRAV_EDDY_DISPLACER": "Grav Eddy Displacer",
|
||||
"GRAV_EDDY_DISPLACER_DESC": "1 in 6 chance of any given attack missing.",
|
||||
"GRAVCANNON": "Gravcannon",
|
||||
"GREATER_LONE_PREDATOR": "Greater Lone Predator",
|
||||
"HARDENED_POLYCERAMIC_OVERLAY": "Hardened Polyceramic Overlay",
|
||||
"HARDENED_POLYCERAMIC_OVERLAY_DESC": "AP quality of attacking weapons reduced by 5.",
|
||||
"HARDPOINTS": "Hardpoints",
|
||||
"HARDPOINTS_SHORT": "Hardpts",
|
||||
"HD": "HD",
|
||||
@@ -134,6 +197,8 @@
|
||||
"HOMEWORLD": "Homeworld",
|
||||
"HOSTILE": "Hostile",
|
||||
"HULL_TYPE": "Hull Type",
|
||||
"HYDROPONIC_PRODUCTION": "Hydroponic production",
|
||||
"HYDROPONIC_PRODUCTION_DESC": "Ship produces life support resources.",
|
||||
"INDUSTRIAL_WORK_BOT": "Industrial Work Bot",
|
||||
"INITIATIVE": "Inititative",
|
||||
"INNATE_AC": "Innate AC",
|
||||
@@ -155,15 +220,25 @@
|
||||
"LEGENDARY_FIGHTER": "Legendary Fighter",
|
||||
"LESSER_LONE_PREDATOR": "Lesser Lone Predator",
|
||||
"LEVEL": "Level",
|
||||
"LIFEBOATS": "Lifeboats",
|
||||
"LIFEBOATS_DESC": "Emergency escape craft for ship's crew.",
|
||||
"LIGHTNING_CHARGE_MANTLE": "Lightning Charge Mantle",
|
||||
"LUCK": "Luck",
|
||||
"LUCK_SAVE": "Luck Save",
|
||||
"LUXURY_CABINS": "Luxury cCabins",
|
||||
"LUXURY_CABINS_DESC": "10% of max crew get luxurious quarters.",
|
||||
"MAG_SPIKE_ARRAY": "Mag Spike Array",
|
||||
"MAGIC": "Magic",
|
||||
"MAINTENANCE COST": "Maintenance Cost",
|
||||
"MARTIAL_HUMAN": "Martial Human",
|
||||
"MASS": "Mass",
|
||||
"MASS_CANNON": "Mass Cannon",
|
||||
"MAX": "Max",
|
||||
"MAXIMUM": "Maximum",
|
||||
"MAXIMUM_EFFORT_DESC": "1 + WIS/CON mod + highest psychic skill + effort modifier",
|
||||
"MAXIMUM_HIT_POINTS": "Maximum hit points",
|
||||
"MAXIMUM_HP_1": "Maximum of",
|
||||
"MAXIMUM_HP_2": "and",
|
||||
"MECH": "Mech",
|
||||
"MENTAL": "Mental",
|
||||
"MENTAL_SAVE": "Mental Save",
|
||||
@@ -171,10 +246,16 @@
|
||||
"MILITARY_ELITE": "Military Elite",
|
||||
"MILITARY_SOLDIER": "Military Soldier",
|
||||
"MISCELLANEOUS": "Miscellaneous",
|
||||
"MOBILE_EXTRACTOR": "Mobile extractor",
|
||||
"MOBILE_EXTRACTOR_DESC": "Space mining and refinery fittings.",
|
||||
"MOBILE_FACTORY": "Mobile factory",
|
||||
"MOBILE_FACTORY_DESC": "Self-sustaining factory and repair facilities.",
|
||||
"MODIFIER": "Modifier",
|
||||
"MODIFIER_SHORT": "Mod",
|
||||
"MONEY": "Money",
|
||||
"MORALE": "Morale",
|
||||
"MOVE": "Move",
|
||||
"MULTIFOCAL_LASER": "Multifocal Laser",
|
||||
"NAME": "Name",
|
||||
"NAVIGATION": "Navigation",
|
||||
"NEGATIVE": "Negative",
|
||||
@@ -188,6 +269,7 @@
|
||||
"NOTICE": "Notice",
|
||||
"NPC": "NPC",
|
||||
"NPC_DESC": "The NPC option sets new characters to default to the NPC sheet. Useful if the player characters have already been created and all new character sheets added to the game will likely represent non-player characters.",
|
||||
"NUCLEAR_MISSILES": "Nuclear Missiles",
|
||||
"NUM_ATTACKS": "# Attacks",
|
||||
"NUMBER_OF_DICE": "Number of dice",
|
||||
"OPERATING_COST": "Operating Cost",
|
||||
@@ -203,16 +285,26 @@
|
||||
"PHYSICAL_SAVE": "Physical Save",
|
||||
"PILOT": "Pilot",
|
||||
"PIRATE_KING": "Pirate King",
|
||||
"PLANETARY_DEFENSE_ARRAY": "Planetary Defense Array",
|
||||
"PLANETARY_DEFENSE_ARRAY_DESC": "Anti-impact and anti-nuke surface defenses.",
|
||||
"PLASMA_BEAM": "Plasma Beam",
|
||||
"POINT_DEFENSE_LASERS": "Point Defense Lasers",
|
||||
"POINT_DEFENSE_LASERS_DESC": "+2 AC versus weapons that use ammo.",
|
||||
"POLICE_OFFICER": "Police Officer",
|
||||
"POLYSPECTRAL_MES_BEAM": "Polyspectral MES Beam",
|
||||
"POSITIVE": "Positive",
|
||||
"POWER": "Power",
|
||||
"POWERED": "Powered",
|
||||
"PRECOGNITION": "Precognition",
|
||||
"PRECOGNITIVE_NAV_CHAMBER": "Precognitive Nav Chamber",
|
||||
"PRECOGNITIVE_NAV_CHAMBER_DESC": "Allows a precog to assist in navigation.",
|
||||
"PREPARED": "Prepared",
|
||||
"PRIMITIVE": "Primitive",
|
||||
"PROFESSION": "Profession",
|
||||
"PROFICIENT": "Proficient",
|
||||
"PROGRAM": "Program",
|
||||
"PSIONIC_ANCHORPOINT": "Psionic anchorpoint",
|
||||
"PSIONIC_ANCHORPOINT_DESC": "Focal point for allied psychics' powers.",
|
||||
"PSIONICS": "Psionics",
|
||||
"PSIONICS_AND_SPACE_MAGIC": "Psionics and Space Magic",
|
||||
"PSYCHIC_SKILLS_TECHNIQUES": "Psychic Skills & Techniques",
|
||||
@@ -221,14 +313,18 @@
|
||||
"PUNCH": "Punch",
|
||||
"QUALITIES": "Qualities",
|
||||
"QUERY": "Query",
|
||||
"QUERY_FOR_MODIFIERS": "Query for modifiers",
|
||||
"QUERY_FOR_MODIFIERS_DESC": "Turn this off to stop roll buttons on the sheet from querying for roll modifiers.",
|
||||
"QUICK_MENUS": "Quick Menus",
|
||||
"QUICK_ROLLS": "Quick Rolls",
|
||||
"RANGE": "Range",
|
||||
"REACTION": "Reaction",
|
||||
"READIED": "Readied",
|
||||
"REAPER_BATTERY": "Reaper Battery",
|
||||
"RELIGION": "Religion",
|
||||
"REPAIR_BOT": "Repair Bot",
|
||||
"REPORT_AN_ISSUE": "Report an issue",
|
||||
"REQUIRES_CHATSETATTR": "Requires the ChatSetAttr API script.",
|
||||
"RESOURCES": "Resources",
|
||||
"RESULT": "Result",
|
||||
"REVISED_EDITION": "Revised Edition",
|
||||
@@ -237,6 +333,7 @@
|
||||
"ROLL_FULL_ATTACK": "Roll full attack",
|
||||
"ROLL_HP": "Roll HP",
|
||||
"ROLLS": "Rolls",
|
||||
"SANDTHROWER": "Sandthrower",
|
||||
"SAVE": "Save",
|
||||
"SAVES": "Saves",
|
||||
"SAVING_THROW": "Saving Throw",
|
||||
@@ -244,15 +341,26 @@
|
||||
"SCENE": "Scene",
|
||||
"SCIENCE": "Science",
|
||||
"SECURITY": "Security",
|
||||
"SENSOR_MASK": "Sensor mask",
|
||||
"SENSOR_MASK_DESC": "At long distances, disguise ship as another.",
|
||||
"SERIAL_KILLER": "Serial Killer",
|
||||
"SHIP": "Ship",
|
||||
"SHIP_BAY_FIGHTER": "Ship Bay/Fighter",
|
||||
"SHIP_BAY_FIGHTER_DESC": "Carrier housing for a fighter.",
|
||||
"SHIP_BAY_FRIGATE": "Ship Bay/Frigate",
|
||||
"SHIP_BAY_FRIGATE_DESC": "Carrier housing for a frigate.",
|
||||
"SHIP_TAB_LABEL": "Label for ship tab",
|
||||
"SHIPS_LOCKER": "Ship's locker",
|
||||
"SHIPS_LOCKER_DESC": "General equipment for the crew.",
|
||||
"SHIPTENDER_MOUNT": "Shiptender mount",
|
||||
"SHIPTENDER_MOUNT_DESC": "Allow another ship to hitch on a spike drive.",
|
||||
"SHOCK": "Shock",
|
||||
"SHOCK_AC": "Shock AC",
|
||||
"SHOCK_DAMAGE": "Shock damage",
|
||||
"SHOCK_DAMAGE_AGAINST_AC_LEQ": "shock damage against AC ≤",
|
||||
"SHOOT": "Shoot",
|
||||
"SHOW_HIDE": "show/hide",
|
||||
"SINGULARITY_GUN": "Singularity Gun",
|
||||
"SKILL": "Skill",
|
||||
"SKILL_AB": "Skill AB",
|
||||
"SKILL_ATTRIBUTE_CHOICE": "Skill attribute choice",
|
||||
@@ -267,6 +375,9 @@
|
||||
"SKILLS": "Skills",
|
||||
"SMALL_PACK_HUNTER": "Small Pack Hunter",
|
||||
"SMALL_VICIOUS_BEAST": "Small Vicious Beast",
|
||||
"SMART_CLOUD": "Smart Cloud",
|
||||
"SMUGGLERS_HOLD": "Smuggler's hold",
|
||||
"SMUGGLERS_HOLD_DESC": "Small amount of well-hidden cargo space.",
|
||||
"SNEAK": "Sneak",
|
||||
"SOLDIER_BOT": "Soldier Bot",
|
||||
"SPACE_MAGIC": "Space Magic",
|
||||
@@ -275,6 +386,18 @@
|
||||
"SPEED": "Speed",
|
||||
"SPELL": "Spell",
|
||||
"SPELLS": "Spells",
|
||||
"SPIKE_DRIVE_2": "Drive-2 upgrade",
|
||||
"SPIKE_DRIVE_2_DESC": "Upgrade a spike drive to drive-2 rating.",
|
||||
"SPIKE_DRIVE_3": "Drive-3 upgrade",
|
||||
"SPIKE_DRIVE_3_DESC": "Upgrade a spike drive to drive-3 rating.",
|
||||
"SPIKE_DRIVE_4": " Drive-4 upgrade",
|
||||
"SPIKE_DRIVE_4_DESC": "Upgrade a spike drive to drive-4 rating.",
|
||||
"SPIKE_DRIVE_5": "Drive-5 upgrade",
|
||||
"SPIKE_DRIVE_5_DESC": "Upgrade a spike drive to drive-5 rating.",
|
||||
"SPIKE_DRIVE_6": "Drive-6 upgrade",
|
||||
"SPIKE_DRIVE_6_DESC": "Upgrade a spike drive to drive-6 rating.",
|
||||
"SPIKE_INVERSION_PROJECTOR": "Spike Inversion Projector",
|
||||
"SPINAL_BEAM_CANNON": "Spinal Beam Cannon",
|
||||
"STAB": "Stab",
|
||||
"STAT_BLOCK": "Stat block",
|
||||
"STATBLOCK": "Statblock",
|
||||
@@ -291,8 +414,12 @@
|
||||
"SUBSYSTEMS": "Subsystems",
|
||||
"SUBSYSTEMS_DESC": "Determine which subsystems to show: Psionics, Space Magic, both, or neither.",
|
||||
"SUCCESS!": "Success!",
|
||||
"SURVEY_SENSOR_ARRAY": "Survey sensor array",
|
||||
"SURVEY_SENSOR_ARRAY_DESC": "Improved planetary sensory array",
|
||||
"SURVIVAL": "Survival",
|
||||
"SURVIVE": "Survive",
|
||||
"SYSTEM_DRIVE": "System drive",
|
||||
"SYSTEM_DRIVE_DESC": "Replace spike drive with a small system drive.",
|
||||
"SYSTEM_STRAIN": "System Strain",
|
||||
"TACTICS": "Tactics",
|
||||
"TALK": "Talk",
|
||||
@@ -306,16 +433,25 @@
|
||||
"TELEKINESIS": "Telekinesis",
|
||||
"TELEPATHY": "Telepathy",
|
||||
"TELEPORTATION": "Teleportation",
|
||||
"TELEPORTATION_PADS": "Teleportation pads",
|
||||
"TELEPORTATION_PADS_DESC": "Pretech teleportation to and from ship.",
|
||||
"TERRIFYING_APEX_PREDATOR": "Terrifying Apex Predator",
|
||||
"TORPEDO_LAUNCHER": "Torpedo Launcher",
|
||||
"TRACTOR_BEAMS": "Tractor beams",
|
||||
"TRACTOR_BEAMS_DESC": "Manipulate objects in space at a distance.",
|
||||
"TRADE": "Trade",
|
||||
"TYPE": "Type",
|
||||
"UNSPENT_SKILL_POINTS": "Unspent skill points",
|
||||
"USE_AMMO_AUTOMATICALLY": "Use ammo automatically",
|
||||
"VEHICLE_AIR": "Vehicle/Air",
|
||||
"VEHICLE_GRAV": "Vehicle/Grav",
|
||||
"VEHICLE_LAND": "Vehicle/Land",
|
||||
"VEHICLE_SPACE": "Vehicle/Space",
|
||||
"VEHICLE_TRANSPORT_FITTINGS": "Vehicle transport fittings",
|
||||
"VEHICLE_TRANSPORT_FITTINGS_DESC": "Halve tonnage space of carried vehicles.",
|
||||
"VEHICLE_WATER": "Vehicle/Water",
|
||||
"VETERAN_FIGHTER": "Veteran Fighter",
|
||||
"VORTEX_TUNNEL_INDUCTOR": "Vortex Tunnel Inductor",
|
||||
"VS": "vs",
|
||||
"VS_AC_LEQ": "vs AC ≤",
|
||||
"WARRIOR_TYRANT": "Warrior Tyrant",
|
||||
@@ -324,6 +460,8 @@
|
||||
"WISDOM_DESC": "Noticing things, making judgments, reading situations, intuition",
|
||||
"WISDOM_SHORT": "WIS",
|
||||
"WORK": "Work",
|
||||
"WORKSHOP": "Workshop",
|
||||
"WORKSHOP_DESC": "Automated tech workshops for maintenance.",
|
||||
"XP": "XP",
|
||||
"XP_NEXT_LEVEL": "XP / Next Level",
|
||||
"XP_SCHEME": "XP scheme",
|
||||
|
||||
Reference in New Issue
Block a user