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..60e3007f52 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. Mark an Eminence use, take stress for each point of magnitude greater than Resolve, and roll dice equal to Synthesis rating. Synthesis has its own XP track, once filled mark an additional dot of Synthesis and clear the XP track. ", "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