[Chronicles of Darkness] Add Geist sheet option (#6831)

* add readme for community cofd sheet

* add geist sheet type option

* add geist sheet attributes

* arrange geist attributes

* add geist translations

* adjust geist trigger labels

* calculate ephemeral defense

* fix defense calc

* calculate ephemeral initiative

* minor traits update

* calculate ephemeral speed

* include modifiers in ephermal health calculation

* rearrange sheet type buttons

* move innate key

* change crisis point triggers from textarea to input

* limit ephermal potency to 5

* generalize number-based display conditions

* change "gt-" class to more accurate "ne-"
This commit is contained in:
PrimalZed
2020-06-29 11:26:52 -05:00
committed by GitHub
parent b190454faa
commit 13cd104b0e
5 changed files with 656 additions and 469 deletions
+51 -51
View File
@@ -36,6 +36,7 @@
.sheet-geist,
.sheet-geist1,
.sheet-geist2,
.sheet-geist2-geist,
.sheet-geist2-organization,
.sheet-changeling,
.sheet-changeling1,
@@ -71,6 +72,7 @@ input.sheet-type[value="changeling2"] ~ * .sheet-changeling2,
input.sheet-game-line[value="geist"] ~ * .sheet-geist,
input.sheet-type[value="geist1"] ~ * .sheet-geist1,
input.sheet-type[value="geist2"] ~ * .sheet-geist2,
input.sheet-type[value="geist2-geist"] ~ * .sheet-geist2-geist,
input.sheet-type[value="geist2-organization"] ~ * .sheet-geist2-organization,
input.sheet-game-line[value="mummy"] ~ * .sheet-mummy,
input.sheet-type[value="mummy1"] ~ * .sheet-mummy1,
@@ -103,6 +105,7 @@ input.sheet-type[value="changeling2"] ~ * div.sheet-changeling2,
input.sheet-game-line[value="geist"] ~ * div.sheet-geist,
input.sheet-type[value="geist1"] ~ * div.sheet-geist1,
input.sheet-type[value="geist2"] ~ * div.sheet-geist2,
input.sheet-type[value="geist2-geist"] ~ * div.sheet-geist2-geist,
input.sheet-type[value="geist2-organization"] ~ * div.sheet-geist2-organization,
input.sheet-game-line[value="mummy"] ~ * div.sheet-mummy,
input.sheet-type[value="mummy1"] ~ * div.sheet-mummy1,
@@ -135,6 +138,7 @@ input.sheet-type[value="changeling2"] ~ * table.sheet-changeling2,
input.sheet-game-line[value="geist"] ~ * table.sheet-geist,
input.sheet-type[value="geist1"] ~ * table.sheet-geist1,
input.sheet-type[value="geist2"] ~ * table.sheet-geist2,
input.sheet-type[value="geist2-geist"] ~ * table.sheet-geist2-geist,
input.sheet-type[value="geist2-organization"] ~ * table.sheet-geist2-organization,
input.sheet-game-line[value="mummy"] ~ * table.sheet-mummy,
input.sheet-type[value="mummy1"] ~ * table.sheet-mummy1,
@@ -160,8 +164,16 @@ input.sheet-edition[value="1"] ~ * .sheet-2nd,
input.sheet-edition[value="2"] ~ * .sheet-1st,
input.sheet-entity:not([value="corporeal"]) ~ .sheet-corporeal,
input.sheet-entity:not([value="corporeal"]) ~ * .sheet-corporeal,
input.sheet-entity[value="corporeal"] ~ .sheet-corporeal-inverse,
input.sheet-entity[value="corporeal"] ~ * .sheet-corporeal-inverse,
input.sheet-entity:not([value="ephemeral"]) ~ .sheet-ephemeral,
input.sheet-entity:not([value="ephemeral"]) ~ * .sheet-ephemeral,
input.sheet-entity[value="ephemeral"] ~ .sheet-ephemeral-inverse,
input.sheet-entity[value="ephemeral"] ~ * .sheet-ephemeral-inverse,
input.sheet-entity:not([value="organization"]) ~ .sheet-organization,
input.sheet-entity:not([value="organization"]) ~ * .sheet-organization {
input.sheet-entity:not([value="organization"]) ~ * .sheet-organization,
input.sheet-entity[value="organization"] ~ .sheet-organization-inverse,
input.sheet-entity[value="organization"] ~ * .sheet-organization-inverse {
display: none !important;
}
@@ -314,6 +326,7 @@ input.sheet-type[value="changeling2"] ~ * button.sheet-active-changeling2,
input.sheet-type[value="hunter"] ~ * button.sheet-active-hunter,
input.sheet-type[value="geist1"] ~ * button.sheet-active-geist1,
input.sheet-type[value="geist2"] ~ * button.sheet-active-geist2,
input.sheet-type[value="geist2-geist"] ~ * button.sheet-active-geist2-geist,
input.sheet-type[value="geist2-organization"] ~ * button.sheet-active-geist2-organization,
input.sheet-type[value="mummy1"] ~ * button.sheet-active-mummy1,
input.sheet-type[value="mummy2"] ~ * button.sheet-active-mummy2,
@@ -391,6 +404,7 @@ input.sheet-game-line[value="changeling"] ~ * input.sheet-weapon:checked + span
input.sheet-type[value="geist1"] ~ * button.sheet-active-geist1,
input.sheet-type[value="geist2"] ~ * button.sheet-active-geist2,
input.sheet-type[value="geist2-geist"] ~ * button.sheet-active-geist2-geist,
input.sheet-type[value="geist2-organization"] ~ * button.sheet-active-geist2-organization,
input.sheet-game-line[value="geist"] + span.sheet-attr,
input.sheet-game-line[value="geist"] ~ input.sheet-attr:checked + span.sheet-attr,
@@ -543,12 +557,10 @@ input.sheet-game-line[value="hunter"] ~ * input.sheet-weapon:checked + span + .s
}
.charsheet textarea {
display: inline-block;
width:100%;
margin:1px 0px;
resize:none;
font-family: "Courier";
color: #000000;
margin:10px 0 0 0;
resize:vertical;
width: calc(100% - 10px);
height: 74px;
}
.sheet-flex {
@@ -666,6 +678,7 @@ input.sheet-game-line[value="hunter"] ~ * input.sheet-weapon:checked + span + .s
font-size: 0.8em;
text-align: center;
font-style: italic;
font-weight: bolder;
}
.sheet-otherattributes {
@@ -838,11 +851,11 @@ input[type="checkbox"].sheet-checkbox:checked + span::before
/* Remove dot from all radios _after_ selected one */
input[type="radio"].sheet-dot:checked ~ input[type="radio"] + span::before,
input[type="hidden"][value="0"] ~ input[type="radio"].sheet-dot + span::before,
input[type="hidden"][value="1"] ~ input[type="radio"].sheet-dot.sheet-gt-1 + span::before,
input[type="hidden"][value="2"] ~ input[type="radio"].sheet-dot.sheet-gt-2 + span::before,
input[type="hidden"][value="3"] ~ input[type="radio"].sheet-dot.sheet-gt-3 + span::before,
input[type="hidden"][value="4"] ~ input[type="radio"].sheet-dot.sheet-gt-4 + span::before,
input[type="hidden"][value="5"] ~ input[type="radio"].sheet-dot.sheet-gt-5 + span::before
input[type="hidden"][value="1"] ~ input[type="radio"].sheet-dot.sheet-ne-1 + span::before,
input[type="hidden"][value="2"] ~ input[type="radio"].sheet-dot.sheet-ne-2 + span::before,
input[type="hidden"][value="3"] ~ input[type="radio"].sheet-dot.sheet-ne-3 + span::before,
input[type="hidden"][value="4"] ~ input[type="radio"].sheet-dot.sheet-ne-4 + span::before,
input[type="hidden"][value="5"] ~ input[type="radio"].sheet-dot.sheet-ne-5 + span::before
{
content: "";
}
@@ -857,16 +870,16 @@ button.sheet-dot {
}
button.sheet-dot.sheet-active,
input[type="hidden"][value="1"] ~ button.sheet-dot:not(.sheet-zero):not(.sheet-gt-1),
input[type="hidden"][value="2"] ~ button.sheet-dot:not(.sheet-zero):not(.sheet-gt-2),
input[type="hidden"][value="3"] ~ button.sheet-dot:not(.sheet-zero):not(.sheet-gt-3),
input[type="hidden"][value="4"] ~ button.sheet-dot:not(.sheet-zero):not(.sheet-gt-4),
input[type="hidden"][value="5"] ~ button.sheet-dot:not(.sheet-zero):not(.sheet-gt-5),
input[type="hidden"][value="6"] ~ button.sheet-dot:not(.sheet-zero):not(.sheet-gt-6),
input[type="hidden"][value="7"] ~ button.sheet-dot:not(.sheet-zero):not(.sheet-gt-7),
input[type="hidden"][value="8"] ~ button.sheet-dot:not(.sheet-zero):not(.sheet-gt-8),
input[type="hidden"][value="9"] ~ button.sheet-dot:not(.sheet-zero):not(.sheet-gt-9),
input[type="hidden"][value="10"] ~ button.sheet-dot:not(.sheet-zero):not(.sheet-gt-10) {
input[type="hidden"][value="1"] ~ button.sheet-dot:not(.sheet-zero):not(.sheet-ne-1),
input[type="hidden"][value="2"] ~ button.sheet-dot:not(.sheet-zero):not(.sheet-ne-2),
input[type="hidden"][value="3"] ~ button.sheet-dot:not(.sheet-zero):not(.sheet-ne-3),
input[type="hidden"][value="4"] ~ button.sheet-dot:not(.sheet-zero):not(.sheet-ne-4),
input[type="hidden"][value="5"] ~ button.sheet-dot:not(.sheet-zero):not(.sheet-ne-5),
input[type="hidden"][value="6"] ~ button.sheet-dot:not(.sheet-zero):not(.sheet-ne-6),
input[type="hidden"][value="7"] ~ button.sheet-dot:not(.sheet-zero):not(.sheet-ne-7),
input[type="hidden"][value="8"] ~ button.sheet-dot:not(.sheet-zero):not(.sheet-ne-8),
input[type="hidden"][value="9"] ~ button.sheet-dot:not(.sheet-zero):not(.sheet-ne-9),
input[type="hidden"][value="10"] ~ button.sheet-dot:not(.sheet-zero):not(.sheet-ne-10) {
background: #404040;
background: -moz-radial-gradient(#404040, #404040);
background: -webkit-radial-gradient(#404040, #404040);
@@ -1117,32 +1130,27 @@ input.sheet-zero:hover + span::before {
display: inline-block;
}
.sheet-healthboxes {
display: flex;
justify-content: center;
}
.sheet-spread {
justify-content: space-evenly;
padding: 10px;
}
.sheet-healthboxes > input[value="1"] ~ .sheet-gt-1,
.sheet-healthboxes > input[value="2"] ~ .sheet-gt-2,
.sheet-healthboxes > input[value="3"] ~ .sheet-gt-3,
.sheet-healthboxes > input[value="4"] ~ .sheet-gt-4,
.sheet-healthboxes > input[value="5"] ~ .sheet-gt-5,
.sheet-healthboxes > input[value="6"] ~ .sheet-gt-6,
.sheet-healthboxes > input[value="7"] ~ .sheet-gt-7,
.sheet-healthboxes > input[value="8"] ~ .sheet-gt-8,
.sheet-healthboxes > input[value="9"] ~ .sheet-gt-9,
.sheet-healthboxes > input[value="10"] ~ .sheet-gt-10,
.sheet-healthboxes > input[value="11"] ~ .sheet-gt-11,
.sheet-healthboxes > input[value="12"] ~ .sheet-gt-12,
.sheet-healthboxes > input[value="13"] ~ .sheet-gt-13,
.sheet-healthboxes > input[value="14"] ~ .sheet-gt-14,
.sheet-healthboxes > input[value="15"] ~ .sheet-gt-15,
.sheet-healthboxes > input[value="16"] ~ .sheet-gt-16 {
input.sheet-if[value="1"] ~ .sheet-ne-1,
input.sheet-if[value="2"] ~ .sheet-ne-2,
input.sheet-if[value="3"] ~ .sheet-ne-3,
input.sheet-if[value="4"] ~ .sheet-ne-4,
input.sheet-if[value="5"] ~ .sheet-ne-5,
input.sheet-if[value="6"] ~ .sheet-ne-6,
input.sheet-if[value="7"] ~ .sheet-ne-7,
input.sheet-if[value="8"] ~ .sheet-ne-8,
input.sheet-if[value="9"] ~ .sheet-ne-9,
input.sheet-if[value="10"] ~ .sheet-ne-10,
input.sheet-if[value="11"] ~ .sheet-ne-11,
input.sheet-if[value="12"] ~ .sheet-ne-12,
input.sheet-if[value="13"] ~ .sheet-ne-13,
input.sheet-if[value="14"] ~ .sheet-ne-14,
input.sheet-if[value="15"] ~ .sheet-ne-15,
input.sheet-if[value="16"] ~ .sheet-ne-16 {
display: none;
}
@@ -1410,14 +1418,6 @@ input[type=number] {
padding: 0;
}
.sheet-page2 textarea,
.sheet-page3 textarea {
resize:vertical;
width: calc(100% - 10px);
margin-top: 10px;
height: 74px;
}
.sheet-page2 .sheet-customroll {
border: solid 1px black;
border-radius: 4px;
File diff suppressed because it is too large Load Diff
+9
View File
@@ -0,0 +1,9 @@
# Community Sheet
This is the community-contributed version of the [Chronicles of Darkness by Roll20](https://github.com/Roll20/roll20-character-sheets/tree/master/Chronicles%20of%20Darkness%20by%20Roll20) sheet. It was forked after Oct 21, 2019.
Changes include:
1. (various stylistic / formatting updates)
2. Geist: The Sin-Eaters Second Edition
3. Krewe sheet for Geist: The Sin-Eaters Second Edition (also available as generic Organization sheet)
4. Geist sheet for Geist: The Sin-Eaters Second Edition
+15 -3
View File
@@ -5,19 +5,19 @@
"page-3":"Page 3",
"first-edition":"1st Edition,",
"chronicles-of-darkness":"Chronicles of Darkness",
"organization":"Organization",
"vampire-the-requiem":"Vampire the Requiem",
"werewolf-the-forsaken":"Werewolf the Forsaken",
"mage-the-awakening":"Mage the Awakening",
"promethean-the-create":"Promethean the Created",
"changeling-the-lost":"Changeling the Lost",
"hunter-the-vigil":"Hunter the Vigil",
"geist-the-sin-eaters":"Geist the Sin Eaters",
"geist-the-sin-eaters":"Geist the Sin-Eaters",
"geist":"Geist",
"mummy-the-curse":"Mummy the Curse",
"second-edition":"2nd Edition",
"demon-the-descent":"Demon the Descent",
"beast-the-primordial":"Beast the Primordial",
"organization":"Organization",
"sin-eater-krewe":"Sin-Eater Krewe",
"dice-roller-u":"DICE ROLLER",
"roll-initiative":"Roll Initiative",
"sheet-roll":"Sheet Roll",
@@ -71,6 +71,7 @@
"family":"Family:",
"profession":"Profession:",
"player":"Player:",
"sin-eater-c":"Sin-Eater:",
"vice":"Vice:",
"dirge":"Dirge:",
"bone":"Bone:",
@@ -105,6 +106,9 @@
"catalyst":"Catalyst:",
"horror":"Horror",
"creed":"Creed:",
"ban":"Ban:",
"bane":"Bane:",
"trigger-c":"Trigger:",
"doctrine":"Doctrine:",
"attributes-u":"ATTRIBUTES",
"power":"Power",
@@ -336,6 +340,14 @@
"ceremonies":"Ceremonies",
"members":"Members",
"regalia":"Regalia",
"corpus":"Corpus",
"rank":"Rank",
"remembrances":"Remembrances",
"innate-key":"Innate Key",
"crisis-point-triggers":"Crisis Point Triggers",
"hazy":"Hazy",
"vague":"Vague",
"specific":"Specific",
"membership":"Membership",
"congregation":"Congregation",
"standing":"Standing",
+15 -3
View File
@@ -5,19 +5,19 @@
"page-3": "Page 3",
"first-edition": "1st Edition,",
"chronicles-of-darkness": "Chronicles of Darkness",
"organization": "Organization",
"vampire-the-requiem": "Vampire the Requiem",
"werewolf-the-forsaken": "Werewolf the Forsaken",
"mage-the-awakening": "Mage the Awakening",
"promethean-the-create": "Promethean the Created",
"changeling-the-lost": "Changeling the Lost",
"hunter-the-vigil": "Hunter the Vigil",
"geist-the-sin-eaters": "Geist the Sin Eaters",
"geist-the-sin-eaters": "Geist the Sin-Eaters",
"geist": "Geist",
"mummy-the-curse": "Mummy the Curse",
"second-edition": "2nd Edition",
"demon-the-descent": "Demon the Descent",
"beast-the-primordial": "Beast the Primordial",
"organization": "Organization",
"sin-eater-krewe": "Sin-Eater Krewe",
"dice-roller-u": "DICE ROLLER",
"roll-initiative": "Roll Initiative",
"sheet-roll": "Sheet Roll",
@@ -71,6 +71,7 @@
"family": "Family:",
"profession": "Profession:",
"player": "Player:",
"sin-eater-c": "Sin-Eater:",
"vice": "Vice:",
"dirge": "Dirge:",
"bone": "Bone:",
@@ -105,6 +106,9 @@
"catalyst": "Catalyst:",
"horror": "Horror",
"creed": "Creed:",
"ban": "Ban:",
"bane": "Bane:",
"trigger-c": "Trigger:",
"doctrine": "Doctrine:",
"attributes-u": "ATTRIBUTES",
"power": "Power",
@@ -336,6 +340,14 @@
"ceremonies": "Ceremonies",
"members": "Members",
"regalia": "Regalia",
"corpus": "Corpus",
"rank": "Rank",
"remembrances": "Remembrances",
"innate-key": "Innate Key",
"crisis-point-triggers": "Crisis Point Triggers",
"hazy": "Hazy",
"vague": "Vague",
"specific": "Specific",
"membership": "Membership",
"congregation": "Congregation",
"standing": "Standing",