Hostile tab, dark mode mod

This commit is contained in:
dwarfwing
2022-03-12 10:00:00 +01:00
parent 0fbce5f29b
commit 8e95475092
3 changed files with 837 additions and 41 deletions
+431 -25
View File
@@ -6,9 +6,13 @@
-background-image: url("https://github.com/Roll20/roll20-character-sheets/blob/master/Alien%20Roleplaying%20Game/Images/bg.png?raw=true");
background-repeat: repeat;
padding: 5px;
margin: -10px !important;
min-width: 1140px;
-min-width: 830px;
}
input.sheet-tab-sheet[value="Xeno"] ~ .sheet-background-wrap {
min-width: 800px;
}
.sheet-spacebackground:checked ~ .sheet-background-wrap {
background-image: url("https://github.com/Roll20/roll20-character-sheets/blob/master/Alien%20Roleplaying%20Game/Images/bg.png?raw=true");
background-repeat: repeat;
@@ -30,7 +34,7 @@
justify-items: right;
justify-content: flex-end;
align-self: end;
align-items: flex-end;
align-items: flex-start;
justify-self: flex-end;
margin-right: 0 !important;
}
@@ -71,19 +75,26 @@
text-align: left;
border-color: transparent;
}
.sheet-contains-fourteen-columns {
grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
z-index: 5;
}
.sheet-contains-seven-columns {
grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
grid-gap: 2px;
}
.sheet-contains-eight-columns {
grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
grid-gap: 8px;
padding: 10px;
text-align: left;
}
.sheet-contains-fourteen-columns {
grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
z-index: 5;
}
.sheet-roll-buttons{
display: grid;
text-align: center;
grid-gap: 5px;
}
@@ -106,12 +117,16 @@
.sheet-span-one-thru-six { grid-column: 1 / 7;}
.sheet-span-one-thru-seven { grid-column: 1 / 8;}
.sheet-span-two-three { grid-column: 2 / 4;}
.sheet-span-two-thru-four { grid-column: 2 / 5;}
.sheet-span-three-four { grid-column: 3 / 5;}
.sheet-span-three-thru-five { grid-column: 3 / 6;}
.sheet-span-three-thru-six { grid-column: 3 / 7;}
.sheet-span-four { grid-column: 4;}
.sheet-span-four-five { grid-column: 4 / 6;}
.sheet-span-four-thru-six { grid-column: 4 / 7;}
.sheet-span-five-six { grid-column: 5 / 7;}
.sheet-span-five-thru-seven { grid-column: 5 / 8;}
.sheet-span-five-thru-eight { grid-column: 5 / 9;}
.sheet-span-five-thru-nine { grid-column: 5 / 10;}
.sheet-span-five-thru-ten { grid-column: 5 / 11;}
.sheet-span-six-seven { grid-column: 6 / 8;}
@@ -122,6 +137,7 @@
.sheet-span-seven-thru-nine { grid-column: 7 / 10;}
.sheet-span-seven-thru-thirteen { grid-column: 7 / 14;}
.sheet-span-seven-thru-fourteen { grid-column: 7 / 15;}
.sheet-span-eight { grid-column: 8 / 9;}
.sheet-span-eight-nine { grid-column: 8 / 10;}
.sheet-span-eight-thru-ten { grid-column: 8 / 11;}
.sheet-span-eight-thru-eleven { grid-column: 8 / 12;}
@@ -160,10 +176,16 @@
.sheet-span-comp-dmg { grid-row: 9;}
.sheet-span-upg-arm { grid-row: 10;}
.sheet-span-row1 { grid-row: 1;}
.sheet-span-row1-2 { grid-row: 1/3;}
.sheet-span-row2 { grid-row: 2;}
.sheet-span-row2-3 { grid-row: 2/4;}
.sheet-span-row3 { grid-row: 3;}
.sheet-span-row3-4 { grid-row: 3/5;}
.sheet-span-row4 { grid-row: 4;}
.sheet-span-row4-5 { grid-row: 4/6;}
.sheet-span-row4-6 { grid-row: 4/7;}
.sheet-span-row5 { grid-row: 5;}
.sheet-span-row5-8 { grid-row: 5/9;}
.sheet-span-row6 { grid-row: 6;}
.sheet-span-row7 { grid-row: 7;}
.sheet-span-row8 { grid-row: 8;}
@@ -173,12 +195,21 @@
.sheet-span-row12 { grid-row: 12;}
.sheet-span-row13 { grid-row: 13;}
.sheet-xeno-column > div.sheet-grid-item {
margin-top: 20px;
}
.sheet-xeno-column > div.sheet-col-separator{
width: 5%;
}
.sheet-cover-100-flex { width: 100% !important; display: flex; }
.sheet-cover-100 { width: 100% !important; }
.sheet-cover-90 { width: 90% !important; }
.sheet-cover-80 { width: 80% !important; }
.sheet-cover-75 { width: 75% !important; }
.sheet-cover-70 { width: 70% !important; }
.sheet-cover-60 { width: 60% !important; }
.sheet-cover-45 { width: 45% !important; }
.sheet-cover-40 { width: 40% !important; }
.sheet-cover-25 { width: 25% !important; }
.sheet-cover-20 { width: 20% !important; }
@@ -222,6 +253,8 @@
.sheet-flex-nowrap { flex-wrap: nowrap; }
.sheet-flex-break { flex-basis: 100%; height: 0; }
.sheet-float-left { float: left; }
.sheet-float-right { float: right; }
.sheet-flex-center { display: flex; align-self: center; justify-self: center; }
.sheet-flex-items-center { display: flex; justify-items: center; align-self: center; }
.sheet-flex-items-right { display: flex; justify-items: right; }
@@ -293,6 +326,7 @@
.sheet-w-fit { width: fit-content; }
.sheet-h-fit { height: fit-content; }
.sheet-text-underline { text-decoration: underline; }
.sheet-weapon-item {
padding: 0px;
@@ -351,7 +385,63 @@
display: none !important;
}
/* - - - - - - - - - - EXPAND AREAS - - - - - - - - - - */
.charsheet .sheet-expand {
-left: -8px;
opacity: 0;
-position: absolute;
-top: -4px;
-width: 18px;
z-index: 6;
margin-top: 5px;
}
.charsheet .sheet-expand + span::before {
color: #c3996b;
content: "4";
cursor: pointer;
font-family: pictos;
font-size: 10px;
z-index: 3;
border: 1px solid #c3996b;
border-radius: 50%;
height: 11px;
width: 11px;
padding: 1px 2px;
}
.charsheet input.sheet-expand + span {
padding: 0;
margin: 0;
transform: rotate(90deg);
position: relative;
right: 8px;
bottom: 5px;
}
.charsheet input.sheet-expand:checked + span {
padding: 0;
margin: 0;
transform: rotate(-90deg);position: relative;
-right: 8px;
top: 3px;
}
/*.charsheet input.sheet-expand + span::before,
.charsheet input.sheet-expand:checked + span::before {
opacity: 0.25;
}
.charsheet input:hover + input.sheet-expand + span::before,
.charsheet span:hover + input.sheet-expand + span::before,
.charsheet div:hover + input.sheet-expand + span::before {
opacity: 0.85;
} */
.charsheet input.sheet-expand + span + span + textarea {
display: none;
}
.charsheet input.sheet-expand:checked + span + span + textarea {
display: inline-block;
}
/* - - - - - - - - - - AUTO EXPAND TEXTAREAS - - - - - - - - - - */
.sheet-auto-expand {
@@ -419,6 +509,30 @@
min-height: 20px;
height: 20px;
}
.sheet-xeno-textfield {
min-height: 135px;
margin-top: 10px;
}
.sheet-xeno-textfield textarea {
min-height: 120px;
overflow-y: auto;
overflow-x: hidden;
max-width: 100%;
min-width: 100%;
resize: vertical;
}
.sheet-xeno .sheet-xeno-attack textarea {
min-height: 60px;
font-size: 12px;
}
.sheet-xeno .sheet-xeno-attack input {
font-size: 12px;
}
.sheet-xeno-notes textarea {
max-width: 100%;
min-width: 100%;
}
.sheet-textarea-margin-correct {
margin: 6px 0px 0px 0px;
@@ -430,6 +544,12 @@
padding: 0px;
margin: 3px;
}
.sheet-dotted-separator {
line-height: inherit;
border-right: 1px dashed rgba(0, 139, 139, 1); /* Dark Cyan #008b8b */
padding: 0;
margin: 0 5px 0 0;
}
.sheet-dotted-underline {
border-bottom: 1px dashed rgba(0, 139, 139, 1) !important; /* Dark Cyan #008b8b */
@@ -481,6 +601,7 @@ div.sheet-changelog button.sheet-button-link:focus::before {
text-transform: uppercase;
font-size: 10px;
letter-spacing: .1em;
padding-left: 3px;
}
.sheet-teal-header-gear-l {
@@ -509,6 +630,7 @@ div.sheet-changelog button.sheet-button-link:focus::before {
letter-spacing: .1em;
}
.sheet-xeno-header,
.sheet-ship-header {
background-color: rgba(204, 217, 207, 1); /* Teal Varient */
-position: relative;
@@ -527,9 +649,24 @@ div.sheet-changelog button.sheet-button-link:focus::before {
z-index: 10;
clip-path: polygon(0 0%, 100% 0%, calc(100% - 8px) 100%, 8px 100%);
}
.sheet-black-floating-header.sheet-header-doublerow,
.sheet-black-floating-header-clipped.sheet-header-doublerow {
height: 2.2em;
line-height: 1.2em;
padding-top: 5px;
width: min-content;
}
.sheet-black-floating-header.sheet-header-doublerow ~ .sheet-xeno-textfield,
.sheet-black-floating-header-clipped.sheet-header-doublerow ~ .sheet-xeno-textfield {
min-height: 120px;
-max-height: 80px;
margin-top: 30px;
-max-width: 175px;
}
.sheet-ship-attribute {
margin-top: 10px;
}
.sheet-xeno-header-name,
.sheet-ship-header-name {
width: 70px;
}
@@ -539,6 +676,7 @@ div.sheet-changelog button.sheet-button-link:focus::before {
.sheet-ship-header-ai {
width: 50px;
}
.sheet-xeno-header-attribute,
.sheet-ship-attribute-name {
width: 80%;
justify-self: center;
@@ -548,7 +686,7 @@ div.sheet-changelog button.sheet-button-link:focus::before {
justify-self: center;
}
button[type="roll"].sheet-button-skill, .sheet-medium-teal-header, .sheet-dark-teal-header {
button[type="roll"].sheet-button-skill, input[type="checkbox"].sheet-button-skill, .sheet-medium-teal-header, .sheet-dark-teal-header {
color: #008b8b; /* Dark Cyan #008b8b */
font-family: 'Montserrat';
text-transform: uppercase;
@@ -607,9 +745,9 @@ button[type="roll"].sheet-button-skill, .sheet-medium-teal-header, .sheet-dark-t
border: 1px solid rgba(0, 0, 0, 1); /* Black #000000 */
float: left;
height: 1.4em;
-width: 80%;
width: fit-content;
-line-height: 1em;
margin: -12px 15% 0px -7px;
margin: -12px 0 0px -7px;
text-align: left;
padding: 0px 15px 4px 8px;
border-radius: unset;
@@ -803,13 +941,13 @@ input[type="number"].sheet-number-input {
-moz-appearance: textfield;
}
.sheet-span-gear .sheet-vertical-adjust-one {
overflow-y: auto;
overflow-x: hidden;
max-height: 280px;
}
/* TEXT FIELDS */
.sheet-span-tinyitems textarea {
max-width: 100%;
min-width: 100%;
@@ -818,6 +956,7 @@ input[type="number"].sheet-number-input {
max-height: 65px;
min-height: 65px;
}
.sheet-xeno-textfield textarea::-webkit-scrollbar,
.sheet-span-gear .sheet-vertical-adjust-one::-webkit-scrollbar,
.sheet-tab-content textarea::-webkit-scrollbar,
.sheet-span-tinyitems textarea::-webkit-scrollbar {
@@ -825,18 +964,21 @@ input[type="number"].sheet-number-input {
margin-left: 4px;
cursor: auto;
}
.sheet-xeno-textfield textarea::-webkit-scrollbar-track,
.sheet-span-gear .sheet-vertical-adjust-one::-webkit-scrollbar-track,
.sheet-tab-content textarea::-webkit-scrollbar-track,
.sheet-span-tinyitems textarea::-webkit-scrollbar-track {
border-radius: 3px;
background: darkgrey;
}
.sheet-xeno-textfield textarea::-webkit-scrollbar-thumb,
.sheet-span-gear .sheet-vertical-adjust-one::-webkit-scrollbar-thumb,
.sheet-tab-content textarea::-webkit-scrollbar-thumb,
.sheet-span-tinyitems textarea::-webkit-scrollbar-thumb {
border-radius: 3px;
background: gray;
}
.sheet-xeno-textfield textarea::-webkit-scrollbar-thumb:hover,
.sheet-span-gear .sheet-vertical-adjust-one::-webkit-scrollbar-thumb:hover,
.sheet-tab-content textarea::-webkit-scrollbar-thumb:hover,
.sheet-span-tinyitems textarea::-webkit-scrollbar-thumb:hover {
@@ -1082,7 +1224,7 @@ button[type="action"].sheet-action-tab {
button[type="action"].sheet-action-tab { padding: 0px 0px 0px 0px; }
}
.sheet-header-tabs button[type=action].sheet-action-tab {
width: 65px;
-width: 65px;
color: rgb(204, 204, 204);
background-color: #696969;
-border: 1px solid #696969;
@@ -1090,6 +1232,11 @@ button[type="action"].sheet-action-tab {
border-radius: 0;
margin-right: 0;
-border-bottom: 2px solid #d3d3d3;
width: fit-content;
min-width: fit-content;
padding-left: 10px;
padding-right: 10px;
font-size: 10px;
}
button[type="action"].sheet-action-tab.sheet-fit-five {
width: 15%;
@@ -1182,17 +1329,24 @@ input.sheet-advencumbrance:not(:checked) ~ div .sheet-weapon-item-details {
}
input.sheet-tab-sheet[value="Character"] ~ div .sheet-ship,
input.sheet-tab-sheet[value="Character"] ~ div .sheet-xeno,
input.sheet-tab-sheet[value="Character"] ~ div .sheet-config,
input.sheet-tab-sheet[value="Ship"] ~ div .sheet-character,
input.sheet-tab-sheet[value="Ship"] ~ div .sheet-xeno,
input.sheet-tab-sheet[value="Ship"] ~ div .sheet-config,
input.sheet-tab-sheet[value="Config"] ~ div .sheet-character,
input.sheet-tab-sheet[value="Config"] ~ div .sheet-ship {
input.sheet-tab-sheet[value="Config"] ~ div .sheet-xeno,
input.sheet-tab-sheet[value="Config"] ~ div .sheet-ship,
input.sheet-tab-sheet[value="Xeno"] ~ div .sheet-character,
input.sheet-tab-sheet[value="Xeno"] ~ div .sheet-ship,
input.sheet-tab-sheet[value="Xeno"] ~ div .sheet-config {
display: none;
}
input.sheet-tab-sheet[value="Character"] ~ div .sheet-character,
input.sheet-tab-sheet[value="Ship"] ~ div .sheet-ship,
input.sheet-tab-sheet[value="Config"] ~ div .sheet-config {
input.sheet-tab-sheet[value="Config"] ~ div .sheet-config ,
input.sheet-tab-sheet[value="Xeno"] ~ div .sheet-xeno {
display: grid;
}
@@ -1203,6 +1357,7 @@ input.sheet-tab-sheet[value="Config"] ~ div .sheet-config {
input.sheet-tab-sheet[value="Character"] ~ div .sheet-header-tabs button[name="act_tab_character"],
input.sheet-tab-sheet[value="Ship"] ~ div .sheet-header-tabs button[name="act_tab_ship"],
input.sheet-tab-sheet[value="Xeno"] ~ div .sheet-header-tabs button[name="act_tab_xeno"],
input.sheet-tab-sheet[value="Config"] ~ div .sheet-header-tabs button[name="act_tab_config"] {
color: black;
background-color: #d3d3d3;
@@ -1636,6 +1791,226 @@ input[name="attr_shipdamage_max"][value="0"] ~ .sheet-hullpoints-missing {
padding-top: 0;
}
/* XENO DAMAGE */
.sheet-xenohealth label.sheet-dark-teal-header {
padding-right: 0;
margin-bottom: 0;
margin-top: 2px;
}
.sheet-xeno-health-row {
margin-top: -10px;
display: flex;
align-self: center;
}
.sheet-xeno-health-boxes {
margin-left: 20px;
margin-right: 10px;
}
.sheet-xeno-health-boxes label {
color: #000000;
background: #b4f870;
border: solid 1px #a5e664;
box-shadow: 0px 0px 10px #1db51d;
text-align: center;
display: inline-block;
width: 16px;
height: 16px;
font-size: 10px;
font-weight: bold;
margin-right: 7px;
padding: 0px 0px 0px 0px;
line-height: 16px;
margin-top: 5px;
margin-bottom: 1px;
cursor: pointer;
}
input.sheet-xenohealth-box:checked + label.sheet-xenohealth {
color: #000000;
background: #78e60a;
border: solid 1px #7eeb11;
box-shadow: 0px 0px 10px #109b10;
}
/* Only show radios up to the max value */
input[name="attr_health_max"][value="0"] ~ label.sheet-xenohealth0 ~ .sheet-xenohealth,
input[name="attr_health_max"][value="1"] ~ label.sheet-xenohealth1 ~ .sheet-xenohealth,
input[name="attr_health_max"][value="2"] ~ label.sheet-xenohealth2 ~ .sheet-xenohealth,
input[name="attr_health_max"][value="3"] ~ label.sheet-xenohealth3 ~ .sheet-xenohealth,
input[name="attr_health_max"][value="4"] ~ label.sheet-xenohealth4 ~ .sheet-xenohealth,
input[name="attr_health_max"][value="5"] ~ label.sheet-xenohealth5 ~ .sheet-xenohealth,
input[name="attr_health_max"][value="6"] ~ label.sheet-xenohealth6 ~ .sheet-xenohealth,
input[name="attr_health_max"][value="7"] ~ label.sheet-xenohealth7 ~ .sheet-xenohealth,
input[name="attr_health_max"][value="8"] ~ label.sheet-xenohealth8 ~ .sheet-xenohealth,
input[name="attr_health_max"][value="9"] ~ label.sheet-xenohealth9 ~ .sheet-xenohealth,
input[name="attr_health_max"][value="10"] ~ label.sheet-xenohealth10 ~ .sheet-xenohealth,
input[name="attr_health_max"][value="11"] ~ label.sheet-xenohealth11 ~ .sheet-xenohealth,
input[name="attr_health_max"][value="12"] ~ label.sheet-xenohealth12 ~ .sheet-xenohealth,
input[name="attr_health_max"][value="13"] ~ label.sheet-xenohealth13 ~ .sheet-xenohealth,
input[name="attr_health_max"][value="14"] ~ label.sheet-xenohealth14 ~ .sheet-xenohealth,
input[name="attr_health_max"][value="15"] ~ label.sheet-xenohealth15 ~ .sheet-xenohealth,
input[name="attr_health_max"][value="16"] ~ label.sheet-xenohealth16 ~ .sheet-xenohealth,
input[name="attr_health_max"][value="17"] ~ label.sheet-xenohealth17 ~ .sheet-xenohealth,
input[name="attr_health_max"][value="18"] ~ label.sheet-xenohealth18 ~ .sheet-xenohealth,
input[name="attr_health_max"][value="19"] ~ label.sheet-xenohealth19 ~ .sheet-xenohealth,
input[name="attr_health_max"][value="20"] ~ label.sheet-xenohealth20 ~ .sheet-xenohealth {
display: none;
}
input.sheet-xenohealth0:checked + label.sheet-xenohealth ~ .sheet-xenohealth,
input.sheet-xenohealth1:checked + label.sheet-xenohealth ~ .sheet-xenohealth,
input.sheet-xenohealth2:checked + label.sheet-xenohealth ~ .sheet-xenohealth,
input.sheet-xenohealth3:checked + label.sheet-xenohealth ~ .sheet-xenohealth,
input.sheet-xenohealth4:checked + label.sheet-xenohealth ~ .sheet-xenohealth,
input.sheet-xenohealth5:checked + label.sheet-xenohealth ~ .sheet-xenohealth,
input.sheet-xenohealth6:checked + label.sheet-xenohealth ~ .sheet-xenohealth,
input.sheet-xenohealth7:checked + label.sheet-xenohealth ~ .sheet-xenohealth,
input.sheet-xenohealth8:checked + label.sheet-xenohealth ~ .sheet-xenohealth,
input.sheet-xenohealth9:checked + label.sheet-xenohealth ~ .sheet-xenohealth,
input.sheet-xenohealth10:checked + label.sheet-xenohealth ~ .sheet-xenohealth,
input.sheet-xenohealth11:checked + label.sheet-xenohealth ~ .sheet-xenohealth,
input.sheet-xenohealth12:checked + label.sheet-xenohealth ~ .sheet-xenohealth,
input.sheet-xenohealth13:checked + label.sheet-xenohealth ~ .sheet-xenohealth,
input.sheet-xenohealth14:checked + label.sheet-xenohealth ~ .sheet-xenohealth,
input.sheet-xenohealth15:checked + label.sheet-xenohealth ~ .sheet-xenohealth,
input.sheet-xenohealth16:checked + label.sheet-xenohealth ~ .sheet-xenohealth,
input.sheet-xenohealth17:checked + label.sheet-xenohealth ~ .sheet-xenohealth,
input.sheet-xenohealth18:checked + label.sheet-xenohealth ~ .sheet-xenohealth,
input.sheet-xenohealth19:checked + label.sheet-xenohealth ~ .sheet-xenohealth,
input.sheet-xenohealth20:checked + label.sheet-xenohealth ~ .sheet-xenohealth {
color: #ffffff;
background: #808080;
border: solid 1px #808080;
box-shadow: 0px 0px 10px #008b8b;
}
.sheet-xeno .sheet-box-flexlist {
display: flex;
flex-direction: column;
}
.sheet-xeno .sheet-no-spin-input {
-clip-path: polygon(33% 0, 67% 0, 100% 33%, 100% 67%, 67% 100%, 33% 100%, 0 67%, 0 33%);
}
.sheet-xeno-speed .sheet-flexlist,
.sheet-xeno-skills .sheet-flexlist {
text-align: unset;
}
.sheet-xeno-speed .sheet-flexlist input[type="number"],
.sheet-xeno-skills .sheet-flexlist input[type="number"] {
float: right;
}
.sheet-xeno .sheet-roll-buttons {
display: flex;
text-align: center;
line-height: 1em;
grid-gap: 5px;
}
.sheet-xeno .sheet-roll-buttons label.sheet-xenowhisper {
color: #008b8b;
font-family: 'Montserrat';
text-transform: uppercase;
font-size: 10px;
font-weight: bold;
height: 14px;
line-height: 14px;
width: fit-content;
margin: 0px 1px;
padding: 2px 3px;
background-color: transparent;
border: 1px solid #008b8b;
border-radius: 5px;
background-image: none;
display: inline;
text-shadow: none;
margin-top: 0;
cursor: pointer;
}
.sheet-xeno .sheet-roll-buttons input[type="checkbox"].sheet-xenowhisper:checked + label.sheet-xenowhisper {
background-color: #008b8b;
color: rgb(204, 217, 207);
}
.charsheet div.sheet-xeno div.sheet-roll-buttons button[type="roll"].sheet-button-alpha,
.charsheet div.sheet-xeno div.sheet-roll-buttons button[type="roll"].sheet-button-beta {
width: fit-content;
}
.sheet-xeno .sheet-armor {
display: grid;
grid-template-columns: 50% 50%;
margin-top: 15px;
}
.sheet-xeno .sheet-armor button[type="roll"].sheet-button-skill {
margin-right: 15px;
}
.sheet-xeno .sheet-armor button[type="roll"].sheet-button-skill.sheet-button-armorvs {
width: fit-content;
margin-right: 0;
}
.sheet-xeno .sheet-armor input[type="text"] {
background-color: transparent;
width: 70px;
color:rgb(0, 139, 139);
vertical-align: unset;
}
.sheet-xeno-attack-control {
width: 50%;
display: flex;
flex-direction: row;
align-content: flex-end;
justify-self: flex-end;
align-self: flex-end;
margin-top: -10px;
margin-bottom: -5px;
}
.sheet-xeno-attack-control button.sheet-attack-control-label {
border: 0;
margin: 0;
padding: 0;
background-color: transparent;
width: fit-content;
}
.sheet-xeno-attack-control button.sheet-attack-control-label label {
margin: 0;
padding: 0 3px;
cursor: pointer;
}
.sheet-xeno-attack-control button.sheet-attack-control-label:nth-of-type(2) {
margin-right: 10px;
}
.sheet-xeno-attack {
display: grid;
grid-template-columns: 25px auto 7px 5px;
column-gap: 5px;
}
.sheet-xeno-attack-number {
float: left;
padding: 0 10px;
}
.sheet-xeno-attack-desc {
background: transparent;
float: left;
width: 100%;
height: 5em;
max-width: calc(100% - 12px);
min-width: calc(100% - 12px);
margin-right: 5px;
margin-top: 3px;
}
.sheet-xeno-attack-name {
background: transparent;
float: left;
width: 100%;
height: 1.5em;
max-width: calc(100% - 12px);
min-width: calc(100% - 12px);
margin-right: 5px;
padding: 1px;
}
/* WOOHOO BUTTONS */
@@ -1659,7 +2034,7 @@ button[type="roll"].sheet-button-alpha:before, button[type="roll"].sheet-button-
}
label.sheet-button-skill,
button[type="roll"].sheet-button-skill {
height: 14px;
line-height: 14px;
@@ -1673,13 +2048,14 @@ button[type="roll"].sheet-button-skill {
text-shadow: none;
}
label.sheet-button-skill:hover,
button[type="roll"].sheet-button-skill:hover {
color: rgb(204, 217, 207); /* Teal Varient */
background-color: rgba(0, 139, 139, 1); /* Dark Cyan #008b8b */
border: 1px solid #008b8b;
text-shadow: none;
}
label.sheet-button-skill:active,
button[type="roll"].sheet-button-skill:active {
color: rgb(204, 217, 207); /* Teal Varient */
background-color: #008b8b; /* Dark Cyan #008b8b */
@@ -1697,21 +2073,29 @@ button[type="roll"].sheet-smaller-skill {
border: 1px solid #008b8b; /* Gave it an outline as players were not realising it was a button */
}
button[type="roll"].sheet-button-alpha, button[type="roll"].sheet-button-beta, button[type="roll"].sheet-button-gamma{
label.sheet-button-alpha, label.sheet-button-beta, label.sheet-button-gamma,
button[type="roll"].sheet-button-alpha, button[type="roll"].sheet-button-beta, button[type="roll"].sheet-button-gamma {
margin-top: 0px;
margin-bottom: 0px;
border: 1px solid #008b8b;
width: inherit;
}
label.sheet-button-alpha,
button[type="roll"].sheet-button-alpha {
text-transform: lowercase; /* Exception because common usage of 1d6 is more important than consistency with theme. */
}
label.sheet-button-skill:focus,
button[type="roll"].sheet-button-skill:focus {
outline:0;
}
input[type="checkbox"].sheet-button-skill:checked label {
color: rgb(204, 217, 207); /* Teal Varient */
background-color: #008b8b; /* Dark Cyan #008b8b */
border: 1px solid #008b8b; /* Dark Cyan #008b8b */
box-shadow: 0px 0px 10px #008b8b;
}
button[type="roll"].sheet-attribute-button {
background-color: transparent;
@@ -1755,7 +2139,7 @@ button[type="roll"].sheet-attribute-button:active {
}
.sheet-rolltemplate-alien .sheet-template-wrap {
counter-reset: hit stress;
counter-reset: hit stress damage;
}
/* .sheet-rolltemplate-alien .sheet-template-wrap ::after {
content: "Results hits: " counter(hit) " stress: " counter(stress);
@@ -1766,11 +2150,18 @@ button[type="roll"].sheet-attribute-button:active {
.sheet-rolltemplate-alien .sheet-template-stress::after {
content: counter(stress);
}
.sheet-rolltemplate-alien .sheet-template-damage::after {
content: counter(damage);
}
.sheet-rolltemplate-alien .sheet-hit,
.sheet-rolltemplate-aliens .sheet-base-dice span.inlinerollresult.fullcrit,
.sheet-rolltemplate-aliens .sheet-stress-dice span.inlinerollresult.fullcrit {
counter-increment: hit;
}
.sheet-rolltemplate-alien .sheet-hit,
.sheet-rolltemplate-aliens .sheet-base-dice span.inlinerollresult.fullcrit {
counter-increment: damage;
}
.sheet-rolltemplate-alien .sheet-stress,
.sheet-rolltemplate-aliens .sheet-stress-dice span.inlinerollresult.fullfail {
counter-increment: stress;
@@ -1791,6 +2182,7 @@ button[type="roll"].sheet-attribute-button:active {
margin-left: -2px;
}
.sheet-template-xeno .sheet-template-background,
.sheet-rolltemplate-alien .sheet-template-background {
background: url(https://s3.amazonaws.com/files.d20.io/images/83147486/YCuEWUzaudOcg2mNHbiFCw/max.png?1559667169);
background-repeat: no-repeat;
@@ -1798,6 +2190,7 @@ button[type="roll"].sheet-attribute-button:active {
background-position: center center;
}
.sheet-template-xeno .sheet-template-grid,
.sheet-rolltemplate-alien .sheet-template-grid {
display: grid;
grid-gap: 3px;
@@ -1806,6 +2199,7 @@ button[type="roll"].sheet-attribute-button:active {
grid-template-columns: 15.75% 15.75% 15.75% 15.75% 15.75% 15.75%;
}
.sheet-template-xeno .sheet-template-grid-item,
.sheet-rolltemplate-alien .sheet-template-grid-item {
background-color: rgba(259, 259, 259, 0.05);
display: inline-block;
@@ -1816,6 +2210,7 @@ button[type="roll"].sheet-attribute-button:active {
text-align: center;
}
.sheet-template-xeno .sheet-template-die,
.sheet-rolltemplate-alien .sheet-template-die {
display: inline-block;
border: none;
@@ -1823,6 +2218,7 @@ button[type="roll"].sheet-attribute-button:active {
text-align: center;
}
.sheet-template-xeno .sheet-template-span-six,
.sheet-rolltemplate-alien .sheet-template-span-six {
grid-column: 1 / 7;
background-color: rgba(259, 259, 259, 0.05);
@@ -1881,6 +2277,7 @@ button[type="roll"].sheet-attribute-button:active {
text-align: left;
}
.sheet-template-xeno .sheet-template-to-the-center,
.sheet-rolltemplate-alien .sheet-template-to-the-center {
padding-left: 43%;
}
@@ -1889,7 +2286,8 @@ button[type="roll"].sheet-attribute-button:active {
background-color: transparent;
}
.sheet-rolltemplate-alien .inlinerollresult {
.sheet-template-xeno .sheet-template-grid .inlinerollresult,
.sheet-rolltemplate-alien .sheet-template-grid .inlinerollresult {
color: #000000;
font-size: 1.9em;
line-height: 35px;
@@ -1914,7 +2312,8 @@ button[type="roll"].sheet-attribute-button:active {
}
.sheet-rolltemplate-alien .sheet-template-yellow,
.sheet-rolltemplate-aliens .sheet-stress-dice span.inlinerollresult {
.sheet-rolltemplate-aliens .sheet-stress-dice span.inlinerollresult,
.sheet-template-xeno .sheet-template-yellow span.inlinerollresult {
height: 35px;
width: 35px;
background-color: #ffe600;
@@ -1924,7 +2323,8 @@ button[type="roll"].sheet-attribute-button:active {
}
.sheet-rolltemplate-alien .sheet-template-base-between,
.sheet-rolltemplate-aliens .sheet-base-dice span.inlinerollresult {
.sheet-rolltemplate-aliens .sheet-base-dice span.inlinerollresult,
.sheet-template-xeno .sheet-base-dice span.inlinerollresult {
height: 35px;
width: 35px;
background-image: url("https://github.com/Roll20/roll20-character-sheets/blob/master/Alien%20Roleplaying%20Game/Images/Base-Between.png?raw=true");
@@ -1941,7 +2341,7 @@ button[type="roll"].sheet-attribute-button:active {
}
.sheet-rolltemplate-alien .sheet-template-stress-between,
.sheet-rolltemplate-aliens .sheet-stress-dice span.inlinerollresult {
.sheet-rolltemplate-aliens .sheet-stress-dice span.inlinerollresult {
height: 35px;
width: 35px;
background-image: url("https://github.com/Roll20/roll20-character-sheets/blob/master/Alien%20Roleplaying%20Game/Images/Stress-Between.png?raw=true");
@@ -1974,4 +2374,10 @@ button[type="roll"].sheet-attribute-button:active {
width: 100%;
background-color: transparent;
border: unset;
}
.sheet-rolltemplate-xeno .sheet-attack-desc {
font-size: 12px;
color: lightgrey;
}
@@ -9,9 +9,10 @@
v3.01 Richard W: Fixed roll names to make macros work
v3.02 Richard W: Fixed armament roll rangemod to calculate on load
v3.03 Richard W: Fixed armament 3 roll button, changed armament roll name to support API, and changed armor rolls to not use API
v4.00 Richard W: Added the Hostile tab for use with Xenos and such, including signature attacks, speed, and armor specific to xenos
-->
<input type="hidden" name="attr_sheetversion" value="3.02">
<input type="hidden" name="attr_sheetversion" value="4.00">
<input type="hidden" name="attr_version" value="0">
<input type="hidden" name="attr_newchar" value="1">
<input class="tab-sheet" type="hidden" name="attr_tab_sheet" value="Character">
@@ -24,12 +25,13 @@
<div class="background-wrap">
<div class="grid-container contains-fourteen-columns">
<div class="header-image span-six-thru-nine span-row1">&nbsp;</div>
<div class="header-tabs floating-header span-nine-thru-fourteen span-row1">
<div class="header-tabs floating-header span-one-thru-five span-row1">
<!-- <button type="action" class="action-tab" data-i18n="character" name="act_tab_character" title="Character">Character</button>
<button type="action" class="action-tab" data-i18n="ship" name="act_tab_ship" title="Ship">Ship</button> -->
<div class="skinny-div flex-row">
<button type="action" name="act_tab_character" class="action-tab w150 shift-down-17 sheet-darkest-teal-header sheet-ship-header sheet-ship-header-name sheet-flex-self-center sheet-flex-content-center" value="Character">Character</button>
<button type="action" name="act_tab_ship" class="action-tab w150 shift-down-17 sheet-darkest-teal-header sheet-ship-header sheet-ship-header-name sheet-flex-self-center sheet-flex-content-center" value="Ship">Ship</button>
<button type="action" name="act_tab_character" class="action-tab w150 shift-down-17 sheet-darkest-teal-header sheet-ship-header sheet-ship-header-name sheet-flex-self-center sheet-flex-content-center" value="Character" data-i18n="character">Character</button>
<button type="action" name="act_tab_ship" class="action-tab w150 shift-down-17 sheet-darkest-teal-header sheet-ship-header sheet-ship-header-name sheet-flex-self-center sheet-flex-content-center" value="Ship" data-i18n="ship">Ship</button>
<button type="action" name="act_tab_xeno" class="action-tab w150 shift-down-17 sheet-darkest-teal-header sheet-ship-header sheet-ship-header-name sheet-flex-self-center sheet-flex-content-center" value="Xeno" data-i18n="hostile">Hostile</button>
<input type="checkbox" name="attr_config_notice" class="config-notice" value="1" hidden />
<button type="action" name="act_tab_config" class="action-tab w40 shift-down-17 sheet-darkest-teal-header sheet-ship-header sheet-ship-header-name sheet-flex-self-center sheet-flex-content-center" value="Config">y</button>
</div>
@@ -1762,6 +1764,260 @@
</div>
<!----------------------------------------------------------------------------- XENO TAB --------------------------------------------------------------------------------------------------->
<div class="grid-container xeno contains-eight-columns">
<div class="span-row1 span-three-thru-six darkest-teal-header xeno-header xeno-header-name flex-self-center flex-content-center" -data-i18n="species-name">SPECIES</div>
<div class="grid-item span-row1 span-three-thru-six flex-column clip-edges ship-attribute clip-edges xeno-header-attribute">
<input type="text" name="attr_character_name" class="text-input centered"/>
</div>
<div class="span-row1 span-seven-eight darkest-teal-header xeno-header xeno-header-name flex-self-center flex-content-center" -data-i18n="stage">STAGE</div>
<div class="grid-item span-row1 span-seven-eight flex-column clip-edges ship-attribute clip-edges xeno-header-attribute">
<div class="grid-item weapon-item range">
<select name="attr_xeno_stage" class="select-input" title="@{xeno_stage}">
<option value="0" selected="selected"></option>
<option value="1">I</option>
<option value="2">II</option>
<option value="3">III</option>
<option value="4">IV</option>
<option value="5">V</option>
<option value="6">VI</option>
<option value="7">VII</option>
<option value="8">VIII</option>
<option value="9">IX</option>
<option value="10">X</option>
</select>
</div>
</div>
<!-- LEFT COLUMN -->
<div class="span-row2-3 span-one-two grid-item clip-edges no-border box-flexlist xeno-speed"> <!-- START OF ROW 11 -->
<div class="black-floating-header-clipped no-border">
<span class="teal-header" data-i18n="speed">SPEED</span>
</div>
<div class="vertical-adjust-two-more flexlist">
<span class="dark-teal-header condition-title" data-i18n="stealth">Stealth</span>
<input type="number" name="attr_speed_stealth" value="1" class="no-spin-input optional-spinner-input" title="@{speed_stealth}" min="0"/>
<hr class="dotted-line vertical-adjust-one">
<span class="dark-teal-header condition-title" data-i18n="combat">Combat</span>
<input type="number" name="attr_speed_combat" value="1" class="no-spin-input optional-spinner-input" title="@{speed_combat}" min="0"/>
<hr class="dotted-line">
</div>
</div>
<div class="span-row2-3 span-three-four grid-item clip-edges no-border box-flexlist xeno-skills"> <!-- START OF ROW 11 -->
<div class="black-floating-header-clipped no-border">
<span class="teal-header" data-i18n="skills">SKILLS</span>
</div>
<div class="vertical-adjust-one flexlist">
<button type="roll" name="observation" class="button-skill" value="@{secret_roll} &{template:alien} {{character-name=@{character_name} }} {{roll-name=Observation }} {{base-dice=[[@{observation} + ?{Modifiers|0} ]] }} {{base-roll-one=[[1d6]] }} {{base-roll-two=[[1d6]] }} {{base-roll-three=[[1d6]] }} {{base-roll-four=[[1d6]] }} {{base-roll-five=[[1d6]] }} {{base-roll-six=[[1d6]] }} {{base-roll-seven=[[1d6]] }} {{base-roll-eight=[[1d6]] }} {{base-roll-nine=[[1d6]] }} {{base-roll-ten=[[1d6]] }} {{base-roll-eleven=[[1d6]] }} {{base-roll-twelve=[[1d6]] }} {{base-roll-thirteen=[[1d6]] }} {{base-roll-fourteen=[[1d6]] }} {{base-roll-fifteen=[[1d6]] }} {{base-roll-sixteen=[[1d6]] }} {{base-roll-seventeen=[[1d6]] }} {{base-roll-eighteen=[[1d6]] }} {{stress-dice=[[@{stress}]] }} {{stress-roll-one=[[1d6]] }} {{stress-roll-two=[[1d6]] }} {{stress-roll-three=[[1d6]] }} {{stress-roll-four=[[1d6]] }} {{stress-roll-five=[[1d6]] }} {{stress-roll-six=[[1d6]] }} {{stress-roll-seven=[[1d6]] }} {{stress-roll-eight=[[1d6]] }} {{stress-roll-nine=[[1d6]] }} {{stress-roll-ten=[[1d6]] }}" data-i18n="observation-u">Observation</button>
<!-- <span class="dark-teal-header condition-title" data-i18n="observation-u">Observation</span> -->
<input type="number" name="attr_observation" value="1" class="no-spin-input optional-spinner-input" title="@{observation}" min="0"/>
<hr class="dotted-line">
<button type="roll" name="mobility" class="button-skill" value="@{secret_roll} &{template:alien} {{character-name=@{character_name} }} {{roll-name=Mobility }} {{base-dice=[[@{mobility} + ?{Modifiers|0} ]] }} {{base-roll-one=[[1d6]] }} {{base-roll-two=[[1d6]] }} {{base-roll-three=[[1d6]] }} {{base-roll-four=[[1d6]] }} {{base-roll-five=[[1d6]] }} {{base-roll-six=[[1d6]] }} {{base-roll-seven=[[1d6]] }} {{base-roll-eight=[[1d6]] }} {{base-roll-nine=[[1d6]] }} {{base-roll-ten=[[1d6]] }} {{base-roll-eleven=[[1d6]] }} {{base-roll-twelve=[[1d6]] }} {{base-roll-thirteen=[[1d6]] }} {{base-roll-fourteen=[[1d6]] }} {{base-roll-fifteen=[[1d6]] }} {{base-roll-sixteen=[[1d6]] }} {{base-roll-seventeen=[[1d6]] }} {{base-roll-eighteen=[[1d6]] }} {{stress-dice=[[@{stress}]] }} {{stress-roll-one=[[1d6]] }} {{stress-roll-two=[[1d6]] }} {{stress-roll-three=[[1d6]] }} {{stress-roll-four=[[1d6]] }} {{stress-roll-five=[[1d6]] }} {{stress-roll-six=[[1d6]] }} {{stress-roll-seven=[[1d6]] }} {{stress-roll-eight=[[1d6]] }} {{stress-roll-nine=[[1d6]] }} {{stress-roll-ten=[[1d6]] }}" data-i18n="mobility-u" >Mobility</button>
<!-- <span class="dark-teal-header condition-title" data-i18n="mobility-u">Mobility</span> -->
<input type="number" name="attr_mobility" value="1" class="no-spin-input optional-spinner-input" title="@{mobility}" min="0"/>
<hr class="dotted-line">
</div>
</div>
<div class="span-row4-5 span-one-two grid-item clip-edges no-border"> <!-- START OF ROW 11 -->
<div class="black-floating-header-clipped no-border">
<span class="teal-header" data-i18n="special-abilities">SPECIAL ABILITIES</span>
</div>
<div class="xeno-textfield auto-expand"> <!-- -->
<textarea name="attr_xeno_abilities" value="" data-i18n-placeholder="xeno-abilities.place" placeholder="Xenomorph special abilities description" title="@{xeno_abilities}" spellcheck="false" ></textarea>
</div>
</div>
<div class="span-row4-5 span-three-four grid-item clip-edges no-border">
<div class="black-floating-header-clipped no-border header-doublerow">
<span class="teal-header no-border" data-i18n="cont-and-term" >CONTAINMENT&nbsp;& TERMINATION</span>
</div>
<div class="xeno-textfield auto-expand"> <!-- -->
<textarea name="attr_xeno_contterm" value="" data-i18n-placeholder="xeno-contterm.place" placeholder="Xenomorph containment and termination" title="@{xeno_contterm}" spellcheck="false" ></textarea>
</div>
</div>
<div class="span-row6 span-one-thru-four grid-item clip-edges no-border xeno-notes">
<div class="black-floating-header-clipped no-border">
<span class="teal-header no-border" data-i18n="notes" >NOTES</span>
</div>
<div class="xeno-textfield auto-expand"> <!-- -->
<textarea name="attr_xeno_notes" value="" data-i18n-placeholder="xeno-notes.place" placeholder="Notes..." title="@{xeno_notes}" spellcheck="false" ></textarea>
</div>
</div>
<!-- RIGHT COLUMN -->
<div class="span-row2 span-five-thru-eight grid-item flex-column clip-edges no-border xenohealth">
<div class="black-floating-header-clipped no-border">
<span class="teal-header" data-i18n="health-u">Health</span>
</div>
<div class="flex-row flex-self-left">
<input type="hidden" name="attr_health_max" readonly hidden />
<div class="cover-15 flex-column flex-self-right flex-self-align-start flex-content-center">
<div class="flex-self-align-center flex-content-center ">
<label class="dark-teal-header flex-center flex-self-right">Max:&nbsp;</label>
<!-- <input type="number" name="attr_health" value="0" class="no-spin-input low-visibility-number some-padding" title="@{xenohealth}" /> -->
<input type="number" name="attr_health_max" value="0" min="1" max="20" class="no-spin-input low-visibility-number some-padding" title="@{xenohealth_max}"/> <br/>
</div>
<!-- <div class="flex-self-align-center flex-content-center ">
<input type="radio" name="attr_health" value="0" class="numbered-box blue-box clear-button flex-self-align-end some-padding" title="@{xenohealth_0}"/><span data-i18n-title="clear" title="Clear" ></span>
</div> -->
</div>
<!-- <div class="flex-row cover-15 flex-self-right flex-self-align-start flex-content-center">
<input type="radio" name="attr_health" value="0" class="numbered-box blue-box clear-button flex-self-align-end some-padding" title="@{xenohealth_0}"/><span data-i18n-title="clear" title="Clear" >Clear</span>
</div> -->
<div class="flex-column xeno-health-row">
<div class="flex-row flex-wrap xeno-health-boxes">
<input type="hidden" name="attr_health_max" readonly hidden />
<!-- <div class="row1 flex-row flex-wrap"> -->
<!-- <input type="hidden" name="attr_health" value="0" class="numbered-box red-radio row1 xenohealth-box xenohealth0" title="@{xenohealth_0} hidden readonly"/> -->
<input type="radio" name="attr_health" id="xenohealth0" value="0" class="numbered-box green-radio row1 xenohealth xenohealth-box xenohealth0" title="@{xenohealth_0}" hidden/><label for="xenohealth0" class="xenohealth xenohealth0" title="0" >0</label>
<input type="radio" name="attr_health" id="xenohealth1" value="1" class="numbered-box green-radio row1 xenohealth xenohealth-box xenohealth1" title="@{xenohealth_1}" hidden/><label for="xenohealth1" class="xenohealth xenohealth1" title="1" >1</label>
<input type="radio" name="attr_health" id="xenohealth2" value="2" class="numbered-box green-radio row1 xenohealth xenohealth-box xenohealth2" title="@{xenohealth_2}" hidden/><label for="xenohealth2" class="xenohealth xenohealth2" title="2" >2</label>
<input type="radio" name="attr_health" id="xenohealth3" value="3" class="numbered-box green-radio row1 xenohealth xenohealth-box xenohealth3" title="@{xenohealth_3}" hidden/><label for="xenohealth3" class="xenohealth xenohealth3" title="3" >3</label>
<input type="radio" name="attr_health" id="xenohealth4" value="4" class="numbered-box green-radio row1 xenohealth xenohealth-box xenohealth4" title="@{xenohealth_4}" hidden/><label for="xenohealth4" class="xenohealth xenohealth4" title="4" >4</label>
<input type="radio" name="attr_health" id="xenohealth5" value="5" class="numbered-box green-radio row1 xenohealth xenohealth-box xenohealth5" title="@{xenohealth_5}" hidden/><label for="xenohealth5" class="xenohealth xenohealth5" title="5" >5</label>
<input type="radio" name="attr_health" id="xenohealth6" value="6" class="numbered-box green-radio row1 xenohealth xenohealth-box xenohealth6" title="@{xenohealth_6}" hidden/><label for="xenohealth6" class="xenohealth xenohealth6" title="6" >6</label>
<input type="radio" name="attr_health" id="xenohealth7" value="7" class="numbered-box green-radio row1 xenohealth xenohealth-box xenohealth7" title="@{xenohealth_7}" hidden/><label for="xenohealth7" class="xenohealth xenohealth7" title="7" >7</label>
<input type="radio" name="attr_health" id="xenohealth8" value="8" class="numbered-box green-radio row1 xenohealth xenohealth-box xenohealth8" title="@{xenohealth_8}" hidden/><label for="xenohealth8" class="xenohealth xenohealth8" title="8" >8</label>
<input type="radio" name="attr_health" id="xenohealth9" value="9" class="numbered-box green-radio row1 xenohealth xenohealth-box xenohealth9" title="@{xenohealth_9}" hidden/><label for="xenohealth9" class="xenohealth xenohealth9" title="9" >9</label>
<input type="radio" name="attr_health" id="xenohealth10" value="10" class="numbered-box green-radio row1 xenohealth xenohealth-box xenohealth10" title="@{xenohealth_10}" hidden/><label for="xenohealth10" class="xenohealth xenohealth10" title="10">10</label>
<!-- </div>
<div class="flex-row flex-wrap xeno-health-boxes">
<input type="hidden" name="attr_health_max" readonly hidden /> -->
<input type="radio" name="attr_health" id="xenohealth11" value="11" class="numbered-box green-radio row2 xenohealth xenohealth-box xenohealth11" title="@{xenohealth_11}" hidden/><label for="xenohealth11" class="xenohealth xenohealth11" title="11" >11</label>
<input type="radio" name="attr_health" id="xenohealth12" value="12" class="numbered-box green-radio row2 xenohealth xenohealth-box xenohealth12" title="@{xenohealth_12}" hidden/><label for="xenohealth12" class="xenohealth xenohealth12" title="12" >12</label>
<input type="radio" name="attr_health" id="xenohealth13" value="13" class="numbered-box green-radio row2 xenohealth xenohealth-box xenohealth13" title="@{xenohealth_13}" hidden/><label for="xenohealth13" class="xenohealth xenohealth13" title="13" >13</label>
<input type="radio" name="attr_health" id="xenohealth14" value="14" class="numbered-box green-radio row2 xenohealth xenohealth-box xenohealth14" title="@{xenohealth_14}" hidden/><label for="xenohealth14" class="xenohealth xenohealth14" title="14" >14</label>
<input type="radio" name="attr_health" id="xenohealth15" value="15" class="numbered-box green-radio row2 xenohealth xenohealth-box xenohealth15" title="@{xenohealth_15}" hidden/><label for="xenohealth15" class="xenohealth xenohealth15" title="15" >15</label>
<input type="radio" name="attr_health" id="xenohealth16" value="16" class="numbered-box green-radio row2 xenohealth xenohealth-box xenohealth16" title="@{xenohealth_16}" hidden/><label for="xenohealth16" class="xenohealth xenohealth16" title="16" >16</label>
<input type="radio" name="attr_health" id="xenohealth17" value="17" class="numbered-box green-radio row2 xenohealth xenohealth-box xenohealth17" title="@{xenohealth_17}" hidden/><label for="xenohealth17" class="xenohealth xenohealth17" title="17" >17</label>
<input type="radio" name="attr_health" id="xenohealth18" value="18" class="numbered-box green-radio row2 xenohealth xenohealth-box xenohealth18" title="@{xenohealth_18}" hidden/><label for="xenohealth18" class="xenohealth xenohealth18" title="18" >18</label>
<input type="radio" name="attr_health" id="xenohealth19" value="19" class="numbered-box green-radio row2 xenohealth xenohealth-box xenohealth19" title="@{xenohealth_19}" hidden/><label for="xenohealth19" class="xenohealth xenohealth19" title="19" >19</label>
<input type="radio" name="attr_health" id="xenohealth20" value="20" class="numbered-box green-radio row2 xenohealth xenohealth-box xenohealth20" title="@{xenohealth_20}" hidden/><label for="xenohealth20" class="xenohealth xenohealth20" title="20" >20</label>
</div>
</div>
</div>
</div>
<div class="span-row3 span-five-thru-eight grid-item clip-edges no-border">
<div class="black-floating-header-clipped no-border">
<span class="teal-header no-border" data-i18n="dice" >DICE</span>
</div>
<div class="vertical-adjust-one">
<div class="roll-buttons">
<!-- <div class="cover-15 flex-column flex-self-right flex-self-align-start flex-content-center flex-wrap"> -->
<input type="checkbox" id="xenowhisper" class="button-skill button-beta xenowhisper" value="/w gm" name="attr_secret_roll" hidden>
<label for="xenowhisper" class="button-skill button-beta xenowhisper">Secret</label>
<span class="dotted-separator">&nbsp;</span>
<button type="roll" class="button-skill button-alpha" value="@{secret_roll} &{template:alien} {{character-name=@{character_name} }} {{roll-name=*( 1d6 )* }} {{roll-dice=[[ 1d6 ]] }}" name="one_die_six" ><span data-i18n="1d6-u">1d6</span></button>
<span class="dotted-separator">&nbsp;</span>
<button type="roll" class="button-skill button-beta" value="@{secret_roll} &{template:alien} {{character-name=@{character_name} }} {{roll-name=Initiative: *Card Value* }} {{roll-dice=[[ ?{Card Number|0} &{tracker} ]] }}" name="initiative_card" data-i18n-title="initiative-card-desc" ><span data-i18n="initiative-card-u">Initiative: Card</span></button>
<button type="roll" class="button-skill button-beta" value="@{secret_roll} &{template:alien} {{character-name=@{character_name} }} {{roll-name=Initiative: *Dice Roll* }} {{roll-dice=[[ @{config_initiativedice} &{tracker} ]] }}" name="initiative_dice" data-i18n-title="initiative-card-desc" ><span data-i18n="initiative-dice-u">Initiative: Dice</span></button>
</div>
</div>
</div>
<div class="span-row4 span-five-thru-eight grid-item clip-edges no-border">
<div class="black-floating-header-clipped no-border">
<span class="teal-header no-border" data-i18n="armor-u" >ARMOR</span>
</div>
<div class="armor">
<div class="align-right cover-90">
<button type="roll" name="armor" class="button-skill flex-center" data-i18n="armor-u" value="@{secret_roll} &{template:alien} {{character-name=@{character_name} }} {{roll-name=Armor Roll }} {{base-dice=[[@{armor} + ?{Modifiers|0} ]] }} {{base-roll-one=[[1d6]] }} {{base-roll-two=[[1d6]] }} {{base-roll-three=[[1d6]] }} {{base-roll-four=[[1d6]] }} {{base-roll-five=[[1d6]] }} {{base-roll-six=[[1d6]] }} {{base-roll-seven=[[1d6]] }} {{base-roll-eight=[[1d6]] }} {{base-roll-nine=[[1d6]] }} {{base-roll-ten=[[1d6]] }} {{base-roll-eleven=[[1d6]] }} {{base-roll-twelve=[[1d6]] }} {{base-roll-thirteen=[[1d6]] }} {{base-roll-fourteen=[[1d6]] }} {{base-roll-fifteen=[[1d6]] }} {{base-roll-sixteen=[[1d6]] }} {{base-roll-seventeen=[[1d6]] }} {{base-roll-eighteen=[[1d6]] }}">
Armor
</button>
<input type="number" name="attr_armor" value="0" class="no-spin-input optional-spinner-input" title="@{armor}" min="0"/>
<hr class="dotted-line">
<button type="roll" name="armor" class="button-skill flex-centeri" data-i18n="armor-vs-fire" value="@{secret_roll} &{template:alien} {{character-name=@{character_name} }} {{roll-name=Armor Roll }} {{base-dice=[[@{armorvsfire} + ?{Modifiers|0} ]] }} {{base-roll-one=[[1d6]] }} {{base-roll-two=[[1d6]] }} {{base-roll-three=[[1d6]] }} {{base-roll-four=[[1d6]] }} {{base-roll-five=[[1d6]] }} {{base-roll-six=[[1d6]] }} {{base-roll-seven=[[1d6]] }} {{base-roll-eight=[[1d6]] }} {{base-roll-nine=[[1d6]] }} {{base-roll-ten=[[1d6]] }} {{base-roll-eleven=[[1d6]] }} {{base-roll-twelve=[[1d6]] }} {{base-roll-thirteen=[[1d6]] }} {{base-roll-fourteen=[[1d6]] }} {{base-roll-fifteen=[[1d6]] }} {{base-roll-sixteen=[[1d6]] }} {{base-roll-seventeen=[[1d6]] }} {{base-roll-eighteen=[[1d6]] }}">
Armor vs fire
</button>
<input type="number" name="attr_armorvsfire" value="0" class="no-spin-input optional-spinner-input" title="@{armorvsfire}" min="0"/>
<hr class="dotted-line">
</div>
<div class="align-right cover-90">
<button type="roll" name="armor" class="button-skill button-armorvs flex-center" data-i18n="armor-vs" value="@{secret_roll} &{template:alien} {{character-name=@{character_name} }} {{roll-name=Armor Roll }} {{base-dice=[[@{armorvs} + ?{Modifiers|0} ]] }} {{base-roll-one=[[1d6]] }} {{base-roll-two=[[1d6]] }} {{base-roll-three=[[1d6]] }} {{base-roll-four=[[1d6]] }} {{base-roll-five=[[1d6]] }} {{base-roll-six=[[1d6]] }} {{base-roll-seven=[[1d6]] }} {{base-roll-eight=[[1d6]] }} {{base-roll-nine=[[1d6]] }} {{base-roll-ten=[[1d6]] }} {{base-roll-eleven=[[1d6]] }} {{base-roll-twelve=[[1d6]] }} {{base-roll-thirteen=[[1d6]] }} {{base-roll-fourteen=[[1d6]] }} {{base-roll-fifteen=[[1d6]] }} {{base-roll-sixteen=[[1d6]] }} {{base-roll-seventeen=[[1d6]] }} {{base-roll-eighteen=[[1d6]] }}">
Armor vs
</button>
<input type="text" name="attr_armorvsname" placeholder="...">
<input type="number" name="attr_armorvs" value="0" class="no-spin-input optional-spinner-input" title="@{armorvs}" min="0"/>
<hr class="dotted-line">
<button type="roll" class="button-skill" data-i18n="acid-splash" value="@{secret_roll} &{template:alien} {{character-name=@{character_name} }} {{roll-name=Acid Splash }} {{base-dice=[[@{acidsplash} + ?{Damage taken|0} ]] }} {{current-damage=@{acidsplash} }} {{base-roll-one=[[1d6]] }} {{base-roll-two=[[1d6]] }} {{base-roll-three=[[1d6]] }} {{base-roll-four=[[1d6]] }} {{base-roll-five=[[1d6]] }} {{base-roll-six=[[1d6]] }} {{base-roll-seven=[[1d6]] }} {{base-roll-eight=[[1d6]] }} {{base-roll-nine=[[1d6]] }} {{base-roll-ten=[[1d6]] }} {{base-roll-eleven=[[1d6]] }} {{base-roll-twelve=[[1d6]] }} {{base-roll-thirteen=[[1d6]] }} {{base-roll-fourteen=[[1d6]] }} {{base-roll-fifteen=[[1d6]] }} {{base-roll-sixteen=[[1d6]] }} {{base-roll-seventeen=[[1d6]] }} {{base-roll-eighteen=[[1d6]] }}" name="acidsplash_roll" >
Acid splash
</button>
<input type="number" name="attr_acidsplash" value="0" class="no-spin-input optional-spinner-input" title="@{acidsplash}" min="0"/>
<hr class="dotted-line">
</div>
</div>
</div>
<div class="span-row5-8 span-five-thru-eight grid-item clip-edges no-border box-flexlist">
<div class="black-floating-header-clipped no-border">
<span class="teal-header no-border" data-i18n="signature-attacks" >SIGNATURE ATTACKS</span>
</div>
<div class="span-two-thru-four xeno-attack-control">
<button type="action" name="act_expandattacks" class="dark-teal-header attack-control-label text-underline" title="Expand all" data-i18n-title="expand-all">Exp.</button>
&nbsp;<span class="dark-teal-header">/</span>&nbsp;
<button type="action" name="act_collapseattacks" class="dark-teal-header attack-control-label text-underline" title="Collapse all" data-i18n-title="collapse-all">Col.</button>
<button type="roll" class="button-skill button-gamma span-four signatureattack" value="/w gm &{template:xeno} {{character-name=@{character_name} }} {{result=[[1d6]] }} {{result1name=@{xenoattack1_name} }} {{result1desc=@{xenoattack1_desc} }} {{result2name=@{xenoattack2_name} }} {{result2desc=@{xenoattack2_desc} }} {{result3name=@{xenoattack3_name} }} {{result3desc=@{xenoattack3_desc} }} {{result4name=@{xenoattack4_name} }} {{result4desc=@{xenoattack4_desc} }} {{result5name=@{xenoattack5_name} }} {{result5desc=@{xenoattack5_desc} }} {{result6name=@{xenoattack6_name} }} {{result6desc=@{xenoattack6_desc} }} " name="xenoattackroll" data-i18n="attack-u" data-i18n-title="signature-attack-desc" title="Signature attacks are always whispered to the GM, to be played out in combat.">Attack</button>
</div>
<div class="align-right vertical-adjust-two-more flexlist xeno-attack xeno-textfield">
<span class="dark-teal-header condition-title xeno-attack-number">1</span>
<input type="text" name="attr_xenoattack1_name" class="xeno-attack-input xeno-attack-name">
<input class="expand" name="attr_xenoattack1_check" type="checkbox" data-i18n-title="show-hide" title="show/hide" value="1" checked />
<span></span>
<span></span>
<textarea name="attr_xenoattack1_desc" class="xeno-attack-input xeno-attack-desc span-two-three xeno-textfield"></textarea>
<hr class="dotted-line span-one-thru-four">
<span class="dark-teal-header condition-title xeno-attack-number">2</span>
<input type="text" name="attr_xenoattack2_name" class="xeno-attack-input xeno-attack-name">
<input class="expand" name="attr_xenoattack2_check" type="checkbox" data-i18n-title="show-hide" title="show/hide" value="1" checked />
<span></span>
<span></span>
<textarea name="attr_xenoattack2_desc" class="xeno-attack-input xeno-attack-desc span-two-three xeno-textfield"></textarea>
<hr class="dotted-line span-one-thru-four">
<span class="dark-teal-header condition-title xeno-attack-number">3</span>
<input type="text" name="attr_xenoattack3_name" class="xeno-attack-input xeno-attack-name">
<input class="expand" name="attr_xenoattack3_check" type="checkbox" data-i18n-title="show-hide" title="show/hide" value="1" checked />
<span></span>
<span></span>
<textarea name="attr_xenoattack3_desc" class="xeno-attack-input xeno-attack-desc span-two-three xeno-textfield"></textarea>
<hr class="dotted-line span-one-thru-four">
<span class="dark-teal-header condition-title xeno-attack-number">4</span>
<input type="text" name="attr_xenoattack4_name" class="xeno-attack-input xeno-attack-name">
<input class="expand" name="attr_xenoattack4_check" type="checkbox" data-i18n-title="show-hide" title="show/hide" value="1" checked />
<span></span>
<span></span>
<textarea name="attr_xenoattack4_desc" class="xeno-attack-input xeno-attack-desc span-two-three xeno-textfield"></textarea>
<hr class="dotted-line span-one-thru-four">
<span class="dark-teal-header condition-title xeno-attack-number">5</span>
<input type="text" name="attr_xenoattack5_name" class="xeno-attack-input xeno-attack-name">
<input class="expand" name="attr_xenoattack5_check" type="checkbox" data-i18n-title="show-hide" title="show/hide" value="1" checked />
<span></span>
<span></span>
<textarea name="attr_xenoattack5_desc" class="xeno-attack-input xeno-attack-desc span-two-three xeno-textfield"></textarea>
<hr class="dotted-line span-one-thru-four">
<span class="dark-teal-header condition-title xeno-attack-number">6</span>
<input type="text" name="attr_xenoattack6_name" class="xeno-attack-input xeno-attack-name">
<input class="expand" name="attr_xenoattack6_check" type="checkbox" data-i18n-title="show-hide" title="show/hide" value="1" checked />
<span></span>
<span></span>
<textarea name="attr_xenoattack6_desc" class="xeno-attack-input xeno-attack-desc span-two-three xeno-textfield"></textarea>
<hr class="dotted-line span-one-thru-four">
</div>
</div>
</div>
<!----------------------------------------------------------------------------- CONFIG TAB --------------------------------------------------------------------------------------------------->
<div class="grid-container config contains-thirteen-columns">
@@ -1892,14 +2148,24 @@
-->
<div class="grid-item-black span-one-thru-six cover-100-flex flex-content-right">
<div class="grid-item clip-edges w120 h-fit marg-right">
<span class="centered bold">v3.03 <br/>(2022-02-09)</span>
<span class="centered bold">v4.00 <br/>(2022-03-09)</span>
</div>
<div class="cover-75 flex-content-right flex-column">
<div class="grid-item clip-edges align-left marg-right pad-left pad-right">
<span class="text-input cover-100 align-left" title="">Fixed armament 3 roll button, changed armament roll name to support API, and changed armor rolls to not use API. </span>
<span class="text-input cover-100 align-left" title="">Added the Hostile tab to use for Xenos and other nasty things that lurk in the darkness of space. </span>
</div>
</div>
</div>
<div class="grid-item-black span-one-thru-six cover-100-flex flex-content-right">
<div class="grid-item clip-edges w120 h-fit marg-right">
<span class="centered bold">v3.03 <br/>(2022-02-04)</span>
</div>
<div class="cover-75 flex-content-right flex-column">
<div class="grid-item clip-edges align-left marg-right pad-left pad-right">
<span class="text-input cover-100 align-left" title="">Fixed armament 3 roll button, changed armament roll name to support API, and changed armor rolls to not use API. </span>
</div>
</div>
</div>
<div class="grid-item-black span-one-thru-six cover-100-flex flex-content-right">
<div class="grid-item clip-edges w120 h-fit marg-right">
<span class="centered bold">v3.02 <br/>(2022-01-19)</span>
@@ -2024,15 +2290,17 @@
</div>
</div>
</div>
<div class="footer-image"><span class="footer-text" data-i18n="building-betterworlds-u">"Building Better Worlds"</span></div>
<div class="box-under-the-bed"> <!-- HIDDEN DIV -->
<input type="number" name="attr_radiation" value="0" class="" title="@{radiation}"/>
<div class="box-under-the-bed"> <!-- HIDDEN DIV -->
<input type="number" name="attr_radiation" value="0" class="" title="@{radiation}"/>
</div>
</div>
</div>
@@ -2601,7 +2869,7 @@
{{/current-bonus}}
{{#current-damage}}
<div class="template-grid-item template-span-center">
<span data-i18n="template-damage">Damage: </span><br/>{{current-damage}}
<span data-i18n="template-damage">Damage: </span><br/><span data-i18n-title="base-damage-desc" title="Base damage">{{current-damage}} </span>(+<span data-i18n-title="extra-damage-desc" title="Additional damage based on stunts (option)" class="template-damage"></span>)
</div>
{{/current-damage}}
{{#current-range}}
@@ -2806,7 +3074,83 @@
<rolltemplate class="sheet-rolltemplate-xeno">
<div class="rolltemplate-alien">
<div class="template-wrap">
<div class="template-background">
<div class="template-grid">
<div class="template-grid-item template-span-six">
{{character-name}}
</div>
{{#roll-name}}
<div class="template-grid-item template-span-six">
{{roll-name}} {{#roll-type}} ({{roll-type}}) {{/roll-type}}
</div>
{{/roll-name}}
{{#result}}
<div class="template-grid-item template-span-six template-to-the-center">
<div class="template-yellow">
{{result}}
</div>
</div>
{{/result}}
<!-- SPECIAL ATTACK ROLL -->
{{#rollTotal() result 1}}
<div class="template-grid-item template-span-six attack-name">
{{result1name}}
</div>
<div class="template-grid-item template-span-six attack-desc">
{{result1desc}}
</div>
{{/rollTotal() result 1}}
{{#rollTotal() result 2}}
<div class="template-grid-item template-span-six attack-name">
{{result2name}}
</div>
<div class="template-grid-item template-span-six attack-desc">
{{result2desc}}
</div>
{{/rollTotal() result 2}}
{{#rollTotal() result 3}}
<div class="template-grid-item template-span-six attack-name">
{{result3name}}
</div>
<div class="template-grid-item template-span-six attack-desc">
{{result3desc}}
</div>
{{/rollTotal() result 3}}
{{#rollTotal() result 4}}
<div class="template-grid-item template-span-six attack-name">
{{result4name}}
</div>
<div class="template-grid-item template-span-six attack-desc">
{{result4desc}}
</div>
{{/rollTotal() result 4}}
{{#rollTotal() result 5}}
<div class="template-grid-item template-span-six attack-name">
{{result5name}}
</div>
<div class="template-grid-item template-span-six attack-desc">
{{result5desc}}
</div>
{{/rollTotal() result 5}}
{{#rollTotal() result 6}}
<div class="template-grid-item template-span-six attack-name">
{{result6name}}
</div>
<div class="template-grid-item template-span-six attack-desc">
{{result6desc}}
</div>
{{/rollTotal() result 6}}
</div>
</div>
</div>
</div>
</rolltemplate>
@@ -3393,6 +3737,19 @@
setAttrs({wpn_six: txt});
});
});
// Signature attack exapand / collapse all
var expandall = {'xenoattack1_check':1, 'xenoattack2_check':1, 'xenoattack3_check':1, 'xenoattack4_check':1, 'xenoattack5_check':1, 'xenoattack6_check':1};
var collapseall = {'xenoattack1_check':0, 'xenoattack2_check':0, 'xenoattack3_check':0, 'xenoattack4_check':0, 'xenoattack5_check':0, 'xenoattack6_check':0};
on("clicked:expandattacks", function() {
log("Expanding all signature attack!");
setAttrs(expandall);
});
on("clicked:collapseattacks", function() {
log("Collapsing all signature attack!");
setAttrs(collapseall);
});
// Action Button Tabs
@@ -3412,6 +3769,14 @@
console.log("Sheet tab Set To: Ship");
});
on("clicked:tab_xeno", function() {
console.log("tab_xeno button clicked");
setAttrs({
tab_sheet: "Xeno"
});
console.log("Sheet tab Set To: Xeno");
});
on("clicked:tab_config", function() {
console.log("tab_config button clicked");
setAttrs({
@@ -3519,10 +3884,10 @@
on("clicked:tab_epsilon", function(eventinfo) {
console.log("tab_epsilon button clicked");
console.log("sourceAttribute=" + eventinfo.sourceAttribute);
console.log("previousValue=" + eventinfo.previousValue);
console.log("newValue =" + eventinfo.newValue );
console.log("sourceType=" + eventinfo.sourceType);
//console.log("sourceAttribute=" + eventinfo.sourceAttribute);
//console.log("previousValue=" + eventinfo.previousValue);
//console.log("newValue =" + eventinfo.newValue );
//console.log("sourceType=" + eventinfo.sourceType);
setAttrs({
tab_weapon: 5
})
+26 -1
View File
@@ -1,4 +1,8 @@
{
"character": "Character",
"ship": "Ship",
"xeno": "Xeno",
"hostile": "Hostile",
"personal-agenda-u": "Personal Agenda",
"personal-agenda-place": "Personal Agenda",
"character-name-u": "Character Name",
@@ -187,5 +191,26 @@
"config-enable-apirolls": "Enable API rolls",
"config-enable-apirolls-desc": "When enabled, rolls will be using the API script for Alien RPG, allowing for in-chat pushing of rolls. The script needs to be added to the game, obviously. ",
"config-optionalspinners": "Use spinners in number fields (up and down arrows)",
"config-optionalspinners-desc": "When enabled up and down arrows (spinner) will appear when hovering over number fields, to make small increases or decreases easier (attributes excempted). "
"config-optionalspinners-desc": "When enabled up and down arrows (spinner) will appear when hovering over number fields, to make small increases or decreases easier (attributes excempted). ",
"species-name": "Species Name",
"stage": "Stage",
"stealth": "Stealth",
"combat": "Combat",
"speed": "Speed",
"skills": "Skills",
"special-abilities": "Special Abilities",
"cont-and-term": "Containment&nbsp;& Termination",
"notes": "Notes",
"signature-attacks": "Signature Attacks",
"signature-attack-desc": "Signature attacks are always whispered to the GM, to be played out in combat.",
"armor-vs-fire": "Armor vs Fire",
"armor-vs": "Armor vs",
"acid-splash": "Acid splash",
"dice": "Dice",
"rolls": "Rolls",
"signature-attack": "Signature Attack",
"expand-all": "Expand all",
"collapse-all": "Collapse all",
"base-damage-desc": "Base damage",
"extra-damage-desc": "Additional damage based on stunts (optional)"
}