diff --git a/Perils and Princesses/Graphics/perilArmor.png b/Perils and Princesses/Graphics/perilArmor.png new file mode 100644 index 0000000000..8b4fc90d24 Binary files /dev/null and b/Perils and Princesses/Graphics/perilArmor.png differ diff --git a/Perils and Princesses/Graphics/perilBanner.png b/Perils and Princesses/Graphics/perilBanner.png new file mode 100644 index 0000000000..aa04bf3103 Binary files /dev/null and b/Perils and Princesses/Graphics/perilBanner.png differ diff --git a/Perils and Princesses/Graphics/perilFlowerBorder.jpg b/Perils and Princesses/Graphics/perilFlowerBorder.jpg new file mode 100644 index 0000000000..2cd2655bb7 Binary files /dev/null and b/Perils and Princesses/Graphics/perilFlowerBorder.jpg differ diff --git a/Perils and Princesses/Graphics/perilFrame.png b/Perils and Princesses/Graphics/perilFrame.png new file mode 100644 index 0000000000..6640a44ab5 Binary files /dev/null and b/Perils and Princesses/Graphics/perilFrame.png differ diff --git a/Perils and Princesses/Graphics/perilHeart.png b/Perils and Princesses/Graphics/perilHeart.png new file mode 100644 index 0000000000..099e40bdd7 Binary files /dev/null and b/Perils and Princesses/Graphics/perilHeart.png differ diff --git a/Perils and Princesses/Graphics/perilLace1.png b/Perils and Princesses/Graphics/perilLace1.png new file mode 100644 index 0000000000..7c103ba2f1 Binary files /dev/null and b/Perils and Princesses/Graphics/perilLace1.png differ diff --git a/Perils and Princesses/Graphics/perilLace2.png b/Perils and Princesses/Graphics/perilLace2.png new file mode 100644 index 0000000000..9089e6c63d Binary files /dev/null and b/Perils and Princesses/Graphics/perilLace2.png differ diff --git a/Perils and Princesses/Graphics/perilLace3.png b/Perils and Princesses/Graphics/perilLace3.png new file mode 100644 index 0000000000..a594a5260e Binary files /dev/null and b/Perils and Princesses/Graphics/perilLace3.png differ diff --git a/Perils and Princesses/Graphics/perilSword.png b/Perils and Princesses/Graphics/perilSword.png new file mode 100644 index 0000000000..607e0f95b7 Binary files /dev/null and b/Perils and Princesses/Graphics/perilSword.png differ diff --git a/Perils and Princesses/Graphics/perilTrauma.png b/Perils and Princesses/Graphics/perilTrauma.png new file mode 100644 index 0000000000..720e4aa4d1 Binary files /dev/null and b/Perils and Princesses/Graphics/perilTrauma.png differ diff --git a/Perils and Princesses/Graphics/perilTriangles.png b/Perils and Princesses/Graphics/perilTriangles.png new file mode 100644 index 0000000000..0dcd922d89 Binary files /dev/null and b/Perils and Princesses/Graphics/perilTriangles.png differ diff --git a/Perils and Princesses/Perils.css b/Perils and Princesses/Perils.css new file mode 100644 index 0000000000..6642291be5 --- /dev/null +++ b/Perils and Princesses/Perils.css @@ -0,0 +1,422 @@ +@import url("https://fonts.googleapis.com/css2?family=Fleur+De+Leah&family=Lancelot&family=Style+Script&family=Sunshiney&display=swap"); + + +.charsheet { + opacity: 1.0; + min-width: 822px; + max-width: 826px; + height: 1300px; +} + +.charsheet label { + width: auto; + display: inline-block; + font-size: .75em; +} +.charsheet .sheet-myStuff { + display: grid; + grid-template-columns: 204px 204px; + background-color: Transparent; + width: 408px; + margin-top: 40px; + margin-left: 6px; + padding: 3px; +} + +.charsheet .sheet-myStuff > div { + background-color: #f1f1f1; + border: 2px solid Black; + padding: 5px; + height: 31px; + font-size: 30px; + text-align: center; +} + +.charsheet .sheet-weapons { + display: grid; + grid-template-columns: 200px 136px; + background-color: Transparent; + width: 336px; + margin-top: 0px; + margin-left: 0px; + padding: 1px; +} + +.charsheet .sheet-weapons > div { + background-color: #f1f1f1; + border: 2px solid Black; + padding: 5px; + height: 33px; + font-size: 30px; + text-align: center; +} +.charsheet .sheet-edge { + font-weight: 400; + font-size: 17px; + height: 40px !important; + border: none; + border-bottom: 2px solid Black; + margin-left: 6%; + width: 86%; + border-radius: 0%; + text-align: center; +} + +.charsheet .sheet-round label { + height: 20px; + border: 1px solid Black; + border-radius: 50%; + width: 20px; + text-align: center; +} + +.charsheet button[type=roll].sheet-attack-button { + box-sizing: content-box; + color: rgb(215, 153, 167); + background-color: White; + background-image: none; + height: 24px; + width: 14px; + font-size: 16px; + font-weight: bold; + border: 0px solid rgb(215, 153, 167); + text-shadow: none; + box-shadow: none; + font-family: "dicefontd20"; + margin: -4px 0px 0px -8px; + padding: 0px 1px 4px 1px; +} +.charsheet button[type=roll].sheet-melee-button { + box-sizing: content-box; + color: White; + background-color: rgb(215, 153, 167); + background-image: none; + height: 18px; + width: 14px; + font-size: 16px; + font-weight: bold; + border: 0px solid rgb(215, 153, 167); + text-shadow: none; + box-shadow: none; + font-family: "dicefontd20"; + margin: -6px 0px 0px -8px; + padding: 2px 2px 2px 2px; +} +.charsheet button[type=roll].sheet-range-button { + box-sizing: content-box; + color: rgb(215, 153, 167); + background-color: White; + background-image: none; + height: 24px; + width: 14px; + font-size: 16px; + font-weight: bold; + border: 0px solid rgb(215, 153, 167); + text-shadow: none; + box-shadow: none; + font-family: "dicefontd20"; + margin: -4px 0px 0px -7px; + padding: 0px 1px 4px 1px; +} +input[type=text].attribute { + width: 134px; + height: 134px; + text-align: center; + border-radius: 50%; + font-weight: bold; + font-size: 6em; + background-color: rgba(255,255,255,0.1); + border: 12px double Pink; +} +input[type=checkbox].itemCheck { + height: 16px; + width: 16px; + accent-color: Black; + margin: 0px 0px 0px -6px; +} +input[type=text].item { + width: 168px; + height: 40px; + text-align: center; + font-weight: bold; + font-size: 22px; + margin: -9px 0px 0px 0px; + border-bottom: 4px solid Black; +} +input[type=text].weaponName { + width: 168px; + height: 40px; + text-align: center; + font-weight: bold; + font-size: 22px; + margin: -8px 0px 0px 0px; + border-bottom: 3px solid Black; +} + +input[type=text].weaponDmg { + width: 91px; + height: 40px; + text-align: center; + font-weight: bold; + font-size: 22px; + margin: -8px 0px 0px -5px; + padding: 3px 0px 3px 0px; + border-bottom: 3px solid Black; +} + +input[type="radio"]:checked + label { + color: white; +} + + +input[type="radio"]:checked + label.contrast { + color: #DA70D6; +} + +input[type="radio"]:hover + label { + color: blue; +} + + +.charsheet input[type=number] { + -moz-appearance: textfield; + -webkit-appearance: textfield; + border: none; + border-bottom: dotted 1px black; + color: black; + width: 45px; + text-align: center; +} + +.charsheet input[type=number]::-webkit-outer-spin-button, +.charsheet input[type=number]::-webkit-inner-spin-button { + -webkit-appearance: none; + -webkit-appearance: textfield; +} + +/* Trauma checkbox via image */ + +input[type="checkbox"][id^="cb"] { + display: none; +} + +label.trauma { + display: inline-block; + vertical-align: top; + height: 45px; + width: 45px; + border: 1px solid #fff; + padding: 5px; + position: relative; + margin: 5px 0px 0px 5px; + cursor: pointer; +} + +label.trauma:before { + display: inline-block; + vertical-align: top; + background-color: white; + color: white; + content: " "; + border-radius: 50%; + border: 1px solid grey; + position: absolute; + top: -5px; + left: -5px; + width: 25px; + height: 25px; + text-align: center; + line-height: 28px; + transition-duration: 0.4s; + transform: scale(0); +} + +label.trauma img { + display: inline-block; + vertical-align: top; + + transition-duration: 0.2s; + transform-origin: 50% 50%; +} + +:checked + label.trauma { + border-color: #ddd; +} + +:checked + label.trauma:before { + content: "✓"; + background-color: grey; + transform: scale(1); +} + +:checked + label.trauma img { + transform: scale(0.9); + box-shadow: 0 0 5px #333; + z-index: -1; +} + + + +/* Check and MeleeRoll Template */ +.sheet-rolltemplate-check .sheet-container { + color: Black; + background-color: #ffffff; + border: 1px solid; + padding: 2px; + width: 189px; +} +.sheet-rolltemplate-meleeRoll .sheet-container { + background-color: rgb(153, 0, 0); /* Dark Red */ + color: rgb(255, 179, 179); /* Light Red */ + border: 3px solid rgb(255, 179, 179); + padding: 2px; + width: 189px; +} + + +.sheet-rolltemplate-initiative .sheet-container { + background-color: Thistle; + color: Blue; + border: 3px solid Blue; + padding: 2px; + width: 189px; +} + + +.sheet-rolltemplate-check .sheet-container h1, +.sheet-rolltemplate-meleeRoll .sheet-container h1{ + color: inherit; + font-size: 1.2em; + font-variant: small-caps; + line-height: 20px; +} + +.sheet-rolltemplate-meleeRoll div, +.sheet-rolltemplate-initiative div, +.sheet-rolltemplate-check div { + padding: 2px; +} + +.sheet-rolltemplate-check span, +.sheet-rolltemplate-meleeRoll span, +.sheet-rolltemplate-initiative span { + color: currentColor; + font-family: "Times New Roman", Times, serif; + font-size: 1.2em; + font-variant: small-caps; + line-height: 1.4em; + padding-left: 5px; + text-align: left; +} + +.sheet-rolltemplate-check .sheet-subheader, +.sheet-rolltemplate-meleeRoll .sheet-subheader, +.sheet-rolltemplate-initiative .sheet-subheader { + color: currentColor; + font-size: 1em; + font-style: italic; +} + +.sheet-rolltemplate-check .sheet-arrow-right, +.sheet-rolltemplate-meleeRoll .sheet-arrow-right, +.sheet-rolltemplate-initiative .sheet-arrow-right { + border-bottom: 3px solid transparent; + border-left: 180px solid currentColor; + border-top: 3px solid transparent; +} + +.sheet-rolltemplate-meleeRoll .sheet-tcat, +.sheet-rolltemplate-initiative .sheet-tcat, +.sheet-rolltemplate-check .sheet-tcat { + font-style: italic; +} + + +.sheet-rolltemplate-check .inlinerollresult { + background-color: LightGray !important; + border: none; +} +.sheet-rolltemplate-initiative .inlinerollresult, +.sheet-rolltemplate-meleeRoll .inlinerollresult { + color: Red; + background-color: Yellow; + border: none; +} + +.sheet-rolltemplate-check .inlinerollresult.fullcrit { + color: #3FB315; + border: none; +} + +.sheet-rolltemplate-check .inlinerollresult.fullfail { + color: #B31515; + border: none; +} + +.sheet-rolltemplate-check .inlinerollresult.importandivoll { + color: #4A57ED; + border: none; +} +/* End Check MeleeRoll templates*/ + + + +/* Button Styling*/ + +.charsheet button[type=roll].sheet-textButton { + background-color: transparent; + color: black; + border: none; + font-size: 1.25em; + font-weight: bold; + text-align: right; + background-image: none; + text-shadow: none; + box-shadow: none; + padding: 0px; + margin: 0px; + +} + +.charsheet span.sheet-diceroll { + font-family: "dicefontd20"; +} + +.charsheet button[type=roll].sheet-textButton::before, +.charsheet button[type=roll].sheet-powerButton::before { + content: "" !important; +} + +/*End Button Styling*/ + + +/* TAB HANDLING */ + +.charsheet input[type=radio]{ + display: none; + float: left; +} +.charsheet input[type=radio] + label{ + content: ''; + border: solid 1px black; + background: white; + color: black; + font-weight: bold; + width: auto; + text-align: center; + padding: 0 2px;; + float: left; +} +.charsheet input[type=radio]:hover + label{ + background: #990000; +} +.charsheet input[type=radio]:checked + label{ + background: black; + color: white; +} +.charsheet div.sheet-page1, .charsheet div.sheet-page2 { + display: none; +} +.charsheet input.sheet-page1:checked ~ div.sheet-page1, .charsheet input.sheet-page2:checked ~ div.sheet-page2 { + display: block; +} diff --git a/Perils and Princesses/Perils.html b/Perils and Princesses/Perils.html new file mode 100644 index 0000000000..399f9d0b31 --- /dev/null +++ b/Perils and Princesses/Perils.html @@ -0,0 +1,775 @@ + + + + + + +
+
+ +
+ +
+
+ + +
+ + +
+ +
+
+ + + + + + + +
+
+ +
+ + +
+ + + + +
+ +
+ +
+ +
+
+ +
+
+ + + + + + +
+
+ + + +
+
+ + +
+
+ + +
+
+ + +
+
+ + + + + +
+
+
+ + +
+
+ +
+
+ + +
+
+ +
+
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+ +
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + + +
+
+ + + +
+
+ + + +
+
+ + + +
+
+
+ +
+ + +
+ + + +
+
+ + +
+
+ + + +
+ +
+ + +
+
+ + + +
+ +
+ + + +
+
+ + + +
+ +
+ + + +
+
+ + + +
+
+
+
+ +
+ + + +
+ + + + + +
+ + + + + +
+
+ +
+ + + + + + + +
+ + + + + + + +
+ + +
+ + + + +
+ + +
+ + +
+ + + + + + +
+ + + +
+
+ + + +
+
+ + + +
+
+ + + +
+ + +
+ + + + +
+ + +
+ + + + + + + +
+ + +
+ + + + +
+ + + + + + + + + + +
+
+ + + + +
+

Initiative for {{name}}

+
+
Rolled: {{computed::roll1}}
+
+
+ + +
+

{{name}}{{#Virtue}} *for* {{Virtue}}{{/Virtue}}

+
+ {{#Check}} +
Check: {{Roll}}
+ {{/Check}} + + {{#rollGreater() Roll2 0}} +
Advantage: {{Roll2}}
+ {{/rollGreater() Roll2 0}} + {{#rollLess() Roll2 0}} +
Disadvantage: {{Roll3}}
+ {{/rollLess() Roll2 0}} + + {{#rollGreater() AilmentRoll 0}} +
Ailment: {{Ailment}}
+ {{/rollGreater() AilmentRoll 0}} + + {{#rollTotal() Roll Fumble}} +
Fumble!:{{Roll}}
+ {{/rollTotal() Roll Fumble}} + + {{#DL}} +
Target: {{DL}}
+ + {{#rollGreater() Roll2 0}} + + {{#rollGreater() AilmentRoll 0}} +
Advantage Cancels Ailment: {{Ailment}}
+ {{#rollGreater() Roll DL }} +
Result: Failure
+ {{/rollGreater() Roll DL }} + {{#^rollGreater() Roll DL }} +
Result: Success!
+ {{/^rollGreater() Roll DL }} + {{/rollGreater() AilmentRoll 0}} + + {{#^rollGreater() AilmentRoll 0}} + {{#rollGreater() Roll DL }} + {{#rollGreater() Roll2 DL }} +
Advantage: Failure
+ {{/rollGreater() Roll2 DL }} + {{#^rollGreater() Roll2 DL }} +
Advantage: Success!
+ {{/^rollGreater() Roll2 DL }} + {{/rollGreater() Roll DL }} + + {{#^rollGreater() Roll DL }} +
Normal: Success!
+ {{/^rollGreater() Roll DL }} + + {{/^rollGreater() AilmentRoll 0}} + + {{/rollGreater() Roll2 0}} + + {{#rollLess() Roll2 0}} + + {{#rollGreater() AilmentRoll 0}} +
No Double Disadvantage for {{Ailment}}
+ {{/rollGreater() AilmentRoll 0}} + + {{#rollGreater() Roll DL }} +
Normal: Failure
+ {{/rollGreater() Roll DL }} + {{#^rollGreater() Roll DL }} + {{#rollGreater() Roll3 DL }} +
Disadvantage: Failure
+ {{/rollGreater() Roll3 DL }} + {{#^rollGreater() Roll3 DL }} +
Disadvantage: Success!
+ {{/^rollGreater() Roll3 DL }} + {{/^rollGreater() Roll DL }} + {{/rollLess() Roll2 0}} + + {{#rollTotal() Roll2 0}} + {{#rollGreater() Roll DL }} +
Result: Failure
+ {{/rollGreater() Roll DL }} + {{#^rollGreater() Roll DL }} +
Result: Success!
+ {{/^rollGreater() Roll DL }} + {{/rollTotal() Roll2 0}} + + {{/DL}} + + {{#Damage}} +
Damage: {{Damage}}
+ {{/Damage}} + + {{#GiftDice}} +
Total: {{Roll}}
+
Gift Dice: {{computed::GiftDice}}
+ {{#rollGreater() computed::Mishap 0}} +
Mishap!: {{computed::Mishap}}
+ {{/rollGreater() computed::Mishap 0}} + {{/GiftDice}} + + + + +
+

{{name}}

+
+ {{#Check}} +
Check: {{Roll}}
+ {{/Check}} + {{#Virtue}} +
Virtue: {{Virtue}}
+ {{/Virtue}} + + {{#rollGreater() AilmentRoll 0}} +
Ailment: {{Ailment}}
+
AilmentRoll: {{AilmentRoll}}
+ {{#DL}} +
Target: {{DL}}
+ {{#rollGreater() Roll DL }} +
Result: Failure
+ {{/rollGreater() Roll DL }} + {{#^rollGreater() Roll DL }} + {{#rollGreater() AilmentRoll DL }} +
AilmentCaused: Failure
+ {{/rollGreater() AilmentRoll DL }} + {{#^rollGreater() AilmentRoll DL }} +
Result: Success!
+ {{/^rollGreater() AilmentRoll DL }} + {{/^rollGreater() Roll DL }} + {{/DL}} + {{/rollGreater() AilmentRoll 0}} + {{#^rollGreater() AilmentRoll 0}} + {{#DL}} +
Target: {{DL}}
+ {{#rollGreater() Roll DL }} +
Result: Failure
+ {{/rollGreater() Roll DL }} + {{#^rollGreater() Roll DL }} +
Result: Success!
+ {{/^rollGreater() Roll DL }} + {{/DL}} + {{/^rollGreater() AilmentRoll 0}} + {{#Destiny}} +
Destiny: {{Destiny}}
+ {{/Destiny}} + {{#Luck}} +
Luck: {{Luck}}
+ {{/Luck}} + {{#Damage}} + {{#rollTotal() Roll 1 }} +
CRITICAL DAMAGE: {{CriticalDamage}}
+ {{/rollTotal() Roll 1 }} + {{#^rollTotal() Roll 1 }} +
Damage: {{Damage}}
+ {{/^rollTotal() Roll 1 }} + + {{/Damage}} +
+
+ + + diff --git a/Perils and Princesses/Perils.png b/Perils and Princesses/Perils.png new file mode 100644 index 0000000000..9673e2287e Binary files /dev/null and b/Perils and Princesses/Perils.png differ diff --git a/Perils and Princesses/sheet.json b/Perils and Princesses/sheet.json new file mode 100644 index 0000000000..b02f33de26 --- /dev/null +++ b/Perils and Princesses/sheet.json @@ -0,0 +1,9 @@ +{ + "html": "Perils.html", + "css": "Perils.css", + "authors": "Vialmada", + "preview": "Perils.png", + "roll20userid": "6040293", + "instructions": "# Perils and Princesses\n**Perils and Princesses** is an **unofficial** character sheet for Outrider Creative's TTRPG. If you have any questions or comments, please contact Vialmada.\n\n## Features\n* The Avatar Image is used for Character picture: 200px for both height and width\n* Virtue rolls have Advantage/Disadvantage/Normal options\n* Encumbrance is limited to Resolve and is tracked by checkbox ticks. An Encumbrance total appears beside the Weary Ailment and will trigger that condition when Resolve is exceeded\n* Gift Dice rolls prompt for the number of dice and declare Mishap on doubles\n* Critical Damage, doubled dice, occur when a '1' is rolled to hit", + "legacy": false +} \ No newline at end of file diff --git a/Perils and Princesses/translation.json b/Perils and Princesses/translation.json new file mode 100644 index 0000000000..0facf079df --- /dev/null +++ b/Perils and Princesses/translation.json @@ -0,0 +1,69 @@ +{ +"pageOne-c":"Page One", +"pageTwo-c":"Page Two", +"name-u":"NAME", +"pronouns-u":"PRONOUNS", +"fairyGodmother-u":"FAIRY GODMOTHER", +"myStuff-u":"MY STUFF", +"virtues-c":"Virtues", +"resolve-u":"RESOLVE", +"grace-u":"GRACE", +"wits-u":"WITS", +"armor-u":"ARMOUR", +"heartPoints-u":"HEART POINTS", +"max-u":"MAX", +"current-u":"CURRENT", +"heartDice-c":"Heart Dice", +"myStuff-u":"MY STUFF", +"weapon-u":"WEAPON", +"dmgDice-u":"DMG DICE", +"melee (resolve)-c":"Melee (Resolve)", +"range (grace)-c":"Range (Grace)", +"money-c":"Money", +"talents-u":"TALENTS", +"giftDice-c":"Gift Dice:", +"myGift-u":"MY GIFT:", +"myLevel-u":"MY LEVEL:", +"innateAbilities-u":"INNATE ABILITIES", +"specialAbilities-u":"SPECIAL ABILITIES", +"specialAbilities1-c":"Special Abilities: Level 1", +"specialAbilities2-c":"Special Abilities: Level 2", +"specialAbilities3-c":"Special Abilities: Level 3", +"specialAbilities4-c":"Special Abilities: Level 4", +"level-c":"Level ", +"cursesInjuries-c":"Curses & Injures", +"ailment-c":"Ailment", +"weary-u":"WEARY", +"wearyResolve":"WEARY (Resolve)", +"woozy-u":"WOOZY", +"woozyGrace":"WOOZY (Grace)", +"befuddled-u":"BEFUDDLED", +"befuddledWits":"BEFUDDLED (Wits)", +"trauma-c":"Trauma:", +"encumbrance-c":"Encumbrance", + +"advantageCancelsAilment:-c":"Advantage Cancels Ailment:", +"noDoubleDisadvantageFor-c":"No Double Disadvantage for ", +"check:-c":"Check: ", +"for-c":" for ", +"target:-c":"Target: ", +"total:-c":"Total: ", +"normal:-c":"Normal: ", +"advantage:-c":"Advantage: ", +"disadvantage:-c":"Disadvantage: ", +"virtue:-c":"Virtue: ", +"ailment:-c":"Ailment: ", +"ailmentRoll:-c":"Ailment Roll: ", +"ailmentCaused:-c":"Ailment Caused: ", +"result:-c":"Result: ", +"success!-c":"Success!", +"failure-c":"Failure", +"fumble!-c":"Fumble", +"damage:-c":"Damage: ", +"criticalDamage:-u":"CRITICAL DAMAGE: ", +"possibleDamage-c":"Possible Damage", +"giftDice:-c":"Gift Dice:", +"clickToRollGiftDice-c":"Click To Roll Gift Dice", +"mishap!:-c":"Mishap!: ", +"":"" +} \ No newline at end of file