New playbook, no legacy CSS, dark mode support

- Added bladesoul playbook (third party)
- Weaned CSS off legacy sanitization
- Added support for dark mode
This commit is contained in:
fredhicks
2022-03-14 17:13:45 -04:00
parent 5b568f22a5
commit 807c786fed
3 changed files with 492 additions and 319 deletions
File diff suppressed because it is too large Load Diff
+137 -7
View File
@@ -3144,6 +3144,136 @@
pbother: "no"
}
]
},
"bladesoul": {
name: "The Bladesoul",
bio: "The Bladesoul is a shapeshifter with the power to become a living weapon. They are dangerous on their own, but only unleash their true potential in the hands of one they trust. Their central conflict lies in giving their all to support the people they care for versus loving themselves even when they aren’t being “useful.”",
relationships: [
"Who do you most trust to be gentle with your feelings?",
"Who has asked the most of you?",
"Who seems like they could hold their own in a fight with you?"
],
look: {
demeanor: "cold demeanor, witty demeanor, protective demeanor",
clothes: "pristine clothes, ripped clothes, flashy clothes, minimal clothes",
sword: "you become: an ornate sword, a savage sword, an ever-changing sword"
},
startstats: [
{ daring: 1, grace: 0, heart: 1, wit: -1, spirit: 0 },
{ daring: 0, grace: 1, heart: 1, wit: 0, spirit: -1 }
],
moves: [
{
subheader: "Becoming the Blade",
pbdefault: "yes",
pbother: "no"
},
{
name: "Becoming the Blade",
body: "You don’t need to carry a weapon – you are the weapon. You have the ability to change between your human form and blade form at will. While you are in blade form, you can communicate as normal, but your mobility is limited, so you must choose an individual to act as your wielder. As long as you and your wielder both consent, you share a telepathic link whenever you fight together. If you are ever defeated or rendered unconscious in blade form, you immediately shift back into your human form.",
pbdefault: "yes",
pbother: "no"
},
{
subheader: "Synchronicity",
pbdefault: "yes",
pbother: "no"
},
{
name: "Synchronicity",
body: "You align your heart with your wielder’s to unleash your true power. Whenever you gain a String on your wielder, or your wielder gets a String on you, gain 1 point of Synchronicity, up to a maximum of 5. While you are at maximum Synchronicity, you are so attuned to your wielder that you achieve a nearly magical link.",
preamble: "You can spend 5 points of Synchronicity to unleash a mighty Finishing Blow. Roll Fight or Defy Disaster, and add your wielder’s Daring or Grace to the result in addition to your own. On a result of 13+ you can perform an otherwise impossible feat of supernatural might or skill. This can be used in either form.",
alternative: "Whenever you use your Finishing Blow, or choose a new wielder, reset your Synchronicity to 0.",
blanks: [
{
name: "Current Synchronicity (max 5)",
type: "scoreonly",
score: 0,
checkbox: "no"
}
],
pbdefault: "yes",
pbother: "no"
},
{
name: "We Fight As One",
body: "While you are in your human form, even your bare hands are as deadly as the sharpest blade. Whenever you roll a 7+ to Fight, you must choose to inflict a Condition.",
preamble: "While you are in your blade form, you are unable to roll danger moves, and must rely on your wielder to do so for you. Whenever your wielder rolls to Fight or Defy Danger, if you Influence With a String, you can add a +2 to their roll instead of a +1. If your wielder would gain a Condition, you can give them a String on you to gain that Condition instead.",
pbdefault: "yes",
pbother: "no"
},
{
subheader: "Playbook Moves",
instructions: "(start with the move marked and choose two more)",
pbdefault: "yes"
},
{
name: "Don’t Give Up!",
body: "Fighting side by side grants you a special insight into your companion’s emotional state. Once per scene, when you roll Emotional Support during a physical confrontation, if the person you’re supporting opens up to you, they clear a Condition even if you roll a 6-. They can clear two Conditions with the same Emotional Support action when you use this move.",
rolled: "yes",
rolldefault: "heart",
pbdefault: "yes"
},
{
name: "The Sword that Protects",
body: "You won’t allow anyone or anything to threaten the ones you love. Once per session, you may take an excessively destructive action towards a person or things that is causing an ally distress. If the person you’re defending approves of the act, they clear a Condition. If they disapprove of the act, you Stagger."
},
{
name: "Make Them Look Good",
body: "You know how to give an ally the spotlight. When you roll to Entice after doing something impressive, on a 7+ you may choose to direct the benefits to another PC as if they had gotten the same result.",
rolled: "yes",
rolldefault: "heart"
},
{
name: "Our Hearts Beat Together",
body: "As long as you and another PC are Smitten with each other, they always count as your wielder, even when separated. Being shared or handed off between wielders does not reset your Synchronicity to 0. If you are otherwise stolen or lost in your blade form, reset your Synchronicity to 0."
},
{
name: "Pain Begets Pain",
body: "Your wielder may roll +Spirit instead of +Daring to Fight. If they do so, they must take a Condition immediately after determining the result of the roll. On a 7+, the target of their attack takes the same Condition. Your wielder can inflict two Conditions with the same Fight action using this move.",
preamble: "Additionally, you may add their Spirit to your Finishing Blow instead of their Daring."
},
{
name: "Clashing Souls",
body: "When you’re in a physical confrontation, you can roll +Heart to call out to your opponent and make an impassioned speech about why violence isn’t the answer.",
hit: "Choose 2 of the following.",
mixed: "On a 7-9 choose 1.",
rolled: "yes",
rolldefault: "heart",
mixedbullets: [
"Your opponent’s resolve falters, give an ally +1 forward to deescalate the confrontation",
"Your opponent questions their actions, inflict a Condition",
"Your opponent reveals a personal truth, gain a String on them and increase your Synchronicity by 1."
],
},
{
name: "On The Edge",
body: "When you gain your third String on another PC, you may immediately confess a strong, personal feeling that relates to them and that they were not previously aware of. If they react positively towards your confession, gain an additional String on them at the end of the scene. If they react poorly, take a Condition."
},
{
subheader: "Truths of Heart and Blade",
pbdefault: "yes",
pbother: "no"
},
{
name: "What can I do for you?",
body: "When you become Smitten with someone, say why, give them a String, and answer this question:",
bullets: [
"What useful act do you believe their affection for you is contingent on?"
],
pbdefault: "yes",
pbother: "no"
},
{
name: "Cut to the Quick",
body: "When you Figure Out a Person in physical conflict, you may additionally ask one of these questions, even on a 6-:",
bullets: [
"What stirs your soul to battle?", "What would you give your life to protect?"
],
pbdefault: "yes",
pbother: "no"
}
]
}
};
@@ -5105,9 +5235,9 @@
<span name="attr_selected" class="pictos"></span>
</button>
<input type="hidden" name="attr_bio" value="" class="hide-on-null">
<div class="tooltip bio">
<div class="tsl-tooltip bio">
<div><span class="pictos">E</span> <span data-i18n="More about"></span> <span name="attr_name"></span></div>
<div class="tooltip-pop">
<div class="tsl-tooltip-pop">
<span name="attr_bio"></span>
</div>
</div>
@@ -5129,7 +5259,7 @@
<span name="attr_text" class="bold-uncolored"></span>
</button>
</fieldset></div>
<input type="checkbox" name="attr_starting-chosen" value="yes" class="checkboxer"><span class="checkboxed"></span>
<input type="checkbox" name="attr_starting-chosen" value="yes" class="sheet-checkboxer"><span class="sheet-checkboxed"></span>
<input type="hidden" name="attr_starting-chosen" value="0" class="hide-on-zero hide-on-null"><span>
<span data-i18n="Choice made and locked"></span>
</span>
@@ -5159,7 +5289,7 @@
<fieldset class="repeating_stats">
<input type="hidden" name="attr_key" value="">
<input type="hidden" name="attr_name" value="">
<div class="tooltip">
<div class="tsl-tooltip">
<div class="section-head one-line">
<button type="roll" class="sheet-2d6-button-nofloat no-dice stretch bold" value="&{template:2d6-roll} {{character=@{character_name}}} {{title=@{name}}} {{roll=[[2d6+@{rating}+@{rollprompt}]]}} @{modifier-tally-text}" name="roll_2d6">
<span name="attr_name"></span>
@@ -5168,7 +5298,7 @@
<input type="hidden" name="attr_rating" value="0" class="make-plus"><span class="make-plus"></span><span name="attr_rating" class="minimum"></span>
</button>
</div>
<div class="tooltip-pop">
<div class="tsl-tooltip-pop">
<div class="bold"><span name="attr_name"></span>: <input type="number" name="attr_rating" value="" min="-9" max="9" class="fillme"></div>
<div><span name="attr_description"></span></div>
</div>
@@ -5176,7 +5306,7 @@
</fieldset>
</div>
<div class="tooltip">
<div class="tsl-tooltip">
<div class="section-head">
<span data-i18n="Experience"></span>
</div>
@@ -5184,7 +5314,7 @@
<input type="number" name="attr_experience" value="0" min="0" class="fillme">
<input type="hidden" name="attr_experience_max" value="5">
</div>
<div class="tooltip-pop">
<div class="tsl-tooltip-pop">
<span data-i18n="Receive experience (XP) whenever you roll a 6- or when a move tells you to mark XP. A PC can spend XP to take an Advance; consult that section for more."></span>
</div>
</div>
+8 -9
View File
@@ -1,10 +1,9 @@
{
"html": "TSL.html",
"css": "TSL.css",
"authors": "Fred Hicks (Evil Hat Productions)",
"roll20userid": "3844812",
"preview": "TSL.png",
"compendium": "tsl",
"instructions": "Pop on in, choose a playbook, and get playing! Please note that a new character sheet may take several seconds to render the first time, leaving that tab blank while the sheet populates all of its data. If you run into any issues, have suggestions, or anything else, please reach out to Evil Hat at feedback@evilhat.com. You can learn more about TSL at http://sword.gay — If you're a sheet developer and looking to make changes to this sheet's code, don't. We maintain an external copy as the authoritative source; problems that emerge with the sheet are our customer service problem, not yours. Changes you make are likely to be erased. So talk to us before making changes.",
"legacy": true
}
"html": "TSL.html",
"css": "TSL.css",
"authors": "Fred Hicks (Evil Hat Productions)",
"roll20userid": "3844812",
"preview": "TSL.png",
"instructions": "Pop on in, choose a playbook, and get playing! Please note that a new character sheet may take several seconds to render the first time, leaving that tab blank while the sheet populates all of its data. If you run into any issues, have suggestions, or anything else, please reach out to Evil Hat at feedback@evilhat.com. You can learn more about TSL at http://sword.gay &mdash; If you're a sheet developer and looking to make changes to this sheet's code, don't. We maintain an external copy as the authoritative source; problems that emerge with the sheet are our customer service problem, not yours. Changes you make are likely to be erased. So talk to us before making changes.",
"legacy": false
}