diff --git a/Blades in the Dark/README.md b/Blades in the Dark/README.md index f956f6f04a..6a3b4c5459 100644 --- a/Blades in the Dark/README.md +++ b/Blades in the Dark/README.md @@ -1,9 +1,14 @@ # Blades in the Dark Character Sheet -This is a character sheet for Blades in the Dark for use on Roll20. +This is the (compressed) source code for the Blades in the Dark character sheet on Roll20. The pug/sass code used to generate it can be found [here](https://github.com/joesinghaus/Blades-in-the-Dark). If you want to hack the sheet for your own Blades hack, a more hackable version and instructions for hacking can be found [here](https://github.com/joesinghaus/Blades-template). ## Changelog +### 3.0 +* Large internal refactoring and cleanup: the sheet is now generated from pug code. There should be no functionality change from this, but it has probably introduced a few new bugs +* Unofficial Iruvian playbooks by Johnstone Metzger added +* Ancient upgrade code (pre-2.0) removed + ### 2.6 * Updates to the sheet to make the Korean translation work diff --git a/Blades in the Dark/Source/character.html b/Blades in the Dark/Source/character.html deleted file mode 100644 index 6cb64b6b35..0000000000 --- a/Blades in the Dark/Source/character.html +++ /dev/null @@ -1,1302 +0,0 @@ - -
- -
- -
- - - - - - - - - -
- You have an intense need: life essence. To satisfy this need, possess a living victim and consume their spirit energy (this may be a downtime action). When you do so, clear half your drain (round down). -
-
- - Your clockwork body runs on electroplasm. Recharge your capacitors by connecting to an industrial-grade generator (downtime action). When you do this, clear 5 drain. -
-
- Your vice is life essence, consumed from a living human. Use 1 downtime activity to hunt prey and indulge your vice. Also, when you feed, erase all level 1 harm and mark 4 ticks on your healing clock. This is is the only way you can heal. How do you feed? What telltale sign do you leave on your victims? - -
-
- -
- -
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
-
-
-
-
- - - - - - - - - - - - - - -
-
- -
- -
-
- - - - - - - -
-
- - - - - - - -
-
-
-
- - - - - -
-
- - - - - -
-
-
-
- - - - - -
-
- - - - - -
-
-
-
- -
- -
-
-
Harm
- -
-
-
-
3
-
- -
-
Need Help
-
-
-
-
-
2
-
- - -
-
-1D
-
-
-
-
-
1
-
- - -
-
Less Effect
-
-
-
- -
- -
-
- -
-
progress clock
- - -
-
-
- - - - - - -
-
-
- -
-
-
Armor uses
-
- - - -
- -
- -
-
- -
Coin
- - - - - - - - - - -
-
- - - -
-
- -
- - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - -
-
-
-
- -
-
Special Abilities
-
-
-
- - - -
- - -
-
- - -
-
-
-
-
- -
-
-
Mark XP:
-
Playbook Advancement
-
- - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-
    -
  • Every time you roll a desperate action, mark xp in that action's attribute.
  • -
  • At the end of each session, for each item below, mark 1 xp (or instead mark 2 xp if that item occurred multiple times).
  • -
  • -
    - - -
    -
  • - -
  • -
    - - -
    -
  • -
  • -
    - You expressed your beliefs, drives, heritage, or background. - -
    -
  • -
  • -
    - You struggled with issues from your vice or traumas during the session. - -
    -
  • -
-
- -
-
Teamwork
-
Assist a teammate
-
Lead a group action
-
Protect a teammate
-
Set up a teammate
-
- -
-
-
Gather Information
-
-
    -
  • - -
  • -
  • - -
  • -
  • - -
  • -
  • - -
  • -
  • - -
  • -
  • - -
  • -
  • What's really going on here?
  • -
-
-
- -
-
Strictures
-
- When you gain a new vampire trait (except veteran), add a stricture. -
-
- - In downtime, you must spend one activity resting in a dark, silent place (or else suffer 3 stress). -
-
- - You cannot enter a private residence without permission from the owner. -
-
- - Spiritbane charms can hold you at bay. (Take 2 stress to resist the repulsion.) -
-
- - When you suffer physical harm or overindulge your vice, your body twists into a horrific bestial form until you next feed without overindulging. -
-
- - Your spirit must remain in this body, or be destroyed. -
-
-
-
- -
- -
- - - -
To generate playbook abilities, items, and friends, enter the name of the playbook above:
Cutter, Hound, Leech, Lurk, Slide, Spider, Whisper, Ghost, Hull, or Vampire.
-
- -
- -
-
load
- - - -
-
-
Items
- (italics don't count for load) - -
- -
- -
-
- -
-
How much load?
- - - -
-
- - - - - - - - - - - - -
- - -
-
-
- - - -
-
- -
- - -
-
- - - -
-
-
-
- -
-
- - -
- -
-
How much load?
- - - -
-
- - - - - - - - - - - - -
-
- - - -
-
-
-
-
- -
- - Alchemicals -
-
- Bandoliers - - - - - - - - - - - - - - - - -
-
When you use a bandolier slot, choose an alchemical:
-
- - -
- - -
- -
-
-
- -
- - Planning & Load -
-
Choose a plan, provide the detail. Choose your load limit for the operation.
-
- AssaultPoint of attack -
-
- OccultArcane power -
-
- DeceptionMethod -
-
- SocialConnection -
-
- StealthEntry point -
-
- TransportRoute -
-
-
-
- -
- -
-
- - - -
- - - - - - - - - - - - - - - - - - - - - -
-
-
- -
- - - - -
- - - - - - - - - -
- -
- - - - -
- - - - - - - - - -
- -
- - - - -
- - - - - - - - - -
- -
- - - - -
- - - - - - - - - -
-
-
- -
-
- - - -
- - - - - - - - - - - - - - - - - - - - - -
-
-
- -
- - - - -
- - - - - - - - - -
- -
- - - - -
- - - - - - - - - -
- -
- - - - -
- - - - - - - - - -
- -
- - - - -
- - - - - - - - - -
-
-
- -
-
- - - -
- - - - - - - - - - - - - - - - - - - - - -
-
-
- -
- - - - -
- - - - - - - - - -
- -
- - - - -
- - - - - - - - - -
- -
- - - - -
- - - - - - - - - -
- -
- - - - -
- - - - - - - - - -
-
-
- - -
- - -
- - -
-
-
-
- -
-
- - Gang -
-
- - Elite -
-
- - Expert -
-
- -
Q:
- -
-
- - - - -
- - - -
- -
-
Bonus Die
-
-
-
+
-
-
-
Push yourself
- (take 2 ) - or - accept a -
Devil's Bargain
-
-
-
- -
-
- -
-
-
-
- - - - -
- - -
-
-
-
-
- - -
- -
-
Clocks
-
- -
- - -
- -
- - - - - -
-
-
-
-
-
-
-
-
-
-
-
-
-
- - - - - - - - - - - - - - -
-
-
-
- -
-
diff --git a/Blades in the Dark/Source/crew.html b/Blades in the Dark/Source/crew.html deleted file mode 100644 index 3111d4a342..0000000000 --- a/Blades in the Dark/Source/crew.html +++ /dev/null @@ -1,1176 +0,0 @@ - -
- -
- -
- -
Crew sheet
- - - - - - - - - -
- -
-
-
-
Rep
-
-
-
- - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-
-
Turf
-
-
- - -
-
-
- -
-
-
Hold
-
- - - -
- - -
-
- - - - - - - - - -
-
-
- -
-
- -
- - - -
- - -
- - - -
- - -
- - - -
- - -
- - - -
- - -
- - - -
-
-
- - - - - -
-
- -
- - - -
- - -
- - - -
- -
-
Lair
-
- - -
- - - -
- - -
- - - -
-
-
- - - - - -
-
- -
- - - -
- - -
- - - -
- - -
- - - -
- - -
- - - -
- - -
- - - -
-
-
-
- - - - - -
-
- -
- - - -
- - -
- - - -
- - -
- - - -
- - -
- - - -
- - -
- - - -
-
-
-
- -
- -
- -
-
-
-
- - - - - - - - - - - - - - - - - - - - - -
- -
-
- -
-
- - - - - - - - - - - -
-
-
- -
-
-
-
Coin
-
-
-
Vaults
-
-
-
- - - - - - - - - - - -
- - - - - - - - -
- - - - - - - - - - - - - - - - -
-
Upon crew advance, each PC gets Stash = Tier+2
-
-
- -
-
Special Abilities
-
-
-
- - - -
- - -
-
- - -
-
-
-
-
- -
-
-
Mark XP:
-
Crew Advancement
-
- - - - - - - - - - - - - - - - - - - - - - - -
-
-
    -
  • At the end of each session, for each item below, mark 1 xp (or instead mark 2 xp if that item occurred multiple times).
  • -
  • -
    - - -
    -
  • - -
  • -
    - - -
    -
  • -
  • Contend with challenges above your current station.
  • -
  • Bolster your crew's reputation or develop a new one.
  • -
  • Express the goals, drives, inner conflict, or essential nature of the crew.
  • -
-
-
- -
- -
- - - -
To generate crew abilities, upgrades, contacts, and claims, enter the name of the crew type above:
Assassins, Bravos, Cult, Hawkers, Shadows, Smugglers, or Vigilantes.
-
- -
- -
- Crew Upgrades -
-
- -
-
- -
-
How many boxes?
- - -
-
- - - - - - - - - - -
- - -
-
-
- - - -
-
-
- -
-
- Lair -
-
- Quality -
-
-
- - - - - -
-
- - - -
-
-
-
- - - -
-
- - - -
-
-
-
- - - - - -
-
- - - -
-
-
-
- - - -
-
- - - -
-
-
-
- - - -
-
- - - -
-
-
-
- - - -
-
- - - -
-
-
-
- - - -
-
- - - -
-
-
-
- - - -
-
- - - -
-
-
-
- - - - - -
-
- - - -
-
-
-
- - - -
-
- - - -
-
-
-
- - - - - -
-
- - - -
-
-
-
- - - -
-
- - - -
-
-
-
- - - -
-
- - - -
-
-
-
-
- Training -
-
- Cohorts -
-
-
- - - -
-
- - - -
-
-
-
Upgrade Costs
-
-
-
- - - -
-
- - - -
-
-
-
New Cohort: 2
-
-
-
- - - -
-
- - - -
-
-
-
Add Type: 2
-
-
-
- - - -
-
- - - -
-
-
-
- - - - - - - - - - - - -
-
- - - -
-
-
-
-
-
- - -
-
- - -
-
- -
- -
- -
- - -
- - -
-
-
-
- -
-
- - Gang -
-
- - Elite -
-
- - Expert -
-
- -
-
- - - - -
- - - -
- -
-
-
- - -
- - -
-
-
-
- Gang -
-
- - Gang -
-
- - Elite -
-
- - Expert -
-
- -
-
- - - - -
- - - -
-
-
- -
-
- -
-
-
-
- - -
- - -
-
-
-
-
- - -
- -
-
Clocks
-
- -
- - -
- -
- - - - - -
-
-
-
-
-
-
-
-
-
-
-
-
-
- - - - - - - - - - - - - - -
-
-
-
- -
-
diff --git a/Blades in the Dark/Source/faction.html b/Blades in the Dark/Source/faction.html deleted file mode 100644 index fd26af3cf1..0000000000 --- a/Blades in the Dark/Source/faction.html +++ /dev/null @@ -1,184 +0,0 @@ - -
- -
- - - - -
-
-
-
- - Tier - Hold - Status -
-
-
- - - - - - - -
-
-
-
-
- - Tier - Hold - Status -
-
-
- - - - - - - -
-
-
-
-
- - Tier - Hold - Status -
-
-
- - - - - - - -
-
-
- - Tier - Hold - Status -
-
-
- - - - - - - -
-
-
-
-
- - Tier - Hold - Status -
-
-
- - - - - - - -
-
-
-
War
-
    -
  • When you're at war with any number of factions (status -3), the following penalties apply:
  • -
  • Lose 1 hold (temporarily, while the war persists). This may knock you down a Tier.
  • -
  • PCs get only one free downtime action instead of two.
  • -
  • Take +1 heat from each score.
  • -
  • Your claims which generate coin (vice dens, fighting pits, fences, etc.) produce only half their normal income (round down).
  • -
-
-
-
-
-
Clocks
-
- -
- - -
- -
- - - - - -
-
-
-
-
-
-
-
-
-
-
-
-
-
- - - - - - - - - - - - - - -
-
-
-
-
- -
-
- diff --git a/Blades in the Dark/Source/rolltemplate.html b/Blades in the Dark/Source/rolltemplate.html deleted file mode 100644 index 3ac6737b98..0000000000 --- a/Blades in the Dark/Source/rolltemplate.html +++ /dev/null @@ -1,117 +0,0 @@ - - -
-
{{charname}} {{subtitle}}
-
- {{#title-text}}{{title}}{{/title-text}} - {{^title-text}}{{#rolltypetext}}[{{rolltypetext}}]({{rolltypeimage}}){{/rolltypetext}} - {{#title-insight}}{{/title-insight}} - {{#title-prowess}}{{/title-prowess}} - {{#title-resolve}}{{/title-resolve}} - {{#title-hunt}}{{/title-hunt}} - {{#title-study}}{{/title-study}} - {{#title-survey}}{{/title-survey}} - {{#title-tinker}}{{/title-tinker}} - {{#title-finesse}}{{/title-finesse}} - {{#title-prowl}}{{/title-prowl}} - {{#title-skirmish}}{{/title-skirmish}} - {{#title-wreck}}{{/title-wreck}} - {{#title-attune}}{{/title-attune}} - {{#title-command}}{{/title-command}} - {{#title-consort}}{{/title-consort}} - {{#title-sway}}{{/title-sway}} - {{#title-fortune}}{{/title-fortune}} - {{#title-vice}}{{/title-vice}} - {{#title-crew_tier}}{{/title-crew_tier}} - {{#title-entanglement}}{{/title-entanglement}} - {{#title-cohort_quality}}{{/title-cohort_quality}} - {{#title-lifestyle}}{{/title-lifestyle}} - {{#title-recovery}}{{/title-recovery}} - {{#title-engagement}}{{/title-engagement}}{{/title-text}} -
-
- {{#rollGreater() roll1 0}}{{roll1}}, {{/rollGreater() roll1 0}} - {{#rollGreater() roll2 0}}{{roll2}}, {{/rollGreater() roll2 0}} - {{#rollGreater() roll3 0}}{{roll3}}, {{/rollGreater() roll3 0}} - {{#rollGreater() roll4 0}}{{roll4}}, {{/rollGreater() roll4 0}} - {{#rollGreater() roll5 0}}{{roll5}}, {{/rollGreater() roll5 0}} - {{#rollGreater() roll6 0}}{{roll6}}, {{/rollGreater() roll6 0}} - {{#rollGreater() roll7 0}}{{roll7}}, {{/rollGreater() roll7 0}} - {{#rollGreater() roll8 0}}{{roll8}}, {{/rollGreater() roll8 0}} - {{#rollGreater() roll9 0}}{{roll9}}, {{/rollGreater() roll9 0}} - {{#rollGreater() roll10 0}}{{roll10}}, {{/rollGreater() roll10 0}} - {{#rollGreater() roll11 0}}{{roll11}}, {{/rollGreater() roll11 0}} - {{#rollGreater() roll12 0}}{{roll12}}, {{/rollGreater() roll12 0}} - {{#rollGreater() zerodice 0}} -
{{zerodice}}
-
Zero Dice - take the lowest result above
- {{/rollGreater() zerodice 0}} -
- {{#position}}
{{position}}
{{/position}} - {{#effect}}
{{effect}}
{{/effect}} - {{#resist}}{{^short}}
Suffer 6 stress minus the highest die result. When you roll a critical on resistance, clear 1 stress.
{{/short}}{{/resist}} - {{#vice}}{{^short}}
Clear an amount of stress equal to the highest die result. If the result of your vice roll means you clear more stress levels than you had marked, you overindulge.
{{/short}}{{/vice}} - {{#notes}}
{{notes}}
{{/notes}} -
-
- - -
-
-
{{charname}}
-
{{type}}
-
- {{#content}} -
{{title}}
-
{{content}}
- {{/content}} - {{#clock}} -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
{{title}}
-
- {{/clock}} - {{#harm}} - {{#title-text}}
Harm
{{/title-text}} - {{^title-text}}{{/title-text}} - - - - - - - - - - - - - - - - -
3 - {{#harm3}}
{{harm3}}
{{/harm3}} -
Need help
2 - {{#harm2_1}}
{{harm2_1}}
{{/harm2_1}} - {{#harm2_2}}
{{harm2_2}}
{{/harm2_2}} -
-1D
1 - {{#harm1_1}}
{{harm1_1}}
{{/harm1_1}} - {{#harm1_2}}
{{harm1_2}}
{{/harm1_2}} -
Less Effect
- {{/harm}} -
-
diff --git a/Blades in the Dark/Source/rolltemplate.scss b/Blades in the Dark/Source/rolltemplate.scss deleted file mode 100644 index 744b706911..0000000000 --- a/Blades in the Dark/Source/rolltemplate.scss +++ /dev/null @@ -1,478 +0,0 @@ -/* COLOR DEFINITIONS */ -$resistcolor: #8da8bb; -$fortunecolor: #303032; -$actioncolor: #e74a10; -$fortunecolor-light: #1e1e1e; -$resistcolor-light: #d8e4ef; -$actioncolor-light: #ffd8ca; -$resistcolor-notes: #d3dde4; -$vicecolor-notes: #c9c9c9; -$broadcastcolor: #180d06; -$broadcast-white: #ccc; -/* ROLL TEMPLATES */ -/* Container */ -.sheet-rolltemplate-bitd { - .sheet-roll-holder { - margin-left: -45px; - margin-right: -1px; - padding: 0 30px; - box-sizing: border-box; - font-family: Georgia, "Bitstream Charter", "Times New Roman", serif; - width: 299px; - user-select: none; - cursor: default; - overflow: hidden; - font-variant-numeric: lining-nums; - - &.sheet-roll-korean { - font-family: "Malgun Gothic", Dotum, Georgia, "Bitstream Charter", "Times New Roman", serif; - } - } - .sheet-roll-holder.sheet-roll-resist.sheet-roll-short, - .sheet-roll-holder.sheet-roll-vice.sheet-roll-short { - height: 171px; - } - .sheet-roll-holder.sheet-roll-action.sheet-roll-short { - height: 195px; - } - .sheet-roll-holder.sheet-roll-fortune.sheet-roll-short { - min-height: 199px; - } - .sheet-roll-action, - .sheet-roll-resist, - .sheet-roll-vice { - height: 258px; - } - .sheet-roll-fortune { - background-image: url('https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Blades%20in%20the%20Dark/Assets/rolltemplate/rolltemplate-fortune.jpg'); - background-position: bottom right; - background-repeat: no-repeat; - background-color: white; - height: auto; - min-height: 250px; - } - /* Background images */ - .sheet-roll-action { - background-image: url('https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Blades%20in%20the%20Dark/Assets/rolltemplate/rolltemplate-action.gif'); - } - .sheet-roll-resist { - background-image: url('https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Blades%20in%20the%20Dark/Assets/rolltemplate/rolltemplate-resist.jpg'); - } - .sheet-roll-vice { - background-image: url('https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Blades%20in%20the%20Dark/Assets/rolltemplate/rolltemplate-vice.jpg'); - } - /* Images */ - img { - display: block; - height: 100%; - } - /* Header */ - .sheet-roll-header { - display: -webkit-box; - margin: 16px 0 0; - font-size: 15px; - height: 35px; - line-height: 17.5px; - -webkit-line-clamp: 2; - -webkit-box-orient: vertical; - overflow: hidden; - font-variant: small-caps; - text-overflow: ellipsis; - } - .sheet-roll-resist .sheet-roll-header { - color: $resistcolor; - } - .sheet-roll-vice .sheet-roll-header { - color: white; - } - .sheet-roll-fortune .sheet-roll-header { - color: $fortunecolor; - } - .sheet-roll-action .sheet-roll-header { - color: $actioncolor; - } - > .sheet-roll-action .sheet-roll-header, - > .sheet-roll-fortune .sheet-roll-header { - letter-spacing: 1px; - font-weight: 800; - } - .sheet-roll-holder.sheet-roll-fortune.sheet-roll-short .sheet-roll-header { - margin-bottom: -51px; - } - /* Title */ - .sheet-roll-title { - color: white; - text-transform: uppercase; - font-weight: bold; - } - .sheet-roll-action .sheet-roll-title, - .sheet-roll-fortune .sheet-roll-title { - margin: 22px 0 0; - font-size: 36px; - line-height: 31px; - height: 31px; - } - .sheet-roll-vice .sheet-roll-title, - .sheet-roll-resist .sheet-roll-title { - margin: 11px 0 0; - font-size: 24px; - line-height: 24px; - height: 24px; - } - .sheet-roll-fortune .sheet-roll-title { - color: black; - } - .sheet-roll-small-title { - font-size: 28px; - } - /* Position and Effect */ - .sheet-roll-position, - .sheet-roll-effect { - display: inline-block; - box-sizing: border-box; - width: 50%; - color: white; - text-transform: uppercase; - font-size: 12px; - letter-spacing: 1px; - padding: 20px 0 0; - } - .sheet-roll-effect { - padding-left: 14px; - } - /* Dice */ - .sheet-roll-dice { - height: 27px; - font-size: 19px; - line-height: 20px; - color: white; - } - .sheet-roll-action .sheet-roll-dice { - margin: 47px 0 19px; - } - .sheet-roll-resist .sheet-roll-dice, - .sheet-roll-vice .sheet-roll-dice { - margin: 35px 0 23px; - } - .sheet-roll-fortune .sheet-roll-dice { - margin: 15px 0 10px; - color: $fortunecolor; - } - /* Zerodice dice holder */ - .sheet-roll-action .sheet-zerodice1 { - text-shadow: 0px 0px 6px rgb(255, 158, 0); - color: white; - } - .sheet-roll-fortune .sheet-zerodice1 { - text-shadow: 0px 0px 6px rgb(136, 219, 215); - color: $fortunecolor-light; - } - .sheet-roll-vice .sheet-zerodice1, - .sheet-roll-resist .sheet-zerodice1 { - text-shadow: 0px 0px 6px rgb(9, 199, 208); - color: white; - } - /* Zerodice text */ - .sheet-zerodice2 { - line-height: 1; - font-size: 12.5px; - margin-top: 7px; - font-style: italic; - } - .sheet-roll-vice .sheet-zerodice2, - .sheet-roll-resist .sheet-zerodice2 { - text-shadow: 0px 0px 6px rgb(9, 199, 208); - color: $resistcolor-light; - } - .sheet-roll-action .sheet-zerodice2 { - text-shadow: 0px 0px 6px rgb(255, 158, 0); - color: $actioncolor-light - } - .sheet-roll-fortune .sheet-zerodice2 { - width: 60%; - text-shadow: 0px 0px 6px rgb(136, 219, 215); - color: $fortunecolor-light; - } - - /* Inlinerolls */ - .inlinerollresult { - border: none !important; - background-color: transparent; - font-weight: normal; - padding: 0 3px 0 0; - } - .sheet-comma:last-child { - display: none; - } - - /* Instructions and Notes */ - .sheet-roll-instructions { - padding: 15px 0 0; - line-height: 1.3; - } - .sheet-roll-resist .sheet-roll-instructions { - color: $resistcolor-notes; - font-size: 13px; - } - .sheet-roll-vice .sheet-roll-instructions { - color: $vicecolor-notes; - font-size: 11px; - } - .sheet-roll-notes { - width: 56%; - line-height: 1.2; - font-size: 13px; - padding: 20px 0; - color: fortunegrey; - } -} - -/* BROADCAST TEMPLATE */ -.sheet-rolltemplate-bitd-broadcast { - margin: 0 -1px 0 -45px; - padding: 16px 20px 15px; - overflow: hidden; - box-sizing: border-box; - font-family: Georgia, "Bitstream Charter", "Times New Roman", serif; - width: 299px; - background-color: $broadcastcolor; - - .sheet-roll-korean { - font-family: "Malgun Gothic", Dotum, Georgia, "Bitstream Charter", "Times New Roman", serif; - } - - .sheet-roll-header { - color: $actioncolor; - font-size: 15px; - line-height: 19px; - font-variant: small-caps; - letter-spacing: 1px; - font-weight: 800; - } - .sheet-roll-flex { - display: flex; - align-items: center; - margin: 5px 0 0; - } - .sheet-roll-flex .sheet-roll-title { - margin: 0; - font-size: 20px; - line-height: 1.2; - } - .sheet-roll-title { - margin: 9px 0 0; - color: white; - text-transform: uppercase; - font-weight: bold; - font-size: 23px; - line-height: 29px; - } - .sheet-roll-content { - padding: 15px 0 5px; - line-height: 1.3; - font-size: 13px; - color: $broadcast-white; - } - img { - margin: 9px 0 0; - display: block; - height: 31px; - } - .sheet-roll-harm { - color: white; - width: 100%; - margin: 15px 0 0; - border: 1px solid white; - } - .sheet-roll-harm td { - text-align: center; - padding: 5px; - border: 1px solid white; - } - .sheet-roll-harm td:first-child { - width: 10px; - } - .sheet-roll-harm td:nth-child(2n+1) { - font-weight: bold; - } - .sheet-roll-harm td:nth-child(2) { - padding: 5px 0; - } - .sheet-roll-harm td:last-child { - width: 60px; - letter-spacing: 0.5px; - text-transform: uppercase; - } - .sheet-roll-harm-inner { - color: $actioncolor; - padding: 0 5px; - } - .sheet-roll-harm-inner:first-child:not(:last-child) { - padding-bottom: 2.5px; - border-bottom: 1px solid white; - } - .sheet-roll-harm-inner:last-child:not(:first-child) { - padding-top: 2.5px; - } - .sheet-roll-clock { - width: 88px; - flex: 0 0 auto; - box-sizing: border-box; - position: relative; - background: white; - height: 88px; - border: 4px solid black; - border-radius: 50%; - margin-right: 4px; - } - .sheet-roll-spoke { - height: 88px; - width: 4px; - position: absolute; - background: black; - } - .sheet-roll-spoke:not(.sheet-roll-spoke-0) { - display: none; - } - .sheet-roll-size-4 .sheet-roll-spoke-90, - .sheet-roll-size-6 .sheet-roll-spoke-60, - .sheet-roll-size-6 .sheet-roll-spoke-120, - .sheet-roll-size-8 .sheet-roll-spoke-45, - .sheet-roll-size-8 .sheet-roll-spoke-90, - .sheet-roll-size-8 .sheet-roll-spoke-135, - .sheet-roll-size-10 .sheet-roll-spoke-36, - .sheet-roll-size-10 .sheet-roll-spoke-72, - .sheet-roll-size-10 .sheet-roll-spoke-108, - .sheet-roll-size-10 .sheet-roll-spoke-144, - .sheet-roll-size-12 .sheet-roll-spoke-30, - .sheet-roll-size-12 .sheet-roll-spoke-60, - .sheet-roll-size-12 .sheet-roll-spoke-90, - .sheet-roll-size-12 .sheet-roll-spoke-120, - .sheet-roll-size-12 .sheet-roll-spoke-150 { - display: block; - } - .sheet-roll-spoke-0 { - transform: translate(39px, -4px); - } - .sheet-roll-spoke-30 { - transform: translate(39px, -4px) rotate(30deg); - } - .sheet-roll-spoke-36 { - transform: translate(39px, -4px) rotate(36deg); - } - .sheet-roll-spoke-45 { - transform: translate(39px, -4px) rotate(45deg); - } - .sheet-roll-spoke-60 { - transform: translate(39px, -4px) rotate(60deg); - } - .sheet-roll-spoke-72 { - transform: translate(39px, -4px) rotate(72deg); - } - .sheet-roll-spoke-90 { - transform: translate(39px, -4px) rotate(90deg); - } - .sheet-roll-spoke-108 { - transform: translate(39px, -4px) rotate(108deg); - } - .sheet-roll-spoke-120 { - transform: translate(39px, -4px) rotate(120deg); - } - .sheet-roll-spoke-135 { - transform: translate(39px, -4px) rotate(135deg); - } - .sheet-roll-spoke-144 { - transform: translate(39px, -4px) rotate(144deg); - } - .sheet-roll-spoke-150 { - transform: translate(39px, -4px) rotate(150deg); - } - .sheet-roll-size-4.sheet-roll-progress-1, - .sheet-roll-size-8.sheet-roll-progress-2, - .sheet-roll-size-12.sheet-roll-progress-3 { - background-image: linear-gradient(180deg, transparent 50%, white 50%), linear-gradient(90deg, white 50%, red 50%); - } - .sheet-roll-size-4.sheet-roll-progress-2, - .sheet-roll-size-6.sheet-roll-progress-3, - .sheet-roll-size-8.sheet-roll-progress-4, - .sheet-roll-size-10.sheet-roll-progress-5, - .sheet-roll-size-12.sheet-roll-progress-6 { - background-image: linear-gradient(90deg, white 50%, red 50%); - } - .sheet-roll-size-4.sheet-roll-progress-3, - .sheet-roll-size-8.sheet-roll-progress-6, - .sheet-roll-size-12.sheet-roll-progress-9 { - background-image: linear-gradient(180deg, transparent 50%, red 50%), linear-gradient(90deg, white 50%, red 50%); - } - .sheet-roll-size-4.sheet-roll-progress-4, - .sheet-roll-size-6.sheet-roll-progress-6, - .sheet-roll-size-8.sheet-roll-progress-8, - .sheet-roll-size-10.sheet-roll-progress-10, - .sheet-roll-size-12.sheet-roll-progress-12 { - background: red; - } - .sheet-roll-size-6.sheet-roll-progress-1, - .sheet-roll-size-12.sheet-roll-progress-2 { - background-image: linear-gradient(90deg, white 50%, transparent 50%), linear-gradient(150deg, red 50%, white 50%); - } - .sheet-roll-size-6.sheet-roll-progress-2, - .sheet-roll-size-12.sheet-roll-progress-4 { - background-image: linear-gradient(90deg, white 50%, transparent 50%), linear-gradient(210deg, red 50%, white 50%); - } - .sheet-roll-size-6.sheet-roll-progress-4, - .sheet-roll-size-12.sheet-roll-progress-8 { - background-image: linear-gradient(150deg, transparent 50%, red 50%), linear-gradient(90deg, white 50%, red 50%); - } - .sheet-roll-size-6.sheet-roll-progress-5, - .sheet-roll-size-12.sheet-roll-progress-10 { - background-image: linear-gradient(210deg, transparent 50%, red 50%), linear-gradient(90deg, white 50%, red 50%); - } - .sheet-roll-size-8.sheet-roll-progress-1 { - background-image: linear-gradient(90deg, white 50%, transparent 50%), linear-gradient(135deg, red 50%, white 50%); - } - .sheet-roll-size-8.sheet-roll-progress-3 { - background-image: linear-gradient(90deg, white 50%, transparent 50%), linear-gradient(225deg, red 50%, white 50%); - } - .sheet-roll-size-8.sheet-roll-progress-5 { - background-image: linear-gradient(135deg, transparent 50%, red 50%), linear-gradient(90deg, white 50%, red 50%); - } - .sheet-roll-size-8.sheet-roll-progress-7 { - background-image: linear-gradient(225deg, transparent 50%, red 50%), linear-gradient(90deg, white 50%, red 50%); - } - .sheet-roll-size-10.sheet-roll-progress-1 { - background-image: linear-gradient(90deg, white 50%, transparent 50%), linear-gradient(126deg, red 50%, white 50%); - } - .sheet-roll-size-10.sheet-roll-progress-2 { - background-image: linear-gradient(90deg, white 50%, transparent 50%), linear-gradient(162deg, red 50%, white 50%); - } - .sheet-roll-size-10.sheet-roll-progress-3 { - background-image: linear-gradient(90deg, white 50%, transparent 50%), linear-gradient(198deg, red 50%, white 50%); - } - .sheet-roll-size-10.sheet-roll-progress-4 { - background-image: linear-gradient(90deg, white 50%, transparent 50%), linear-gradient(234deg, red 50%, white 50%); - } - .sheet-roll-size-10.sheet-roll-progress-6 { - background-image: linear-gradient(126deg, transparent 50%, red 50%), linear-gradient(90deg, white 50%, red 50%); - } - .sheet-roll-size-10.sheet-roll-progress-7 { - background-image: linear-gradient(162deg, transparent 50%, red 50%), linear-gradient(90deg, white 50%, red 50%); - } - .sheet-roll-size-10.sheet-roll-progress-8 { - background-image: linear-gradient(198deg, transparent 50%, red 50%), linear-gradient(90deg, white 50%, red 50%); - } - .sheet-roll-size-10.sheet-roll-progress-9 { - background-image: linear-gradient(234deg, transparent 50%, red 50%), linear-gradient(90deg, white 50%, red 50%); - } - .sheet-roll-size-12.sheet-roll-progress-1 { - background-image: linear-gradient(90deg, white 50%, transparent 50%), linear-gradient(120deg, red 50%, white 50%); - } - .sheet-roll-size-12.sheet-roll-progress-5 { - background-image: linear-gradient(90deg, white 50%, transparent 50%), linear-gradient(240deg, red 50%, white 50%); - } - .sheet-roll-size-12.sheet-roll-progress-7 { - background-image: linear-gradient(120deg, transparent 50%, red 50%), linear-gradient(90deg, white 50%, red 50%); - } - .sheet-roll-size-12.sheet-roll-progress-11 { - background-image: linear-gradient(240deg, transparent 50%, red 50%), linear-gradient(90deg, white 50%, red 50%); - } -} diff --git a/Blades in the Dark/Source/sheet.scss b/Blades in the Dark/Source/sheet.scss deleted file mode 100644 index 18f43214b7..0000000000 --- a/Blades in the Dark/Source/sheet.scss +++ /dev/null @@ -1,2812 +0,0 @@ -$lightgrey: #d6d8d9; -$lightergrey: #c6c7c9; -$darkgrey: #b3b4b6; -$bordergrey: #ccc; -$versiongrey: #aaa; -$boxgrey: #838587; -$stashcolor: #8c8c8c; -$headergrey: #7f8184; -$lightblack: #6c6c6c; -$tablegrey: #575859; -$fontblack: #333; -$red: #f00; -$headertext: #c43c35; -$broadcastcolor: #777; -$lairboxcolor: #808080; - -/* GENERALITIES */ -.charsheet { - color: $fontblack; - font-size: 0; - position: relative; - top: -11px; - cursor: default; - box-sizing: border-box; - padding: 0 !important; - font-family: Georgia, "Bitstream Charter", "Times New Roman", serif; - - div, span, textarea, ul, li, span, label { - box-sizing: border-box; - } - - button[type=roll] { - text-shadow: none; - background: transparent; - box-shadow: none; - font-weight: bold; - font-family: inherit; - outline: none; - border-radius: 0; - transition: all 0.2s; - &.btn::before { - content: ""; - } - } - - label { - margin: 0; - padding: 0; - display: flex; - cursor: pointer; - width: auto; - color: $fontblack; - font: inherit; - - input[type=checkbox], input[type=radio] { - position: absolute; - } - - &:hover { - input[type=checkbox] + span, input[type=radio] + span { - opacity: 0.7; - } - } - } - - input[type=text], textarea { - border: none; - font-family: inherit; - background: transparent; - box-shadow: none; - width: 100%; - padding: 0; - margin: 0; - color: $fontblack; - border-radius: 0; - transition: all 0.2s, height 0.4s; - } - - textarea { - resize: vertical; - display: block; - &:active { - transition: height 0s; - } - } - - input[type=number] { - border-color: $bordergrey; - color: $fontblack; - box-shadow: none; - } - - input[type=checkbox], input[type=radio] { - opacity: 0; - z-index: 1; - -moz-appearance: none; - position: relative; - + span { - cursor: pointer; - display: inline-block; - transition: all 0.2s, opacity 0s; - } - } - - ul { - list-style: none; - margin: 0; - } - - li { - position: relative; - &::before { - transform: rotate(45deg) scale(0.9); - font-family: Georgia, serif; - content: '■'; - left: 0; - top: -.1em; - position: absolute; - } - } - - button[type=roll].sheet-inherit, input[type=text].sheet-inherit { - font: inherit; - color: inherit; - text-transform: inherit; - letter-spacing: inherit; - } -} -.sheet-focus-shadow:checked ~ .sheet-container { - textarea, input[type=text], input[type=number] { - &:focus { - box-shadow: inset 0 0 1px 1px rgba(66,66,66,.3), 0 0 2px 1px rgba(66,66,66,.3); - } - } -} -.sheet-hidden { - display: none !important; -} -/* Preloading graphics*/ -.sheet-preload { - opacity: 0; - position: absolute; - img { - width: 1px; - height: 1px; - } -} -/* Version text */ -.sheet-topholder { - line-height: 22px; - margin: 0 0 7px calc(55% + 5px); - .sheet-version { - color: $versiongrey; - font-size: 13px; - font-family: "Times New Roman", Times, serif; - } - .sheet-version-text::after { - content: " "; - } - .sheet-settings-checkbox { - margin-right: 10px; - width: 20px; - height: 20px; - font-size: 16px; - font-family: pictos; - input { - + span { - opacity: 0.3; - } - &:checked + span { - opacity: 1; - } - } - } -} -/* Type Selector */ -.sheet-type-selector { - display: flex; - margin-right: auto; - background: $bordergrey; - border: 1px solid $versiongrey; - letter-spacing: 1px; - line-height: 20px; - justify-content: center; - width: 170px; - font-size: 11px; - color: $fontblack; - - input { - position: absolute; - width: 170px; - height: 20px; - } - &:hover { - color: $red; - } - .sheet-3waybox:not(:checked) + .sheet-3waybox, - input[value="character"]:not(:checked) ~ span[data-i18n="character_mode"], - input[value="crew"]:not(:checked) ~ span[data-i18n="crew_mode"], - input[value="faction"][type=radio]:not(:checked) ~ span[data-i18n="faction_mode"] { - display: none; - } -} -/* SETTINGS */ -.sheet-settings { - position: absolute; - right: 0; - width: 350px; - border: 1px solid black; - background: white; - z-index: 100; - padding: 5px; - border-radius: 5px; - - > div { - min-width: 50%; - display: flex; - flex-grow: 1; - align-items: center; - padding: 2px; - font-size: 10px; - min-height: 24px; - line-height: 17px; - border-bottom: 1px solid $lightgrey; - - &.sheet-generaterow { - line-height: 0; - } - } - label { - align-items: center; - } - .sheet-checkbox + span { - margin-right: 6px; - } - .sheet-checkbox:checked + span { - background: black; - } - :not(input) + span { - padding-right: 4px; - } - input[type=number] { - padding: 0 2px; - margin: 0 3px 0 8px; - width: 30px; - font-size: 12px; - } - input[type=text] { - width: 45px; - font-size: 10px; - margin-right: 3px; - padding-left: 1px; - line-height: 16px; - border-radius: 3px; - border: 1px solid $lightgrey; - } - select { - width: 80px; - margin: 0 7px 0 0; - padding: 0; - height: 18px; - } - .sheet-type { - &[value="character"] ~ :not(.sheet-setting-char), - &[value="crew"] ~ :not(.sheet-setting-crew), - &[value="faction"] ~ :not(.sheet-setting-faction) { - display: none; - } - } -} -/* SETTINGS FOR HIDING STUFF ON THE SHEET */ -.sheet-toothhider:not(:checked) + { - .sheet-tooth, .sheet-tooth + span { - display: none; - } -} -.sheet-hider:not(:checked) + { - li, div, label { - display: none; - } -} -/* Sheet container */ -.sheet-container { - position: relative; -} -.sheet-flexwidth { - &:not(:checked) ~ .sheet-container { - width: 860px; - } - &:checked ~ .sheet-container { - min-width: 860px; - max-width: 1190px; - } -} -.sheet-type { - &:not([value="character"]) ~ .sheet-type-character, - &:not([value="crew"]) ~ .sheet-type-crew, - &:not([value="faction"]) ~ .sheet-type-faction { - display: none; - } -} -/* USEFUL GENERAL LAYOUT*/ -.sheet-blackheader { - background: black; - color: white; - &.sheet-rep1, &.sheet-hold1 { - padding-top: 3px; - line-height: 13px; - } - &.sheet-hold1 { - padding-left: 2px; - } -} -.sheet-blackheader, .sheet-black-on-grey, .sheet-greyheader { - font-size: 11px; - letter-spacing: 1px; -} -.sheet-blackheader, .sheet-greyheader { - height: 16px; - line-height: 15px; - padding: 1px 2px 0 4px; -} -.sheet-black-on-grey, .sheet-greyheader { - background: $darkgrey; -} -.sheet-black-on-grey { - text-align: center; - position: relative; - flex-grow: 1; - padding-left: 1px; - height: 13px; - line-height: 13px; - z-index: -1; -} -.sheet-plainheader { - width: 100%; - border-top: 2px solid black; - font-size: 12px; - line-height: 22px; -} -.sheet-specialheader { - background: $darkgrey; - height: 20px; - font-size: 11px; - line-height: 20px; - letter-spacing: 1px; - padding: 0 5px; - input[type=text] { - margin: 0 -5px; - padding: 0 5px; - width: calc(100% + 10px); - } -} -.sheet-italic { - font-style: italic; -} -.sheet-bold { - font-weight: bold; -} -.sheet-greyholder { - background: $lightgrey; -} -.sheet-def-margin { - margin-top: 10px; -} -.sheet-small-margin { - margin-top: 5px; -} -.sheet-blackborder { - border-top: 3px solid black; -} -.sheet-tier { - background: $lightgrey; - height: 16px; - width: 56px; - align-items: center; - input[value="1"] { - margin-left: auto; - } - .sheet-checkbox + span { - margin-right: auto; - } -} -/* COLUMN LAYOUT */ -.sheet-flex { - display: flex; -} -.sheet-flex-wrap { - display: flex; - flex-wrap: wrap; - align-content: flex-start; - align-items: flex-start; -} -.sheet-flex-center { - text-align: center; - display: flex; - justify-content: center; - align-items: center; -} -.sheet-right-column { - padding-left: 5px; -} -.sheet-col47 { - width: 47% -} -.sheet-col53 { - width: 53%; -} -.sheet-col37 { - width: 37%; -} -.sheet-col24b { - width: 24.25%; -} -.sheet-col50 { - width: 50%; -} -.sheet-col52b { - width: 52%; -} -.sheet-col55 { - width: 55%; -} -.sheet-col45{ - width: 45%; -} -.sheet-col63 { - width: 63%; -} -.sheet-col100 { - width: 100%; -} -/* FONT STYLES */ -.sheet-label, -input[type=text].sheet-label, -textarea.sheet-label, -button[type=roll].sheet-label { - text-transform: uppercase; - font-weight: bold; -} -.sheet-uppercase { - text-transform: uppercase; -} -.sheet-smallcaps, -input[type=text].sheet-smallcaps, -textarea.sheet-smallcaps { - font-variant: small-caps; - font-weight: bold; -} -/* INFO BOXES */ -.sheet-gatherinfo { - ul { - padding: 0; - } - li { - margin-bottom: 1px; - font-style: italic; - padding-left: 11px; - font-size: 11px; - height: 17px; - } -} -.sheet-teamworkbox { - width: 95%; - padding: 5px; - margin-bottom: 5px; - background: $lightgrey; - font-size: 12px; - line-height: 15px; -} -.sheet-planning .sheet-teamworkbox .sheet-bold::after { - content: ": "; -} -.sheet-planningdesc { - font-size: 12px; - line-height: 15px; - text-align: justify; - margin: 0 5% 5px 0; -} -/* ITEMS/UPGRADES */ -.sheet-itemcolumn { - max-width: 249px; -} -.sheet-itemholder > div { - padding: 5px; -} -.sheet-item-container { - flex-grow: 1; -} -.sheet-playbookitems { - background: $lightgrey; -} -.sheet-playbookitems, .sheet-regularitems { - .repcontrol { - height: 29px; - } -} -.sheet-regularitems { - .repcontainer { - display: flex; - flex-wrap: wrap; - align-content: flex-start; - } - .repitem { - display: flex; - flex-grow: 1; - } - .sheet-input-short:checked + .sheet-input-expand:not(:checked) ~ .sheet-item-container { - width: 96px; - } - .sheet-col50, .sheet-col100 { - position: relative; - } -} -.sheet-item { - display: flex; - align-items: start; - - .sheet-itemname { - height: 18px; - font-size: 11px; - margin: 0 1px 0 2px; - padding-left: 2px; - flex: auto; - min-width: 0; - - &.sheet-auto-expand { - min-height: 16px; - height: auto; - line-height: 16px; - margin: 1px 0; - padding: 0 7px 0 2px; - } - } - - .sheet-checkbox, .sheet-checkbox + span { - margin-top: 3px; - } - - .sheet-input-bold:checked ~ .sheet-itemname { - font-weight: bold; - } - .sheet-input-italic:checked ~ .sheet-itemname { - font-style: italic; - } - .sheet-label { - font-size: 11px; - vertical-align: top; - letter-spacing: 1px; - - &.sheet-upgradecosts { - font-size: 8px; - } - } - .sheet-upgradecosts { - font-size: 11px; - padding-left: 3px; - } - .sheet-upgradecaption { - margin-top: 3px; - } -} -.sheet-floatingbar { - width: 3px; - height: 2px; - margin: 8px 0 0 -3px; - flex: 0 0 auto; - background: $boxgrey; -} -/* Repeating items*/ -.sheet-numboxes0:checked ~ .sheet-boxesgeq2, -.sheet-numboxes1:checked ~ .sheet-boxesgeq2, -.sheet-numboxes2:checked ~ .sheet-boxesgeq3 { - display: none; -} -.sheet-itemholder .repitem .sheet-boxes-chosen { - &:checked + div, &:not(:checked) + div ~ div { - display: none; - } -} -.sheet-numboxes-chooser { - padding: 1px 0; - font-size: 11px; - input[type=number] { - margin-left: auto; - height: 18px; - padding: 0; - text-align: right; - width: 2.5em; - background: transparent; - } - label { - height: 18px; - border: 1px solid $versiongrey; - margin-left: auto; - padding: 2px; - line-height: 12px; - } - input:checked + span { - font-weight: bold; - } -} -.sheet-show-itemdesc:not(:checked) ~ div .sheet-item-description { - display: none; -} -.sheet-itemholder .sheet-expand { - top: 4px; - right: 1px; - - + span { - top: 1px; - right: 1px; - &::before { - content: "◀"; - } - } - &:checked + span::before { - content: "▼"; - } - ~ textarea { - border-top: 1px solid $lightgrey; - line-height: 12px; - font-size: 10px; - height: 49px; - } -} -.sheet-itemholder .sheet-playbookitems .sheet-expand ~ textarea { - border-color: $versiongrey; -} -/* LOGO */ -.sheet-bladeslogo { - border-right: 12px solid transparent; - height: 43px; - background-image: url('https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Blades%20in%20the%20Dark/Assets/logo.png'); - background-size: 102% auto; - background-repeat: no-repeat; -} -.sheet-crewheader { - color: $headergrey; - font-size: 28px; - letter-spacing: -2px; - line-height: 31px; -} -/* LOAD */ -.sheet-itemheader, -.sheet-loadheader { - background: $darkgrey; - height: 20px; - font-size: 10px; - padding: 3px 2px 1px 4px; - align-items: center; -} -.sheet-loadheader label { - align-items: center; - line-height: 11px; - font-style: italic; - margin-left: auto; - text-transform: lowercase; -} -.sheet-loadnumber { - font-weight: bold; - font-family: "Times New Roman", Times, serif; - font-size: 12px; - margin: 0 3px 0 4px; -} -.sheet-itemheader { - > .sheet-label { - margin-right: 4px; - } - &:not(:hover) .sheet-text-button { - display: none; - } - .sheet-text-button { - margin-left: auto; - input[type=checkbox] + span { - opacity: 1; - color: $fontblack; - } - &:hover input[type=checkbox] + span { - color: $red; - } - } -} -/* ADVANCEMENT BOX*/ -.sheet-advancement-header { - letter-spacing: 2px; -} -.sheet-markxp { - margin-right: auto; -} -.sheet-xpholder { - letter-spacing: 0; - font-size: 0; - margin-left: 8px; -} -.sheet-advancement-desc, .sheet-warblurb { - li { - font-size: 13px; - line-height: 16px; - width: 100%; - &.sheet-nondot { - padding-left: 0; - font-style: normal; - &::before { - display: none; - } - } - } -} -.sheet-advancement-desc { - width: 99%; - background: $lightgrey; - padding: 15px 15px 4px 11px; - li { - font-style: italic; - margin-bottom: 1em; - padding-left: 1em; - } - .sheet-auto-expand { - min-height: 16px; - padding: 0 2px; - } -} -/* PLAYBOOK */ -.sheet-playbook { - align-items: center; - height: 50px; - position: relative; - background: $lightgrey; - input[type=text] { - flex: 0 0 auto; - margin: 0 2px; - padding-left: 5px; - letter-spacing: -1px; - font-size: 35px; - line-height: 40px; - } - textarea { - height: 42px; - flex: 0 0 auto; - font-size: 10px; - padding-left: 3px; - letter-spacing: 1px; - color: $headergrey; - resize: none; - overflow: hidden; - line-height: 14px; - } - .sheet-reminder { - position: absolute; - border: 1px solid $fontblack; - background: white; - top: 48px; - z-index: 3; - border-radius: 5px; - width: 267px; - font-size: 12px; - text-align: center; - padding: 3px; - } -} -.sheet-type-character .sheet-playbook { - input[type=text] { - width: calc(64% - 10px); - } - textarea { - width: calc(36% + 6px); - } -} -.sheet-type-crew .sheet-playbook { - input[type=text] { - width: calc(74% - 7px); - } - textarea { - width: calc(26% + 3px); - } -} - -/* HEADER */ -.sheet-header { - label { - flex-wrap: wrap; - } - input[type=text] { - width: 100%; - border-bottom: 1px solid black; - font-size: 14px; - padding: 3px 0 0 2px; - margin: 3px 0 0; - color: $headertext; - } - input[type="hidden"] { - &[value=""] + div > .sheet-title::after { - content: ": "; - } - &:not([value=""]) + div > .sheet-info { - display: none; - } - } - .sheet-col55:not(:first-child) { - padding-right: 2.5%; - } - .sheet-text { - color: black; - text-align: justify; - padding: 3px 0 2px; - line-height: 13px; - } - .sheet-title { - font-size: 10px; - letter-spacing: 1px; - } - .sheet-info { - font-size: 8px; - } - .sheet-vice-input { - &:not([value="normal"]) ~ .sheet-normal, - &:not([value="ghost"]) ~ .sheet-ghost, - &:not([value="hull"]) ~ .sheet-hull, - &:not([value="vampire"]) ~ .sheet-vampire { - display: none; - } - } - .sheet-vice { - justify-content: space-between; - text-align: justify; - line-height: 1.6; - font-size: 11px; - .sheet-smallcaps { - font-size: 130%; - line-height: 0; - } - } -} - -/* CLOCKS */ -.sheet-clocks { - .repcontainer { - display: flex; - flex-wrap: wrap; - align-items: flex-start; - justify-content: space-between; - } - .repitem { - display: flex; - padding: 4px 2px; - width: 49.5%; - margin: 4px 0 0; - background: $lightgrey; - align-items: start; - } - .itemcontrol { - top: 0; - left: 0; - } - .sheet-auto-expand { - font-size: 11px; - letter-spacing: 1px; - padding: 2px 3px; - line-height: 12px; - flex: auto; - min-width: 0; - margin-right: 2px; - min-height: 28px; - } -} -.sheet-clock-container { - position: relative; - padding: 2px; - margin: 0 0 5px; - z-index: 1; - height: 44px; - width: 44px; - cursor: pointer; - flex: 0 0 auto; - input { - position: absolute; - display: none; - } - .sheet-zero { - z-index: 3; - } - .sheet-zero, .sheet-zero + span { - position: absolute; - top: 37px; - left: -5px; - } - .sheet-all, .sheet-zero { - display: block; - } -} -.sheet-clock { - border: 2px solid black; - border-radius: 50%; - transition: all 0.2s; - background: red; - width: 100%; - height: 100%; - position: absolute; - left: 0; - top: 0; - z-index: -1; -} -[class^="sheet-spoke"] { - height: 44px; - width: 2px; - position: absolute; - display: none; - left: 0; - top: 0; - background: black; -} -.sheet-spoke-0 { - transform: translateX(21px); -} -.sheet-spoke-30 { - transform: translateX(21px) rotate(30deg); -} -.sheet-spoke-36 { - transform: translateX(21px) rotate(36deg); -} -.sheet-spoke-45 { - transform: translateX(21px) rotate(45deg); -} -.sheet-spoke-60 { - transform: translateX(21px) rotate(60deg); -} -.sheet-spoke-72 { - transform: translateX(21px) rotate(72deg); -} -.sheet-spoke-90 { - transform: translateX(21px) rotate(90deg); -} -.sheet-spoke-108 { - transform: translateX(21px) rotate(108deg); -} -.sheet-spoke-120 { - transform: translateX(21px) rotate(120deg); -} -.sheet-spoke-135 { - transform: translateX(21px) rotate(135deg); -} -.sheet-spoke-144 { - transform: translateX(21px) rotate(144deg); -} -.sheet-spoke-150 { - transform: translateX(21px) rotate(150deg); -} -.sheet-size-choice { - display: flex; - flex: 0 0 auto; - height: 45px; - margin: 2px 0; - width: 44px; - line-height: 12px; - font-size: 13px; - font-family: "Times New Roman", Times, serif; - align-content: space-evenly; - flex-wrap: wrap; -} -/* Faction clocks */ -.sheet-type-faction .sheet-clocks { - .repcontainer { - justify-content: flex-start; - } - .repitem { - margin: 4px .8% 0 0; - width: 32.8%; - } -} -.sheet-input-clocks-only:not(:checked) ~ .sheet-clocks .repitem:nth-of-type(3n), -.sheet-input-clocks-only:checked ~ .sheet-clocks .repitem:nth-of-type(4n) { - margin-right: 0; -} -.sheet-input-clocks-only:checked { - ~ .sheet-clocks { - width: 100%; - .repitem { - margin: 4px .4% 0 0; - width: 24.7%; - } - } - ~ .sheet-factiontitle, ~ .sheet-factions, ~ .sheet-right-column { - display: none; - } -} -.sheet-size[value="4"] ~ .sheet-clock-container { - input:not(.sheet-zero) { - height: 20px; - width: 20px; - } - input[value="1"] { - margin-left: 20px; - } - input[value="2"] { - margin: 20px 0 0 20px; - } - input[value="3"] { - margin-top: 20px; - } -} -.sheet-size[value="6"] ~ .sheet-clock-container { - input:not(.sheet-zero) { - height: 17px; - width: 12px; - } - input[value="1"] { - margin-left: 21px; - transform: rotate(30deg); - } - input[value="2"] { - margin: 12px 0 0 25px; - transform: rotate(90deg); - } - input[value="3"] { - margin: 22px 0 0 21px; - transform: rotate(150deg); - } - input[value="4"] { - margin: 22px 0 0 8px; - transform: rotate(210deg); - } - input[value="5"] { - margin: 12px 0 0 1px; - transform: rotate(270deg); - } - input[value="6"] { - margin-left: 8px; - transform: rotate(330deg); - } -} -.sheet-size[value="8"] ~ .sheet-clock-container { - input:not(.sheet-zero) { - height: 14px; - width: 10px; - } - input[value="1"] { - margin-left: 20px; - transform: rotate(22.5deg); - } - input[value="2"] { - margin: 8px 0 0 26px; - transform: rotate(67.5deg); - } - input[value="3"] { - margin: 18px 0 0 26px; - transform: rotate(112.5deg); - } - input[value="4"] { - margin: 25px 0 0 20px; - transform: rotate(157.5deg); - } - input[value="5"] { - margin: 25px 0 0 9px; - transform: rotate(202.5deg); - } - input[value="6"] { - margin: 18px 0 0 2px; - transform: rotate(247.5deg); - } - input[value="7"] { - margin: 8px 0 0 2px; - transform: rotate(292.5deg); - } - input[value="8"] { - margin-left: 9px; - transform: rotate(337.5deg); - } -} -.sheet-size[value="10"] ~ .sheet-clock-container { - input:not(.sheet-zero) { - height: 14px; - width: 9px; - } - input[value="1"] { - transform: rotate(18deg); - margin-left: 20px; - } - input[value="2"] { - transform: rotate(54deg); - margin: 5px 0 0 27px; - } - input[value="3"] { - transform: rotate(90deg); - margin: 13px 0 0 30px; - } - input[value="4"] { - transform: rotate(126deg); - margin: 21px 0 0 27px; - } - input[value="5"] { - transform: rotate(162deg); - margin: 26px 0 0 20px; - } - input[value="6"] { - transform: rotate(198deg); - margin: 26px 0 0 12px; - } - input[value="7"] { - transform: rotate(234deg); - margin: 21px 0 0 5px; - } - input[value="8"] { - transform: rotate(270deg); - margin: 13px 0 0 1px; - } - input[value="9"] { - transform: rotate(306deg); - margin: 5px 0 0 5px; - } - input[value="10"] { - transform: rotate(342deg); - margin-left: 12px; - } -} -.sheet-size[value="12"] ~ .sheet-clock-container { - input:not(.sheet-zero) { - height: 12px; - width: 8px; - } - input[value="1"] { - margin-left: 20px; - transform: rotate(15deg); - } - input[value="2"] { - margin: 4px 0 0 26px; - transform: rotate(45deg); - } - input[value="3"] { - margin: 10px 0 0 29px; - transform: rotate(75deg); - } - input[value="4"] { - margin: 18px 0 0 29px; - transform: rotate(105deg); - } - input[value="5"] { - margin: 24px 0 0 26px; - transform: rotate(135deg); - } - input[value="6"] { - margin: 28px 0 0 20px; - transform: rotate(165deg); - } - input[value="7"] { - margin: 28px 0 0 12px; - transform: rotate(195deg); - } - input[value="8"] { - margin: 24px 0 0 6px; - transform: rotate(225deg); - } - input[value="9"] { - margin: 18px 0 0 3px; - transform: rotate(255deg); - } - input[value="10"] { - margin: 10px 0 0 3px; - transform: rotate(295deg); - } - input[value="11"] { - margin: 4px 0 0 6px; - transform: rotate(315deg); - } - input[value="12"] { - margin-left: 12px; - transform: rotate(345deg); - } -} -/* End positioning */ -.sheet-size[value="4"] ~ .sheet-clock-container .sheet-4clock, -.sheet-size[value="6"] ~ .sheet-clock-container .sheet-6clock, -.sheet-size[value="8"] ~ .sheet-clock-container .sheet-8clock, -.sheet-size[value="10"] ~ .sheet-clock-container .sheet-10clock, -.sheet-size[value="12"] ~ .sheet-clock-container .sheet-12clock { - display: block; -} -.sheet-size:not([value=""]) ~ .sheet-size-choice, -.sheet-clocks .sheet-size[value=""] ~ .sheet-broadcast-button, -.sheet-size[value=""] ~ .sheet-clock-container{ - display: none; -} -.sheet-clock-container .sheet-input-progress[value="0"]:checked ~ .sheet-clock { - background: white; -} -.sheet-size[value="4"] ~ .sheet-clock-container .sheet-input-progress[value="1"]:checked ~ .sheet-clock, -.sheet-size[value="8"] ~ .sheet-clock-container .sheet-input-progress[value="2"]:checked ~ .sheet-clock, -.sheet-size[value="12"] ~ .sheet-clock-container .sheet-input-progress[value="3"]:checked ~ .sheet-clock { - background-image: linear-gradient(0deg, white 50%, transparent 50%), linear-gradient(90deg, white 50%, red 50%); -} -.sheet-size[value="4"] ~ .sheet-clock-container .sheet-input-progress[value="2"]:checked ~ .sheet-clock, -.sheet-size[value="6"] ~ .sheet-clock-container .sheet-input-progress[value="3"]:checked ~ .sheet-clock, -.sheet-size[value="8"] ~ .sheet-clock-container .sheet-input-progress[value="4"]:checked ~ .sheet-clock, -.sheet-size[value="10"] ~ .sheet-clock-container .sheet-input-progress[value="5"]:checked ~ .sheet-clock, -.sheet-size[value="12"] ~ .sheet-clock-container .sheet-input-progress[value="6"]:checked ~ .sheet-clock { - background-image: linear-gradient(90deg, white 50%, red 50%); -} -.sheet-size[value="4"] ~ .sheet-clock-container .sheet-input-progress[value="3"]:checked ~ .sheet-clock, -.sheet-size[value="8"] ~ .sheet-clock-container .sheet-input-progress[value="6"]:checked ~ .sheet-clock, -.sheet-size[value="12"] ~ .sheet-clock-container .sheet-input-progress[value="9"]:checked ~ .sheet-clock { - background-image: linear-gradient(0deg, red 50%, transparent 50%), linear-gradient(90deg, white 50%, red 50%); -} -.sheet-size[value="4"] ~ .sheet-clock-container .sheet-input-progress[value="4"]:checked ~ .sheet-clock, -.sheet-size[value="6"] ~ .sheet-clock-container .sheet-input-progress[value="6"]:checked ~ .sheet-clock, -.sheet-size[value="8"] ~ .sheet-clock-container .sheet-input-progress[value="8"]:checked ~ .sheet-clock, -.sheet-size[value="10"] ~ .sheet-clock-container .sheet-input-progress[value="10"]:checked ~ .sheet-clock, -.sheet-size[value="12"] ~ .sheet-clock-container .sheet-input-progress[value="12"]:checked ~ .sheet-clock { - background: red; -} -.sheet-size[value="6"] ~ .sheet-clock-container .sheet-input-progress[value="1"]:checked ~ .sheet-clock, -.sheet-size[value="12"] ~ .sheet-clock-container .sheet-input-progress[value="2"]:checked ~ .sheet-clock { - background-image: linear-gradient(90deg, white 50%, transparent 50%), linear-gradient(150deg, red 50%, white 50%); -} -.sheet-size[value="6"] ~ .sheet-clock-container .sheet-input-progress[value="2"]:checked ~ .sheet-clock, -.sheet-size[value="12"] ~ .sheet-clock-container .sheet-input-progress[value="4"]:checked ~ .sheet-clock { - background-image: linear-gradient(90deg, white 50%, transparent 50%), linear-gradient(30deg, white 50%, red 50%); -} -.sheet-size[value="6"] ~ .sheet-clock-container .sheet-input-progress[value="4"]:checked ~ .sheet-clock, -.sheet-size[value="12"] ~ .sheet-clock-container .sheet-input-progress[value="8"]:checked ~ .sheet-clock { - background-image: linear-gradient(150deg, transparent 50%, red 50%), linear-gradient(90deg, white 50%, red 50%); -} -.sheet-size[value="6"] ~ .sheet-clock-container .sheet-input-progress[value="5"]:checked ~ .sheet-clock, -.sheet-size[value="12"] ~ .sheet-clock-container .sheet-input-progress[value="10"]:checked ~ .sheet-clock { - background-image: linear-gradient(30deg, red 50%, transparent 50%), linear-gradient(90deg, white 50%, red 50%); -} -.sheet-size[value="8"] ~ .sheet-clock-container .sheet-input-progress:checked { - &[value="1"] ~ .sheet-clock { - background-image: linear-gradient(90deg, white 50%, transparent 50%), linear-gradient(135deg, red 50%, white 50%); - } - &[value="3"] ~ .sheet-clock { - background-image: linear-gradient(90deg, white 50%, transparent 50%), linear-gradient(45deg, white 50%, red 50%); - } - &[value="5"] ~ .sheet-clock { - background-image: linear-gradient(135deg, transparent 50%, red 50%), linear-gradient(90deg, white 50%, red 50%); - } - &[value="7"] ~ .sheet-clock { - background-image: linear-gradient(45deg, red 50%, transparent 50%), linear-gradient(90deg, white 50%, red 50%); - } -} -.sheet-size[value="10"] ~ .sheet-clock-container .sheet-input-progress:checked { - &[value="1"] ~ .sheet-clock { - background-image: linear-gradient(90deg, white 50%, transparent 50%), linear-gradient(126deg, red 50%, white 50%); - } - &[value="2"] ~ .sheet-clock { - background-image: linear-gradient(90deg, white 50%, transparent 50%), linear-gradient(162deg, red 50%, white 50%); - } - &[value="3"] ~ .sheet-clock { - background-image: linear-gradient(90deg, white 50%, transparent 50%), linear-gradient(18deg, white 50%, red 50%); - } - &[value="4"] ~ .sheet-clock { - background-image: linear-gradient(90deg, white 50%, transparent 50%), linear-gradient(54deg, white 50%, red 50%); - } - &[value="6"] ~ .sheet-clock { - background-image: linear-gradient(126deg, transparent 50%, red 50%), linear-gradient(90deg, white 50%, red 50%); - } - &[value="7"] ~ .sheet-clock { - background-image: linear-gradient(162deg, transparent 50%, red 50%), linear-gradient(90deg, white 50%, red 50%); - } - &[value="8"] ~ .sheet-clock { - background-image: linear-gradient(18deg, red 50%, transparent 50%), linear-gradient(90deg, white 50%, red 50%); - } - &[value="9"] ~ .sheet-clock { - background-image: linear-gradient(54deg, red 50%, transparent 50%), linear-gradient(90deg, white 50%, red 50%); - } -} -.sheet-size[value="12"] ~ .sheet-clock-container .sheet-input-progress:checked { - &[value="1"] ~ .sheet-clock { - background-image: linear-gradient(90deg, white 50%, transparent 50%), linear-gradient(120deg, red 50%, white 50%); - } - &[value="5"] ~ .sheet-clock { - background-image: linear-gradient(90deg, white 50%, transparent 50%), linear-gradient(60deg, white 50%, red 50%); - } - &[value="7"] ~ .sheet-clock { - background-image: linear-gradient(120deg, transparent 50%, red 50%), linear-gradient(90deg, white 50%, red 50%); - } - &[value="11"] ~ .sheet-clock { - background-image: linear-gradient(60deg, red 50%, transparent 50%), linear-gradient(90deg, white 50%, red 50%); - } -} -/* TEXT INPUTS FOR TRAUMA AND CLOCKS */ -.sheet-text-button { - font-weight: bold; - input:checked + span { - color: $red; - } -} -.sheet-size-choice > .sheet-text-button { - height: 17px; - padding: 3px; - flex: 0 0 40%; - margin: auto; - justify-content: center; -} -/* TEETH */ -input.sheet-stresstooth, -input.sheet-xptooth, -input.sheet-holdtooth, -.sheet-stresstooth + span, -.sheet-xptooth + span, -.sheet-holdtooth + span { - height: 25px; -} -input.sheet-regulartooth, -.sheet-regulartooth + span { - height: 13px; -} -input.sheet-tooth { - width: 12px; - margin-right: -12px; - &:last-of-type { - width: 8px; - margin-right: -8px; - } -} -.sheet-tooth + span { - width: 8px; - background-size: cover; - background-repeat: no-repeat; - &:last-child { - margin-right: 0 !important; - } -} -.sheet-tooth:hover + span { - opacity: 0.7; -} -.sheet-xptooth + span { - background-image: url('https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Blades%20in%20the%20Dark/Assets/teeth/xptooth-red.png'); - margin-right: 4px; -} -.sheet-tooth:checked ~ .sheet-xptooth + span { - background-image: url('https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Blades%20in%20the%20Dark/Assets/teeth/xptooth-white.png'); -} -.sheet-stresstooth[type=radio] + span, -.sheet-stresstooth[type=checkbox]:checked + span, -.sheet-holdtooth:checked + span { - background-image: url('https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Blades%20in%20the%20Dark/Assets/teeth/stresstooth-red.png'); -} -.sheet-stresstooth[type=checkbox] + span, -.sheet-tooth:checked ~ .sheet-stresstooth[type=radio] + span, -.sheet-holdtooth + span { - background-image: url('https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Blades%20in%20the%20Dark/Assets/teeth/stresstooth-white.png'); -} -.sheet-regulartooth + span { - background-image: url('https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Blades%20in%20the%20Dark/Assets/teeth/shorttooth-red.png'); -} -.sheet-tooth:checked ~ .sheet-regulartooth + span { - background-image: url('https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Blades%20in%20the%20Dark/Assets/teeth/shorttooth-grey.png'); -} -input.sheet-zero { - width: 13px; - height: 13px; - margin-right: -13px; - vertical-align: top; -} -.sheet-zero + span { - height: 11px; - width: 11px; - margin-top: 1px; - margin-right: 2px; - vertical-align: top; - border: 1px solid black; - background: white; - border-radius: 50%; - position: relative; -} -.sheet-zero + span::before, .sheet-zero + span::after { - position: absolute; - width: 1px; - content: ""; - left: 0; - background: black; - height: 11px; -} -.sheet-zero + span::after { - transform: translate(4px,-1px) rotate(135deg); -} -.sheet-zero + span::before { - transform: translate(4px,-1px) rotate(45deg); -} -.sheet-zero:checked + span { - visibility: hidden; -} -.sheet-coin .sheet-zero + span { - position: relative; - bottom: 1px; - margin-right: auto; -} -.sheet-stash { - input.sheet-zero, .sheet-zero + span { - position: absolute; - left: -6px; - top: 3px; - } -} -.sheet-crewcoin { - input.sheet-zero, .sheet-zero + span { - position: absolute; - left: -9px; - top: 3px; - } -} -.sheet-stress2, .sheet-rep2, .sheet-heat2 { - input.sheet-zero, .sheet-zero + span { - position: absolute; - left: -13px; - top: 13px; - } -} -/* TURF RADIOS */ -.sheet-turfbox input[type=radio] { - height: 12px; - width: calc(100%/12); -} -.sheet-turf-input[value="1"] ~ input[type=radio].sheet-turf1 + span, -.sheet-turf-input[value="2"] ~ input[type=radio].sheet-turf2 + span, -.sheet-turf-input[value="3"] ~ input[type=radio].sheet-turf3 + span, -.sheet-turf-input[value="4"] ~ input[type=radio].sheet-turf4 + span, -.sheet-turf-input[value="5"] ~ input[type=radio].sheet-turf5 + span, -.sheet-turf-input[value="6"] ~ input[type=radio].sheet-turf6 + span { - background-image: url('https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Blades%20in%20the%20Dark/Assets/teeth/stresstooth-black.png'); -} -.sheet-tooth:checked ~ .sheet-stresstooth.sheet-turf6 + span { - background-image: url('https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Blades%20in%20the%20Dark/Assets/teeth/stresstooth-halfgrey.png'); -} -/* SPECIAL ABILITIES*/ -.sheet-specialability, -.sheet-friend-contact { - border-bottom: 1px solid $darkgrey; - width: 100%; - align-items: start; -} -.sheet-specialability { - padding: 4px; -} -.sheet-friend-contact { - padding: 6px 4px; - align-items: center; -} -.sheet-abilityname { - width: calc(28% - 22px); - font-size: 13px; - min-height: 17px; - margin: 0 auto; - line-height: 17px; - padding: 0 1px; -} -.sheet-abilitydesc { - width: 72%; - min-height: 32px; - font-size: 12px; - line-height: 14px; - padding: 2px 1px; - text-align: justify; -} -/* FRIENDS/CONTACTS */ -.sheet-friend-contact .sheet-auto-expand { - font-size: 12px; - color: $lightblack; - min-height: 20px; - line-height: 16px; - flex: 1 1 0; - padding: 2px 0 2px 3px; -} -/* HARM */ -.sheet-harm { - position: relative; -} -.sheet-harmrow { - border-bottom: 1px solid black; - > div { - background: $lightgrey; - height: 52px; - } - textarea { - height: 52px; - font-size: 12px; - padding: 10px 4px 3px; - color: $headertext; - width: 0; - flex-grow: 1; - resize: none; - line-height: 16px; - text-align: center; - - &:nth-of-type(2) { - border-left: 1px solid $lightgrey; - } - } - .sheet-harmnumber { - width: 12px; - line-height: 1; - font-size: 13px; - } - .sheet-harmeffect { - width: 59px; - color: $tablegrey; - font-size: 10px; - letter-spacing: 1px; - line-height: 1.4; - } -} -/* HEALING AND ARMOR */ -.sheet-armor, .sheet-healing { - .sheet-blackheader { - text-align: center; - padding: 1px 0 0; - } -} -.sheet-healing { - position: relative; - .sheet-healing-progress { - line-height: 14px; - text-align: center; - font-style: italic; - font-size: 9px; - } - .sheet-clock-container { - margin: 0 auto; - } -} -.sheet-armor { - label { - margin: 3px 0 3px 10px; - height: 18px; - font-size: 11px; - text-align: center; - line-height: 18px; - } - .sheet-label { - flex-grow: 1; - order: 1; - } - input:checked ~ span { - color: $red; - } - .sheet-checkbox + span { - border: 1px solid black; - margin: 3px; - order: 2; - } -} -/* COIN */ -.sheet-coin-and-stash { - width: 96%; - margin: 1px 0 0 4%; -} -.sheet-coinrow .sheet-label { - font-size: 11px; - margin-right: auto; -} -.sheet-coin { - border-bottom: 1px solid $stashcolor; - border-right: 1px solid $stashcolor; - width: 70%; - height: 19px; - padding: 1px 3px 0 0; - align-items: center; -} -.sheet-stashbutton-holder { - border-top: 1px solid $stashcolor; - display: flex; - align-items: center; - justify-content: center; - width: 30%; - height: 19px; - padding-bottom: 1px; -} -/* STASH */ -.sheet-stash { - padding: 4px 0 0 6px; - line-height: 19px; - margin-bottom: -10px; - position: relative; -} -/* CREW COIN */ -.sheet-crewcoin-coins { - padding: 4px 0 0 3px; - position: relative; -} -.sheet-crewcoin-desc { - font-size: 10px; - line-height: 14px; - padding-left: 3px; - font-style: italic; -} -.sheet-crewcoinbar { - border-left: 1px solid $lightergrey; - height: 15px; - width: 3px; - margin: -1px auto 0; -} -/* LEFT-FILLED RADIO BOXES */ -.sheet-crewcoin { - input.sheet-radiobox { - width: 12px; - height: 12px; - margin-right: -12px; - } - .sheet-radiobox + span { - width: 11px; - height: 11px; - margin-right: auto; - } - input:checked ~ .sheet-radiobox.sheet-vaultcoin + span { - border-color: $lightergrey; - } -} -.sheet-coin-and-stash { - input.sheet-radiobox { - width: 13px; - height: 13px; - vertical-align: top; - margin-right: -13px; - } - .sheet-radiobox + span { - width: 12px; - height: 12px; - vertical-align: top; - } -} -.sheet-coinrow .sheet-radiobox + span { - margin-right: auto; -} -.sheet-radiobox:hover + span { - opacity: 0.7; -} -.sheet-radiobox:last-of-type + span { - margin-right: 0; -} -.sheet-coin, .sheet-crewcoin { - .sheet-radiobox + span { - background: $red; - border: 1px solid black; - } - input:checked ~ .sheet-radiobox + span { - background: white; - } -} -.sheet-stash { - .sheet-radiobox + span { - background: black; - margin-right: calc((100% - 126px)/9); - } - input:checked ~ .sheet-radiobox + span { - background: $lightergrey; - } - input.sheet-radiobox:nth-of-type(10n+1) { - margin: -2px -17px 0 3px; - width: 15px; - height: 15px; - } - .sheet-radiobox:nth-of-type(10n+1) + span { - width: 14px; - height: 14px; - border: 1px solid black; - margin-left: 3px; - margin-right: 0; - position:relative; - top: -2px; - } -} -/* HUNTING GROUNDS */ -.sheet-hunting-grounds { - .sheet-plainheader { - min-height: 20px; - line-height: 18px; - } - .sheet-description { - font-size: 12px; - min-height: 32px; - line-height: 16px; - } -} -/* BONUS DIE SECTION */ -.sheet-bonusdie .sheet-label { - font-size: 12px; -} -.sheet-bonusdieplus { - width: 10%; - background: black; - color: white; - font-size: 13px; - line-height: 1; - font-weight: bold; -} -.sheet-bonusdietext { - background: $lightgrey; - width: 90%; - padding: 3px; - font-size: 11px; - line-height: 14px; - text-align: center; -} -/* REPEATING SECTION CONTROLS */ -.repcontrol button { - padding: 6px; - background-image: none; - background: $lightgrey; - color: $lightblack; - border-radius: 0; - border-color: $darkgrey; - transition: all 0.2s; - font-family: inherit; - font-variant: small-caps; - font-weight: bold; - &:hover { - color: black; - border-color: black; - background: $bordergrey; - } -} - -.sheet-white-repcontrol .repcontrol button.btn { - background: white; -} -.sheet-small-repcontrol .repcontrol button, -.sheet-white-repcontrol .repcontrol button { - margin-top: 5px; - font-size: 12px; - padding: 2px; -} -.sheet-cohorts.sheet-white-repcontrol .repcontrol button { - margin-top: 0; -} -.itemcontrol { - z-index: 20; -} -.sheet-itemholder .itemcontrol .btn { - padding: 0px 7px; - line-height: 16px; -} -.sheet-factions .itemcontrol .btn { - padding: 1px 7px; -} -/* STRESS, REP, et cetera */ -.sheet-rep-and-hold, .sheet-heat-and-vault { - justify-content: space-between; -} -.sheet-hold { - width: 53%; -} -.sheet-stress, .sheet-rep, .sheet-hold, .sheet-heat { - height: 25px; -} -.sheet-stress1 { - flex: 1 0 auto; -} -.sheet-stress2 { - flex: 2 1 136px; - position: relative; -} -.sheet-stress3 { - flex: 1 0 68px; - text-align: center; -} -.sheet-stress4 { - flex: 2 0 217px; - line-height: 13px; - font-size: 9px; - padding: 1px 0 0 2px; - text-transform: uppercase; - div { - justify-content: space-between; - } - .sheet-input:not([value="normal"]) ~ .sheet-normal, - .sheet-input:not([value="ghost"]) ~ .sheet-ghost, - .sheet-input:not([value="hull"]) ~ .sheet-hull { - display: none; - } - .sheet-ghost, .sheet-hull { - letter-spacing: 1px; - } -} -.sheet-traumaholder, .sheet-wantedholder { - height: 13px; - padding-left: 2px; -} -.sheet-rep1 { - width: 33px; -} -.sheet-rep2 { - width: 134px; - position: relative; -} -.sheet-turfbox { - display: flex; - position: absolute; - flex-flow : row-reverse; - z-index: 2; - width: 100%; -} -.sheet-turfzero-holder { - margin-left: 2px; -} -.sheet-hold > div, -.sheet-hold > label, -.sheet-heat > div, -.sheet-rep > div, -.sheet-crewcoin2 { - flex-grow: 1; -} -.sheet-heat2 { - width: 107px; - position: relative; -} -.sheet-crewcoin1 { - width: 26%; -} -.sheet-regulartooth + span, -.sheet-rep .sheet-tooth + span, -.sheet-heat2 .sheet-tooth + span, -.sheet-stress2 .sheet-tooth + span { - margin-right: auto; -} -.sheet-extra-teeth:checked + .sheet-tooth { - + span { - margin-right: 0; - } - ~ .sheet-tooth, + span ~ span { - display: none; - } -} -.sheet-vampirexp:checked ~ .sheet-xptooth + span { - margin-right: 2px; -} -.sheet-xpholder .sheet-vampirexp:not(:checked) ~ .sheet-tooth[value="8"] + span, -.sheet-attribute-xp-box .sheet-vampirexp:not(:checked) ~ .sheet-tooth[value="6"] + span { - margin-right: 0; -} -/* small fixes */ -.sheet-rep input.sheet-tooth { - width: 11px; - margin-right: -11px; -} -/* NOTES */ -.sheet-notes { - margin-left: 1%; - font-family: "Shadows Into Light", cursive; - color: $headertext; - font-size: 20px; - width: 98%; - background: linear-gradient(transparent 26px,#a7a7a7 1px) 0 0 / 100% 27px; - line-height: 27px; - height: 378px; - min-height: 378px; -} -.sheet-type-character, .sheet-type-crew { - .sheet-notes { - margin-top: 15px; - } -} -/* LOAD CHECKBOXES */ -.sheet-loadheader .sheet-checkbox + span { - border: 1px solid black; - transform: rotate(45deg); - width: 10px; - height: 10px; - background: white; -} -/* ROLL BUTTONS */ -button[type=roll].sheet-rollbutton { - display: flex; - border: none; - margin: 0; - padding: 0; -} -.sheet-attribute-title button[type=roll].sheet-rollbutton { - max-width: calc(100% - 97px); - line-height: inherit; - color: inherit; - font-size: 13px; -} -.sheet-action button[type=roll].sheet-rollbutton { - letter-spacing: 1px; - line-height: 13px; - flex: 0 0 86px; - font-size: 13px; -} -.sheet-coinrow button[type=roll].sheet-rollbutton { - font-size: 11px; - color: $lightblack; -} -.sheet-blackheader button[type=roll].sheet-rollbutton { - margin:auto; -} -button[type=roll].sheet-borderbutton { - color: $lightblack; - font-size: 13px; - border-color: $darkgrey; -} -button[type=roll].sheet-vicebutton { - float: right; - margin: 5px 3px -5px auto; - line-height: 13px; - padding: 4px; -} -button[type=roll].sheet-fortunebutton { - width: 100%; - height: 30px; - margin: 10px 0 0; -} -.sheet-type-faction button[type=roll].sheet-fortunebutton { - width: 100px; - margin: 0; -} -button[type=roll].sheet-engagementbutton { - width: calc(100% - 20px); - padding: 2px 5px; - height: 30px; - margin: 10px 10px 0; -} -button[type=roll].sheet-rollbutton:hover { - color: $red; -} -button[type=roll].sheet-borderbutton:hover { - color: black; - border-color: black; -} -/* CHECKBOXES */ -.sheet-checkbox { - margin-right: -12px; -} -input.sheet-checkbox, .sheet-checkbox + span { - height: 12px; - width: 12px; - flex: 0 0 auto; -} -.sheet-checkbox + span { - border: 1px solid $boxgrey; -} -.sheet-checkbox:checked + span { - background: $red; -} -.sheet-checkbox:hover + span { - opacity: 0.7; -} -.sheet-squarebox + span { - background: transparent; - margin-right: 3px; -} -.sheet-circlebox + span { - border-radius: 50%; - background: white; -} -input.sheet-checkbox.sheet-squarebox-small, .sheet-checkbox.sheet-squarebox-small + span { - height: 9px; - width: 9px; -} -.sheet-checkbox.sheet-squarebox-small:checked + span { - background: black; -} -.sheet-claimbridge { - position: relative; -} -.sheet-claimbridge input, .sheet-claimbridge span { - width: 100%; - height: 100%; -} -.sheet-claimbridge input:checked + span { - background: $lightgrey; -} -/* Change text colour when boxes are checked*/ -.sheet-specialability :checked ~ .sheet-abilityname, -.sheet-item .sheet-checkbox:checked ~ .sheet-itemname, -.sheet-friend .sheet-friendup:checked ~ .sheet-auto-expand { - color: $red; -} -.sheet-friend-contact :checked ~ .sheet-auto-expand { - font-weight: bold; -} -.sheet-friend .sheet-frienddown:checked ~ .sheet-auto-expand, -.sheet-contact .sheet-contact-check:checked ~ .sheet-auto-expand { - color: $fontblack; -} -/* specific adjustments */ -.sheet-specialability .sheet-checkbox, -.sheet-specialability .sheet-checkbox + span { - margin-top: 3px; -} -.sheet-actions input.sheet-checkbox { - height: 20px; - width: 16px; - margin-right: -14px; -} -.sheet-actions .sheet-checkbox + span { - height: 11px; - width: 11px; - border: none; - margin-right: calc(7px + (100% - 173px)/8); -} -.sheet-action .sheet-checkbox + span:first-of-type { - margin-right: 6px; -} -.sheet-action .sheet-darktalent:checked ~ .sheet-checkbox + span:first-of-type { - margin-right: 4px; -} -.sheet-action .sheet-darktalent:checked ~ .sheet-checkbox + span:not(:first-of-type) { - margin-right: calc(3px + (100% - 171px)/10); -} -.sheet-action .sheet-darktalent:checked ~ .sheet-checkbox + span:last-of-type { - margin-right: calc(4px + (100% - 171px)/10); -} -/* Fake radios */ -.sheet-checkbox.sheet-fakeradio + span { - background: $red; -} -.sheet-action .sheet-fakeradio:checked ~ .sheet-fakeradio + span { - background: $lightergrey; -} -.sheet-tier .sheet-fakeradio:checked ~ .sheet-fakeradio + span { - background: white; -} -/* HIDER */ -.sheet-darktalent:not(:checked) ~ input:last-of-type, -.sheet-darktalent:not(:checked) ~ input:last-of-type + span { - display: none; -} -/* Friend triangles */ -.sheet-friend-contact { - .sheet-checkbox + span { - width: 0; - height: 0; - background: transparent; - border-color: transparent; - } - label { - width: 12px; - height: 12px; - position: relative; - } -} -.sheet-friend label { - &.sheet-up { - margin-right: 1px; - top: -1px; - .sheet-checkbox + span { - border-width: 0 5px 10px; - border-bottom-color: white; - } - .sheet-checkbox:checked + span { - border-bottom-color: $red; - } - } - &.sheet-down { - top: 5px; - .sheet-checkbox + span { - border-width: 10px 5px 0; - border-top-color: white; - } - .sheet-checkbox:checked + span { - border-top-color: black; - } - } -} -.sheet-contact label { - top: 1px; - .sheet-checkbox + span { - border-width: 5px 0 5px 10px; - border-left-color: white; - } - .sheet-checkbox:checked + span { - border-left-color: black; - } -} -/* ACTION RATINGS */ -.sheet-attribute, -.sheet-cohort { - margin-bottom: 10px; -} -.sheet-attribute-title, -.sheet-cohort-title { - height: 21px; - line-height: 21px; - color: white; - background: black; - padding: 0 3px; - align-items: center; - justify-content: space-between; -} -.sheet-attribute-xp-box { - width: 97px; - justify-content: flex-end; - height: 100%; -} -.sheet-actioncolumn { - flex-grow: 1; -} -.sheet-actions { - padding-left: 2px; -} -.sheet-action { - height: 22px; - align-items: center; -} -.sheet-action:first-child { - height: 34px; - padding-top: 12px; -} -.sheet-divider { - margin-right: calc(5px + (100% - 173px)/12); - border-right: 1px solid black; - height: inherit; -} -.sheet-darktalent:checked ~ .sheet-divider { - margin-right: calc(3px + (100% - 173px)/15) -} -.sheet-action:first-child .sheet-divider { - position: relative; - top: -6px; -} -/* COHORTS */ -.sheet-cohorts .repcontrol { - height: 28px; -} -.sheet-cohort-title { - font-size: 11px; - input[type=text] { - width: calc(100% - 40px); - } -} -.sheet-cohort-info { - background: black; - height: 13px; - font-size: 9px; - color: white; - line-height: 13px; - input[type=text] { - flex: 1 1 0; - padding: 0 3px; - } - input[type=number] { - flex: 0 0 auto; - color: inherit; - background: transparent; - border: none; - border-radius: 0; - padding: 0 0 0 4px; - line-height: inherit; - width: 13px; - -moz-appearance: textfield; - font-size: 11px; - font-family: "Times New Roman", Times, serif; - &::-webkit-outer-spin-button, &::-webkit-inner-spin-button { - margin: 0; - -webkit-appearance: none; - } - } -} -.sheet-cohort-quality-label { - flex: 0 0 auto; -} -.sheet-cohort-condition { - justify-content: space-between; -} -.sheet-cohort-condition-name { - font-size: 7.5px; - margin-right: 2px; - z-index: -1; -} -.sheet-cohort-dropdown { - background: black; - position: relative; - z-index: 1; - width: 41px; - height: 13px; - padding-left: 3px; - flex: 0 0 auto; - overflow: hidden; - transition: all 0.2s; - &:hover { - height: 39px; - > div:first-child { - display: none; - } - } - input[type=radio] { - width: 39px; - margin-right: -39px; - vertical-align: top; - height: 13px; - z-index: 10; - &:checked + span { - color: $red; - } - } -} -.sheet-cohort-edgeflaw { - font-size: 9px; - line-height: 10px; - margin: 2px 0; - align-items: start; - .sheet-uppercase { - width: 34px; - padding: 2px 0; - } - .sheet-auto-expand { - width: calc(100% - 34px); - min-height: 14px; - padding: 2px 3px; - } -} -.sheet-cohort-description { - font-size: 9px; - padding: 1px 0; - line-height: 12px; - height: 50px; - border-bottom: 1px solid $lightgrey; -} -/* CLAIMS */ -.sheet-claims { - margin-top: 15px; -} -.sheet-claimsrow { - align-items: center; - > div, > label { - flex: 0 0 auto; - } -} -.sheet-claimbox, -.sheet-lairbox { - height: 66px; -} -.sheet-claims-seprow { - height: 12px; - justify-content: space-between; -} -.sheet-lairbox { - background: $lairboxcolor; - width: 18.4%; - font-size: 13px; - color: white; - letter-spacing: 1px; -} -.sheet-claims-horisep { - height: 12px; - display: flex; - width: 2%; -} -.sheet-claims-vertsep { - display: flex; - width: 12px; - margin: 0 calc(9.2% - 6px); -} -.sheet-claimbox { - background: $lightgrey; - width: 18.4%; - position: relative; - transition: all 0.2s; - .sheet-label { - height: 30px; - padding: 4px 0 2px; - line-height: 12px; - } - textarea { - text-align: center; - font-size: 9px; - resize: none; - &.sheet-claim-desc { - height: 36px; - padding: 2px 2.5% 4px; - line-height: 10px; - } - } - label { - position: absolute; - bottom: 1px; - left: 1px; - } -} -input:checked + .sheet-claimbox { - background: $lightergrey; -} -/* STRICTURES */ -.sheet-strictures { - font-size: 11px; - line-height: 1.6; - text-align: justify; - label { - margin-right: 3px; - display: inline-flex; - vertical-align: top; - align-items: center; - } - span.sheet-label::after { - content: ":"; - } -} -/* ALCHEMICALS */ -.sheet-title-checkbox ~ div { - height: auto; - transition: all 0.2s; - overflow: hidden; -} -.sheet-title-checkbox:not(:checked) ~ div { - height: 0; -} -input.sheet-title-checkbox { - width: 100%; - vertical-align: top; - margin-right: -100%; - height: 24px; -} -.sheet-title-checkbox:hover + span { - color: $red; -} -.sheet-alchemicals { - padding: 0 5px; - line-height: 16px; -} -.sheet-bandolier-desc { - line-height: 12px; - margin-top: 2px; - font-size: 10px; - font-style: italic; -} -.sheet-bandoliers-name { - margin-right: 7px; - font-size: 12px; - line-height: 18px; -} -.sheet-bandolier input:nth-of-type(3) + span { - margin-right: 8px; -} -.sheet-alchemicals { - .repcontainer { - display: flex; - flex-flow: row wrap; - } - .repitem { - font-size: 11px; - width: 50%; - } - .sheet-auto-expand { - margin: 0 1px 0 7px; - padding: 1px; - min-height: 16px; - line-height: 14px; - width: calc(100% - 8px); - } - input.sheet-alchemicals-expand { - width: 10px; - position: absolute; - height: 16px; - } - .sheet-alchemicals-expand + span { - transform: rotate(45deg) scale(0.9); - position: absolute; - } - .sheet-alchemicals-expand:not(:checked) ~ .sheet-alchemicals-info { - display: none; - } - .sheet-alchemicals-info { - position: relative; - font-size: 9px; - z-index: 2; - background: white; - line-height: 1.3; - height: 64px; - width: 200%; - padding: 2px; - border: 1px solid $lightgrey; - } - .repitem:nth-child(even) .sheet-alchemicals-info { - left: -100%; - } - .sheet-alchemicals-expand + span::before { - content: '■'; - font-family: serif; - } - .sheet-alchemicals-expand:checked + span { - color: $red; - } - .itemcontrol .btn { - padding: 0 4px; - font-size: 9px; - line-height: 14px; - } - .repcontrol_del { - order: 1; - } - .repcontainer.editmode .repitem .itemcontrol { - display: flex; - justify-content: space-between; - align-items: start; - } -} -/* FRAME */ -.sheet-frame textarea { - font-size: 11px; - height: 40px; -} -/* FACTIONS PAGE */ -.sheet-type-faction .repcontrol { - height: 38px; -} -.sheet-factions { - justify-content: space-between; -} -.sheet-factiontitle { - margin-bottom: 10px; - align-items: center; -} -.sheet-factiontitle input[type=text] { - font-size: 26px; - margin-right: auto; - width: 60%; -} -.sheet-factions-header { - width: 100%; - height: 24px; - align-items: center; - line-height: 14px; - background: $bordergrey; -} -.sheet-factions-header input[type=text] { - padding-left: 3px; -} -.sheet-factions-header span { - font-size: 7px; -} -input.sheet-expand, .sheet-expand + span { - position: absolute; - width: 7px; - height: 10px; - font-size: 8px; -} -.sheet-type-faction .sheet-expand { - left: -7px; - top: 6px; - + span { - top: 3px; - left: -7px; - &::before { - content: "▶"; - } - } - &:checked + span::before { - content: "▼"; - } -} -.sheet-faction { - border-bottom: 1px solid $lightgrey; - textarea { - border-top: 1px solid $lightgrey; - font-size: 11px; - line-height: 1.5; - height: 51px; - } - input[type=number] { - border: none; - background: transparent; - padding: 0; - font-size: 12px; - } - input[type=text] { - border-right: 1px solid $lightgrey; - font-size: 12px; - padding: 2px 1px; - } -} -.sheet-expand:not(:checked) ~ textarea { - height: 0 !important; - border-width: 0; -} -/* Column widths */ -.sheet-faction-name, input[type=text].sheet-faction-name { - width: 65%; -} -.sheet-faction-tier, input[type=text].sheet-faction-tier { - width: 10%; - text-align: center; -} -.sheet-faction-hold, input[type=text].sheet-faction-hold { - width: 10%; - text-align: center; -} -.sheet-faction-status, input[type=number].sheet-faction-status { - width: 15%; - text-align: center; -} -/* War blurb */ -.sheet-warblurb { - text-align: justify; - .sheet-label { - font-size: 14px; - } - li { - margin-bottom: .5em; - padding-left: 1em; - } -} -/* Generate button */ -label.sheet-generatebutton { - color: $lightblack; - border: 1px solid $darkgrey; - &:hover { - color: black; - border-color: black; - input + span { - opacity: 1; - } - } -} -.sheet-type-faction label.sheet-generatebutton { - font-size: 13px; - padding: 0 6px; - align-items: center; - margin: 0 6px; - font-weight: bold; - height: 30px; -} -.sheet-settings label.sheet-generatebutton { - padding: 2px; - line-height: 12px; - margin: 0 4px; - font-size: 11px; -} -/* Auto-expand textareas */ -.sheet-auto-expand { - position: relative; - cursor: text; - word-wrap: break-word; - span { - visibility: hidden; - white-space: pre-wrap; - display: block; - } - textarea { - position: absolute; - overflow: hidden; - z-index: 1; - top: 0; - left: 0; - resize: none; - height: 100%; - word-wrap: break-word; - padding: inherit; - font: inherit; - color: inherit; - text-transform: inherit; - letter-spacing: inherit; - text-align: inherit; - } -} -/* Broadcast buttons */ -.sheet-input-show-broadcast:not(:checked) ~ .sheet-container .sheet-broadcast-button { - display: none; -} -button[type=roll].sheet-broadcast-button { - font-family: pictos; - position: absolute; - border: none; - margin: 0; - padding: 0; - z-index: 3; -} -.sheet-specialability button[type=roll].sheet-broadcast-button { - font-size: 12px; - line-height: 14px; - height: 14px; - width: 14px; - color: $broadcastcolor; - left: 3px; - bottom: 7px; -} -.sheet-clocks button[type=roll].sheet-broadcast-button { - font-size: 11px; - line-height: 11px; - height: 12px; - width: 12px; - color: $broadcastcolor; - right: 0; - bottom: 2px; -} -.sheet-harm button[type=roll].sheet-broadcast-button { - color: white; - font-weight: normal; - font-size: 11px; - line-height: 11px; - right: 2px; - top: 1px; -} - -/* Kirsty */ -.sheet-use-kirsty:checked ~ .sheet-container { - .sheet-specialheader, - .sheet-blackheader, - .sheet-greyheader, - .sheet-black-on-grey, - .sheet-playbook input[type="text"], - .sheet-plainheader, - .sheet-itemheader :first-child, - .sheet-loadheader :first-child, - .sheet-attribute-title button[type=roll].sheet-rollbutton, - .sheet-bonusdie > .sheet-label:first-child, - .sheet-cohort-title, - .sheet-claimbox .sheet-label, - .sheet-lairbox, - .sheet-crewheader, - .sheet-factiontitle input[type="text"], - .sheet-factions-header input[type="text"] { - font-family: Kirsty, Georgia, serif; - } - .sheet-claimbox .sheet-label { - font-size: 10px; - font-weight: 400; - } - .sheet-specialheader, .sheet-itemheader :first-child, .sheet-loadheader :first-child { - font-size: 12px; - font-weight: 400; - } - .sheet-plainheader, .sheet-cohort-title { - font-size: 13px; - font-weight: 400; - } - .sheet-factions-header input[type="text"], - .sheet-bonusdie > .sheet-label:first-child { - font-size: 14px; - font-weight: 400; - } - .sheet-attribute-title button[type=roll].sheet-rollbutton, .sheet-lairbox { - font-size: 15px; - font-weight: 400; - } - .sheet-crewheader { - font-size: 29px; - letter-spacing: 0; - } - .sheet-factiontitle input[type="text"] { - font-size: 32px; - } - .sheet-playbook input[type="text"] { - font-size: 40px; - letter-spacing: 0; - } - .sheet-blackheader, .sheet-greyheader, .sheet-black-on-grey { - .sheet-label, button[type="roll"].sheet-label { - font-size: 12px; - font-weight: 400; - } - } -} - -/* Adjustments for Korean */ -.charsheet.lang-ko { - font-family: "Malgun Gothic", Dotum, Georgia, "Bitstream Charter", "Times New Roman", serif; - .sheet-kirsty-option { - display: none; - } - - .sheet-settings { - label.sheet-generatebutton { - font-size: 12px; - } - > div { - font-size: 11px; - } - } - - .sheet-header { - .sheet-title { - font-size: 13px; - } - .sheet-info { - font-size: 11px; - } - .sheet-smallcaps { - font-size: 1em; - } - .sheet-italic { - font-style: normal; - } - } - .sheet-stress4 { - font-size: 12px; - } - .sheet-harmrow .sheet-harmeffect { - font-size: 12px; - } - .sheet-healing-progress { - font-size: 11px; - } - .sheet-armor label { - font-size: 12px; - } - .sheet-coinrow { - .sheet-label, button[type="roll"].sheet-rollbutton { - font-size: 12px; - } - } - .sheet-specialheader { - font-size: 13px; - } - .sheet-abilityname { - font-size: 14px; - } - .sheet-abilitydesc { - font-family: 13px; - line-height: 16px; - min-height: 36px; - } - .sheet-plainheader { - font-size: 14px; - } - .sheet-teamworkbox { - font-size: 13px; - } - .sheet-gatherinfo li { - font-size: 12px; - } - .sheet-strictures { - font-size: 12px; - } - .sheet-playbook textarea { - font-size: 12px; - } - .sheet-loadheader { - .sheet-loadnumber { - font-family: inherit; - } - label { - font-style: normal - } - } - .sheet-itemheader, .sheet-loadheader { - font-size: 12px; - padding: 1px 2px 0 4px; - height: auto; - } - .sheet-numboxes-chooser { - font-size: 10px; - } - .sheet-item .sheet-itemname, .sheet-item .sheet-label { - font-size: 12px; - } - .sheet-item .sheet-label.sheet-upgradecosts { - font-size: 9px; - } - .sheet-itemholder .sheet-expand ~ textarea { - font-size: 11px; - } - .sheet-bandoliers-name { - font-size: 13px; - } - .sheet-bandolier-desc { - font-size: 11px; - font-style: normal; - } - .sheet-attribute-title button[type="roll"].sheet-rollbutton { - font-size: 15px; - } - .sheet-action button[type="roll"].sheet-rollbutton { - font-size: 15px; - } - button[type="roll"].sheet-borderbutton { - font-size: 15px; - } - .sheet-bonusdietext, .sheet-bonusdie .sheet-label { - font-size: 13px; - } - .sheet-friend-contact .sheet-auto-expand { - font-size: 13px; - } - .sheet-clocks .sheet-auto-expand { - font-size: 12px; - } - .sheet-crewcoin-desc { - font-style: normal; - } - .sheet-claimbox { - textarea.sheet-label { - font-size: 12px; - } - textarea.sheet-claim-desc { - overflow: hidden; - height: 54px; - line-height: 12px; - font-size: 11px; - } - } - .sheet-claimbox, .sheet-lairbox { - height: 84px; - } - .sheet-cohort-title { - font-size: 12px; - } - .sheet-cohort-info { - height: 15px; - font-size: 11px; - } - .sheet-cohort-condition-name { - font-size: 12px; - } - .sheet-cohort-edgeflaw { - font-size: 11px; - } - .sheet-cohort-description { - font-size: 11px; - } - .sheet-factions-header span { - font-size: 9px; - } - .sheet-faction-name, input[type=text].sheet-faction-name { - width: 60%; - } - .sheet-faction-tier, input[type=text].sheet-faction-tier { - width: 12%; - } - .sheet-faction-hold, input[type=text].sheet-faction-hold { - width: 13%; - } -} diff --git a/Blades in the Dark/Source/sheetworkers.js b/Blades in the Dark/Source/sheetworkers.js deleted file mode 100644 index 9c821db113..0000000000 --- a/Blades in the Dark/Source/sheetworkers.js +++ /dev/null @@ -1,2380 +0,0 @@ -"use strict"; -/* DATA */ -const sheetVersion = "2.6", - crewData = { - assassins: { - base: { - claim_1_desc: "claim_training_rooms_description", - claim_1_name: "claim_training_rooms", - claim_2_desc: "claim_vice_den_description", - claim_2_name: "claim_vice_den", - claim_3_desc: "claim_fixer_description", - claim_3_name: "claim_fixer", - claim_4_desc: "claim_informants_description", - claim_4_name: "claim_informants", - claim_5_desc: "claim_hagfish_farm_description", - claim_5_name: "claim_hagfish_farm", - claim_6_desc: "claim_victim_trophies_description", - claim_6_name: "claim_victim_trophies", - claim_7_name: "claim_turf", - claim_9_name: "claim_turf", - claim_10_desc: "claim_cover_operation_description", - claim_10_name: "claim_cover_operation", - claim_11_desc: "claim_protection_racket_description", - claim_11_name: "claim_protection_racket", - claim_12_desc: "claim_infirmary_description", - claim_12_name: "claim_infirmary", - claim_13_desc: "claim_envoy_description", - claim_13_name: "claim_envoy", - claim_14_desc: "claim_cover_identities_description", - claim_14_name: "claim_cover_identities", - claim_15_desc: "claim_city_records_description", - claim_15_name: "claim_city_records", - claim_bridge_2_3: 0, - claim_bridge_3_4: 0, - claim_bridge_6_7: 0, - claim_bridge_9_14: 0, - claim_bridge_12_13: 0, - claim_bridge_13_14: 0, - crew_description: "crew_assassins_description", - crew_xp_condition: "crew_assassins_xp_condition", - hunting_grounds_type: "crew_assassins_hunting_grounds_type-N", - hunting_grounds_description: "crew_assassins_hunting_grounds_description-N", - upgrade_20_check_1: "1", - upgrade_21_check_1: "1" - }, - crewability: ["deadly", "crow's_veil", "emberdeath", "no_traces", "patron", "predators", "vipers", "veteran"], - upgrade: [{ - name: "crew_upgrade_hardened", - numboxes: "3" - }, { - name: "crew_upgrade_assassin_rigging", - numboxes: "1" - }, { - name: "crew_upgrade_ironhook_contacts", - numboxes: "1" - }, { - name: "crew_upgrade_elite_skulks", - numboxes: "1" - }, { - name: "crew_upgrade_elite_thugs", - numboxes: "1", - }] - }, - bravos: { - base: { - claim_1_desc: "claim_barracks_description", - claim_1_name: "claim_barracks", - claim_2_name: "claim_turf", - claim_3_desc: "claim_terrorized_citizens_description", - claim_3_name: "claim_terrorized_citizens", - claim_4_desc: "claim_informants_description", - claim_4_name: "claim_informants", - claim_5_desc: "claim_protection_racket_description", - claim_5_name: "claim_protection_racket", - claim_6_desc: "claim_fighting_pits_description", - claim_6_name: "claim_fighting_pits", - claim_7_name: "claim_turf", - claim_9_name: "claim_turf", - claim_10_name: "claim_turf", - claim_11_desc: "claim_infirmary_description", - claim_11_name: "claim_infirmary", - claim_12_desc: "claim_bluecoat_intimidation_description", - claim_12_name: "claim_bluecoat_intimidation", - claim_13_desc: "claim_street_fence_description", - claim_13_name: "claim_street_fence", - claim_14_desc: "claim_warehouses_description", - claim_14_name: "claim_warehouses", - claim_15_desc: "claim_bluecoat_confederates_description", - claim_15_name: "claim_bluecoat_confederates", - claim_bridge_3_4: 0, - claim_bridge_2_7: 0, - claim_bridge_12_13: 0, - cohort1_subtype: "thugs", - crew_description: "crew_bravos_description", - crew_xp_condition: "crew_bravos_xp_condition", - hunting_grounds_type: "crew_bravos_hunting_grounds_type-N", - hunting_grounds_description: "crew_bravos_hunting_grounds_description-N", - upgrade_21_check_1: "1" - }, - crewability: ["dangerous", "blood_brothers", "door_kickers", "fiends", "forged_in_the_fire", "patron", "war_dogs", "veteran"], - upgrade: [{ - name: "crew_upgrade_hardened", - numboxes: "3" - }, { - name: "crew_upgrade_bravos_rigging", - numboxes: "1" - }, { - name: "crew_upgrade_ironhook_contacts", - numboxes: "1" - }, { - name: "crew_upgrade_elite_rovers", - numboxes: "1" - }, { - name: "crew_upgrade_elite_thugs", - numboxes: "1", - }] - }, - cult: { - base: { - claim_1_desc: "claim_cloister_description", - claim_1_name: "claim_cloister", - claim_2_desc: "claim_vice_den_description", - claim_2_name: "claim_vice_den", - claim_3_desc: "claim_offertory_description", - claim_3_name: "claim_offertory", - claim_4_desc: "claim_ancient_obelisk_description", - claim_4_name: "claim_ancient_obelisk", - claim_5_desc: "claim_ancient_tower_description", - claim_5_name: "claim_ancient_tower", - claim_6_name: "claim_turf", - claim_7_name: "claim_turf", - claim_9_name: "claim_turf", - claim_10_name: "claim_turf", - claim_11_desc: "claim_spirit_well_description", - claim_11_name: "claim_spirit_well", - claim_12_desc: "claim_ancient_gate_description", - claim_12_name: "claim_ancient_gate", - claim_13_desc: "claim_sanctuary_description", - claim_13_name: "claim_sanctuary", - claim_14_desc: "claim_sacred_nexus_description", - claim_14_name: "claim_sacred_nexus", - claim_15_desc: "claim_ancient_altar_description", - claim_15_name: "claim_ancient_altar", - claim_bridge_3_4: 0, - claim_bridge_4_9: 0, - claim_bridge_6_11: 0, - claim_bridge_12_13: 0, - claim_bridge_13_14: 0, - cohort1_subtype: "adepts", - crew_description: "crew_cult_description", - crew_xp_condition: "crew_cult_xp_condition", - hunting_grounds_type: "crew_cult_hunting_grounds_type-N", - hunting_grounds_description: "crew_cult_hunting_grounds_description-N", - setting_show_deity: "1", - upgrade_22_check_1: "1" - }, - crewability: ["chosen", "anointed", "bound_in_darkness", "conviction-N", "glory_incarnate", "sealed_in_blood", "zealotry", "veteran"], - upgrade: [{ - name: "crew_upgrade_ordained", - numboxes: "3" - }, { - name: "crew_upgrade_cult_rigging", - numboxes: "1" - }, { - name: "crew_upgrade_ritual_sanctum_in_lair", - numboxes: "1" - }, { - name: "crew_upgrade_elite_adepts", - numboxes: "1" - }, { - name: "crew_upgrade_elite_thugs", - numboxes: "1", - }] - }, - hawkers: { - base: { - claim_1_name: "claim_turf", - claim_2_desc: "claim_personal_clothier_description", - claim_2_name: "claim_personal_clothier", - claim_3_desc: "claim_local_graft_description", - claim_3_name: "claim_local_graft", - claim_4_desc: "claim_lookouts_description", - claim_4_name: "claim_lookouts", - claim_5_desc: "claim_informants_description", - claim_5_name: "claim_informants", - claim_6_name: "claim_turf", - claim_7_name: "claim_turf", - claim_9_name: "claim_turf", - claim_10_desc: "claim_luxury_venue_description", - claim_10_name: "claim_luxury_venue", - claim_11_desc: "claim_foreign_market_description", - claim_11_name: "claim_foreign_market", - claim_12_desc: "claim_vice_den_description", - claim_12_name: "claim_vice_den", - claim_13_desc: "claim_surplus_caches_description", - claim_13_name: "claim_surplus_caches", - claim_14_desc: "claim_cover_operation_description", - claim_14_name: "claim_cover_operation", - claim_15_desc: "claim_cover_identities_description", - claim_15_name: "claim_cover_identities", - claim_bridge_2_3: 0, - claim_bridge_3_4: 0, - claim_bridge_6_7: 0, - claim_bridge_10_15: 0, - claim_bridge_12_13: 0, - claim_bridge_13_14: 0, - crew_description: "crew_hawkers_description", - crew_xp_condition: "crew_hawkers_xp_condition", - hunting_grounds_type: "crew_hawkers_hunting_grounds_type-N", - hunting_grounds_description: "crew_hawkers_hunting_grounds_description-N", - upgrade_14_check_1: "1", - upgrade_22_check_1: "1" - }, - crewability: ["silver_tongues", "accord", "the_good_stuff", "ghost_market", "high_society", "hooked", "patron", "veteran"], - upgrade: [{ - name: "crew_upgrade_composed", - numboxes: "3" - }, { - name: "crew_upgrade_hawker's_rigging", - numboxes: "1" - }, { - name: "crew_upgrade_ironhook_contacts", - numboxes: "1" - }, { - name: "crew_upgrade_elite_rooks", - numboxes: "1" - }, { - name: "crew_upgrade_elite_thugs", - numboxes: "1", - }] - }, - shadows: { - base: { - claim_1_desc: "claim_interrogation_chamber_description", - claim_1_name: "claim_interrogation_chamber", - claim_2_name: "claim_turf", - claim_3_desc: "claim_loyal_fence_description", - claim_3_name: "claim_loyal_fence", - claim_4_desc: "claim_gambling_den_description", - claim_4_name: "claim_gambling_den", - claim_5_desc: "claim_tavern_description", - claim_5_name: "claim_tavern", - claim_6_desc: "claim_drug_den_description", - claim_6_name: "claim_drug_den", - claim_7_desc: "claim_informants_description", - claim_7_name: "claim_informants", - claim_9_name: "claim_turf", - claim_10_desc: "claim_lookouts_description", - claim_10_name: "claim_lookouts", - claim_11_desc: "claim_hagfish_farm_description", - claim_11_name: "claim_hagfish_farm", - claim_12_desc: "claim_infirmary_description", - claim_12_name: "claim_infirmary", - claim_13_desc: "claim_covert_drops_description", - claim_13_name: "claim_covert_drops", - claim_14_name: "claim_turf", - claim_15_desc: "claim_secret_pathways_description", - claim_15_name: "claim_secret_pathways", - claim_bridge_3_4: 0, - claim_bridge_2_7: 0, - claim_bridge_9_14: 0, - claim_bridge_12_13: 0, - crew_description: "crew_shadows_description", - crew_xp_condition: "crew_shadows_xp_condition", - hunting_grounds_type: "crew_shadows_hunting_grounds_type-N", - hunting_grounds_description: "crew_shadows_hunting_grounds_description-N", - upgrade_10_check_1: "1", - upgrade_21_check_1: "1" - }, - crewability: ["everyone_steals", "ghost_echoes", "pack_rats", "patron", "second_story", "slippery", "synchronized", "veteran"], - upgrade: [{ - name: "crew_upgrade_steady", - numboxes: "3" - }, { - name: "crew_upgrade_thief_rigging", - numboxes: "1" - }, { - name: "crew_upgrade_underground_maps_&_passkeys", - numboxes: "1" - }, { - name: "crew_upgrade_elite_rooks", - numboxes: "1" - }, { - name: "crew_upgrade_elite_skulks", - numboxes: "1", - }] - }, - smugglers: { - base: { - claim_1_name: "claim_turf", - claim_2_desc: "claim_side_business_description", - claim_2_name: "claim_side_business", - claim_3_desc: "claim_luxury_fence_description", - claim_3_name: "claim_luxury_fence", - claim_4_desc: "claim_vice_den_description", - claim_4_name: "claim_vice_den", - claim_5_desc: "claim_tavern_description", - claim_5_name: "claim_tavern", - claim_6_desc: "claim_ancient_gate_description", - claim_6_name: "claim_ancient_gate", - claim_7_name: "claim_turf", - claim_9_name: "claim_turf", - claim_10_name: "claim_turf", - claim_11_desc: "claim_secret_routes_description", - claim_11_name: "claim_secret_routes", - claim_12_desc: "claim_informants_description", - claim_12_name: "claim_informants", - claim_13_desc: "claim_fleet_description", - claim_13_name: "claim_fleet", - claim_14_desc: "claim_cover_operation_description", - claim_14_name: "claim_cover_operation", - claim_15_desc: "claim_warehouse_description", - claim_15_name: "claim_warehouse", - claim_bridge_2_3: 0, - claim_bridge_3_4: 0, - claim_bridge_6_7: 0, - claim_bridge_12_13: 0, - claim_bridge_13_14: 0, - cohort1_description: "vehicle_edges_flaws", - cohort1_name: "vehicle", - cohort1_subtype: "boat_carriage_other-N", - cohort1_type: "expert", - crew_description: "crew_smugglers_description", - crew_xp_condition: "crew_smugglers_xp_condition", - hunting_grounds_type: "crew_smugglers_hunting_grounds_type-N", - hunting_grounds_description: "crew_smugglers_hunting_grounds_description-N", - upgrade_6_check_1: "1", - upgrade_6_name: "vehicle", - upgrade_8_name: "vehicle", - upgrade_21_check_1: "1" - }, - crewability: ["like_part_of_the_family", "all_hands", "ghost_passage", "just_passing_through", "leverage", "reavers", "renegades", "veteran"], - upgrade: [{ - name: "crew_upgrade_steady", - numboxes: "3" - }, { - name: "crew_upgrade_smuggler's_rigging", - numboxes: "1" - }, { - name: "crew_upgrade_camouflage", - numboxes: "1" - }, { - name: "crew_upgrade_elite_rovers", - numboxes: "1" - }, { - name: "crew_upgrade_barge", - numboxes: "1", - }] - }, - vigilantes: { - base: { - claim_1_desc: "claim_fierce_allies_description", - claim_1_name: "claim_fierce_allies", - claim_2_desc: "claim_local_heroes_description", - claim_2_name: "claim_local_heroes", - claim_3_desc: "claim_publicity_description", - claim_3_name: "claim_publicity", - claim_4_desc: "claim_hidden_paths_description", - claim_4_name: "claim_hidden_paths", - claim_5_desc: "claim_catacombs_description", - claim_5_name: "claim_catacombs", - claim_6_desc: "claim_defiant_citizens_description", - claim_6_name: "claim_defiant_citizens", - claim_7_name: "claim_turf", - claim_9_name: "claim_turf", - claim_10_desc: "claim_infirmary_description", - claim_10_name: "claim_infirmary", - claim_11_desc: "claim_above_the_law_description", - claim_11_name: "claim_above_the_law", - claim_12_desc: "claim_bluecoat_confidants_description", - claim_12_name: "claim_bluecoat_confidants", - claim_13_desc: "claim_lookouts_description", - claim_13_name: "claim_lookouts", - claim_14_desc: "claim_the_hookup_description", - claim_14_name: "claim_the_hookup", - claim_15_desc: "claim_doskvol's_most_wanted_description", - claim_15_name: "claim_doskvol's_most_wanted", - claim_bridge_2_3: 0, - claim_bridge_3_4: 0, - claim_bridge_6_11: 0, - claim_bridge_10_15: 0, - claim_bridge_12_13: 0, - claim_bridge_13_14: 0, - cohort1_type: "expert", - crew_description: "crew_vigilantes_description", - crew_xp_condition: "crew_vigilantes_xp_condition", - hunting_grounds_type: "crew_vigilantes_hunting_grounds_type-N", - hunting_grounds_description: "crew_vigilantes_hunting_grounds_description-N", - setting_show_origin: "1", - upgrade_22_check_1: "1" - }, - crewability: ["as_good_as_your_word", "avengers", "thorn_in_your_side", "misdirection", "uncanny_preparation", "moral_compass", "favors", "roots", "veteran"], - upgrade: [{ - name: "crew_upgrade_unbroken", - numboxes: "3" - }, { - name: "crew_upgrade_vigilantes_attire", - numboxes: "1" - }, { - name: "crew_upgrade_dedicated_crafters", - numboxes: "1", - }, { - name: "crew_upgrade_irregulars", - numboxes: "1" - }, { - name: "crew_upgrade_willing_to_fight", - numboxes: "1" - }] - } - }, - playbookData = { - cutter: { - ability: ["battleborn", "bodyguard", "ghost_fighter", "leader", "mule", "not_to_be_trifled_with", "savage", "vigorous", "veteran"], - base: { - command: "1", - friends_title: "playbook_cutter_friends_title", - gatherinfo1: "gatherinfo_how_can_I_hurt", - gatherinfo2: "gatherinfo_whos_most_afraid", - gatherinfo3: "gatherinfo_whos_most_dangerous", - gatherinfo4: "gatherinfo_what_do_they_intend", - gatherinfo5: "gatherinfo_how_can_I_get_them", - gatherinfo6: "gatherinfo_are_they_telling", - playbook_description: "playbook_cutter_description", - skirmish: "2", - xp_condition: "playbook_cutter_xp_condition" - }, - playbookitem: [{ - bold: "1", - name: "playbook_item_fine_hand_weapon", - numboxes: "1" - }, { - bold: "1", - name: "playbook_item_fine_heavy_weapon", - numboxes: "2" - }, { - name: "playbook_item_scary_weapon_or_tool", - numboxes: "1" - }, { - name: "playbook_item_manacles_&_chain", - numboxes: "0" - }, { - name: "playbook_item_rage_essence_vial", - numboxes: "0" - }, { - name: "playbook_item_spiritbane_charm", - numboxes: "0" - }] - }, - ghost: { - ability: ["ghost_form", "dissipate", "manifest", "poltergeist", "possess", "veteran"], - base: { - friends_title: "playbook_ghost_friends_title", - gatherinfo1: "gatherinfo_what_do_they_intend", - gatherinfo2: "gatherinfo_how_can_I_get_them", - gatherinfo3: "gatherinfo_what_are_they_really", - gatherinfo4: "gatherinfo_what_should_I_look", - gatherinfo5: "gatherinfo_wheres_the_weakness", - gatherinfo6: "gatherinfo_how_can_I_find", - playbook_description: "playbook_ghost_description", - setting_stress_label: "drain", - setting_trauma_label: "gloom", - setting_traumata_set: "ghost", - setting_vice_type: "ghost", - xp_condition: "playbook_ghost_xp_condition", - xp_condition2: "playbook_ghost_xp_condition2", - xp_condition3: "playbook_ghost_xp_condition3" - }, - playbookitem: [] - }, - hound: { - ability: ["sharpshooter", "focused", "ghost_hunter", "scout-N", "survivor", "tough_as_nails", "vengeful", "veteran"], - base: { - char_cohort_name: "hunting_pet", - char_cohort_subtype: "hunter", - friends_title: "playbook_hound_friends_title", - gatherinfo1: "gatherinfo_what_do_they_intend", - gatherinfo2: "gatherinfo_how_can_I_get_them", - gatherinfo3: "gatherinfo_what_are_they_really", - gatherinfo4: "gatherinfo_where_they_vulnerable", - gatherinfo5: "gatherinfo_where_did_x_go", - gatherinfo6: "gatherinfo_how_can_I_find", - hunt: "2", - playbook_description: "playbook_hound_description", - setting_show_cohort: "1", - survey: "1", - xp_condition: "playbook_hound_xp_condition" - }, - playbookitem: [{ - bold: "1", - name: "playbook_item_fine_pair_of_pistols", - numboxes: "1" - }, { - bold: "1", - name: "playbook_item_fine_long_rifle", - numboxes: "2" - }, { - name: "playbook_item_electroplasmic_ammunition", - numboxes: "1" - }, { - name: "playbook_item_a_trained_hunting_pet", - numboxes: "0" - }, { - name: "playbook_item_spyglass", - numboxes: "1" - }, { - name: "playbook_item_spiritbane_charm", - numboxes: "0" - }] - }, - hull: { - ability: ["automaton", "overcharge", "compartments", "electroplasmic_projectors", "interface", "secondary_hull", "frame_upgrade"], - base: { - gatherinfo1: "gatherinfo_what_do_they_intend", - gatherinfo2: "gatherinfo_how_can_I_get_them", - gatherinfo3: "gatherinfo_what_are_they_really", - gatherinfo4: "gatherinfo_what_should_I_look", - gatherinfo5: "gatherinfo_wheres_the_weakness", - gatherinfo6: "gatherinfo_how_can_I_find", - playbook_description: "playbook_hull_description", - setting_load_h: "7", - setting_extra_stress: "1", - setting_show_frame: "1", - setting_stress_label: "drain", - setting_trauma_label: "wear", - setting_traumata_set: "hull", - setting_vice_type: "hull", - xp_condition: "playbook_hull_xp_condition", - xp_condition2: "playbook_hull_xp_condition2", - xp_condition3: "playbook_hull_xp_condition3" - }, - playbookitem: [] - }, - leech: { - ability: ["alchemist", "analyst", "artificer", "fortitude", "ghost_ward", "physicker", "saboteur", "venomous", "veteran"], - base: { - friends_title: "playbook_leech_friends_title", - gatherinfo1: "gatherinfo_what_do_they_intend", - gatherinfo2: "gatherinfo_how_can_I_get_them", - gatherinfo3: "gatherinfo_are_they_telling", - gatherinfo4: "gatherinfo_what_can_I_tinker", - gatherinfo5: "gatherinfo_what_might_happen", - gatherinfo6: "gatherinfo_how_can_I_find", - playbook_description: "playbook_leech_description", - tinker: "2", - wreck: "1", - xp_condition: "playbook_leech_xp_condition" - }, - playbookitem: [{ - bold: "1", - name: "playbook_item_fine_tinkering_tools", - numboxes: "1" - }, { - bold: "1", - name: "playbook_item_fine_wrecking_tools", - numboxes: "2" - }, { - name: "playbook_item_blowgun_&_darts,_syringes", - numboxes: "0" - }, { - name: "playbook_item_bandolier_of_alchemicals_(3)", - numboxes: "1" - }, { - name: "playbook_item_bandolier_of_alchemicals_(3)", - numboxes: "1" - }, { - name: "playbook_item_gadget", - numboxes: "1" - }] - }, - lurk: { - ability: ["infiltrator", "ambush", "daredevil", "the_devil's_footsteps", "expertise", "ghost_veil", "reflexes", "shadow", "veteran"], - base: { - friends_title: "playbook_lurk_friends_title", - finesse: "1", - gatherinfo1: "gatherinfo_what_do_they_intend", - gatherinfo2: "gatherinfo_how_can_I_get_them", - gatherinfo3: "gatherinfo_what_should_I_look", - gatherinfo4: "gatherinfo_whats_the_best_way", - gatherinfo5: "gatherinfo_where_can_I_hide", - gatherinfo6: "gatherinfo_how_can_I_find", - playbook_description: "playbook_lurk_description", - prowl: "2", - xp_condition: "playbook_lurk_xp_condition" - }, - playbookitem: [{ - bold: "1", - name: "playbook_item_fine_lockpicks", - numboxes: "0" - }, { - bold: "1", - name: "playbook_item_fine_shadow_cloak", - numboxes: "1" - }, { - name: "playbook_item_light_climbing_gear", - numboxes: "1" - }, { - name: "playbook_item_silence_potion_vial", - numboxes: "0" - }, { - name: "playbook_item_dark-sight_goggles", - numboxes: "1" - }, { - name: "playbook_item_spiritbane_charm", - numboxes: "0" - }] - }, - slide: { - ability: ["rook's_gambit", "cloak_&_dagger", "ghost_voice", "like_looking_into_a_mirror", "a_little_something_on_the_side", "mesmerism", "subterfuge", "trust_in_me", "veteran"], - base: { - friends_title: "playbook_slide_friends_title", - consort: "1", - gatherinfo1: "gatherinfo_what_do_they_intend", - gatherinfo2: "gatherinfo_how_can_I_get_them", - gatherinfo3: "gatherinfo_are_they_telling", - gatherinfo4: "gatherinfo_what_are_they_really", - gatherinfo5: "gatherinfo_what_do_they_really", - gatherinfo6: "gatherinfo_how_can_I_blend", - playbook_description: "playbook_slide_description", - sway: "2", - xp_condition: "playbook_slide_xp_condition" - }, - playbookitem: [{ - bold: "1", - name: "playbook_item_fine_clothes_&_jewelry", - numboxes: "0" - }, { - bold: "1", - name: "playbook_item_fine_disguise_kit", - numboxes: "1" - }, { - bold: "1", - name: "playbook_item_fine_loaded_dice,_trick_cards", - numboxes: "0" - }, { - name: "playbook_item_trance_powder", - numboxes: "0" - }, { - name: "playbook_item_a_cane-sword", - numboxes: "1" - }, { - name: "playbook_item_spiritbane_charm", - numboxes: "0" - }] - }, - spider: { - ability: ["foresight", "calculating", "connected", "functioning_vice", "ghost_contract", "jail_bird", "mastermind", "weaving_the_web", "veteran"], - base: { - consort: "2", - friends_title: "playbook_spider_friends_title", - gatherinfo1: "gatherinfo_what_do_they_want", - gatherinfo2: "gatherinfo_what_should_I_look", - gatherinfo3: "gatherinfo_wheres_the_leverage", - gatherinfo4: "gatherinfo_how_can_I_discover", - gatherinfo5: "gatherinfo_what_do_they_intend", - gatherinfo6: "gatherinfo_how_can_I_get_them", - playbook_description: "playbook_spider_description", - study: "1", - xp_condition: "playbook_spider_xp_condition" - }, - playbookitem: [{ - bold: "1", - name: "playbook_item_fine_cover_identity", - numboxes: "0" - }, { - bold: "1", - name: "playbook_item_fine_bottle_of_whiskey", - numboxes: "1" - }, { - name: "playbook_item_blueprints", - numboxes: "1" - }, { - name: "playbook_item_vial_of_slumber_essence", - numboxes: "0" - }, { - name: "playbook_item_concealed_palm_pistol", - numboxes: "0" - }, { - name: "playbook_item_spiritbane_charm", - numboxes: "0" - }] - }, - whisper: { - ability: ["compel", "ghost_mind", "iron_will", "occultist", "ritual", "strange_methods", "tempest", "warded"], - base: { - attune: "2", - friends_title: "playbook_whisper_friends_title", - gatherinfo1: "gatherinfo_what_is_arcane", - gatherinfo2: "gatherinfo_what_echoes", - gatherinfo3: "gatherinfo_what_is_hidden", - gatherinfo4: "gatherinfo_what_do_they_intend", - gatherinfo5: "gatherinfo_what_drives_them", - gatherinfo6: "gatherinfo_how_can_I_reveal", - playbook_description: "playbook_whisper_description", - study: "1", - xp_condition: "playbook_whisper_xp_condition" - }, - playbookitem: [{ - bold: "1", - name: "playbook_item_fine_lightning_hook", - numboxes: "1" - }, { - bold: "1", - name: "playbook_item_fine_spirit_mask", - numboxes: "1" - }, { - name: "playbook_item_electroplasm_vials", - numboxes: "0" - }, { - name: "playbook_item_spirit_bottles_(2)", - numboxes: "1" - }, { - name: "playbook_item_ghost_key", - numboxes: "0" - }, { - name: "playbook_item_demonbane_charm", - numboxes: "0" - }] - }, - vampire: { - ability: ["undead", "terrible_power", "arcane_sight", "a_void_in_the_echo", "dark_talent-N", "sinister_guile", "veteran"], - base: { - friends_title: "playbook_vampire_friends_title", - gatherinfo1: "gatherinfo_what_do_they_intend", - gatherinfo2: "gatherinfo_how_can_I_get_them", - gatherinfo3: "gatherinfo_what_are_they_really", - gatherinfo4: "gatherinfo_what_should_I_look", - gatherinfo5: "gatherinfo_wheres_the_weakness", - gatherinfo6: "gatherinfo_how_can_I_find", - playbook_description: "playbook_vampire_description", - setting_extra_stress: "3", - setting_vampirexp: "1", - setting_show_strictures: "1", - setting_vice_type: "vampire", - trauma: "4", - xp_condition: "playbook_vampire_xp_condition", - xp_condition2: "playbook_vampire_xp_condition2", - xp_condition3: "playbook_vampire_xp_condition3" - }, - playbookitem: [{ - bold: "1", - name: "playbook_item_fine_clothes_and_accoutrements", - numboxes: "0" - }, { - bold: "1", - name: "playbook_item_fine_personal_weapon", - numboxes: "1" - }, { - bold: "1", - name: "playbook_item_fine_shadow_cloak", - numboxes: "1" - }, { - name: "playbook_item_demonbane_charm", - numboxes: "0" - }, { - name: "playbook_item_spiritbane_charm", - numboxes: "0" - }] - } - }, - factionsData = { - factions1: [{ - name: "faction_the_unseen", - tier: "IV", - hold: "S" - }, - { - name: "faction_the_hive", - tier: "IV", - hold: "S" - }, - { - name: "faction_the_circle_of_flame", - tier: "III", - hold: "S" - }, - { - name: "faction_the_silver_nails", - tier: "III", - hold: "S" - }, - { - name: "faction_lord_scurlock", - tier: "III", - hold: "S" - }, - { - name: "faction_the_crows", - tier: "II", - hold: "W" - }, - { - name: "faction_the_lampblacks", - tier: "II", - hold: "W" - }, - { - name: "faction_the_red_sashes", - tier: "II", - hold: "W" - }, - { - name: "faction_the_dimmer_sisters", - tier: "II", - hold: "S" - }, - { - name: "faction_the_grinders", - tier: "II", - hold: "W" - }, - { - name: "faction_the_billhooks", - tier: "II", - hold: "W" - }, - { - name: "faction_the_wraiths", - tier: "II", - hold: "W" - }, - { - name: "faction_the_gray_cloaks", - tier: "II", - hold: "S" - }, - { - name: "faction_ulf_ironborn", - tier: "I", - hold: "S" - }, - { - name: "faction_the_foghounds", - tier: "I", - hold: "W" - }, - { - name: "faction_the_lost", - tier: "I", - hold: "W" - } - ], - factions2: [{ - name: "faction_imperial_military", - tier: "VI", - hold: "S" - }, - { - name: "faction_city_council", - tier: "V", - hold: "S" - }, - { - name: "faction_ministry_of_preservation", - tier: "V", - hold: "S" - }, - { - name: "faction_leviathan_hunters", - tier: "V", - hold: "S" - }, - { - name: "faction_ironhook_prison", - tier: "IV", - hold: "S" - }, - { - name: "faction_sparkwrights", - tier: "IV", - hold: "S" - }, - { - name: "faction_spirit_wardens", - tier: "IV", - hold: "S" - }, - { - name: "faction_bluecoats", - tier: "III", - hold: "S" - }, - { - name: "faction_inspectors", - tier: "III", - hold: "S" - }, - { - name: "faction_iruvian_consulate", - tier: "III", - hold: "S" - }, - { - name: "faction_skovlan_consulate", - tier: "III", - hold: "W" - }, - { - name: "faction_the_brigade", - tier: "II", - hold: "S" - }, - { - name: "faction_severosi_consulate", - tier: "I", - hold: "S" - }, - { - name: "faction_dagger_isles_consulate", - tier: "I", - hold: "S" - } - ], - factions3: [{ - name: "faction_the_foundation", - tier: "IV", - hold: "S" - }, - { - name: "faction_dockers", - tier: "III", - hold: "S" - }, - { - name: "faction_gondoliers", - tier: "III", - hold: "S" - }, - { - name: "faction_sailors", - tier: "III", - hold: "W" - }, - { - name: "faction_laborers", - tier: "III", - hold: "W" - }, - { - name: "faction_cabbies", - tier: "II", - hold: "W" - }, - { - name: "faction_cyphers", - tier: "II", - hold: "S" - }, - { - name: "faction_ink_rakes", - tier: "II", - hold: "W" - }, - { - name: "faction_rail_jacks", - tier: "II", - hold: "W" - }, - { - name: "faction_servants", - tier: "II", - hold: "W" - } - ], - factions4: [{ - name: "faction_the_church_of_ecstasy", - tier: "IV", - hold: "S" - }, - { - name: "faction_the_horde", - tier: "III", - hold: "S" - }, - { - name: "faction_the_path_of_echoes", - tier: "III", - hold: "S" - }, - { - name: "faction_the_forgotten_gods", - tier: "III", - hold: "W" - }, - { - name: "faction_the_reconciled", - tier: "III", - hold: "S" - }, - { - name: "faction_skovlander_refugees", - tier: "III", - hold: "W" - }, - { - name: "faction_the_weeping_lady", - tier: "II", - hold: "S" - }, - { - name: "faction_deathlands_scavengers", - tier: "II", - hold: "W" - } - ], - factions5: [{ - name: "faction_whitecrown", - tier: "V", - hold: "S" - }, - { - name: "faction_brightstone", - tier: "IV", - hold: "S" - }, - { - name: "faction_charterhall", - tier: "IV", - hold: "S" - }, - { - name: "faction_six_towers", - tier: "III", - hold: "W" - }, - { - name: "faction_silkshore", - tier: "II", - hold: "S" - }, - { - name: "faction_nightmarket", - tier: "II", - hold: "S" - }, - { - name: "faction_crow's_foot", - tier: "II", - hold: "S" - }, - { - name: "faction_the_docks", - tier: "II", - hold: "S" - }, - { - name: "faction_barrowcleft", - tier: "II", - hold: "S" - }, - { - name: "faction_coalridge", - tier: "II", - hold: "W" - }, - { - name: "faction_charhollow", - tier: "I", - hold: "S" - }, - { - name: "faction_dunslough", - tier: "I", - hold: "W" - } - ] - }, - actionData = { - insight: [ - "hunt", - "study", - "survey", - "tinker" - ], - prowess: [ - "finesse", - "prowl", - "skirmish", - "wreck" - ], - resolve: [ - "attune", - "command", - "consort", - "sway" - ] - }, - traumaData = { - normal: ['cold', 'haunted', 'obsessed', 'paranoid', 'reckless', 'soft', 'unstable', 'vicious'], - ghost: ['chaotic', 'destructive', 'furious', 'obsessive', 'territorial', 'savage'], - hull: ['clanking', 'leaking', 'fixated', 'smoking', 'sparking', 'unstable'] - }, - itemData = [{ - name: "a_blade_or_two", - description: "a_blade_or_two_description", - numboxes: "1" - }, - { - name: "throwing_knives", - description: "throwing_knives_description", - numboxes: "1" - }, - { - name: "a_pistol", - description: "a_pistol_description", - numboxes: "1", - short: "1" - }, - { - name: "a_2nd_pistol", - description: "a_pistol_description", - numboxes: "1", - short: "1" - }, - { - name: "a_large_weapon", - description: "a_large_weapon_description", - numboxes: "2" - }, - { - name: "an_unusual_weapon", - description: "an_unusual_weapon_description", - numboxes: "1" - }, - { - name: "armor", - description: "armor_description", - numboxes: "2", - short: "1" - }, - { - name: "+heavy", - description: "+heavy_description", - numboxes: "3", - short: "1" - }, - { - name: "burglary_gear", - description: "burglary_gear_description", - numboxes: "1" - }, - { - name: "climbing_gear", - description: "climbing_gear_description", - numboxes: "2" - }, - { - name: "arcane_implements", - description: "arcane_implements_description", - numboxes: "1" - }, - { - name: "documents", - description: "documents_description", - numboxes: "1" - }, - { - name: "subterfuge_supplies", - description: "subterfuge_supplies_description", - numboxes: "1" - }, - { - name: "demolition_tools", - description: "demolition_tools_description", - numboxes: "2" - }, - { - name: "tinkering_tools", - description: "tinkering_tools_description", - numboxes: "1" - }, - { - name: "lantern", - description: "lantern_description", - numboxes: "1" - } - ], - translatedDefaults = { - cohort1_name: "cohort", - contacts_title: "contacts", - factions_title: "factions_title", - factions1_header: "factions1", - factions2_header: "factions2", - factions3_header: "factions3", - factions4_header: "factions4", - factions5_header: "factions5", - frame: "frame", - friends_title: "friends", - setting_deity_label: "deity", - setting_heat_label: "heat", - setting_stress_label: "stress", - setting_trauma_label: "trauma", - setting_wanted_label: "wanted", - upgrade_6_name: "carriage", - upgrade_6_description: "upgrade_carriage_description", - upgrade_7_name: "documents", - upgrade_7_description: "upgrade_documents_description", - upgrade_8_name: "boat", - upgrade_8_description: "upgrade_boat_description", - upgrade_9_name: "gear", - upgrade_9_description: "upgrade_gear_description", - upgrade_10_name: "hidden", - upgrade_10_description: "upgrade_hidden_description", - upgrade_11_name: "implements", - upgrade_11_description: "upgrade_implements_description", - upgrade_12_name: "quarters", - upgrade_12_description: "upgrade_quarters_description", - upgrade_13_name: "supplies", - upgrade_13_description: "upgrade_supplies_description", - upgrade_14_name: "secure", - upgrade_14_description: "upgrade_secure_description", - upgrade_15_name: "tools", - upgrade_15_description: "upgrade_tools_description", - upgrade_16_name: "vault", - upgrade_16_description: "upgrade_vault_description", - upgrade_17_name: "weapons", - upgrade_17_description: "upgrade_weapons_description", - upgrade_18_name: "workshop", - upgrade_18_description: "upgrade_workshop_description", - upgrade_20_name: "insight", - upgrade_20_description: "upgrade_insight_description", - upgrade_21_name: "prowess", - upgrade_21_description: "upgrade_prowess_description", - upgrade_22_name: "resolve", - upgrade_22_description: "upgrade_resolve_description", - upgrade_23_name: "personal", - upgrade_23_description: "upgrade_personal_description", - upgrade_24_name: "mastery", - upgrade_24_description: "upgrade_mastery_description", - xp_condition2: "xp_beliefs", - xp_condition3: "xp_vice" - }, - defaultValues = { - attune: "0", - claim_bridge_10_15: "1", - claim_bridge_12_13: "1", - claim_bridge_13_14: "1", - claim_bridge_2_3: "1", - claim_bridge_2_7: "1", - claim_bridge_3_4: "1", - claim_bridge_4_9: "1", - claim_bridge_6_11: "1", - claim_bridge_6_7: "1", - claim_bridge_9_14: "1", - cohort1_subtype: "", - cohort1_type: "gang", - command: "0", - consort: "0", - finesse: "0", - hunt: "0", - prowl: "0", - setting_extra_stress: "0", - setting_load_h: "6", - setting_show_deity: "0", - setting_show_frame: "0", - setting_show_origin: "0", - setting_show_strictures: "0", - setting_traumata_set: "normal", - setting_vampirexp: "0", - setting_vice_type: "normal", - skirmish: "0", - study: "0", - survey: "0", - sway: "0", - tinker: "0", - trauma: "0", - upgrade_10_check_1: "0", - upgrade_14_check_1: "0", - upgrade_20_check_1: "0", - upgrade_21_check_1: "0", - upgrade_22_check_1: "0", - upgrade_6_check_1: "0", - wreck: "0" - }, - alchemicalData = [ - "alcahest", - "binding_oil", - "drift_oil", - "drown_powder", - "eyeblind_poison", - "fire_oil", - "grenade", - "quicksilver", - "skullfire_poison", - "smoke_bomb", - "spark_drug", - "standstill_poison", - "trance_powder", - ]; -/* Transform data once translations are known */ -Object.keys(crewData).forEach(crew => { - const base = crewData[crew].base, - translatedBaseAttributes = [ - ...[...Array(16).keys()].slice(1).map(i => `claim_${i}_name`), - ...[...Array(16).keys()].slice(1).map(i => `claim_${i}_desc`), - 'cohort1_description', - 'cohort1_name', - 'cohort1_subtype', - 'crew_description', - 'crew_xp_condition', - 'hunting_grounds_type', - 'hunting_grounds_description', - 'upgrade_6_name', - 'upgrade_8_name' - ]; - Object.keys(base).forEach(attr => { - if (translatedBaseAttributes.includes(attr)) { - base[attr] = getTranslationByKey(base[attr]); - } - }); - crewData[crew].contact = [...Array(6).keys()].map(i => ({ - name: getTranslationByKey(`crew_${crew}_contact_${i}`) - })); - crewData[crew].crewability = crewData[crew].crewability.map(name => ({ - name: getTranslationByKey(`crew_ability_${name}`), - description: getTranslationByKey(`crew_ability_${name}_description`) - })); - crewData[crew].upgrade.forEach(upgrade => { - upgrade.name = getTranslationByKey(upgrade.name); - upgrade.boxes_chosen = '1'; - }); -}); -itemData.forEach(item => { - item.boxes_chosen = '1'; - item.name = getTranslationByKey(item.name); - item.description = getTranslationByKey(item.description); -}); -Object.keys(translatedDefaults).forEach(k => { - translatedDefaults[k] = getTranslationByKey(translatedDefaults[k]); -}); -Object.assign(defaultValues, translatedDefaults); -Object.keys(factionsData).forEach(x => { - factionsData[x].forEach(faction => { - faction.name = getTranslationByKey(faction.name); - }); -}); -alchemicalData.forEach((v, k) => { - alchemicalData[k] = { - name: getTranslationByKey(v) - }; -}); -Object.keys(playbookData).forEach(playbook => { - const base = playbookData[playbook].base, - translatedBaseAttributes = [ - 'char_cohort_name', - 'char_cohort_subtype', - 'friends_title', - 'gatherinfo1', - 'gatherinfo2', - 'gatherinfo3', - 'gatherinfo4', - 'gatherinfo5', - 'gatherinfo6', - 'playbook_description', - 'setting_stress_label', - 'setting_trauma_label', - 'xp_condition', - 'xp_condition2', - 'xp_condition3' - ]; - Object.keys(base).forEach(attr => { - if (translatedBaseAttributes.includes(attr)) { - base[attr] = getTranslationByKey(base[attr]); - } - }); - if (!['ghost', 'hull'].includes(playbook)) { - playbookData[playbook].friend = [...Array(5).keys()] - .map(i => ({ - name: getTranslationByKey(`playbook_${playbook}_friend_${i}`) - })) - .filter(o => o.name); - } - else playbookData[playbook].friend = []; - playbookData[playbook].ability = playbookData[playbook].ability.map(name => ({ - name: getTranslationByKey(`playbook_ability_${name}`), - description: getTranslationByKey(`playbook_ability_${name}_description`) - })); - playbookData[playbook].playbookitem.forEach(item => { - item.name = getTranslationByKey(item.name); - item.boxes_chosen = '1'; - }); -}); -/* FUNCTIONS */ -const mySetAttrs = (attrs, options, callback) => { - const finalAttrs = Object.keys(attrs).reduce((m, k) => { - m[k] = String(attrs[k]); - return m; - }, {}); - setAttrs(finalAttrs, options, callback); - }, - setAttr = (name, value) => { - getAttrs([name], v => { - const setting = {}; - if (v[name] !== String(value)) setting[name] = String(value); - setAttrs(setting); - }); - }, - fillRepeatingSectionFromData = (sectionName, dataList, autogen, callback) => { - callback = callback || (() => {}); - getSectionIDs(`repeating_${sectionName}`, idList => { - const existingRowAttributes = [ - ...idList.map(id => `repeating_${sectionName}_${id}_name`), - ...idList.map(id => `repeating_${sectionName}_${id}_autogen`) - ]; - getAttrs(existingRowAttributes, v => { - /* Delete auto-generated rows */ - if (autogen) { - idList = idList.filter(id => { - if (v[`repeating_${sectionName}_${id}_autogen`]) { - removeRepeatingRow(`repeating_${sectionName}_${id}`); - return false; - } - else return true; - }); - } - const existingRowNames = idList.map(id => v[`repeating_${sectionName}_${id}_name`]), - createdIDs = [], - setting = dataList.filter(o => !existingRowNames.includes(o.name)) - .map(o => { - let rowID; - while (!rowID) { - let newID = generateRowID(); - if (!createdIDs.includes(newID)) { - rowID = newID; - createdIDs.push(rowID); - } - } - const newAttrs = {}; - if (autogen) { - newAttrs[`repeating_${sectionName}_${rowID}_autogen`] = '1'; - } - return Object.keys(o).reduce((m, key) => { - m[`repeating_${sectionName}_${rowID}_${key}`] = o[key]; - return m; - }, newAttrs); - }) - .reduce((m, o) => Object.assign(m, o), {}); - mySetAttrs(setting, {}, callback); - }); - }); - }, - emptyFirstRowIfUnnamed = sectionName => { - getSectionIDs(`repeating_${sectionName}`, idList => { - const id = idList[0]; - getAttrs([`repeating_${sectionName}_${id}_name`], v => { - if (!v[`repeating_${sectionName}_${id}_name`]) { - removeRepeatingRow(`repeating_${sectionName}_${id}`); - } - }); - }); - }, - handleBoxesFill = (name, upToFour) => { - on(`change:${name}1 change:${name}2 change:${name}3 change:${name}4`, event => { - if (event.sourceType !== 'player') return; - getAttrs([event.sourceAttribute], v => { - const rName = event.sourceAttribute.slice(0, -1), - setting = {}; - if (String(v[event.sourceAttribute]) === '1') { - switch (event.sourceAttribute.slice(-1)) { - case '4': - setting[`${rName}3`] = 1; - /* falls through */ - case '3': - setting[`${rName}2`] = 1; - /* falls through */ - case '2': - setting[`${rName}1`] = 1; - } - } - if (String(v[event.sourceAttribute]) === '0') { - switch (event.sourceAttribute.slice(-1)) { - case '1': - setting[`${rName}2`] = 0; - /* falls through */ - case '2': - setting[`${rName}3`] = 0; - /* falls through */ - case '3': - if (upToFour) setting[`${rName}4`] = 0; - } - } - mySetAttrs(setting); - }); - }); - }, - calculateResistance = name => { - getAttrs(actionData[name], v => { - const total = Object.keys(v).map(x => v[x]) - .reduce((s, c) => s + (String(c) === '0' ? 0 : 1), 0); - setAttr(name, total); - }); - }, - calculateVice = () => { - getAttrs(Object.keys(actionData), v => { - setAttr('vice', Math.min(...Object.keys(v).map(x => parseInt(v[x]) || 0))); - }); - }, - calculateStashDice = stash => setAttr('stash_dice', Math.floor(parseInt(stash) / 10)), - calculateCohortDice = prefixes => { - const sourceAttrs = [ - 'crew_tier', - ...prefixes.map(p => `${p}_impaired`), - ...prefixes.map(p => `${p}_type`), - ]; - getAttrs(sourceAttrs, v => { - const setting = {}; - prefixes.forEach(prefix => { - const dice = (parseInt(v.crew_tier) || 0) - (parseInt(v[`${prefix}_impaired`]) || 0) + - ((v[`${prefix}_type`] === 'elite' || v[`${prefix}_type`] === 'expert') ? 1 : 0); - setting[`${prefix}_dice`] = dice; - }); - setAttrs(setting); - }); - }; -/* CONSTANTS */ -const crewAttributes = [...new Set([].concat(...Object.keys(crewData).map(x => Object.keys(crewData[x].base))))], - playbookAttributes = [...new Set([].concat(...Object.keys(playbookData).map(x => Object.keys(playbookData[x].base))))], - watchedAttributes = new Set(crewAttributes.concat(playbookAttributes)), - actionsFlat = [].concat(...Object.keys(actionData).map(x => actionData[x])), - traumaDataFlat = Object.keys(traumaData).reduce((m, k) => m.concat(traumaData[k]), []), - autoExpandFields = [ - 'repeating_ability:name', - 'repeating_ability:description', - 'repeating_crewability:name', - 'repeating_crewability:description', - 'repeating_playbookitem:name', - 'repeating_upgrade:name', - 'repeating_friend:name', - 'repeating_contact:name', - 'repeating_clock:name', - 'repeating_crewclock:name', - 'repeating_factionclock:name', - 'repeating_cohort:edges', - 'repeating_cohort:flaws', - 'repeating_alchemical:name', - 'xp_condition', - 'xp_condition_extra', - 'xp_condition2', - 'xp_condition3', - 'crew_xp_condition', - 'hunting_grounds_type', - 'hunting_grounds_description', - 'cohort1_edges', - 'cohort1_flaws', - ], - autogenSections = [ - 'ability', - 'crewability', - 'friend', - 'contact', - 'playbookitem', - 'upgrade' - ], - spiritPlaybooks = ['ghost', 'hull', 'vampire'], - translatedNames = [...Object.keys(playbookData), ...Object.keys(crewData)].reduce((m, keyName) => { - if (getTranslationByKey(keyName)) m[getTranslationByKey(keyName).toLowerCase()] = keyName; - return m; - }, {}); -/* EVENT HANDLERS */ -/* Set default fields when setting crew type or playbook */ -on('change:crew_type change:playbook', event => { - getAttrs(['playbook', 'crew_type', 'changed_attributes', 'setting_autofill', ...watchedAttributes], v => { - const changedAttributes = (v.changed_attributes || '').split(','), - sourceName = translatedNames[(event.sourceAttribute === 'crew_type' ? v.crew_type : v.playbook).toLowerCase()], - fillBaseData = (data, defaultAttrNames) => { - if (data) { - const finalSettings = defaultAttrNames.filter(name => !changedAttributes.includes(name)) - // do not reset attributes which have been changed by the user - .filter(name => !spiritPlaybooks.includes(sourceName) || !actionsFlat.includes(name)) - // do not reset action dots if changing to a spirit playbook - .filter(name => v[name] !== (defaultValues[name] || '')) - // do not set attributes if current value is equal to sheet defaults - .reduce((m, name) => { - m[name] = defaultValues[name] || ''; - return m; - }, {}); - Object.keys(data).filter(name => !changedAttributes.includes(name)) - .forEach(name => (finalSettings[name] = data[name])); - mySetAttrs(finalSettings); - } - }; - if (event.sourceAttribute === 'crew_type' ? v.crew_type : v.playbook) { - setAttr('show_playbook_reminder', '0'); - } - if (v.setting_autofill !== '1') return; - if (event.sourceAttribute === 'crew_type' && sourceName in crewData) { - fillRepeatingSectionFromData('contact', crewData[sourceName].contact, true); - fillRepeatingSectionFromData('crewability', crewData[sourceName].crewability, true); - fillRepeatingSectionFromData('upgrade', crewData[sourceName].upgrade, true); - fillBaseData(crewData[sourceName].base, crewAttributes); - } - if (event.sourceAttribute === 'playbook' && sourceName in playbookData) { - fillRepeatingSectionFromData('friend', playbookData[sourceName].friend, true); - fillRepeatingSectionFromData('ability', playbookData[sourceName].ability, true); - fillRepeatingSectionFromData('playbookitem', playbookData[sourceName].playbookitem, true); - fillBaseData(playbookData[sourceName].base, playbookAttributes); - if (sourceName === 'leech') fillRepeatingSectionFromData('alchemical', alchemicalData); - } - }); -}); -/* Watch repeating rows for changes and set autogen to false if change happens*/ -autogenSections.forEach(sectionName => { - on(`change:repeating_${sectionName}`, event => { - getAttrs([`repeating_${sectionName}_autogen`], v => { - if (v[`repeating_${sectionName}_autogen`] && event.sourceType === 'player') { - setAttr(`repeating_${sectionName}_autogen`, ''); - } - }); - }); -}); -/* Watch for changes in auto-set attributes and update changed_attributes*/ -watchedAttributes.forEach(name => { - on(`change:${name}`, event => { - if (event.sourceType === 'player') { - getAttrs(['changed_attributes'], v => { - const changedAttributes = [...new Set(v.changed_attributes.split(',')).add(name)] - .filter(x => !!x).join(','); - setAttr('changed_attributes', changedAttributes); - }); - } - }); -}); -/* Register attribute/action event handlers */ -Object.keys(actionData).forEach(attrName => { - on(actionData[attrName].map(x => `change:${x}`).join(' '), () => calculateResistance(attrName)); - on(`change:setting_dark_talent_${attrName}`, () => { - getAttrs([`setting_dark_talent_${attrName}`, `setting_resbonus_${attrName}`], v => { - const resistanceBonus = (parseInt(v[`setting_resbonus_${attrName}`]) || 0) + - ((String(v[`setting_dark_talent_${attrName}`]) === '1') ? 1 : -1); - setAttr(`setting_resbonus_${attrName}`, resistanceBonus); - }); - }); - on(`change:${attrName}`, calculateVice); -}); -/* Calculate stash */ -on('change:stash', event => calculateStashDice(event.newValue)); -/* Calculate trauma */ -on('change:setting_traumata_set ' + traumaDataFlat.map(x => `change:trauma_${x}`).join(' '), event => { - getAttrs(['setting_traumata_set', ...traumaDataFlat.map(x => `trauma_${x}`)], v => { - const traumaType = (v.setting_traumata_set === '0' ? 'normal' : v.setting_traumata_set); - if (traumaData[traumaType] && event.sourceType === 'player') { - const newTrauma = traumaData[traumaType].reduce((m, name) => m + (parseInt(v[`trauma_${name}`]) || 0), 0); - setAttr('trauma', newTrauma); - } - }); -}); -/* Generate buttons */ -on('change:generate_factions', () => { - setAttr('show_faction_generatebutton', '0'); - Object.keys(factionsData).forEach(sectionName => { - fillRepeatingSectionFromData(sectionName, factionsData[sectionName]); - }); -}); -autogenSections.forEach(sectionName => { - on(`change:generate_${sectionName}`, () => { - getAttrs(['generate_source_character', 'generate_source_crew', 'sheet_type'], v => { - const data = (v.sheet_type === 'character') ? playbookData : crewData, - genSource = v[`generate_source_${v.sheet_type}`]; - if (genSource in data) { - emptyFirstRowIfUnnamed(sectionName); - fillRepeatingSectionFromData(sectionName, data[genSource][sectionName]); - } - }); - }); -}); -/* Extra stress and trauma */ -on('change:setting_extra_stress', event => setAttr('stress_max', 9 + (parseInt(event.newValue) || 0))); -on('change:setting_extra_trauma', event => setAttr('trauma_max', 4 + (parseInt(event.newValue) || 0))); -/* Calculate cohort quality */ -on(['crew_tier', 'cohort1_impaired', 'cohort1_type'].map(x => `change:${x}`).join(' '), () => calculateCohortDice(['cohort1'])); -on('change:repeating_cohort', () => calculateCohortDice(['repeating_cohort'])); -on('change:crew_tier', () => { - getSectionIDs('repeating_cohort', a => calculateCohortDice(a.map(id => `repeating_cohort_${id}`))); -}); -on('change:char_cohort_quality change:char_cohort_impaired', () => { - getAttrs(['char_cohort_quality', 'char_cohort_impaired'], v => { - const dice = (parseInt(v.char_cohort_quality) || 0) - (parseInt(v.char_cohort_impaired) || 0); - setAttr('char_cohort_dice', dice); - }); -}); -/* Set correct verb for cohort roll button */ -['char_cohort', 'cohort1', 'repeating_cohort'].forEach(prefix => { - const eventString = 'change:' + ((prefix === 'repeating_cohort') ? `${prefix}:type` : `${prefix}_type`); - on(eventString, event => { - const verb = (event.newValue === 'expert') ? '^{rolls_their}' : '^{roll_their-l}'; - setAttr(`${prefix}_verb`, verb); - }); -}); -/* Left-fill checkboxes */ -handleBoxesFill('upgrade_24_check_', true); -handleBoxesFill('bandolier1_check_'); -handleBoxesFill('bandolier2_check_'); -['item', 'playbookitem', 'upgrade'].forEach(sName => handleBoxesFill(`repeating_${sName}:check_`)); -/* Pseudo-radios */ -['crew_tier', ...actionsFlat].forEach(name => { - on(`change:${name}`, event => { - if (String(event.newValue) === '0' && event.sourceType === 'player') { - setAttr(name, (parseInt(event.previousValue) || 1) - 1); - } - }); -}); -/* Item reset button */ -on('change:reset_items', () => { - const clearChecks = sectionName => { - getSectionIDs(`repeating_${sectionName}`, idArray => { - const setting = [ - ...idArray.map(id => `repeating_${sectionName}_${id}_check_1`), - ...idArray.map(id => `repeating_${sectionName}_${id}_check_2`), - ...idArray.map(id => `repeating_${sectionName}_${id}_check_3`) - ].reduce((m, name) => { - m[name] = 0; - return m; - }, {}); - mySetAttrs(setting); - }); - }; - setAttr('load', 0); - ['item', 'playbookitem'].forEach(clearChecks); -}); -/* Default values for number of upgrades boxes */ -on('change:repeating_upgrade:boxes_chosen', () => { - getAttrs(['repeating_upgrade_numboxes'], v => { - if (!['1', '2', '3'].includes(v.repeating_upgrade_numboxes)) { - setAttr('repeating_upgrade_numboxes', '1'); - } - }); -}); -/* Bonus dice via dropdown or text input */ -on('change:setting_text_bonus_query sheet:opened', () => { - getAttrs(['setting_text_bonus_query', 'bonusdice', 'numberofdice'], v => { - const setting = {}; - if (String(v.setting_text_bonus_query) === '1') { - setting.bonusdice = `(?{${getTranslationByKey('bonusdice')}|0})`; - setting.numberofdice = `(?{${getTranslationByKey('numberofdice')}|0})`; - } - else { - setting.bonusdice = `?{${getTranslationByKey('bonusdice')}|0|1|2|3|4|5|6|-1|-2|-3}`; - setting.numberofdice = `?{${getTranslationByKey('numberofdice')}|0|1|2|3|4|5|6}`; - if (setting.bonusdice === v.bonusdice) delete setting.bonusdice; - if (setting.numberofdice === v.numberofdice) delete setting.numberofdice; - } - mySetAttrs(setting); - }); -}); -/* Resistance query */ -on('change:setting_consequence_query sheet:opened', () => { - getAttrs(['setting_consequence_query'], v => { - const consequenceQuery = (String(v.setting_consequence_query) === '1') ? - `?{${getTranslationByKey('consequence')}|${getTranslationByKey('a_consequence')}}` : - '^{a_consequence}'; - setAttr('consequence_query', consequenceQuery); - }); -}); -/* Trim whitespace in auto-expand fields */ -autoExpandFields.forEach(name => { - on(`change:${name}`, event => { - const attrName = name.replace(':', '_'); - getAttrs([attrName], v => { - if (v[attrName].trim() !== v[attrName] && event.sourceType === 'player') { - setAttr(attrName, v[attrName].trim()); - } - }); - }); -}); -/* INITIALISATION AND UPGRADES */ -on('sheet:opened', () => { - getAttrs(['sheet_type', 'changed_attributes', 'crew_type', 'playbook'], v => { - /* Make sure sheet_type is never 0 */ - if (!['crew', 'faction'].includes(v.sheet_type)) setAttr('sheet_type', 'character'); - /* Remove reminder box if we have playbook or crew name */ - if (v.playbook || v.crew_type) setAttr('show_playbook_reminder', '0'); - }); - /* Set up translated queries */ - const queries = { - effect_query: getTranslationByKey('effect_query'), - notes_query: `?{${getTranslationByKey('notes')}}`, - position_query: `?{${getTranslationByKey('position')}|` + - `${getTranslationByKey('risky')},position=${getTranslationByKey('risky')}|` + - `${getTranslationByKey('controlled')},position=${getTranslationByKey('controlled')}|` + - `${getTranslationByKey('desperate')},position=${getTranslationByKey('desperate')}|` + - `${getTranslationByKey('fortune_roll')},position=}` - }; - getAttrs(Object.keys(queries), v => { - const setting = {}; - Object.keys(queries).forEach(name => { - if (v[name] !== queries[name]) setting[name] = queries[name]; - }); - mySetAttrs(setting); - }); - /* Translated title text */ - if (getTranslationLanguage() === 'ko') setAttr('title_text', '{{title-text=1}} {{korean=1}}'); - else setAttr('title_text', ''); - /* Setup and upgrades */ - getAttrs(['version'], v => { - const upgradeSheet = version => { - const versionMajor = version && parseInt(version.split('.')[0]), - versionMinor = version && parseInt(version.split('.')[1]); - console.log(`Found version ${version}.`); - if (version !== sheetVersion) console.log('Performing sheet upgrade.'); - // Upgrade to 0.7: Convert legacy faction repeating section to text - if (versionMajor === 0 && versionMinor < 7) { - getSectionIDs('repeating_faction', list => { - const sectionList = ['faction1', 'faction2'].concat(list.map(str => `repeating_faction_${str}`)), - attrList = [].concat(...sectionList.map(str => [`${str}_name`, `${str}_status`, `${str}_description`])); - getAttrs(attrList, v => { - const output = sectionList.map(str => { - return 'Name: ' + v[`${str}_name`] + '\n' + - 'Status: ' + (v[`${str}_status`] || '') + '\n' + - 'Notes: ' + (v[`${str}_description`] || '') + '\n'; - }).join('\n'); - setAttr('faction_notes', output); - list.forEach(id => removeRepeatingRow(`repeating_faction_${id}`)); - upgradeSheet('0.7'); - }); - }); - } - // Upgrade to 0.9: Convert ability/friend/crewability/contact first row - else if (versionMajor === 0 && versionMinor < 9) { - const upgradeFunction = _.after(4, () => upgradeSheet('1.0')), - attrs = ['ability1_check', 'ability1_name', 'ability1_description', - 'friend1_status', 'friend1_name', - 'crew_ability1_check', 'crew_ability1_name', 'crew_ability1_description', - 'contact1_check', 'contact1_name' - ]; - getAttrs(attrs, v => { - fillRepeatingSectionFromData('ability', [{ - check: v.ability1_check || '0', - description: v.ability1_description || '', - name: v.ability1_name || '' - }], false, upgradeFunction); - fillRepeatingSectionFromData('friend', [{ - name: v.friend1_name || '', - status: v.friend1_status || '' - }], false, upgradeFunction); - fillRepeatingSectionFromData('crewability', [{ - check: v.crew_ability1_check || '0', - description: v.crew_ability1_description || '', - name: v.crew_ability1_name || '' - }], false, upgradeFunction); - fillRepeatingSectionFromData('contact', [{ - check: v.contact1_check || '0', - name: v.contact1_name || '' - }], false, upgradeFunction); - }); - } - // Upgrade to 1.4: Convert playbook items and repeating items - else if (versionMajor === 1 && versionMinor < 4) { - const upgradeFunction = _.after(2, () => upgradeSheet('1.4')), - indices = [...Array(10).keys()], // [0:9] - allAttrs = [ - ...indices.map(n => `item_${n}_check`), - ...indices.map(n => `item_${n}_desc`), - 'item_0_check_b', - 'item_0_check_c', - 'item_1_check_b' - ]; - getAttrs(allAttrs, v => { - const items = []; - if (v.item_0_desc) { - items.push({ - check_1: v.item_0_check || '0', - name: v.item_0_desc, - numboxes: '1' - }); - items.push({ - check_1: v.item_0_check_b || '0', - name: v.item_0_desc, - numboxes: '1' - }); - items.push({ - check_1: v.item_0_check_c || '0', - name: v.item_0_desc, - numboxes: '1' - }); - } - if (v.item_1_desc) { - items.push({ - bold: 'on', - check_1: v.item_1_check || '0', - check_2: v.item_1_check_b || '0', - name: v.item_1_desc, - numboxes: '2' - }); - } - ['2', '3', '5', '6'].forEach(index => { - if (v[`item_${index}_desc`]) { - items.push({ - bold: (['2', '3'].includes(index) ? 'on' : '0'), - check_1: v[`item_${index}_check`] || '0', - name: v[`item_${index}_desc`], - numboxes: '1' - }); - } - }); - ['4', '7', '8', '9'].forEach(index => { - if (v[`item_${index}_desc`]) { - items.push({ - bold: ((index === '4') ? 'on' : '0'), - check_1: v[`item_${index}_check`] || '0', - name: v[`item_${index}_desc`], - numboxes: '0' - }); - } - }); - items.forEach(obj => { - obj.boxes_chosen = 'on'; - }); - fillRepeatingSectionFromData('playbookitem', items, false, upgradeFunction); - }); - getSectionIDs('repeating_item', idArray => { - const allAttrs = [ - ...idArray.map(id => `repeating_item_${id}_desc`), - ...idArray.map(id => `repeating_item_${id}_check`), - ...idArray.map(id => `repeating_item_${id}_check_b`) - ]; - getAttrs(allAttrs, v => { - const setting = {}; - idArray.forEach(id => { - setting[`repeating_item_${id}_boxes_chosen`] = 'on'; - setting[`repeating_item_${id}_numboxes`] = '2'; - setting[`repeating_item_${id}_name`] = v[`repeating_item_${id}_desc`] || ''; - setting[`repeating_item_${id}_check_1`] = v[`repeating_item_${id}_check`] || '0'; - setting[`repeating_item_${id}_check_2`] = v[`repeating_item_${id}_check_b`] || '0'; - }); - mySetAttrs(setting, {}, upgradeFunction); - }); - }); - } - // Upgrade to 1.5: Convert items - else if (versionMajor === 1 && versionMinor < 5) { - const indices = [...Array(25).keys()].slice(10), - allAttrs = [ - ...indices.map(n => `item_${n}_check`), - ...indices.map(n => `item_${n}_desc`), - 'item_14_check_b', - 'item_16_check_b', - 'item_16_check_c', - 'item_16_check_d', - 'item_16_check_e', - 'item_18_check_b', - 'item_22_check_b' - ]; - getAttrs(allAttrs, v => { - const items = [{ - check_1: (v.item_10_check || '0'), - name: (v.item_10_desc || 'A Blade or Two'), - numboxes: '1' - }, - { - check_1: (v.item_11_check || '0'), - name: (v.item_11_desc || 'Throwing Knives'), - numboxes: '1' - }, - { - check_1: (v.item_12_check || '0'), - name: (v.item_12_desc || 'A Pistol'), - numboxes: '1', - short: 'on' - }, - { - check_1: (v.item_13_check || '0'), - name: (v.item_13_desc || 'A 2nd Pistol'), - numboxes: '1', - short: 'on' - }, - { - check_1: (v.item_14_check || '0'), - check_2: (v.item_14_check_b || '0'), - name: (v.item_14_desc || 'A Large Weapon'), - numboxes: '2' - }, - { - check_1: (v.item_15_check || '0'), - name: (v.item_15_desc || 'An Unusual Weapon'), - numboxes: '1' - }, - { - check_1: (v.item_16_check || '0'), - check_2: (v.item_16_check_b || '0'), - name: (v.item_16_desc || 'Armor'), - numboxes: '2', - short: 'on' - }, - { - check_1: (v.item_16_check_c || '0'), - check_2: (v.item_16_check_d || '0'), - check_3: (v.item_16_check_e || '0'), - name: (v.item_16_desc_b || '+Heavy'), - numboxes: '3', - short: 'on' - }, - { - check_1: (v.item_17_check || '0'), - name: (v.item_17_desc || 'Burglary Gear'), - numboxes: '1' - }, - { - check_1: (v.item_18_check || '0'), - name: (v.item_18_desc || 'Climbing Gear'), - numboxes: '2' - }, - { - check_1: (v.item_19_check || '0'), - name: (v.item_19_desc || 'Arcane Implements'), - numboxes: '1' - }, - { - check_1: (v.item_20_check || '0'), - name: (v.item_20_desc || 'Documents'), - numboxes: '1' - }, - { - check_1: (v.item_21_check || '0'), - name: (v.item_21_desc || 'Subterfuge Supplies'), - numboxes: '1' - }, - { - check_1: (v.item_22_check || '0'), - check_2: (v.item_22_check_b || '0'), - name: (v.item_22_desc || 'Demolition Tools'), - numboxes: '2' - }, - { - check_1: (v.item_23_check || '0'), - name: (v.item_23_desc || 'Tinkering Tools'), - numboxes: '1' - }, - { - check_1: (v.item_24_check || '0'), - name: (v.item_24_desc || 'Lantern'), - numboxes: '1' - } - ]; - items.forEach(obj => { - obj.boxes_chosen = 'on'; - }); - fillRepeatingSectionFromData('item', items, false, () => upgradeSheet('1.5')); - }); - } - // Upgrade to 1.6: Set defaults, convert upgrade names - else if (versionMajor === 1 && versionMinor < 6) { - const upgradeFunction = _.after(3, () => upgradeSheet('1.6')), - upgradeNums = [...Array(25).keys()].slice(1).filter(x => x !== 19), - upgradeAttrs = [ - ...upgradeNums.map(x => `upgrade_${x}_desc`), - ...upgradeNums.map(x => `upgrade_${x}_check`), - 'upgrade_1_check_b', - 'upgrade_1_check_c', - 'upgrade_2_tall', - 'upgrade_3_tall', - 'upgrade_6_check_b', - 'upgrade_8_check_b', - 'upgrade_14_check_b', - 'upgrade_16_check_b', - 'upgrade_24_check_b', - 'upgrade_24_check_c', - 'upgrade_24_check_d', - ...Object.keys(translatedDefaults) - ]; - getAttrs(upgradeAttrs, v => { - // Repeating / specific upgrades - const upgrades = [{ - check_1: v.upgrade_1_check || '0', - check_2: v.upgrade_1_check_b || '0', - check_3: v.upgrade_1_check_c || '0', - name: v.upgrade_1_desc || '', - numboxes: '3' - }, { - check_1: v.upgrade_2_check || '0', - name: v.upgrade_2_desc || '', - numboxes: '1', - tall: v.upgrade_2_tall || '0' - }, { - check_1: v.upgrade_3_check || '0', - name: v.upgrade_3_desc || '', - numboxes: '1', - tall: v.upgrade_3_tall || '0' - }, { - check_1: v.upgrade_4_check || '0', - name: v.upgrade_4_desc || '', - numboxes: '1' - }, { - check_1: v.upgrade_5_check || '0', - name: v.upgrade_5_desc || '', - numboxes: '1' - }]; - upgrades.forEach(obj => { - obj.boxes_chosen = 'on'; - }); - getSectionIDs('upgrade', idList => { - const allAttrs = [ - ...idList.map(x => `repeating_upgrade_${x}_desc`), - ...idList.map(x => `repeating_upgrade_${x}_check`), - ...idList.map(x => `repeating_upgrade_${x}_check_b`) - ]; - getAttrs(allAttrs, v => { - const setting = {}; - idList.forEach(id => { - setting[`repeating_upgrade_${id}_name`] = v[`repeating_upgrade_${id}_desc`] || ''; - setting[`repeating_upgrade_${id}_check_1`] = v[`repeating_upgrade_${id}_check`] || ''; - setting[`repeating_upgrade_${id}_check_2`] = v[`repeating_upgrade_${id}_check_b`] || ''; - setting[`repeating_upgrade_${id}_numboxes`] = '2'; - setting[`repeating_upgrade_${id}_boxes_chosen`] = 'on'; - }); - mySetAttrs(setting, {}, upgradeFunction); - fillRepeatingSectionFromData('upgrade', upgrades, false, upgradeFunction); - }); - }); - // Common upgrades - const setting = {}; - upgradeNums.slice(5).forEach(index => { - setting[`upgrade_${index}_name`] = v[`upgrade_${index}_desc`] || ''; - setting[`upgrade_${index}_check_1`] = v[`upgrade_${index}_check`] || '0'; - }); - setting.upgrade_6_check_2 = v.upgrade_6_check_b || '0'; - setting.upgrade_8_check_2 = v.upgrade_8_check_b || '0'; - setting.upgrade_14_check_2 = v.upgrade_14_check_b || '0'; - setting.upgrade_16_check_2 = v.upgrade_16_check_b || '0'; - setting.upgrade_24_check_2 = v.upgrade_24_check_b || '0'; - setting.upgrade_24_check_3 = v.upgrade_24_check_c || '0'; - setting.upgrade_24_check_4 = v.upgrade_24_check_d || '0'; - Object.keys(translatedDefaults).forEach(k => { - setting[k] = v[k] || setting[k] || translatedDefaults[k]; - }); - mySetAttrs(setting, {}, upgradeFunction); - }); - } - // Upgrade to 1.9: Add missing upgrade descriptions, convert bandolier checks - else if (versionMajor === 1 && versionMinor < 9) { - const upgradeFunction = _.after(2, () => upgradeSheet('1.9')), - upgradeNums = [...Array(25).keys()].slice(1).filter(x => x !== 19).slice(5), - upgradeDescriptions = upgradeNums.map(x => `upgrade_${x}_description`), - attrs = [ - ...upgradeDescriptions, - 'bandolier1_check', - 'bandolier1_check_b', - 'bandolier1_check_c', - 'bandolier2_check', - 'bandolier2_check_b', - 'bandolier2_check_c' - ]; - getAttrs(attrs, v => { - const setting = {}; - upgradeDescriptions.forEach(name => { - setting[name] = v[name] || translatedDefaults[name]; - }); - setting.bandolier1_check_1 = v.bandolier1_check || '0'; - setting.bandolier1_check_2 = v.bandolier1_check_b || '0'; - setting.bandolier1_check_3 = v.bandolier1_check_c || '0'; - setting.bandolier2_check_1 = v.bandolier2_check || '0'; - setting.bandolier2_check_2 = v.bandolier2_check_b || '0'; - setting.bandolier2_check_3 = v.bandolier2_check_c || '0'; - mySetAttrs(setting, {}, upgradeFunction); - }); - getSectionIDs('item', idArray => { - const attrs = [ - ...idArray.map(id => `repeating_item_${id}_name`), - ...idArray.map(id => `repeating_item_${id}_description`) - ]; - getAttrs(attrs, v => { - const setting = {}; - idArray.forEach(id => { - const k = _.findIndex(itemData, item => item.name === v[`repeating_item_${id}_name`]); - if (k >= 0 && !v[`repeating_item_${id}_description`]) { - setting[`repeating_item_${id}_description`] = itemData[k].description; - } - }); - mySetAttrs(setting, {}, upgradeFunction); - }); - }); - } - // Upgrade to 1.10: Convert clocks - else if (versionMajor === 1 && versionMinor < 10) { - const upgradeFunction = _.after(2, () => upgradeSheet('1.10')); - ['clock', 'crewclock'].forEach(sName => { - getSectionIDs(`repeating_${sName}`, idArray => { - const oldAttrs = [ - ...idArray.map(id => `repeating_${sName}_${id}_size`), - ...idArray.map(id => `repeating_${sName}_${id}_clock1`), - ...idArray.map(id => `repeating_${sName}_${id}_clock2`), - ...idArray.map(id => `repeating_${sName}_${id}_clock3`), - ...idArray.map(id => `repeating_${sName}_${id}_clock4`) - ]; - getAttrs(oldAttrs, v => { - const setting = {}; - idArray.forEach(id => { - switch (v[`repeating_${sName}_${id}_size`]) { - case '6': - setting[`repeating_${sName}_${id}_progress`] = v[`repeating_${sName}_${id}_clock2`] || '0'; - break; - case '8': - setting[`repeating_${sName}_${id}_progress`] = v[`repeating_${sName}_${id}_clock3`] || '0'; - break; - case '12': - setting[`repeating_${sName}_${id}_progress`] = v[`repeating_${sName}_${id}_clock4`] || '0'; - break; - default: - case 'none': - case '4': - setting[`repeating_${sName}_${id}_size`] = '4'; - setting[`repeating_${sName}_${id}_progress`] = v[`repeating_${sName}_${id}_clock1`] || '0'; - break; - } - }); - mySetAttrs(setting, {}, upgradeFunction); - }); - }); - }); - } - // Upgrade to 1.11: Convert all checkboxes to value=1 - else if (versionMajor === 1 && versionMinor < 11) { - const upgradeFunction = _.after(14, () => upgradeSheet('1.11')), - upgradeNums = [...Array(25).keys()].slice(1).filter(x => x !== 19).slice(5), - boxes = ['show_settings', 'setting_extra_trauma', 'setting_extra_xp', 'setting_vampirexp', 'setting_show_strictures', - 'setting_show_frame', 'setting_show_itemdesc', 'setting_show_deity', 'setting_show_origin', 'setting_flexwidth', - 'cold', 'haunted', 'obsessed', 'paranoid', 'reckless', 'soft', 'unstable', 'vicious', - 'chaotic', 'destructive', 'furious', 'obsessive', 'territorial', 'savage', - 'clanking', 'leaking', 'fixated', 'smoking', 'sparking', 'unstable', - 'armor', 'armor_heavy', 'armor_special', - 'stricture_slumber', 'stricture_forbidden', 'stricture_repelled', 'stricture_bestial', 'stricture_bound', - 'show_alchemicals', 'bandolier1_check_1', 'bandolier1_check_2', 'bandolier1_check_3', 'bandolier2_check_1', - 'bandolier2_check_2', 'bandolier2_check_3', 'upgrade_24_check_3', 'upgrade_24_check_4', - 'cohort1_weak', 'cohort1_impaired', 'cohort1_broken', 'cohort1_armor', - ...[...Array(6).keys()].slice(1).map(x => `frame_feature_${x}_check`), - ...[...Array(6).keys()].slice(1).map(x => `setting_extra_stress${x}`), - ...[...Array(16).keys()].map(x => `claim_${x}_check`), - ...['1_2', '2_3', '3_4', '4_5', '1_6', '2_7', '3_8', '4_9', '5_10', '6_7', '7_8', '8_9', '9_10', '6_11', - '7_12', '8_13', '9_14', '10_15', '11_12', '12_13', '13_14', '14_15' - ].map(x => `claim_bridge_${x}`), - ...upgradeNums.map(x => `upgrade_${x}_check_1`), - ...upgradeNums.map(x => `upgrade_${x}_check_2`), - ...upgradeNums.map(x => `upgrade_${x}_expand`) - ], - repeatingBoxes = { - ability: ['check'], - claim: [...[...Array(6).keys()].slice(1).map(x => `claim_bridge_top_${x}`), - ...[...Array(6).keys()].slice(1).map(x => `claim_${x}_check`) - ], - cohort: ['weak', 'impaired', 'broken', 'armor'], - contact: ['check'], - crewability: ['check'], - factions1: ['expand'], - factions2: ['expand'], - factions3: ['expand'], - factions4: ['expand'], - factions5: ['expand'], - item: ['boxes_chosen', 'check_1', 'check_2', 'check_3', 'expand', 'short'], - playbookitem: ['bold', 'boxes_chosen', 'check_1', 'check_2', 'check_3', 'expand'], - upgrade: ['boxes_chosen', 'check_1', 'check_2', 'check_3', 'expand', 'tall'] - }, - convertBoxes = attrNames => { - getAttrs(attrNames, v => { - const setting = {}; - attrNames.forEach(name => { - if (v[name] === 'on') setting[name] = 1; - }); - mySetAttrs(setting, { - silent: true - }, upgradeFunction); - }); - }; - convertBoxes(boxes); - Object.entries(repeatingBoxes).forEach(([sName, attrs]) => { - getSectionIDs(`repeating_${sName}`, idArray => { - const attrNames = idArray.reduce((m, id) => { - return m.concat(attrs.map(name => `repeating_${sName}_${id}_${name}`)); - }, []); - convertBoxes(attrNames); - }); - }); - } - // Upgrade to 1.12: Update dice totals - else if (versionMajor === 1 && versionMinor < 12) { - getAttrs(['stash'], v => calculateStashDice(v.stash)); - actionsFlat.forEach(name => { - getAttrs([1, 2, 3, 4, 5].map(x => `${name}${x}`), v => { - const total = [1, 2, 3, 4, 5].reduce((m, x) => m + (parseInt(v[`${name}${x}`]) || 0), 0); - setAttr(name, total); - }); - }); - getSectionIDs('repeating_cohort', idArray => { - getAttrs(['crew_tier1', 'crew_tier2', 'crew_tier3', 'crew_tier4'], v => { - const tier = (parseInt(v.crew_tier1) || 0) + (parseInt(v.crew_tier2) || 0) + - (parseInt(v.crew_tier3) || 0) + (parseInt(v.crew_tier4) || 0); - mySetAttrs({ - crew_tier: tier - }, {}, () => { - calculateCohortDice(['cohort1']); - calculateCohortDice(idArray.map(id => `repeating_cohort_${id}`)); - upgradeSheet('1.12'); - }); - }); - }); - } - // Upgrade to 2.0: Rename trauma attributes, frame feature migration - else if (versionMajor < 2) { - const attrs = [ - ...traumaDataFlat, - 'changed_attributes', - ...[1, 2, 3, 4, 5].map(x => `frame_feature_${x}_check`), - ...[1, 2, 3, 4, 5].map(x => `frame_feature_${x}_desc`) - ]; - getAttrs(attrs, v => { - const upgradeFunction = _.after(2, () => upgradeSheet('2.0')), - frameData = [1, 2, 3, 4, 5].map(k => ({ - check: v[`frame_feature_${k}_check`] || '', - name: v[`frame_feature_${k}_desc`] || '' - })).filter(o => o.check || o.name), - changedAttrs = new Set(v.changed_attributes.split(',')), - setting = traumaDataFlat.reduce((m, name) => { - if (String(v[name]) === '1') m[`trauma_${name}`] = '1'; - return m; - }, {}); - actionsFlat.filter(n => changedAttrs.has(`${n}1`) || changedAttrs.has(`${n}2`)) - .forEach(name => changedAttrs.add(name)); - setting.changed_attributes = [...changedAttrs].join(','); - fillRepeatingSectionFromData('framefeature', frameData, false, upgradeFunction); - mySetAttrs(setting, {}, upgradeFunction); - }); - } - // Upgrade to 2.2: Enable pet for hounds - else if (versionMajor === 2 && versionMinor < 2) { - getAttrs(['playbook'], v => { - if (v.playbook.toLowerCase() === 'hound') { - mySetAttrs({ - char_cohort_name: 'Hunting Pet', - char_cohort_subtype: 'Hunter', - setting_show_cohort: '1' - }); - } - upgradeSheet('2.2'); - }); - } - // Upgrade to 2.4: Generate alchemicals for Leeches, recalculate resistance - else if (versionMajor === 2 && versionMinor < 4) { - Object.keys(actionData).forEach(calculateResistance); - getAttrs(['playbook', 'notes', 'changed_attributes'], v => { - if (v.playbook.toLowerCase() === 'leech') { - fillRepeatingSectionFromData('alchemical', alchemicalData); - } - if (v.changed_attributes) { - const changedAttrs = v.changed_attributes.split(','); - actionsFlat.forEach(action => { - if (changedAttrs.some(x => x.indexOf(action) === 0)) { - changedAttrs.push(action); - } - }); - setAttr('changed_attributes', [...new Set(changedAttrs)].join(',')); - } - setAttr('crew_notes', v.notes || ''); - upgradeSheet('2.4'); - }); - } - }, - initialiseSheet = () => { - const setting = ['ability', 'friend', 'crewability', 'contact', 'playbookitem', 'upgrade', 'framefeature'] - .reduce((memo, sectionName) => { - memo[`repeating_${sectionName}_${generateRowID()}_autogen`] = 1; - return memo; - }, {}); - mySetAttrs(setting); - fillRepeatingSectionFromData('item', itemData); - /* Set translated default values */ - getAttrs(Object.keys(translatedDefaults), v => { - const setting = {}; - Object.keys(translatedDefaults).forEach(k => { - if (v[k] !== translatedDefaults[k]) setting[k] = translatedDefaults[k]; - }); - mySetAttrs(setting); - }); - console.log('Initialising new sheet.'); - }; - if (v.version) upgradeSheet(v.version); - else initialiseSheet(); - // Set version number - mySetAttrs({ - version: sheetVersion, - character_sheet: `Blades in the Dark v${sheetVersion}`, - }); - }); -}); diff --git a/Blades in the Dark/Source/title.html b/Blades in the Dark/Source/title.html deleted file mode 100644 index 45bd4c84a0..0000000000 --- a/Blades in the Dark/Source/title.html +++ /dev/null @@ -1,364 +0,0 @@ -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - -
- -
-
- - - - - Character Mode - Crew Mode - Faction Mode -
- -
- Version -
-
- -
- -
- - - - -
-
- - - - -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- Vampire's Dark Talent: - - - - -
-
- Resistance bonus: - - - -
-
- - -
-
- Load: - - - -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
- - - - - - - -
- diff --git a/Blades in the Dark/blades.css b/Blades in the Dark/blades.css index b8f823be26..5731f8f42d 100644 --- a/Blades in the Dark/blades.css +++ b/Blades in the Dark/blades.css @@ -1 +1 @@ -.charsheet{color:#333;font-size:0;position:relative;top:-11px;cursor:default;box-sizing:border-box;padding:0!important;font-family:Georgia,"Bitstream Charter","Times New Roman",serif}.charsheet div,.charsheet span,.charsheet textarea,.charsheet ul,.charsheet li,.charsheet span,.charsheet label{box-sizing:border-box}.charsheet button[type=roll]{text-shadow:none;background:transparent;box-shadow:none;font-weight:700;font-family:inherit;outline:none;border-radius:0;transition:all 0.2s}.charsheet button[type=roll].btn::before{content:""}.charsheet label{margin:0;padding:0;display:flex;cursor:pointer;width:auto;color:#333;font:inherit}.charsheet label input[type=checkbox],.charsheet label input[type=radio]{position:absolute}.charsheet label:hover input[type=checkbox] + span,.charsheet label:hover input[type=radio] + span{opacity:.7}.charsheet input[type=text],.charsheet textarea{border:none;font-family:inherit;background:transparent;box-shadow:none;width:100%;padding:0;margin:0;color:#333;border-radius:0;transition:all 0.2s,height 0.4s}.charsheet textarea{resize:vertical;display:block}.charsheet textarea:active{transition:height 0s}.charsheet input[type=number]{border-color:#ccc;color:#333;box-shadow:none}.charsheet input[type=checkbox],.charsheet input[type=radio]{opacity:0;z-index:1;-moz-appearance:none;position:relative}.charsheet input[type=checkbox] + span,.charsheet input[type=radio] + span{cursor:pointer;display:inline-block;transition:all 0.2s,opacity 0s}.charsheet ul{list-style:none;margin:0}.charsheet li{position:relative}.charsheet li::before{transform:rotate(45deg) scale(.9);font-family:Georgia,serif;content:'■';left:0;top:-.1em;position:absolute}.charsheet button[type=roll].sheet-inherit,.charsheet input[type=text].sheet-inherit{font:inherit;color:inherit;text-transform:inherit;letter-spacing:inherit}.sheet-focus-shadow:checked~.sheet-container textarea:focus,.sheet-focus-shadow:checked~.sheet-container input[type=text]:focus,.sheet-focus-shadow:checked~.sheet-container input[type=number]:focus{box-shadow:inset 0 0 1px 1px rgba(66,66,66,.3),0 0 2px 1px rgba(66,66,66,.3)}.sheet-hidden{display:none!important}.sheet-preload{opacity:0;position:absolute}.sheet-preload img{width:1px;height:1px}.sheet-topholder{line-height:22px;margin:0 0 7px calc(55% + 5px)}.sheet-topholder .sheet-version{color:#aaa;font-size:13px;font-family:"Times New Roman",Times,serif}.sheet-topholder .sheet-version-text::after{content:" "}.sheet-topholder .sheet-settings-checkbox{margin-right:10px;width:20px;height:20px;font-size:16px;font-family:pictos}.sheet-topholder .sheet-settings-checkbox input + span{opacity:.3}.sheet-topholder .sheet-settings-checkbox input:checked + span{opacity:1}.sheet-type-selector{display:flex;margin-right:auto;background:#ccc;border:1px solid #aaa;letter-spacing:1px;line-height:20px;justify-content:center;width:170px;font-size:11px;color:#333}.sheet-type-selector input{position:absolute;width:170px;height:20px}.sheet-type-selector:hover{color:red}.sheet-type-selector .sheet-3waybox:not(:checked) + .sheet-3waybox,.sheet-type-selector input[value="character"]:not(:checked)~span[data-i18n="character_mode"],.sheet-type-selector input[value="crew"]:not(:checked)~span[data-i18n="crew_mode"],.sheet-type-selector input[value="faction"][type=radio]:not(:checked)~span[data-i18n="faction_mode"]{display:none}.sheet-settings{position:absolute;right:0;width:350px;border:1px solid black;background:white;z-index:100;padding:5px;border-radius:5px}.sheet-settings>div{min-width:50%;display:flex;flex-grow:1;align-items:center;padding:2px;font-size:10px;min-height:24px;line-height:17px;border-bottom:1px solid #d6d8d9}.sheet-settings>div.sheet-generaterow{line-height:0}.sheet-settings label{align-items:center}.sheet-settings .sheet-checkbox + span{margin-right:6px}.sheet-settings .sheet-checkbox:checked + span{background:black}.sheet-settings :not(input) + span{padding-right:4px}.sheet-settings input[type=number]{padding:0 2px;margin:0 3px 0 8px;width:30px;font-size:12px}.sheet-settings input[type=text]{width:45px;font-size:10px;margin-right:3px;padding-left:1px;line-height:16px;border-radius:3px;border:1px solid #d6d8d9}.sheet-settings select{width:80px;margin:0 7px 0 0;padding:0;height:18px}.sheet-settings .sheet-type[value="character"]~:not(.sheet-setting-char),.sheet-settings .sheet-type[value="crew"]~:not(.sheet-setting-crew),.sheet-settings .sheet-type[value="faction"]~:not(.sheet-setting-faction){display:none}.sheet-toothhider:not(:checked) + .sheet-tooth,.sheet-toothhider:not(:checked) + .sheet-tooth + span{display:none}.sheet-hider:not(:checked) + li,.sheet-hider:not(:checked) + div,.sheet-hider:not(:checked) + label{display:none}.sheet-container{position:relative}.sheet-flexwidth:not(:checked) ~ .sheet-container{width:860px}.sheet-flexwidth:checked ~ .sheet-container{min-width:860px;max-width:1190px}.sheet-type:not([value="character"])~.sheet-type-character,.sheet-type:not([value="crew"])~.sheet-type-crew,.sheet-type:not([value="faction"])~.sheet-type-faction{display:none}.sheet-blackheader{background:black;color:white}.sheet-blackheader.sheet-rep1,.sheet-blackheader.sheet-hold1{padding-top:3px;line-height:13px}.sheet-blackheader.sheet-hold1{padding-left:2px}.sheet-blackheader,.sheet-black-on-grey,.sheet-greyheader{font-size:11px;letter-spacing:1px}.sheet-blackheader,.sheet-greyheader{height:16px;line-height:15px;padding:1px 2px 0 4px}.sheet-black-on-grey,.sheet-greyheader{background:#b3b4b6}.sheet-black-on-grey{text-align:center;position:relative;flex-grow:1;padding-left:1px;height:13px;line-height:13px;z-index:-1}.sheet-plainheader{width:100%;border-top:2px solid black;font-size:12px;line-height:22px}.sheet-specialheader{background:#b3b4b6;height:20px;font-size:11px;line-height:20px;letter-spacing:1px;padding:0 5px}.sheet-specialheader input[type=text]{margin:0 -5px;padding:0 5px;width:calc(100% + 10px)}.sheet-italic{font-style:italic}.sheet-bold{font-weight:700}.sheet-greyholder{background:#d6d8d9}.sheet-def-margin{margin-top:10px}.sheet-small-margin{margin-top:5px}.sheet-blackborder{border-top:3px solid black}.sheet-tier{background:#d6d8d9;height:16px;width:56px;align-items:center}.sheet-tier input[value="1"]{margin-left:auto}.sheet-tier .sheet-checkbox + span{margin-right:auto}.sheet-flex{display:flex}.sheet-flex-wrap{display:flex;flex-wrap:wrap;align-content:flex-start;align-items:flex-start}.sheet-flex-center{text-align:center;display:flex;justify-content:center;align-items:center}.sheet-right-column{padding-left:5px}.sheet-col47{width:47%}.sheet-col53{width:53%}.sheet-col37{width:37%}.sheet-col24b{width:24.25%}.sheet-col50{width:50%}.sheet-col52b{width:52%}.sheet-col55{width:55%}.sheet-col45{width:45%}.sheet-col63{width:63%}.sheet-col100{width:100%}.sheet-label,input[type=text].sheet-label,textarea.sheet-label,button[type=roll].sheet-label{text-transform:uppercase;font-weight:700}.sheet-uppercase{text-transform:uppercase}.sheet-smallcaps,input[type=text].sheet-smallcaps,textarea.sheet-smallcaps{font-variant:small-caps;font-weight:700}.sheet-gatherinfo ul{padding:0}.sheet-gatherinfo li{margin-bottom:1px;font-style:italic;padding-left:11px;font-size:11px;height:17px}.sheet-teamworkbox{width:95%;padding:5px;margin-bottom:5px;background:#d6d8d9;font-size:12px;line-height:15px}.sheet-planning .sheet-teamworkbox .sheet-bold::after{content:": "}.sheet-planningdesc{font-size:12px;line-height:15px;text-align:justify;margin:0 5% 5px 0}.sheet-itemcolumn{max-width:249px}.sheet-itemholder>div{padding:5px}.sheet-item-container{flex-grow:1}.sheet-playbookitems{background:#d6d8d9}.sheet-playbookitems .repcontrol,.sheet-regularitems .repcontrol{height:29px}.sheet-regularitems .repcontainer{display:flex;flex-wrap:wrap;align-content:flex-start}.sheet-regularitems .repitem{display:flex;flex-grow:1}.sheet-regularitems .sheet-input-short:checked + .sheet-input-expand:not(:checked)~.sheet-item-container{width:96px}.sheet-regularitems .sheet-col50,.sheet-regularitems .sheet-col100{position:relative}.sheet-item{display:flex;align-items:start}.sheet-item .sheet-itemname{height:18px;font-size:11px;margin:0 1px 0 2px;padding-left:2px;flex:auto;min-width:0}.sheet-item .sheet-itemname.sheet-auto-expand{min-height:16px;height:auto;line-height:16px;margin:1px 0%;padding:0 7px 0 2px}.sheet-item .sheet-checkbox,.sheet-item .sheet-checkbox + span{margin-top:3px}.sheet-item .sheet-input-bold:checked~.sheet-itemname{font-weight:700}.sheet-item .sheet-input-italic:checked~.sheet-itemname{font-style:italic}.sheet-item .sheet-label{font-size:11px;vertical-align:top;letter-spacing:1px}.sheet-item .sheet-label.sheet-upgradecosts{font-size:8px}.sheet-item .sheet-upgradecosts{font-size:11px;padding-left:3px}.sheet-item .sheet-upgradecaption{margin-top:3px}.sheet-floatingbar{width:3px;height:2px;margin:8px 0 0 -3px;flex:0 0 auto;background:#838587}.sheet-numboxes0:checked~.sheet-boxesgeq2,.sheet-numboxes1:checked~.sheet-boxesgeq2,.sheet-numboxes2:checked~.sheet-boxesgeq3{display:none}.sheet-itemholder .repitem .sheet-boxes-chosen:checked + div,.sheet-itemholder .repitem .sheet-boxes-chosen:not(:checked) + div~div{display:none}.sheet-numboxes-chooser{padding:1px 0;font-size:11px}.sheet-numboxes-chooser input[type=number]{margin-left:auto;height:18px;padding:0;text-align:right;width:2.5em;background:transparent}.sheet-numboxes-chooser label{height:18px;border:1px solid #aaa;margin-left:auto;padding:2px;line-height:12px}.sheet-numboxes-chooser input:checked + span{font-weight:700}.sheet-show-itemdesc:not(:checked)~div .sheet-item-description{display:none}.sheet-itemholder .sheet-expand{top:4px;right:1px}.sheet-itemholder .sheet-expand + span{top:1px;right:1px}.sheet-itemholder .sheet-expand + span::before{content:"◀"}.sheet-itemholder .sheet-expand:checked + span::before{content:"▼"}.sheet-itemholder .sheet-expand~textarea{border-top:1px solid #d6d8d9;line-height:12px;font-size:10px;height:49px}.sheet-itemholder .sheet-playbookitems .sheet-expand~textarea{border-color:#aaa}.sheet-bladeslogo{border-right:12px solid transparent;height:43px;background-image:url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Blades%20in%20the%20Dark/Assets/logo.png);background-size:102% auto;background-repeat:no-repeat}.sheet-crewheader{color:#7f8184;font-size:28px;letter-spacing:-2px;line-height:31px}.sheet-itemheader,.sheet-loadheader{background:#b3b4b6;height:20px;font-size:10px;padding:3px 2px 1px 4px;align-items:center}.sheet-loadheader label{align-items:center;line-height:11px;font-style:italic;margin-left:auto;text-transform:lowercase}.sheet-loadnumber{font-weight:700;font-family:"Times New Roman",Times,serif;font-size:12px;margin:0 3px 0 4px}.sheet-itemheader>.sheet-label{margin-right:4px}.sheet-itemheader:not(:hover) .sheet-text-button{display:none}.sheet-itemheader .sheet-text-button{margin-left:auto}.sheet-itemheader .sheet-text-button input[type=checkbox] + span{opacity:1;color:#333}.sheet-itemheader .sheet-text-button:hover input[type=checkbox] + span{color:red}.sheet-advancement-header{letter-spacing:2px}.sheet-markxp{margin-right:auto}.sheet-xpholder{letter-spacing:0;font-size:0;margin-left:8px}.sheet-advancement-desc li,.sheet-warblurb li{font-size:13px;line-height:16px;width:100%}.sheet-advancement-desc li.sheet-nondot,.sheet-warblurb li.sheet-nondot{padding-left:0;font-style:normal}.sheet-advancement-desc li.sheet-nondot::before,.sheet-warblurb li.sheet-nondot::before{display:none}.sheet-advancement-desc{width:99%;background:#d6d8d9;padding:15px 15px 4px 11px}.sheet-advancement-desc li{font-style:italic;margin-bottom:1em;padding-left:1em}.sheet-advancement-desc .sheet-auto-expand{min-height:16px;padding:0 2px}.sheet-playbook{align-items:center;height:50px;position:relative;background:#d6d8d9}.sheet-playbook input[type=text]{flex:0 0 auto;margin:0 2px;padding-left:5px;letter-spacing:-1px;font-size:35px;line-height:40px}.sheet-playbook textarea{height:42px;flex:0 0 auto;font-size:10px;padding-left:3px;letter-spacing:1px;color:#7f8184;resize:none;overflow:hidden;line-height:14px}.sheet-playbook .sheet-reminder{position:absolute;border:1px solid #333;background:white;top:48px;z-index:3;border-radius:5px;width:267px;font-size:12px;text-align:center;padding:3px}.sheet-type-character .sheet-playbook input[type=text]{width:calc(64% - 10px)}.sheet-type-character .sheet-playbook textarea{width:calc(36% + 6px)}.sheet-type-crew .sheet-playbook input[type=text]{width:calc(74% - 7px)}.sheet-type-crew .sheet-playbook textarea{width:calc(26% + 3px)}.sheet-header label{flex-wrap:wrap}.sheet-header input[type=text]{width:100%;border-bottom:1px solid black;font-size:14px;padding:3px 0 0 2px;margin:3px 0 0;color:#c43c35}.sheet-header input[type="hidden"][value=""] + div>.sheet-title::after{content:": "}.sheet-header input[type="hidden"]:not([value=""]) + div>.sheet-info{display:none}.sheet-header .sheet-col55:not(:first-child){padding-right:2.5%}.sheet-header .sheet-text{color:black;text-align:justify;padding:3px 0 2px;line-height:13px}.sheet-header .sheet-title{font-size:10px;letter-spacing:1px}.sheet-header .sheet-info{font-size:8px}.sheet-header .sheet-vice-input:not([value="normal"])~.sheet-normal,.sheet-header .sheet-vice-input:not([value="ghost"])~.sheet-ghost,.sheet-header .sheet-vice-input:not([value="hull"])~.sheet-hull,.sheet-header .sheet-vice-input:not([value="vampire"])~.sheet-vampire{display:none}.sheet-header .sheet-vice{justify-content:space-between;text-align:justify;line-height:1.6;font-size:11px}.sheet-header .sheet-vice .sheet-smallcaps{font-size:130%;line-height:0}.sheet-clocks .repcontainer{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between}.sheet-clocks .repitem{display:flex;padding:4px 2px;width:49.5%;margin:4px 0 0;background:#d6d8d9;align-items:start}.sheet-clocks .itemcontrol{top:0;left:0}.sheet-clocks .sheet-auto-expand{font-size:11px;letter-spacing:1px;padding:2px 3px;line-height:12px;flex:auto;min-width:0;margin-right:2px;min-height:28px}.sheet-clock-container{position:relative;padding:2px;margin:0 0 5px;z-index:1;height:44px;width:44px;cursor:pointer;flex:0 0 auto}.sheet-clock-container input{position:absolute;display:none}.sheet-clock-container .sheet-zero{z-index:3}.sheet-clock-container .sheet-zero,.sheet-clock-container .sheet-zero + span{position:absolute;top:37px;left:-5px}.sheet-clock-container .sheet-all,.sheet-clock-container .sheet-zero{display:block}.sheet-clock{border:2px solid black;border-radius:50%;transition:all 0.2s;background:red;width:100%;height:100%;position:absolute;left:0;top:0;z-index:-1}[class^="sheet-spoke"]{height:44px;width:2px;position:absolute;display:none;left:0;top:0;background:black}.sheet-spoke-0{transform:translateX(21px)}.sheet-spoke-30{transform:translateX(21px) rotate(30deg)}.sheet-spoke-36{transform:translateX(21px) rotate(36deg)}.sheet-spoke-45{transform:translateX(21px) rotate(45deg)}.sheet-spoke-60{transform:translateX(21px) rotate(60deg)}.sheet-spoke-72{transform:translateX(21px) rotate(72deg)}.sheet-spoke-90{transform:translateX(21px) rotate(90deg)}.sheet-spoke-108{transform:translateX(21px) rotate(108deg)}.sheet-spoke-120{transform:translateX(21px) rotate(120deg)}.sheet-spoke-135{transform:translateX(21px) rotate(135deg)}.sheet-spoke-144{transform:translateX(21px) rotate(144deg)}.sheet-spoke-150{transform:translateX(21px) rotate(150deg)}.sheet-size-choice{display:flex;flex:0 0 auto;height:45px;margin:2px 0;width:44px;line-height:12px;font-size:13px;font-family:"Times New Roman",Times,serif;align-content:space-evenly;flex-wrap:wrap}.sheet-type-faction .sheet-clocks .repcontainer{justify-content:flex-start}.sheet-type-faction .sheet-clocks .repitem{margin:4px .8% 0 0;width:32.8%}.sheet-input-clocks-only:not(:checked)~.sheet-clocks .repitem:nth-of-type(3n),.sheet-input-clocks-only:checked~.sheet-clocks .repitem:nth-of-type(4n){margin-right:0}.sheet-input-clocks-only:checked~.sheet-clocks{width:100%}.sheet-input-clocks-only:checked~.sheet-clocks .repitem{margin:4px .4% 0 0;width:24.7%}.sheet-input-clocks-only:checked~.sheet-factiontitle,.sheet-input-clocks-only:checked~.sheet-factions,.sheet-input-clocks-only:checked~.sheet-right-column{display:none}.sheet-size[value="4"]~.sheet-clock-container input:not(.sheet-zero){height:20px;width:20px}.sheet-size[value="4"]~.sheet-clock-container input[value="1"]{margin-left:20px}.sheet-size[value="4"]~.sheet-clock-container input[value="2"]{margin:20px 0 0 20px}.sheet-size[value="4"]~.sheet-clock-container input[value="3"]{margin-top:20px}.sheet-size[value="6"]~.sheet-clock-container input:not(.sheet-zero){height:17px;width:12px}.sheet-size[value="6"]~.sheet-clock-container input[value="1"]{margin-left:21px;transform:rotate(30deg)}.sheet-size[value="6"]~.sheet-clock-container input[value="2"]{margin:12px 0 0 25px;transform:rotate(90deg)}.sheet-size[value="6"]~.sheet-clock-container input[value="3"]{margin:22px 0 0 21px;transform:rotate(150deg)}.sheet-size[value="6"]~.sheet-clock-container input[value="4"]{margin:22px 0 0 8px;transform:rotate(210deg)}.sheet-size[value="6"]~.sheet-clock-container input[value="5"]{margin:12px 0 0 1px;transform:rotate(270deg)}.sheet-size[value="6"]~.sheet-clock-container input[value="6"]{margin-left:8px;transform:rotate(330deg)}.sheet-size[value="8"]~.sheet-clock-container input:not(.sheet-zero){height:14px;width:10px}.sheet-size[value="8"]~.sheet-clock-container input[value="1"]{margin-left:20px;transform:rotate(22.5deg)}.sheet-size[value="8"]~.sheet-clock-container input[value="2"]{margin:8px 0 0 26px;transform:rotate(67.5deg)}.sheet-size[value="8"]~.sheet-clock-container input[value="3"]{margin:18px 0 0 26px;transform:rotate(112.5deg)}.sheet-size[value="8"]~.sheet-clock-container input[value="4"]{margin:25px 0 0 20px;transform:rotate(157.5deg)}.sheet-size[value="8"]~.sheet-clock-container input[value="5"]{margin:25px 0 0 9px;transform:rotate(202.5deg)}.sheet-size[value="8"]~.sheet-clock-container input[value="6"]{margin:18px 0 0 2px;transform:rotate(247.5deg)}.sheet-size[value="8"]~.sheet-clock-container input[value="7"]{margin:8px 0 0 2px;transform:rotate(292.5deg)}.sheet-size[value="8"]~.sheet-clock-container input[value="8"]{margin-left:9px;transform:rotate(337.5deg)}.sheet-size[value="10"]~.sheet-clock-container input:not(.sheet-zero){height:14px;width:9px}.sheet-size[value="10"]~.sheet-clock-container input[value="1"]{transform:rotate(18deg);margin-left:20px}.sheet-size[value="10"]~.sheet-clock-container input[value="2"]{transform:rotate(54deg);margin:5px 0 0 27px}.sheet-size[value="10"]~.sheet-clock-container input[value="3"]{transform:rotate(90deg);margin:13px 0 0 30px}.sheet-size[value="10"]~.sheet-clock-container input[value="4"]{transform:rotate(126deg);margin:21px 0 0 27px}.sheet-size[value="10"]~.sheet-clock-container input[value="5"]{transform:rotate(162deg);margin:26px 0 0 20px}.sheet-size[value="10"]~.sheet-clock-container input[value="6"]{transform:rotate(198deg);margin:26px 0 0 12px}.sheet-size[value="10"]~.sheet-clock-container input[value="7"]{transform:rotate(234deg);margin:21px 0 0 5px}.sheet-size[value="10"]~.sheet-clock-container input[value="8"]{transform:rotate(270deg);margin:13px 0 0 1px}.sheet-size[value="10"]~.sheet-clock-container input[value="9"]{transform:rotate(306deg);margin:5px 0 0 5px}.sheet-size[value="10"]~.sheet-clock-container input[value="10"]{transform:rotate(342deg);margin-left:12px}.sheet-size[value="12"]~.sheet-clock-container input:not(.sheet-zero){height:12px;width:8px}.sheet-size[value="12"]~.sheet-clock-container input[value="1"]{margin-left:20px;transform:rotate(15deg)}.sheet-size[value="12"]~.sheet-clock-container input[value="2"]{margin:4px 0 0 26px;transform:rotate(45deg)}.sheet-size[value="12"]~.sheet-clock-container input[value="3"]{margin:10px 0 0 29px;transform:rotate(75deg)}.sheet-size[value="12"]~.sheet-clock-container input[value="4"]{margin:18px 0 0 29px;transform:rotate(105deg)}.sheet-size[value="12"]~.sheet-clock-container input[value="5"]{margin:24px 0 0 26px;transform:rotate(135deg)}.sheet-size[value="12"]~.sheet-clock-container input[value="6"]{margin:28px 0 0 20px;transform:rotate(165deg)}.sheet-size[value="12"]~.sheet-clock-container input[value="7"]{margin:28px 0 0 12px;transform:rotate(195deg)}.sheet-size[value="12"]~.sheet-clock-container input[value="8"]{margin:24px 0 0 6px;transform:rotate(225deg)}.sheet-size[value="12"]~.sheet-clock-container input[value="9"]{margin:18px 0 0 3px;transform:rotate(255deg)}.sheet-size[value="12"]~.sheet-clock-container input[value="10"]{margin:10px 0 0 3px;transform:rotate(295deg)}.sheet-size[value="12"]~.sheet-clock-container input[value="11"]{margin:4px 0 0 6px;transform:rotate(315deg)}.sheet-size[value="12"]~.sheet-clock-container input[value="12"]{margin-left:12px;transform:rotate(345deg)}.sheet-size[value="4"]~.sheet-clock-container .sheet-4clock,.sheet-size[value="6"]~.sheet-clock-container .sheet-6clock,.sheet-size[value="8"]~.sheet-clock-container .sheet-8clock,.sheet-size[value="10"]~.sheet-clock-container .sheet-10clock,.sheet-size[value="12"]~.sheet-clock-container .sheet-12clock{display:block}.sheet-size:not([value=""])~.sheet-size-choice,.sheet-clocks .sheet-size[value=""]~.sheet-broadcast-button,.sheet-size[value=""]~.sheet-clock-container{display:none}.sheet-clock-container .sheet-input-progress[value="0"]:checked~.sheet-clock{background:white}.sheet-size[value="4"]~.sheet-clock-container .sheet-input-progress[value="1"]:checked~.sheet-clock,.sheet-size[value="8"]~.sheet-clock-container .sheet-input-progress[value="2"]:checked~.sheet-clock,.sheet-size[value="12"]~.sheet-clock-container .sheet-input-progress[value="3"]:checked~.sheet-clock{background-image:linear-gradient(0deg,white 50%,transparent 50%),linear-gradient(90deg,white 50%,red 50%)}.sheet-size[value="4"]~.sheet-clock-container .sheet-input-progress[value="2"]:checked~.sheet-clock,.sheet-size[value="6"]~.sheet-clock-container .sheet-input-progress[value="3"]:checked~.sheet-clock,.sheet-size[value="8"]~.sheet-clock-container .sheet-input-progress[value="4"]:checked~.sheet-clock,.sheet-size[value="10"]~.sheet-clock-container .sheet-input-progress[value="5"]:checked~.sheet-clock,.sheet-size[value="12"]~.sheet-clock-container .sheet-input-progress[value="6"]:checked~.sheet-clock{background-image:linear-gradient(90deg,white 50%,red 50%)}.sheet-size[value="4"]~.sheet-clock-container .sheet-input-progress[value="3"]:checked~.sheet-clock,.sheet-size[value="8"]~.sheet-clock-container .sheet-input-progress[value="6"]:checked~.sheet-clock,.sheet-size[value="12"]~.sheet-clock-container .sheet-input-progress[value="9"]:checked~.sheet-clock{background-image:linear-gradient(0deg,red 50%,transparent 50%),linear-gradient(90deg,white 50%,red 50%)}.sheet-size[value="4"]~.sheet-clock-container .sheet-input-progress[value="4"]:checked~.sheet-clock,.sheet-size[value="6"]~.sheet-clock-container .sheet-input-progress[value="6"]:checked~.sheet-clock,.sheet-size[value="8"]~.sheet-clock-container .sheet-input-progress[value="8"]:checked~.sheet-clock,.sheet-size[value="10"]~.sheet-clock-container .sheet-input-progress[value="10"]:checked~.sheet-clock,.sheet-size[value="12"]~.sheet-clock-container .sheet-input-progress[value="12"]:checked~.sheet-clock{background:red}.sheet-size[value="6"]~.sheet-clock-container .sheet-input-progress[value="1"]:checked~.sheet-clock,.sheet-size[value="12"]~.sheet-clock-container .sheet-input-progress[value="2"]:checked~.sheet-clock{background-image:linear-gradient(90deg,white 50%,transparent 50%),linear-gradient(150deg,red 50%,white 50%)}.sheet-size[value="6"]~.sheet-clock-container .sheet-input-progress[value="2"]:checked~.sheet-clock,.sheet-size[value="12"]~.sheet-clock-container .sheet-input-progress[value="4"]:checked~.sheet-clock{background-image:linear-gradient(90deg,white 50%,transparent 50%),linear-gradient(30deg,white 50%,red 50%)}.sheet-size[value="6"]~.sheet-clock-container .sheet-input-progress[value="4"]:checked~.sheet-clock,.sheet-size[value="12"]~.sheet-clock-container .sheet-input-progress[value="8"]:checked~.sheet-clock{background-image:linear-gradient(150deg,transparent 50%,red 50%),linear-gradient(90deg,white 50%,red 50%)}.sheet-size[value="6"]~.sheet-clock-container .sheet-input-progress[value="5"]:checked~.sheet-clock,.sheet-size[value="12"]~.sheet-clock-container .sheet-input-progress[value="10"]:checked~.sheet-clock{background-image:linear-gradient(30deg,red 50%,transparent 50%),linear-gradient(90deg,white 50%,red 50%)}.sheet-size[value="8"]~.sheet-clock-container .sheet-input-progress:checked[value="1"]~.sheet-clock{background-image:linear-gradient(90deg,white 50%,transparent 50%),linear-gradient(135deg,red 50%,white 50%)}.sheet-size[value="8"]~.sheet-clock-container .sheet-input-progress:checked[value="3"]~.sheet-clock{background-image:linear-gradient(90deg,white 50%,transparent 50%),linear-gradient(45deg,white 50%,red 50%)}.sheet-size[value="8"]~.sheet-clock-container .sheet-input-progress:checked[value="5"]~.sheet-clock{background-image:linear-gradient(135deg,transparent 50%,red 50%),linear-gradient(90deg,white 50%,red 50%)}.sheet-size[value="8"]~.sheet-clock-container .sheet-input-progress:checked[value="7"]~.sheet-clock{background-image:linear-gradient(45deg,red 50%,transparent 50%),linear-gradient(90deg,white 50%,red 50%)}.sheet-size[value="10"]~.sheet-clock-container .sheet-input-progress:checked[value="1"]~.sheet-clock{background-image:linear-gradient(90deg,white 50%,transparent 50%),linear-gradient(126deg,red 50%,white 50%)}.sheet-size[value="10"]~.sheet-clock-container .sheet-input-progress:checked[value="2"]~.sheet-clock{background-image:linear-gradient(90deg,white 50%,transparent 50%),linear-gradient(162deg,red 50%,white 50%)}.sheet-size[value="10"]~.sheet-clock-container .sheet-input-progress:checked[value="3"]~.sheet-clock{background-image:linear-gradient(90deg,white 50%,transparent 50%),linear-gradient(18deg,white 50%,red 50%)}.sheet-size[value="10"]~.sheet-clock-container .sheet-input-progress:checked[value="4"]~.sheet-clock{background-image:linear-gradient(90deg,white 50%,transparent 50%),linear-gradient(54deg,white 50%,red 50%)}.sheet-size[value="10"]~.sheet-clock-container .sheet-input-progress:checked[value="6"]~.sheet-clock{background-image:linear-gradient(126deg,transparent 50%,red 50%),linear-gradient(90deg,white 50%,red 50%)}.sheet-size[value="10"]~.sheet-clock-container .sheet-input-progress:checked[value="7"]~.sheet-clock{background-image:linear-gradient(162deg,transparent 50%,red 50%),linear-gradient(90deg,white 50%,red 50%)}.sheet-size[value="10"]~.sheet-clock-container .sheet-input-progress:checked[value="8"]~.sheet-clock{background-image:linear-gradient(18deg,red 50%,transparent 50%),linear-gradient(90deg,white 50%,red 50%)}.sheet-size[value="10"]~.sheet-clock-container .sheet-input-progress:checked[value="9"]~.sheet-clock{background-image:linear-gradient(54deg,red 50%,transparent 50%),linear-gradient(90deg,white 50%,red 50%)}.sheet-size[value="12"]~.sheet-clock-container .sheet-input-progress:checked[value="1"]~.sheet-clock{background-image:linear-gradient(90deg,white 50%,transparent 50%),linear-gradient(120deg,red 50%,white 50%)}.sheet-size[value="12"]~.sheet-clock-container .sheet-input-progress:checked[value="5"]~.sheet-clock{background-image:linear-gradient(90deg,white 50%,transparent 50%),linear-gradient(60deg,white 50%,red 50%)}.sheet-size[value="12"]~.sheet-clock-container .sheet-input-progress:checked[value="7"]~.sheet-clock{background-image:linear-gradient(120deg,transparent 50%,red 50%),linear-gradient(90deg,white 50%,red 50%)}.sheet-size[value="12"]~.sheet-clock-container .sheet-input-progress:checked[value="11"]~.sheet-clock{background-image:linear-gradient(60deg,red 50%,transparent 50%),linear-gradient(90deg,white 50%,red 50%)}.sheet-text-button{font-weight:700}.sheet-text-button input:checked + span{color:red}.sheet-size-choice>.sheet-text-button{height:17px;padding:3px;flex:0 0 40%;margin:auto;justify-content:center}input.sheet-stresstooth,input.sheet-xptooth,input.sheet-holdtooth,.sheet-stresstooth + span,.sheet-xptooth + span,.sheet-holdtooth + span{height:25px}input.sheet-regulartooth,.sheet-regulartooth + span{height:13px}input.sheet-tooth{width:12px;margin-right:-12px}input.sheet-tooth:last-of-type{width:8px;margin-right:-8px}.sheet-tooth + span{width:8px;background-size:cover;background-repeat:no-repeat}.sheet-tooth + span:last-child{margin-right:0!important}.sheet-tooth:hover + span{opacity:.7}.sheet-xptooth + span{background-image:url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Blades%20in%20the%20Dark/Assets/teeth/xptooth-red.png);margin-right:4px}.sheet-tooth:checked~.sheet-xptooth + span{background-image:url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Blades%20in%20the%20Dark/Assets/teeth/xptooth-white.png)}.sheet-stresstooth[type=radio] + span,.sheet-stresstooth[type=checkbox]:checked + span,.sheet-holdtooth:checked + span{background-image:url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Blades%20in%20the%20Dark/Assets/teeth/stresstooth-red.png)}.sheet-stresstooth[type=checkbox] + span,.sheet-tooth:checked~.sheet-stresstooth[type=radio] + span,.sheet-holdtooth + span{background-image:url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Blades%20in%20the%20Dark/Assets/teeth/stresstooth-white.png)}.sheet-regulartooth + span{background-image:url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Blades%20in%20the%20Dark/Assets/teeth/shorttooth-red.png)}.sheet-tooth:checked~.sheet-regulartooth + span{background-image:url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Blades%20in%20the%20Dark/Assets/teeth/shorttooth-grey.png)}input.sheet-zero{width:13px;height:13px;margin-right:-13px;vertical-align:top}.sheet-zero + span{height:11px;width:11px;margin-top:1px;margin-right:2px;vertical-align:top;border:1px solid black;background:white;border-radius:50%;position:relative}.sheet-zero + span::before,.sheet-zero + span::after{position:absolute;width:1px;content:"";left:0;background:black;height:11px}.sheet-zero + span::after{transform:translate(4px,-1px) rotate(135deg)}.sheet-zero + span::before{transform:translate(4px,-1px) rotate(45deg)}.sheet-zero:checked + span{visibility:hidden}.sheet-coin .sheet-zero + span{position:relative;bottom:1px;margin-right:auto}.sheet-stash input.sheet-zero,.sheet-stash .sheet-zero + span{position:absolute;left:-6px;top:3px}.sheet-crewcoin input.sheet-zero,.sheet-crewcoin .sheet-zero + span{position:absolute;left:-9px;top:3px}.sheet-stress2 input.sheet-zero,.sheet-stress2 .sheet-zero + span,.sheet-rep2 input.sheet-zero,.sheet-rep2 .sheet-zero + span,.sheet-heat2 input.sheet-zero,.sheet-heat2 .sheet-zero + span{position:absolute;left:-13px;top:13px}.sheet-turfbox input[type=radio]{height:12px;width:calc(100%/12)}.sheet-turf-input[value="1"]~input[type=radio].sheet-turf1 + span,.sheet-turf-input[value="2"]~input[type=radio].sheet-turf2 + span,.sheet-turf-input[value="3"]~input[type=radio].sheet-turf3 + span,.sheet-turf-input[value="4"]~input[type=radio].sheet-turf4 + span,.sheet-turf-input[value="5"]~input[type=radio].sheet-turf5 + span,.sheet-turf-input[value="6"]~input[type=radio].sheet-turf6 + span{background-image:url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Blades%20in%20the%20Dark/Assets/teeth/stresstooth-black.png)}.sheet-tooth:checked~.sheet-stresstooth.sheet-turf6 + span{background-image:url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Blades%20in%20the%20Dark/Assets/teeth/stresstooth-halfgrey.png)}.sheet-specialability,.sheet-friend-contact{border-bottom:1px solid #b3b4b6;width:100%;align-items:start}.sheet-specialability{padding:4px}.sheet-friend-contact{padding:6px 4px;align-items:center}.sheet-abilityname{width:calc(28% - 22px);font-size:13px;min-height:17px;margin:0 auto;line-height:17px;padding:0 1px}.sheet-abilitydesc{width:72%;min-height:32px;font-size:12px;line-height:14px;padding:2px 1px;text-align:justify}.sheet-friend-contact .sheet-auto-expand{font-size:12px;color:#6c6c6c;min-height:20px;line-height:16px;flex:1 1 0%;padding:2px 0 2px 3px}.sheet-harm{position:relative}.sheet-harmrow{border-bottom:1px solid black}.sheet-harmrow>div{background:#d6d8d9;height:52px}.sheet-harmrow textarea{height:52px;font-size:12px;padding:10px 4px 3px;color:#c43c35;width:0;flex-grow:1;resize:none;line-height:16px;text-align:center}.sheet-harmrow textarea:nth-of-type(2){border-left:1px solid #d6d8d9}.sheet-harmrow .sheet-harmnumber{width:12px;line-height:1;font-size:13px}.sheet-harmrow .sheet-harmeffect{width:59px;color:#575859;font-size:10px;letter-spacing:1px;line-height:1.4}.sheet-armor .sheet-blackheader,.sheet-healing .sheet-blackheader{text-align:center;padding:1px 0 0}.sheet-healing{position:relative}.sheet-healing .sheet-healing-progress{line-height:14px;text-align:center;font-style:italic;font-size:9px}.sheet-healing .sheet-clock-container{margin:0 auto}.sheet-armor label{margin:3px 0 3px 10px;height:18px;font-size:11px;text-align:center;line-height:18px}.sheet-armor .sheet-label{flex-grow:1;order:1}.sheet-armor input:checked~span{color:red}.sheet-armor .sheet-checkbox + span{border:1px solid black;margin:3px;order:2}.sheet-coin-and-stash{width:96%;margin:1px 0 0 4%}.sheet-coinrow .sheet-label{font-size:11px;margin-right:auto}.sheet-coin{border-bottom:1px solid #8c8c8c;border-right:1px solid #8c8c8c;width:70%;height:19px;padding:1px 3px 0 0;align-items:center}.sheet-stashbutton-holder{border-top:1px solid #8c8c8c;display:flex;align-items:center;justify-content:center;width:30%;height:19px;padding-bottom:1px}.sheet-stash{padding:4px 0 0 6px;line-height:19px;margin-bottom:-10px;position:relative}.sheet-crewcoin-coins{padding:4px 0 0 3px;position:relative}.sheet-crewcoin-desc{font-size:10px;line-height:14px;padding-left:3px;font-style:italic}.sheet-crewcoinbar{border-left:1px solid #c6c7c9;height:15px;width:3px;margin:-1px auto 0}.sheet-crewcoin input.sheet-radiobox{width:12px;height:12px;margin-right:-12px}.sheet-crewcoin .sheet-radiobox + span{width:11px;height:11px;margin-right:auto}.sheet-crewcoin input:checked~.sheet-radiobox.sheet-vaultcoin + span{border-color:#c6c7c9}.sheet-coin-and-stash input.sheet-radiobox{width:13px;height:13px;vertical-align:top;margin-right:-13px}.sheet-coin-and-stash .sheet-radiobox + span{width:12px;height:12px;vertical-align:top}.sheet-coinrow .sheet-radiobox + span{margin-right:auto}.sheet-radiobox:hover + span{opacity:.7}.sheet-radiobox:last-of-type + span{margin-right:0}.sheet-coin .sheet-radiobox + span,.sheet-crewcoin .sheet-radiobox + span{background:red;border:1px solid black}.sheet-coin input:checked~.sheet-radiobox + span,.sheet-crewcoin input:checked~.sheet-radiobox + span{background:white}.sheet-stash .sheet-radiobox + span{background:black;margin-right:calc((100% - 126px)/9)}.sheet-stash input:checked~.sheet-radiobox + span{background:#c6c7c9}.sheet-stash input.sheet-radiobox:nth-of-type(10n+1){margin:-2px -17px 0 3px;width:15px;height:15px}.sheet-stash .sheet-radiobox:nth-of-type(10n+1) + span{width:14px;height:14px;border:1px solid black;margin-left:3px;margin-right:0;position:relative;top:-2px}.sheet-hunting-grounds .sheet-plainheader{min-height:20px;line-height:18px}.sheet-hunting-grounds .sheet-description{font-size:12px;min-height:32px;line-height:16px}.sheet-bonusdie .sheet-label{font-size:12px}.sheet-bonusdieplus{width:10%;background:black;color:white;font-size:13px;line-height:1;font-weight:700}.sheet-bonusdietext{background:#d6d8d9;width:90%;padding:3px;font-size:11px;line-height:14px;text-align:center}.repcontrol button{padding:6px;background-image:none;background:#d6d8d9;color:#6c6c6c;border-radius:0;border-color:#b3b4b6;transition:all 0.2s;font-family:inherit;font-variant:small-caps;font-weight:700}.repcontrol button:hover{color:black;border-color:black;background:#ccc}.sheet-white-repcontrol .repcontrol button.btn{background:white}.sheet-small-repcontrol .repcontrol button,.sheet-white-repcontrol .repcontrol button{margin-top:5px;font-size:12px;padding:2px}.sheet-cohorts.sheet-white-repcontrol .repcontrol button{margin-top:0}.itemcontrol{z-index:20}.sheet-itemholder .itemcontrol .btn{padding:0 7px;line-height:16px}.sheet-factions .itemcontrol .btn{padding:1px 7px}.sheet-rep-and-hold,.sheet-heat-and-vault{justify-content:space-between}.sheet-hold{width:53%}.sheet-stress,.sheet-rep,.sheet-hold,.sheet-heat{height:25px}.sheet-stress1{flex:1 0 auto}.sheet-stress2{flex:2 1 136px;position:relative}.sheet-stress3{flex:1 0 68px;text-align:center}.sheet-stress4{flex:2 0 217px;line-height:13px;font-size:9px;padding:1px 0 0 2px;text-transform:uppercase}.sheet-stress4 div{justify-content:space-between}.sheet-stress4 .sheet-input:not([value="normal"])~.sheet-normal,.sheet-stress4 .sheet-input:not([value="ghost"])~.sheet-ghost,.sheet-stress4 .sheet-input:not([value="hull"])~.sheet-hull{display:none}.sheet-stress4 .sheet-ghost,.sheet-stress4 .sheet-hull{letter-spacing:1px}.sheet-traumaholder,.sheet-wantedholder{height:13px;padding-left:2px}.sheet-rep1{width:33px}.sheet-rep2{width:134px;position:relative}.sheet-turfbox{display:flex;position:absolute;flex-flow:row-reverse;z-index:2;width:100%}.sheet-turfzero-holder{margin-left:2px}.sheet-hold>div,.sheet-hold>label,.sheet-heat>div,.sheet-rep>div,.sheet-crewcoin2{flex-grow:1}.sheet-heat2{width:107px;position:relative}.sheet-crewcoin1{width:26%}.sheet-regulartooth + span,.sheet-rep .sheet-tooth + span,.sheet-heat2 .sheet-tooth + span,.sheet-stress2 .sheet-tooth + span{margin-right:auto}.sheet-extra-teeth:checked + .sheet-tooth + span{margin-right:0}.sheet-extra-teeth:checked + .sheet-tooth~.sheet-tooth,.sheet-extra-teeth:checked + .sheet-tooth + span~span{display:none}.sheet-vampirexp:checked~.sheet-xptooth + span{margin-right:2px}.sheet-xpholder .sheet-vampirexp:not(:checked)~.sheet-tooth[value="8"] + span,.sheet-attribute-xp-box .sheet-vampirexp:not(:checked)~.sheet-tooth[value="6"] + span{margin-right:0}.sheet-rep input.sheet-tooth{width:11px;margin-right:-11px}.sheet-notes{margin-left:1%;font-family:"Shadows Into Light",cursive;color:#c43c35;font-size:20px;width:98%;background:linear-gradient(transparent 26px,#a7a7a7 1px) 0 0/100% 27px;line-height:27px;height:378px;min-height:378px}.sheet-type-character .sheet-notes,.sheet-type-crew .sheet-notes{margin-top:15px}.sheet-loadheader .sheet-checkbox + span{border:1px solid black;transform:rotate(45deg);width:10px;height:10px;background:white}button[type=roll].sheet-rollbutton{display:flex;border:none;margin:0;padding:0}.sheet-attribute-title button[type=roll].sheet-rollbutton{max-width:calc(100% - 97px);line-height:inherit;color:inherit;font-size:13px}.sheet-action button[type=roll].sheet-rollbutton{letter-spacing:1px;line-height:13px;flex:0 0 86px;font-size:13px}.sheet-coinrow button[type=roll].sheet-rollbutton{font-size:11px;color:#6c6c6c}.sheet-blackheader button[type=roll].sheet-rollbutton{margin:auto}button[type=roll].sheet-borderbutton{color:#6c6c6c;font-size:13px;border-color:#b3b4b6}button[type=roll].sheet-vicebutton{float:right;margin:5px 3px -5px auto;line-height:13px;padding:4px}button[type=roll].sheet-fortunebutton{width:100%;height:30px;margin:10px 0 0}.sheet-type-faction button[type=roll].sheet-fortunebutton{width:100px;margin:0}button[type=roll].sheet-engagementbutton{width:calc(100% - 20px);padding:2px 5px;height:30px;margin:10px 10px 0}button[type=roll].sheet-rollbutton:hover{color:red}button[type=roll].sheet-borderbutton:hover{color:black;border-color:black}.sheet-checkbox{margin-right:-12px}input.sheet-checkbox,.sheet-checkbox + span{height:12px;width:12px;flex:0 0 auto}.sheet-checkbox + span{border:1px solid #838587}.sheet-checkbox:checked + span{background:red}.sheet-checkbox:hover + span{opacity:.7}.sheet-squarebox + span{background:transparent;margin-right:3px}.sheet-circlebox + span{border-radius:50%;background:white}input.sheet-checkbox.sheet-squarebox-small,.sheet-checkbox.sheet-squarebox-small + span{height:9px;width:9px}.sheet-checkbox.sheet-squarebox-small:checked + span{background:black}.sheet-claimbridge{position:relative}.sheet-claimbridge input,.sheet-claimbridge span{width:100%;height:100%}.sheet-claimbridge input:checked + span{background:#d6d8d9}.sheet-specialability :checked~.sheet-abilityname,.sheet-item .sheet-checkbox:checked~.sheet-itemname,.sheet-friend .sheet-friendup:checked~.sheet-auto-expand{color:red}.sheet-friend-contact :checked~.sheet-auto-expand{font-weight:700}.sheet-friend .sheet-frienddown:checked~.sheet-auto-expand,.sheet-contact .sheet-contact-check:checked~.sheet-auto-expand{color:#333}.sheet-specialability .sheet-checkbox,.sheet-specialability .sheet-checkbox + span{margin-top:3px}.sheet-actions input.sheet-checkbox{height:20px;width:16px;margin-right:-14px}.sheet-actions .sheet-checkbox + span{height:11px;width:11px;border:none;margin-right:calc(7px + (100% - 173px)/8)}.sheet-action .sheet-checkbox + span:first-of-type{margin-right:6px}.sheet-action .sheet-darktalent:checked~.sheet-checkbox + span:first-of-type{margin-right:4px}.sheet-action .sheet-darktalent:checked~.sheet-checkbox + span:not(:first-of-type){margin-right:calc(3px + (100% - 171px)/10)}.sheet-action .sheet-darktalent:checked~.sheet-checkbox + span:last-of-type{margin-right:calc(4px + (100% - 171px)/10)}.sheet-checkbox.sheet-fakeradio + span{background:red}.sheet-action .sheet-fakeradio:checked~.sheet-fakeradio + span{background:#c6c7c9}.sheet-tier .sheet-fakeradio:checked~.sheet-fakeradio + span{background:white}.sheet-darktalent:not(:checked)~input:last-of-type,.sheet-darktalent:not(:checked)~input:last-of-type + span{display:none}.sheet-friend-contact .sheet-checkbox + span{width:0;height:0;background:transparent;border-color:transparent}.sheet-friend-contact label{width:12px;height:12px;position:relative}.sheet-friend label.sheet-up{margin-right:1px;top:-1px}.sheet-friend label.sheet-up .sheet-checkbox + span{border-width:0 5px 10px;border-bottom-color:white}.sheet-friend label.sheet-up .sheet-checkbox:checked + span{border-bottom-color:red}.sheet-friend label.sheet-down{top:5px}.sheet-friend label.sheet-down .sheet-checkbox + span{border-width:10px 5px 0;border-top-color:white}.sheet-friend label.sheet-down .sheet-checkbox:checked + span{border-top-color:black}.sheet-contact label{top:1px}.sheet-contact label .sheet-checkbox + span{border-width:5px 0 5px 10px;border-left-color:white}.sheet-contact label .sheet-checkbox:checked + span{border-left-color:black}.sheet-attribute,.sheet-cohort{margin-bottom:10px}.sheet-attribute-title,.sheet-cohort-title{height:21px;line-height:21px;color:white;background:black;padding:0 3px;align-items:center;justify-content:space-between}.sheet-attribute-xp-box{width:97px;justify-content:flex-end;height:100%}.sheet-actioncolumn{flex-grow:1}.sheet-actions{padding-left:2px}.sheet-action{height:22px;align-items:center}.sheet-action:first-child{height:34px;padding-top:12px}.sheet-divider{margin-right:calc(5px + (100% - 173px)/12);border-right:1px solid black;height:inherit}.sheet-darktalent:checked~.sheet-divider{margin-right:calc(3px + (100% - 173px)/15)}.sheet-action:first-child .sheet-divider{position:relative;top:-6px}.sheet-cohorts .repcontrol{height:28px}.sheet-cohort-title{font-size:11px}.sheet-cohort-title input[type=text]{width:calc(100% - 40px)}.sheet-cohort-info{background:black;height:13px;font-size:9px;color:white;line-height:13px}.sheet-cohort-info input[type=text]{flex:1 1 0%;padding:0 3px}.sheet-cohort-info input[type=number]{flex:0 0 auto;color:inherit;background:transparent;border:none;border-radius:0;padding:0 0 0 4px;line-height:inherit;width:13px;-moz-appearance:textfield;font-size:11px;font-family:"Times New Roman",Times,serif}.sheet-cohort-info input[type=number]::-webkit-outer-spin-button,.sheet-cohort-info input[type=number]::-webkit-inner-spin-button{margin:0;-webkit-appearance:none}.sheet-cohort-quality-label{flex:0 0 auto}.sheet-cohort-condition{justify-content:space-between}.sheet-cohort-condition-name{font-size:7.5px;margin-right:2px;z-index:-1}.sheet-cohort-dropdown{background:black;position:relative;z-index:1;width:41px;height:13px;padding-left:3px;flex:0 0 auto;overflow:hidden;transition:all 0.2s}.sheet-cohort-dropdown:hover{height:39px}.sheet-cohort-dropdown:hover>div:first-child{display:none}.sheet-cohort-dropdown input[type=radio]{width:39px;margin-right:-39px;vertical-align:top;height:13px;z-index:10}.sheet-cohort-dropdown input[type=radio]:checked + span{color:red}.sheet-cohort-edgeflaw{font-size:9px;line-height:10px;margin:2px 0;align-items:start}.sheet-cohort-edgeflaw .sheet-uppercase{width:34px;padding:2px 0}.sheet-cohort-edgeflaw .sheet-auto-expand{width:calc(100% - 34px);min-height:14px;padding:2px 3px}.sheet-cohort-description{font-size:9px;padding:1px 0;line-height:12px;height:50px;border-bottom:1px solid #d6d8d9}.sheet-claims{margin-top:15px}.sheet-claimsrow{align-items:center}.sheet-claimsrow>div,.sheet-claimsrow>label{flex:0 0 auto}.sheet-claimbox,.sheet-lairbox{height:66px}.sheet-claims-seprow{height:12px;justify-content:space-between}.sheet-lairbox{background:gray;width:18.4%;font-size:13px;color:white;letter-spacing:1px}.sheet-claims-horisep{height:12px;display:flex;width:2%}.sheet-claims-vertsep{display:flex;width:12px;margin:0 calc(9.2% - 6px)}.sheet-claimbox{background:#d6d8d9;width:18.4%;position:relative;transition:all 0.2s}.sheet-claimbox .sheet-label{height:30px;padding:4px 0 2px;line-height:12px}.sheet-claimbox textarea{text-align:center;font-size:9px;resize:none}.sheet-claimbox textarea.sheet-claim-desc{height:36px;padding:2px 2.5% 4px;line-height:10px}.sheet-claimbox label{position:absolute;bottom:1px;left:1px}input:checked + .sheet-claimbox{background:#c6c7c9}.sheet-strictures{font-size:11px;line-height:1.6;text-align:justify}.sheet-strictures label{margin-right:3px;display:inline-flex;vertical-align:top;align-items:center}.sheet-strictures span.sheet-label::after{content:":"}.sheet-title-checkbox~div{height:auto;transition:all 0.2s;overflow:hidden}.sheet-title-checkbox:not(:checked)~div{height:0}input.sheet-title-checkbox{width:100%;vertical-align:top;margin-right:-100%;height:24px}.sheet-title-checkbox:hover + span{color:red}.sheet-alchemicals{padding:0 5px;line-height:16px}.sheet-bandolier-desc{line-height:12px;margin-top:2px;font-size:10px;font-style:italic}.sheet-bandoliers-name{margin-right:7px;font-size:12px;line-height:18px}.sheet-bandolier input:nth-of-type(3) + span{margin-right:8px}.sheet-alchemicals .repcontainer{display:flex;flex-flow:row wrap}.sheet-alchemicals .repitem{font-size:11px;width:50%}.sheet-alchemicals .sheet-auto-expand{margin:0 1px 0 7px;padding:1px;min-height:16px;line-height:14px;width:calc(100% - 8px)}.sheet-alchemicals input.sheet-alchemicals-expand{width:10px;position:absolute;height:16px}.sheet-alchemicals .sheet-alchemicals-expand + span{transform:rotate(45deg) scale(.9);position:absolute}.sheet-alchemicals .sheet-alchemicals-expand:not(:checked)~.sheet-alchemicals-info{display:none}.sheet-alchemicals .sheet-alchemicals-info{position:relative;font-size:9px;z-index:2;background:white;line-height:1.3;height:64px;width:200%;padding:2px;border:1px solid #d6d8d9}.sheet-alchemicals .repitem:nth-child(even) .sheet-alchemicals-info{left:-100%}.sheet-alchemicals .sheet-alchemicals-expand + span::before{content:'■';font-family:serif}.sheet-alchemicals .sheet-alchemicals-expand:checked + span{color:red}.sheet-alchemicals .itemcontrol .btn{padding:0 4px;font-size:9px;line-height:14px}.sheet-alchemicals .repcontrol_del{order:1}.sheet-alchemicals .repcontainer.editmode .repitem .itemcontrol{display:flex;justify-content:space-between;align-items:start}.sheet-frame textarea{font-size:11px;height:40px}.sheet-type-faction .repcontrol{height:38px}.sheet-factions{justify-content:space-between}.sheet-factiontitle{margin-bottom:10px;align-items:center}.sheet-factiontitle input[type=text]{font-size:26px;margin-right:auto;width:60%}.sheet-factions-header{width:100%;height:24px;align-items:center;line-height:14px;background:#ccc}.sheet-factions-header input[type=text]{padding-left:3px}.sheet-factions-header span{font-size:7px}input.sheet-expand,.sheet-expand + span{position:absolute;width:7px;height:10px;font-size:8px}.sheet-type-faction .sheet-expand{left:-7px;top:6px}.sheet-type-faction .sheet-expand + span{top:3px;left:-7px}.sheet-type-faction .sheet-expand + span::before{content:"▶"}.sheet-type-faction .sheet-expand:checked + span::before{content:"▼"}.sheet-faction{border-bottom:1px solid #d6d8d9}.sheet-faction textarea{border-top:1px solid #d6d8d9;font-size:11px;line-height:1.5;height:51px}.sheet-faction input[type=number]{border:none;background:transparent;padding:0;font-size:12px}.sheet-faction input[type=text]{border-right:1px solid #d6d8d9;font-size:12px;padding:2px 1px}.sheet-expand:not(:checked)~textarea{height:0!important;border-width:0}.sheet-faction-name,input[type=text].sheet-faction-name{width:65%}.sheet-faction-tier,input[type=text].sheet-faction-tier{width:10%;text-align:center}.sheet-faction-hold,input[type=text].sheet-faction-hold{width:10%;text-align:center}.sheet-faction-status,input[type=number].sheet-faction-status{width:15%;text-align:center}.sheet-warblurb{text-align:justify}.sheet-warblurb .sheet-label{font-size:14px}.sheet-warblurb li{margin-bottom:.5em;padding-left:1em}label.sheet-generatebutton{color:#6c6c6c;border:1px solid #b3b4b6}label.sheet-generatebutton:hover{color:black;border-color:black}label.sheet-generatebutton:hover input + span{opacity:1}.sheet-type-faction label.sheet-generatebutton{font-size:13px;padding:0 6px;align-items:center;margin:0 6px;font-weight:700;height:30px}.sheet-settings label.sheet-generatebutton{padding:2px;line-height:12px;margin:0 4px;font-size:11px}.sheet-auto-expand{position:relative;cursor:text;word-wrap:break-word}.sheet-auto-expand span{visibility:hidden;white-space:pre-wrap;display:block}.sheet-auto-expand textarea{position:absolute;overflow:hidden;z-index:1;top:0;left:0;resize:none;height:100%;word-wrap:break-word;padding:inherit;font:inherit;color:inherit;text-transform:inherit;letter-spacing:inherit;text-align:inherit}.sheet-input-show-broadcast:not(:checked)~.sheet-container .sheet-broadcast-button{display:none}button[type=roll].sheet-broadcast-button{font-family:pictos;position:absolute;border:none;margin:0;padding:0;z-index:3}.sheet-specialability button[type=roll].sheet-broadcast-button{font-size:12px;line-height:14px;height:14px;width:14px;color:#777;left:3px;bottom:7px}.sheet-clocks button[type=roll].sheet-broadcast-button{font-size:11px;line-height:11px;height:12px;width:12px;color:#777;right:0;bottom:2px}.sheet-harm button[type=roll].sheet-broadcast-button{color:white;font-weight:400;font-size:11px;line-height:11px;right:2px;top:1px}.sheet-use-kirsty:checked~.sheet-container .sheet-specialheader,.sheet-use-kirsty:checked~.sheet-container .sheet-blackheader,.sheet-use-kirsty:checked~.sheet-container .sheet-greyheader,.sheet-use-kirsty:checked~.sheet-container .sheet-black-on-grey,.sheet-use-kirsty:checked~.sheet-container .sheet-playbook input[type="text"],.sheet-use-kirsty:checked~.sheet-container .sheet-plainheader,.sheet-use-kirsty:checked~.sheet-container .sheet-itemheader :first-child,.sheet-use-kirsty:checked~.sheet-container .sheet-loadheader :first-child,.sheet-use-kirsty:checked~.sheet-container .sheet-attribute-title button[type=roll].sheet-rollbutton,.sheet-use-kirsty:checked~.sheet-container .sheet-bonusdie>.sheet-label:first-child,.sheet-use-kirsty:checked~.sheet-container .sheet-cohort-title,.sheet-use-kirsty:checked~.sheet-container .sheet-claimbox .sheet-label,.sheet-use-kirsty:checked~.sheet-container .sheet-lairbox,.sheet-use-kirsty:checked~.sheet-container .sheet-crewheader,.sheet-use-kirsty:checked~.sheet-container .sheet-factiontitle input[type="text"],.sheet-use-kirsty:checked~.sheet-container .sheet-factions-header input[type="text"]{font-family:Kirsty,Georgia,serif}.sheet-use-kirsty:checked~.sheet-container .sheet-claimbox .sheet-label{font-size:10px;font-weight:400}.sheet-use-kirsty:checked~.sheet-container .sheet-specialheader,.sheet-use-kirsty:checked~.sheet-container .sheet-itemheader :first-child,.sheet-use-kirsty:checked~.sheet-container .sheet-loadheader :first-child{font-size:12px;font-weight:400}.sheet-use-kirsty:checked~.sheet-container .sheet-plainheader,.sheet-use-kirsty:checked~.sheet-container .sheet-cohort-title{font-size:13px;font-weight:400}.sheet-use-kirsty:checked~.sheet-container .sheet-factions-header input[type="text"],.sheet-use-kirsty:checked~.sheet-container .sheet-bonusdie>.sheet-label:first-child{font-size:14px;font-weight:400}.sheet-use-kirsty:checked~.sheet-container .sheet-attribute-title button[type=roll].sheet-rollbutton,.sheet-use-kirsty:checked~.sheet-container .sheet-lairbox{font-size:15px;font-weight:400}.sheet-use-kirsty:checked~.sheet-container .sheet-crewheader{font-size:29px;letter-spacing:0}.sheet-use-kirsty:checked~.sheet-container .sheet-factiontitle input[type="text"]{font-size:32px}.sheet-use-kirsty:checked~.sheet-container .sheet-playbook input[type="text"]{font-size:40px;letter-spacing:0}.sheet-use-kirsty:checked~.sheet-container .sheet-blackheader .sheet-label,.sheet-use-kirsty:checked~.sheet-container .sheet-blackheader button[type="roll"].sheet-label,.sheet-use-kirsty:checked~.sheet-container .sheet-greyheader .sheet-label,.sheet-use-kirsty:checked~.sheet-container .sheet-greyheader button[type="roll"].sheet-label,.sheet-use-kirsty:checked~.sheet-container .sheet-black-on-grey .sheet-label,.sheet-use-kirsty:checked~.sheet-container .sheet-black-on-grey button[type="roll"].sheet-label{font-size:12px;font-weight:400}.charsheet.lang-ko{font-family:"Malgun Gothic",Dotum,Georgia,"Bitstream Charter","Times New Roman",serif}.charsheet.lang-ko .sheet-kirsty-option{display:none}.charsheet.lang-ko .sheet-settings label.sheet-generatebutton{font-size:12px}.charsheet.lang-ko .sheet-settings>div{font-size:11px}.charsheet.lang-ko .sheet-header .sheet-title{font-size:13px}.charsheet.lang-ko .sheet-header .sheet-info{font-size:11px}.charsheet.lang-ko .sheet-header .sheet-smallcaps{font-size:1em}.charsheet.lang-ko .sheet-header .sheet-italic{font-style:normal}.charsheet.lang-ko .sheet-stress4{font-size:12px}.charsheet.lang-ko .sheet-harmrow .sheet-harmeffect{font-size:12px}.charsheet.lang-ko .sheet-healing-progress{font-size:11px}.charsheet.lang-ko .sheet-armor label{font-size:12px}.charsheet.lang-ko .sheet-coinrow .sheet-label,.charsheet.lang-ko .sheet-coinrow button[type="roll"].sheet-rollbutton{font-size:12px}.charsheet.lang-ko .sheet-specialheader{font-size:13px}.charsheet.lang-ko .sheet-abilityname{font-size:14px}.charsheet.lang-ko .sheet-abilitydesc{font-family:13px;line-height:16px;min-height:36px}.charsheet.lang-ko .sheet-plainheader{font-size:14px}.charsheet.lang-ko .sheet-teamworkbox{font-size:13px}.charsheet.lang-ko .sheet-gatherinfo li{font-size:12px}.charsheet.lang-ko .sheet-strictures{font-size:12px}.charsheet.lang-ko .sheet-playbook textarea{font-size:12px}.charsheet.lang-ko .sheet-loadheader .sheet-loadnumber{font-family:inherit}.charsheet.lang-ko .sheet-loadheader label{font-style:normal}.charsheet.lang-ko .sheet-itemheader,.charsheet.lang-ko .sheet-loadheader{font-size:12px;padding:1px 2px 0 4px;height:auto}.charsheet.lang-ko .sheet-numboxes-chooser{font-size:10px}.charsheet.lang-ko .sheet-item .sheet-itemname,.charsheet.lang-ko .sheet-item .sheet-label{font-size:12px}.charsheet.lang-ko .sheet-item .sheet-label.sheet-upgradecosts{font-size:9px}.charsheet.lang-ko .sheet-itemholder .sheet-expand~textarea{font-size:11px}.charsheet.lang-ko .sheet-bandoliers-name{font-size:13px}.charsheet.lang-ko .sheet-bandolier-desc{font-size:11px;font-style:normal}.charsheet.lang-ko .sheet-attribute-title button[type="roll"].sheet-rollbutton{font-size:15px}.charsheet.lang-ko .sheet-action button[type="roll"].sheet-rollbutton{font-size:15px}.charsheet.lang-ko button[type="roll"].sheet-borderbutton{font-size:15px}.charsheet.lang-ko .sheet-bonusdietext,.charsheet.lang-ko .sheet-bonusdie .sheet-label{font-size:13px}.charsheet.lang-ko .sheet-friend-contact .sheet-auto-expand{font-size:13px}.charsheet.lang-ko .sheet-clocks .sheet-auto-expand{font-size:12px}.charsheet.lang-ko .sheet-crewcoin-desc{font-style:normal}.charsheet.lang-ko .sheet-claimbox textarea.sheet-label{font-size:12px}.charsheet.lang-ko .sheet-claimbox textarea.sheet-claim-desc{overflow:hidden;height:54px;line-height:12px;font-size:11px}.charsheet.lang-ko .sheet-claimbox,.charsheet.lang-ko .sheet-lairbox{height:84px}.charsheet.lang-ko .sheet-cohort-title{font-size:12px}.charsheet.lang-ko .sheet-cohort-info{height:15px;font-size:11px}.charsheet.lang-ko .sheet-cohort-condition-name{font-size:12px}.charsheet.lang-ko .sheet-cohort-edgeflaw{font-size:11px}.charsheet.lang-ko .sheet-cohort-description{font-size:11px}.charsheet.lang-ko .sheet-factions-header span{font-size:9px}.charsheet.lang-ko .sheet-faction-name,.charsheet.lang-ko input[type=text].sheet-faction-name{width:60%}.charsheet.lang-ko .sheet-faction-tier,.charsheet.lang-ko input[type=text].sheet-faction-tier{width:12%}.charsheet.lang-ko .sheet-faction-hold,.charsheet.lang-ko input[type=text].sheet-faction-hold{width:13%}.sheet-rolltemplate-bitd .sheet-roll-holder{margin-left:-45px;margin-right:-1px;padding:0 30px;box-sizing:border-box;font-family:Georgia,"Bitstream Charter","Times New Roman",serif;width:299px;user-select:none;cursor:default;overflow:hidden;font-variant-numeric:lining-nums}.sheet-rolltemplate-bitd .sheet-roll-holder.sheet-roll-korean{font-family:"Malgun Gothic",Dotum,Georgia,"Bitstream Charter","Times New Roman",serif}.sheet-rolltemplate-bitd .sheet-roll-holder.sheet-roll-resist.sheet-roll-short,.sheet-rolltemplate-bitd .sheet-roll-holder.sheet-roll-vice.sheet-roll-short{height:171px}.sheet-rolltemplate-bitd .sheet-roll-holder.sheet-roll-action.sheet-roll-short{height:195px}.sheet-rolltemplate-bitd .sheet-roll-holder.sheet-roll-fortune.sheet-roll-short{min-height:199px}.sheet-rolltemplate-bitd .sheet-roll-action,.sheet-rolltemplate-bitd .sheet-roll-resist,.sheet-rolltemplate-bitd .sheet-roll-vice{height:258px}.sheet-rolltemplate-bitd .sheet-roll-fortune{background-image:url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Blades%20in%20the%20Dark/Assets/rolltemplate/rolltemplate-fortune.jpg);background-position:bottom right;background-repeat:no-repeat;background-color:white;height:auto;min-height:250px}.sheet-rolltemplate-bitd .sheet-roll-action{background-image:url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Blades%20in%20the%20Dark/Assets/rolltemplate/rolltemplate-action.gif)}.sheet-rolltemplate-bitd .sheet-roll-resist{background-image:url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Blades%20in%20the%20Dark/Assets/rolltemplate/rolltemplate-resist.jpg)}.sheet-rolltemplate-bitd .sheet-roll-vice{background-image:url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Blades%20in%20the%20Dark/Assets/rolltemplate/rolltemplate-vice.jpg)}.sheet-rolltemplate-bitd img{display:block;height:100%}.sheet-rolltemplate-bitd .sheet-roll-header{display:-webkit-box;margin:16px 0 0;font-size:15px;height:35px;line-height:17.5px;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-variant:small-caps;text-overflow:ellipsis}.sheet-rolltemplate-bitd .sheet-roll-resist .sheet-roll-header{color:#8da8bb}.sheet-rolltemplate-bitd .sheet-roll-vice .sheet-roll-header{color:white}.sheet-rolltemplate-bitd .sheet-roll-fortune .sheet-roll-header{color:#303032}.sheet-rolltemplate-bitd .sheet-roll-action .sheet-roll-header{color:#e74a10}.sheet-rolltemplate-bitd>.sheet-roll-action .sheet-roll-header,.sheet-rolltemplate-bitd>.sheet-roll-fortune .sheet-roll-header{letter-spacing:1px;font-weight:800}.sheet-rolltemplate-bitd .sheet-roll-holder.sheet-roll-fortune.sheet-roll-short .sheet-roll-header{margin-bottom:-51px}.sheet-rolltemplate-bitd .sheet-roll-title{color:white;text-transform:uppercase;font-weight:700}.sheet-rolltemplate-bitd .sheet-roll-action .sheet-roll-title,.sheet-rolltemplate-bitd .sheet-roll-fortune .sheet-roll-title{margin:22px 0 0;font-size:36px;line-height:31px;height:31px}.sheet-rolltemplate-bitd .sheet-roll-vice .sheet-roll-title,.sheet-rolltemplate-bitd .sheet-roll-resist .sheet-roll-title{margin:11px 0 0;font-size:24px;line-height:24px;height:24px}.sheet-rolltemplate-bitd .sheet-roll-fortune .sheet-roll-title{color:black}.sheet-rolltemplate-bitd .sheet-roll-small-title{font-size:28px}.sheet-rolltemplate-bitd .sheet-roll-position,.sheet-rolltemplate-bitd .sheet-roll-effect{display:inline-block;box-sizing:border-box;width:50%;color:white;text-transform:uppercase;font-size:12px;letter-spacing:1px;padding:20px 0 0}.sheet-rolltemplate-bitd .sheet-roll-effect{padding-left:14px}.sheet-rolltemplate-bitd .sheet-roll-dice{height:27px;font-size:19px;line-height:20px;color:white}.sheet-rolltemplate-bitd .sheet-roll-action .sheet-roll-dice{margin:47px 0 19px}.sheet-rolltemplate-bitd .sheet-roll-resist .sheet-roll-dice,.sheet-rolltemplate-bitd .sheet-roll-vice .sheet-roll-dice{margin:35px 0 23px}.sheet-rolltemplate-bitd .sheet-roll-fortune .sheet-roll-dice{margin:15px 0 10px;color:#303032}.sheet-rolltemplate-bitd .sheet-roll-action .sheet-zerodice1{text-shadow:0 0 6px #ff9e00;color:white}.sheet-rolltemplate-bitd .sheet-roll-fortune .sheet-zerodice1{text-shadow:0 0 6px #88dbd7;color:#1e1e1e}.sheet-rolltemplate-bitd .sheet-roll-vice .sheet-zerodice1,.sheet-rolltemplate-bitd .sheet-roll-resist .sheet-zerodice1{text-shadow:0 0 6px #09c7d0;color:white}.sheet-rolltemplate-bitd .sheet-zerodice2{line-height:1;font-size:12.5px;margin-top:7px;font-style:italic}.sheet-rolltemplate-bitd .sheet-roll-vice .sheet-zerodice2,.sheet-rolltemplate-bitd .sheet-roll-resist .sheet-zerodice2{text-shadow:0 0 6px #09c7d0;color:#d8e4ef}.sheet-rolltemplate-bitd .sheet-roll-action .sheet-zerodice2{text-shadow:0 0 6px #ff9e00;color:#ffd8ca}.sheet-rolltemplate-bitd .sheet-roll-fortune .sheet-zerodice2{width:60%;text-shadow:0 0 6px #88dbd7;color:#1e1e1e}.sheet-rolltemplate-bitd .inlinerollresult{border:none!important;background-color:transparent;font-weight:400;padding:0 3px 0 0}.sheet-rolltemplate-bitd .sheet-comma:last-child{display:none}.sheet-rolltemplate-bitd .sheet-roll-instructions{padding:15px 0 0;line-height:1.3}.sheet-rolltemplate-bitd .sheet-roll-resist .sheet-roll-instructions{color:#d3dde4;font-size:13px}.sheet-rolltemplate-bitd .sheet-roll-vice .sheet-roll-instructions{color:#c9c9c9;font-size:11px}.sheet-rolltemplate-bitd .sheet-roll-notes{width:56%;line-height:1.2;font-size:13px;padding:20px 0;color:fortunegrey}.sheet-rolltemplate-bitd-broadcast{margin:0 -1px 0 -45px;padding:16px 20px 15px;overflow:hidden;box-sizing:border-box;font-family:Georgia,"Bitstream Charter","Times New Roman",serif;width:299px;background-color:#180d06}.sheet-rolltemplate-bitd-broadcast .sheet-roll-korean{font-family:"Malgun Gothic",Dotum,Georgia,"Bitstream Charter","Times New Roman",serif}.sheet-rolltemplate-bitd-broadcast .sheet-roll-header{color:#e74a10;font-size:15px;line-height:19px;font-variant:small-caps;letter-spacing:1px;font-weight:800}.sheet-rolltemplate-bitd-broadcast .sheet-roll-flex{display:flex;align-items:center;margin:5px 0 0}.sheet-rolltemplate-bitd-broadcast .sheet-roll-flex .sheet-roll-title{margin:0;font-size:20px;line-height:1.2}.sheet-rolltemplate-bitd-broadcast .sheet-roll-title{margin:9px 0 0;color:white;text-transform:uppercase;font-weight:700;font-size:23px;line-height:29px}.sheet-rolltemplate-bitd-broadcast .sheet-roll-content{padding:15px 0 5px;line-height:1.3;font-size:13px;color:#ccc}.sheet-rolltemplate-bitd-broadcast img{margin:9px 0 0;display:block;height:31px}.sheet-rolltemplate-bitd-broadcast .sheet-roll-harm{color:white;width:100%;margin:15px 0 0;border:1px solid white}.sheet-rolltemplate-bitd-broadcast .sheet-roll-harm td{text-align:center;padding:5px;border:1px solid white}.sheet-rolltemplate-bitd-broadcast .sheet-roll-harm td:first-child{width:10px}.sheet-rolltemplate-bitd-broadcast .sheet-roll-harm td:nth-child(2n+1){font-weight:700}.sheet-rolltemplate-bitd-broadcast .sheet-roll-harm td:nth-child(2){padding:5px 0}.sheet-rolltemplate-bitd-broadcast .sheet-roll-harm td:last-child{width:60px;letter-spacing:.5px;text-transform:uppercase}.sheet-rolltemplate-bitd-broadcast .sheet-roll-harm-inner{color:#e74a10;padding:0 5px}.sheet-rolltemplate-bitd-broadcast .sheet-roll-harm-inner:first-child:not(:last-child){padding-bottom:2.5px;border-bottom:1px solid white}.sheet-rolltemplate-bitd-broadcast .sheet-roll-harm-inner:last-child:not(:first-child){padding-top:2.5px}.sheet-rolltemplate-bitd-broadcast .sheet-roll-clock{width:88px;flex:0 0 auto;box-sizing:border-box;position:relative;background:white;height:88px;border:4px solid black;border-radius:50%;margin-right:4px}.sheet-rolltemplate-bitd-broadcast .sheet-roll-spoke{height:88px;width:4px;position:absolute;background:black}.sheet-rolltemplate-bitd-broadcast .sheet-roll-spoke:not(.sheet-roll-spoke-0){display:none}.sheet-rolltemplate-bitd-broadcast .sheet-roll-size-4 .sheet-roll-spoke-90,.sheet-rolltemplate-bitd-broadcast .sheet-roll-size-6 .sheet-roll-spoke-60,.sheet-rolltemplate-bitd-broadcast .sheet-roll-size-6 .sheet-roll-spoke-120,.sheet-rolltemplate-bitd-broadcast .sheet-roll-size-8 .sheet-roll-spoke-45,.sheet-rolltemplate-bitd-broadcast .sheet-roll-size-8 .sheet-roll-spoke-90,.sheet-rolltemplate-bitd-broadcast .sheet-roll-size-8 .sheet-roll-spoke-135,.sheet-rolltemplate-bitd-broadcast .sheet-roll-size-10 .sheet-roll-spoke-36,.sheet-rolltemplate-bitd-broadcast .sheet-roll-size-10 .sheet-roll-spoke-72,.sheet-rolltemplate-bitd-broadcast .sheet-roll-size-10 .sheet-roll-spoke-108,.sheet-rolltemplate-bitd-broadcast .sheet-roll-size-10 .sheet-roll-spoke-144,.sheet-rolltemplate-bitd-broadcast .sheet-roll-size-12 .sheet-roll-spoke-30,.sheet-rolltemplate-bitd-broadcast .sheet-roll-size-12 .sheet-roll-spoke-60,.sheet-rolltemplate-bitd-broadcast .sheet-roll-size-12 .sheet-roll-spoke-90,.sheet-rolltemplate-bitd-broadcast .sheet-roll-size-12 .sheet-roll-spoke-120,.sheet-rolltemplate-bitd-broadcast .sheet-roll-size-12 .sheet-roll-spoke-150{display:block}.sheet-rolltemplate-bitd-broadcast .sheet-roll-spoke-0{transform:translate(39px,-4px)}.sheet-rolltemplate-bitd-broadcast .sheet-roll-spoke-30{transform:translate(39px,-4px) rotate(30deg)}.sheet-rolltemplate-bitd-broadcast .sheet-roll-spoke-36{transform:translate(39px,-4px) rotate(36deg)}.sheet-rolltemplate-bitd-broadcast .sheet-roll-spoke-45{transform:translate(39px,-4px) rotate(45deg)}.sheet-rolltemplate-bitd-broadcast .sheet-roll-spoke-60{transform:translate(39px,-4px) rotate(60deg)}.sheet-rolltemplate-bitd-broadcast .sheet-roll-spoke-72{transform:translate(39px,-4px) rotate(72deg)}.sheet-rolltemplate-bitd-broadcast .sheet-roll-spoke-90{transform:translate(39px,-4px) rotate(90deg)}.sheet-rolltemplate-bitd-broadcast .sheet-roll-spoke-108{transform:translate(39px,-4px) rotate(108deg)}.sheet-rolltemplate-bitd-broadcast .sheet-roll-spoke-120{transform:translate(39px,-4px) rotate(120deg)}.sheet-rolltemplate-bitd-broadcast .sheet-roll-spoke-135{transform:translate(39px,-4px) rotate(135deg)}.sheet-rolltemplate-bitd-broadcast .sheet-roll-spoke-144{transform:translate(39px,-4px) rotate(144deg)}.sheet-rolltemplate-bitd-broadcast .sheet-roll-spoke-150{transform:translate(39px,-4px) rotate(150deg)}.sheet-rolltemplate-bitd-broadcast .sheet-roll-size-4.sheet-roll-progress-1,.sheet-rolltemplate-bitd-broadcast .sheet-roll-size-8.sheet-roll-progress-2,.sheet-rolltemplate-bitd-broadcast .sheet-roll-size-12.sheet-roll-progress-3{background-image:linear-gradient(180deg,transparent 50%,white 50%),linear-gradient(90deg,white 50%,red 50%)}.sheet-rolltemplate-bitd-broadcast .sheet-roll-size-4.sheet-roll-progress-2,.sheet-rolltemplate-bitd-broadcast .sheet-roll-size-6.sheet-roll-progress-3,.sheet-rolltemplate-bitd-broadcast .sheet-roll-size-8.sheet-roll-progress-4,.sheet-rolltemplate-bitd-broadcast .sheet-roll-size-10.sheet-roll-progress-5,.sheet-rolltemplate-bitd-broadcast .sheet-roll-size-12.sheet-roll-progress-6{background-image:linear-gradient(90deg,white 50%,red 50%)}.sheet-rolltemplate-bitd-broadcast .sheet-roll-size-4.sheet-roll-progress-3,.sheet-rolltemplate-bitd-broadcast .sheet-roll-size-8.sheet-roll-progress-6,.sheet-rolltemplate-bitd-broadcast .sheet-roll-size-12.sheet-roll-progress-9{background-image:linear-gradient(180deg,transparent 50%,red 50%),linear-gradient(90deg,white 50%,red 50%)}.sheet-rolltemplate-bitd-broadcast .sheet-roll-size-4.sheet-roll-progress-4,.sheet-rolltemplate-bitd-broadcast .sheet-roll-size-6.sheet-roll-progress-6,.sheet-rolltemplate-bitd-broadcast .sheet-roll-size-8.sheet-roll-progress-8,.sheet-rolltemplate-bitd-broadcast .sheet-roll-size-10.sheet-roll-progress-10,.sheet-rolltemplate-bitd-broadcast .sheet-roll-size-12.sheet-roll-progress-12{background:red}.sheet-rolltemplate-bitd-broadcast .sheet-roll-size-6.sheet-roll-progress-1,.sheet-rolltemplate-bitd-broadcast .sheet-roll-size-12.sheet-roll-progress-2{background-image:linear-gradient(90deg,white 50%,transparent 50%),linear-gradient(150deg,red 50%,white 50%)}.sheet-rolltemplate-bitd-broadcast .sheet-roll-size-6.sheet-roll-progress-2,.sheet-rolltemplate-bitd-broadcast .sheet-roll-size-12.sheet-roll-progress-4{background-image:linear-gradient(90deg,white 50%,transparent 50%),linear-gradient(210deg,red 50%,white 50%)}.sheet-rolltemplate-bitd-broadcast .sheet-roll-size-6.sheet-roll-progress-4,.sheet-rolltemplate-bitd-broadcast .sheet-roll-size-12.sheet-roll-progress-8{background-image:linear-gradient(150deg,transparent 50%,red 50%),linear-gradient(90deg,white 50%,red 50%)}.sheet-rolltemplate-bitd-broadcast .sheet-roll-size-6.sheet-roll-progress-5,.sheet-rolltemplate-bitd-broadcast .sheet-roll-size-12.sheet-roll-progress-10{background-image:linear-gradient(210deg,transparent 50%,red 50%),linear-gradient(90deg,white 50%,red 50%)}.sheet-rolltemplate-bitd-broadcast .sheet-roll-size-8.sheet-roll-progress-1{background-image:linear-gradient(90deg,white 50%,transparent 50%),linear-gradient(135deg,red 50%,white 50%)}.sheet-rolltemplate-bitd-broadcast .sheet-roll-size-8.sheet-roll-progress-3{background-image:linear-gradient(90deg,white 50%,transparent 50%),linear-gradient(225deg,red 50%,white 50%)}.sheet-rolltemplate-bitd-broadcast .sheet-roll-size-8.sheet-roll-progress-5{background-image:linear-gradient(135deg,transparent 50%,red 50%),linear-gradient(90deg,white 50%,red 50%)}.sheet-rolltemplate-bitd-broadcast .sheet-roll-size-8.sheet-roll-progress-7{background-image:linear-gradient(225deg,transparent 50%,red 50%),linear-gradient(90deg,white 50%,red 50%)}.sheet-rolltemplate-bitd-broadcast .sheet-roll-size-10.sheet-roll-progress-1{background-image:linear-gradient(90deg,white 50%,transparent 50%),linear-gradient(126deg,red 50%,white 50%)}.sheet-rolltemplate-bitd-broadcast .sheet-roll-size-10.sheet-roll-progress-2{background-image:linear-gradient(90deg,white 50%,transparent 50%),linear-gradient(162deg,red 50%,white 50%)}.sheet-rolltemplate-bitd-broadcast .sheet-roll-size-10.sheet-roll-progress-3{background-image:linear-gradient(90deg,white 50%,transparent 50%),linear-gradient(198deg,red 50%,white 50%)}.sheet-rolltemplate-bitd-broadcast .sheet-roll-size-10.sheet-roll-progress-4{background-image:linear-gradient(90deg,white 50%,transparent 50%),linear-gradient(234deg,red 50%,white 50%)}.sheet-rolltemplate-bitd-broadcast .sheet-roll-size-10.sheet-roll-progress-6{background-image:linear-gradient(126deg,transparent 50%,red 50%),linear-gradient(90deg,white 50%,red 50%)}.sheet-rolltemplate-bitd-broadcast .sheet-roll-size-10.sheet-roll-progress-7{background-image:linear-gradient(162deg,transparent 50%,red 50%),linear-gradient(90deg,white 50%,red 50%)}.sheet-rolltemplate-bitd-broadcast .sheet-roll-size-10.sheet-roll-progress-8{background-image:linear-gradient(198deg,transparent 50%,red 50%),linear-gradient(90deg,white 50%,red 50%)}.sheet-rolltemplate-bitd-broadcast .sheet-roll-size-10.sheet-roll-progress-9{background-image:linear-gradient(234deg,transparent 50%,red 50%),linear-gradient(90deg,white 50%,red 50%)}.sheet-rolltemplate-bitd-broadcast .sheet-roll-size-12.sheet-roll-progress-1{background-image:linear-gradient(90deg,white 50%,transparent 50%),linear-gradient(120deg,red 50%,white 50%)}.sheet-rolltemplate-bitd-broadcast .sheet-roll-size-12.sheet-roll-progress-5{background-image:linear-gradient(90deg,white 50%,transparent 50%),linear-gradient(240deg,red 50%,white 50%)}.sheet-rolltemplate-bitd-broadcast .sheet-roll-size-12.sheet-roll-progress-7{background-image:linear-gradient(120deg,transparent 50%,red 50%),linear-gradient(90deg,white 50%,red 50%)}.sheet-rolltemplate-bitd-broadcast .sheet-roll-size-12.sheet-roll-progress-11{background-image:linear-gradient(240deg,transparent 50%,red 50%),linear-gradient(90deg,white 50%,red 50%)} +.charsheet{padding:0 !important}.charsheet{padding:0 !important}.charsheet div,.charsheet span,.charsheet textarea,.charsheet ul,.charsheet li,.charsheet span,.charsheet label{box-sizing:border-box}.charsheet button[type=roll]{text-shadow:none;background:transparent;box-shadow:none;font-weight:bold;font-family:inherit;outline:none;border-radius:0;transition:all 0.2s}.charsheet button[type=roll].btn::before{content:""}.charsheet label{margin:0;padding:0;display:flex;width:auto;color:#333;font:inherit}.charsheet label input[type=checkbox],.charsheet label input[type=radio]{position:absolute}.charsheet label:hover input[type=checkbox]+span,.charsheet label:hover input[type=radio]+span{opacity:0.7}.charsheet input[type=text],.charsheet textarea{border:none;font-family:inherit;background:transparent;box-shadow:none;width:100%;padding:0;margin:0;color:#333;border-radius:0;transition:all 0.2s, height 0.4s}.charsheet textarea{resize:vertical;display:block}.charsheet textarea:active,.charsheet textarea:focus{transition:height 0s}.charsheet input[type=number]{border-color:#c7c7c7;color:#333;box-shadow:none}.charsheet input[type=checkbox],.charsheet input[type=radio]{opacity:0;z-index:1;-moz-appearance:none;position:relative}.charsheet input[type=checkbox]+span,.charsheet input[type=radio]+span{cursor:pointer;display:inline-block;transition:all 0.2s, opacity 0s}.charsheet ul{list-style:none;margin:0}.charsheet li{position:relative}.charsheet li::before{transform:rotate(45deg) scale(0.9);font-family:Georgia, serif;content:'■';left:0;top:-.1em;position:absolute}.charsheet button[type=roll].sheet-inherit,.charsheet input[type=text].sheet-inherit{font:inherit;color:inherit;text-transform:inherit;letter-spacing:inherit}.charsheet .sheet-space-after::after{content:' '}.sheet-focus-shadow[value="1"] ~ .sheet-container textarea:focus,.sheet-focus-shadow[value="1"] ~ .sheet-container input[type=text]:focus,.sheet-focus-shadow[value="1"] ~ .sheet-container input[type=number]:focus{box-shadow:inset 0 0 1px 1px rgba(66,66,66,0.3),0 0 2px 1px rgba(66,66,66,0.3)}.sheet-hidden{display:none !important}.sheet-preload{opacity:0;position:absolute}.sheet-preload img{width:1px;height:1px}.sheet-topholder{line-height:22px;margin:0 0 7px calc(55% + 5px)}.sheet-topholder .sheet-version{color:#aaa;font-size:13px;font-family:"Times New Roman", Times, serif}.sheet-topholder .sheet-version-text::after{content:" "}.sheet-topholder .sheet-settings-checkbox{margin-right:10px;width:20px;height:20px;font-size:16px;font-family:pictos}.sheet-topholder .sheet-settings-checkbox input+span{opacity:0.3}.sheet-topholder .sheet-settings-checkbox input:checked+span{opacity:1}.sheet-type-selector{display:flex;margin-right:auto;background:#c7c7c7;border:1px solid #aaa;letter-spacing:1px;line-height:20px;justify-content:center;width:170px;font-size:11px;color:#555}.sheet-type-selector input{position:absolute;width:170px;height:20px}.sheet-type-selector:hover{color:red}.sheet-type-selector .sheet-3waybox:not(:checked)+.sheet-3waybox,.sheet-type-selector input[value="character"]:not(:checked) ~ span[data-i18n="character_mode"],.sheet-type-selector input[value="crew"]:not(:checked) ~ span[data-i18n="crew_mode"],.sheet-type-selector input[value="faction"][type=radio]:not(:checked) ~ span[data-i18n="faction_mode"]{display:none}.sheet-type[value="character"] ~ .sheet-settings>:not(.sheet-setting-char),.sheet-type[value="crew"] ~ .sheet-settings>:not(.sheet-setting-crew),.sheet-type[value="faction"] ~ .sheet-settings>:not(.sheet-setting-faction){display:none}.sheet-settings{position:absolute;right:0;width:415px;border:1px solid black;background:white;z-index:100;padding:5px;border-radius:5px}.sheet-settings>div{min-width:50%;display:flex;flex-grow:1;align-items:center;padding:2px;font-size:10px;min-height:24px;line-height:17px;border-bottom:1px solid #d8d8d8}.sheet-settings>div.sheet-generaterow{line-height:0}.sheet-settings label{align-items:center}.sheet-settings .sheet-checkbox+span{margin-right:6px}.sheet-settings .sheet-checkbox:checked+span{background:black}.sheet-settings :not(input)+span{padding-right:4px}.sheet-settings input[type=number]{padding:0 2px;margin:0 3px 0 8px;width:30px;font-size:12px}.sheet-settings input[type=text]{width:45px;font-size:10px;margin-right:3px;padding-left:1px;line-height:16px;border-radius:3px;border:1px solid #d8d8d8}.sheet-settings select{width:80px;margin:0 7px 0 0;padding:0;height:18px}.sheet-toothhider[value="0"] ~ .sheet-tooth,.sheet-toothhider[value="0"] ~ .sheet-tooth+span{display:none}.sheet-hider[value="0"]+li,.sheet-hider[value="0"]+div,.sheet-hider[value="0"]+label{display:none}.sheet-container{position:relative;top:-11px;cursor:default;color:#333;font-size:0;font-family:Georgia, "Bitstream Charter", "Times New Roman", serif}.sheet-flexwidth[value="0"] ~ .sheet-container{width:860px}.sheet-flexwidth[value="1"] ~ .sheet-container{min-width:860px;max-width:1190px}.sheet-type:not([value="character"]) ~ .sheet-type-character,.sheet-type:not([value="crew"]) ~ .sheet-type-crew,.sheet-type:not([value="faction"]) ~ .sheet-type-faction{display:none}.sheet-blackheader{background:black;color:white}.sheet-blackheader.sheet-rep1,.sheet-blackheader.sheet-hold1{padding-top:3px;line-height:13px}.sheet-blackheader.sheet-hold1{padding-left:2px}.sheet-blackheader,.sheet-black-on-grey,.sheet-greyheader{font-size:11px;letter-spacing:1px}.sheet-blackheader,.sheet-greyheader{height:16px;line-height:15px;padding:1px 2px 0 4px}.sheet-black-on-grey,.sheet-greyheader{background:#b4b4b4}.sheet-black-on-grey{text-align:center;position:relative;flex-grow:1;padding-left:1px;height:13px;line-height:13px;z-index:-1}.sheet-plainheader{width:100%;border-top:2px solid black;font-size:12px;line-height:22px}.sheet-specialheader{background:#b4b4b4;height:20px;font-size:11px;line-height:20px;letter-spacing:1px;padding:0 5px}.sheet-specialheader input[type=text]{margin:0 -5px;padding:0 5px;width:calc(100% + 10px)}.sheet-italic{font-style:italic}.sheet-bold{font-weight:bold}.sheet-greyholder{background:#d8d8d8}.sheet-def-margin{margin-top:10px}.sheet-small-margin{margin-top:5px}.sheet-blackborder{border-top:3px solid black}.sheet-tier{background:#d8d8d8;height:16px;width:56px;align-items:center}.sheet-tier input[value="1"]{margin-left:auto}.sheet-tier .sheet-checkbox+span{margin-right:auto}.sheet-flex{display:flex}.sheet-flex-wrap{display:flex;flex-wrap:wrap;align-content:flex-start;align-items:flex-start}.sheet-flex-center{text-align:center;display:flex;justify-content:center;align-items:center}.sheet-right-column{padding-left:5px}.sheet-col47{width:47%}.sheet-col53{width:53%}.sheet-col37{width:37%}.sheet-col24b{width:24.25%}.sheet-col50{width:50%}.sheet-col52b{width:52%}.sheet-col55{width:55%}.sheet-col45{width:45%}.sheet-col63{width:63%}.sheet-col100{width:100%}.sheet-label,input[type=text].sheet-label,textarea.sheet-label,button[type=roll].sheet-label{text-transform:uppercase;font-weight:bold}.sheet-uppercase{text-transform:uppercase}.sheet-smallcaps,input[type=text].sheet-smallcaps,textarea.sheet-smallcaps{font-variant:small-caps;font-weight:bold}.sheet-gatherinfo ul{padding:0}.sheet-gatherinfo li{margin-bottom:1px;font-style:italic;padding-left:11px;font-size:11px;height:17px}.sheet-teamworkbox{width:95%;padding:5px;margin-bottom:5px;background:#d8d8d8;font-size:12px;line-height:15px}.sheet-planning .sheet-teamworkbox .sheet-bold::after{content:": "}.sheet-planningdesc{font-size:12px;line-height:15px;text-align:justify;margin:0 5% 5px 0}.sheet-itemcolumn{max-width:249px}.sheet-itemholder>div{padding:5px}.sheet-item-container{flex-grow:1}.sheet-playbookitems{background:#d8d8d8}.sheet-playbookitems .repcontrol,.sheet-regularitems .repcontrol{height:29px}.sheet-regularitems .repcontainer{display:flex;flex-wrap:wrap;align-content:flex-start}.sheet-regularitems .repitem{display:flex;flex-grow:1}.sheet-regularitems .sheet-input-short[value="1"]+.sheet-input-expand[value="0"] ~ .sheet-item-container{width:96px}.sheet-regularitems .sheet-col50,.sheet-regularitems .sheet-col100{position:relative}.sheet-item{display:flex;align-items:start}.sheet-item .sheet-itemname{height:18px;font-size:11px;margin:0 1px 0 2px;padding-left:2px;flex:auto;min-width:0}.sheet-item .sheet-itemname.sheet-auto-expand{min-height:16px;height:auto;line-height:16px;margin:1px 0;padding:0 7px 0 2px}.sheet-item .sheet-checkbox,.sheet-item .sheet-checkbox+span{margin-top:3px}.sheet-item .sheet-input-bold[value="1"] ~ .sheet-itemname{font-weight:bold}.sheet-item .sheet-numboxes[value="0"] ~ .sheet-itemname{font-style:italic}.sheet-item .sheet-label{font-size:11px;vertical-align:top;letter-spacing:1px}.sheet-item .sheet-label.sheet-upgradecosts{font-size:8px}.sheet-item .sheet-upgradecosts{font-size:11px;padding-left:3px}.sheet-item .sheet-upgradecaption{margin-top:3px}.sheet-floatingbar{width:3px;height:2px;margin:8px 0 0 -3px;flex:0 0 auto;background:#8c8c8c}.sheet-numboxes[value="0"] ~ .sheet-boxesgeq2,.sheet-numboxes[value="1"] ~ .sheet-boxesgeq2,.sheet-numboxes[value="2"] ~ .sheet-boxesgeq3{display:none}.sheet-itemholder .repitem .sheet-boxes-chosen[value="1"]+div,.sheet-itemholder .repitem .sheet-boxes-chosen[value="0"]+div ~ div{display:none}.sheet-numboxes-chooser{padding:1px 0;font-size:11px}.sheet-numboxes-chooser input[type=number]{margin-left:auto;height:18px;padding:0;text-align:right;width:2.5em;background:transparent}.sheet-numboxes-chooser label{height:18px;border:1px solid #aaa;margin-left:auto;padding:2px;line-height:12px}.sheet-numboxes-chooser input:checked+span{font-weight:bold}.sheet-show-itemdesc[value="0"] ~ div .sheet-item-description{display:none}.sheet-itemholder .sheet-expand{top:4px;right:1px}.sheet-itemholder .sheet-expand+span{top:1px;right:1px}.sheet-itemholder .sheet-expand+span::before{content:"◀"}.sheet-itemholder .sheet-expand:checked+span::before{content:"▼"}.sheet-itemholder .sheet-expand ~ textarea{border-top:1px solid #d8d8d8;line-height:12px;font-size:10px;height:49px}.sheet-itemholder .sheet-playbookitems .sheet-expand ~ textarea{border-color:#aaa}.sheet-bladeslogo{border-right:12px solid transparent;height:43px;background-image:url("https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Blades%20in%20the%20Dark/Assets/logo.png");background-size:102% auto;background-repeat:no-repeat}.sheet-crewheader{color:gray;font-size:28px;align-self:flex-start;letter-spacing:-2px;line-height:31px}.sheet-itemheader,.sheet-loadheader{background:#b4b4b4;height:20px;font-size:10px;padding:3px 2px 1px 4px;align-items:center}.sheet-loadheader label{align-items:center;line-height:11px;font-style:italic;margin-left:auto;text-transform:lowercase}.sheet-loadnumber{font-weight:bold;font-family:"Times New Roman", Times, serif;font-size:12px;margin:0 3px 0 4px}.sheet-itemheader>.sheet-label{margin-right:4px}.sheet-itemheader:not(:hover) .sheet-text-button{display:none}.sheet-itemheader .sheet-text-button{margin-left:auto}.sheet-itemheader .sheet-text-button input[type=checkbox]+span{opacity:1;color:#333}.sheet-itemheader .sheet-text-button:hover input[type=checkbox]+span{color:red}.sheet-advancement-header{letter-spacing:2px}.sheet-markxp{margin-right:auto}.sheet-xpholder{letter-spacing:0;font-size:0;margin-left:8px}.sheet-advancement-desc li,.sheet-warblurb li{font-size:13px;line-height:16px;width:100%}.sheet-advancement-desc li.sheet-nondot,.sheet-warblurb li.sheet-nondot{padding-left:0;font-style:normal}.sheet-advancement-desc li.sheet-nondot::before,.sheet-warblurb li.sheet-nondot::before{display:none}.sheet-advancement-desc{width:99%;background:#d8d8d8;padding:15px 10px 4px 11px}.sheet-advancement-desc li{font-style:italic;margin-bottom:1em;padding-left:1em}.sheet-advancement-desc .sheet-auto-expand{min-height:16px;padding:0 2px}.sheet-playbook{align-items:center;height:50px;position:relative;background:#d8d8d8}.sheet-playbook input[type=text]{flex:0 0 auto;margin:0 2px;padding-left:5px;letter-spacing:-1px;font-size:35px;line-height:40px}.sheet-playbook textarea{height:42px;flex:0 0 auto;font-size:10px;padding-left:3px;letter-spacing:1px;color:gray;resize:none;overflow:hidden;line-height:14px}.sheet-playbook .sheet-reminder{position:absolute;border:1px solid #333;background:white;top:48px;z-index:3;border-radius:5px;width:267px;font-size:12px;text-align:center;padding:3px}.sheet-type-character .sheet-playbook input[type=text]{width:calc(64% - 10px)}.sheet-type-character .sheet-playbook textarea{width:calc(36% + 6px)}.sheet-type-crew .sheet-playbook input[type=text]{width:calc(74% - 7px)}.sheet-type-crew .sheet-playbook textarea{width:calc(26% + 3px)}.sheet-header{flex-wrap:wrap;align-items:flex-end}.sheet-header label{flex-wrap:wrap}.sheet-header input[type=text],.sheet-header .sheet-auto-expand{width:100%;border-bottom:1px solid black;font-size:14px;line-height:1.3;text-align:left;padding:3px 0 0 2px;margin:3px 0 0;min-height:22px;color:#c43c35}.sheet-header input[type="hidden"][value=""]+div>.sheet-title::after{content:": "}.sheet-header input[type="hidden"]:not([value=""])+div>.sheet-info{display:none}.sheet-header .sheet-col55:not(:first-child){padding-right:2.5%}.sheet-header .sheet-text{color:black;text-align:justify;padding:3px 0 2px;line-height:13px}.sheet-header .sheet-title{font-size:10px;letter-spacing:1px}.sheet-header .sheet-info{font-size:8px}.sheet-header .sheet-vice-input:not([value="normal"]) ~ .sheet-normal,.sheet-header .sheet-vice-input:not([value="ghost"]) ~ .sheet-ghost,.sheet-header .sheet-vice-input:not([value="hull"]) ~ .sheet-hull,.sheet-header .sheet-vice-input:not([value="vampire"]) ~ .sheet-vampire{display:none}.sheet-header .sheet-vice{justify-content:space-between;text-align:justify;line-height:1.6;font-size:11px}.sheet-header .sheet-vice .sheet-smallcaps{font-size:130%;line-height:0}.sheet-clocks .repcontainer{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between}.sheet-clocks .repitem{display:flex;padding:4px 2px;width:49.5%;margin:4px 0 0;background:#d8d8d8;align-items:start}.sheet-clocks .itemcontrol{top:0;left:0}.sheet-clocks .sheet-auto-expand{font-size:11px;letter-spacing:1px;padding:2px 3px;line-height:12px;flex:auto;min-width:0;margin-right:2px;min-height:28px}.sheet-clock-container{position:relative;padding:2px;margin:0 0 5px;z-index:1;height:44px;width:44px;cursor:pointer;flex:0 0 auto}.sheet-clock-container input{position:absolute;display:none}.sheet-clock-container .sheet-zero{z-index:3}.sheet-clock-container .sheet-zero,.sheet-clock-container .sheet-zero+span{position:absolute;top:37px;left:-5px}.sheet-clock-container .sheet-all,.sheet-clock-container .sheet-zero{display:block}.sheet-clock{border:2px solid black;border-radius:50%;background:white;width:100%;height:100%;position:absolute;left:0;top:0;z-index:-1}div[class^="sheet-spoke"]{height:44px;width:2px;position:absolute;display:none;left:0;top:0;background:black}.sheet-spoke-0{transform:translateX(21px)}.sheet-spoke-30{transform:translateX(21px) rotate(30deg)}.sheet-spoke-36{transform:translateX(21px) rotate(36deg)}.sheet-spoke-45{transform:translateX(21px) rotate(45deg)}.sheet-spoke-60{transform:translateX(21px) rotate(60deg)}.sheet-spoke-72{transform:translateX(21px) rotate(72deg)}.sheet-spoke-90{transform:translateX(21px) rotate(90deg)}.sheet-spoke-108{transform:translateX(21px) rotate(108deg)}.sheet-spoke-120{transform:translateX(21px) rotate(120deg)}.sheet-spoke-135{transform:translateX(21px) rotate(135deg)}.sheet-spoke-144{transform:translateX(21px) rotate(144deg)}.sheet-spoke-150{transform:translateX(21px) rotate(150deg)}.sheet-size-choice{display:flex;flex:0 0 auto;height:45px;margin:2px 0;width:44px;line-height:12px;font-size:13px;font-family:"Times New Roman", Times, serif;align-content:space-evenly;flex-wrap:wrap}.sheet-type-faction .sheet-clocks .repcontainer{justify-content:flex-start}.sheet-type-faction .sheet-clocks .repitem{margin:4px .8% 0 0;width:32.8%}.sheet-input-clocks-only[value="0"] ~ .sheet-clocks .repitem:nth-of-type(3n),.sheet-input-clocks-only[value="1"] ~ .sheet-clocks .repitem:nth-of-type(4n){margin-right:0}.sheet-input-clocks-only[value="1"] ~ .sheet-clocks{width:100%}.sheet-input-clocks-only[value="1"] ~ .sheet-clocks .repitem{margin:4px .4% 0 0;width:24.7%}.sheet-input-clocks-only[value="1"] ~ .sheet-factiontitle,.sheet-input-clocks-only[value="1"] ~ .sheet-factions,.sheet-input-clocks-only[value="1"] ~ .sheet-right-column{display:none}.sheet-size[value="4"] ~ .sheet-clock-container input:not(.sheet-zero){height:20px;width:20px}.sheet-size[value="4"] ~ .sheet-clock-container input[value="1"]{margin-left:20px}.sheet-size[value="4"] ~ .sheet-clock-container input[value="2"]{margin:20px 0 0 20px}.sheet-size[value="4"] ~ .sheet-clock-container input[value="3"]{margin-top:20px}.sheet-size[value="6"] ~ .sheet-clock-container input:not(.sheet-zero){height:17px;width:12px}.sheet-size[value="6"] ~ .sheet-clock-container input[value="1"]{margin-left:21px;transform:rotate(30deg)}.sheet-size[value="6"] ~ .sheet-clock-container input[value="2"]{margin:12px 0 0 25px;transform:rotate(90deg)}.sheet-size[value="6"] ~ .sheet-clock-container input[value="3"]{margin:22px 0 0 21px;transform:rotate(150deg)}.sheet-size[value="6"] ~ .sheet-clock-container input[value="4"]{margin:22px 0 0 8px;transform:rotate(210deg)}.sheet-size[value="6"] ~ .sheet-clock-container input[value="5"]{margin:12px 0 0 1px;transform:rotate(270deg)}.sheet-size[value="6"] ~ .sheet-clock-container input[value="6"]{margin-left:8px;transform:rotate(330deg)}.sheet-size[value="8"] ~ .sheet-clock-container input:not(.sheet-zero){height:14px;width:10px}.sheet-size[value="8"] ~ .sheet-clock-container input[value="1"]{margin-left:20px;transform:rotate(22.5deg)}.sheet-size[value="8"] ~ .sheet-clock-container input[value="2"]{margin:8px 0 0 26px;transform:rotate(67.5deg)}.sheet-size[value="8"] ~ .sheet-clock-container input[value="3"]{margin:18px 0 0 26px;transform:rotate(112.5deg)}.sheet-size[value="8"] ~ .sheet-clock-container input[value="4"]{margin:25px 0 0 20px;transform:rotate(157.5deg)}.sheet-size[value="8"] ~ .sheet-clock-container input[value="5"]{margin:25px 0 0 9px;transform:rotate(202.5deg)}.sheet-size[value="8"] ~ .sheet-clock-container input[value="6"]{margin:18px 0 0 2px;transform:rotate(247.5deg)}.sheet-size[value="8"] ~ .sheet-clock-container input[value="7"]{margin:8px 0 0 2px;transform:rotate(292.5deg)}.sheet-size[value="8"] ~ .sheet-clock-container input[value="8"]{margin-left:9px;transform:rotate(337.5deg)}.sheet-size[value="10"] ~ .sheet-clock-container input:not(.sheet-zero){height:14px;width:9px}.sheet-size[value="10"] ~ .sheet-clock-container input[value="1"]{transform:rotate(18deg);margin-left:20px}.sheet-size[value="10"] ~ .sheet-clock-container input[value="2"]{transform:rotate(54deg);margin:5px 0 0 27px}.sheet-size[value="10"] ~ .sheet-clock-container input[value="3"]{transform:rotate(90deg);margin:13px 0 0 30px}.sheet-size[value="10"] ~ .sheet-clock-container input[value="4"]{transform:rotate(126deg);margin:21px 0 0 27px}.sheet-size[value="10"] ~ .sheet-clock-container input[value="5"]{transform:rotate(162deg);margin:26px 0 0 20px}.sheet-size[value="10"] ~ .sheet-clock-container input[value="6"]{transform:rotate(198deg);margin:26px 0 0 12px}.sheet-size[value="10"] ~ .sheet-clock-container input[value="7"]{transform:rotate(234deg);margin:21px 0 0 5px}.sheet-size[value="10"] ~ .sheet-clock-container input[value="8"]{transform:rotate(270deg);margin:13px 0 0 1px}.sheet-size[value="10"] ~ .sheet-clock-container input[value="9"]{transform:rotate(306deg);margin:5px 0 0 5px}.sheet-size[value="10"] ~ .sheet-clock-container input[value="10"]{transform:rotate(342deg);margin-left:12px}.sheet-size[value="12"] ~ .sheet-clock-container input:not(.sheet-zero){height:12px;width:8px}.sheet-size[value="12"] ~ .sheet-clock-container input[value="1"]{margin-left:20px;transform:rotate(15deg)}.sheet-size[value="12"] ~ .sheet-clock-container input[value="2"]{margin:4px 0 0 26px;transform:rotate(45deg)}.sheet-size[value="12"] ~ .sheet-clock-container input[value="3"]{margin:10px 0 0 29px;transform:rotate(75deg)}.sheet-size[value="12"] ~ .sheet-clock-container input[value="4"]{margin:18px 0 0 29px;transform:rotate(105deg)}.sheet-size[value="12"] ~ .sheet-clock-container input[value="5"]{margin:24px 0 0 26px;transform:rotate(135deg)}.sheet-size[value="12"] ~ .sheet-clock-container input[value="6"]{margin:28px 0 0 20px;transform:rotate(165deg)}.sheet-size[value="12"] ~ .sheet-clock-container input[value="7"]{margin:28px 0 0 12px;transform:rotate(195deg)}.sheet-size[value="12"] ~ .sheet-clock-container input[value="8"]{margin:24px 0 0 6px;transform:rotate(225deg)}.sheet-size[value="12"] ~ .sheet-clock-container input[value="9"]{margin:18px 0 0 3px;transform:rotate(255deg)}.sheet-size[value="12"] ~ .sheet-clock-container input[value="10"]{margin:10px 0 0 3px;transform:rotate(295deg)}.sheet-size[value="12"] ~ .sheet-clock-container input[value="11"]{margin:4px 0 0 6px;transform:rotate(315deg)}.sheet-size[value="12"] ~ .sheet-clock-container input[value="12"]{margin-left:12px;transform:rotate(345deg)}.sheet-size[value="4"] ~ .sheet-clock-container .sheet-4clock,.sheet-size[value="6"] ~ .sheet-clock-container .sheet-6clock,.sheet-size[value="8"] ~ .sheet-clock-container .sheet-8clock,.sheet-size[value="10"] ~ .sheet-clock-container .sheet-10clock,.sheet-size[value="12"] ~ .sheet-clock-container .sheet-12clock{display:block}.sheet-size:not([value=""]) ~ .sheet-size-choice,.sheet-clocks .sheet-size[value=""] ~ .sheet-broadcast-button,.sheet-size[value=""] ~ .sheet-clock-container{display:none}.sheet-clock-container .sheet-input-progress[value="0"]:checked ~ .sheet-clock{background:white}.sheet-size[value="4"] ~ .sheet-clock-container .sheet-input-progress[value="1"]:checked ~ .sheet-clock{background-image:linear-gradient(90deg, #fff 50%, transparent 50%),linear-gradient(180deg, red 50%, #fff 50%)}.sheet-size[value="4"] ~ .sheet-clock-container .sheet-input-progress[value="2"]:checked ~ .sheet-clock{background-image:linear-gradient(90deg, #fff 50%, red 50%)}.sheet-size[value="4"] ~ .sheet-clock-container .sheet-input-progress[value="3"]:checked ~ .sheet-clock{background-image:linear-gradient(180deg, transparent 50%, red 50%),linear-gradient(90deg, #fff 50%, red 50%)}.sheet-size[value="4"] ~ .sheet-clock-container .sheet-input-progress[value="4"]:checked ~ .sheet-clock{background:red}.sheet-size[value="6"] ~ .sheet-clock-container .sheet-input-progress[value="1"]:checked ~ .sheet-clock{background-image:linear-gradient(90deg, #fff 50%, transparent 50%),linear-gradient(150deg, red 50%, #fff 50%)}.sheet-size[value="6"] ~ .sheet-clock-container .sheet-input-progress[value="2"]:checked ~ .sheet-clock{background-image:linear-gradient(90deg, #fff 50%, transparent 50%),linear-gradient(210deg, red 50%, #fff 50%)}.sheet-size[value="6"] ~ .sheet-clock-container .sheet-input-progress[value="3"]:checked ~ .sheet-clock{background-image:linear-gradient(90deg, #fff 50%, red 50%)}.sheet-size[value="6"] ~ .sheet-clock-container .sheet-input-progress[value="4"]:checked ~ .sheet-clock{background-image:linear-gradient(150deg, transparent 50%, red 50%),linear-gradient(90deg, #fff 50%, red 50%)}.sheet-size[value="6"] ~ .sheet-clock-container .sheet-input-progress[value="5"]:checked ~ .sheet-clock{background-image:linear-gradient(210deg, transparent 50%, red 50%),linear-gradient(90deg, #fff 50%, red 50%)}.sheet-size[value="6"] ~ .sheet-clock-container .sheet-input-progress[value="6"]:checked ~ .sheet-clock{background:red}.sheet-size[value="8"] ~ .sheet-clock-container .sheet-input-progress[value="1"]:checked ~ .sheet-clock{background-image:linear-gradient(90deg, #fff 50%, transparent 50%),linear-gradient(135deg, red 50%, #fff 50%)}.sheet-size[value="8"] ~ .sheet-clock-container .sheet-input-progress[value="2"]:checked ~ .sheet-clock{background-image:linear-gradient(90deg, #fff 50%, transparent 50%),linear-gradient(180deg, red 50%, #fff 50%)}.sheet-size[value="8"] ~ .sheet-clock-container .sheet-input-progress[value="3"]:checked ~ .sheet-clock{background-image:linear-gradient(90deg, #fff 50%, transparent 50%),linear-gradient(225deg, red 50%, #fff 50%)}.sheet-size[value="8"] ~ .sheet-clock-container .sheet-input-progress[value="4"]:checked ~ .sheet-clock{background-image:linear-gradient(90deg, #fff 50%, red 50%)}.sheet-size[value="8"] ~ .sheet-clock-container .sheet-input-progress[value="5"]:checked ~ .sheet-clock{background-image:linear-gradient(135deg, transparent 50%, red 50%),linear-gradient(90deg, #fff 50%, red 50%)}.sheet-size[value="8"] ~ .sheet-clock-container .sheet-input-progress[value="6"]:checked ~ .sheet-clock{background-image:linear-gradient(180deg, transparent 50%, red 50%),linear-gradient(90deg, #fff 50%, red 50%)}.sheet-size[value="8"] ~ .sheet-clock-container .sheet-input-progress[value="7"]:checked ~ .sheet-clock{background-image:linear-gradient(225deg, transparent 50%, red 50%),linear-gradient(90deg, #fff 50%, red 50%)}.sheet-size[value="8"] ~ .sheet-clock-container .sheet-input-progress[value="8"]:checked ~ .sheet-clock{background:red}.sheet-size[value="10"] ~ .sheet-clock-container .sheet-input-progress[value="1"]:checked ~ .sheet-clock{background-image:linear-gradient(90deg, #fff 50%, transparent 50%),linear-gradient(126deg, red 50%, #fff 50%)}.sheet-size[value="10"] ~ .sheet-clock-container .sheet-input-progress[value="2"]:checked ~ .sheet-clock{background-image:linear-gradient(90deg, #fff 50%, transparent 50%),linear-gradient(162deg, red 50%, #fff 50%)}.sheet-size[value="10"] ~ .sheet-clock-container .sheet-input-progress[value="3"]:checked ~ .sheet-clock{background-image:linear-gradient(90deg, #fff 50%, transparent 50%),linear-gradient(198deg, red 50%, #fff 50%)}.sheet-size[value="10"] ~ .sheet-clock-container .sheet-input-progress[value="4"]:checked ~ .sheet-clock{background-image:linear-gradient(90deg, #fff 50%, transparent 50%),linear-gradient(234deg, red 50%, #fff 50%)}.sheet-size[value="10"] ~ .sheet-clock-container .sheet-input-progress[value="5"]:checked ~ .sheet-clock{background-image:linear-gradient(90deg, #fff 50%, red 50%)}.sheet-size[value="10"] ~ .sheet-clock-container .sheet-input-progress[value="6"]:checked ~ .sheet-clock{background-image:linear-gradient(126deg, transparent 50%, red 50%),linear-gradient(90deg, #fff 50%, red 50%)}.sheet-size[value="10"] ~ .sheet-clock-container .sheet-input-progress[value="7"]:checked ~ .sheet-clock{background-image:linear-gradient(162deg, transparent 50%, red 50%),linear-gradient(90deg, #fff 50%, red 50%)}.sheet-size[value="10"] ~ .sheet-clock-container .sheet-input-progress[value="8"]:checked ~ .sheet-clock{background-image:linear-gradient(198deg, transparent 50%, red 50%),linear-gradient(90deg, #fff 50%, red 50%)}.sheet-size[value="10"] ~ .sheet-clock-container .sheet-input-progress[value="9"]:checked ~ .sheet-clock{background-image:linear-gradient(234deg, transparent 50%, red 50%),linear-gradient(90deg, #fff 50%, red 50%)}.sheet-size[value="10"] ~ .sheet-clock-container .sheet-input-progress[value="10"]:checked ~ .sheet-clock{background:red}.sheet-size[value="12"] ~ .sheet-clock-container .sheet-input-progress[value="1"]:checked ~ .sheet-clock{background-image:linear-gradient(90deg, #fff 50%, transparent 50%),linear-gradient(120deg, red 50%, #fff 50%)}.sheet-size[value="12"] ~ .sheet-clock-container .sheet-input-progress[value="2"]:checked ~ .sheet-clock{background-image:linear-gradient(90deg, #fff 50%, transparent 50%),linear-gradient(150deg, red 50%, #fff 50%)}.sheet-size[value="12"] ~ .sheet-clock-container .sheet-input-progress[value="3"]:checked ~ .sheet-clock{background-image:linear-gradient(90deg, #fff 50%, transparent 50%),linear-gradient(180deg, red 50%, #fff 50%)}.sheet-size[value="12"] ~ .sheet-clock-container .sheet-input-progress[value="4"]:checked ~ .sheet-clock{background-image:linear-gradient(90deg, #fff 50%, transparent 50%),linear-gradient(210deg, red 50%, #fff 50%)}.sheet-size[value="12"] ~ .sheet-clock-container .sheet-input-progress[value="5"]:checked ~ .sheet-clock{background-image:linear-gradient(90deg, #fff 50%, transparent 50%),linear-gradient(240deg, red 50%, #fff 50%)}.sheet-size[value="12"] ~ .sheet-clock-container .sheet-input-progress[value="6"]:checked ~ .sheet-clock{background-image:linear-gradient(90deg, #fff 50%, red 50%)}.sheet-size[value="12"] ~ .sheet-clock-container .sheet-input-progress[value="7"]:checked ~ .sheet-clock{background-image:linear-gradient(120deg, transparent 50%, red 50%),linear-gradient(90deg, #fff 50%, red 50%)}.sheet-size[value="12"] ~ .sheet-clock-container .sheet-input-progress[value="8"]:checked ~ .sheet-clock{background-image:linear-gradient(150deg, transparent 50%, red 50%),linear-gradient(90deg, #fff 50%, red 50%)}.sheet-size[value="12"] ~ .sheet-clock-container .sheet-input-progress[value="9"]:checked ~ .sheet-clock{background-image:linear-gradient(180deg, transparent 50%, red 50%),linear-gradient(90deg, #fff 50%, red 50%)}.sheet-size[value="12"] ~ .sheet-clock-container .sheet-input-progress[value="10"]:checked ~ .sheet-clock{background-image:linear-gradient(210deg, transparent 50%, red 50%),linear-gradient(90deg, #fff 50%, red 50%)}.sheet-size[value="12"] ~ .sheet-clock-container .sheet-input-progress[value="11"]:checked ~ .sheet-clock{background-image:linear-gradient(240deg, transparent 50%, red 50%),linear-gradient(90deg, #fff 50%, red 50%)}.sheet-size[value="12"] ~ .sheet-clock-container .sheet-input-progress[value="12"]:checked ~ .sheet-clock{background:red}.sheet-text-button{font-weight:bold}.sheet-text-button input:checked+span{color:red}.sheet-size-choice>.sheet-text-button{height:17px;padding:3px;flex:0 0 40%;margin:auto;justify-content:center}input.sheet-stresstooth,input.sheet-xptooth,input.sheet-holdtooth,.sheet-stresstooth+span,.sheet-xptooth+span,.sheet-holdtooth+span{height:25px}input.sheet-regulartooth,.sheet-regulartooth+span{height:13px}input.sheet-tooth{width:12px;margin-right:-12px}input.sheet-tooth:last-of-type{width:8px;margin-right:-8px}.sheet-tooth+span{width:8px;background-size:cover;background-repeat:no-repeat}.sheet-tooth+span:last-child{margin-right:0 !important}.sheet-tooth:hover+span{opacity:0.7}.sheet-xptooth+span{background-image:url("https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Blades%20in%20the%20Dark/Assets/teeth/xptooth-red.png");margin-right:4px}.sheet-tooth:checked ~ .sheet-xptooth+span{background-image:url("https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Blades%20in%20the%20Dark/Assets/teeth/xptooth-white.png")}.sheet-stresstooth[type=radio]+span,.sheet-stresstooth[type=checkbox]:checked+span,.sheet-holdtooth:checked+span{background-image:url("https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Blades%20in%20the%20Dark/Assets/teeth/stresstooth-red.png")}.sheet-stresstooth[type=checkbox]+span,.sheet-tooth:checked ~ .sheet-stresstooth[type=radio]+span,.sheet-holdtooth+span{background-image:url("https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Blades%20in%20the%20Dark/Assets/teeth/stresstooth-white.png")}.sheet-regulartooth+span{background-image:url("https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Blades%20in%20the%20Dark/Assets/teeth/shorttooth-red.png")}.sheet-tooth:checked ~ .sheet-regulartooth+span{background-image:url("https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Blades%20in%20the%20Dark/Assets/teeth/shorttooth-grey.png")}input.sheet-zero{width:13px;height:13px;margin-right:-13px;vertical-align:top}.sheet-zero+span{height:11px;width:11px;margin-top:1px;margin-right:2px;vertical-align:top;border:1px solid black;background:white;border-radius:50%;position:relative}.sheet-zero+span::before,.sheet-zero+span::after{position:absolute;width:1px;content:"";left:0;background:black;height:11px}.sheet-zero+span::after{transform:translate(4px, -1px) rotate(135deg)}.sheet-zero+span::before{transform:translate(4px, -1px) rotate(45deg)}.sheet-zero:checked+span{visibility:hidden}.sheet-coin .sheet-zero+span{position:relative;bottom:1px;margin-right:auto}.sheet-stash input.sheet-zero,.sheet-stash .sheet-zero+span{position:absolute;left:-3px;top:3px}.sheet-crewcoin input.sheet-zero,.sheet-crewcoin .sheet-zero+span{position:absolute;left:-9px;top:3px}.sheet-stress2 input.sheet-zero,.sheet-stress2 .sheet-zero+span,.sheet-rep2 input.sheet-zero,.sheet-rep2 .sheet-zero+span,.sheet-heat2 input.sheet-zero,.sheet-heat2 .sheet-zero+span{position:absolute;left:-13px;top:13px}.sheet-turfbox input[type=radio]{height:12px;width:calc(100%/12)}.sheet-turf-input[value="1"] ~ input[type=radio].sheet-turf1+span,.sheet-turf-input[value="2"] ~ input[type=radio].sheet-turf2+span,.sheet-turf-input[value="3"] ~ input[type=radio].sheet-turf3+span,.sheet-turf-input[value="4"] ~ input[type=radio].sheet-turf4+span,.sheet-turf-input[value="5"] ~ input[type=radio].sheet-turf5+span,.sheet-turf-input[value="6"] ~ input[type=radio].sheet-turf6+span{background-image:url("https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Blades%20in%20the%20Dark/Assets/teeth/stresstooth-black.png")}.sheet-tooth:checked ~ .sheet-stresstooth.sheet-turf6+span{background-image:url("https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Blades%20in%20the%20Dark/Assets/teeth/stresstooth-halfgrey.png")}.sheet-specialability,.sheet-friend-contact{border-bottom:1px solid #b4b4b4;width:100%;align-items:start}.sheet-specialability{padding:4px}.sheet-friend-contact{padding:6px 4px;align-items:center}.sheet-abilityname{width:calc(28% - 22px);font-size:13px;min-height:17px;margin:0 auto;line-height:17px;padding:0 1px}.sheet-abilitydesc{width:72%;min-height:32px;font-size:12px;line-height:14px;padding:2px 1px;text-align:justify}.sheet-friend-contact .sheet-auto-expand{font-size:12px;color:#555;min-height:20px;line-height:16px;flex:1 1 0;padding:2px 0 2px 3px}.sheet-harm{position:relative}.sheet-harmbody{display:grid;grid:52px / 12px auto auto 59px;font-weight:800;text-transform:uppercase;text-align:center}.sheet-harmbody div{background:#d6d8d9;border-bottom:1px solid black}.sheet-harmbody .sheet-harmeffect{width:59px;color:#555;font-size:10px;letter-spacing:1px;line-height:1.4}.sheet-harmbody .sheet-harmnumber{line-height:1;font-size:13px}.sheet-harmbody .sheet-twocols{grid-column:2/4}.sheet-harmbody textarea{font-size:12px;padding:10px 4px 3px;color:#c43c35;overflow:hidden;height:52px;resize:none;line-height:16px;text-align:center;border-bottom:1px solid black}.sheet-harmbody textarea+textarea{border-left:1px solid #d8d8d8}.sheet-armor .sheet-blackheader,.sheet-healing .sheet-blackheader{text-align:center;padding:1px 0 0}.sheet-healing{position:relative}.sheet-healing .sheet-healing-progress{line-height:14px;text-align:center;font-style:italic;font-size:9px}.sheet-healing .sheet-clock-container{margin:0 auto}.sheet-armor label{margin:3px 0 3px 10px;height:18px;font-size:11px;text-align:center;line-height:18px}.sheet-armor .sheet-label{flex-grow:1;order:1}.sheet-armor input:checked ~ span{color:red}.sheet-armor .sheet-checkbox+span{border:1px solid black;margin:3px;order:2}.sheet-coin-and-stash{width:96%;margin:1px 0 0 4%}.sheet-coinrow .sheet-label{font-size:11px;margin-right:auto}.sheet-coin{border-bottom:1px solid #8c8c8c;border-right:1px solid #8c8c8c;width:70%;height:19px;padding:1px 3px 0 0;align-items:center}.sheet-stashbutton-holder{border-top:1px solid #8c8c8c;display:flex;align-items:center;justify-content:center;width:30%;height:19px;padding-bottom:1px}.sheet-stash{padding:4px 0 0 10px;line-height:19px;margin-bottom:-10px;position:relative}.sheet-crewcoin-coins{padding:4px 0 0 3px;position:relative}.sheet-crewcoin-desc{font-size:10px;line-height:14px;padding-left:3px;font-style:italic}.sheet-crewcoinbar{border-left:1px solid #c7c7c7;height:15px;width:3px;margin:-1px auto 0}.sheet-crewcoin input.sheet-radiobox{width:12px;height:12px;margin-right:-12px}.sheet-crewcoin .sheet-radiobox+span{width:11px;height:11px;margin-right:auto}.sheet-crewcoin input:checked ~ .sheet-radiobox.sheet-vaultcoin+span{border-color:#c7c7c7}.sheet-coin-and-stash input.sheet-radiobox{width:13px;height:13px;vertical-align:top;margin-right:-13px}.sheet-coin-and-stash .sheet-radiobox+span{width:12px;height:12px;vertical-align:top}.sheet-coinrow .sheet-radiobox+span{margin-right:auto}.sheet-radiobox:hover+span{opacity:0.7}.sheet-radiobox:last-of-type+span{margin-right:0}.sheet-coin .sheet-radiobox+span,.sheet-crewcoin .sheet-radiobox+span{background:red;border:1px solid black}.sheet-coin input:checked ~ .sheet-radiobox+span,.sheet-crewcoin input:checked ~ .sheet-radiobox+span{background:white}.sheet-stash .sheet-radiobox+span{background:black;margin-right:calc((100% - 126px)/9)}.sheet-stash input:checked ~ .sheet-radiobox+span{background:#c7c7c7}.sheet-stash input.sheet-radiobox:nth-of-type(10n+1){margin:-2px -17px 0 3px;width:15px;height:15px}.sheet-stash .sheet-radiobox:nth-of-type(10n+1)+span{width:14px;height:14px;border:1px solid black;margin-left:3px;margin-right:0;position:relative;top:-2px}.sheet-hunting-grounds .sheet-plainheader{min-height:20px;line-height:18px}.sheet-hunting-grounds .sheet-description{font-size:12px;min-height:32px;line-height:16px}.sheet-bonusdie .sheet-label{font-size:12px}.sheet-bonusdieplus{width:10%;background:black;color:white;font-size:13px;line-height:1;font-weight:bold}.sheet-bonusdietext{background:#d8d8d8;width:90%;padding:3px;font-size:11px;line-height:14px;text-align:center}.repcontrol button{padding:6px;background-image:none;background:#d8d8d8;color:#777;border-radius:0;border-color:#b4b4b4;transition:all 0.2s;font-family:inherit;font-variant:small-caps;font-weight:bold}.repcontrol button:hover{color:black;border-color:black;background:#c7c7c7}.sheet-white-repcontrol .repcontrol button.btn{background:white}.sheet-small-repcontrol .repcontrol button,.sheet-white-repcontrol .repcontrol button{margin-top:5px;font-size:12px;padding:2px}.sheet-cohorts.sheet-white-repcontrol .repcontrol button{margin-top:0}.itemcontrol{z-index:20}.sheet-itemholder .itemcontrol .btn{padding:0px 7px;line-height:16px}.sheet-factions .itemcontrol .btn{padding:1px 7px}.sheet-rep-and-hold,.sheet-heat-and-vault{justify-content:space-between}.sheet-hold{width:53%}.sheet-stress,.sheet-rep,.sheet-hold,.sheet-heat{height:25px}.sheet-stress1{flex:1 0 auto}.sheet-stress2{flex:2 1 136px;position:relative}.sheet-stress3{flex:1 0 68px;text-align:center}.sheet-stress4{flex:2 0 217px;line-height:13px;font-size:9px;padding:1px 0 0 2px;text-transform:uppercase}.sheet-stress4 div{justify-content:space-between}.sheet-stress4 .sheet-input:not([value="normal"]) ~ .sheet-normal,.sheet-stress4 .sheet-input:not([value="ghost"]) ~ .sheet-ghost,.sheet-stress4 .sheet-input:not([value="hull"]) ~ .sheet-hull{display:none}.sheet-stress4 .sheet-ghost,.sheet-stress4 .sheet-hull{letter-spacing:1px}.sheet-traumaholder,.sheet-wantedholder{height:13px;padding-left:2px}.sheet-rep1{width:33px}.sheet-rep2{width:134px;position:relative}.sheet-turfbox{display:flex;position:absolute;flex-flow:row-reverse;z-index:2;width:100%}.sheet-turfzero-holder{margin-left:2px}.sheet-hold>div,.sheet-hold>label,.sheet-heat>div,.sheet-rep>div,.sheet-crewcoin2{flex-grow:1}.sheet-heat2{width:107px;position:relative}.sheet-crewcoin1{width:26%}.sheet-regulartooth+span,.sheet-rep .sheet-tooth+span,.sheet-heat2 .sheet-tooth+span,.sheet-stress2 .sheet-tooth+span{margin-right:auto}.sheet-extra-teeth:checked+.sheet-tooth+span{margin-right:0}.sheet-extra-teeth:checked+.sheet-tooth ~ .sheet-tooth,.sheet-extra-teeth:checked+.sheet-tooth+span ~ span{display:none}.sheet-vampirexp[value="1"] ~ .sheet-xptooth+span{margin-right:2px}.sheet-xpholder .sheet-vampirexp[value="0"] ~ .sheet-tooth[value="8"]+span,.sheet-attribute-xp-box .sheet-vampirexp[value="0"] ~ .sheet-tooth[value="6"]+span{margin-right:0}.sheet-rep input.sheet-tooth{width:11px;margin-right:-11px}.sheet-notes{margin-left:1%;font-family:"Shadows Into Light", cursive;color:#c43c35;font-size:20px;width:98%;background:linear-gradient(transparent 26px, #a7a7a7 1px) 0 0/100% 27px;line-height:27px;height:378px;min-height:378px}.sheet-type-character .sheet-notes,.sheet-type-crew .sheet-notes{margin-top:15px}.sheet-loadheader .sheet-checkbox+span{border:1px solid black;transform:rotate(45deg);width:10px;height:10px;background:white}button[type=roll].sheet-rollbutton{display:flex;border:none;margin:0;padding:0}.sheet-attribute-title button[type=roll].sheet-rollbutton{max-width:calc(100% - 97px);line-height:inherit;color:inherit;font-size:13px}.sheet-action button[type=roll].sheet-rollbutton{letter-spacing:1px;line-height:13px;flex:0 0 86px;font-size:13px}.sheet-coinrow button[type=roll].sheet-rollbutton{font-size:11px;color:#777}.sheet-blackheader button[type=roll].sheet-rollbutton{margin:auto}button[type=roll].sheet-borderbutton{color:#777;font-size:13px;border-color:#b4b4b4}button[type=roll].sheet-vicebutton{float:right;margin:5px 3px -5px auto;line-height:13px;padding:4px}button[type=roll].sheet-fortunebutton{width:100%;height:30px;margin:10px 0 0}.sheet-type-faction button[type=roll].sheet-fortunebutton{width:100px;margin:0}button[type=roll].sheet-engagementbutton{width:calc(100% - 20px);padding:2px 5px;height:30px;margin:10px 10px 0}button[type=roll].sheet-rollbutton:hover{color:red}button[type=roll].sheet-borderbutton:hover{color:black;border-color:black}.sheet-checkbox{margin-right:-12px}input.sheet-checkbox,.sheet-checkbox+span{height:12px;width:12px;flex:0 0 auto}.sheet-checkbox+span{border:1px solid #8c8c8c}.sheet-checkbox:checked+span{background:red}.sheet-checkbox:hover+span{opacity:0.7}.sheet-squarebox+span{background:transparent;margin-right:3px}.sheet-circlebox+span{border-radius:50%;background:white}input.sheet-checkbox.sheet-squarebox-small,.sheet-checkbox.sheet-squarebox-small+span{height:9px;width:9px}.sheet-checkbox.sheet-squarebox-small:checked+span{background:black}.sheet-claimbridge{position:relative}.sheet-claimbridge input,.sheet-claimbridge span{width:100%;height:100%}.sheet-claimbridge input:checked+span{background:#d8d8d8}.sheet-specialability .sheet-checkbox:checked ~ .sheet-abilityname,.sheet-item .sheet-checkbox:checked ~ .sheet-itemname,.sheet-friend .sheet-friendstate[value="up"] ~ .sheet-auto-expand{color:red}.sheet-friend-contact .sheet-friendstate:not([value="0"]) ~ .sheet-auto-expand{font-weight:bold}.sheet-friend .sheet-friendstate[value="down"] ~ .sheet-auto-expand,.sheet-contact .sheet-friendstate[value="1"] ~ .sheet-auto-expand{color:#333}.sheet-specialability .sheet-checkbox,.sheet-specialability .sheet-checkbox+span{margin-top:3px}.sheet-actions input.sheet-checkbox{height:20px;width:16px;margin-right:-14px}.sheet-actions .sheet-checkbox+span{height:11px;width:11px;border:none;margin-right:calc(7px + (100% - 173px)/8)}.sheet-action .sheet-checkbox+span:first-of-type{margin-right:6px}.sheet-action .sheet-darktalent[value="1"] ~ .sheet-checkbox+span:first-of-type{margin-right:4px}.sheet-action .sheet-darktalent[value="1"] ~ .sheet-checkbox+span:not(:first-of-type){margin-right:calc(3px + (100% - 171px)/10)}.sheet-action .sheet-darktalent[value="1"] ~ .sheet-checkbox+span:last-of-type{margin-right:calc(4px + (100% - 171px)/10)}.sheet-checkbox.sheet-fakeradio+span{background:red}.sheet-action .sheet-fakeradio:checked ~ .sheet-fakeradio+span{background:#c7c7c7}.sheet-tier .sheet-fakeradio:checked ~ .sheet-fakeradio+span{background:white}.sheet-darktalent[value="0"] ~ input:last-of-type,.sheet-darktalent[value="0"] ~ input:last-of-type+span{display:none}.sheet-friend-contact .sheet-checkbox+span{width:0;height:0;background:transparent;border-color:transparent}.sheet-friend-contact label{width:12px;height:12px;position:relative}.sheet-friend label.sheet-up{margin-right:1px;top:-1px}.sheet-friend label.sheet-up .sheet-checkbox+span{border-width:0 5px 10px;border-bottom-color:white}.sheet-friend label.sheet-up .sheet-checkbox:checked+span{border-bottom-color:red}.sheet-friend label.sheet-down{top:5px}.sheet-friend label.sheet-down .sheet-checkbox+span{border-width:10px 5px 0;border-top-color:white}.sheet-friend label.sheet-down .sheet-checkbox:checked+span{border-top-color:black}.sheet-contact label{top:1px}.sheet-contact label .sheet-checkbox+span{border-width:5px 0 5px 10px;border-left-color:white}.sheet-contact label .sheet-checkbox:checked+span{border-left-color:black}.sheet-attribute,.sheet-cohort{margin-bottom:10px}.sheet-attribute-title,.sheet-cohort-title{height:21px;line-height:21px;color:white;background:black;padding:0 3px;align-items:center;justify-content:space-between}.sheet-attribute-xp-box{width:97px;justify-content:flex-end;height:100%}.sheet-actioncolumn{flex-grow:1}.sheet-actions{padding-left:2px}.sheet-action{height:22px;align-items:center}.sheet-action:first-child{height:34px;padding-top:12px}.sheet-divider{margin-right:calc(5px + (100% - 173px)/12);border-right:1px solid black;height:inherit}.sheet-darktalent[value="1"] ~ .sheet-divider{margin-right:calc(3px + (100% - 173px)/15)}.sheet-action:first-child .sheet-divider{position:relative;top:-6px}.sheet-cohorts .repcontrol{height:28px}.sheet-cohort-title{font-size:11px}.sheet-cohort-title input[type=text]{width:calc(100% - 40px)}.sheet-cohort-info{background:black;height:13px;font-size:9px;color:white;line-height:13px}.sheet-cohort-info input[type=text]{flex:1 1 0;padding:0 3px}.sheet-cohort-info input[type=number]{flex:0 0 auto;color:inherit;background:transparent;border:none;border-radius:0;padding:0 0 0 4px;line-height:inherit;width:13px;-moz-appearance:textfield;font-size:11px;font-family:"Times New Roman", Times, serif}.sheet-cohort-info input[type=number]::-webkit-outer-spin-button,.sheet-cohort-info input[type=number]::-webkit-inner-spin-button{margin:0;-webkit-appearance:none}.sheet-cohort-quality-label{flex:0 0 auto}.sheet-cohort-condition{justify-content:space-between}.sheet-cohort-condition-name{font-size:7.5px;margin-right:2px;z-index:-1}.sheet-cohort-dropdown{background:black;position:relative;z-index:1;width:41px;height:13px;padding-left:3px;flex:0 0 auto;overflow:hidden;transition:all 0.2s}.sheet-cohort-dropdown:hover{height:39px}.sheet-cohort-dropdown:hover>div:first-child{display:none}.sheet-cohort-dropdown input[type=radio]{width:39px;margin-right:-39px;vertical-align:top;height:13px;z-index:10}.sheet-cohort-dropdown input[type=radio]:checked+span{color:red}.sheet-cohort-edgeflaw{font-size:9px;line-height:10px;margin:2px 0;align-items:start}.sheet-cohort-edgeflaw .sheet-uppercase{width:34px;padding:2px 0}.sheet-cohort-edgeflaw .sheet-auto-expand{width:calc(100% - 34px);min-height:14px;padding:2px 3px}.sheet-cohort-description{font-size:9px;padding:1px 0;line-height:12px;height:50px;border-bottom:1px solid #d8d8d8}.sheet-claims{margin-top:15px}.sheet-claimsrow{align-items:center}.sheet-claimsrow>div,.sheet-claimsrow>label{flex:0 0 auto}.sheet-claimbox,.sheet-lairbox{height:66px}.sheet-claims-seprow{height:12px;justify-content:space-between}.sheet-lairbox{background:#777;width:18.4%;font-size:13px;color:white;letter-spacing:1px}.sheet-claims-horisep{height:12px;display:flex;width:2%}.sheet-claims-vertsep{display:flex;width:12px;margin:0 calc(9.2% - 6px)}.sheet-claimbox{background:#d8d8d8;width:18.4%;position:relative;transition:all 0.2s}.sheet-claimbox .sheet-label{height:30px;padding:4px 0 2px;line-height:12px}.sheet-claimbox textarea{text-align:center;font-size:9px;resize:none}.sheet-claimbox textarea.sheet-claim-desc{height:36px;padding:2px 2.5% 4px;line-height:10px}.sheet-claimbox label{position:absolute;bottom:1px;left:1px}input[value="1"]+.sheet-claimbox{background:#c7c7c7}.sheet-strictures{font-size:11px;line-height:1.6;text-align:justify}.sheet-strictures label{margin-right:3px;display:inline-flex;vertical-align:top;align-items:center}.sheet-strictures span.sheet-label::after{content:":"}.sheet-title-checkbox ~ div{height:auto;transition:all 0.2s;overflow:hidden}.sheet-title-checkbox:not(:checked) ~ div{height:0}input.sheet-title-checkbox{width:100%;vertical-align:top;margin-right:-100%;height:24px}.sheet-title-checkbox:hover+span{color:red}.sheet-alchemicals{padding:0 5px;line-height:16px}.sheet-bandolier-desc{line-height:12px;margin-top:2px;font-size:10px;font-style:italic}.sheet-bandoliers-name{margin-right:7px;font-size:12px;line-height:18px}.sheet-bandolier input:nth-of-type(3)+span{margin-right:8px}.sheet-alchemicals .repcontainer{display:flex;flex-flow:row wrap}.sheet-alchemicals .repitem{font-size:11px;width:50%}.sheet-alchemicals .sheet-auto-expand{margin:0 1px 0 7px;padding:1px;min-height:16px;line-height:14px;width:calc(100% - 8px)}.sheet-alchemicals input.sheet-alchemicals-expand{width:10px;position:absolute;height:16px}.sheet-alchemicals .sheet-alchemicals-expand+span{transform:rotate(45deg) scale(0.9);position:absolute}.sheet-alchemicals .sheet-alchemicals-expand:not(:checked) ~ .sheet-alchemicals-info{display:none}.sheet-alchemicals .sheet-alchemicals-info{position:relative;font-size:9px;z-index:2;background:white;line-height:1.3;height:64px;width:200%;padding:2px;border:1px solid #d8d8d8}.sheet-alchemicals .repitem:nth-child(even) .sheet-alchemicals-info{left:-100%}.sheet-alchemicals .sheet-alchemicals-expand+span::before{content:'■';font-family:serif}.sheet-alchemicals .sheet-alchemicals-expand:checked+span{color:red}.sheet-alchemicals .itemcontrol .btn{padding:0 4px;font-size:9px;line-height:14px}.sheet-alchemicals .repcontrol_del{order:1}.sheet-alchemicals .repcontainer.editmode .repitem .itemcontrol{display:flex;justify-content:space-between;align-items:start}.sheet-frame textarea{font-size:11px;height:40px}.sheet-type-faction .repcontrol{height:38px}.sheet-factions{justify-content:space-between}.sheet-factiontitle{margin-bottom:10px;align-items:center}.sheet-factiontitle input[type=text]{font-size:26px;margin-right:auto;width:60%}.sheet-factions-header{width:100%;height:24px;align-items:center;line-height:14px;background:#c7c7c7}.sheet-factions-header input[type=text]{padding-left:3px}.sheet-factions-header span{font-size:7px}input.sheet-expand,.sheet-expand+span{position:absolute;width:7px;height:10px;font-size:8px}.sheet-type-faction .sheet-expand{left:-7px;top:6px}.sheet-type-faction .sheet-expand+span{top:3px;left:-7px}.sheet-type-faction .sheet-expand+span::before{content:"▶"}.sheet-type-faction .sheet-expand:checked+span::before{content:"▼"}.sheet-faction{border-bottom:1px solid #d8d8d8}.sheet-faction textarea{border-top:1px solid #d8d8d8;font-size:11px;line-height:1.5;height:51px}.sheet-faction input[type=number]{border:none;background:transparent;padding:0;font-size:12px}.sheet-faction input[type=text]{border-right:1px solid #d8d8d8;font-size:12px;padding:2px 1px}.sheet-expand:not(:checked) ~ textarea{height:0 !important;border-width:0}.sheet-faction-name,input[type=text].sheet-faction-name{width:65%}.sheet-faction-tier,input[type=text].sheet-faction-tier{width:10%;text-align:center}.sheet-faction-hold,input[type=text].sheet-faction-hold{width:10%;text-align:center}.sheet-faction-status,input[type=number].sheet-faction-status{width:15%;text-align:center}.sheet-warblurb{text-align:justify}.sheet-warblurb .sheet-label{font-size:14px}.sheet-warblurb li{margin-bottom:.5em;padding-left:1em}label.sheet-generatebutton{color:#777;border:1px solid #b4b4b4}label.sheet-generatebutton:hover{color:black;border-color:black}label.sheet-generatebutton:hover input+span{opacity:1}.sheet-type-faction label.sheet-generatebutton{font-size:13px;padding:0 6px;align-items:center;margin:0 6px;font-weight:bold;height:30px}.sheet-settings label.sheet-generatebutton{padding:2px;line-height:12px;margin:0 4px;font-size:11px}.sheet-auto-expand{position:relative;cursor:text;word-wrap:break-word}.sheet-auto-expand span{visibility:hidden;white-space:pre-wrap;display:block}.sheet-auto-expand textarea{position:absolute;overflow:hidden;z-index:1;top:0;left:0;resize:none;height:100%;word-wrap:break-word;padding:inherit;font:inherit;color:inherit;text-transform:inherit;letter-spacing:inherit;text-align:inherit}.sheet-show-broadcast[value="0"] ~ .sheet-container .sheet-broadcast-button{display:none}button[type=roll].sheet-broadcast-button{font-family:pictos;position:absolute;border:none;margin:0;padding:0;z-index:3}.sheet-specialability button[type=roll].sheet-broadcast-button{font-size:12px;line-height:14px;height:14px;width:14px;color:#777;left:3px;bottom:7px}.sheet-clocks button[type=roll].sheet-broadcast-button{font-size:11px;line-height:11px;height:12px;width:12px;color:#777;right:0;bottom:2px}.sheet-harm button[type=roll].sheet-broadcast-button{color:white;font-weight:normal;font-size:11px;line-height:11px;right:2px;top:1px}.sheet-use-kirsty[value="1"] ~ .sheet-container .sheet-specialheader,.sheet-use-kirsty[value="1"] ~ .sheet-container .sheet-blackheader,.sheet-use-kirsty[value="1"] ~ .sheet-container .sheet-greyheader,.sheet-use-kirsty[value="1"] ~ .sheet-container .sheet-black-on-grey,.sheet-use-kirsty[value="1"] ~ .sheet-container .sheet-playbook input[type="text"],.sheet-use-kirsty[value="1"] ~ .sheet-container .sheet-plainheader,.sheet-use-kirsty[value="1"] ~ .sheet-container .sheet-itemheader :first-child,.sheet-use-kirsty[value="1"] ~ .sheet-container .sheet-loadheader :first-child,.sheet-use-kirsty[value="1"] ~ .sheet-container .sheet-attribute-title button[type=roll].sheet-rollbutton,.sheet-use-kirsty[value="1"] ~ .sheet-container .sheet-bonusdie>.sheet-label:first-child,.sheet-use-kirsty[value="1"] ~ .sheet-container .sheet-cohort-title,.sheet-use-kirsty[value="1"] ~ .sheet-container .sheet-claimbox .sheet-label,.sheet-use-kirsty[value="1"] ~ .sheet-container .sheet-lairbox,.sheet-use-kirsty[value="1"] ~ .sheet-container .sheet-crewheader,.sheet-use-kirsty[value="1"] ~ .sheet-container .sheet-factiontitle input[type="text"],.sheet-use-kirsty[value="1"] ~ .sheet-container .sheet-factions-header input[type="text"]{font-family:Kirsty, Georgia, serif}.sheet-use-kirsty[value="1"] ~ .sheet-container .sheet-claimbox .sheet-label{font-size:10px;font-weight:400}.sheet-use-kirsty[value="1"] ~ .sheet-container .sheet-specialheader,.sheet-use-kirsty[value="1"] ~ .sheet-container .sheet-itemheader :first-child,.sheet-use-kirsty[value="1"] ~ .sheet-container .sheet-loadheader :first-child{font-size:12px;font-weight:400}.sheet-use-kirsty[value="1"] ~ .sheet-container .sheet-plainheader,.sheet-use-kirsty[value="1"] ~ .sheet-container .sheet-cohort-title{font-size:13px;font-weight:400}.sheet-use-kirsty[value="1"] ~ .sheet-container .sheet-factions-header input[type="text"],.sheet-use-kirsty[value="1"] ~ .sheet-container .sheet-bonusdie>.sheet-label:first-child{font-size:14px;font-weight:400}.sheet-use-kirsty[value="1"] ~ .sheet-container .sheet-attribute-title button[type=roll].sheet-rollbutton,.sheet-use-kirsty[value="1"] ~ .sheet-container .sheet-lairbox{font-size:15px;font-weight:400}.sheet-use-kirsty[value="1"] ~ .sheet-container .sheet-crewheader{font-size:29px;letter-spacing:0}.sheet-use-kirsty[value="1"] ~ .sheet-container .sheet-factiontitle input[type="text"]{font-size:32px}.sheet-use-kirsty[value="1"] ~ .sheet-container .sheet-playbook input[type="text"]{font-size:40px;letter-spacing:0}.sheet-use-kirsty[value="1"] ~ .sheet-container .sheet-blackheader .sheet-label,.sheet-use-kirsty[value="1"] ~ .sheet-container .sheet-blackheader button[type="roll"].sheet-label,.sheet-use-kirsty[value="1"] ~ .sheet-container .sheet-greyheader .sheet-label,.sheet-use-kirsty[value="1"] ~ .sheet-container .sheet-greyheader button[type="roll"].sheet-label,.sheet-use-kirsty[value="1"] ~ .sheet-container .sheet-black-on-grey .sheet-label,.sheet-use-kirsty[value="1"] ~ .sheet-container .sheet-black-on-grey button[type="roll"].sheet-label{font-size:12px;font-weight:400}.charsheet.lang-ko{font-family:"Malgun Gothic", Dotum, Georgia, "Bitstream Charter", "Times New Roman", serif}.charsheet.lang-ko .sheet-kirsty-option{display:none}.charsheet.lang-ko .sheet-settings label.sheet-generatebutton{font-size:12px}.charsheet.lang-ko .sheet-settings>div{font-size:11px}.charsheet.lang-ko .sheet-header .sheet-title{font-size:13px}.charsheet.lang-ko .sheet-header .sheet-info{font-size:11px}.charsheet.lang-ko .sheet-header .sheet-smallcaps{font-size:1em}.charsheet.lang-ko .sheet-header .sheet-italic{font-style:normal}.charsheet.lang-ko .sheet-stress4{font-size:12px}.charsheet.lang-ko .sheet-harmrow .sheet-harmeffect{font-size:12px}.charsheet.lang-ko .sheet-healing-progress{font-size:11px}.charsheet.lang-ko .sheet-armor label{font-size:12px}.charsheet.lang-ko .sheet-coinrow .sheet-label,.charsheet.lang-ko .sheet-coinrow button[type="roll"].sheet-rollbutton{font-size:12px}.charsheet.lang-ko .sheet-specialheader{font-size:13px}.charsheet.lang-ko .sheet-abilityname{font-size:14px}.charsheet.lang-ko .sheet-abilitydesc{font-family:13px;line-height:16px;min-height:36px}.charsheet.lang-ko .sheet-plainheader{font-size:14px}.charsheet.lang-ko .sheet-teamworkbox{font-size:13px}.charsheet.lang-ko .sheet-gatherinfo li{font-size:12px}.charsheet.lang-ko .sheet-strictures{font-size:12px}.charsheet.lang-ko .sheet-playbook textarea{font-size:12px}.charsheet.lang-ko .sheet-loadheader .sheet-loadnumber{font-family:inherit}.charsheet.lang-ko .sheet-loadheader label{font-style:normal}.charsheet.lang-ko .sheet-itemheader,.charsheet.lang-ko .sheet-loadheader{font-size:12px;padding:1px 2px 0 4px;height:auto}.charsheet.lang-ko .sheet-numboxes-chooser{font-size:10px}.charsheet.lang-ko .sheet-item .sheet-itemname,.charsheet.lang-ko .sheet-item .sheet-label{font-size:12px}.charsheet.lang-ko .sheet-item .sheet-label.sheet-upgradecosts{font-size:9px}.charsheet.lang-ko .sheet-itemholder .sheet-expand ~ textarea{font-size:11px}.charsheet.lang-ko .sheet-bandoliers-name{font-size:13px}.charsheet.lang-ko .sheet-bandolier-desc{font-size:11px;font-style:normal}.charsheet.lang-ko .sheet-attribute-title button[type="roll"].sheet-rollbutton{font-size:15px}.charsheet.lang-ko .sheet-action button[type="roll"].sheet-rollbutton{font-size:15px}.charsheet.lang-ko button[type="roll"].sheet-borderbutton{font-size:15px}.charsheet.lang-ko .sheet-bonusdietext,.charsheet.lang-ko .sheet-bonusdie .sheet-label{font-size:13px}.charsheet.lang-ko .sheet-friend-contact .sheet-auto-expand{font-size:13px}.charsheet.lang-ko .sheet-clocks .sheet-auto-expand{font-size:12px}.charsheet.lang-ko .sheet-crewcoin-desc{font-style:normal}.charsheet.lang-ko .sheet-claimbox textarea.sheet-label{font-size:12px}.charsheet.lang-ko .sheet-claimbox textarea.sheet-claim-desc{overflow:hidden;height:54px;line-height:12px;font-size:11px}.charsheet.lang-ko .sheet-claimbox,.charsheet.lang-ko .sheet-lairbox{height:84px}.charsheet.lang-ko .sheet-cohort-title{font-size:12px}.charsheet.lang-ko .sheet-cohort-info{height:15px;font-size:11px}.charsheet.lang-ko .sheet-cohort-condition-name{font-size:12px}.charsheet.lang-ko .sheet-cohort-edgeflaw{font-size:11px}.charsheet.lang-ko .sheet-cohort-description{font-size:11px}.charsheet.lang-ko .sheet-factions-header span{font-size:9px}.charsheet.lang-ko .sheet-faction-name,.charsheet.lang-ko input[type=text].sheet-faction-name{width:60%}.charsheet.lang-ko .sheet-faction-tier,.charsheet.lang-ko input[type=text].sheet-faction-tier{width:12%}.charsheet.lang-ko .sheet-faction-hold,.charsheet.lang-ko input[type=text].sheet-faction-hold{width:13%}.sheet-rolltemplate-bitd .sheet-holder{margin-left:-45px;margin-right:-1px;padding:0 30px;box-sizing:border-box;font-family:Georgia, "Bitstream Charter", "Times New Roman", serif;width:299px;user-select:none;cursor:default;overflow:hidden;font-variant-numeric:lining-nums}.sheet-rolltemplate-bitd .sheet-holder.sheet-korean{font-family:"Malgun Gothic", Dotum, Georgia, "Bitstream Charter", "Times New Roman", serif}.sheet-rolltemplate-bitd .sheet-holder.sheet-resist.sheet-short,.sheet-rolltemplate-bitd .sheet-holder.sheet-vice.sheet-short{height:171px}.sheet-rolltemplate-bitd .sheet-holder.sheet-action.sheet-short{height:195px}.sheet-rolltemplate-bitd .sheet-holder.sheet-fortune.sheet-short{min-height:199px}.sheet-rolltemplate-bitd .sheet-action,.sheet-rolltemplate-bitd .sheet-resist,.sheet-rolltemplate-bitd .sheet-vice{height:258px}.sheet-rolltemplate-bitd .sheet-fortune{background-image:url("https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Blades%20in%20the%20Dark/Assets/rolltemplate/rolltemplate-fortune.jpg");background-position:bottom right;background-repeat:no-repeat;background-color:white;height:auto;min-height:250px}.sheet-rolltemplate-bitd .sheet-action{background-image:url("https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Blades%20in%20the%20Dark/Assets/rolltemplate/rolltemplate-action.gif")}.sheet-rolltemplate-bitd .sheet-resist{background-image:url("https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Blades%20in%20the%20Dark/Assets/rolltemplate/rolltemplate-resist.jpg")}.sheet-rolltemplate-bitd .sheet-vice{background-image:url("https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Blades%20in%20the%20Dark/Assets/rolltemplate/rolltemplate-vice.jpg")}.sheet-rolltemplate-bitd img{display:block;height:100%}.sheet-rolltemplate-bitd .sheet-header{display:-webkit-box;margin:16px 0 0;font-size:15px;height:35px;line-height:17.5px;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-variant:small-caps;text-overflow:ellipsis}.sheet-rolltemplate-bitd .sheet-resist .sheet-header{color:#8da8bb}.sheet-rolltemplate-bitd .sheet-vice .sheet-header{color:white}.sheet-rolltemplate-bitd .sheet-fortune .sheet-header{color:#303032}.sheet-rolltemplate-bitd .sheet-action .sheet-header{color:#e74a10}.sheet-rolltemplate-bitd>.sheet-action .sheet-header,.sheet-rolltemplate-bitd>.sheet-fortune .sheet-header{letter-spacing:1px;font-weight:800}.sheet-rolltemplate-bitd .sheet-holder.sheet-fortune.sheet-short .sheet-header{margin-bottom:-51px}.sheet-rolltemplate-bitd .sheet-title{color:white;text-transform:uppercase;font-weight:bold}.sheet-rolltemplate-bitd .sheet-action .sheet-title,.sheet-rolltemplate-bitd .sheet-fortune .sheet-title{margin:22px 0 0;font-size:36px;line-height:31px;height:31px}.sheet-rolltemplate-bitd .sheet-vice .sheet-title,.sheet-rolltemplate-bitd .sheet-resist .sheet-title{margin:11px 0 0;font-size:24px;line-height:24px;height:24px}.sheet-rolltemplate-bitd .sheet-fortune .sheet-title{color:black}.sheet-rolltemplate-bitd .sheet-small-title{font-size:28px}.sheet-rolltemplate-bitd .sheet-position,.sheet-rolltemplate-bitd .sheet-effect{display:inline-block;box-sizing:border-box;width:50%;color:white;text-transform:uppercase;font-size:12px;letter-spacing:1px;padding:20px 0 0}.sheet-rolltemplate-bitd .sheet-effect{padding-left:14px}.sheet-rolltemplate-bitd .sheet-dice{height:27px;font-size:19px;line-height:20px;color:white}.sheet-rolltemplate-bitd .sheet-action .sheet-dice{margin:47px 0 19px}.sheet-rolltemplate-bitd .sheet-resist .sheet-dice,.sheet-rolltemplate-bitd .sheet-vice .sheet-dice{margin:35px 0 23px}.sheet-rolltemplate-bitd .sheet-fortune .sheet-dice{margin:15px 0 10px;color:#303032}.sheet-rolltemplate-bitd .sheet-action .sheet-zerodice1{text-shadow:0 0 6px #ff9e00;color:white}.sheet-rolltemplate-bitd .sheet-fortune .sheet-zerodice1{text-shadow:0 0 6px #88dbd7;color:#1e1e1e}.sheet-rolltemplate-bitd .sheet-vice .sheet-zerodice1,.sheet-rolltemplate-bitd .sheet-resist .sheet-zerodice1{text-shadow:0 0 6px #09c7d0;color:white}.sheet-rolltemplate-bitd .sheet-zerodice2{line-height:1;font-size:12.5px;margin-top:7px;font-style:italic}.sheet-rolltemplate-bitd .sheet-vice .sheet-zerodice2,.sheet-rolltemplate-bitd .sheet-resist .sheet-zerodice2{text-shadow:0 0 6px #09c7d0;color:#d8e4ef}.sheet-rolltemplate-bitd .sheet-action .sheet-zerodice2{text-shadow:0 0 6px #ff9e00;color:#ffd8ca}.sheet-rolltemplate-bitd .sheet-fortune .sheet-zerodice2{width:60%;text-shadow:0 0 6px #88dbd7;color:#1e1e1e}.sheet-rolltemplate-bitd .inlinerollresult{border:none !important;background-color:transparent;font-weight:normal;padding:0 3px 0 0}.sheet-rolltemplate-bitd .sheet-comma:last-child{display:none}.sheet-rolltemplate-bitd .sheet-instructions{padding:15px 0 0;line-height:1.3}.sheet-rolltemplate-bitd .sheet-resist .sheet-instructions{color:#d3dde4;font-size:13px}.sheet-rolltemplate-bitd .sheet-vice .sheet-instructions{color:#c9c9c9;font-size:11px}.sheet-rolltemplate-bitd .sheet-notes{width:56%;line-height:1.2;font-size:13px;padding:20px 0;color:#303032}.sheet-rolltemplate-bitd-broadcast{margin:0 -1px 0 -45px;padding:16px 20px 15px;overflow:hidden;box-sizing:border-box;font-family:Georgia, "Bitstream Charter", "Times New Roman", serif;width:299px;background-color:#180d06}.sheet-rolltemplate-bitd-broadcast .sheet-korean{font-family:"Malgun Gothic", Dotum, Georgia, "Bitstream Charter", "Times New Roman", serif}.sheet-rolltemplate-bitd-broadcast .sheet-header{color:#e74a10;font-size:15px;line-height:19px;font-variant:small-caps;letter-spacing:1px;font-weight:800}.sheet-rolltemplate-bitd-broadcast .sheet-flex{display:flex;align-items:center;margin:5px 0 0}.sheet-rolltemplate-bitd-broadcast .sheet-flex .sheet-title{margin:0;font-size:20px;line-height:1.2}.sheet-rolltemplate-bitd-broadcast .sheet-title{margin:9px 0 0;color:white;text-transform:uppercase;font-weight:bold;font-size:23px;line-height:29px}.sheet-rolltemplate-bitd-broadcast .sheet-content{padding:15px 0 5px;line-height:1.3;font-size:13px;color:#ccc}.sheet-rolltemplate-bitd-broadcast img{margin:9px 0 0;display:block;height:31px}.sheet-rolltemplate-bitd-broadcast .sheet-harm{color:white;width:100%;margin:15px 0 0;border:1px solid white}.sheet-rolltemplate-bitd-broadcast .sheet-harm td{text-align:center;padding:5px;border:1px solid white}.sheet-rolltemplate-bitd-broadcast .sheet-harm td:first-child{width:10px}.sheet-rolltemplate-bitd-broadcast .sheet-harm td:nth-child(2n+1){font-weight:bold}.sheet-rolltemplate-bitd-broadcast .sheet-harm td:nth-child(2){padding:5px 0}.sheet-rolltemplate-bitd-broadcast .sheet-harm td:last-child{width:60px;letter-spacing:0.5px;text-transform:uppercase}.sheet-rolltemplate-bitd-broadcast .sheet-harm-inner{color:#e74a10;padding:0 5px}.sheet-rolltemplate-bitd-broadcast .sheet-harm-inner:first-child:not(:last-child){padding-bottom:2.5px;border-bottom:1px solid white}.sheet-rolltemplate-bitd-broadcast .sheet-harm-inner:last-child:not(:first-child){padding-top:2.5px}.sheet-rolltemplate-bitd-broadcast .sheet-clock{width:88px;flex:0 0 auto;box-sizing:border-box;position:relative;background:white;height:88px;border:4px solid black;border-radius:50%;margin-right:4px}.sheet-rolltemplate-bitd-broadcast [class^='sheet-spoke']{height:88px;width:4px;position:absolute;background:black}.sheet-rolltemplate-bitd-broadcast [class^='sheet-spoke']:not(.sheet-spoke-0){display:none}.sheet-rolltemplate-bitd-broadcast .sheet-size-4 .sheet-spoke-90,.sheet-rolltemplate-bitd-broadcast .sheet-size-6 .sheet-spoke-60,.sheet-rolltemplate-bitd-broadcast .sheet-size-6 .sheet-spoke-120,.sheet-rolltemplate-bitd-broadcast .sheet-size-8 .sheet-spoke-45,.sheet-rolltemplate-bitd-broadcast .sheet-size-8 .sheet-spoke-90,.sheet-rolltemplate-bitd-broadcast .sheet-size-8 .sheet-spoke-135,.sheet-rolltemplate-bitd-broadcast .sheet-size-10 .sheet-spoke-36,.sheet-rolltemplate-bitd-broadcast .sheet-size-10 .sheet-spoke-72,.sheet-rolltemplate-bitd-broadcast .sheet-size-10 .sheet-spoke-108,.sheet-rolltemplate-bitd-broadcast .sheet-size-10 .sheet-spoke-144,.sheet-rolltemplate-bitd-broadcast .sheet-size-12 .sheet-spoke-30,.sheet-rolltemplate-bitd-broadcast .sheet-size-12 .sheet-spoke-60,.sheet-rolltemplate-bitd-broadcast .sheet-size-12 .sheet-spoke-90,.sheet-rolltemplate-bitd-broadcast .sheet-size-12 .sheet-spoke-120,.sheet-rolltemplate-bitd-broadcast .sheet-size-12 .sheet-spoke-150{display:block}.sheet-rolltemplate-bitd-broadcast .sheet-spoke-0{transform:translate(39px, -4px)}.sheet-rolltemplate-bitd-broadcast .sheet-spoke-30{transform:translate(39px, -4px) rotate(30deg)}.sheet-rolltemplate-bitd-broadcast .sheet-spoke-36{transform:translate(39px, -4px) rotate(36deg)}.sheet-rolltemplate-bitd-broadcast .sheet-spoke-45{transform:translate(39px, -4px) rotate(45deg)}.sheet-rolltemplate-bitd-broadcast .sheet-spoke-60{transform:translate(39px, -4px) rotate(60deg)}.sheet-rolltemplate-bitd-broadcast .sheet-spoke-72{transform:translate(39px, -4px) rotate(72deg)}.sheet-rolltemplate-bitd-broadcast .sheet-spoke-90{transform:translate(39px, -4px) rotate(90deg)}.sheet-rolltemplate-bitd-broadcast .sheet-spoke-108{transform:translate(39px, -4px) rotate(108deg)}.sheet-rolltemplate-bitd-broadcast .sheet-spoke-120{transform:translate(39px, -4px) rotate(120deg)}.sheet-rolltemplate-bitd-broadcast .sheet-spoke-135{transform:translate(39px, -4px) rotate(135deg)}.sheet-rolltemplate-bitd-broadcast .sheet-spoke-144{transform:translate(39px, -4px) rotate(144deg)}.sheet-rolltemplate-bitd-broadcast .sheet-spoke-150{transform:translate(39px, -4px) rotate(150deg)}.sheet-rolltemplate-bitd-broadcast .sheet-size-4.sheet-progress-1{background-image:linear-gradient(90deg, #fff 50%, transparent 50%),linear-gradient(180deg, red 50%, #fff 50%)}.sheet-rolltemplate-bitd-broadcast .sheet-size-4.sheet-progress-2{background-image:linear-gradient(90deg, #fff 50%, red 50%)}.sheet-rolltemplate-bitd-broadcast .sheet-size-4.sheet-progress-3{background-image:linear-gradient(180deg, transparent 50%, red 50%),linear-gradient(90deg, #fff 50%, red 50%)}.sheet-rolltemplate-bitd-broadcast .sheet-size-4.sheet-progress-4{background:red}.sheet-rolltemplate-bitd-broadcast .sheet-size-6.sheet-progress-1{background-image:linear-gradient(90deg, #fff 50%, transparent 50%),linear-gradient(150deg, red 50%, #fff 50%)}.sheet-rolltemplate-bitd-broadcast .sheet-size-6.sheet-progress-2{background-image:linear-gradient(90deg, #fff 50%, transparent 50%),linear-gradient(210deg, red 50%, #fff 50%)}.sheet-rolltemplate-bitd-broadcast .sheet-size-6.sheet-progress-3{background-image:linear-gradient(90deg, #fff 50%, red 50%)}.sheet-rolltemplate-bitd-broadcast .sheet-size-6.sheet-progress-4{background-image:linear-gradient(150deg, transparent 50%, red 50%),linear-gradient(90deg, #fff 50%, red 50%)}.sheet-rolltemplate-bitd-broadcast .sheet-size-6.sheet-progress-5{background-image:linear-gradient(210deg, transparent 50%, red 50%),linear-gradient(90deg, #fff 50%, red 50%)}.sheet-rolltemplate-bitd-broadcast .sheet-size-6.sheet-progress-6{background:red}.sheet-rolltemplate-bitd-broadcast .sheet-size-8.sheet-progress-1{background-image:linear-gradient(90deg, #fff 50%, transparent 50%),linear-gradient(135deg, red 50%, #fff 50%)}.sheet-rolltemplate-bitd-broadcast .sheet-size-8.sheet-progress-2{background-image:linear-gradient(90deg, #fff 50%, transparent 50%),linear-gradient(180deg, red 50%, #fff 50%)}.sheet-rolltemplate-bitd-broadcast .sheet-size-8.sheet-progress-3{background-image:linear-gradient(90deg, #fff 50%, transparent 50%),linear-gradient(225deg, red 50%, #fff 50%)}.sheet-rolltemplate-bitd-broadcast .sheet-size-8.sheet-progress-4{background-image:linear-gradient(90deg, #fff 50%, red 50%)}.sheet-rolltemplate-bitd-broadcast .sheet-size-8.sheet-progress-5{background-image:linear-gradient(135deg, transparent 50%, red 50%),linear-gradient(90deg, #fff 50%, red 50%)}.sheet-rolltemplate-bitd-broadcast .sheet-size-8.sheet-progress-6{background-image:linear-gradient(180deg, transparent 50%, red 50%),linear-gradient(90deg, #fff 50%, red 50%)}.sheet-rolltemplate-bitd-broadcast .sheet-size-8.sheet-progress-7{background-image:linear-gradient(225deg, transparent 50%, red 50%),linear-gradient(90deg, #fff 50%, red 50%)}.sheet-rolltemplate-bitd-broadcast .sheet-size-8.sheet-progress-8{background:red}.sheet-rolltemplate-bitd-broadcast .sheet-size-10.sheet-progress-1{background-image:linear-gradient(90deg, #fff 50%, transparent 50%),linear-gradient(126deg, red 50%, #fff 50%)}.sheet-rolltemplate-bitd-broadcast .sheet-size-10.sheet-progress-2{background-image:linear-gradient(90deg, #fff 50%, transparent 50%),linear-gradient(162deg, red 50%, #fff 50%)}.sheet-rolltemplate-bitd-broadcast .sheet-size-10.sheet-progress-3{background-image:linear-gradient(90deg, #fff 50%, transparent 50%),linear-gradient(198deg, red 50%, #fff 50%)}.sheet-rolltemplate-bitd-broadcast .sheet-size-10.sheet-progress-4{background-image:linear-gradient(90deg, #fff 50%, transparent 50%),linear-gradient(234deg, red 50%, #fff 50%)}.sheet-rolltemplate-bitd-broadcast .sheet-size-10.sheet-progress-5{background-image:linear-gradient(90deg, #fff 50%, red 50%)}.sheet-rolltemplate-bitd-broadcast .sheet-size-10.sheet-progress-6{background-image:linear-gradient(126deg, transparent 50%, red 50%),linear-gradient(90deg, #fff 50%, red 50%)}.sheet-rolltemplate-bitd-broadcast .sheet-size-10.sheet-progress-7{background-image:linear-gradient(162deg, transparent 50%, red 50%),linear-gradient(90deg, #fff 50%, red 50%)}.sheet-rolltemplate-bitd-broadcast .sheet-size-10.sheet-progress-8{background-image:linear-gradient(198deg, transparent 50%, red 50%),linear-gradient(90deg, #fff 50%, red 50%)}.sheet-rolltemplate-bitd-broadcast .sheet-size-10.sheet-progress-9{background-image:linear-gradient(234deg, transparent 50%, red 50%),linear-gradient(90deg, #fff 50%, red 50%)}.sheet-rolltemplate-bitd-broadcast .sheet-size-10.sheet-progress-10{background:red}.sheet-rolltemplate-bitd-broadcast .sheet-size-12.sheet-progress-1{background-image:linear-gradient(90deg, #fff 50%, transparent 50%),linear-gradient(120deg, red 50%, #fff 50%)}.sheet-rolltemplate-bitd-broadcast .sheet-size-12.sheet-progress-2{background-image:linear-gradient(90deg, #fff 50%, transparent 50%),linear-gradient(150deg, red 50%, #fff 50%)}.sheet-rolltemplate-bitd-broadcast .sheet-size-12.sheet-progress-3{background-image:linear-gradient(90deg, #fff 50%, transparent 50%),linear-gradient(180deg, red 50%, #fff 50%)}.sheet-rolltemplate-bitd-broadcast .sheet-size-12.sheet-progress-4{background-image:linear-gradient(90deg, #fff 50%, transparent 50%),linear-gradient(210deg, red 50%, #fff 50%)}.sheet-rolltemplate-bitd-broadcast .sheet-size-12.sheet-progress-5{background-image:linear-gradient(90deg, #fff 50%, transparent 50%),linear-gradient(240deg, red 50%, #fff 50%)}.sheet-rolltemplate-bitd-broadcast .sheet-size-12.sheet-progress-6{background-image:linear-gradient(90deg, #fff 50%, red 50%)}.sheet-rolltemplate-bitd-broadcast .sheet-size-12.sheet-progress-7{background-image:linear-gradient(120deg, transparent 50%, red 50%),linear-gradient(90deg, #fff 50%, red 50%)}.sheet-rolltemplate-bitd-broadcast .sheet-size-12.sheet-progress-8{background-image:linear-gradient(150deg, transparent 50%, red 50%),linear-gradient(90deg, #fff 50%, red 50%)}.sheet-rolltemplate-bitd-broadcast .sheet-size-12.sheet-progress-9{background-image:linear-gradient(180deg, transparent 50%, red 50%),linear-gradient(90deg, #fff 50%, red 50%)}.sheet-rolltemplate-bitd-broadcast .sheet-size-12.sheet-progress-10{background-image:linear-gradient(210deg, transparent 50%, red 50%),linear-gradient(90deg, #fff 50%, red 50%)}.sheet-rolltemplate-bitd-broadcast .sheet-size-12.sheet-progress-11{background-image:linear-gradient(240deg, transparent 50%, red 50%),linear-gradient(90deg, #fff 50%, red 50%)}.sheet-rolltemplate-bitd-broadcast .sheet-size-12.sheet-progress-12{background:red} diff --git a/Blades in the Dark/blades.html b/Blades in the Dark/blades.html index 7c71f2957b..51ccb0b8ee 100644 --- a/Blades in the Dark/blades.html +++ b/Blades in the Dark/blades.html @@ -1,5 +1,3 @@ -
Character ModeCrew ModeFaction Mode
Version
Vampire's Dark Talent:
Resistance bonus:
Load:
You have an intense need: life essence. To satisfy this need, possess a living victim and consume their spirit energy (this may be a downtime action). When you do so, clear half your drain (round down).
Your clockwork body runs on electroplasm. Recharge your capacitors by connecting to an industrial-grade generator (downtime action). When you do this, clear 5 drain.
Your vice is life essence, consumed from a living human. Use 1 downtime activity to hunt prey and indulge your vice. Also, when you feed, erase all level 1 harm and mark 4 ticks on your healing clock. This is is the only way you can heal. How do you feed? What telltale sign do you leave on your victims?
Harm
3
Need Help
2
-1D
1
Less Effect
progress clock
Armor uses
Coin



Special Abilities
Mark XP:
Playbook Advancement
  • Every time you roll a desperate action, mark xp in that action's attribute.
  • At the end of each session, for each item below, mark 1 xp (or instead mark 2 xp if that item occurred multiple times).
  • You expressed your beliefs, drives, heritage, or background.
  • You struggled with issues from your vice or traumas during the session.
Teamwork
Assist a teammate
Lead a group action
Protect a teammate
Set up a teammate
Gather Information
  • What's really going on here?
Strictures
When you gain a new vampire trait (except veteran), add a stricture.
In downtime, you must spend one activity resting in a dark, silent place (or else suffer 3 stress).
You cannot enter a private residence without permission from the owner.
Spiritbane charms can hold you at bay. (Take 2 stress to resist the repulsion.)
When you suffer physical harm or overindulge your vice, your body twists into a horrific bestial form until you next feed without overindulging.
Your spirit must remain in this body, or be destroyed.
To generate playbook abilities, items, and friends, enter the name of the playbook above:
Cutter, Hound, Leech, Lurk, Slide, Spider, Whisper, Ghost, Hull, or Vampire.
load
Items
(italics don't count for load)
How much load?
How much load?
Alchemicals
Bandoliers
When you use a bandolier slot, choose an alchemical:
Planning & Load
Choose a plan, provide the detail. Choose your load limit for the operation.
AssaultPoint of attack
OccultArcane power
DeceptionMethod
SocialConnection
StealthEntry point
TransportRoute
Gang
Elite
Expert
Q:
Bonus Die
+
Push yourself
(take 2 ) - or - accept a
Devil's Bargain
Clocks
Crew sheet
Rep
Turf
Hold
Lair
Coin
Vaults
Upon crew advance, each PC gets Stash = Tier+2
Special Abilities
Mark XP:
Crew Advancement
  • At the end of each session, for each item below, mark 1 xp (or instead mark 2 xp if that item occurred multiple times).
  • Contend with challenges above your current station.
  • Bolster your crew's reputation or develop a new one.
  • Express the goals, drives, inner conflict, or essential nature of the crew.
To generate crew abilities, upgrades, contacts, and claims, enter the name of the crew type above:
Assassins, Bravos, Cult, Hawkers, Shadows, Smugglers, or Vigilantes.
Crew Upgrades
How many boxes?
Lair
Quality
Training
Cohorts
Upgrade Costs
New Cohort: 2
Add Type: 2
Gang
Elite
Expert
Gang
Gang
Elite
Expert
Clocks
TierHoldStatus
TierHoldStatus
TierHoldStatus
TierHoldStatus
TierHoldStatus
War
  • When you're at war with any number of factions (status -3), the following penalties apply:
  • Lose 1 hold (temporarily, while the war persists). This may knock you down a Tier.
  • PCs get only one free downtime action instead of two.
  • Take +1 heat from each score.
  • Your claims which generate coin (vice dens, fighting pits, fences, etc.) produce only half their normal income (round down).
Clocks
-
{{charname}} {{subtitle}}
{{#title-text}}{{title}}{{/title-text}}{{^title-text}}{{#rolltypetext}}[{{rolltypetext}}]({{rolltypeimage}}){{/rolltypetext}}{{#title-insight}}{{/title-insight}}{{#title-prowess}}{{/title-prowess}}{{#title-resolve}}{{/title-resolve}}{{#title-hunt}}{{/title-hunt}}{{#title-study}}{{/title-study}}{{#title-survey}}{{/title-survey}}{{#title-tinker}}{{/title-tinker}}{{#title-finesse}}{{/title-finesse}}{{#title-prowl}}{{/title-prowl}}{{#title-skirmish}}{{/title-skirmish}}{{#title-wreck}}{{/title-wreck}}{{#title-attune}}{{/title-attune}}{{#title-command}}{{/title-command}}{{#title-consort}}{{/title-consort}}{{#title-sway}}{{/title-sway}}{{#title-fortune}}{{/title-fortune}}{{#title-vice}}{{/title-vice}}{{#title-crew_tier}}{{/title-crew_tier}}{{#title-entanglement}}{{/title-entanglement}}{{#title-cohort_quality}}{{/title-cohort_quality}}{{#title-lifestyle}}{{/title-lifestyle}}{{#title-recovery}}{{/title-recovery}}{{#title-engagement}}{{/title-engagement}}{{/title-text}}
{{#rollGreater() roll1 0}}{{roll1}}, {{/rollGreater() roll1 0}}{{#rollGreater() roll2 0}}{{roll2}}, {{/rollGreater() roll2 0}}{{#rollGreater() roll3 0}}{{roll3}}, {{/rollGreater() roll3 0}}{{#rollGreater() roll4 0}}{{roll4}}, {{/rollGreater() roll4 0}}{{#rollGreater() roll5 0}}{{roll5}}, {{/rollGreater() roll5 0}}{{#rollGreater() roll6 0}}{{roll6}}, {{/rollGreater() roll6 0}}{{#rollGreater() roll7 0}}{{roll7}}, {{/rollGreater() roll7 0}}{{#rollGreater() roll8 0}}{{roll8}}, {{/rollGreater() roll8 0}}{{#rollGreater() roll9 0}}{{roll9}}, {{/rollGreater() roll9 0}}{{#rollGreater() roll10 0}}{{roll10}}, {{/rollGreater() roll10 0}}{{#rollGreater() roll11 0}}{{roll11}}, {{/rollGreater() roll11 0}}{{#rollGreater() roll12 0}}{{roll12}}, {{/rollGreater() roll12 0}}{{#rollGreater() zerodice 0}}
{{zerodice}}
Zero Dice - take the lowest result above
{{/rollGreater() zerodice 0}}
{{#position}}
{{position}}
{{/position}}{{#effect}}
{{effect}}
{{/effect}}{{#resist}}{{^short}}
Suffer 6 stress minus the highest die result. When you roll a critical on resistance, clear 1 stress.
{{/short}}{{/resist}}{{#vice}}{{^short}}
Clear an amount of stress equal to the highest die result. If the result of your vice roll means you clear more stress levels than you had marked, you overindulge.
{{/short}}{{/vice}}{{#notes}}
{{notes}}
{{/notes}}
{{charname}}
{{type}}
{{#content}}
{{title}}
{{content}}
{{/content}}{{#clock}}
{{title}}
{{/clock}}{{#harm}}{{#title-text}}
Harm
{{/title-text}}{{^title-text}}{{/title-text}}
3{{#harm3}}
{{harm3}}
{{/harm3}}
Need help
2{{#harm2_1}}
{{harm2_1}}
{{/harm2_1}}{{#harm2_2}}
{{harm2_2}}
{{/harm2_2}}
-1D
1{{#harm1_1}}
{{harm1_1}}
{{/harm1_1}}{{#harm1_2}}
{{harm1_2}}
{{/harm1_2}}
Less Effect
{{/harm}}
- +
3
2
1




  • You expressed your beliefs, drives, heritage, or background.
  • You struggled with issues from your vice or traumas during the session.

Q:
+

+
{{charname}} {{subtitle}}
{{#title-text}}{{title}}{{/title-text}}{{^title-text}}{{#rolltypetext}}[{{rolltypetext}}]({{rolltypeimage}}){{/rolltypetext}}{{#title-insight}}{{/title-insight}}{{#title-prowess}}{{/title-prowess}}{{#title-resolve}}{{/title-resolve}}{{#title-hunt}}{{/title-hunt}}{{#title-study}}{{/title-study}}{{#title-survey}}{{/title-survey}}{{#title-tinker}}{{/title-tinker}}{{#title-finesse}}{{/title-finesse}}{{#title-prowl}}{{/title-prowl}}{{#title-skirmish}}{{/title-skirmish}}{{#title-wreck}}{{/title-wreck}}{{#title-attune}}{{/title-attune}}{{#title-command}}{{/title-command}}{{#title-consort}}{{/title-consort}}{{#title-sway}}{{/title-sway}}{{#title-fortune}}{{/title-fortune}}{{#title-vice}}{{/title-vice}}{{#title-crew_tier}}{{/title-crew_tier}}{{#title-entanglement}}{{/title-entanglement}}{{#title-cohort_quality}}{{/title-cohort_quality}}{{#title-lifestyle}}{{/title-lifestyle}}{{#title-recovery}}{{/title-recovery}}{{#title-engagement}}{{/title-engagement}}{{/title-text}}
{{#rollGreater() roll1 0}}{{roll1}}, {{/rollGreater() roll1 0}}{{#rollGreater() roll2 0}}{{roll2}}, {{/rollGreater() roll2 0}}{{#rollGreater() roll3 0}}{{roll3}}, {{/rollGreater() roll3 0}}{{#rollGreater() roll4 0}}{{roll4}}, {{/rollGreater() roll4 0}}{{#rollGreater() roll5 0}}{{roll5}}, {{/rollGreater() roll5 0}}{{#rollGreater() roll6 0}}{{roll6}}, {{/rollGreater() roll6 0}}{{#rollGreater() roll7 0}}{{roll7}}, {{/rollGreater() roll7 0}}{{#rollGreater() roll8 0}}{{roll8}}, {{/rollGreater() roll8 0}}{{#rollGreater() roll9 0}}{{roll9}}, {{/rollGreater() roll9 0}}{{#rollGreater() roll10 0}}{{roll10}}, {{/rollGreater() roll10 0}}{{#rollGreater() roll11 0}}{{roll11}}, {{/rollGreater() roll11 0}}{{#rollGreater() roll12 0}}{{roll12}}, {{/rollGreater() roll12 0}}{{#rollGreater() zerodice 0}}
{{zerodice}}
{{/rollGreater() zerodice 0}}
{{#position}}
{{position}}
{{/position}}{{#effect}}
{{effect}}
{{/effect}}{{#resist}}{{^short}}
{{/short}}{{/resist}}{{#vice}}{{^short}}
{{/short}}{{/vice}}{{#notes}}
{{notes}}
{{/notes}}
{{charname}}
{{type}}
{{#content}}
{{title}}
{{content}}
{{/content}}{{#clock}}
{{title}}
{{/clock}}{{#harm}}{{#title-text}}
{{/title-text}}{{^title-text}}{{/title-text}}
3
{{harm3}}
2{{#harm2_1}}
{{harm2_1}}
{{/harm2_1}}{{#harm2_2}}
{{harm2_2}}
{{/harm2_2}}
1{{#harm1_1}}
{{harm1_1}}
{{/harm1_1}}{{#harm1_2}}
{{harm1_2}}
{{/harm1_2}}
{{/harm}}
+ diff --git a/Blades in the Dark/blades.jpg b/Blades in the Dark/blades.jpg deleted file mode 100644 index c3716c9363..0000000000 Binary files a/Blades in the Dark/blades.jpg and /dev/null differ diff --git a/Blades in the Dark/blades.png b/Blades in the Dark/blades.png new file mode 100644 index 0000000000..4ad9316407 Binary files /dev/null and b/Blades in the Dark/blades.png differ diff --git a/Blades in the Dark/sheet.json b/Blades in the Dark/sheet.json index 9d0be5ca01..81fefb4823 100644 --- a/Blades in the Dark/sheet.json +++ b/Blades in the Dark/sheet.json @@ -3,6 +3,6 @@ "css": "blades.css", "authors": "Tim Denee, Jakob Oesinghaus", "roll20userid": "782723, 726129", - "preview": "blades.jpg", - "instructions": "This sheet for Blades in the Dark is designed to look similar to the paper sheets, and includes a sheet for both characters and the crew, as well as a faction status tracker." + "preview": "blades.png", + "instructions": "This sheet for Blades in the Dark is designed to look similar to the paper sheets, and includes a sheet for both characters and the crew, as well as a faction status tracker.\nFor questions or bug reports, feel free to contact me on Discord (@deceptive.duality#6358) or Roll20." } diff --git a/Blades in the Dark/translation.json b/Blades in the Dark/translation.json index b522c4784d..9057cf5584 100644 --- a/Blades in the Dark/translation.json +++ b/Blades in the Dark/translation.json @@ -21,6 +21,7 @@ "alcahest": "Alcahest", "alchemicals": "Alchemicals", "alias": "Alias", + "alternate_iruvian_playbooks": "Unoffical alternate Iruvian playbooks", "an_unusual_weapon": "An Unusual weapon", "an_unusual_weapon_description": "A curiosity or tool turned into a weapon. A whip, a flail, a hatchet, a shovel, a length of chain, a razor-edged fan, steel-toed boots.", "an_upgrade": "An upgrade", @@ -488,6 +489,7 @@ "factions4": "The Fringe", "factions5": "Citizenry", "factions_title": "Factions of Doskvol", + "faris": "Faris", "features": "Features", "fill_fields": "Fill in sheet fields automatically upon entering or changing playbook or crew type", "finesse": "Finesse", @@ -497,6 +499,7 @@ "flaws": "Flaws", "flexible_width": "Flexible character sheet width (adapts to container)", "forbidden": "Forbidden", + "forger": "Forger", "fortune": "Fortune", "fortune_roll": "Fortune roll", "frame": "Frame", @@ -573,6 +576,7 @@ "italics_dont_count": "(italics don't count for load)", "item_name": "A useful item", "items": "Items", + "janissary": "Janissary", "lair": "Lair", "lantern": "Lantern", "lantern_description": "A simple oil lantern, a fancy electroplasmic lamp, or other light source.", @@ -590,6 +594,7 @@ "mark_xp:": "Mark XP:", "mastery": "Mastery", "minus1d": "-1D", + "mirage": "Mirage", "name": "Name", "need_help": "Need Help", "new_cohort": "New Cohort: 2", @@ -613,6 +618,8 @@ "playbook_ability_a_void_in_the_echo_description": "You are invisible to spirits and may not be harmed by them. Take 2 stress to cause living things to avert their gaze and fail to observe you for a few moments.", "playbook_ability_alchemist": "Alchemist", "playbook_ability_alchemist_description": "When you invent or craft a creation with alchemical features, take +1 result level to your roll. You begin with one special formula already known.", + "playbook_ability_ambitious": "Ambitious", + "playbook_ability_ambitious_description": "You gain an additional xp trigger: You defended your turf or tried to expand it. If your crew followed your lead, also mark crew xp.", "playbook_ability_ambush": "Ambush", "playbook_ability_ambush_description": "When you attack from hiding or spring a trap, you get +1d.", "playbook_ability_analyst": "Analyst", @@ -637,22 +644,30 @@ "playbook_ability_compel_description": "You can Attune to the ghost field to force a nearby ghost to appear and obey a command you give it. You are not supernaturally terrified by a ghost you summon or compel (though your allies may be).", "playbook_ability_connected": "Connected", "playbook_ability_connected_description": "During downtime, you get +1 result level when you acquire an asset or reduce heat.", + "playbook_ability_cut-out": "Cut-out", + "playbook_ability_cut-out_description": "You may expend your special armor to resist a consequence from suspicion or persuasion, or to push yourself when acting on someone else’s behalf.", "playbook_ability_daredevil": "Daredevil", "playbook_ability_daredevil_description": "When you roll a desperate action, you get +1d to your roll if you also take -1d to any resistance rolls against consequences from your action.", "playbook_ability_dark_talent-N": "Dark Talent", "playbook_ability_dark_talent-N_description": "Choose Insight, Prowess, or Resolve. Your max rating for actions under that attribute becomes 5. When you take this ability, add +1 dot to the resistance rating of the attribute you've chosen.", "playbook_ability_dissipate": "Dissipate", "playbook_ability_dissipate_description": "You can disperse the electroplasmic vapor of your ghostly form in order to pass through solid objects for a moment. Take 1 drain when you dissipate, plus 1 drain for each feature: It lasts longer (a minute — an hour — a day) — you also become invisible — anything that passes through your form becomes dangerously electrified or frozen.", + "playbook_ability_driven": "Driven", + "playbook_ability_driven_description": "You may expend your special armor to resist a consequence of fatigue, weakness, or chemical effects, or to push yourself when wreaking havoc and destruction.", "playbook_ability_electroplasmic_projectors": "Electroplasmic Projectors", "playbook_ability_electroplasmic_projectors_description": "You may release some of your plasmic energy as an electrical shock around you or as a directed beam. You may also use this ability to create a lightning barrier to repel or trap a spirit. Take 1 drain for each level of magnitude.", "playbook_ability_expertise": "Expertise", "playbook_ability_expertise_description": "Choose one of your action ratings. When you lead a group action using that action, you can suffer only 1 stress at most regardless of the number of failed rolls.", + "playbook_ability_eye_for_weakness": "Eye for Weakness", + "playbook_ability_eye_for_weakness_description": "When you gather information about someone’s vulnerabilities, you get +1 effect. If you use this information to help plan a score, you also get +1d to the engagement roll for that operation.", "playbook_ability_focused": "Focused", "playbook_ability_focused_description": "You may expend your special armor to resist a consequence of surprise or mental harm (fear, confusion, losing track of someone) or to push yourself for ranged combat or tracking.", "playbook_ability_foresight": "Foresight", "playbook_ability_foresight_description": "Two times per score you can assist a teammate without paying stress. Tell us how you prepared for this.", "playbook_ability_fortitude": "Fortitude", "playbook_ability_fortitude_description": "You may expend your special armor to resist a consequence of fatigue, weakness, or chemical effects, or to push yourself when working with technical skill or handling alchemicals.", + "playbook_ability_fortune_teller": "Fortune Teller", + "playbook_ability_fortune_teller_description": "You may Attune to a nearby person’s thoughts, in order to “hear” them yourself.", "playbook_ability_frame_upgrade": "Frame Upgrade", "playbook_ability_frame_upgrade_description": "Choose an additional frame feature. This upgrade may be taken up to four times.", "playbook_ability_functioning_vice": "Functioning Vice", @@ -663,8 +678,16 @@ "playbook_ability_ghost_fighter_description": "You may imbue your hands, melee weapons, or tools with spirit energy. You gain potency in combat vs. the supernatural. You may grapple with spirits to restrain and capture them.", "playbook_ability_ghost_form": "Ghost Form", "playbook_ability_ghost_form_description": "You are now a concentration of electroplasmic vapor which resembles your living body and clothes. You may weakly interact with the physical world and vice versa. You're vulnerable to arcane powers and electroplasmic effects. You move about by floating and may fly swiftly without tiring. You may slowly flow through small openings as a vapor. You chill the area around you and are terrifying for the living to behold. You are affected by spiritbane charms (take 2 drain to overcome the repulsion). Whenever you would take stress, take drain instead. When you would take trauma, take gloom instead.", + "playbook_ability_ghost_friend": "Ghost Friend", + "playbook_ability_ghost_friend_description": "Through some arcane means, you are able to interact, physically and socially, with some supernatural beings as if they were normal humans. Choose one type: demons—forgotten gods—ghosts and spirits—hulls—vampires. Take this ability again to choose an additional type of being.", "playbook_ability_ghost_hunter": "Ghost Hunter", "playbook_ability_ghost_hunter_description": "Your hunting pet is imbued with spirit energy. It gains potency when tracking or fighting the supernatural, and gains an arcane ability: ghost-form, mind-link, or arrow-swift. Take this ability again to choose an additional arcane ability for your pet.", + "playbook_ability_ghost_image": "Ghost Image", + "playbook_ability_ghost_image_description": "You may create an illusion, which affects one sense (sight, hearing, smell, etc) for as long as you concentrate. Take 1 stress when it manifests, plus 1 stress for each additional feature: it can affect multiple senses—it can move—it last for several minutes after you stop concentrating.", + "playbook_ability_ghost_in_the_machine": "Ghost in the Machine", + "playbook_ability_ghost_in_the_machine_description": "You can make inanimate objects move on their own, as if possessed by a ghost. Take 1 stress to do so, plus 1 stress for each extra feature: The objects function as a weapon—you break or damage something—you cause numerous objects to move.", + "playbook_ability_ghost_legion": "Ghost Legion", + "playbook_ability_ghost_legion_description": "Your entourage gains potency when fighting the supernatural or defending you from it, and an arcane ability: they can capture ghosts, they can survive in the deathlands, or you can possess their bodies from afar. Take this ability again to choose an additional arcane ability for your entourage.", "playbook_ability_ghost_mind": "Ghost Mind", "playbook_ability_ghost_mind_description": "You’re always aware of supernatural entities in your presence. Take +1d when you gather info about the supernatural.", "playbook_ability_ghost_veil": "Ghost Veil", @@ -673,6 +696,10 @@ "playbook_ability_ghost_voice_description": "You know the secret method to interact with a ghost or demon as if it was a normal human, regardless of how wild or feral it appears. You gain potency when communicating with the supernatural.", "playbook_ability_ghost_ward": "Ghost Ward", "playbook_ability_ghost_ward_description": "You know how to Wreck an area with arcane substances and methods so it is either anathema or enticing to spirits (your choice).", + "playbook_ability_ghoul": "Ghoul", + "playbook_ability_ghoul_description": "You are able to consume any organic material, no matter how disgusting, as if it were food. You may devour an entire human body, and you are immune to poisons produced by plants and animals that are not arcane.", + "playbook_ability_hypnotic": "Hypnotic", + "playbook_ability_hypnotic_description": "You can push yourself to do one one of the following: paralyze someone you make eye contact with—plant a hypnotic command in someone’s mind, that they will obey at some later time.", "playbook_ability_infiltrator": "Infiltrator", "playbook_ability_infiltrator_description": "You are not affected by quality or Tier when you bypass security measures.", "playbook_ability_interface": "Interface", @@ -683,14 +710,24 @@ "playbook_ability_jail_bird_description": "When incarcerated, your wanted level counts as 1 less, your Tier as 1 more, and you gain +1 faction status with a faction you help on the inside (in addition to your incarceration roll).", "playbook_ability_leader": "Leader", "playbook_ability_leader_description": "When you Command a cohort in combat, they continue to fight when they would otherwise break (they're not taken out when they suffer level 3 harm). They gain +1 effect and 1 armor.", + "playbook_ability_like_a_star": "Like a Star", + "playbook_ability_like_a_star_description": "You can push yourself to do one of the following: levitate or float through the air like a ghost—produce a light from nothing (either brilliant and blinding or dim and long-lasting, your choice).", "playbook_ability_like_looking_into_a_mirror": "Like Looking into a Mirror", "playbook_ability_like_looking_into_a_mirror_description": "You can always tell when someone is lying to you.", + "playbook_ability_lost_&_found": "Lost & Found", + "playbook_ability_lost_&_found_description": "You may hide 1 item upon your person in such a way that it cannot be found until you produce it. It does not count against your load.", + "playbook_ability_machinist": "Machinist", + "playbook_ability_machinist_description": "You may expend your special armor to reduce harm caused by weapons, machinery, or devices, or to push yourself when using a gadget or other piece of technology.", "playbook_ability_manifest": "Manifest", "playbook_ability_manifest_description": "Take 1 drain to flow through the electroplasmic pathways of the ghost field in order to instantly travel to any place you knew intimately in life, or to answer the summoning call of a compel.", "playbook_ability_mastermind": "Mastermind", "playbook_ability_mastermind_description": "You may expend your special armor to protect a teammate, or to push yourself when you gather information or work on a long-term project.", "playbook_ability_mesmerism": "Mesmerism", "playbook_ability_mesmerism_description": "When you Sway someone, you may cause them to forget that it's happened until they next interact with you.", + "playbook_ability_misdirection": "Misdirection", + "playbook_ability_misdirection_description": "When you create a distraction, you get +1d.", + "playbook_ability_monstrous": "Monstrous", + "playbook_ability_monstrous_description": "You can push yourself to do one of the following: perform a feat of athletics that verges on the superhuman—take on the appearance of a frightening monster.", "playbook_ability_mule": "Mule", "playbook_ability_mule_description": "Your load limits are higher. Light: 5. Normal: 7. Heavy: 8.", "playbook_ability_not_to_be_trifled_with": "Not to be Trifled With", @@ -705,8 +742,18 @@ "playbook_ability_poltergeist_description": "Take 1 drain to strongly interact with the physical world for a few moments (as if you had a normal body). Extend the reach and magnitude of your interaction to include telekinetic force and electroplasmic discharges by taking more drain (2-6).", "playbook_ability_possess": "Possess", "playbook_ability_possess_description": "You may attune to the ghost field in order to take control of a living body. When your control is challenged, you must re-attune (risking electroplasmic harm) or leave the body. Your control is challenged when: you consume spirit energy from the host — when arcane powers act against you — when the host's will is driven to desperation. You may easily and indefinitely possess a hull or hollow which has been ritually prepared for you (change your playbook to Hull or Vampire, respectively).", + "playbook_ability_practiced": "Practiced", + "playbook_ability_practiced_description": "You may expend your special armor to resist a consequence from detection or security measures, or to push yourself while dealing with the arcane.", + "playbook_ability_prepared": "Prepared", + "playbook_ability_prepared_description": "You may expend your special armor to resist consequences suffered during a flashback, or to push yourself when you gather information or work on a long-term project.", + "playbook_ability_pyromancer": "Pyromancer", + "playbook_ability_pyromancer_description": "You can push yourself to do one of the following: produce a cloud of smoke or unleash a gout of flame as a weapon—drastically raise or lower the temperature of your immediate vicinity.", + "playbook_ability_red_right_hand": "Red Right Hand", + "playbook_ability_red_right_hand_description": "When you assist a teammate, you can choose to take 2 stress instead of only 1, and they get +1 effect, as well as +1d.", "playbook_ability_reflexes": "Reflexes", "playbook_ability_reflexes_description": "When there's a question about who acts first, the answer is you (two characters with Reflexes act simultaneously).", + "playbook_ability_revolutionary": "Revolutionary", + "playbook_ability_revolutionary_description": "You gain an additional xp trigger: You attacked the government or the nobility. If your crew attacked them too, also mark crew xp.", "playbook_ability_ritual": "Ritual", "playbook_ability_ritual_description": "You can Study an occult ritual (or create a new one) to summon a supernatural effect or being. You know the arcane methods to perform ritual sorcery. You begin with one ritual already learned.", "playbook_ability_rook's_gambit": "Rook's Gambit", @@ -719,30 +766,46 @@ "playbook_ability_scout-N_description": "When you gather info to locate a target, you get +1 effect. When you hide in a prepared position or use camouflage, you get +1d to rolls to avoid detection.", "playbook_ability_secondary_hull": "Secondary Hull", "playbook_ability_secondary_hull_description": "Choose an additional frame and its starting feature. You may transfer your consciousness between your frames at will.", + "playbook_ability_security": "Security", + "playbook_ability_security_description": "You may expend your special armor to resist a consequence of surprise or mental harm (fear, confusion, losing track of someone) or to push yourself when guarding a teammate.", + "playbook_ability_sending_a_message": "Sending a Message", + "playbook_ability_sending_a_message_description": "When you speak for a teammate or stand before them while they talk, you can help them Command or Sway without gaining stress.", "playbook_ability_shadow": "Shadow", "playbook_ability_shadow_description": "You may expend your special armor to resist a consequence from detection or security measures, or to push yourself for a feat of athletics or stealth.", "playbook_ability_sharpshooter": "Sharpshooter", "playbook_ability_sharpshooter_description": "You can push yourself to do one of the following: make a ranged attack at extreme distance beyond what’s normal for the weapon — unleash a barrage of rapid fire to suppress the enemy.", "playbook_ability_sinister_guile": "Sinister Guile", "playbook_ability_sinister_guile_description": "During downtime, choose one: Get a free additional downtime activity, or take +1d to all downtime activity rolls.", + "playbook_ability_snake_charmer": "Snake Charmer", + "playbook_ability_snake_charmer_description": "As long as you perform before a crowd, it is unable to be dispersed, and one person you name, in particular, is too transfixed to leave.", "playbook_ability_strange_methods": "Strange Methods", "playbook_ability_strange_methods_description": "When you invent or craft a creation with arcane features, take +1 result level to your roll. You begin with one arcane design already known.", + "playbook_ability_strategic_retreat": "Strategic Retreat", + "playbook_ability_strategic_retreat_description": "You can push yourself to do one of the following: break the enemy’s ranks with a charge or a barrage of suppressive fire—pull someone you can touch to freedom.", "playbook_ability_subterfuge": "Subterfuge", "playbook_ability_subterfuge_description": "You may expend your special armor to resist a consequence from suspicion or persuasion, or to push yourself for subterfuge.", + "playbook_ability_subterfuge_rakshasa": "Subterfuge", + "playbook_ability_subterfuge_rakshasa_description": "You may expend your special armor to resist a supernatural consequence, or to push yourself for a feat of athletics or stealth.", "playbook_ability_survivor": "Survivor", "playbook_ability_survivor_description": "From hard won experience or occult ritual, you are immune to the poisonous miasma of the deathlands and are able to subsist on the strange flora and fauna there. You get +1 stress box.", "playbook_ability_tempest": "Tempest", "playbook_ability_tempest_description": "You can push yourself to do one of the following: unleash a stroke of lightning as a weapon — summon a storm in your immediate vicinity (torrential rain, roaring winds, heavy fog, chilling frost/snow, etc.).", "playbook_ability_terrible_power": "Terrible Power", "playbook_ability_terrible_power_description": "Take 1 stress to perform a feat of superhuman strength or speed (run faster than a carriage, break stone with bare hands, leap onto the roof of a building, etc.). This factors into effect.", + "playbook_ability_the_black_speech": "The Black Speech", + "playbook_ability_the_black_speech_description": "Through blessings, enchantments, or spells, you may communicate with animals just as easily as you can with humans, even the wildest of deathlands creatures.", "playbook_ability_the_devil's_footsteps": "The Devil's Footsteps", "playbook_ability_the_devil's_footsteps_description": "When you push yourself, choose one of the following additional benefits: perform a feat of athletics that verges on the superhuman — maneuver to confuse your enemies so they mistakenly attack each other.", + "playbook_ability_the_tiger's_fury": "The Tiger's Fury", + "playbook_ability_the_tiger's_fury_description": "You can push yourself to do one of the following: move to any location on the field of battle that you can see—push violently against your enemies, knocking them back, down, or over.", "playbook_ability_tough_as_nails": "Tough as Nails", "playbook_ability_tough_as_nails_description": "Penalties from harm are one level less severe (though level 4 harm is still fatal).", "playbook_ability_trust_in_me": "Trust in Me", "playbook_ability_trust_in_me_description": "You get +1d vs. a target with whom you have an intimate relationship.", "playbook_ability_undead": "Undead", "playbook_ability_undead_description": "You are a spirit which animates an undead body. Your trauma is maxed out. Choose four trauma conditions which reflect your vampiric nature. Arcane attacks are potent against you. If you suffer fatal harm or trauma, your undead spirit is overwhelmed. You take level 3 harm: \"Incapacitated\" until you feed enough to recover. If you suffer arcane harm while in this state, you are destroyed utterly. Your XP tracks are longer (you now advance more slowly). You have more stress boxes.", + "playbook_ability_underworld_contacts": "Underworld Contacts", + "playbook_ability_underworld_contacts_description": "When you acquire an asset that is restricted, such as alchemicals, bombs, and other illegal materials, you get +1 result level to your roll, and you never attract additional heat for doing so.", "playbook_ability_vengeful": "Vengeful", "playbook_ability_vengeful_description": "You gain an additional xp trigger: You got payback against someone who harmed you or someone you care about. If your crew helped you get payback, also mark crew xp.", "playbook_ability_venomous": "Venomous", @@ -765,6 +828,22 @@ "playbook_cutter_friends_title": "Dangerous Friends", "playbook_cutter_xp_condition": "You addressed a challenge with violence or coercion.", "playbook_description": "A short playbook description", + "playbook_faris_description": "A fearsome warlord, a sultan of the streets", + "playbook_faris_friend_0": "Bilal Maat, a corrupt lawyer", + "playbook_faris_friend_1": "Imran Pasha, a gang boss", + "playbook_faris_friend_2": "Lenora Drakewell, diplomat", + "playbook_faris_friend_3": "Nurul Fallash, leviathan captain", + "playbook_faris_friend_4": "Sordat Khan, a sheikh", + "playbook_faris_friends_title": "Powerful Friends", + "playbook_faris_xp_condition": "You addressed a challenge with a show of force or leadership.", + "playbook_forger_description": "A maker of\nhaunted\nmachines", + "playbook_forger_friend_0": "Esa Kessarin, a factory boss", + "playbook_forger_friend_1": "Jasmina, a washer woman", + "playbook_forger_friend_2": "Kheshiyyar, a thief", + "playbook_forger_friend_3": "Kudret, a union organizer", + "playbook_forger_friend_4": "Zajjidan, a strikebreaker", + "playbook_forger_friends_title": "Working Friends", + "playbook_forger_xp_condition": "You addressed a challenge with technical skills or devices.", "playbook_ghost_description": "A spirit without a body", "playbook_ghost_friends_title": "Enemies & Rivals", "playbook_ghost_xp_condition": "You exacted vengeance upon those whom you deem deserving.", @@ -783,8 +862,10 @@ "playbook_hull_xp_condition2": "You suppressed or ignored your former human beliefs, drives, heritage, or background.", "playbook_hull_xp_condition3": "You struggled with issues from your wear during the session.", "playbook_item_a_cane-sword": "A cane-sword", + "playbook_item_a_special_friend": "A special friend", "playbook_item_a_trained_hunting_pet": "A trained hunting pet", "playbook_item_bandolier_of_alchemicals_(3)": "Bandolier of alchemicals (3)", + "playbook_item_black_lotus_resin": "Black lotus resin", "playbook_item_blowgun_&_darts,_syringes": "Blowgun & darts, syringes", "playbook_item_blueprints": "Blueprints", "playbook_item_concealed_palm_pistol": "Concealed palm pistol", @@ -792,6 +873,7 @@ "playbook_item_demonbane_charm": "Demonbane charm", "playbook_item_electroplasm_vials": "Electroplasm vials", "playbook_item_electroplasmic_ammunition": "Electroplasmic ammunition", + "playbook_item_entourage": "Entourage", "playbook_item_fine_bottle_of_whiskey": "Fine bottle of whiskey", "playbook_item_fine_clothes_&_jewelry": "Fine clothes & jewelry", "playbook_item_fine_clothes_and_accoutrements": "Fine clothes and accoutrements", @@ -808,12 +890,16 @@ "playbook_item_fine_shadow_cloak": "Fine shadow cloak", "playbook_item_fine_spirit_mask": "Fine spirit mask", "playbook_item_fine_tinkering_tools": "Fine tinkering tools", + "playbook_item_fine_uniform": "Fine uniform", "playbook_item_fine_wrecking_tools": "Fine wrecking tools", + "playbook_item_forged_documents": "Forged documents", "playbook_item_gadget": "Gadget", "playbook_item_ghost_key": "Ghost key", "playbook_item_light_climbing_gear": "Light climbing gear", "playbook_item_manacles_&_chain": "Manacles & chain", + "playbook_item_protective_suit": "Protective suit", "playbook_item_rage_essence_vial": "Rage essence vial", + "playbook_item_rare_book": "Rare book", "playbook_item_scary_weapon_or_tool": "Scary weapon or tool", "playbook_item_silence_potion_vial": "Silence potion vial", "playbook_item_spirit_bottles_(2)": "Spirit bottles (2)", @@ -821,6 +907,14 @@ "playbook_item_spyglass": "Spyglass", "playbook_item_trance_powder": "Trance powder", "playbook_item_vial_of_slumber_essence": "Vial of slumber essence", + "playbook_janissary_description": "A staunch\nprotector\n& lookout", + "playbook_janissary_friend_0": "Aziz, a bartender", + "playbook_janissary_friend_1": "Hanifa, a maid", + "playbook_janissary_friend_2": "Nima, a snitch", + "playbook_janissary_friend_3": "Omid, muscle-for-hire", + "playbook_janissary_friend_4": "Vishka, a driver", + "playbook_janissary_friends_title": "Ordinary Friends", + "playbook_janissary_xp_condition": "You addressed a challenge with courage or attention to detail.", "playbook_leech_description": "A Saboteur and\nTechnician", "playbook_leech_friend_0": "Stazia, an apothecary", "playbook_leech_friend_1": "Veldren, a psychonaut", @@ -837,6 +931,30 @@ "playbook_lurk_friend_4": "Petra, a city clerk", "playbook_lurk_friends_title": "Shady Friends", "playbook_lurk_xp_condition": "You addressed a challenge with stealth or evasion.", + "playbook_mirage_description": "A master of\nillusions", + "playbook_mirage_friend_0": "Arzu, an actress", + "playbook_mirage_friend_1": "Durjan Hask, a poet", + "playbook_mirage_friend_2": "Elif, a shopkeeper", + "playbook_mirage_friend_3": "Nasra Zoshavid, a city officia", + "playbook_mirage_friend_4": "Yashua, a street performer", + "playbook_mirage_friends_title": "Deceptive Friends", + "playbook_mirage_xp_condition": "You addressed a challenge with deception or showmanship.", + "playbook_rafiq_description": "A cunning\nintermediary\n& false friend", + "playbook_rafiq_friend_0": "Forcha Khoravid, a noble", + "playbook_rafiq_friend_1": "Mirza, a youth", + "playbook_rafiq_friend_2": "Nusha, a courtesan", + "playbook_rafiq_friend_3": "Qarraq, a demon", + "playbook_rafiq_friend_4": "Vishka, a kidnapper", + "playbook_rafiq_friends_title": "Close Friends", + "playbook_rafiq_xp_condition": "You addressed a challenge with subterfuge or influence.", + "playbook_rakshasa_description": "A hungry\nghoul", + "playbook_rakshasa_friend_0": "Benaz, a prison guard", + "playbook_rakshasa_friend_1": "Dameer, a death cultist", + "playbook_rakshasa_friend_2": "Mohadisa, an alchemist", + "playbook_rakshasa_friend_3": "Nimet, a coal seller", + "playbook_rakshasa_friend_4": "Raban, a gravedigger", + "playbook_rakshasa_friends_title": "Dirty Friends", + "playbook_rakshasa_xp_condition": "You addressed a challenge with stealth or violence.", "playbook_slide_description": "A Subtle\nManipulator\nand Spy", "playbook_slide_friend_0": "Bryl, a drug dealer", "playbook_slide_friend_1": "Bazso Baz, a gang leader", @@ -863,6 +981,14 @@ "playbook_vampire_xp_condition": "You displayed your dominance or slayed without mercy.", "playbook_vampire_xp_condition2": "You expressed your beliefs, drives, heritage, or background.", "playbook_vampire_xp_condition3": "You struggled with issues from your vice, traumas, or strictures during the session.", + "playbook_vizier_description": "The figure\nbehind the\nthrone", + "playbook_vizier_friend_0": "Bilal Maat, an infernalist", + "playbook_vizier_friend_1": "Gulrukh, a librarian", + "playbook_vizier_friend_2": "Reyasso, an art dealer", + "playbook_vizier_friend_3": "Sallahattin, a lecturer", + "playbook_vizier_friend_4": "Tamadur Faran, the explorer", + "playbook_vizier_friends_title": "Learned Friends", + "playbook_vizier_xp_condition": "You addressed a challenge with planning or teamwork.", "playbook_whisper_description": "An Arcane\nAdept and\nChanneler", "playbook_whisper_friend_0": "Nyryx, a possessor ghost", "playbook_whisper_friend_1": "Scurlock, a vampire", @@ -871,6 +997,15 @@ "playbook_whisper_friend_4": "Flint, a spirit trafficker", "playbook_whisper_friends_title": "Strange Friends", "playbook_whisper_xp_condition": "You addressed a challenge with knowledge or arcane power.", + "playbook_zindiq_description": "A rebellious student of heretical science", + "playbook_zindiq_friend_0": "Faizani, a seditionist", + "playbook_zindiq_friend_1": "Hoshan, a junkie", + "playbook_zindiq_friend_2": "Jade Eyes, a cult leader", + "playbook_zindiq_friend_3": "Kashr, a madman", + "playbook_zindiq_friend_4": "Lenora Drakewell, a spy", + "playbook_zindiq_friends_title": "Volatile Friends", + "playbook_zindiq_xp_condition": "You addressed a challenge with rhetoric or destruction.", + "playbooks": "Playbooks", "position": "Position", "progress_clock": "progress clock", "protect_a_teammate": "Protect a teammate", @@ -886,6 +1021,8 @@ "quarters": "Quarters", "query_for_consequence": "Query for consequence name when resisting", "quicksilver": "Quicksilver", + "rafiq": "Rafiq", + "rakshasa": "Rakshasa", "reckless": "Reckless", "recovery": "Recovery", "recoveryblurb": "Get treatment in downtime to activate your healing project clock", @@ -940,6 +1077,7 @@ "special_abilities": "Special Abilities", "special_ability": "Special Ability", "spider": "Spider", + "spirit_playbooks": "Spirit playbooks", "standstill_poison": "Standstill Poison", "stash": "Stash", "status": "Status", @@ -1020,6 +1158,7 @@ "viceroll2": ") indulges", "vicious": "Vicious", "vigilantes": "Vigilantes", + "vizier": "Vizier", "wanted": "Wanted", "wanted_label": "Label to use for Wanted", "wantedroll1": "(who currently have ", @@ -1049,5 +1188,6 @@ "xp_specific_extra": "Enter another specific way to mark XP here.", "xp_top": "At the end of each session, for each item below, mark 1 xp (or instead mark 2 xp if that item occurred multiple times).", "xp_vice": "You struggled with issues from your vice or traumas during the session.", - "zerodice-N": "Zero Dice — take the lowest result above" + "zerodice-N": "Zero Dice — take the lowest result above", + "zindiq": "Zindiq" }