diff --git a/Tribes in the Dark/Assets/R20TitD.afphoto b/Tribes in the Dark/Assets/R20TitD.afphoto new file mode 100644 index 0000000000..f591f32b10 Binary files /dev/null and b/Tribes in the Dark/Assets/R20TitD.afphoto differ diff --git a/Tribes in the Dark/Assets/rolltemplate/broadcast.afphoto b/Tribes in the Dark/Assets/rolltemplate/broadcast.afphoto new file mode 100644 index 0000000000..21cc279384 Binary files /dev/null and b/Tribes in the Dark/Assets/rolltemplate/broadcast.afphoto differ diff --git a/Tribes in the Dark/Assets/rolltemplate/rolltemplate-resist.afphoto b/Tribes in the Dark/Assets/rolltemplate/rolltemplate-resist.afphoto new file mode 100644 index 0000000000..55b404b3b3 Binary files /dev/null and b/Tribes in the Dark/Assets/rolltemplate/rolltemplate-resist.afphoto differ diff --git a/Tribes in the Dark/Assets/rolltemplate/rolltemplate-synthesis.afphoto b/Tribes in the Dark/Assets/rolltemplate/rolltemplate-synthesis.afphoto new file mode 100644 index 0000000000..ca88b0c136 Binary files /dev/null and b/Tribes in the Dark/Assets/rolltemplate/rolltemplate-synthesis.afphoto differ diff --git a/Tribes in the Dark/Assets/rolltemplate/rolltemplate-vice.afphoto b/Tribes in the Dark/Assets/rolltemplate/rolltemplate-vice.afphoto new file mode 100644 index 0000000000..773f69339a Binary files /dev/null and b/Tribes in the Dark/Assets/rolltemplate/rolltemplate-vice.afphoto differ diff --git a/Tribes in the Dark/Assets/rolltemplate/rolltemplate.afphoto b/Tribes in the Dark/Assets/rolltemplate/rolltemplate.afphoto new file mode 100644 index 0000000000..84a2c374be Binary files /dev/null and b/Tribes in the Dark/Assets/rolltemplate/rolltemplate.afphoto differ diff --git a/Tribes in the Dark/README.md b/Tribes in the Dark/README.md index 5db9f8f85d..c2d28c7c6f 100644 --- a/Tribes in the Dark/README.md +++ b/Tribes in the Dark/README.md @@ -4,8 +4,12 @@ This sheet is for Tribes in the Dark, a reboot of the Tribe 8 roleplaying game f Any questions or issues with this sheet can be directed to @rivetgeek on Twitter, rivetgeek#3424 on Discord, or by joining the official Tribes in the Dark Discord channel (https://discord.gg/qfGk4aR8S2). ## Changelog -#### July 25, 2022 -Fixes and changes made for v1.2 playtest. -### January 16, 2021 -Initial commit +### January 16, 2021 +* Initial commit +### August, 2022 +* v1.2 +* Error fixes +### August, 2022 +* v1.3 +* Error fixes diff --git a/Tribes in the Dark/translation.json b/Tribes in the Dark/translation.json index 0db09c04e1..d227198230 100644 --- a/Tribes in the Dark/translation.json +++ b/Tribes in the Dark/translation.json @@ -304,7 +304,7 @@ "hunting_kit_description": "Nets, traps, snares, fishing pole and lines.", "hunting_pet": "Hunting Pet", "impaired": "Impaired", - "indulge_vice": "Gratify", + "indulge_vice": "Indulge", "infirmary": "Infirmary", "influence": "influence", "influence_description": "Influence with charm, logic, intimidation, threats, or force of personality; change attitudes or behavior with manipulation or seduction", @@ -480,7 +480,7 @@ "playbook_ability_sybarite": "Sybarite", "playbook_ability_sybarite_description": "When you indulge in your diversion, you can move the die result 1 or 2 in either direction. Anybody who indulges with you gains the benefit as well.", "playbook_ability_synthesis": "Synthesis", - "playbook_ability_synthesis_description": "Use dream magic of a magnitude lower than Resolve + Vision. Mark an Eminence use, take stress for each point of magnitude greater than Resolve, and roll dice equal to Synthesis rating. Synthesis can be taken multiple times (max 4).", + "playbook_ability_synthesis_description": "Gain 1 dot in Synthesis and the ability to use dream magic. Magnitude must be lower than Resolve+Vision. Roll dice equal to Synthesis rating and takle stress based on result (or mark an Eminence use). Synthesis can be improved through XP.", "playbook_ability_takes_one_to_know_one": "Takes One To Know One", "playbook_ability_takes_one_to_know_one_description": "You can always tell when you're being lied to.", "playbook_ability_torchbearer": "Torchbearer", @@ -650,7 +650,7 @@ "playbook_tera_sheban_friend_3": "Raleigh, a Dahlian caravan handler", "playbook_tera_sheban_friend_4": "Ulysses Ventoux, a Keeper historian", "playbook_tera_sheban_friends_title": "Friends", - "playbook_tera_sheban_xp_condition": "Address a challenge with passion or diplomacy", + "playbook_tera_sheban_xp_condition": "Address a challenge with investigation or knowledge", "playbook_yagan_background": "Flesher—Morded—Old One—Pellis Artisan", "playbook_yagan_description": "A spooky spiritualist and soothsayer", "playbook_yagan_eminence": "Death—Fate", @@ -693,6 +693,7 @@ "resists": "resists", "resolve": "Resolve", "resolve_description": "Resist consequences from mental strain or willpower.", + "synthesis_description": "Use dream magic.", "resources": "Resources", "risky": "Risky", "ritual_space": "Ritual Space", @@ -759,7 +760,7 @@ "survival_gear_description": "Bedroll, lean-to or shelter, flint and tinder, water skin, small knife, trowel.", "suspicious": "Suspicious", "synthesis": "Synthesis", - "synthesis_instructions": "Pay stress equal to difference betwen magnitude and Resolve + Vision.", + "synthesis_instructions": "Pay stress or mark an Eminence use.", "tactical": "Tactical", "tactical_detail": "Advantage", "teamwork": "Teamwork", diff --git a/Tribes in the Dark/tribes.css b/Tribes in the Dark/tribes.css index 5e78d505ad..9bf8851a36 100644 --- a/Tribes in the Dark/tribes.css +++ b/Tribes in the Dark/tribes.css @@ -588,7 +588,7 @@ textarea.sheet-smallcaps { .sheet-tribeslogo { /*border-right: 12px solid transparent;*/ height: 50px; - background-image: url("https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Tribes%20in%20the%20Dark/Assets/titd_R20.png"); + background-image: url("https://raw.githubusercontent.com/rivetgeekwil/Blades-template/titd/Assets/titd_R20.png"); background-size: 85% auto; background-repeat: no-repeat; } @@ -1290,29 +1290,29 @@ input.sheet-tooth:last-of-type { opacity: 0.7; } .sheet-xptooth + span { - background-image: url("https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Tribes%20in%20the%20Dark/Assets/teeth/xptooth-filled.png"); + background-image: url("https://raw.githubusercontent.com/rivetgeekwil/Blades-template/titd/Assets/teeth/xptooth-filled.png"); margin-right: 4px; } .sheet-tooth:checked ~ .sheet-xptooth + span { - background-image: url("https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Tribes%20in%20the%20Dark/Assets/teeth/xptooth-white.png"); + background-image: url("https://raw.githubusercontent.com/rivetgeekwil/Blades-template/titd/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/Tribes%20in%20the%20Dark/Assets/teeth/stresstooth-red.png"); + background-image: url("https://raw.githubusercontent.com/rivetgeekwil/Blades-template/titd/Assets/teeth/stresstooth-red.png"); size: 105%; } .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/Tribes%20in%20the%20Dark/Assets/teeth/stresstooth-white.png"); + background-image: url("https://raw.githubusercontent.com/rivetgeekwil/Blades-template/titd/Assets/teeth/stresstooth-white.png"); size: 105%; } .sheet-regulartooth + span { - background-image: url("https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Tribes%20in%20the%20Dark/Assets/teeth/shorttooth-red.png"); + background-image: url("https://raw.githubusercontent.com/rivetgeekwil/Blades-template/titd/Assets/teeth/shorttooth-red.png"); } .sheet-tooth:checked ~ .sheet-regulartooth + span { - background-image: url("https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Tribes%20in%20the%20Dark/Assets/teeth/shorttooth-grey.png"); + background-image: url("https://raw.githubusercontent.com/rivetgeekwil/Blades-template/titd/Assets/teeth/shorttooth-grey.png"); } input.sheet-zero { width: 13px; @@ -2658,7 +2658,7 @@ button[type=roll].sheet-broadcast-button { height: 258px; } .sheet-rolltemplate-bitd .sheet-fortune { - background-image: url("https://raw.githubusercontent.com/rivetgeekwil/Tribes-in-the-Dark/main/Roll20/Assets/rolltemplate/rolltemplate-fortune.png"); + background-image: url("https://github.com/rivetgeekwil/Tribes-in-the-Dark/blob/ceacac6fa56646bfcb4b55c59151e96207f518e2/Assets/rolltemplate/rolltemplate-fortune.png?raw=true"); background-position: bottom right; background-repeat: no-repeat; background-color: white; @@ -2666,16 +2666,16 @@ button[type=roll].sheet-broadcast-button { min-height: 250px; } .sheet-rolltemplate-bitd .sheet-action { - background-image: url("https://raw.githubusercontent.com/rivetgeekwil/Tribes-in-the-Dark/main/Roll20/Assets/rolltemplate/rolltemplate-action4.png"); + background-image: url("https://github.com/rivetgeekwil/Tribes-in-the-Dark/blob/ceacac6fa56646bfcb4b55c59151e96207f518e2/Assets/rolltemplate/rolltemplate-action4.png?raw=true"); } .sheet-rolltemplate-bitd .sheet-resist { - background-image: url("https://raw.githubusercontent.com/rivetgeekwil/Tribes-in-the-Dark/main/Roll20/Assets/rolltemplate/rolltemplate-resist4.png"); + background-image: url("https://github.com/rivetgeekwil/Tribes-in-the-Dark/blob/ceacac6fa56646bfcb4b55c59151e96207f518e2/Assets/rolltemplate/rolltemplate-resist4.png?raw=true"); } .sheet-rolltemplate-bitd .sheet-vice { - background-image: url("https://raw.githubusercontent.com/rivetgeekwil/Tribes-in-the-Dark/main/Roll20/Assets/rolltemplate/rolltemplate-vice2.png"); + background-image: url("https://github.com/rivetgeekwil/Tribes-in-the-Dark/blob/ceacac6fa56646bfcb4b55c59151e96207f518e2/Assets/rolltemplate/rolltemplate-vice2.png?raw=true"); } .sheet-rolltemplate-bitd .sheet-synthesis { - background-image: url("https://raw.githubusercontent.com/rivetgeekwil/Tribes-in-the-Dark/main/Roll20/Assets/rolltemplate/rolltemplate-synthesis2.png"); + background-image: url("https://github.com/rivetgeekwil/Tribes-in-the-Dark/blob/ceacac6fa56646bfcb4b55c59151e96207f518e2/Assets/rolltemplate/rolltemplate-synthesis2.png?raw=true"); } .sheet-rolltemplate-bitd img { display: block; @@ -2869,7 +2869,7 @@ button[type=roll].sheet-broadcast-button { position: relative; font-family: "Averia Libre", "Times New Roman", serif; background-color: #180d06; - background-image: url("https://raw.githubusercontent.com/rivetgeekwil/Tribes-in-the-Dark/main/Roll20/Assets/rolltemplate/broadcast.png"); + background-image: url("https://github.com/rivetgeekwil/Tribes-in-the-Dark/blob/ceacac6fa56646bfcb4b55c59151e96207f518e2/Assets/rolltemplate/broadcast.png?raw=true"); /* Image */ } .sheet-rolltemplate-bitd-broadcast .sheet-header { diff --git a/Tribes in the Dark/tribes.html b/Tribes in the Dark/tribes.html index 37f2d3d08a..fc3d55fc8f 100644 --- a/Tribes in the Dark/tribes.html +++ b/Tribes in the Dark/tribes.html @@ -798,17 +798,57 @@ -
-
+
+ - - - - - - - +
+ + + + + + + +
+
+
+
+ + + + + + + +
+
+
+
+
+
+ + + + + +
+
+
+ +
+ +
+ +
+
+
+ +
+ +
+ +
@@ -875,34 +915,6 @@
- -
-
-
-
- - - - - -
-
-
- -
- -
- -
-
-
- -
- -
- -
-
@@ -1023,7 +1035,7 @@
@@ -1177,6 +1189,683 @@
+
+
+ + + +
+
+ + + + + +
+
+
+
+
+ + + +
+
+ + + + + +
+
+
+ +
Contact + +
+
+
+
+ + +
+
+
+ +
Diversion + +
+
+
+
+ + +
+
+
+ +
Side Quest + +
+
+
+
+ + +
+
+
+
Support + +
+
+
+
+ + +
+
+
+ + +
Advocate + +
+
+
+
+ + +
+
+
+ + +
Counselor + +
+
+
+
+ + +
+
+
+ + +
Fixer + +
+
+
+
+ + +
+
+
+ + +
Mentor + +
+
+
+
+ + +
+
+ + + +
+
+ + + + + +
+
+
+ +
Infirmary + +
+
+
+
+ + +
+
+
+ + + +
Tunnels + +
+
+
+
+ + +
+
+
+ +
Quarters + +
+
+
+
+ + +
+
+
+ + +
Transport + +
+
+
+
+ + +
+
+
+ + +
Secure + +
+
+
+
+ + +
+
+
+
Training + +
+
+
+
+ + +
+
+
+ +
Insight + +
+
+
+
+ + +
+
+
+ +
Prowess + +
+
+
+
+ + +
+
+
+ +
Resolve + +
+
+
+
+ + +
+
+
+ +
Playbook + +
+
+
+
+ + +
+
+
+
Professionals + +
+
+
+
+ + +
+
+
+ + +
Healer + +
+
+
+
+ + +
+
+
+ + +
Maker + +
+
+
+
+ + +
+
+
+ + +
Pilot + +
+
+
+
+ + +
+
+
+ + +
Ranger + +
+
+
+
+ + +
+
+
+ + + + + +
+
+ + +
+
+
+ + + +
+
+ + + + + +
+
+
+ + +
Storage + +
+
+
+
+ + +
+
+
+
Quality + +
+
+
+
+ + +
+
+
+ +
Armor + +
+
+
+
+ + +
+
+
+ +
Basic Gear + +
+
+
+
+ + +
+
+
+ +
Tools & Kits + +
+
+
+
+ + +
+
+
+ +
Weapons + +
+
+
+
+ + +
+
+
+
Load + +
+
+
+
+ + +
+
+
+ +
Armor + +
+
+
+
+ + +
+
+
+ +
Basic Gear + +
+
+
+
+ + +
+
+
+ +
Tools & Kits + +
+
+
+
+ + +
+
+
+ +
Weapons + +
+
+
+
+ + +
+
+ + + +
+
+ + + + + +
+
+
+ +
Patron Spirit + +
+
+
+
+ + +
+
+
+ + +
Ritual Space + +
+
+
+
+ + +
+
+
+
Rituals + +
+
+
+
+ + +
+
+
+ +
Divination + +
+
+
+
+ + +
+
+
+ +
Enchantment + +
+
+
+
+ + +
+
+
+ +
Nature + +
+
+
+
+ + +
+
+
+ +
Old Arts + +
+
+
+
+ + +
+
+
+ +
Summoning + +
+
+
+
+ + +
+
+
+ +
Sundering + +
+
+
+
+ + +
+
+
+ +
Synthesis + +
+
+
+
+ + +
+
+
+
Adepts + +
+
+
+
+ + +
+
+
+ + +
Dreamer + +
+
+
+
+ + +
+
+
+ + +
Ritualist + +
+
+
+
+ + +
+
+
+ + +
Seer + +
+
+
+
+ + +
+
+
+ + +
Spiritualist + +
+
+
+
+ + +
+
@@ -1206,563 +1895,6 @@
- -
-
-
- - -
-
- - - - - -
-
-
- - -
-
- - -
-
-
-
- -
-
-
-
-
-
- - -
-
- - -
-
-
-
- - - -
-
- - -
-
-
-
- - -
-
- - -
-
-
-
- - - -
-
- - -
-
-
-
- -
-
-
-
-
-
- - - -
-
- - -
-
-
-
- -
-
-
-
-
-
- - - -
-
- - -
-
-
- - -
-
- - - - - -
-
-
- - -
-
- - -
-
-
-
- - - - -
-
- - -
-
-
-
- - -
-
- - -
-
-
-
- - - -
-
- - -
-
-
-
- - - -
-
- - -
-
-
-
- -
-
-
-
-
-
- -
-
-
-
-
-
- -
-
-
-
-
-
- - -
-
- - -
-
-
-
- - - -
-
- - -
-
-
-
- - -
-
- - -
-
-
-
- - - -
-
- - -
-
-
-
- - -
-
- - -
-
-
-
- - - -
-
- - -
-
-
-
- - -
-
- - -
-
-
-
- - - -
-
- - -
-
-
-
- - - - - -
-
- - -
-
-
- - -
-
- - - - - -
-
-
- - - -
-
- - -
-
-
-
- -
-
-
-
-
-
- -
-
- - -
-
-
-
- -
-
- - -
-
-
-
- - -
-
-
-
-
-
- - -
-
-
-
-
-
- - -
-
-
-
-
-
- - -
-
-
-
-
-
- - -
-
-
-
-
-
- - -
-
-
-
-
-
- - -
-
-
-
-
-
- - -
-
-
-
-
- - -
-
- - - - - -
-
-
- - -
-
- - -
-
-
-
- -
-
-
-
-
-
- - - -
-
- - -
-
-
-
- - -
-
-
-
-
-
- -
-
-
-
-
-
- - -
-
-
-
-
-
- - - -
-
- - -
-
-
-
- - -
-
-
-
-
-
- - - -
-
- - -
-
-
-
- - -
-
-
-
-
-
- - - -
-
- - -
-
-
-
- - -
-
-
-
-
-
- - - -
-
- - -
-
-
-
- - -
-
-
-
-
-
- -
-
-
-
-
-
- - -
-
-
-
-
@@ -3542,7 +3674,7 @@ const data = { "actions": { "insight": ["craft","hunt", "study", "survey"], "prowess": ["fight","finesse","force","lurk"], - "resolve": ["consort", "dream", "influence", "trick"] + "resolve": ["consort", "dream", "influence", "trick"] }, "traumas": ["adrift","cold","haunted","obsessed","paranoid","shattered","soft","unstable","vicious"], "items": [ @@ -3681,7 +3813,7 @@ const data = { "translatedOutlookAttributes": ["outlook_eminence"] }; /* global data, getTranslationByKey, getAttrs, setAttrs, on, getSectionIDs, generateRowID, removeRepeatingRow */ -const sheetVersion = "1.2"; +const sheetVersion = "1.3"; const sheetName = "Tribes in the Dark"; const getTranslation = (key) => (getTranslationByKey(key) || `NO_TRANSLATION_FOUND_FOR_${key}`); /* It's necessary to include the base data at the start of the file */ @@ -3910,6 +4042,18 @@ const mySetAttrs = (attrs, options, callback) => { calculateSynthesisFormula = () => getAttrs(["synthesis"], v => { setAttr("synthesis_formula", buildRollFormula(v.synthesis)); }), + calculateCommunityFormula = () => getAttrs(["community"], v => { + setAttr("community_formula", buildRollFormula(v.community)); + }), + calculateSanctuaryFormula = () => getAttrs(["sanctuary"], v => { + setAttr("sanctuary_formula", buildRollFormula(v.sanctuary)); + }), + calculateSupplyFormula = () => getAttrs(["supply"], v => { + setAttr("supply_formula", buildRollFormula(v.supply)); + }), + calculateVisionFormula = () => getAttrs(["vision"], v => { + setAttr("vision_formula", buildRollFormula(v.vision)); + }), calculateCohortDice = prefixes => { const sourceAttrs = [ "crew_tier", @@ -4076,6 +4220,10 @@ Object.keys(data.actions).forEach(attrName => { on(`change:${attrName}`, calculateVice); }); on("change:synthesis", calculateSynthesisFormula); +on("change:community", calculateCommunityFormula); +on("change:sanctuary", calculateSanctuaryFormula); +on("change:supply", calculateSupplyFormula); +on("change:vision", calculateVisionFormula); /* Calculate stash */ on("change:stash", calculateStashFormula); on("change:wanted", calculateWantedFormula); diff --git a/Tribes in the Dark/tribes.png b/Tribes in the Dark/tribes.png index 0e1a963d5a..24043b8443 100644 Binary files a/Tribes in the Dark/tribes.png and b/Tribes in the Dark/tribes.png differ